Sudoku solver

Chris Angelico rosuav at gmail.com
Fri Mar 27 09:25:05 EDT 2015


On Sat, Mar 28, 2015 at 12:14 AM, Dave Angel <davea at davea.name> wrote:
> But now I have to disagree about "true Sudoku puzzle."  As we said earlier,
> it might make sense to say that puzzles that cannot be solved that way are
> not reasonable ones to put in a human Sudoku book.  But why isn't it a "true
> Sudoku puzzle"?
>
> Isn't the fact that one resorts to trial and error simply a consequence of
> the fact that he/she has run out of ideas for more direct rules and the data
> structures to support them?
>
> The simpler rules can be built around a list of possible values for each
> cell.  More complex rules can have a more complex data structure for each
> cell/row/column/box.  And when you run out of ideas for all those, you use
> guess and backtrack, where the entire board's state is your data structure.

At that point, it may make a fine mathematical curiosity, but it's not
really a fun puzzle any more. Does "true" mean "playable"? I mean, I
could devise a game in which you point your gun anywhere and shoot,
and you kill someone and score 100 points, and no matter what you do,
you can't die, and the game never ends. No strategy, no challenge. No
goal. Is that a game? Well, it's virtually the same thing as any other
FPS, just with a few simplifications. Is it fun? Not very. So is it a
"true game"?

(This is not purely theoretical, incidentally. I'm currently alpha
testing a new game that I backed on Kickstarter. The Linux version is
built against a different libc than I have, so to make it even run, I
have to jump through some crazy hoops; it's slow, clunky, and not
exactly a fun game... yet. The alpha isn't designed to be
entertaining, it's designed to be a proof-of-concept and to let a
bunch of testers find issues before they go to a wider audience.
Eventually it'll become a fun game, but at the moment, firing it up is
work. Does that mean it's "not a true game" yet? Philosophical
debate!)

ChrisA



More information about the Python-list mailing list