previous up next contents
Previous: Open Questions in Sudoku Up: Open Questions in Sudoku Next: 2 Some open questions   Contents

1 Introduction

This paper deal with the sudoku game. In this game, a given square grid is to be completed in such a way that each of the letters of a given set appears once and only once in each row, column and submatrice of the grid. A quite obvious example of this game is given in FIG. 1, where the letters are maths.

FIG. 1: A sudoku game where maths.
maths

A solution to such a game is a list of moves, each of them being a proof that a designed cell must contain a designed letter. Therefore, solving is proving the existence and the uniqueness of a completion. A possible solution of our example is given in FIG. 2, where maths is the move number, maths is the row, column position of the cell and maths is the letter attributed. The maths in the why column are comming from  4 and the maths from  5.

FIG. 2: A solution of the game described in FIG. 1.
maths

The key part of this paper is Section 2 that states a list of open questions. This list is divided in two parts. Subsection 2.1 contains question relative to existence and counting, while Subsection 2.2 contains questions relative to complexity of effective algorithms that can be used for obtaining answers to sudoku challenges... as well as for building these challenges.

Section 3 gives a precise definition of all terms used for stating these open questions : Subsection 3.1 gives some elementary definitions, Subsection 3.2 describe three deterministic algorithms (taboo, totem and tower) while 3.3 describes a probabilistic algorithm (pick). Let us remember that we have defined ''solving'' as ''proving the existence and the uniqueness of a complete grid that solves a given game''.

The paper ends with Section 4 that gives a precise implementation of our algorithms. These programs were written using Maple V6, and are presented using a revised version of algorithmic, the well-known latex package. Obviously, a sound discussion over complexity must take into account primitives like member(elem, set) that are not realy primitive in terms of machine words.


previous up next contents
Previous: Open Questions in Sudoku Up: Open Questions in Sudoku Next: 2 Some open questions   Contents


douillet@ensait.fr
2007-01-23