I have added 'solve method F', aka X-wing, swordfish... (www.sudokusolver.co.uk) to my solver, that reduced the number of puzzles needing guesses to 5306, so I suppose that's it. I haven't yet implemented it efficiently, so it was devastating for performance - and solving thirteen puzzles more by pure logic (or should we rather say without using any assumptions except that the puzzle is solvable, uniquely or not?) isn't such a big step, I had hoped for more.
Cheers, Daniel Am Freitag, 14. April 2006 21:40 schrieb Chris Kuklewicz: > > I believe if you change the representation of puzzles from [(pos,range)] > > to an Array, you'll get a significant speedup > > > >>> yet because I only recently removed a logic bug that slowed down the > >>> search instead of speading it up; ..). so the more interesting bit is > >>> that our solvers disagree on which are the most difficult puzzles > >>> (requiring the largest number of guesses): > >>> > >>> df > >>> puzzles involving guesses: 5319 > >> > >> If that's not a typo, I'm baffled. My original needed to guess in 5309 > > > > Rot! Typo in _my_ previous message, 5319 is correct. > > After posting my cleaned up dancing links solver, I went back to my logical > solver. I sent the 36628 line sudoku17 puzzle through it and it could > solve 31322 of the puzzles, leaving 5306 resistant. I haven't check my > algorithms against your code, but it does not seem like I do any > spectacularly more clever. > > I don't have any time to clean up my code, but I may try turning off some > steps to see if one of them gives my the same 5319 number you are seeing. -- "In My Egotistical Opinion, most people's C programs should be indented six feet downward and covered with dirt." -- Blair P. Houghton _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe