Tips

XY-Chain Techniek: Ketenredenering met tweewaarderige cellen

2025-06-05 · 10 min lezen

XY-Chain is een krachtige kettenredeneringsmethode onder de gevorderde Sudoku-technieken. Het is een uitbreiding van XY-Wing, waarbij ketenstructuren gevormd door meerdere tweewaarderige cellen (cellen met slechts twee kandidaten) worden gebruikt voor kandidaateliminatie.

Kernprincipe:
Een XY-Chain bestaat uit een reeks tweewaarderige cellen waarbij aangrenzende cellen één kandidaat delen. Het begin en einde van de keten hebben elk een niet-gedeelde kandidaat. Als deze twee getallen gelijk zijn (genoemd Z), dan kunnen cellen die zowel het ketenbegin als het keteneinde kunnen zien, kandidaat Z elimineren. Dit is omdat: de ketenlogica volgend, Z ofwel aan het ketenbegin of aan het keteneinde moet verschijnen.
XY-Keten Principe Animatie
XY-Keten Principe: Start{Z,A} en Einde{C,Z} delen kandidaat Z, Z moet bij Start of Einde zijn, elimineer Z uit gemeenschappelijk zichtgebied

Voor het lezen van dit artikel wordt aanbevolen om de Sudoku naamgevingsconventies, Naakte Paren en de basis van XY-Wing te begrijpen.

Structuur van XY-Chain

XY-Chain bevat de volgende sleutelelementen:

  • Ketenknooppunten: Elk knooppunt is een tweewaarderige cel {A,B}
  • Ketenverbindingen: Aangrenzende knooppunten moeten elkaar "zien" (zelfde rij, kolom of blok) en één kandidaat delen
  • Ketenbegin en -einde: Elk heeft een kandidaat die niet gedeeld wordt met het aangrenzende knooppunt
  • Eliminatievoorwaarde: Wanneer de niet-gedeelde kandidaten van begin en einde gelijk zijn, is eliminatie mogelijk

Ketennotatie: A(x,y) → B(y,z) → C(z,w) → ... waarbij haakjes kandidaten bevatten, pijlen de ketenrichting tonen, en aangrenzende knooppunten één getal delen (zoals y, z).

Waarom werkt XY-Chain?

1 Ketenpropagatie: Stel dat de keten A{X,Y} → B{Y,Z} → C{Z,W} is. Als A=X, dan moet B=Z (aangezien B niet =Y kan zijn), dan moet C=W (aangezien C niet =Z kan zijn).
2 Twee mogelijkheden: Het ketenbegin heeft twee kandidaten {P,Q}, waarbij Q gedeeld wordt met het volgende knooppunt. Als begin=P, eindigt de redenering; als begin=Q, propageert de logica langs de keten naar het einde.
3 Belangrijke conclusie: Als het niet-gedeelde getal P van het ketenbegin gelijk is aan het niet-gedeelde getal van het keteneinde, dan moet P ofwel aan het ketenbegin of aan het keteneinde verschijnen.
4 Eliminatiedoel: Cellen die zowel ketenbegin als keteneinde kunnen zien, kunnen P niet bevatten (omdat P aan het begin of einde moet zijn).

Voorbeeld 1: 4-knooppunten XY-Chain

Laten we een eenvoudig voorbeeld van een 4-knooppunten XY-Chain bekijken.

XY-Chain Voorbeeld 1
Figuur 1: XY-Chain R2C2{3,7} → R2C6{3,5} → R9C6{2,5} → R9C7{2,7}, kan 7 uit R2C7 elimineren
Open dit voorbeeld in de oplosser

Analyseproces

1 Ketenknooppunten identificeren:
  • R2C2: kandidaten {3, 7} (ketenbegin)
  • R2C6: kandidaten {3, 5}
  • R9C6: kandidaten {2, 5}
  • R9C7: kandidaten {2, 7} (keteneinde)
2 Ketenverbindingen verifiëren:
  • R2C2 en R2C6 zijn in dezelfde rij (Rij 2), delen kandidaat 3
  • R2C6 en R9C6 zijn in dezelfde kolom (Kolom 6), delen kandidaat 5
  • R9C6 en R9C7 zijn in dezelfde rij (Rij 9), delen kandidaat 2
3 Eliminatiegetal bepalen:
  • Niet-gedeeld getal van begin R2C2{3,7} = 7 (3 is gedeeld met R2C6)
  • Niet-gedeeld getal van einde R9C7{2,7} = 7 (2 is gedeeld met R9C6)
  • Ze zijn gelijk! Z = 7
4 Redeneringsproces:
  • Als R2C2=7 → 7 is aan ketenbegin
  • Als R2C2=3 → R2C6 kan niet 3 zijn → R2C6=5 → R9C6 kan niet 5 zijn → R9C6=2 → R9C7 kan niet 2 zijn → R9C7=7 → 7 is aan keteneinde
  • In beide gevallen moet 7 in R2C2 of R9C7 zijn
5 Eliminatiedoel vinden: R2C7 kan zowel ketenbegin R2C2 (zelfde rij) als keteneinde R9C7 (zelfde kolom) zien.
Conclusie:
XY-Chain: R2C2{3,7} → R2C6{3,5} → R9C6{2,5} → R9C7{2,7}
Kan kandidaat 7 uit R2C7 elimineren.

Voorbeeld 2: Lange 10-knooppunten keten

