Bonjour
Je ne suis pas informaticien, mais juste joueur de sudoku.
Pour tenter de résumer ma méthode en la rendant "logique" :
-> remplir les cases vides avec les différentes possiblités en prenant appui sur la colonne, la ligne et le carré 3x3 de la case en question.
-> remplir les cases qui ne comportent qu'une seule valeur
-> trouver les paires (comparer 2 à 2 les cases) d'une ligne, d'une colonne et d'un carré 3x3 et gommer en conséquence les valeurs de la paire sur la ligne correspondante, sur la colonne ou dans le carré.
-> regarder à nouveau s'il y a des valeurs seules. Si oui les inscrire et refaire l'analyse des paires, sinon on passe au triplet.
-> trouver les triplets d'une ligne, colonne ou carré et gommer en conséquence.
-> regarder à nouveau s'il y a des valeurs seules, puis de nouvelles paires, puis de nouveaux triplets.
-> trouver les quadruplets d'une ligne, colonne ou carré et gommer en conséquence.
-> regarder à nouveau s'il y a des valeurs seules, puis de nouvelles paires, puis de nouveaux triplets, puis de nouveaux quadruplets.
-> trouver les quintuplets d'une ligne, colonne ou carré et gomme en conséquence.
-> regarder à nouveau s'il y a des valeurs seules.
-> Quand j'ai fini de faire ces différentes analyses, soit le jeu est rempli, soit il reste des solutions et il faut faire une étape de testing, à partir d'une paire faire un choix et soit on complète le grille soit il y a une contradiction et c'est l'autre valeur qu'il faut mettre ((en général les grilles les plus difficiles que j'ai faites comportait une étape de testing avec peu de chiffres inscrit mais une seule étape était nécessaire).
Pour des grilles difficiles, je vous conseille ce petit recueil qui propose vraiment des grilles difficiles (les ceintures noires demandent vraiment du temps et de la réflexion). Si vos programmes résolvent ces grilles alors c'est qu'ils sont sans doute performants.
Partager