sudoku-solveur
Un simple solveur de puzzle Sudoku écrit en PHP.
REMARQUE : Ce projet est toujours en construction.
Installation
Exécutez ce qui suit à la racine du projet pour installer sudoku-solver.
Terminologie
Square One of the m x n values on the puzzle board
Row Horizontal M squares
Column Vertical N squares
Region An m x n subset of squares
Group M/N number of squares in a row (horizontally or vertically)
Stratégies pour résoudre des énigmes
Les stratégies utilisées par ce solveur sont basées sur les stratégies décrites par Sudoku Dragon.
Les stratégies
Les stratégies doivent être appliquées à plusieurs reprises jusqu’à ce que le puzzle soit résolu.
Seule règle de choix
- Parcourez chaque ligne, colonne et région pour trouver un seul choix dans le groupe.
Règle de possibilité unique
- Parcourez chaque ligne et colonne qui se croisent pour trouver un seul choix dans le groupe.
Seule la règle du carré
- Scannez chaque ligne/colonne avec deux cellules vides.
- Identifiez les deux nombres manquants, A et B.
- Analysez chaque ligne, colonne ou région qui se croise et essayez d'éliminer l'option A.
- Si l'option A peut être éliminée pour une cellule particulière, remplissez l'option B dans cette cellule.
- Remplissez l'option A dans l'autre cellule vide.
Règle de deux sur trois
- De haut en bas, analysez trois lignes ou colonnes à la fois pour un nombre particulier commençant à 1.
Règle d'exclusion de sous-groupe
Force brute
- Essayez toutes les options jusqu'à ce qu'une solution soit trouvée :)
Ressources
- https://www.educative.io/edpresso/how-to-check-if-a-sudoku-board-is-valid
- https://puzzling.stackexchange.com/questions/158/how-many-minimal-clue-sudoku-puzzles-are-there
- https://www.technologyreview.com/s/426554/mathematicians-solve-minimum-sudoku-problem/