# Feedback and Questions

I've received a lot of interesting comments and questions from Sudoku fans over the last few years and this page
is where I try to answer them. Please feel free to drop me a note on the side of the page or try the Facebook
comment box. Or you can email me directly at andrew@str8ts.com.
**Post a Comment or Question here...**

## Tuesday 30-Sep-2014

## ... by: John Kuhn, Wisconsin, USA

Your solver has been a great learning tool and reference for me, and I also found your book most useful. However, as I'm working through Frank Longo's book level 4 of 'Absolutely Nasty Sudoku', I have found something that makes me question your sequence of technique application. You are having the computer check for x-cycle before unique rectangle, and this doesn't make sense to me, because a simple unique rectangle is extremely easy to spot compared to an x-cycle. So for example puzzle #55 in Longo's book was solved with two unique rectangles as the only advanced technique, and your solver used the much more difficult xcycle x2, xyzwing, unique rectangle, simple coloring, ywing, xychain. So, just a suggestion on the ranking of difficulty. Thank you for all your work benefitting puzzle lovers!

## Monday 22-Sep-2014

## ... by: Uhm, Netherlands

But i could not find how you can program those strategies.

Did you ever thought about creating some pseudocode for on you website?

The more advance strategies are very hard to program.

I have now basic stragegies, xy-wing, xyz-wing, simple coloring, Fish-family and Guess.

But i dont know if i implemented guess and naked,hidden pairs->n with an optimal way.

Last time i tried to solve and 64x64 and it took a long time to get past all the naked,hidden pairs, triple up to 64.

But its get harder when the strategies gets harder. Its hard to come up with an good way to solve those.

Even if a pseudo-code is possible the programmer would never be sure that their implementation was complete and consistent since there is a loss of information in going from code -> pseudo-code. Also pseudo-code prevents the programmer from having a deep understanding of the problem being solved and therefore knowledge of completeness/consistency. So it can actually be harmful, in a sense, they would be writing a user-interface to a black box. Really, the best way is to start from the ground up, and being all your own work, is very satisfying. Expect to go through many incremental versions. I am over a 100 now. The recipes are the descriptions on the website and these contain examples. You can test your progress using sets of difficult puzzles, eg Ruud's top50k. I don’t mind providing those.

Thirdly, the software is commercially sensitive and an asset of the company I work for, as we try and scratch a living on the periphery of a market dominated by a few big players.. ; )

## Saturday 20-Sep-2014

## ... by: jackeith, usa

Load Sudoku: CLICK TO LOAD## Friday 19-Sep-2014

## ... by: Chuck, Virginia

It's been a while since I last wrote to you. I'm not writing with a question, just a suggestion. I would like to see a book that explains step, by step, how to find a given strategy. I have your "the Book", but like most other Sudoku books, it doesn't show you how to find the strategy, only how to use it. I don't have a problem with most of the simpler ones like X-Wing, Y-Wing, Unique Rectangles, and some others. But, Sword-Fish sometimes eludes me, and X-Y-Chain, well, that's almost impossible.

I've looked around on the web, and found some things that help, but in most cases, I can't find a true step-by-step procedure. Trust me, if you write such a book, I will buy it.

I might have written you on this subject before. If I did, well, here I am, at it again.

Thanks for listening

Chuck

What I'm doing with the book and the solver/website is to collect all the known valid ways of using pattern based (or 'state deterministic') ways of logically removing candidates and some are pretty esoteric to say the least. A computer is ideal for searching for them - as a coder I've gotten great satisfaction from devising optimal ways for catching all instances of a strategy using the least amount of time/memory - but that is a different activity from a pen/paper solver trying to solve a specific puzzle.

As you investigate a board and map out all the links in chains it's not really possible to know in advance which strategy will be most useful next. The solver gives the illusion of knowing but only because it is so fast. If it picks Medusa Rule 3, it does so only because it has exhaustively searched for and failed to find any instance of a simpler strategy. We humans can't do exhaustive searches, we have to use hunches and intuition. We will probably miss a simpler path when we use a complex one - but there are many, many paths (usually).

I would say, though, that the most fruitful area is the family of chaining strategies - you can build up a series of links between bi-value and bi-location candidates - these are the building blocks of all those strategies. Merely having an awareness of the tricks that each strategy will, in time, seep into your image of the board state and you'll get the Eureka moment.

