I think the fun is over?

Programs which generate, solve, and analyze Sudoku puzzles

I think the fun is over?

Postby Guest » Thu Oct 27, 2005 5:27 am

I am currently developing a sudoku helper program. As I do research on the different techniques and incorporate them in the program, I am finding out a lot about the game. Single Hidden, Row Elimination, X-Wing and so on are great methods to use and usually I only use to solve games but I developed one method that has ruined the game for me. Row iteration - Column elimination method has made every sudoku game trivial, not challenging and straight forward robotic in nature. Once the pencil comes out or the numbers are entered into a program, all I want to do is consider my method and stop using or developing new techniques. And with this I am at a cross road. Do I start doing what machines do by considering all options and deducing a solution based on satisfying a requirement or do I use my less superior method and challenge myself? Once probability, programming experience and math are combined with the game, the lust is gone. The challenge is no longer there and fun stops. I am going to finalize the program and have only these options available to the user:
single_naked
single_hidden
double_naked
double_hidden
triple_naked
triple_hidden
row_elimination
x-wing
check current answer
I have more advanced techniques but then its just a machine doing the thinking. The challenge now will be to get the program to teach the user if they are stuck on how to move to the next step using those techniques. For me, the game has lost its flavor but I will seek joy in teaching those who still are bewildered by it.
Guest
 
Posts: 312
Joined: 25 November 2005

Postby Lummox JR » Thu Oct 27, 2005 5:39 am

What technique are you describing, exactly? Is it Sherlock or something similar, or is it something else entirely?

For myself, I've found no "easy answer" technique to solving puzzles if the hardness limit has no upper bound. For mass-market published puzzles, though, advanced techniques usually crack them very quickly. Maybe you just need to branch out to more puzzles, or turn your helper program into a generator as well. From my observations on asymmetric puzzles, about 50% of randomly generated minimal puzzles are easy and the rest vary about evenly from easy all the way up to the quasi-mythical upper bound.
Lummox JR
 
Posts: 125
Joined: 22 September 2005

Postby Guest » Thu Oct 27, 2005 6:37 am

the method im describing is a iteration of possible numbers
pick one row, one cell, iterate through
contradictions happen sooner then you think
if you do them for a while you spot routines that lead to success even quicker

my program solves the games based on the method of choice
this means i can generate a game from scratch based on the method or combination of methods i choose
the question is though what is the last method that i use to be considered hard?

these methods used for advanced puzzles are basically eliminating possibilities sequentially from a baseline of possible combinations given a specific game
computer model based solutions

the program is keeping my interest currently as for the future, i have no idea where its leading to
:?:
Guest
 
Posts: 312
Joined: 25 November 2005

Postby Sue De Coq » Thu Oct 27, 2005 9:21 am

Most solvers implement the Guessing algorithm you describe, which means they are able to solve any Sudoku problem (usually, for a 3x3 puzzle, Guessing works more quickly than 'logical' methods). but their development continues because the ultimate goal for a solver is not to solve a Sudoku puzzle but to provide an explanation as to how it has been solved - in terms as easy as possible for a human to comprehend. The main problem with Guessing (and, to a lesser extent, Colouring) is that it provides no such explanation.

Some suggested future projects:
- Make your solver log as helpful as possible to humans.
- Test your solver on 4x4 puzzles, as some of the logical methods we use on 3x3 puzzles don't scale very well.
- Write a puzzle composer.

That should keep you busy for a while.:)
Sue De Coq
 
Posts: 93
Joined: 01 April 2005

Postby Guest » Fri Oct 28, 2005 12:37 am

currently, my program can either solve for the next cell, or tell you which cells can be solved next
it does this by eliminating possibilities given certain methods as parameters
i can easily make it show which method, which cells are used in the next step
it does not at any point guess for the next cell
the name i chose is Helper so that it can assist the user in deriving an answer
maybe this weekend when i have time, i will post the new version
Guest
 
Posts: 312
Joined: 25 November 2005


Return to Software