JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: SUDOKU solution Lun 14 Juin 2010 - 21:19 | |
| Oh je ne suis pas vraiment un fan de sudoku, ça m'amuse de temps en temps, et pas à un niveau très élevé. Et comme c'est avec des chiffres bien définis, c'est le genre du trucs qu'on peut informatiser (pas comme des mots croisés). Ce qui me plait c'est que c'est logique, et que si on respecte la logique on doit trouver la solution. Et la règle du jeu est simplissime. Ce qui me plait moins c'est quand il faut faire des essais au hasard pour s'apercevoir au bout de 10 chiffres qu'on s'est trompé et qu'il faut revenir en arrière ! Dans les sudoku 'commerciaux' il n'y a à ma connaissance jamais de solutions multiples. Et c'est je pense ce qui est de loin le plus complexe à résoudre.
En tout cas je suis content que tu prennes tout ça pour ce que c'est dans mon esprit: une discussion entre amis, tant mieux si ça peut faire avancer le schmilblick. Et encore mieux si ça peut amuser d'autres lecteurs.
Bon courage en tout cas (mais je pense bien que ça t'amuse), je te suis de près. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: SUDOKU solution Mar 15 Juin 2010 - 11:50 | |
| Une nouvelle version est en ligne qui améliore nettement l'intérêt de la grille générée.
Il n'y a pas encore la solution complète pour avoir une grille unique, mais je suis sur la piste. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: SUDOKU solution Mar 15 Juin 2010 - 13:49 | |
| Merci en tout cas. J'attends que tu aies parcouru la piste un peu plus loin... mais attention aux indiens ! PS toi qui t'intéresses aux modules Windows (dll en particulier): http://www.dependencywalker.com/ ) | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: SUDOKU solution Mer 16 Juin 2010 - 1:21 | |
| J'ai mis une nouvelle version en ligne qui permet de traiter le cas où un nombre est seul dans une ligne, colonne ou région, pour l'effacer des possibilités de toutes les cellules dans le champs de on "rayonnement" (ligne, colonne, région). Cela améliore beaucoup l'efficacité ds touches de visualisation des possibilités restantes ou celles des possibilités d'une case. Reste à traiter le cas ou un nombre ne peut figurer que dans une ligne ou colonne d'une seule région - c'est l'étape suivante. EDIT Il y a maintenant un nouveau bouton "Enlever" qui permet d'enlever sélectivement l'on ou l'autre des nombres qu'on a soi-même saisi (pas les nombres de la grille initiale). Ceci est plus souple que l'effacement complet de tous les numéros saisis, bien que cette fonction reste et garde son utilité. EDIT Il y a maintenant un nouveau bouton, en-dessous du carré des nombres possibles pour une cellule. Ce bouton permet d'enlever le dernier nombre placé. On peut ainsi revenir en arrière, successivement, jusqu'au retour vers la grille initiale. Ceci complète les fonctions d'édition, avec le bouton "Vider" et "Enlever". EDIT J'ai ajouté des techniques pour calculer les cases disponibles pour un nombre donné. Il y a maintenant 11 techniques qui sont exécutées dans l'ordre, et la liste va s'allonger. Le coloriage des possibilités pour un nombre y gagne grandement en pertinence. Voici les techniques actuelles (extrait des commentaires du source): - Code:
-
' Le programme calcule les nombres "possibles" pour chaque cellule. ' Pour le moment, les techniques suivantes sont utilisées, dans cet ordre, ' par la routine "generer_possibles": ' 1. au départ, tout est possible partout ' 2. on enlève les possibilités dans sa ligne pour tout nombre rencontré ' 3. on enlève les possibilités dans sa colonne pour tout nombre rencontré ' 4. on enlève les possibilités dans sa région pour tout nombre rencontré ' 5. si une possibilité est unique dans une ligne, on l'enlève de la colonne et de la région ' 6. si une possibilité est unique dans une colonne, on l'enlève de la ligne et de la région ' 7. si une possibilité est unique dans une région, on l'enlève de la ligne et de la colonne ' 8. si une possibilité n'existe que dans une ligne d'une région ' 9. si une possibilité n'existe que dans une colonne d'une région ' 10. si une possibilité pour une ligne n'existe que dans une région ' 11. si une possibilité pour une colonne n'existe que dans une région ' ... cette liste sera étoffée au fur et à mesure
| |
|
papyx
Nombre de messages : 50 Age : 79 Localisation : hénin-beaumont(62) Date d'inscription : 04/09/2010
| Sujet: je propose mes solutions Mar 12 Oct 2010 - 19:05 | |
| Bonjour Klaus Je me suis amusé à trouver des solutions avec l'outil Excel en mode VBA (c'est plus pratique avec certaines instructions)
pour résoudre un Sudoku j'ai une série de contrôles:
1) je mets dans les cases vides toutes les valeurs possibles. Parfois, je récupère des chiffres.
2) Je fais 1 ère analyse pour chaques lignes/colonnes/carrés, des nombres de plus d'un chiffre, afin de déterminer si il n'y aurait pas l' un d' eux unique dans ces séries de 9. ex. 16 7 24 245 8 376 34 9 235 le "1" étant unique on peut dire que, au lieu de 16, il prendra sa place et de ce fait, le "6" pourra se mettre à celle du 376.
3) Une 2ème analyse qui repère les couples de 2 chiffres dans chaques séries. Cela permet d' effectuer une élimination. ex. 1 7 24 24 8 6 345 9 235 on trouve 2 fois "24", donc cela exclu ces chiffres dans les autres nombres; ainsi 345 devient 35, ainsi que 235 => 35
4) une 3ème analyse que je n' expliquerai pas. (sinon cela deviendrait un roman fastidieux) | |
|
Contenu sponsorisé
| Sujet: Re: SUDOKU solution | |
| |
|