Chapitre 3. Techniques avancées. Les techniques que nous allons aborder maintenant permettent de s attaquer aux grilles difficiles.

of 12
9 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
Chapitre Techniques avancées Les techniques que nous allons aborder maintenant permettent de s attaquer aux grilles difficiles... Paires, triplets et sous-ensembles Les règles de ce paragraphe concernent
Document Share
Document Transcript
Chapitre Techniques avancées Les techniques que nous allons aborder maintenant permettent de s attaquer aux grilles difficiles... Paires, triplets et sous-ensembles Les règles de ce paragraphe concernent la recherche d un ensemble de valeurs bien particulières au sein d une région.... Technique des paires Considérons une région quelconque. S il existe dans cette région, deux cases pour lesquelles seules deux mêmes valeurs sont possibles, alors elles peuvent être interdites pour l ensemble des autres cases de la région. En effet, ces valeurs pour cette région sont nécessairement dans ces cases et pas ailleurs sous peine de ne laisser aucune possibilité pour une des deux cases. Ceci ne saurait arriver dans une grille de sudoku. Formellement, on peut écrire : RÈGLE. paires Paramètre : une région R Condition : (i,j ) R, (i,j ) R, quoi({(i,j ),(i,j )}) = {v,v } Déduction : (i,j) R \ {(i,j ),(i,j )},(i,j) v,(i,j) v Précis de sudoku Figure.. Illustration de la règle. EXEMPLE. Sur la figure., considérons la colonne C. Les cases (,) et (,) ne peuvent contenir que les valeurs et. Ainsi, ces valeurs peuvent être retirées de toutes les autres cases de la colonne. Cette déduction permet ainsi de retirer la valeur de la case (,). Il est aussi possible d appliquer cette même règle sur le bloc B et de retirer la valeur des cases de la colonne C situées dans ce même bloc. Ainsi, on en déduit que la case (,) a pour valeur. EXERCICE. Finir de résoudre la grille de la figure..... Technique des paires généralisée La règle précédente se généralise bien évidemment à k valeurs. Par exemple, pour valeurs, on obtient : RÈGLE. triplets Paramètre : une région R Condition : (i,j ) R, (i,j ) R, (i,j ) R, quoi({(i,j ),(i,j ),(i,j )}) = {v,v,v } Déduction : (i,j) R \ {(i,j ),(i,j ),(i,j )}, (i,j) v,(i, j) v,(i,j) v Techniques avancées Figure.. Illustration de la règle. Une petite difficulté ici réside dans le fait que contrairement à la règle précédente, les trois valeurs ne sont pas forcément présentes toutes les trois dans les trois cases identifiées. C est la réunion des candidats qui forme un triplet sur trois cases. EXEMPLE. Sur la figure., on peut appliquer la règle. sur la ligne L. Les cases (,), (,) et (,) partagent trois valeurs :, et. La règle peut s appliquer. On peut ainsi retirer la valeur des candidats des cases (,) et (,) ainsi que la valeur de la case (,). EXERCICE. Où se trouve le triplet sur la ligne L de la grille de la figure.? De manière plus générale, pour k valeurs, on peut écrire formellement : RÈGLE. k-uplets Paramètres : une région R, un nombre de valeurs k Condition : {(i,j ),...,(i k,c k )} R k, quoi({(i,j ),...,(i k,j k )}) = {v,...,v k } Déduction : v quoi({(i,j ),...,(i k,j k )}), (i,j) R \ {(i,j ),...,(i k,c k )},(i, j) v EXERCICE 0. Il y a un quadruplet dans le bloc B de la grille de la figure.. Le voyez-vous? 0 Précis de sudoku Figure.. Recherche d un triplet pour application de la règle. Figure.. Recherche d un quadruplet pour application de la règle. Techniques avancées Figure.. Illustration de la règle.... Sous-ensembles cachés Il existe une approche duale de la précédente pour avancer dans une grille de sudoku. Elle s utilise lorsque les sous-ensembles que l on cherche sont cachés. Nous commencerons par l étudier pour des paires cachées.... Technique de la paire cachée Considérons une région quelconque. S il existe pour cette région deux valeurs pour lesquelles seules deux mêmes cases sont possibles, alors toutes les autres valeurs sont interdites pour ces deux cases. En effet, si on affecte une autre valeur à l une quelconque de ces cases, une des valeurs identifiées restera sans possibilité dans la région, ce qui n est pas possible. Formellement, on peut écrire : RÈGLE. paires cachées Paramètres : une région R, deux valeurs v et v Condition :où({v,v },R) = O v,v et O v,v = Déduction : v {v,v }, (i, j) O v,v,(i, j) v Précis de sudoku Figure.. Illustration de la règle. EXEMPLE. Sur la figure. (page précédente), on peut voir sur la colonne C que les valeurs et ne peuvent être placées que dans deux cases. Toutes les autres valeurs peuvent en être retirées. NOTE. L intérêt d une telle déduction réside dans le fait qu alors d autres règles vont pouvoir peut-être être appliquées. EXERCICE. Quelle autre règle de ce chapitre peut-on appliquer conduisant ici au même résultat?... Technique de la paire cachée généralisée Comme pour la règle., la règle précédente peut-être généralisée à k valeurs. On obtient ainsi : RÈGLE. k-uplets cachés Paramètres : une région R, un ensemble V de k valeurs Condition :où(v,r) = O V et O V = k Déduction : v V, (i,j) O V,(i,j) v NOTE. Attention, ici aussi les valeurs ne sont pas forcément toutes présentes en même temps dans les cases considérées. Techniques avancées Figure.. Une grille difficile EXEMPLE. Considérons la figure.. Sur la ligne L, les valeurs, et ne peuvent être présentes que dans trois cases : (,), (,) et (,). La règle s applique donc permettant de retirer le candidat de la case (,). INFORMATION. L utilisation conjointe des règles. à. (en considérant des valeurs de k inférieures à ) permet de résoudre les grilles estampillées difficile. EXERCICE. Résoudre la grille difficile de la figure.. EXERCICE. Pousser la grille de la figure. (page suivante) dans ses ultimes retranchements. Qu obtient-on? Avant d aborder, dans le chapitre suivant, la résolution des grilles très difficiles, il est intéressant de s attarder sur l étude des liens entre les règles que nous venons de voir... Propriétés intrinsèques du sudoku On l a dit (et vu dans l exercice ), les deux ensembles de règles que nous venons de voir sont très liés. Nous allons maintenant montrer explicitement ce lien et montrer aussi que ces règles travaillant sur une région n en forment qu une unique liée à des résultats beaucoup plus généraux. Précis de sudoku Figure.. Une grille très difficile... Dualité des règles sur les sous-ensembles Soit une région R contenant p cases non encore remplies. On peut montrer très simplement que la règle. appliquée à la région R pour n valeurs et la règle. appliquée à la région R pour p n valeurs ont les mêmes conséquences. En effet, ces deux règles déterminent une partition de la région en : un ensemble E de p cases remplies ; un ensemble F de n cases qui globalement ne peuvent être remplies que par n valeurs ; un ensemble complémentaire G de p n cases qui globalement contiennent p n valeurs ne pouvant pas être placées ailleurs que dans G. Les règles. et. interdisent alors toutes les deux aux cases de G de recevoir une des valeurs considérées pour les cases de F. EXEMPLE. Sur la figure. page, considérons la colonne C. Le raisonnement de la règle. sur les valeurs, et (qui n ont que trois lignes disponibles L, L et L ) aboutit à la conclusion que la valeur peut être retirée de la case (,). Il s agit de la même conclusion que le raisonnement de la règle. sur les lignes L et L qui n ont que deux valeurs possibles : et. Techniques avancées c c c c c c c c c c Figure.. Deux exemples de couplages. Le couplage de gauche n est pas maximal, la case c n est pas couplée. Le couplage de droite l est. EXERCICE. Quelle partition peut-on identifier sur la ligne L de la figure. page?... Propriétés du raisonnement sur une région Lorsqu on s intéresse localement à une région du sudoku, on se retrouve dans une situation bien connue dans le domaine des graphes : le problème dit du couplage de cardinal maximal. Considérons, d un côté, les cases de la région ; et, de l autre, les chiffres de à. On recherche alors à affecter à chaque case une unique valeur de sorte qu une valeur ne soit pas affectée à deux cases différentes. C est ce qu on appelle un couplage. Il est de plus de cardinal maximal car toutes les cases doivent avoir une valeur. EXEMPLE. Considérons cases (c,...,c ) et valeurs (,...,). La figure. présente deux exemples de couplages que l on représente sous la forme de graphes où les sommets sur la gauche sont les cases et les sommets sur la droite sont les valeurs possibles. Une arête (un lien) entre une case et une valeur indique l affectation de la valeur à la case. On constate que les arêtes sélectionnées n ont pas de sommets en commun. Dans le cas du sudoku, toutes les valeurs ne peuvent pas être affectées à toutes les cases : certaines ont déjà une valeur, on connaît pour d autres la liste des valeurs qui ne peuvent pas leur être affectées compte tenu du reste de la grille, etc. Il est nécessaire de tenir compte de ces informations. Nous allons donc rechercher un couplage dans un graphe particulier : on relie par une arête une case et un chiffre si le chiffre est un candidat pour cette case. Précis de sudoku c c c c c Figure.0. Une situation de type sudoku. On cherche dans ce graphe un couplage de cardinal maximal. c c c c c c c c c c Figure.. Une situation de type sudoku. Deux exemples de couplages. EXEMPLE. Considérons nos cinq cases et leur cinq valeurs. La figure.0 représente d un côté des sommets pour les cases et de l autre les sommets pour les valeurs. On considère que quoi({c }) = {,,}, quoi({c }) = quoi({c }) = {,}, quoi({c }) = {,,,} et quoi({c }) = {,,}. Ces informations nous permettent de dessiner le graphe de la figure. On recherche alors dans ce graphe un couplage (de cardinal) maximal qui n utilise que les arêtes ainsi définies. La figure. en donne deux exemples (les arêtes des couplages sont en gras). De plus, contrairement à l habitude pour ce type de problème, on ne cherche pas une solution. En effet, cette solution a de grande chance de ne pas convenir au reste de la grille. Techniques avancées c c c c c Figure.. Situation résultant du raisonnement sur les couplages maximaux EXEMPLE. On le voit bien sur l exemple précédent et plus particulièrement sur les deux propositions de couplage maximal de la figure.. En effet, la solution étant unique comment choisir lequel des deux couplages convient pour la grille donnée? Précisément, ce qui est plutôt recherché, c est : les affectations obligatoires (au-delà des dévoilés) : existe-t-il des couples case/valeur que l on retrouve dans toutes les solutions de ce problème? les affectations interdites : existe-t-il des couples case/valeur que l on ne retrouve jamais dans aucune solution de ce problème? EXEMPLE. Sur la figure.0, on obtient ainsi : une affectation obligatoire : c doit prendre la valeur. En effet, les autres possibilités pour c sont et mais ces valeurs sont les seules possibles pour deux cases : c et c. Par application de la règle. (règles des paires), est l unique possibilité restant pour c (règle.) ; des affectations interdites : c ne peut prendre la valeur (puisqu elle est réservée pour c ) ni la valeur pour la même raison que précédemment, c est aussi le cas de c pour la valeur. Ainsi, c doit prendre la valeur tandis que et sont partagées par c et c, et qu enfin et sont partagées par c et c. En effet, si on affecte une valeur à une case en dehors de ces situations, on ne peut retrouver un couplage de cardinal maximal. Ceci conduit au nouveau graphe de la figure. pour lequel les arêtes ayant disparu (par rapport au graphe de la figure.0) correspondent à des valeurs qui peuvent être retirées de la liste des candidats des cases correspondantes. Précis de sudoku D un point de vue opératoire, identifier les affectations obligatoires est généralement facile à réaliser. C est exactement ce qu exploitent les règles. et.. Une manière simple (au sens où il existe des algorithmes efficaces permettant de le faire) de répondre à la deuxième question (identifier les affectations impossibles) est d identifier des ensembles d éléments (des cases et des valeurs) auto-suffisants et indépendants. C est en fait ce qui se passe en partie avec les règles. à. et la partition des cases qu elles réalisent. Toutes les affectations case/valeur qui sortent de ces ensembles sont assurées de ne pas être dans la solution. EXEMPLE. Sur la figure.0 (page ), on voit que les quatres sommets c, c, et forment un ensemble auto-suffisant. Si on essaie de donner une autre valeur à c ou c, on n est pas en mesure de trouver un couplage maximal, de même si on essaie d affecter le ou le à une autre case. EXERCICE. Quels sont les autres ensembles auto-suffisants de la figure.0? Les règles précitées sont des cas particuliers de ce raisonnement plus général. Il existe des algorithmes très performants pour résoudre le problème et ainsi être capables de déduire plusieurs informations en une seule fois. Malheureusement, appliquer ces techniques à la main pour résoudre une grille devient vite assez fastidieux et délicat sans passer par le dessin du graphe et de ses arêtes. Mais, ces algorithmes sont très utiles lorsqu il s agit d écrire un outil informatique de résolution de grilles de sudoku. Nous en reparlerons au chapitre. INFORMATION. On pourra se reporter à la thèse de Jean-Charles RÉGIN soutenue en décembre à l université de Montpellier II. Cette thèse est intitulée Développement d outils algorithmes pour l intelligence artificielle. Application à la chimie organique et son chapitre (traitement des contraintes de différences) décrit en détail les résultats généraux présentés ici.. Le nom technique est composante fortement connexe dans un graphe dit orienté où les arêtes du couplage sont orientées de la gauche vers la droite et les autres de la droite vers la gauche.
Similar documents
View more...
Search Related
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x