Le solveur de Sudoku en une ligne d'Arthur Whitney (2011)
(dfns.dyalog.com)Algorithme de résolution de Sudoku
-
Description du problème de Sudoku
- Une grille de Sudoku est composée de carrés 3×3 formant une grille 3×3, et chaque cellule est soit vide, soit contient un chiffre de 1 à 9.
- Chacun des carrés 3×3, des 9 lignes et des 9 colonnes doit contenir les 9 chiffres sans doublon.
- Un exemple de problème et une méthode de résolution sont fournis.
-
Vue d'ensemble de l'algorithme
- La matrice est traitée comme un vecteur, avec les lignes, les colonnes et les zones du Sudoku représentées par des vecteurs d'index.
- L'algorithme effectue les vérifications de base du puzzle et trouve une solution en filtrant les éléments possibles.
- Si une cellule est vide, il passe à la liste suivante, et si une cellule contient plusieurs chiffres possibles, il choisit dans le groupe le plus contraint pour l'ajouter à la liste.
- Lorsque toutes les cellules ne contiennent plus qu'un seul chiffre, la solution est trouvée.
-
Notes techniques
- Solution fournie par Veli-Matti Jantunen, avec la possibilité d'utiliser ⍺ pour représenter des rectangles de Sudoku.
- Le résultat renvoie un vecteur de toutes les solutions, ⍬ s'il n'y en a aucune, et '' en cas d'erreur.
- L'algorithme est simple : il traite la matrice comme un vecteur et cherche la solution en filtrant les éléments possibles.
-
Autres approches
- Des implémentations alternatives de David Crossley et Arthur Whitney sont proposées.
- Différents styles de codage et approches sont présentés.
-
Exemples et usages
- Divers exemples de résolution de Sudoku sont fournis.
- Une fonction est également proposée pour séparer les carrés internes afin de rendre les grilles plus lisibles.
Résumé de GN⁺
- Divers algorithmes et styles de codage pour résoudre des Sudoku sont présentés.
- Les puzzles Sudoku sont utiles pour améliorer la pensée logique et les capacités de résolution de problèmes.
- La variété des approches permet de gagner en flexibilité dans la résolution.
- Parmi les puzzles aux mécaniques proches, Kakuro et KenKen sont recommandés.
1 commentaires
Avis sur Hacker News