Code Review: Sudoku solver

classic Classic list List threaded Threaded
41 messages Options
Reply | Threaded
Open this post in threaded view

Re: Code Review: Sudoku solver

Daniel Fischer-4
I have added 'solve method F', aka X-wing, swordfish...
( 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

Haskell-Cafe mailing list
[hidden email]