[Haskell-cafe] Code Review: Sudoku solver
daniel.is.fischer at web.de
Sun Apr 16 13:35:20 EDT 2006
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.
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
More information about the Haskell-Cafe