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. I'm also directing Str8ts feedback here. Please feel free to drop me a note on the side of the page. Or you can email me directly at andrew@str8ts.com.
Post a Comment or Question here...
Thursday 21-Aug-2014
... by: Didi, Austria
Every Sudoku has it´s own solution path(s). Did you ever try to put a little research about that? What´s the Sudoku (with x given fields) like with the most/least amount of possible solution paths?
Andrew Stuart writes:
That's another interesting question and one I want to explore when I can put a good chunk of time into it. Defining "solution path" helps narrow down the possibilities from near infinite to manageable. In discussing this I prefer to think of "candidate eliminations" rather than "solving cells" since the former leads to the later but is more finely gained - after basic strategies all work is done on candidates and their removal.
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
Most fascinating thing about Sudoku is the big variety of logics to solve those riddles. At the moment we all depend on some genious humans, who find these logical algorithms. 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.
Andrew Stuart writes:
An interesting question. Yes, all the strategies have come from discussions on forums (some now defunct) and from people suggesting improvements. Where known, I've tried to credit people. I'm not a mathematician but I know how maths minds work - the level of abstract thought that goes into working on algorithms I like to think approaches what mathematicians feel when they explore equations in their heads, but I'm not in their league. From my own study of AI systems - and I've knocked up a few models - genetic and neural network types - is that there is an "intuition barrier". Most maths people have intuition which allows them to step over a difficult problem and get insight intuitively, and then they back-fill it with logic and proof. It's actually quite hard to deduce a new or interesting proposition merely from deduction. Even choosing the direction in which to work involving a process no software can duplicate.
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.
Tuesday 19-Aug-2014
... by: bruce, U.S. of A.
I love your site. It's taught me alot and I use your solver to do the daily puzzles. I like to play the game and not fill in the possibles (I always screw them up!), so I use it for that. Maybe I'm doing something wrong, but when I enter a number into the little grid, after having removed some possibilities from the large grid with say a pointed pair, the numbers removed end up back in the large grid. I'm using Chrome, showing the possibles, auto-clear is on, and allow editing is on. Any ideas? Thanks. Bruce
Andrew Stuart writes:
Very glad you like the site. The two boards are not quite mirrors of each other. The small one is meant for easy input and it can prepare the board with auto clear. But the big board should be used for editing if you are using "take step". That is the current state of the board since it contains the candidates. Editing the big board pushes solved numbers up to the small board. I suppose I could have done it all with one board but that’s the way I initially developed and its been the structure ever since. Use the " Candidates can be () edited"
Tuesday 19-Aug-2014
... by: NiZhiyang, China
I think the Sudoku X unsolvable example is TOO EASY!Let me give you a hard unsolvable example. .5..1..6.4..2.3..8..........4.....5.6.......7.8.....9..........3..1.2..6.1..3..7. See,this is harder than yours!
Andrew Stuart writes:
That is harder, but I wasn't really trying. Here are some equivalent, I hope. Load in the Sudoku X Solver.
Today's daily sudoku puzzle reduces to this: ..5.2.4...2.8.7.5....9...2..5....8.77.......16.2....3..4...5....7.2.4.1...1.9.3.. Solution count says 1 solution but it actually has two solutions.
Andrew Stuart writes:
Probably a bit late now, bit I'd love to see both solutions. I can detect if there has been a mistake, but I do promise you, in nine years, I've never made a double solution puzzle! ; )
Wednesday 13-Aug-2014
... by: Claude, Europe
Hello, I cannot find your app in the store, correct ?
Thanks for your answer
Andrew Stuart writes:
Yes, one of our annual Apple agreements expired. I'm trying to understand the Apple process to get this sorted, not very easy. Hopefully all apps will be back up either later today or next week if I have to wire money.
Wednesday 13-Aug-2014
... by: Mina, X
Excelent! Work, thank you !
Andrew Stuart writes:
Thanks!
Sunday 10-Aug-2014
... by: Sundeep, India
Hi Andrew, Thanks to this wonderful site, I am learning more tricks. One small modification I would suggest (as I made that mistake) - could you make the link in (See Strategy Overview documentation) below the solver open in new tab/window by default? Or some other workaround - my issue was that manual edits (possible numbers inside unfilled squares) disappeared when I accidentally clicked the link and came back to the page.
Andrew Stuart writes:
Hi, thanks for the idea. The right side strategies already open a new page, and the puzzle board should save itself (as a cookie) if you accidentally close or move away. Might not catch every last change, depends. I've added a new target page/tab for those other links to the strategy overview though. Cheers!
I want to have a Kakuro Solver. The Str8ts Solver says always: Oops - you got an error on the board (0)
Andrew Stuart writes:
Yes, I'd like to add a Kakuro solver. I have the generator, which is half the job. All depends on getting time ; ) Kakuro won't work in any of the other solvers...
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.
Tuesday 19-Aug-2014
... by: bruce, U.S. of A.
Bruce
Tuesday 19-Aug-2014
... by: NiZhiyang, China
.5..1..6.4..2.3..8..........4.....5.6.......7.8.....9..........3..1.2..6.1..3..7.
See,this is harder than yours!
Do leave an email address next time!
Thursday 14-Aug-2014
... by: john, us
Wednesday 13-Aug-2014
... by: Larry Doe, Hyde Park, NY
Load Sudoku: CLICK TO LOADSolution count says 1 solution but it actually has two solutions.
Wednesday 13-Aug-2014
... by: Claude, Europe
I cannot find your app in the store, correct ?
Thanks for your answer
Hopefully all apps will be back up either later today or next week if I have to wire money.
Wednesday 13-Aug-2014
... by: Mina, X
Sunday 10-Aug-2014
... by: Sundeep, India
Thanks to this wonderful site, I am learning more tricks.
One small modification I would suggest (as I made that mistake) - could you make the link in (See Strategy Overview documentation) below the solver open in new tab/window by default? Or some other workaround - my issue was that manual edits (possible numbers inside unfilled squares) disappeared when I accidentally clicked the link and came back to the page.
Cheers!
Wednesday 6-Aug-2014
... by: 35436363, europe
Load Sudoku: CLICK TO LOADKakuro won't work in any of the other solvers...