MaDevanture.com
Cadenas bleu
CONNEXION

TifSudoku

Présentation

TifSudoku1

TifSudoku est une application de résolution de Sudoku disponible librement en téléchargement. Elle fonctionne sous Windows et ne nécessite pas d'installation.

Cliquer ici pour télécharger TifSudoku

Méthodes de résolution

TifSudoku2

TifSudoku emploie successivement cinq 'méthodes' de résolution d'un Sudoku. Si la méthode 1 ne donne rien, l'application passe à la 2, etc... A chaque modification dans la grille, l'application recommence par la méthode 1.

1) SUPPRESSION IMPOSSIBLES

Pour chaque case, l'application crée un tableau de 9 booléens qui contient la liste des valeurs impossibles de la case, puis l'application met à jour les valeurs impossibles qui sont déjà affectées à une case de la même ligne, de la même colonne ou du même bloc. Ceci permet d'affecter dans la foulée les cases qui contiennent des valeurs évidentes (cases qui n'ont plus qu'une valeur possible).

2) AFFECTATION VALEURS UNIQUES

L'application affecte une valeur à une case d'un bloc, d'une colonne ou d'une ligne qui est la seule à possèder cette valeur possible particulière.

3) SUPPRESSION PAIRES EXCLUSIVES

Si dans un bloc (ou colonne ou ligne), n cases ont n mêmes chiffres possibles, l'application peut supprimer ces chiffres possibles des autres cases du bloc (ou colonne ou ligne).

Exemple : Deux cases d'un bloc n'ont que 1 et 2 comme valeurs possibles. Si l'une vaut 1, l'autre vaut forcément 2 (et inversement). Aucune autre case du bloc ne pourra donc avoir 1 ou 2 comme valeur. Cette méthode ne permet pas de déterminer la valeur d'une case, mais permet d'avancer en supprimant des valeurs impossibles pour certaines cases.

4) SUPPRESSION DES CHIFFRES EXCLUSIFS

Cette méthode est un plus difficile à expliquer théoriquement, on va la décrire directement avec un exemple :

Exemple : Dans un bloc, les cases contenant la valeur possible X sont toutes sur la même ligne. La valeur X de ce bloc sera donc forcément sur cette ligne. Par conséquent, il n'est pas possible d'avoir la valeur X sur cette ligne et dans les autres blocs. Il est donc possible de supprimer cette valeur X des valeurs possibles des cases de la même ligne et des autres blocs. Cette suppression est à appliquer en bloc/ligne, bloc/colonne, colonne/bloc et ligne/bloc Cette méthode ne permet pas de déterminer la valeur d'une case, mais permet d'avancer en supprimant des valeurs impossibles pour certaines cases.

5) IMPASSE

Les quatre premières solutions n'ont rien donné. L'application va retenir une valeur possible pour une case et tenter de résoudre le Sudoku :

  • Si l'application tombe sur une erreur, elle essaie avec une autre solution.
  • Si l'application arrive à finir la grille, elle essaie les autres solutions.
    • Si les autres solutions conduisent à une erreur, l'application retient la seule solution qui fonctionne, le Sudoku est résolu.
    • Si une autre solution fonctionne, le Sudoku a deux (ou plus) solutions, il n'est donc pas correct, l'application renvoie une erreur.

L'application s'arrête dès la deuxième solution trouvée (il pourrait y en avoir plus, mais ce n'est pas la peine d'aller plus loin).

L'impasse est effectuée sur une des cases de la grille qui contient le moins de solutions possibles (l'application regarde déjà s'il y a des cases avec deux solutions possibles, puis trois, ...) Pour mémoriser les différentes grilles, l'application les stocke dans une pile (dernier rentré, premier sorti).

Exemple : Lorsqu'elle effectue une impasse sur une case qui a trois valeurs possibles, l'application crée trois grilles distinctes, chacune avec une des trois valeurs possibles. L'application stocke deux grilles dans la pile et tente de résoudre la troisième. L'application peut ensuite continuer à empiler des grilles s'il y a à nouveau des impasses. Ensuite, lorsqu'il est nécessaire de revenir en arrière, il suffit de dépiler pour retrouver les grilles dans le bon ordre.

EN UNE PASSE

Le mode 'Résoudre en une passe' applique les mêmes méthodes de résolution que le pas à pas.

Utilisation

La saisie d'une valeur dans une case de la grille se fait directement au clavier, lorsque la souris pointe sur la case. Il est possible de sauvegarder/charger les grilles sous forme de fichier .txt

Captures

TifSudoku1 TifSudoku3 TifSudoku4 TifSudoku5 TifSudoku6 TifSudoku8 TifSudoku9 TifSudoku10 TifSudoku11 TifSudoku12 TifSudoku13