Techniques de résolution mono-candidat pour sudoku irrégulier 1

Transcription

Techniques de résolution mono-candidat pour sudoku irrégulier 1
Techniques de résolution mono-candidat pour sudoku irrégulier
1 – Réduction blocs / colonnes d’ordre 3
Lorsque, dans trois blocs, les candidats sont tous situés dans les trois mêmes colonnes, on
peut alors regrouper ces trois blocs en un seul « méga-bloc » au sein duquel on devra avoir
trois candidats : un dans chaque colonne. On peut alors supprimer tout candidat se trouvant
dans ces trois colonnes et n’appartenant pas au méga-bloc.
Il en va de même pour trois lignes, et pour les réductions d’ordre 4.
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 1
2 – Réduction colonnes / blocs d’ordre 3
Lorsque, dans trois colonnes, les candidats sont tous situés dans les trois mêmes blocs, on
peut alors regrouper ces trois colonnes en une seule « méga-colonne » au sein de laquelle on
devra avoir trois candidats : un dans chaque bloc. On peut alors supprimer tout candidat se
trouvant dans ces trois blocs et n’appartenant pas à la méga-colonne.
Il en va de même pour trois lignes, et pour les réductions d’ordre 4.
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 2
3 - Convergence
Tous les candidats d’un bloc convergent vers une même case d’un autre bloc, dans laquelle on
peut supprimer ce candidat.
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 3
4 – Rupture de ligne
Au sein d’une ligne, les candidats n’appartiennent qu’à deux blocs A et B. Dans le bloc A, il
n’y a qu’un seul candidat a appartenant à cette ligne. On peut alors supprimer le candidat du
bloc B situé sur la colonne du candidat a.
Il en va de même pour une rupture de colonne.
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 4
5 – Complot
La clef de cette technique de résolution repose sur les notions de blocs « victime » et
« arme ». La victime est un bloc dans lequel les candidats sont regroupés sur n lignes pour un
complot d’ordre n. Dans les exemples qui suivent la victime est le bloc gris foncé.
A) Complot d’ordre 2
L’arme (en bleu ci-dessous) est un bloc dans lequel les candidats, pour certains, se trouvent
dans au moins une des deux lignes de la victime (constituant ainsi ce que nous appelons le
« canon »), les autres étant tous alignés dans une seule colonne (que nous appelons la
« gâchette »). On peut alors supprimer les candidats que nous appelons « assassins » qui se
trouvent dans les lignes de la victime et dans la colonne de la gâchette.
Démonstration :
a) Démonstration par l’absurde : Si le candidat 5 de la case L5C3 était vrai, il n’y aurait
alors plus aucun candidat 5 dans la gâchette (ici la case L2C3). On est donc ramené à
une réduction blocs / lignes d’ordre 2 sur les lignes L4 et L5. En conséquence le
candidat 5 en L5C3 devient faux, contredisant notre hypothèse de départ.
b) Démonstration constructive : Si le candidat 5 de la case L5C9 est vrai, celui en L5C3
est faux. Si le candidat 5 en L5C9 est faux, les candidats restants dans la victime se
trouvent donc en L4 et ainsi le candidat 5 en L4C1 est faux. On est alors ramené à une
convergence des candidats de l’arme sur L5C3.
CQFD
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 5
B) Complot d’ordre 3
Ici, en plus d’une victime (en gris foncé) sur trois lignes et d’une arme (en bleu roi) avec
canon sur au moins une de ces lignes, nous avons besoin d’un troisième bloc (que nous
appelons le « guetteur », ici en bleu clair) avec des candidats dans deux ou trois lignes de la
victime. On peut alors supprimer les candidats assassins qui se trouvent dans les lignes de la
victime et dans la colonne gâchette.
Démonstration :
a) Démonstration par l’absurde : Si le candidat 5 de la case L7C4 était vrai, il n’y aurait
alors plus aucun candidat 5 dans la gâchette (ici la colonne C4). On est donc ramené à
une réduction blocs / lignes d’ordre 3 sur les lignes L6, L7 et L9. En conséquence le
candidat 5 en L7C4 devient faux, contredisant notre hypothèse de départ.
b) Démonstration constructive : Si le candidat en L7C7 est vrai, celui en L7C4 est faux.
Si le candidat en L7C7 est faux, on a alors deux cas de figures possibles : soit il y a un
candidat vrai dans la ligne L7 du guetteur, auquel cas le candidat en L7C4 est faux,
sinon, un des candidats en ligne L9 du guetteur est vrai et donc il n’y a aucun candidat
en ligne L9 de la victime, et comme le candidat en L7C7 est faux par hypothèse, un
des candidats dans la ligne L6 de la victime est donc vrai, par conséquent celui de
l’arme en L6C6 est faux et ainsi, il y a un candidat vrai dans la colonne gâchette C4 et
le candidat en L7C4 est faux.
CQFD
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 6
C) Complot d’ordre 4
Ici, en plus d’une victime sur quatre lignes et d’une arme avec canon sur au moins une de ces
lignes, nous avons besoin de deux guetteurs avec des candidats dans deux à quatre lignes de la
victime. On peut alors supprimer les candidats assassins qui se trouvent dans les lignes de la
victime et dans la colonne gâchette.
Il en va de même pour les complots sur n colonnes.
Nini Software Corporation : Nicolas Vaillant, Philippe Delarue
Page 7