LionelA a écrit :
j'ai pas tout lu mais je crois avoir compris que pour generer la grille du départ tu fais ca aléatoirement, ca doit etre super long
je viens de retrouver ca sur tigen :
on part de cette solution
123456789
456789123
789123456
234567891
567891234
891234567
345678912
678912345
912345678
et on swap 2 à 2 lignes et colonnes en considerant seulement des blocs de 3 lignes ou colonnes (par exemple la 1ere ligne ne pourra jamais swapper avec une autre ligne que la 2nde ou la 3eme)
ca devrait deja aller plus vite 
Sauf que là, tu génères des grilles remplies, ce qui n'est pas du tout ce que l'on demande !!!
Tout l'art de la génération de grille consiste à retirer le plus de chiffres possibles tout en tombant, après résolution, sur une solution
unique, la grille pleine dont tu es parti

.
Mais
il semblerait qu'en fait, les grilles faites à la main sont construites dans l'autre sens : on choisit toutes les cases qui seront remplies au début, et ensuite on y place des chiffres

une piste pour le programme ?
À noter que la société Nikoli, qui a importé ce jeu au Japon (et ouais, ça vient en fait des États-Unis !) et propriétaire du nom Sudoku (et ouais, c'est un nom déposé !) a ajouté 2 contraintes sur les grilles qu'elle publie : maximum 30 cases remplies au départ, et symétrie de ces cases (pour l'esthétisme

).
Sally a écrit :
Si la solution est unique, je ne comprends pas comment tu peux être obligé de mettre un chiffre au hasard 
Et pourtant, ça existe !
Plus exactement, à un moment, tu te retrouves coincé avec aucune possibilité de continuer de manière sûre.
Tu choisis alors une case où il n'y a que 2 candidats (chiffres possibles), tu la remplis avec un des deux chiffres choisi au hasard (méthode de l'
hypothèse) et tu continues la grille sur cette base : si tu arrives au bout (éventuellement en faisant d'autres
hypothèses ailleurs), comme tu sais que la solution est unique, c'est gagné, et sinon, tu reviens à la dernière hypothèse faite (backtracking) et tu choisis finalement l'autre candidat.
Après, il y a des grilles où tu as, lorsque tu coinces, plusieurs cases à hypothèse (== 2 candidats) : si tu as du bol, tu commences par la case qui permet (directement ou avec juste un backtracking sur cette case) de trouver la solution, et sinon, tu es obligé de faire N hypothèses (soit au pire 2
N arbres à explorer).
Moumou a écrit :
Ben comment font les gens pour assigner une difficulté à leurs grilles, alors ?
Il existe de nombreuses 'techniques' plus ou moins simples à mettre en œuvre du premier coup d'œil (certaines n'étant que des cas particuliers d'autres techniques), et la notation de difficulté se base sur les techniques nécessaires à la résolution.
Ainsi, selon ma notation :[ul][li]une grille n'utilisant que les techniques de 'case forcé' (== 'singulet caché') et de 'chiffre forcé' (== 'singulet franc') sera simple
[li]une grille nécessitant en plus des 'doublets francs' et de la 'compression' (ça, c'est un nom de mon cru

: les noms d'interaction ligne-bloc ou d'interaction bloc-bloc, je trouve ça moche

) sera moyenne
[li]s'il faut en plus des 'doublets cachés' et des 'triplets francs', elle sera difficile
[li]au-delà (triplets cachés, quadruplets francs et cachés et autres techniques aux noms exotiques), c'est une grille diabolique (catégorie un peu fourre-tout, je trouve)[/ul]
paire franche / paires cachées