I'd like to hear from pen and paper solvers who have tips and 'rules of thumb' they use. I'm sure there are a lot of interesting approaches. Some people swear by using dots in a 3x3 grid rather than small numbers, for example.

## Wednesday 17-Sep-2014

## ... by: Roger, USA

## Tuesday 16-Sep-2014

## ... by: Nigel Ogilvie, England

## Thursday 28-Aug-2014

## ... by: uhm, Netherlands

Load Sudoku: CLICK TO LOADTime taken: 515 seconds (Normal)

but i think its miliseconds

## Tuesday 26-Aug-2014

## ... by: NiZhiyang, China

## Thursday 21-Aug-2014

## ... by: Didi, Austria

1) Solution path could imply 'try any strategy at this point' and see what can be eliminated. In actuality one wants to work through a list in order - some strategies just don’t make sense if easier strategies haven't cleared off the obvious eliminations. This is why after every successful tough elimination I always go back to the start of the list. So it's practical to limit the number of solution paths to those than follow a complexity order. However, I don’t pretend to assert that the order on my solver is the best order, just the one I've settled on as best for me. There is an element of subjectivity in that ordering, although the larger groupings (basic, tough etc) shouldn’t be controversial. So complexity order is one way to reduce the number of solution paths.

2) My grader has the notion of "opportunities to eliminate" which means that given the state of the board there may well be several places that the same strategy can eliminate candidates. This happens a lot with Pairs and Triples, for example. My rule is that the new state of the board shouldn't feed back into the algorithm and loop until exhausted. Even though a human with pencil and paper might want to exhaust the possibilities with a chain reaction of eliminations. I have this rule mainly for presentation reasons, in that it's not possible to show 'knock on' effects on the solver board and it would confuse people when they try and work out what the solver has done. Also, there is a logical reason - eliminations should be 'pattern based', ie based on the state of the board as it is, not what it may be after "in-loop" eliminations. If there are 5 "opportunities to eliminate", eg five Naked Pairs in a step, we should take them as a single step in the solution path. But if they lead to more Naked Pairs, the solver will stop and go back to Naked Singles and clear first.

3) "Solution Path" may imply "how many different strategies are that that will eliminate candidate X?" I think this is what most people mean when they ask the question. If we didn't know about, say "X-Wings" then a more complex strategy would probably do the same job. But I am coming round to the notion that this approach is a red herring. Does it matter which strategy gets X? Its like some light bulbs can be changed by one man, but some need two men - one to hold the ladder. Are they really different operations? Since my and most peoples solvers don’t contain every tool in the box or implement each strategy completely (very hard to prove) then we could accidentally balloon the count of solution paths artificially merely by being incomplete. This line of thinking means that the actual number of solution paths is constrained to be less than or equal the number of candidates on the board. Which is several hundred, but certainly not "millions" and most candidates are cleared off quickly.

The problem then becomes, what is the optimal solution path? What is the least number of operations required to solve it - allowing that each step can eliminate a slew of candidates in one loop. The answer to this question is exactly what the solver currently does. But the controversy becomes the order of the strategy list. Now, I have wondered, is my ordering optimal? Highly unlikely for all Sudoku puzzles. Probably for some. But impossible to know which. So what I need to do is take a bunch of puzzles and solve them using a tree/branch method that tries every possible order (leaving basic strategies at the start). This can't be done on a web page but could be done in my offline version. This is where I'm hoping to go next with my research and others, with solvers, would find it fun to explore this.

## Wednesday 20-Aug-2014

## ... by: Didi, Austria

Is that true? Do you know any artificial intelligence approaches to let computers detect known and unknown solving logics?

It would be great to have an AI developed, that could at least find the most basic solving techniques! I believe that without such basic AI real Androids will never ever exist. Sudoku could be a nice starting project.

I do believe there will be artificial intelligences that will be equal and superior to human minds but they will be evolved, not written, and they will exhibit the intuitive trait required to solve these types of problems. But if we asked them to explain how they did it, or dumped their "software" it would be as complex and useless to us as a physical brain dump.

However, there may well be some clever people out there who do work on algorithms that create algorithms. Some of these are tricks though, like slime moulds solving the Travelling Salesman problem.