Variant solver?

Programs which generate, solve, and analyze Sudoku puzzles

Variant solver?

Postby Pyrrhon » Sat May 13, 2006 4:32 am

There are many sudoku variants where exactly the same solving techniques are used as in classical sudoku. (no new is available, no adaption of the techniques is necessary). Only the starting grid has a different look-and-feel and in the beginning the pencilmark is filled another way as taking digits 1 - 9 in every field.

Such variants are

Even-Oden Sudoku
147 sudoku
Pips sudoku
Digital sudoku
Outside sudoku
Big/Small/Even/Odd sudoku
Word Sudoku (Digits are written in word form and some letters are already given)

I'm wondering that no of the many solvers for classical sudoku supports these sudoku variants.

Any reason?
Posts: 240
Joined: 26 April 2006

Postby holdout » Tue Dec 05, 2006 12:22 am

There are many sudoku variants where exactly the same solving techniques are used as in classical sudoku.
I'm wondering that no of the many solvers for classical sudoku supports these sudoku variants.

You are correct in saying that classical sudoku techniques also apply apply to many variant puzzles. With a lot of programming effort, some of the variants you mention could be combined into a unified solver.

Puzzle specification is a big problem. That is, what makes a particular variant different? For example, though Samauri Soduko is just a bigger version of the standard puzzle, how do you specify "shape" in a reasonable way? For even/odd puzzles, you need be able to specify non-standard regions. Every new constraint, however small, defines a new class of puzzle.

There are several programs available to solve standard soduko in a non-brute force manner. In my opinion, only a few are slick, where 1)presentation (input/output) is nice, 2) techniques are good, and 3) and it works in a timely manner without error.

Many people who have some programming ability, when they see the standard soduko for the first time, say "I can program a solution to that." This is fine. They know there is a large number of potential users. There goal is to "solve the problem", not to spend time making it pretty. In many cases, the end-user turns out to be only themself.

In summary, what you suggest -- to write a good solver in a way to suit a large class of soduko puzzles -- is hard to do.

This is not to say that it won't be done. Your question has merit.
Posts: 35
Joined: 30 August 2005
Location: Bowie, Maryland USA

Postby Ruud » Tue Dec 05, 2006 3:04 am

With so many variants present, writing a solver to support them all would be a task so big that most people have left their Sudoku affection behind them and resumed their normal lives by the time it is finished. A selection must be made.

In SudoCue, I implemented Sudoku-X, Windoku (NRC), Disjoint Groups and recently Center Dot and Asterisk. These are all extra constraints which can benefit from the already implemented solving techniques. They also do not require significant changes to the user interface, like introducing new symbols or clues in the margin.

As I've experienced, several variants come with completely new solving strategies. These must be coded. It is relatively easy to translate these additions into DLX constraints, but adding human-style solving techniques with hints and highlights is a lot of extra work. Also, the audience for these rare variants is very small. My daily Sudoku-X draws a reasonable crowd, but the Windoku has only a few loyal players.

For Killer and Jigsaw Sudokus, I have SumoCue. The common factor is that they both have irregular constraints in the grid. You need a user interface that allows the player to "draw" these constraints. The popularity of killers is the reason there are several good killer programs availble, but only few programs support jigsaws.

Writing a program is more than just coding a solver. Showing hints and highlighting cells, candidates and multiple houses takes a lot of time. Writing user documentation, making each technique user configurable, thoroughly testing it and translating the user interface and documentation in other languages takes even more time. Putting all this effort into a program just to please a handful of players is clearly too much for most programmers. If it were commercially viable, there would be commercial programs available for the variants. There are none.

JC's program supports user-defined constraints, as long as they are inside the grid. His solver also handles the specific techniques used by some variants.

Posts: 664
Joined: 28 October 2005

Postby Jean-Christophe » Tue Dec 05, 2006 10:08 am

All these variants are restricting the initial candidates of cells, their domain.

My Soft JSudoku does support Even/Odd, 147 and some other similar domain constraints.

Big/Small/Even/Odd is not supported yet, because it uses two different sets of domains : Big/Small and Even/Odd.

Other variants would require to write specific code to display and enter the grid. As Ruud said, this is quite some work, for a very small audience...

Ruud, I don't think any of these variants require specific techniques to solve, except for the restricted domains which can be done by hand in most soft.

BTW Not avail yet, but I've recently added support for Arrow Sudoku and Pandigital sum/difference (equalities only). This was easy to do for me as my soft already supported killer sudoku. However, as for magic squares, it won't display nicely since it just creates sum cages with the appropriate formula. I've also added support for Renban. Not avail yet.
Posts: 149
Joined: 22 January 2006

Return to Software