XY-Chains kunnen zeer lang zijn. Hier is een 10-knooppunten voorbeeld dat de krachtige mogelijkheid van ketenredenering demonstreert.

XY-Chain Voorbeeld 2
Figuur 2: XY-Chain R2C5{1,5} → R2C1{1,5} → R1C1{5,8} → R1C7{7,8} → R3C7{7,8} → R3C2{4,8} → R7C2{4,8} → R8C1{4,8} → R8C7{4,9} → R8C3{5,9}, kan 5 uit R8C5 elimineren
Open dit voorbeeld in de oplosser

Analyseproces

1 Ketenknooppunten identificeren (10 knooppunten):
  • R2C5: {1, 5} (ketenbegin)
  • R2C1: {1, 5}
  • R1C1: {5, 8}
  • R1C7: {7, 8}
  • R3C7: {7, 8}
  • R3C2: {4, 8}
  • R7C2: {4, 8}
  • R8C1: {4, 8}
  • R8C7: {4, 9}
  • R8C3: {5, 9} (keteneinde)
2 Ketenverbindingen verifiëren:
  • R2C5 → R2C1: zelfde rij, delen 1 (of 5)
  • R2C1 → R1C1: zelfde kolom, delen 5
  • R1C1 → R1C7: zelfde rij, delen 8
  • R1C7 → R3C7: zelfde kolom, delen 7 (of 8)
  • R3C7 → R3C2: zelfde rij, delen 8
  • R3C2 → R7C2: zelfde kolom, delen 4 (of 8)
  • R7C2 → R8C1: zelfde blok, delen 8
  • R8C1 → R8C7: zelfde rij, delen 4
  • R8C7 → R8C3: zelfde rij, delen 9
3 Eliminatiegetal bepalen:
  • Niet-gedeeld getal van begin R2C5{1,5} = 5 (1 is gedeeld met R2C1)
  • Niet-gedeeld getal van einde R8C3{5,9} = 5 (9 is gedeeld met R8C7)
  • Ze zijn gelijk! Z = 5
4 Redeneringsconclusie: Of ketenbegin R2C5 nu 1 of 5 is, kandidaat 5 moet ofwel aan ketenbegin R2C5 of aan keteneinde R8C3 verschijnen.
5 Eliminatiedoel vinden: R8C5 kan zowel ketenbegin R2C5 (zelfde kolom) als keteneinde R8C3 (zelfde rij) zien.
Conclusie:
XY-Chain (10 knooppunten): R2C5 → R2C1 → R1C1 → R1C7 → R3C7 → R3C2 → R7C2 → R8C1 → R8C7 → R8C3
Kan kandidaat 5 uit R8C5 elimineren.

Hoe vind je XY-Chains?

Het vinden van XY-Chains vereist een systematische aanpak:

1 Tweewaarderige cellen markeren: Identificeer eerst alle cellen met slechts twee kandidaten.
2 Startpunt kiezen: Selecteer een tweewaarderige cel als ketenbegin, noteer de twee kandidaten {P,Q}.
3 Keten uitbreiden: Vind tweewaarderige cellen die het huidige knooppunt kunnen "zien" en één kandidaat delen als volgend knooppunt.
4 Beëindigingsvoorwaarde controleren: Controleer na elke uitbreiding of het niet-gedeelde getal van het einde gelijk is aan het niet-gedeelde getal P van het begin.
5 Eliminatiedoelen vinden: Vind cellen die zowel ketenbegin als keteneinde kunnen zien en P bevatten.
Belangrijke opmerkingen:
  • Elk knooppunt in de keten moet een tweewaarderige cel zijn
  • Aangrenzende knooppunten moeten elkaar zien (zelfde rij, kolom of blok)
  • Aangrenzende knooppunten moeten één kandidaat delen
  • Eliminatievoorwaarde: de niet-gedeelde kandidaten van begin en einde zijn gelijk
  • XY-Wing is een speciaal geval van XY-Chain (een keten van lengte 3)

Relatie tussen XY-Chain en XY-Wing

XY-Wing kan worden gezien als een XY-Chain van lengte 3:

  • XY-Wing: Pivot{X,Y} → Vleugel1{X,Z} → Vleugel2{Y,Z}... etc., dit is niet echt een standaard ketenvorm
  • Werkelijke relatie: De XY-Wing structuur is "Y"-vormig, terwijl XY-Chain lineair is
  • Gemeenschappelijk punt: Beide gebruiken tweewaarderige cellen voor logische eliminatie
  • Verschil: XY-Chain vereist ketenverbinding, XY-Wing vereist dat de pivot beide vleugels ziet

Techniek samenvatting

Kernpunten voor het toepassen van XY-Chain:

  • Knooppuntvereiste: Alle knooppunten zijn tweewaarderige cellen
  • Verbindingsvereiste: Aangrenzende knooppunten kunnen elkaar zien en delen één kandidaat
  • Eliminatievoorwaarde: De niet-gedeelde kandidaten van begin en einde zijn gelijk
  • Eliminatiedoel: De gedeelde kandidaat in cellen die zowel begin als einde kunnen zien
  • Ketenlengte: Theoretisch onbeperkt, langere ketens zijn moeilijker te vinden maar krachtiger
Oefen nu:
Start een Sudoku spel en probeer XY-Chain te gebruiken voor eliminatie! Vind eerst alle tweewaarderige cellen en probeer ze dan in een keten te verbinden.