restructuration arborescence

This commit is contained in:
Éric Wegrzynowski 2021-01-07 11:13:30 +01:00
parent e0c3657074
commit c11557acbe
14 changed files with 48 additions and 43 deletions

View File

@ -1,3 +1,51 @@
# Autour des Sudoku
Diverses variations autour des Sudoku.
## Licence
Tous les documents se trouvent ici avec la licence
[![Creative Commons CC BY-NC-SA](images/cc-by-nc-sa.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/).
## Description des fichiers
* `sudoku_grid.py` : module définissant une classe `SudokuGrid` pour représenter les grilles de Sudoku.
* `sudoku_solver.py` : module définissant une fonction `solve` pour la résolution des grilles de Sudoku.
* `main1.py` : script de résolution d'une grille décrite en argument sur la ligne de commande.
* `main2.py` : script de résolution d'une grille contenue dans un fichier. Les solutions sont affichées dans le terminal.
* `main3.py` : script de résolution de toutes les grilles contenues dans un fichier. Les solutions sont inscrites dans un fichier.
* `main4.py` : script de résolution d'une grille décrite sur la ligne de commande, et qui produit une image représentant la recherche des solutions.
* `main5.py` : scripy de résolution d'une grille décrite sur la ligne de commande, qui visualise le remplissage progressif de la grille.
* `bdd/sudokus.bdd` : un fichier texte contenant la description de 5000 grilles de Sudoku ayant toutes une seule solution.
* `bdd/sudoku17.bdd` : un fichier texte contenant la description de 49151 grilles de Sudoku n'ayant que 17 cases remplis et ayant toutes une seule solution.
## Solveurs de Sudoku
### Exemples d'utilisation
#### Visualiser la recherche de solution avec le script `main4.py`
Pour la grille ci-dessous (grille de la ligne 43 (en numérotant à partir de 0) du fichier `bdd/sudokus.bdd`)
+-------+-------+-------+
| 2 . . | . 5 . | 8 4 . |
| . 1 . | 7 9 . | 5 . . |
| . . . | . . 4 | . . . |
+-------+-------+-------+
| . 8 1 | . . . | 2 . 9 |
| 3 . . | . . . | . . 5 |
| 7 . 6 | . . . | 3 1 . |
+-------+-------+-------+
| . . . | 9 . . | . . . |
| . . 8 | . 2 3 | . 5 . |
| . 6 3 | . 1 . | . . 7 |
+-------+-------+-------+
après la commande
./main4.py 200050840010790500000004000081000209300000005706000310000900000008023050063010007 images/sudokufiendish
on obtient, outre la solution, deux fichiers `sudokufiendish.dot` et `sudokufiendish.png`décrivant l'arbre de recherche des solutions suivant
![Arbre de résolution d'un sudoku difficile](images/sudokufiendish.png)

View File

@ -1,43 +0,0 @@
# Solveurs de Sudoku
Résolution de grilles de Sudoku programmée en Python.
## Description des fichiers
* `sudoku_grid.py` : module définissant une classe `SudokuGrid` pour représenter les grilles de Sudoku.
* `sudoku_solver.py` : module définissant une fonction `solve` pour la résolution des grilles de Sudoku.
* `main1.py` : script de résolution d'une grille décrite en argument sur la ligne de commande.
* `main2.py` : script de résolution d'une grille contenue dans un fichier. Les solutions sont affichées dans le terminal.
* `main3.py` : script de résolution de toutes les grilles contenues dans un fichier. Les solutions sont inscrites dans un fichier.
* `main4.py` : script de résolution d'une grille décrite sur la ligne de commande, et qui produit une image représentant la recherche des solutions.
* `main5.py` : scripy de résolution d'une grille décrite sur la ligne de commande, qui visualise le remplissage progressif de la grille.
* `bdd/sudokus.bdd` : un fichier texte contenant la description de 5000 grilles de Sudoku ayant toutes une seule solution.
* `bdd/sudoku17.bdd` : un fichier texte contenant la description de 49151 grilles de Sudoku n'ayant que 17 cases remplis et ayant toutes une seule solution.
## Exemples d'utilisation
### Visualiser la recherche de solution avec le script `main4.py`
Pour la grille ci-dessous (grille de la ligne 43 (en numérotant à partir de 0) du fichier `bdd/sudokus.bdd`)
+-------+-------+-------+
| 2 . . | . 5 . | 8 4 . |
| . 1 . | 7 9 . | 5 . . |
| . . . | . . 4 | . . . |
+-------+-------+-------+
| . 8 1 | . . . | 2 . 9 |
| 3 . . | . . . | . . 5 |
| 7 . 6 | . . . | 3 1 . |
+-------+-------+-------+
| . . . | 9 . . | . . . |
| . . 8 | . 2 3 | . 5 . |
| . 6 3 | . 1 . | . . 7 |
+-------+-------+-------+
après la commande
./main4.py 200050840010790500000004000081000209300000005706000310000900000008023050063010007 sudokufiendish
on obtient, outre la solution, deux fichiers `sudokufiendish.dot` et `sudokufiendish.png`décrivant l'arbre de recherche des solutions suivant
![Arbre de résolution d'un sudoku difficile](sudokufiendish.png)

BIN
images/cc-by-nc-sa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 334 KiB