Eine große Zahl der hier bekannten Standard-Sudokus (bisher über 120000 von etwa 1500000 Sudokus - 55000 weitere haben genau 17 Ausgangszahlen und sind damit nicht reduzierbar) wurden mittels Reduzierung analysiert - d.h. es wurden bei jedem Sudoku alle daraus abgeleiteten Sudokus untersucht, denen eine der Ausgangszahlen weggenommen wurde; ist mindestens eines dieser reduzierten Sudokus lösbar, wurde das gleiche Verfahren auf eines dieser Sudokus angewandt, wodurch die Anzahl der notwendigen Ausgangszahlen immer mehr verkleinert wurde, bis kein lösbares Sudoku mehr erzeugt werden konnte (wobei natürlich extrem viele verschiedene Wege durchlaufen werden können). Etwa 12.5 % der untersuchten Sudokus konnten nicht reduziert (also verkleinert) werden, und es waren alle untersuchten Sudokus mit mehr als 33 Ausgangszahlen reduzierbar: Es wurde dabei bisher kein einziges Standard-Sudoku gefunden, das mehr Ausgangszahlen benötigt! Einzelheiten siehe auch unter "Notwendige Ausgangszahlen i.A. nur von 17 bis 31, extrem selten bis 40".
Beispiel eines der Standard-Sudokus mit 30 notwendigen Ausgangszahlen mit 6 Ausdünnschritten: 000002030200007500400360071078000005004000100100080090000821600002700004017046300
Beispiel eines der Standard-Sudokus mit 31 notwendigen Ausgangszahlen mit 15 Ausdünnschritten: 008201030200780000007006802901000000406079003070800609009600300000000004014030208
Beispiel eines der extrem wenigen Standard-Sudokus mit 32 notwendigen Ausgangszahlen mit 11 Ausdünnschritten: 027048060468301070300000000084100600210800009003000000800600590070000000600285730
Beispiel eines der bisher nur 4 Standard-Sudokus mit 33 notwendigen Ausgangszahlen mit 11 Ausdünnschritten: 020048060468301070300700000084100600216800009000000000830600590070000000609280730
Beispiel eines der beiden Standard-Sudokus mit 40 notwendigen Ausgangszahlen (siehe Mladen Dobrichev) mit 125 Punkten mit 13 Ausdünnschritten: 000000000012034567034506182001058206008600001020007050003705028080060700207083615
Es sind auch 34 oder mehr (und inzwischen bis 40) notwendige Ausgangszahlen in Standard-Sudokus möglich - aber es wurden hier bis jetzt bei mehr als 120000 Sudokus nur 15 Sudokus mit 30 notwendigen Ausgangszahlen und nur 2 mit 31 notwendigen Ausgangszahlen gefunden. Die Fragestellung der maximalen notwendigen Anzahl von Ausgangszahlen wurde bisher selten untersucht: Die meisten existierenden Sudokus haben unnötig viele Ausgangszahlen - meist unter der irrigen Ansicht, dass eine kleinere Anzahl ein schwierigeres Sudoku ergibt (ein typischer Irrtum bei allen Sudokus aus vielen Zeitungen und Zeitschriften): Etwa 81 % aller hier bekannten (etwa 57000) Sudokus mit 17 Ausgangszahlen sind einfach lösbar, während von den etwa 110000 Sudokus mit 25 Ausgangszahlen nur etwa 30 % einfach lösbar sind, sie also im Allgemeinen viel schwieriger sind! Außerdem weiß jeder Sudoku-Löser, dass man auch bei einem schwierigen Sudoku oft am Anfang sehr leicht mehrere Zahlen finden kann, ehe es wirklich schwierig wird. Näheres siehe auch unter "Zur Schwierigkeit/Bewertung eines Sudokus" und unter "Analyse der 49158 Sudokus von Gordon Royle mit 17 Ausgangszahlen".
Die gleichen Reduzierungs-Untersuchungen wie für Standard-Sudokus wurden auch für die hier bekannten etwa 31000 Diagonal-Sudokus und 21000 Farb-Sudokus gemacht. Bei den Diagonal-Sudokus scheint 12 die kleinste Ausgangsanzahl zu sein. Bei den Farb-Sudokus ist sogar 11 (!) die wahrscheinlich kleinste Ausgangsanzahl. Bei allen drei Sudoku-Typen (Standard-, Diagonal-, Farb-Sudoku) waren die Anzahlen der Ausgangszahlen der reduzierten Sudokus recht gut normalverteilt (typische Gaußsche Glockenkurve). Bei Standard-Sudokus lagen alle notwendigen Ausgangszahlen im Bereich 17 bis 30 mit dem Mittelwert 23.9 (woraus der obere Wert aus Symmetriegründen mit 30.8 nahe 31 liegt). Dabei kamen die Ausgangszahlen 23 bis 25 bei jeweils etwa 20 bis 32 % aller reduzierten Sudokus vor, und die Rand-Ausgangszahlen 17 bis 19 und 29 bis 31 lagen weit unter jeweils 1 % der Häufigkeit.
Bei Diagonal-Sudokus lagen alle Ausgangszahlen der reduzierten Sudokus im (erstaunlich kleinen und schiefen) Bereich 12 bis 22 mit dem Mittelwert 17.9 - woraus man aus Symmetriegründen auch auf ein Diagonal-Sudoku mit maximal notweniger Ausgangszahl von 23 schließen könnte (es wurden aber nur 18 Sudokus mit 22 notwendigen Ausgangszahlen gefunden). Die Ausgangszahlen 17 bis 19 der reduzierten Diagonal-Sudokus bildeten hier jeweils etwa 23, 35 und 24 % aller Fälle, die Rand-Ausgangszahlen 12 bis 14 und 21 bis 22 lagen ebenfalls jeweils weit unter 1 %.
Bei Farb-Sudokus im (erstaunlich großen und auch schiefen) Bereich 11 bis 27 war der Mittelwert 17.5, dabei hatten die Ausgangszahlen 17 und 18 jeweils etwa 30 bzw. 27 % Häufigkeit; die selten (0.25 %) auftretenden Ausgangszahlen 25 bis 27 fielen (trotz der weit unter 1 % liegenden Häufigkeit) aber doch etwas aus der Normalverteilung heraus.
Vorgehensweise: Die Zeilen und Spalten werden hier von oben links an mit 1 bis 9 durchnummeriert, die Boxen werden mit OL (oben links), OM (oben Mitte), OR (oben rechts), ML (Mitte links), MM (Mitte Mitte), ..., bis UR (unten rechts) bezeichnet. Die benutzten (direkten) Lösungsmethoden werden oft kurz mit mit A bis F bezeichnet, die zusätzliche Ziffer danach bezeichnet eine Untergruppe, dabei steht z.B. 1 für Zeile oder 3 für Box. Die Abarbeitung geht zeilenweise von links oben bis nach rechts unten und bei den Zahlen von 1 bis 9.
Neu gefundene Zahlen werden mit ">zahl<" in der Tabelle in verschiedenen Farben (je nach Lösungstyp) ausgegeben. Beim Ausdünnen werden die streichbaren Zahlen mit "[zahl]" in blau dargestellt; die zu dieser Lösung benutzten Zahlen werden rot dargestellt und oft auch mit Indizes versehen.
Wurden bei einem Sudoku die Ausschluss-Rechteck- bzw. Ausschluss-Ketten-Methoden oder die Trial&Error-Methode benutzt, sollte man die Eindeutigkeit der Lösung überprüfen ("Teste Lösbarkeit vom Original aus"). Ein extremes Beispiel ist das Standard-Sudoku
050070090400000008000020000003010800000000000009060100000080000200000009060050000.
Dieses wird in etwa 0.3 Sekunden "gelöst", aber es hat in Wahrheit 14297616 Lösungen mit bis zu 34 Levels (in etwa 5 1/4 Stunden ermittelt) - ist also kein Sudoku, da es nicht eindeutig lösbar ist !!
Dieses Programm benutzt 6 Lösungsmethoden(-gruppen) mit verschiedener Punkte-Gewichtung, und ebenfalls 6 Gruppen von Analysemethoden(-gruppen) für die Ausdünnung (ebenfalls mit unterschiedlichen Punkten gewichtet). Die Lösungsmethoden zum Auffinden einer einsetzbaren Zahl und die Ausdünnmethoden zum Auffinden eines streichbaren Kandidaten können nicht-synchron oder synchron gerechnet werden. Bei der nicht-synchronen Rechnung wird nach dem ersten gefundenen Auffinden einer Zahl bzw. eines Kandidaten das Ergebnis (mit der geringsten Punktzahl bzw. der maximalen Zahl von Streichungen) ausgegeben, d.h. es hängt stark von der vorgegebenen Reihenfolge der Programmschritte ab, wobei natürlich versucht wurde, eine Reihenfolge zu finden, die der Vorgehensweise eines Menschen angepasst ist. Bei der synchronen Rechnung werden (im Allgemeinen bis zu mit einer Option ausgewählten Komplexität der Methoden) alle gleichzeitig gefundenen Ergebnisse dargestellt (ohne dass diese dabei schon Einfluss auf das Vorgehen haben), was den Vorteil hat, dass man alle Möglichkeiten auf einmal sieht (zur Überprüfung, ob man alle Fälle selbst auch gesehen hat) und auch erkennt, wie viele es davon gibt; allerdings liegt die Punkte-Bewertung im synchronen Fall oft um einiges höher als im nicht-synchronen Fall, weil viele der gefundenen Lösungsschritte bzw. Ausdünnschritte eventuell gar nicht zur Bestimmung des Sudokus notwendig sind. Die Punkte-Bewertung ist also abhängig von der gewählten Lösungs-Strategie (siehe Dokumentation). Wurden im nicht-synchronen Fall eine oder mehrere Zahlen eingesetzt bzw. ein oder mehrere Kandidaten gestrichen bzw. wurden im synchronen Fall alle gefundenen Zahlen eingesetzt bzw. alle gefundenen Kandidaten gestrichen, beginnt die weitere Abarbeitung wieder mit der einfachsten Methode. Für die allgemeine Bewertung eines Sudokus sollte daher i.A. die halb-synchrone Version (z.B. Option 2000) oder die pseudo-synchrone Version (z.B. Option 2001) benutzt werden.
Bei der Lösung und der Bewertung wird davon ausgegangen, dass zuerst versucht wird, das Sudoku ohne Anschreiben der Kandidaten (Reste) zu lösen, da beim Arbeiten mit Hand dies zuerst einmal der natürliche Weg ist - im Gegensatz zu den sonst üblichen, im Internet zu findenden Sudoku-Solvern (z.B. HoDoKu, SudokuExplainer, Sudoku Solver by Andrew Stuart), die sofort alle möglichen Kandidaten für alle Zellen aufschreiben! Es kommen also zuerst nur die direkten Methoden A, B, C und D (C und D optional) zum Einsatz. Erst dann, wenn man damit nicht weiter kommt, werden für jede Zelle alle Zahlen aufgeschrieben, die dafür in Frage kommen: die Kandidaten, die hier als Ganzes oft Rest genannt und auch der Einfachheit halber als eine mehrstellige Zahl (ohne Komma oder andere Trennzeichen) geschrieben werden - und das ist per Hand einiges an Arbeit (dafür gibt es auch Extra-Punkte). Danach versucht man, diese Reste (Kandidatenlisten) so lange auszudünnen, also zu verkürzen, bis man zu einer eindeutigen Lösung für eine Zelle kommt (Lösungsmethoden E und F). Dieses Ausdünnen (Kandidaten-Reduzierung) wird hier mit den wichtigsten 6 Methoden versucht, die weiter unten erklärt werden.
Es gibt noch vielleicht 30 weitere Ausdünnmethoden (siehe z.B. https://www.sudokuwiki.org/sudoku.htm), die wenig zusätzliche Lösungen bringen (also bei weniger als 5-7 % der hier gespeicherten 1.5 Millionen Sudokus), aber im Allgemeinen ziemlich kompliziert sind (z.B. Long String Kite, 3D-Medusa, Finned Swordfish oder Aligned ALS Exclusion) bzw. nahe einem Trial&Error-Verfahren liegen (Almost Locked Sets Chain, Nishio Forcing Chain, Forcing Net). Nicht alle Sudokus können mit den hier programmierten (und wohl wichtigsten) Verfahren - die eigentlich auch gut verstehbar und erlernbar sind - gelöst werden, aber die hier nicht lösbaren Sudokus sind sowieso nur etwas für Spezialisten. Dieses Programm soll nicht ein Sudoku einfach lösen, sondern alle Lösungsschritte zum Nachvollziehen aufzeigen.
Interessant ist dabei, dass es manchmal Standard-Sudokus gibt, die zwar mit diesem Programm lösbar sind, aber bei der Trial&Error-Methode längere Rechenzeiten erfordern. Natürlich spielt dabei eine Rolle, in welcher Reihenfolge der Trial&Error-Test ausgeführt wird, aber das Prinzip gibt es immer. Beispiel:
Nach 65919 Versuchen mit bis zu 27 Level in 770 sec mit Trial&Error gefunden, aber mit nur 19 Punkten in etwa 0.25 sec direkt gelöst:
000000000000001002003000040000000005002040006070008900000020030000050000710000600
Und umgekehrt gibt es Standard-Sudokus, die mit diesem Programm bisher nicht gelöst werden konnten, aber bei gerade 2 Versuchen per Trial&Error bestimmt werden, z.B.:
Nach 2 Versuchen mit bis zu 1 Level in 0.1 sec mit Trial&Error gefunden, aber nach 1 sec, 8 Ausdünnschritten und bis dahin mit 188.5 Punkten (ohne Bowman's Bingo) endet, mit Bowman's Bingo nun aber bei 22 Ausdünnschritten und 298 Punkten gelöst wird:
090500030000030007000000406700209005580000300009000060000010003307060000000400900
Keinen einzigen Lösungsschritt findet das Programm ohne Bowman's Bingo im folgenden Beispiel, es kann aber bei gerade 4 Versuchen per Trial&Error bestimmt werden, z.B.:
Nach 4 Versuchen mit bis zu 2 Level in 0.2 sec mit Trial&Error gefunden, aber nach knapp 1/2 sec mit diesem Programm (ohne Bowman's Bingo) ohne Ergebnis aufgegeben, aber mit 3 Bowman's Bingo-Schritten und 313 Punkten gelöst wird:
000000006009002070700010000040500003008030700200009010000060005060300900100000000
Ebenso gibt es Standard-Sudokus, die nur aufwändig mit Widerspruchs-Ketten gelöst werden können, aber bei gerade 2 Versuchen per Trial&Error bestimmt werden, z.B.:
Nach 2 Versuchen mit bis zu 1 Level in 0.1 sec mit Trial&Error gefunden, aber in 1 sec mit 164 Punkten in 15 Ausdünnschritten mit 2 Widerspruchs-Ketten lösbar:
800009006000081000009204500572000400030000070004000328001403600000190000400800007
Und gibt es Standard-Sudokus, die sogar mit der (recht umständlich zu benutzenden) Super-Software von Andrew Stuart "SudokuWiki" nicht gelöst werden können ("Run out of known strategies", trotz 38 eingebauter Lösungsverfahren), z.B.:
Nach 2 Versuchen mit bis zu 1 Level in 0.1 sec mit Trial&Error gefunden, aber nach knapp 1/2 sec mit diesem Programm (ohne Bowman's Bingo) ohne Ergebnis aufgegeben:
000000002008000700030009040000901000040030010005604000069100030007000500200000008, mit 1 Mal Trial&Error bis Tiefe 10 bei 542 Punkten nun aber gelöst werden kann.
Bei diesem Standard-Sudoku werden aber mit der Java-Software "Sudoku Explainer" bei 22 Ausgangszahlen 126 Ausdünnschritte - darunter 54 Mal unterschiedliche Forcing Chains (Cell Forcing Chains, Contradiction Forcing Chains, Double Forcing Chains, Nishio Forcing Chains und Region Forcing Chains) - benötigt.
Ähnlich schwierig und auch bei SudokuWiki nicht lösbar, bei "Sudoku Explainer" werden bei 23 Ausgangszahlen 129 Ausdünnschritte - darunter 55 Mal unterschiedliche Forcing Chains - benötigt: Das ist das bekannte "AI Escargot" des finnischen Mathematikers Arto Inkala: 100007090030020008009600500005300900010080002600004000300000010040000007007000300, mit 1 Mal Trial&Error hier aber mit 440 Punkten gelöst werden kann.
Bemerkungen zur Bewertung: Für jedes Sudoku wird am Ende die Summe aller Punkte jedes Einzelschrittes angegeben. Diese ist natürlich stark abhängig von der gewählten Option, da z.B. bei synchronen (und zum Teil auch bei halb-synchronen) Methoden viele Lösungsschritte (deren Punkte also mitgezählt werden) gemacht werden, die zur Lösungsfindung gar nicht notwendig gewesen wären. Daher wird zusätzlich eine textliche Bewertung (z.B. "Ziemlich einfach") ausgegeben. Ein Punktevergleich verschiedener Sudokus ist also nur bei gleicher Option sinnvoll, z.B. um zu sehen, welches Sudoku das Schwierigere ist. Das gleiche Sudoku mit verschiedenen Optionen zu rechnen, macht nur Sinn, wenn man z.B. sehen will, welche Schritte auch möglich gewesen wären (etwa bei synchronen Rechnungen). Empfohlen wird zur allgemeinen Bestimmung der Bewertung eines Sudokus die i.A. die halb-synchrone Version (z.B. Option 2000) oder die pseudo-synchrone Version (z.B. Option 2001).
Normalerweise gibt es in einem Sudoku in einem bestimmten Zustand mehrere Möglichkeiten, Zahlen zu finden bzw. Kandidaten auszudünnen. Aber es kommt auch vor, dass es nur 1 oder 2 oder 3 Möglichkeiten gibt. Beispiele für sehr schwierige Sudokus findet man am Ende dieser Seite unter Sehr schwierige Sudokus.
Neben der Angabe der Summe aller erreichten Punkte gibt es auch die sehr aussagekräftige 2-Norm oder Euklidische Norm, d.h. die Wurzel aus der Quadratsumme aller Punkte, bei der die höheren Punktwerte stärker zur Geltung kommen - das ist nicht so extrem wie die auch angeführte Maximum- oder Tschebyscheff-Norm, also das Maximum der Punktwerte, wie sie z.B. bei SudokuExplainer benutzt wird. Ein Sudoku mit z.B. einem komplizierten Schritt mit 9 Punkten ist bestimmt schwieriger als ein Sudoku mit 3 einfachen Schritte mit jeweils 3 Punkten, obwohl in beiden Fällen die Gesamtpunktzahl 9 ist - aber die Euklidische Norm ist 3 bzw. 5.2. Umgekehrt ist ein Sudoku mit z.B. 5 komplizierten Schritten mit jeweils 16 Punkten auch bestimmt schwieriger als ein Sudoku mit nur einem komplizierten Schritt mit 16 Punkten - hier ist die Euklidische Norm 35.8 bzw. 16 (PS: Nicht-ganze Zahlen werden hier - entsprechend der englisch-amerikanischen Schreibweise - mit Punkt geschrieben).
Bemerkungen zum Paar-Begriff: Die Sudoku-Literatur ist da nicht ganz einheitlich. In diesem Programm wird als Paar eine Zelle mit zwei Kandidaten bezeichnet (eine Goldene Kette besteht z.B. aus der Verkettung von Paaren), eine Zelle mit drei Kandidaten wäre dann ein Trio usw.. Betrachtet man aber die Einheit von zwei verschiedenen Zellen, wird das hier als Doppel (2-Tupel) bezeichnet, bei drei Zellen ist das ein Tripel (3-Tupel) usw., auch wenn der Inhalt der Zellen ein Paar, Trio o.a. ist (es kann also ein Tripel sowohl aus Zellen mit Paaren als auch Trios bestehen).
Fasst man zusammengehörenden Ausdünn-Methoden zusammen, ergibt sich für die 6 Methoden-Gruppen + 2 Sonder-Methoden:
Fasst man zusammengehörenden Ausdünn-Methoden zusammen, ergibt sich für die 6 Methoden-Gruppen + 2 Sonder-Methoden:
Häufigkeit der Ausdünn-Methoden bei Rechnung von 268640 Standard-Sudokus, bei Option 2001 inklusive der zusätzlich möglichen (damit insgesamt etwa 9707000) Lösungsschritte; dabei sind die 10 häufigsten Methoden mit insgesamt 96.9 % (!) vertreten:
Fasst man zusammengehörenden Ausdünn-Methoden zusammen, ergibt sich für die 6 Methoden-Gruppen:
Häufigkeit der Ausdünn-Methoden bei Rechnung von 267650 Standard-Sudokus, bei Option 2001 inklusive der zusätzlich möglichen (damit insgesamt etwa 9566900) Lösungsschritte; dabei sind die 10 häufigsten Methoden mit insgesamt 96.1 % (!) vertreten:
Fasst man zusammengehörenden Ausdünn-Methoden zusammen, ergibt sich für die 6 Methoden-Gruppen:
Fast alle Beispiele sind aber weiterhin für Standard-Sudokus, wenn nichts Anderes gesagt wird.
Aufruf in der Kommandozeile mit der Option NBEW statt z.B. 2001:
curl -o curl.html https://www.sarahandrobin.com/ingo/sudoku/sudoku_solver_loop_std_synchron.php?008050000090000400600003000000002050007018600380090071070480000003009825000000040_0_NBEW
PS: Die Kommandozeilen-Tools cURL und Wget (älter) sind zum Herunterladen von Websites, um diese offline zu lesen bzw. zu analysieren. Sie sind i.A. bei Unix/Linux/MacOS-Systemen vorhanden, für Windows-Systeme ist curl seit Windows 10 vorhanden.
Beispiel mit vier Zahlen 6 als erste Treffer (statt vorher in Schritt 1, 2, 9 und 10): 000001020609004807000080003006000008004605200500000600900070000102800306030500000
Beispiel mit beiden Typen von WXYZ-Wings (Schritt 4 und 8): 000035700000700018080000000059000000710003609060020800000060040004900000070100500
Beim Ausdünnen werden nun im nicht-synchronen Fall statt der ersten gefundenen Lösung alle diejenigen einer Stufe mit der größten Anzahl von Streichungen (falls nicht mehr als 3 Punkte vom Punkteminimum entfernt) und davon mit die kleinsten Punktzahl ausgegeben ("halb-synchroner Fall"). Im pseudo-synchronen Fall wird nur der erste dieser Ausdünnschritte benutzt.
Im nicht-synchronen Fall werden bei den direkten Methoden A bis F alle Lösungsschritte mit minimaler Punktzahl benutzt. Vorteil: Liefert dadurch eine immer gleiche Punktzahl auch bei gedrehten oder gespiegelten oder Blockzeilen-/Blockspalten-/Zahlen-vertauschten Sudokus. Im pseudo-synchronen Fall bleibt es bei nur einem Schritt.
Bei den Folgerungs-Ketten wird, wenn bisher keine Lösung gefunden wurde, ein zweiter Durchlauf mit mehr und längeren Ketten versucht.
Zur Bewertung: Die Punktzahl ist abhängig von der Reihenfolge der Lösungsmethoden und auch von der Abarbeitungs-Reihenfolge links oben nach rechts unten, der Reihenfolge Zeile/Spalte/Box und der Zahlen 1 bis 9. Um eine "bessere" Bewertung zu erreichen, ist es notwendig, ein Sudoku auf mehrere Arten zu rechnen: z.B. durch Drehung oder Spiegelung der Tabelle, durch konforme Vertauschung von Block-Reihen und Block-Spalten oder durch Vertauschung der Zahlen (z.B. 1→8, 2→5, usw.). Der kleinste Wert der Punktzahlen aller berechneten Sudokus sollte der "richtigen" Bewertung dann sehr nahe kommen. Sinnvolle Optionen: halb-synchron mit 2000 und pseudo-synchron mit 2001 (also mit allen offensichtlichen Zeilen-/Spalten-Tests und 2-Tupeln), da die synchronen Versionen beim Ausdünnen oft Kandidaten löschen, die für den Lösungsweg gar nicht notwendig sind (trotzdem weiß man auch beim asynchronen Rechnen vorher nie, welche Schritte wirklich für die Lösung notwendig sind - dazu müsste man die Reihenfolge und Art der Ausdünnschritte variieren). Aber in drei Viertel aller Fälle sind die Abweichungen durch die Variationen klein (oft nur 3-5 Punkte), insbesondere bei relativ einfachen Sudokus.
Im halb-synchronen Verfahren liefern (inzwischen) alle Varianten die gleiche Punktzahl, weil immer alle Schritte mit gleicher kleinster Punktzahl benutzt und bewertet werden. Die Punktzahlen liegen aber etwas höher (i.A. 10 % bis 15 %) als im pseudo-synchronen Verfahren, da nicht immer alle Schritte zur Lösungsfindung notwendig sind.
Einfaches Beispiel im halb-synchronen Verfahren - Option 2000 (Alle folgenden Variations-Rechnungen mit jeweils 100 Varianten gerechnet!):
Original mit 17 Punkten: 800000003009000000040706090005904100000000000003002700090108070002000400700000005
Alle Varianten (prinzipiell) ebenso mit 17 Punkten, z.B. Drehung um 90 Grad: 700000008009000400020305090001009700000000000008204600040701000007000900500000003
Beispiel im pseudo-synchronen Verfahren - Option 2001:
Original mit 15 Punkten: 800000003009000000040706090005904100000000000003002700090108070002000400700000005
Nach zwei Drehungen mit 14 Punkten: 500000007004000200070801090007200300000000000001409500090607040000000900300000008
Seltenes Beispiel: Original und alle 100 Varianten mit gleicher Punktzahl von 19 Punkten: 008900200000370500950200000607800005040000000000003910000050090700400080000000001
Zahlenvertauschung 1↔9, 2↔8, 3↔7, u.s.w. mit 19 Punkten: 002100800000730500150800000403200005060000000000007190000050010300600020000000009
Anderes seltenes Beispiel: Original und alle 100 Varianten mit gleicher Punktzahl von 58 Punkten: 000000010000165900800002700300000060004080590020000000502700009007953000460000000
Normal-Beispiel: Original mit 10 Punkten: 080000104009000800007005002000020001090410070300070000500600000001000700604000030
Zahlenvertauschung 1↔7, 2↔5, 3↔1, u.s.w. mit 9 Punkten: 030000702004000300008006005000050007040270080100080000600900000007000800902000010
Zahlenvertauschung 1↔9, 2↔8, 3↔7, u.s.w. mit 9 Punkten: 020000906001000200003005008000080009010690030700030000500400000009000300406000070
Seltenes Beispiel mit Ausdünnen und sehr großer Differenz zwischen niedrigstem und höchstem Wert (116 Punkte bei 12 verschiedenen Punktzahlen):
Original mit 213 Punkten: 003000080050700003700120000010000006638000400070008002000001050500840000060900007
Zeilengruppen vertauschen: 1. Blockspalte nach hinten und dann Drehung mit 173 Punkten: 980000170040000200001800000000040000005000008700206030050060700600731050000080003
Zeilengruppen waagrecht und dann senkrecht vertauschen mit 289 Punkten: 001050000840000500900007060000080003700003050120000700000006010000400638008002070
Am Ende einer Sudoku-Rechnung (vor dem Link "Neustart") werden dazu Rechnungen mit verschiedenen Variationen des eingegebenen Sudokus angeboten.
Beispiel mit 1 Setzenden Alternativ-Ketten: 100056009050700023700003000031000050090000200800000010000010000500902600004038000
Beispiel mit 1 Reduzierenden Alternativ-Ketten: 000010045096050003000000008500000060061425000807960000005007000073001000000000200
Beispiel mit beiden Typen von Alternativ-Ketten: 000001200010020030400700000200010600030407020008050009000009004080030050006800000
Einzelheiten siehe den entsprechenden Teil der Dokumentation: Widerspruchs-, Folgerungs- und Alternativ-Ketten (Nice Loops)
Hier ein paar Beispiele:
Mit Einfacher Widerspruchs-Kette (ohne "!" innen): 000000000000001002003040050000000000000200601054000030000030047200800000600000000
Mit Geschlossener Folgerungs-Kette (ohne "!" innen): 000050780406080100009000060200000007500010000900002310005600000610000004002900000
Mit Einfacher Widerspruchs-Kette (mit "!" innen, in etwa 2.5 sec): 007200000000080100916000000400050600060070030000008004000063000230800500009400001
Mit Geschlossener Folgerungs-Kette (mit "!" innen): 000000000000001002003040050000000001000003040006070000000050380090000000120600000
Mit allen Ketten-Typen (Schritte 9 bis 31): 000000000407380000000052040000074500000530280060090070008400701703000006006000090
Einzelheiten siehe den entsprechenden Teil der Dokumentation: Widerspruchs- und Folgerungs-Ketten (Nice Loops)
Der oft angenommene Zusammenhang zwischen "Anzahl Ausgangszahlen" und "Schwierigkeit des Sudokus" (wenig Ausgangszahlen = hohe Schwierigkeit) ist prinzipiell FALSCH. Das Problem der Schwierigkeits-Beurteilung sieht man am besten an den sehr zahlreichen und ausführlich untersuchten Sudokus mit nur 17 Ausgangszahlen (dem Minimum) [insbesondere von Gordon Royle, der 49158 Sudokus dokumentiert hat] - von denen i.A. behauptet wird, dass sie sehr schwierig sind: Etwa 33 % der vorliegenden etwa 57000 Sudokus mit 17 Ausgangszahlen sind mit den sehr einfachen direkten Methoden (A und B) lösbar; rechnet man zu den einfachen Methoden auch die offensichtlichen Zeilen-/Spalten-Tests und offensichtlichen 2-Tupel/Doppel (C und D) hinzu, sind sogar über vier Fünftel (80 %) einfach - also ohne Ausdünnen - lösbar! Nur etwa 0.5 % sind mit diesem Programm bisher nicht lösbar und etwa 19 % mit bis zu 30 Ausdünnschritten lösbar (von denen auch nur knapp 0.2 % mehr als 240 Punkte haben, also wirklich schwierig sind)!
Man sieht auch, dass bei den meisten Sudokus mit wenigen Ausgangszahlen wenigstens einige Zahlen schnell gefunden werden können, ehe man ins Stocken kommt - und dann fängt die Schwierigkeit an, also erst bei einer höheren Anzahl von Zahlen. Bei allen hier vorhandenen wirklich schwierigen Sudokus mit mindestens 240 Punkten (knapp 17000) gibt es bei 75 % der Sudokus mindestens 6 einfache Schritte, ehe überhaupt der Ausdünnvorgang (bei dann zwischen 28 und 50 Zahlen) begonnen werden muss.
Nur die Konstellation der Ausgangszahlen (an welchen Stellen welche Zahlen stehen) ist für den Schwierigkeitsgrad eines Sudokus verantwortlich, also nicht die Anzahl der Ausgangszahlen, wie man es in den meisten Zeitungen, Zeitschriften und Bücher aber findet (Zwei der wenigen Ausnahmen: "200 Sudoku im praktischen Abreißblock" von Eberhard Krüger und "Sudoku maximal" von Stefan Heine)! Die "wirkliche" Schwierigkeit kann nur durch ein Programm nachträglich ermittelt werden, da sie kaum vorher bei der Konstruktion des Sudokus festlegbar ist.
Einige - sehr unterschiedlich schwierige - Beispiele bei 17 Ausgangszahlen:
Ohne Ausdünnen lösbar:
Super einfach lösbar (9 Punkte): 000000001000002000003000045000006050000070000280000000000800200009040000100000760
Ähnlich einfach lösbar (11 Punkte): 000000000000000012000003004000000050004010000006007300000604800010020009050000000
Ziemlich einfach lösbar (20 Punkte): 000000001000001002034000000000000030000050600700002000000800090006309000400000005
Noch einfach lösbar (32 Punkte): 000000000000001002003000040000030000005460000070000801000040000020500060180000000
Etwas schwierig lösbar (38 Punkte): 205000000000600900000000300010000057600803000000000040890000000000074000000050000
Recht schwierig lösbar (44 Punkte): 000000001000002000003000040000030000005460000010000708000500060020000000180007000
Mit Ausdünnen lösbar:
Einfach lösbar in 1 Ausdünnschritt - Goldene Kette (19 Punkte): 000000000000000012000034000000000000000100560023000007000000208009000003504009000
Lösbar in 4 Ausdünnschritten (61 Punkte): 000000000000000012000034005000000300006100000070200000000820007005000000403000600
Lösbar in 11 Ausdünnschritten (144 Punkte): 000000000000000012003045000000001460007000000020080000000030500210700000600000000
Lösbar in 22 Ausdünnschritten (194 Punkte): 000000001000000023004005000000004600010000000270030000000210000008090000050000800
Lösbar in 24 Ausdünnschritten (291 Punkte): 000000001000000023004005000000006500030010000070000000000030002006080000905200000
Lösbar in 30 Ausdünnschritten (417 Punkte, in etwa 4 sec): 000000000002003001050060040000007000000102000400000080060080000000000007001000203
Mit Bowman's Bingo bzw. Trial&Error lösbar:
Mit 1 Mal Bowman's Bingo gelöst mit 100 Punkten: 007400500600002000000000000000710800200000100300000000500000030040900000000000026
Mit 2 Mal Bowman's Bingo gelöst mit 212 Punkten: 700680000500000030000000001004800600030200000010000000260000800000003070000000000
Mit 4 Mal Bowman's Bingo gelöst mit 399 Punkten: 040000000000020005009000700200000003000007000008900400000600900520030000000000080
Mit Trial&Error gelöst mit 246 Punkten: 600302000040000080000000000702600000000000054300000000080150000000080200000000700
Mit Trial&Error gelöst mit 785 Punkten: 602050000000003040000000000430008000010000200000000700500270000000000081000600000
Mit Trial&Error gelöst mit 1086 Punkten: 000000000000001002003004050000003000016000700700000008000060300000090400200700000
Umgekehrt gibt es viele Sudokus mit mehr als 36 Ausgangszahlen (der üblichen Grenze), die gar nicht so einfach lösbar sind. Hier ein paar Beispiele:
Etwas schwierig lösbar bei 48 Ausgangszahlen in 15 Ausdünnschritten (130 Punkte): 000001043040300012103245607000674301310020764764103200076430120421000030830012476
Etwas schwierig lösbar bei 52 (!!) Ausgangszahlen in 17 Ausdünnschritten (181 Punkte): 754000230198237654623405070417000062582674000936021047245100700069702400071040020
Etwas schwierig lösbar bei 55 (!!) Ausgangszahlen in 15 Ausdünnschritten (126 Punkte): 003716004040895360060243000618954003732168459594372816300681040006429030400537600
Einfacher lösbar bei 58 Ausgangszahlen in 5 Ausdünnschritten (59 Punkte): 950140328023090001001230900639851274572964183184723569000019032290380410310472090
Und es gibt viele Sudokus mit mehr als 36 Ausgangszahlen (der üblichen Grenze), die mit diesem Programm (ohne Bowman's Bingo) nicht lösbar sind. Hier ein paar Beispiele:
Bisher ungelöst bei 51 Ausgangszahlen nach nur 4 Ausdünnschritten (bis dahin 50 Punkte), mit 2 Mal Bowman's Bingo gelöst mit 247 Punkten: 105480009040901000900070104218549600593768412467123895059014020624097001001000940
Bisher ungelöst bei 57 Ausgangszahlen nach nur 3 Ausdünnschritt (bis dahin 34 Punkte), mit Bowman's Bingo gelöst mit 95 Punkten: 020456709456090102709200546205060490074905260960024357590002674642579813007640925
Bisher ungelöst bei 42 Ausgangszahlen nach 6 Ausdünnschritten (bis dahin 59 Punkte), mit Trial&Error gelöst mit 264 Punkten: 300968001002715306061003090200109003030076010100832007013097060009604130600301009
Bisher ungelöst bei 46 Ausgangszahlen nach 5 Ausdünnschritten (bis dahin 88 Punkte), mit Trial&Error gelöst mit 196 Punkten: 574000021908000407106407009649532178810040035350801046780904000495000700260000094
PS: Langfristig wird es dieses Programm nur noch auf dem Rechner https://www.sarahandrobin.com/ingo/ geben (Juli 2015).
Beispiel mit einem XYZ-Wing: 000000002000178030807090000000082910030000024200600000765000000080007060300000045
Beispiel mit einem 2*2-Einzelzahl-Gitter (mit 1 streichbaren Kandidaten): 000000000012000340050206070004080500000103000009050700060509080021000460000000000
Beispiel mit einem 3*3-Einzelzahl-Gitter (mit 5 streichbaren Kandidaten): 102000300000009050900030006000500010005020400010006000600070002080900000004000803
Beispiel mit einem 4*4-Einzelzahl-Gitter (mit 8 streichbaren Kandidaten): 000000000001203400024506370068000250000000000093000180076401530002805600000000000
Einzelheiten siehe den entsprechenden Teil der Dokumentation: Goldene Kette inkl. (W)XYZ-Wing und Einzelzahl-Gitter und -Ketten
Das Vorgehen bei den bisher eingebauten Ausdünnmethoden geht immer in zwei Schritten: Zuerst wird ein Muster, z.B. ein N-Tupel, eine Goldene oder Einzelzahl-Kette oder (zum Teil) auch eine Ausschluss-Kette, gesucht. Dieses Muster existiert für sich alleine, ohne erst einmal eine Wirkung haben zu müssen. Erst im nachfolgenden Schritt wird überprüft, ob man damit einen oder mehrere Kandidaten streichen kann - was nicht immer der Fall ist - und diese Kandidaten liegen im Allgemeinen außerhalb der gefundenen Muster. Das Vorgehen bei den Widerspruchs-Ketten ist vollkommen anders: Man nimmt an, dass ein gewählter Kandidat richtig (oder nicht richtig) ist und versucht nun, durch eine Verkettung von (allerdings logisch aufgebauten und unabhängigen) Schlüssen, daraus einen Widerspruch abzuleiten. Das sind also keine zwei unabhängigen Schritte und erinnert damit eher an ein Trial&Error-Verfahren. Noch mehr in diese Richtung gehen weitergehende Ketten-Verfahren wie die aus mehreren Ketten kombinierten Verfahren wie "Contradiction Forcing Chain" oder "Region Forcing Chain" (Begriffe nach Sudoku Explainer). Sie sind für menschliche Löser wenig geeignet und wohl nur dazu da, alle Sudokus per Programm lösen zu können.
Beispiel mit 2 Einfachen bzw. Erweiterten Widerspruchs-Ketten (Länge 5): 000060030000007001000930006070001004305000907800070060054000000900006000001000820
Beispiel mit 15 wirkenden von über 300 Widerspruchs-Ketten (Länge bis 9, Schritte 11 bis 23), in 1 Sekunde: 000000000000000012003004000000003005006000400070020001000050000200010000804000300
Einzelheiten siehe den entsprechenden Teil der Dokumentation: Widerspruchs-Ketten
Hier ein paar Beispiele:
Gleiche Lösung in allen vier Sudoku-Varianten:
Standard-Sudoku: 460090500057230004000700000009350200603001000000000000000020080140509000090000000
Diagonal-Sudoku: 460090500057230004000700000009350200603001000000000000000020080140509000090000000
Farb-Sudoku: 460090500057230004000700000009350200603001000000000000000020080140509000090000000
Farbdiagonal-Sudoku: 460090500057230004000700000009350200603001000000000000000020080140509000090000000
Gleiche Lösung in nur drei Sudoku-Varianten (die Standard-Variante hat dabei 30619 Lösungen!):
Diagonal-Sudoku: 000490062000000017130005000000000070360700490000000000600000900800000000002300700
Farb-Sudoku: 000490062000000017130005000000000070360700490000000000600000900800000000002300700
Farbdiagonal-Sudoku: 000490062000000017130005000000000070360700490000000000600000900800000000002300700
Gleiche Lösung in nur jeweils zwei Sudoku-Varianten:
Standard-Sudoku: 600045007802006500000000300000070250003000180050000000000600020000802009000019000
Diagonal-Sudoku: 600045007802006500000000300000070250003000180050000000000600020000802009000019000
Standard-Sudoku: 006008900000007100072050000180000000009000400000000063000030852001900000000205000
Farb-Sudoku: 006008900000007100072050000180000000009000400000000063000030852001900000000205000
Diagonal-Sudoku: 000000000004906800080107090035000460000000000021000730090704020007309600000000000
Farbdiagonal-Sudoku: 000000000004906800080107090035000460000000000021000730090704020007309600000000000
Unterschiedliche Lösungen wurden bisher nur in den Varianten Diagonal- und Farb-Sudoku beobachtet (etwa 260 Sudokus). Beispiel mit sehr hoher Punktzahl-Differenz:
Diagonal-Sudoku: 105 Punkte 000004010320000000005007080000056000007000003000020004008000900000000070001000000
Farb-Sudoku: 1251 Punkte 800040000000003001000007000000000760500010000200000900002000090040000000080100070
Unterschiedliche Lösung in den zwei Sudoku-Varianten Diagonal- und Farb-Sudoku, hier mit mehr Punkten als Diagonal-Sudoku:
Diagonal-Sudoku: 637 Punkte 700002003000067184000000000000020008800000000046500000000000500000000000104000079
Farb-Sudoku: 166 Punkte 700002003000067184000000000000020008800000000046500000000000500000000000104000079
Die Anzahl der Unterschiede in den Lösungen ist oft um die 50 Zeichen!
Bewertung A1/A2: 0 bis 2 Punkte (bei 1-2, 3-4, 5-19 noch fehlenden Zahlen) innerhalb Zeilen/Spalten, A3: 0 bis 1 Punkte (bei 1-6, 7-19 noch fehlenden Zahlen) innerhalb Boxen; Farbmarkierung: Grün
Beispiel für den einfachen Fall (A3):
In der dritten Box (OR) kann die Zahl 7 nur in der dritten Zeile sein; damit bleibt die letzte Spalte als einzig möglicher Ort übrig (mit kleinem x markiert).
PS: Der Übersichtlichkeit wegen wurden viele Zellen nicht ausgefüllt, da deren Inhalt ohne Bedeutung ist; ebenso fehlen im Allgemeinen die letzten Zeilen der Beispiel-Sudokus.
|
Beispiel für den komplexeren Fall (A1/A2):
Es kann auch in den Zeilen (A1) bzw. Spalten (A2) nachgesehen werden, ob eine Stelle für eine bestimmte Zahl frei ist. In diesem abgewandelten Beispiel kann die Zahl 7 wieder nur in der dritten Zeile der rechten Box (OR) liegen. Da aber in der 8. Spalte in der darunter liegenden Box (MR) schon eine 7 steht, bleibt wieder nur die letzte Spalte (mit kleinem x markiert) als Zielort übrig (A1).
|
Bewertung B0: 2 bis 0 Punkte (bei 1-9, 10-15, 16-20 sichtbaren Zahlen außer der untersuchten Zelle); Farbmarkierung: Blau
Beispiel: Die einzige Zahl an der Position Zeile 3 und Spalte 4 (mit kleinem x markiert) kann nur die Zahl 7 sein, weil alle anderen Zahlen schon in gleicher Zeile (1, 4, 8, 9), in gleicher Spalte (2, 5), bzw. in gleicher Box (1, 2, 3, 6) vorhanden sind.
|
Bewertung C1/C2: 0 bis 2 Punkte (bei 1-2, 3-4, 5-19 noch fehlenden Zahlen abzgl. Anzahl Begründungen - genauer: abzgl. aller mit den notwendigen Begründungen belegten Zellen) innerhalb Zeilen/Spalten, C3: 0 bis 1 Punkte (bei 1-6, 7-19 noch fehlenden Zahlen) innerhalb Boxen. Dazu: Plus 2 * Anzahl der notwendigen Begründungen (hier nur bis zu 2 Begründungen) + 2 * Anzahl der "UND FOLGEND"-Fälle. Dabei mit 8 Punkten höchste erreichbare Punktzahl der direkten Lösungsmethoden; Farbmarkierung: Rot
Beispiel für den einfachen Fall (C3):
Im einfachen Fall weiß man, dass in der rechten Box (OR) die Zahl 6 nur in der zweiten Zeile sein kann, da die erste Zeile nicht in Frage kommt (wegen der 6 in Spalte 9) - die genaue Position der Zahl 6 in der mittleren Zeile dieser Box ist aber noch unbekannt. Hier ist sogar auch die Position dieser Zahl in der mittleren Box OM noch unbekannt. Trotzdem kann man daraus schließen, dass in der ersten Box (OL) die 6 nur in der dritten Zeile sein kann; in dieser Zeile bleibt dann nur die zweite Spalte als einzig möglicher Ort übrig (mit kleinem x markiert).
|
Beispiel mit 4 folgernden Begründungen (C3):
Offensichtlich gilt für Zahl 4: In Box 3#2 (UM) kann sie nur in Spalte 5 sein => Daraus folgt, dass sie in Box 2#2 (MM) nur in Zeile 5 möglich und deshalb in Box 2#3 (MR) nur in Spalte 9 möglich ist => Daraus folgt dann, dass Zahl 4 in Box 1#3 (OR) nur in Spalte 7 möglich ist. Damit bleibt als einzig möglicher Ort für die Zahl 4 in Box 3#3 (UR) nur Spalte 8 und somit nur Zeile 8 übrig (mit kleinem x markiert).
|
Beispiel für den komplexeren Fall (C1/C2):
Wegen der Zahl 7 in der rechten mittleren Box (MR) kann in der davor liegenden Box (MM) die 7 nicht in Zeile 5 stehen. Damit bleiben als mögliche Orte für die 7 in dieser Box nur die beiden Positionen in der Spalte 5 übrig (mit (7) angezeigt).
Nun kann man ähnlich wie im einfachen Fall folgern, dass die Zahl 7 in der 3. Zeile nicht in Box OL stehen kann (in dieser Box ist schon eine 7), auch nicht in Box OM wegen der 7 irgendwo in Spalte 5 von Box MM (mit (7) markiert), aber auch nicht in Spalte 8 der Box OR (wegen der 7 in Box MR), und somit bleibt in Zeile 3 nur die Spalte 9 (mit kleinem x markiert) als Zielort übrig (C1).
|
Variante C0:
Die einzig mögliche Zahl entsprechend der B0-Methode kann manchmal gefunden werden ohne genaue Ortskenntnis von anderen Zahlen entsprechend offensichtlichen Zeilen-/Spalten-Tests.
Bewertung C0: 2 bis 0 Punkte (bei 1-9, 10-15, 16-20 sichtbaren Zahlen außer der untersuchten Zelle abzgl. Anzahl Begründungen); Dazu: Plus 2 * Anzahl der offensichtlichen Zeilen-/Spalten-Tests + 2 * Anzahl der "UND FOLGEND"-Fälle.
Beispiel für diese Variante:
In Box 1#2 (OM) muss die Zahl 6 in Zeile 1 liegen; daher kann in Zeile 1 und Spalte 3 (mit kleinem x markiert) nur die Zahl 2 sein.
|
Variante C7:
Ist in einer Box eine Zahl nur innerhalb einer Zeile und einer Spalte möglich, so muss diese am Kreuzungspunkt liegen.
Bewertung C7: 2 bis 0 Punkte (bei 1-9, 10-15, 16-20 sichtbaren Zahlen außer der untersuchten Zelle); Dazu: Plus 2 Punkte
Beispiel für diese Variante:
In Box 1#3 (OM) muss die Zahl 9 in Zeile 3 und Spalte 7 liegen (mit kleinem x markiert); denn die Zahl 9 kann in Zeile 3 nur in dieser Box sein (denn Spalte 4 ist durch die 9 in Zeile 7 belegt) und in Spalte 7 auch nur in dieser Box sein (denn Zeile 9 ist durch die 9 in Spalte 2 belegt).
|
Bewertung D1/D2: 0 bis 2 Punkte (bei 1-2, 3-4, 5-19 noch fehlenden Zahlen abzgl. 2* Anzahl Doppel - genauer: abzgl. aller mit den notwendigen Doppeln belegten Zellen) innerhalb Zeilen/Spalten, D3: 0 bis 1 Punkte (bei 1-6, 7-19 noch fehlenden Zahlen) innerhalb Boxen. Dazu: Plus 2 * Anzahl der notwendigen Doppel; Farbmarkierung: Gelbgrün
Beispiel für den einfachen Fall (D3):
Wegen des offensichtlichen 2-Tupels 15 in der Box OM (1 und 5 gehen nicht in der mittleren Zeile und auch nicht in der mittleren Spalte) kann die einzige Zahl an der Position Zeile 2 und Spalte 6 (mit kleinem x markiert) nur die Zahl 7 sein bzw. die Zahl 7 dieser Box kann nur in Zeile 2 und Spalte 6 stehen (da sie nicht in Spalte 5 und nicht in Zeile 3 der Box OM sein kann).
|
Variante D0:
Die einzig mögliche Zahl entsprechend der B0-Methode kann manchmal gefunden werden ohne genaue Ortskenntnis von zwei anderen Zahlen, die ein offensichtliches 2-Tupel (Doppel) bilden.
Bewertung D0: 2 bis 0 Punkte (bei 1-9, 10-15, 16-20 sichtbaren Zahlen außer der untersuchten Zelle abzgl. 2 * Anzahl Doppel - genauer: abzgl. aller mit den notwendigen Doppeln belegten Zellen); Dazu: Plus 2 * Anzahl der notwendigen Doppel
Beispiel für diese Variante:
Durch das offensichtliche 2-Tupel 48 kann ausgeschlossen werden, dass die Zahlen von diesem 2-Tupel (4 und 8) an der betrachteten Stelle (mit kleinem x markiert) liegen; daher kann dort nur die Zahl 9 sein.
|
Variante D7:
Kreuzen sich zwei offensichtliche, aber verschiedenen 2-Tupeln in einer einzigen Zelle, kann diese Zelle nur den gemeinsamen (in beiden Paaren der 2-Tupel vorkommenden) Kandidaten haben. Der Fall tritt nur im synchronen Fall auf.
Bewertung D7: 5 Punkte, da 2 Doppel
Beispiel für diese Variante:
In der mittleren Zeile der linken Box (OL) können 1 und 7 nicht vorkommen; in der dritten Zeile können 4 und 7 nicht in der rechten Box (OR) liegen: Die einzige Zahl an der mit kleinem x markierten Stelle kann also nur die den beiden Doppeln gemeinsame Zahl 7 sein.
|
Variante D8:
Beim Auftreten von zwei offensichtlichen und gleichen 2-Tupeln in drei Ecken eines Ausschluss-Rechtecks (in zwei Zeilen, zwei Spalten und zwei Boxen) kann die nicht besetzte Ecke eventuell einen einzigen möglichen Kandidaten haben, wobei die Kandidaten des 2-Tupels als sichtbar angesehen werden (ähnlich D0).
Bewertung D8: 5 Punkte, da 2 Doppel
Beispiel für diese Variante:
Es gibt fast ein offensichtliches Ausschluss-Rechteck mit den Resten 29 in Zeile 1 und 6, und in Spalte 2 und 3, und in BOX OL und ML, wobei in Zeile 1 und Spalte 3 (mit kleinem x markiert) der Rest 239 möglich ist, d.h. von dieser Zelle aus können alle Zahlen außer 2, 3 und 9 gesehen werden. Wäre aber in dieser Zelle eine 2 oder eine 9, läge wegen der eindeutigen Lösbarkeit eines Sudokus ein Ausschluss-Problem vom einfachen Typ 1 vor (siehe unter Ausschluss-Rechtecke). Also kann nur die Zahl 3 der Wert für diese Zelle sein.
|
Bewertung E1/E2/E3: 0 bis 1 Punkte (bei 1-4, 5-19 sichtbaren Zahlen) innerhalb Zeilen/Spalten/Boxen; Farbmarkierung: Lila
Ausdünnung:
Hier wird davon ausgegangen, dass zuerst versucht wird, das Sudoku ohne Anschreiben der Reste (das sind die Kandidaten, also die möglichen Zahlen für die jeweilige Stelle) zu lösen (Methoden A, B, C und D). Kommt man damit nicht weiter, muss man für jede freie Stelle alle Zahlen aufschreiben, die für diese Stelle in Frage kommen (also die dafür überhaupt noch möglichen Zahlen): Das sind die Kandidaten für die jeweilige Stelle, die hier als Ganzes "Rest" genannt und auch der Einfachheit halber als eine mehrstellige Zahl (ohne Komma oder andere Trennzeichen, unterhalb der Eingabefelder) geschrieben werden.
Danach versucht man, diese Reste so lange "auszudünnen", also zu verkürzen, bis man zu einer eindeutigen Lösung für eine Stelle kommt (Methoden E und F). Die Ausdünnmethoden I bis VI werden im nächsten Abschnitt ausführlich beschrieben.
Beispiel für den Fall (E1):
Nach der Ausdünnmethode II (N-Tupel, siehe weiter unten im nächsten Abschnitt) hat man z.B. in der oberen rechten Box (OR) in Spalte 9 das Reste-Paar 79 zwei Mal (hier ohne genaue Begründung) gefunden. Die Zahlen 7 und 9 müssen also an diesen beiden Stellen auftreten. Damit können in allen anderen Resten (Kandidatenlisten) dieser Box die Zahlen 7 und 9 gestrichen werden (mit [zahl] markiert). Da nun in Zeile 1 nur noch an einer einzigen Stelle der Kandidat 7 (Zeile 1 und Spalte 4 - mit kleinem x markiert) auftritt, kann er dort gesetzt werden.
|
Bewertung F0: 0 Punkte bei letzter Möglichkeit, 0 bis 1 Punkte (bei 1-4, 5-19 sichtbaren Zahlen) bei einziger Möglichkeit; Farbmarkierung: Braun
Beispiel für F0:
Nach der Ausdünnmethode I (Box-Test, siehe weiter unten im nächsten Abschnitt) kommt die Zahl 9 innerhalb der zweiten Zeile nur in der ersten Box (OL) vor: Daher muss die 9 dort sein (auch wenn man die Position innerhalb der zweiten Zeile noch nicht weiß) - sie kann also nicht in der dritten Zeile dieser Box noch einmal vorkommen. Daher kann man aus den Resten dieser Zeile in der Box OL den Kandidaten 9 streichen.
Damit bleibt an der Position Zeile 3 und Spalte 3 (mit kleinem x markiert) nur noch die 3 als Kandidat übrig. Also hat man einen eindeutigen Rest an dieser Stelle gefunden und kann die Zahl 3 dort setzen.
|
Beispiele für Sudokus, bei denen sehr viele verschiedene Ausdünn-Methoden benutzt werden:
Ohne Bowman's Bingo (etwa 2.5 sec), 39 Ausdünnschritte: 000500000060001004005960001009000040001840705000002000002085103000000000070000600
Mit Bowman's Bingo (etwa 6 sec), 25 Ausdünnschritte:: 200000500090400000106000007700300000080050000009001060070500300002030010400006809
Das Aufschreiben der möglichen Kandidaten von Hand (!) ist aufwändig und fehleranfällig; dafür werden 25 % der Anzahl der Kandidaten als Extra-Punkte angerechnet.
In den folgenden Beispielen werden oft nur Teile eines Sudokus mit entsprechenden Resten dargestellt, um das Ganze übersichtlicher zu machen; es sind Ausschnitte aus aktuellen Sudokus.
Beispiel:
|
|
Beispiel:
|
|
Bewertung: 2, 5, 8, 11 (und theoretisch 14 und 17) Punkte, also 3*N-4 Punkte (N ist die Länge des direktes N-Tupels), für ein Verstecktes M-Tupel gibt es 8, 11 (und theoretisch 14, 17 u.s.w.), also 3*M+2 Punkte - insgesamt zählt aber die kleinere Punktzahl.
PS: Ein 2-Tupel (Doppel) - in der Sudoku-Literatur fälschlicherweise "Paar" geannt - besteht also aus 2 Paaren, ein 3-Tupel (Tripel) aus 3 Paaren oder Trios (Zelle mit 3 Kandidaten), u.s.w..
Einfaches Beispiel mit 2-Tupel (Doppel):
|
|
Kurzes Beispiel mit 3-Tupel (Tripel):
Hier findet man in der Box OM (und in der 5. Spalte) das 3-Tupel 235 (Tripel: 235, 23, 25). Damit können in allen anderen Resten dieser Box (und in der 5. Spalte) die Kandidaten 2, 3 und 5 gestrichen werden.
|
Beispiel mit einem Versteckten 3-Tupel (Tripel):
Hier findet man in Zeile 1 in den Spalten 1, 2 und 9 das Versteckte 3-Tupel 349 (Tripel: 34789,3489,23689). Damit können in diesen Zellen die zusätzlichen Kandidaten 2, 6, 7 und 8 gestrichen werden. Dazu gehört das 6-Tupel (Sextupel) 125678 (58,5678,167,158,28,268). Da das 6-Tupel 14 Punkte wert ist, das Versteckte 3-Tupel aber 11 Punkte, wird der kleinere Wert 11 als Punktzahl benutzt. Daher sind Versteckte N-Tupel nur bis N = 3 sinnvoll.
|
Beispiel mit 4-Tupel (Quadrupel):
Relativ häufig (in etwa 10% aller N-Tupel-Fälle) findet man noch 4-Tupel, aber 5-Tupel, 6-Tupel und 7-Tupel sind sowohl noch seltener (1-2 %) als auch schwieriger zu erkennen. Dann kann man aber eventuell leichter ein Verstecktes M-Tupel sehen. Liegt in einer Zeile, Spalte oder Box mit N+M Kandidaten ein N-Tupel vor, so gibt es immer auch ein Verstecktes M-Tupel. So gibt es im obigen Beispiel in der Box OM das (triviale) Versteckte 3-Tupel 147 (in 2357, 12457, 12457). Bei der Bewertung werden aber im Allgemeinen die direkten N-Tupel vorgezogen, da sie einfacher zu erkennen sind.
|
In diesem Beispiel findet man in der 3. Zeile das 4-Tupel 3568 (Quadrupel: 3568, 3568, 568, 368). Damit können in allen anderen Resten dieser Zeile die Kandidaten 3, 5, 6 und 8 gestrichen werden.
Bewertung: 3 Punkte.
Quelle: SudokuWiki von Andrew Stuart: Chute_Remote_Pairs
Einfaches Beispiel:
|
|
Beispiel mit Bonus-Streichungen:
|
Bonus-Streichungen: Darüber hinaus können diese Kandidaten auch in Zeile 1 und Spalte 4 gestrichen werden (grün markiert), obwohl diese Zelle (1:4) nicht von (8:5) aus gesehen wird: Denn wenn z.B. der Kandidat 1 in (1:4)[1] wäre - also in Spalte 4, muss die 1 in Spalte 5 in der mittleren Box liegen, da sie dort nicht in Spalte 6 ist. Daraus folgt wegen der jeweils gesetzten 1 insgesamt: Es muss der Kandidat 3 in beiden Paaren des Entfernten Doppels gesetzt sein, d.h., in der mittleren Box gibt es dann keine Zelle mit einer 3, was ein Widerspruch ist.
Das gilt analog auch für den Kandidaten 3 in (1:4), aber auch für die 3 in (9:5)[3], die nicht von (1:4) aus gesehen wird: Denn ist dort die 3 gesetzt, muss in der mittleren Box die 3 in Spalte 4 liegen, was bedeutet, weil dann in allen Paaren des Entfernten Doppels eine 1 stehen muss, weshalb in dieser Box keine 1 sein kann, was also wieder ein Widerspruch ist.
Allgemein heißt das: Alle in den (hier) Spalten liegenden Kandidaten des Entfernten Doppels können in den (hier) Spalten, in denen das betrachtete Doppel liegt, gestrichen werden - außer natürlich die des Doppels selbst; damit sind maximal 8 zusätzliche Streichungen möglich.
|
Eine Goldene Kette der Länge 2 ist identisch mit einem 2-Tupel (Doppel): ab, ba. Goldene Ketten länger als 12 sind sehr selten (weit unter 0.1 %).
Eine Goldene Kette kann geschlossen sein, wenn jede der betroffenen Zellen als Ausgangspunkt dienen kann - dadurch kann man mehr Kandidaten streichen.
Eine Erweiterung der Goldenen Kette der Länge 3 ist der XYZ-Wing, bei dem die mittlere Zelle 3 Kandidaten besitzt. Man kann diese Methode auch als ein 3-Tupel (Tripel) mit einem Knick auffassen. Nähere Beschreibung siehe weiter unten.
Eine Erweiterung des XYZ-Wings ist der WXYZ-Wing, bei dem 4 Zellen insgesamt 4 verschiedene Kandidaten besitzen. Man kann diese Methode auch als ein 4-Tupel (Quadrupel) mit einem Knick auffassen. Nähere Beschreibung ebenso siehe weiter unten.
Bewertung: 6, 7, 8, 9, usw. bis 17 Punkte, also N+3 Punkte entsprechend der Länge N der gefundenen Kette (N = 3 bis 14; längere Goldene Ketten sind zwar möglich, aber wenig sinnvoll, weil sie extrem selten auch wirkend sein wären). Der XYZ-Wing erhält 7 Punkte (statt 6 bei der 3er-Goldenen Kette); der WXYZ-Wing 10 Punkte (3 Punkte mehr als der XYZ-Wing), aber 11 Punkte, wenn es die erweiterte Form ist.
Literatur:
Download des Artikels von Eduyng Castan: http://www.coverpop.com/sfiles/Sudoku-GoldenChains.pdf (nicht mehr erreichbar)
Ähnlicher Artikel von Mihail Iusut: http://www.scanraid.com/sudoku/Remote_Pairs_and_XY_Chains.pdf
Beschreibung des WXYZ-Wings von Andrew Stuart: https://www.sudokuwiki.org/WXYZ_Wing
Beispiel einer Goldenen Kette:
|
Beispiel eines XYZ-Wings:
|
Wenn in der mittleren Zelle ("Knickstelle") des XYZ-Wings (Zeile 1, Spalte 1) die 9 auftritt, kann sie in Zeile 1 und Spalte 3 (in der Box) gestrichen werden. Hat die mittlere Zelle aber den Wert 2, muss die 9 in der ersten Zelle des XYZ-Wings (Zeile 1, Spalte 4) stehen; umgekehrt gilt, wenn die mittlere Zelle den Wert 8 hat, muss die 9 in der dritten Zelle des XYZ-Wings (Zeile 2, Spalte 3) stehen. Auch in diesen beiden Fällen kann die 9 in von allen drei Stellen aus sichtbaren Zellen, hier nur Zeile 1 und Spalte 3, gestrichen werden. Ohne der 9 in Zeile 1 und Spalte 1 hätte man die 3er-Goldene Kette (1:4)92 - (1:1)28 - (2:3)89 mit der gleichen Folge, dass die 9 in Zeile 1 und Spalte 3 gestrichen werden kann.
Hier sieht man auch, dass diese Methode auch auf 4 (dann WXYZ-Wing genannt) oder mehr Kandidaten ausgeweitet werden kann. Die WXYZ-Methode ist - insbesondere durch die erweiterte Version - 4 Mal häufiger als die XYZ-Methode, bei der die Erweiterung nichts bringt.
Beispiel eines Standard-WXYZ-Wings, wobei diese aber relativ selten sind (3 % aller WXYZ-Wings):
|
Die Kandidaten in der "Knickstelle" sind 4567; wäre 4 richtig, folgt daraus eine 6 in Zeile 3 und Spalte 5; wäre 5 richtig, folgt aber eine 6 in Zeile 1 und Spalte 1; wäre 7 richtig, folgt eine 6 in Zeile 1 und Spalte 3. Und wäre 6 richtig, kann sowieso keine 6 in Zeile 1 und Spalte 5 sein. In allen Fällen ist eine 6 in Zeile 1 und Spalte 5 nicht möglich.
Beispiel eines erweiterten WXYZ-Wings:
Die Definition des erweiterten WXYZ-Wings besagt, dass genau einer der 4 Kandidaten des Wings nicht alle Vorkommen dieses Kandidaten im WXYZ-Wing sehen darf, während die anderen 3 Kandidaten sich alle gegenseitig sehen sollen.
|
Die Kandidaten 2, 6 und 9 sehen sich alle gegenseitig (gleiche Zeile oder gleiche Box), Kandidat 3 liegt aber in verschiedenen Boxen in verschiedenen Zeilen. Damit können alle Kandidaten 3 der anderen Zellen, die von diesen (beiden) Kandidaten 3 aus gesehen werden, gelöscht werden. Bei dieser Variante können oft viele Kandidaten gestrichen werden.
Holger Schrader hat auch die neue Methode der Einzelzahl-Widerspruchs-Kette gefunden. Dabei nimmt man entlang einer Kette an, dass dort eine bestimmte Zahl abwechselnd gesetzt bzw. nicht gesetzt ist und leitet daraus einen Widerspruch ab. Diese Methode ist erstaunlicherweise etwa 10 Mal häufiger einsetzbar als normale Einzelzahl-Ketten; und wegen ihrer Kürze sind sie auch gut zu erkennen.
Einzelzahl-Kette: Man sieht für eine bestimmte Zahl in den Kandidaten nach, ob in Zeilen oder Spalten oder Boxen diese Zahl genau zwei Mal vorkommt. Hat man mehrere solcher sogenannten starken Verbindungen (strong link) gefunden, lassen sich diese eventuell dadurch so zu einer Einzelzahl-Kette verbinden, dass jeweils ein Anfang oder Ende in der gleichen Zeile, Spalte oder Box wie eine andere starke Verbindung liegen; interessant ist hierbei, dass die anderen Kandidaten der jeweiligen Reste keine Rolle spielen, egal welche und wie viele es sind. Wenn sowohl vom Anfang einer so konstruierten Kette als auch vom Ende dieser Kette ein oder mehrere Felder "gesehen" werden, die also in der jeweils gleichen Zeile, Spalte oder Box liegen, kann die bestimmte Zahl aus diesen Feldern gestrichen werden. Es gilt: Entweder liegt die bestimmte Zahl am Anfang der Kette; ist das nicht der Fall, gilt folgender Schluss: Liegt diese Zahl nicht im ersten Feld der Kette, muss sie aber im zweiten Feld liegen, da dieses eine starke Verbindung ist; dann kann sie jedoch nicht im dritten Feld sein, muss somit im vierten Feld liegen, usw. - d.h. in jedem 2*K-ten Feld der Kette muss dann die bestimmte Zahl liegen, also auch - wegen der Geradzahligkeit der Kettenglieder - im letzten Feld am Ende der Kette.
Eine Einzelzahl-Kette kann geschlossen sein, wenn jede der betroffenen Zellen als Ausgangspunkt dienen kann - dadurch kann man mehr Kandidaten streichen.
NEU: Einzelzahl-Widerspruchs-Kette: Hier sieht man ebenfalls für eine bestimmte Zahl in den Kandidaten nach, ob in Zeilen oder Spalten oder Boxen diese Zahl genau zwei Mal vorkommt (starke Verbindung) oder auch mehr als zwei Mal vorkommt (schwache Verbindung). Hat man mehrere solcher Fälle gefunden, lassen sich diese eventuell zu einer Kette verbinden. Nach einer schwachen Verbindung muss aber direkt eine starke Verbindung folgen. Dann nimmt man an, dass im ersten Glied und den anderen ungeraden Stellen der Kette die Zahl gesetzt ist, in den anderen aber nicht. Das führt dann oft zu Widersprüchen, etwa dass in einer Zeile, Spalte oder Box keine solche Zahl auftreten kann oder diese Zahl mehr als einmal auftritt, weshalb daher die Zahl in allen ungeraden Kettengliedern gestrichen werden kann. Sind alle Verbindungen stark, ist es eine Kette vom Typ 1, sonst vom Typ 2, der dafür aber auch viel häufiger auftritt. Der Typ 2 bekommt als zusätzliche Information eine Folge von O und X angehägt, wobei das O für eine starke, das X für eine schwache Verbindung steht; Beispiel Typ 2OOXO. Bei Typ 2 können nur die gesetzten Zahlen der Ketten gestrichen werden, die vor dem X-Fall liegen.
Bei Einzelzahl-Widerspruchs-Ketten vom Typ 1 ist oft durch Verlängerung der Kette um ein Glied eine (echte) Einzelzahl-Kette möglich - dadurch können mehr Kandidaten gestrichen werden. Dann werden beide Ketten angegeben und die streichbaren Kandidaten aus beiden Ketten angezeigt.
Häufigkeiten der Einzelzahl-Widerspruchs-Ketten: Typ 1 wird zu etwa 3 % gefunden; Typ 2XO ist mit etwa 74 % am häufigsten, etwa 22 % entfallen auf die 5er-Typen 2XOOO, 2XOXO und 2OOXO; die Längen 7 und 9 werden nur zu etwa 2 % gefunden; die Länge 11 ist extrem selten.
Bewertung Einzelzahl-Gitter: 6, 9, 12, also 3*N Punkte entsprechend der Länge N des gefundenen N*N-Gitters.
Bewertung Einzelzahl-Ketten: 7, 9, 11, 13, 15 Punkte, also N+3 Punkte entsprechend der Länge N der gefundenen Kette (N = 4 bis 12, immer geradzahlig).
Bewertung Einzelzahl-Widerspruchs-Ketten: Ebenfalls 7 bis 15 Punkte, also N+4 Punkte entsprechend der Länge N der gefundenen Kette (N = 3 bis 11)
Sonderfälle der Einzelzahl-Verfahren: Skyscraper, Turbot Fish, Two-String Kite (Long String Kite und Empty Rectangle sind Erweiterungen), hier aber nicht eingebaut.
Beispiel eines 2*2-Einzelzahl-Gitters (X-Wing):
X-Wing ist der Basistyp der Einzelzahl-Gitter- und Einzelzahl-Ketten-Methoden: Ein Rechteck von Zellen, die alle den gleichen Kandidaten haben - entweder alleine in den Zeilen oder alleine in den Spalten. Dann kann der Kandidat in den nicht im Rechteck liegenden Zellen der betroffenen Spalten bzw. Zeilen gelöscht werden, weil in 2 diagonal gegenüberliegenden Zellen des Rechtecks der Kandidat 5 vorkommen muss. Das folgende Beispiel zeigt das Zeilen-Gitter der Zahl 5: 56-56-157-157 (in Zeile 1 und Zeile 5): die Zahl 5 kann daher überall außerhalb dieses Gitters in der Spalte 2 bzw. Spalte 5 gestrichen werden:
|
Erweiterung der 2*2-Gitter-Methode X-Wing auf 3*3- bzw. 4*4-Gitter (mehr ist nicht notwendig, da zu einem höheren Gitter auch immer ein entsprechend kleineres gehört - ähnlich wie bei den N-Tupeln). Ein großer Vorteil dieser Gitter liegt darin, dass oft sehr viele Kandidaten gestrichen werden können.
Beispiel eines 3*3-Einzelzahl-Gitters (Swordfish):
|
Beispiel einer Einzelzahl-Kette (Länge 6):
|
Nun gilt: In Zeile 6/Spalte 1 kann die Zahl 2 nicht stehen, denn entweder liegt wegen der gefundenen Kette die 2 in Zeile 6/Spalte 5 (Anfang der Kette) oder in Zeile 1/Spalte 1 (Ende der Kette). D.h.: Ist die 2 in Zeile 6/Spalte 5, ist alles klar; ist die 2 aber nicht in Zeile 6/Spalte 5, muss sie in Zeile 4/Spalte 5 sein (da 27-27 eine sogenannte starke Verbindung ist), kann somit nicht in Zeile 4/Spalte 7 sein, muss also in Zeile 3/Spalte 7 sein (starke Verbindung 24-24), also nicht in Zeile 1/Spalte 9, und muss daher in Zeile 1/Spalte 1 (starke Verbindung 2389-28) sein. Damit erhält man:
|
Beispiel einer Einzelzahl-Widerspruchs-Kette (Typ 1):
|
Hier findet man sogar 12 (!) Einzelzahl-Widerspruchs-Ketten mit der Zahl 3 und der Länge 3: Zum Beispiel: (hier rot markiert) (6:5)3 - (5:6)[3] - (5:7)3 und auch (6:5)3 - (1:5)[3] - (3:6)3. Bei der ersten Kette gibt es in Zeile 1 keine Möglichkeit für eine 3, da in (6:5) und (5:7) eine 3 steht; bei der zweiten Kette kann in Spalte 9 keine 3 stehen. Andere Beispiele sind z.B. auch (5:7)3 - (5:6)[3] - (3:6)3 oder (hier grün markiert) (6:9)3 - (3:9)[3] - (3:6)3 mit dem Widerspruch "Keine Möglichkeit für eine 3 in Box 2#2 (MM)".
Beispiel einer Einzelzahl-Widerspruchs-Kette (Typ 2XO):
|
Startet man hier in der 3. Zeile und 2. Spalte mit der Zahl 4, kann an keiner anderen Stelle dieser Zeile eine 4 stehen, also auch nicht in Spalte 6. Diese Spalte hat aber eine starke Verbindung, so dass die 4 in Zeile 5 dieser Spalte stehen muss. Damit ist an keiner Stelle der Box 2#1 (ML) eine 4 möglich, was ein Widerspruch zu der Annahme einer 4 in (3:2) ist. Weg: (3:2)4 - (3:6)[4] - (5:6)4. Der umgekehrte Weg wie bei Typ 1 ist hier nicht möglich.
Liegen in 4 Zellen, die in zwei verschiedenen Zeilen, zwei verschiedenen Spalten und zwei verschiedenen Boxen liegen, nur genau 2 Zahlen (je zwei Mal), kann man diese Zahlen in diesen vier Zellen vertauschen und erhält ein zweites Sudoku, das sich nur in diesen Zellen unterscheidet. Ein gutes Sudoku ist daher immer so konstruiert, dass - in diesem Fall - mindestens eine dieser vier Zellen vorgegeben ist, wodurch es eindeutig lösbar wird. Beispiel mit den vertauschbaren Zahlen 6 und 9:
|
|
Das folgende Sudoku hat KEIN Ausschluss-Rechteck: Durch Vertauschen der 6 und 9 in den 4 Boxen entsteht kein Sudoku - das funktioniert nur bei 2 betroffenen Boxen:
|
|
Viele Beispiele mit ausführlichen Erklärungen findet man bei Bernhard Hobigers Webseite http://hodoku.sourceforge.net/de/tech_ur.php (die Typen 7 und 8 heißen dort Hidden Rectangles - Versteckte Rechtecke) und bei Rudi Lars' Webseite http://home.arcor.de/r.sudogu/r_tec/UniqueRectangle.html (wobei die Typen 7 und 8 dort Unique Rectangle VII [1/6] bis [6/6] genannt werden, Typ 7B wird nicht erwähnt), und auch bei Andrew Stuart's Webseite https://www.sudokuwiki.org/Unique_Rectangles und https://www.sudokuwiki.org/Hidden_Unique_Rectangles (der Typ 4A heißt dort Hidden Typ 2/2b); Stuart hat sogar eine Erweiterung auf ein 2 x 3 Pattern mit Tripeln statt Paaren beschrieben, siehe https://www.sudokuwiki.org/Extended_Unique_Rectangles.
Bewertung (Ausschluss-Rechtecke): 4 Punkte für die einfachen Typen 1, 2 und 5, und 5 Punkte für den einfachen Typ 3A (mit Quasi-2-Tupel - bei Typ 3 allgemein: 5, 8, 11, 14, 17, 20 - je nach der Länge des Quasi-N-Tupels), für die schwierigeren Typen (mit 1 Regel) 4A, 4B und 4C gibt es 3 Punkte mehr (also 7 Punkte), für die komplexeren Typen (mit 2 Regeln) 6, 7A, 7B, 7C, 8A, 8B und 8C gibt es 4 Punkte mehr (also 8 Punkte).
Achtung: Da das Ausdünnen die Eindeutigkeit eines Sudokus erfordert, sollte man diese im Zweifelsfall prüfen - das wird am Ende des Programms automatisch angeboten. Bei mehrdeutigen Sudokus wird eventuell eine angeblich eindeutige Lösung gefunden, obwohl es auch andere Lösungen gibt (es wurden schon über 1000 solcher Fälle gefunden).
Beispiel (dabei auch auf die hier nach dem Sudoku folgende Zeile klicken): Sudoku mit 3 Lösungen, davon zwei gleichartige an den Stellen (3:8 - 3:9 - 8:9 - 8:8): 000000089406009200000630000000000050000004000001720030010000008075000000032070060
Einer der gefundenen Ausdünnschritte ist:
Ausschluss-Rechteck Typ 4C für (3:8 - 3:9 - 8:9 - 8:8)14 gefunden: Wegen Kandidat 4 alleine in Spalte 8 ist Kandidat 4 in nicht betrachteter Zelle mit Zusatzkandidaten streichbar
Unter der falschen Annahme, dass das Sudoku eindeutig lösbar ist, werden in einem Ausschluss-Rechteck Kandidaten eliminiert, die aber zu zwei anderen Lösungen gehören mit der Zahl 5 (statt 4) in Zeile 1 und Spalte 4, aber den vertauschbaren Zahlen 1 - 4 - 1 - 4 und 4 - 1 - 4 - 1 im Rechteck 3:8 - 3:9 - 8:9 - 8:8.
Weiteres Beispiel: Das Sudoku hat 127 Lösungen, ist aber mit 4 einfachen Ausschluss-Rechtecken "angeblich" lösbar: 000000003007000009063007000000026800400000000000009200000240010180000040070100060
Es ist schon erstaunlich, dass genau ein Sudoku gelöst wird, aber über 100 andere Lösungen auch noch existieren!
Typ | Häufigkeit | ZK | Analyse | Streichbar | Ort |
---|---|---|---|---|---|
1 Zelle mit 1 bis N ZK bzw. 2 oder mehr Zellen mit identischem ZK | |||||
Typ 1 | 13 % | 1 bis N | ZK in 1 Zelle | Beide HK | ZK |
Typ 2 | 5 % | 1 gleicher | in 2 Zellen | ZK | Alle von ZK aus sichtbaren Zellen |
Typ 5A | < 0.01 % | 1 gleicher | in 2 Zellen (Paare diagonal) | ZK | Alle von ZK aus sichtbaren Zellen |
Typ 5B | 0.03 % | 1 gleicher | in 3 Zellen | ZK | Alle von ZK aus sichtbaren Zellen |
Typ 5C (ab 6er-Ausschluss-Ketten) | < 0.01 % | 1 gleicher | in 4 Zellen | ZK | Alle von ZK aus sichtbaren Zellen |
Typ 5D (ab 8er-Ausschluss-Ketten) | < 0.01 % | 1 gleicher | in 5 Zellen | ZK | Alle von ZK aus sichtbaren Zellen |
Typ 5E (ab 10er-Ausschluss-Ketten) | < 0.0001 % | 1 gleicher | in 6 Zellen | ZK | Alle von ZK aus sichtbaren Zellen |
Quasi-N-Tupel | |||||
Typ 3A | 3.5 % | 2 | Quasi-2-Tupel | Quasi-2-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Typ 3B | 1 % | 2 bis 3 | Quasi-3-Tupel | Quasi-3-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Typ 3C | 0.25 % | 2 bis 4 | Quasi-4-Tupel | Quasi-4-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Typ 3D | 0.1 % | 2 bis 5 | Quasi-5-Tupel | Quasi-5-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Typ 3E | 0.02 % | 2 bis 6 | Quasi-6-Tupel | Quasi-6-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Typ 3F | < 0.01 % | 2 bis 7 | Quasi-7-Tupel | Quasi-7-Tupel-Zahlen | Alle von ZK + N-Tupel aus sichtbaren Zellen |
Mit 1 HK-Regel (Ein HK nur in den beiden AR-Zellen einer Zeile oder Spalte bzw. in allen 4 AR-Zellen) | |||||
Typ 4A | 22 % | 1 bis N | HK in HK+ZK-Zellen | Anderer HK | AR-Zelle mit nicht betrachtetem ZK |
Typ 4B | 8 % | 1 bis N | HK in ZK+ZK-Zellen | Anderer HK | 2 AR-Zellen mit ZK |
Typ 4C | 9.5 % | 1 bis N | HK in HK+ZK-Zellen (Paare diagonal) | HK | AR-Zelle mit nicht betrachtetem ZK |
Mit 2 HK-Regeln (Ein HK nur in den beiden AR-Zellen einer Zeile oder Spalte, anderer HK nur in beiden AR-Zellen anderer Zeile oder Spalte) | |||||
Typ 6 | < 0.5 % | 1 bis N | HK in Z/S, HK in Z/S (Paare diagonal) | HK | 2 AR-Zellen mit ZK |
Typ 7A | 6 % | 1 bis N | HK in Z/S, HK in S/Z | Anderer HK | Zelle gegenüber Paar-Zelle |
Typ 7B (NEU) | 17 % | 1 bis N | HK in Z/S, HK in Z/S | Anderer HK | Zelle gegenüber Paar-Zelle |
Typ 7C | 3 % | 1 bis N | HK in Z/S, HK in S/Z (Paare diagonal) | Anderer HK | Betrachtete Paar-Zelle |
Typ 8A | 9.5 % | 1 bis N | HK1 in Z/S, HK2 in Z/S | HK | Neben Paar-Zelle liegende Zelle |
Typ 8B | 2 % | 1 bis N | HK1 in Z/S, HK2 in S/Z | HK | Nicht betrachtete Zelle |
Typ 8C | 0.5 % | 1 bis N | HK1 in Z/S, HK2 in S/Z | ZK | Zelle gegenüber Paar-Zelle |
Bemerkung: Mit Paar-Zelle ist jeweils eine Zelle des Ausschluss-Rechtecks bezeichnet, die nur aus den beiden Hauptkandidaten (die zwei Kandidaten, die in allen 4 Zellen vorkommen) des Ausschluss-Rechtecks besteht.
Bemerkung: Ändert man die Reihenfolge der Ausdünnschritte, kann ein vorher lösbares Sudoku eventuell nicht mehr gelöst werden. Oft helfen dann aber die Quasi-Ausschluss-Rechtecke und -Schleifen, wobei alle Fälle der Ausschluss-Rechtecke und die der 6er-Ausschluss-Schleifen programmiert wurden. Interessanterweise wurde das Phänomen aber nie bei Goldenen und Einzelzahl-Ketten beobachtet (also keine eventuell notwendigen Quasi-Goldenen und Quasi-Einzelzahl-Ketten).
Typ 1: Ausschluss-Rechteck vom einfachsten und dritt-häufigsten Typ (etwa 13 %): Es gibt drei Zellen mit drei gleichen Paaren, und in der vierten Zelle gibt es zusätzliche Kandidaten, von denen einer gültig sein muss - andernfalls wäre die eindeutige Lösbarkeit nicht gegeben. Beispiel:
|
Würde man die Zahl 1 in Zeile 3 und Spalte 5 streichen, hätte man ein Ausschluss-Rechteck: In allen vier betrachteten Zellen gibt es dann nur die Zahlen 2 und 5 als Kandidaten; dann wären prinzipiell zwei Lösungen möglich (2 - 5 - 2 - 5 und 5 - 2 - 5 - 2). Das ist aber ein Widerspruch zu der Voraussetzung, dass ein Sudoku eindeutig lösbar sein muss. Also muss in dieser Zelle die 1 stehen bzw. die Kandidaten 2 und 5 können gestrichen werden (falls mehrere zusätzliche Kandidaten vorliegen).
Typ 2: Ausschluss-Rechteck vom einfachen, jedoch wenig häufigen (außer bei Ausschluss-Schleifen) Typ: Es gibt zwei nicht-diagonale Zellen mit zwei gleichen Paaren, und in den anderen neben- oder übereinander liegenden Zellen gibt es einen zusätzlichen (gleichen) Kandidaten, der wegen der eindeutigen Lösbarkeit in einer der beiden Zellen gültig sein muss - aus den anderen, von diesen beiden Zellen aus sichtbaren Zellen kann dann dieser zusätzliche Kandidat gestrichen werden. Beispiel:
|
Würde man die Zahl 3 in Spalte 8 der Zeilen 2 und 3 streichen, hätte man ein Ausschluss-Rechteck: In allen vier betrachteten Zellen gibt es dann nur die Zahlen 4 und 7 als Kandidaten; dann wären prinzipiell zwei Lösungen möglich (4 - 7 - 4 - 7 und 7 - 4 - 7 - 4). Das ist aber ein Widerspruch zu der Voraussetzung, dass ein Sudoku eindeutig lösbar sein muss. Also muss in einer der erwähnten Zellen die Zahl 3 stehen - d.h. alle von diesen beiden Zellen aus sichtbaren Kandidaten 3 können gestrichen werden.
Typ 3A bis 3F: Ausschluss-Rechteck vom relativ einfachen und auch wenig häufigen Typ: Es gibt zwei Zellen mit zwei gleichen Paaren, und in den anderen neben- oder übereinander liegenden Zellen gibt es zusätzliche Kandidaten, die als Kandidaten einer Zelle aufgefasst werden können. Zusammen mit anderen Kandidaten der entsprechenden Zeile, Spalte oder Box können diese ein Quasi-N-Tupel bilden. 3A steht für ein Ausschluss-Rechteck mit einem Quasi-2-Tupel, usw. bis 3F für eines mit einem Quasi-7-Tupel. Beispiel des sehr einfachen Typs 3A mit einem 2-Tupel, dessen zwei Zahlen direkt ablesbar sind - es muss nur noch eine andere Zelle mit genau diesem Paar gefunden werden:
|
Hier liegen in Spalte 8 der Zeilen 1 und 3 die Zusatzkandidaten 1 und 7. Zusammen mit dem Rest 17 in der gleichen Box bilden sie das Quasi-2-Tupel 17. Da einer der Zusatzkandidaten gesetzt sein muss, können die von diesem N-Tupel aus sichtbaren Kandidaten der anderen Zellen somit gestrichen werden.
Typ 4A: Ausschluss-Rechteck vom häufigsten Typ (etwa 22 %): Es gibt wieder zwei Zellen in einer Zeile oder Spalte mit zwei gleichen Paaren, und in den anderen Zellen gibt es zusätzliche Kandidaten. Hier interessieren die Zusatzkandidaten nicht direkt - sie legen nur zwei der vier zu betrachteten Zellen des Ausschluss-Rechtecks fest. Jetzt wird eine Zeile oder Spalte mit beiden Zellen-Typen untersucht: Ist einer der Hauptkandidaten in einer Zeile oder Spalte mit einer Paar-Zelle und einer Zelle mit zusätzlichen Kandidaten nur in diesen beiden Zellen vorhanden, kann der andere Hauptkandidat aus der anderen Zelle mit zusätzlichen Kandidaten gestrichen werden. Beispiel:
|
Der Hauptkandidat 9 ist in Zeile 1 nur in den beiden Zellen des Ausschluss-Rechtecks vorhanden. Daher muss der andere Hauptkandidat 3 aus der Zelle in Zeile 2 und Spalte 4 gestrichen werden; denn wäre die 3 in dieser Zelle, müsste die 9 in der links davon stehenden Paar-Zelle sein, daher die 3 in der darüber stehenden Paar-Zelle und wegen der obigen Bedingung hätte die Zelle in Zeile 1 und Spalte 4 eine 9, was zu der nicht erlaubten Möglichkeit zweier Sudokus (mit 3 - 9 - 3 - 9 und damit auch 9 - 3 - 9 - 3) führen würde.
Typ 4B: Ausschluss-Rechteck ähnlich 4A, aber nicht so häufigem Typ (dafür können aber immer 2 Kandidaten gestrichen werden): Es gibt zwei Zellen mit zwei gleichen Paaren, und in den anderen neben- oder übereinander liegenden Zellen gibt es zusätzliche Kandidaten. Ist einer der Hauptkandidaten in einer Zeile, Spalte oder Box nur in diesen beiden Zellen vorhanden (also rechtwinklig zum Typ 4A), kann der andere Kandidat aus diesen Zellen mit den Zusatzkandidaten gestrichen werden. Beispiel für Typ 4B:
|
Einer der beiden Hauptkandidaten dieser Zellen mit den Zusatzkandidaten, hier die 7, ist in Zeile 2 aber nur in den beiden Zellen des Ausschluss-Rechtecks vorhanden. Daher muss dieser Kandidat an einer der beiden Stellen auftreten - damit das Sudoku aber eindeutig lösbar sein soll, muss der andere Hauptkandidat, hier die 8, aus diesen Zellen (mit den Zusatzkandidaten) gestrichen werden.
Typ 4C: Ausschluss-Rechteck vom recht häufigen Typ (knapp 10 %): Es gibt zwei diagonal gegenüberliegende Zellen mit nur den Kandidaten des Ausschluss-Rechtecks; in den anderen beiden Zellen gibt es zusätzliche Kandidaten. Ist einer der beiden Kandidaten nur in einer Zelle ohne zusätzliche Kandidaten und einer daneben bzw. darunter liegenden Zelle mit zusätzlichen Kandidaten vorhanden, so kann er aus der nicht betrachteten Zelle mit den zusätzlichen Kandidaten gestrichen werden. Beispiel:
|
Die Zahl 8 kommt in Zeile 1 (mit einer Paar-Zelle und eine Zelle mit zusätzlichen Kandidaten) nur in den Zellen des Ausschluss-Rechtecks vor. Dieser Kandidat muss also aus der anderen Zelle mit zusätzlichen Kandidaten in Zeile 2 und Spalte 5 gestrichen werden. Denn wenn die Zahl 8 dort wäre, müsste in der Zelle darüber die 4 stehen und damit in Zeile 1 und Spalte 2 die 8 und in der Zelle darunter die 4; dies widerspricht der Eindeutigkeit eines Sudokus.
Typ 5A bis 5B bzw. 5E: Ausschluss-Rechteck vom seltenen (außer bei Ausschluss-Schleifen) und dem Typ 2 sehr ähnlichen Typ, der aber unterschieden wird: Liegen sich die beiden Zellen mit den Zusatzkandidaten diagonal gegenüber, gilt die gleiche Folgerung: Aus allen Zellen, die von den beiden Zellen mit dem Zusatzkandidaten gesehen werden können, kann dieser gestrichen werden: das ist der Typ 5A der Ausschluss-Rechtecke, der bei den 138000 gerechneten Sudokus mit Ausdünnung in nur einem einzigen Fall und bei den Quasi-Ausschluss-Rechtecken dort nur 12 Mal gefunden wurde. Nur wenig häufiger ist der Typ 5B, bei dem drei Zellen den gleichen Zusatzkandidaten haben; hier kann der Zusatzkandidat aus allen Zellen gestrichen werden, die von diesen drei Zellen aus gesehen werden. Bei Ausschluss-Schleifen gibt es noch den Typ 5C, wenn vier Zellen den gleichen Zusatzkandidaten haben, ab den 10er-Ausschluss-Schleifen auch die Typen 5D und 5E, wenn fünf bzw. sechs Zellen den gleichen Zusatzkandidaten haben. Beispiel für Typ 5B:
|
Die Zahl 3 kommt nur in drei Zellen des Ausschluss-Rechtecks vor. Damit das Sudoku aber eindeutig lösbar sein soll, muss eine dieser Zellen die Zusatzzahl 3 enthalten. Daher kann man die Zahl 3 aus allen Zellen, hier der einen Zelle in Zeile 3 und Spalte 1, streichen.
Typ 6: Ausschluss-Rechteck vom sehr seltenen Typ (außer bei Quasi-Ausschluss-Rechtecken und Ausschluss-Schleifen), der ähnlich dem Typ 4C ist: Es gibt zwei diagonal gegenüber liegende Zellen mit nur den Kandidaten des Ausschluss-Rechtecks; in den anderen beiden Zellen gibt es zusätzliche Kandidaten. Ist ein Hauptkandidat nur in den 4 Zellen des Ausschluss-Rechtecks vorhanden, kann dieser (im Gegensatz zu Typ 4 also nicht der andere Hauptkandidat) aus den Zellen mit den Zusatzkandidaten gestrichen werden. Typ 6 entspricht dem Typ 4C zwei Mal angewendet. Tritt meistens nur in den Alternativ-Fällen ("ODER" bzw. "neben") auf. Beispiel:
|
Die Zahl 7 kommt nur in den 4 Zellen des Ausschluss-Rechtecks (Sudoku hier nicht ganz dargestellt) vor. Damit das Sudoku aber eindeutig lösbar sein soll, muss die 7 in den Zellen mit den Zusatzkandidaten gestrichen werden. Denn wäre die 7 an diesen Stellen gesetzt, müsste in den Paar-Zellen die Zahl 5 stehen; das wäre aber eine Situation 5 - 7 - 5 - 7 oder 7 - 5 - 7 - 5, was zu einem nicht-eindeutigen Sudoku führen würde.
Typ 7A: Ausschluss-Rechteck vom relativ häufigen Typ: Es gibt eine Zelle mit nur den Kandidaten des Ausschluss-Rechtecks; in den anderen drei Zellen gibt es zusätzliche Kandidaten (dieser Typ hat zwar nur eine Paar-Zelle wie die Typen 8, gehört aber auf Grund aller anderen Eigenschaften zu den Typen 7). Man betrachtet nun die Zeile und die Spalte durch die Zelle, die der Paar-Zelle diagonal gegenüber liegt: Taucht einer der Kandidaten in dieser Zeile und Spalte nur in den zum Ausschluss-Rechteck gehörenden Zellen auf, kann der andere Kandidat in der der Paar-Zelle gegenüber liegenden Zelle gestrichen werden. Beispiel:
|
Man betrachtet die Zeilen 1 und 3 und die Spalten 3 und 4: Die Paar-Zelle hat die Kandidaten 29; die diagonal gegenüber liegende Zelle in Zeile 3 und Spalte 4 hat die Kandidaten 289; die Zahl 2 kommt in Zeile 3 und auch in Spalte 4 (Sudoku hier nicht ganz dargestellt) nur in dem Ausschluss-Rechteck vor. Damit das Sudoku aber eindeutig lösbar sein soll, muss der andere Hauptkandidat, also die 9, dort (in Zeile 3 und Spalte 4) gestrichen werden.
Typ 7B (NEU): Ausschluss-Rechteck vom zweit-häufigsten Typ (etwa 17 %): Es gibt eine Zelle mit nur den Kandidaten des Ausschluss-Rechtecks; in den anderen drei Zellen gibt es zusätzliche Kandidaten (dieser Typ hat zwar nur eine Paar-Zelle wie die Typen 8, gehört aber auf Grund aller anderen Eigenschaften zu den Typen 7). Ist ein Hauptkandidat nur in den 4 Zellen des Ausschluss-Rechtecks vorhanden, kann der andere Kandidat in der der Paar-Zelle diagonal gegenüber liegenden Zelle gestrichen werden. Beispiel:
|
Die Paar-Zelle hat die Kandidaten 58; die diagonal gegenüber liegende Zelle in Zeile 4 und Spalte 1 hat die Kandidaten 158; die Zahl 8 kommt aber in Zeile 1 und auch in Zeile 4 nur in dem Ausschluss-Rechteck vor. Damit das Sudoku aber eindeutig lösbar sein soll, muss der andere Hauptkandidat, hier die 5, dort (also in Zeile 4 und Spalte 1) gestrichen werden.
Der Typ 7B ist dem Typ 7A sehr ähnlich, aber die Bedingungen sind unterschiedlich: Bei Typ 7A werden eine Zeile und eine Spalte untersucht, bei Typ 7B jeweils zwei Zeilen bzw. zwei Spalten.
Typ 7C: Ausschluss-Rechteck vom wenig häufigen Typ: Es gibt zwei diagonal gegenüberliegende Zellen mit nur den Kandidaten des Ausschluss-Rechtecks; in den anderen beiden Zellen gibt es zusätzliche Kandidaten. Man betrachtet nun die Zeile und die Spalte durch eine der beiden Paar-Zellen: Taucht einer der Kandidaten in dieser Zeile und Spalte nur in den zum Ausschluss-Rechteck gehörenden Zellen auf, kann der andere Kandidat in dieser Paar-Zelle gestrichen werden. Beispiel:
|
Die Zahl 5 kommt in Zeile 2 und in Spalte 7 (Sudoku hier nicht ganz dargestellt) nur in den Zellen des Ausschluss-Rechtecks vor. Der andere Hauptkandidat 2 muss aus dieser Zelle in Zeile 2 und Spalte 7 gestrichen werden. Denn wenn die Zahl 2 in dieser Zelle wäre, müsste in den Zellen mit Zusatzzahl die Zahl 5 stehen; dann wäre aber in der anderen Paar-Zelle die Zahl 2 und damit hätte man ein zweideutiges Sudoku mit den beiden Lösungen 2 - 5 - 2 - 5 und 5 - 2 - 5 - 2.
Der Typ 7C entspricht im Prinzip dem Typ 7A, bei dem das gleiche Ergebnis erreicht wird, wobei bei Typ 7C aber gleich eine Paar-Zelle eindeutig besetzt werden kann.
Typ 8A: Ausschluss-Rechteck vom recht häufigen Typ (knapp 10 %): Es gibt nur eine Paar-Zelle, in den anderen drei Zellen gibt es zusätzliche Kandidaten. Es werden jeweils zwei Zeilen bzw. zwei Spalten betrachtet. Ist ein Hauptkandidat in einer Zeile bzw. Spalte nur in den Zellen des Ausschluss-Rechtecks vorhanden, und ist der andere Hauptkandidat in der anderen Zeile bzw. Spalte auch nur in den Zellen des Ausschluss-Rechtecks vorhanden, so kann der Hauptkandidat, der in der Zeile bzw. Spalte mit der Paar-Zelle betroffen war, aus der darunter/darüber bzw. rechts/links daneben liegenden Zelle mit den zusätzlichen Kandidaten gestrichen werden. Beispiel:
|
Die Zahl 5 kommt in Zeile 3 nur in den Zellen des Ausschluss-Rechtecks vor, die Zahl 4 kommt in Zeile 4 nur in den Zellen des Ausschluss-Rechtecks vor. Der Hauptkandidat 5, der in der Zeile mit der Paar-Zelle ist, muss aus der Zelle unterhalb der Paar-Zelle in Zeile 4 und Spalte 4 gestrichen werden. Die Argumentation ist ähnlich denen der vorhergehenden Beispiele.
Die Typen 8A bis 8C haben die Besonderheit, dass dazu beide Hauptkandidaten in bestimmten Zeilen und Spalten untersucht werden, ob sie nur in den Zellen des Ausschluss-Rechtecks auftreten. Daher werden sie hier von den Typen 7A bis 7C unterschieden, bei denen nur ein Hauptkandidat betrachtet wird.
Typ 8B: Ausschluss-Rechteck vom wenig häufigen Typ: Es gibt nur eine Paar-Zelle mit den Kandidaten des Ausschluss-Rechtecks; in den anderen drei Zellen gibt es zusätzliche Kandidaten. Betrachtet man eine Zeile bzw. Spalte, in der die Paar-Zelle vorkommt, und kommt einer der Hauptkandidaten nur in diesen beiden Zellen vor und der andere Hauptkandidat nur in der Spalte bzw. Zeile, die die gerade betrachtete Zelle mit Zusatzkandidaten enthält, so kann der erste Hauptkandidat aus der nicht betrachteten Zelle mit den zusätzlichen Kandidaten gestrichen werden. Beispiel:
|
Die Zahl 1 kommt in Spalte 2 (mit einer Paar-Zelle und einer Zelle mit zusätzlichen Kandidaten) nur in den Zellen des Ausschluss-Rechtecks vor (Sudoku hier nicht ganz dargestellt). Der zweite Hauptkandidat 4 kommt in der Zeile 1 nur in den beiden Zellen des Ausschluss-Rechtecks vor. Der erste Hauptkandidat 1 muss also aus der dritten Zelle mit zusätzlichen Kandidaten in Zeile 2 und Spalte 7 gestrichen werden. Denn hätte diese Zelle den Wert 1, wäre in der Paar-Zelle eine 4 und damit in der darüber liegenden Zelle eine 1 und daher auch in der Zelle in Zeile 1 und Spalte 7 eine 4; das ergäbe aber prinzipiell zwei Lösungen 1 - 4 - 1 - 4 und 4 - 1 - 4 - 1 vor, was nicht sein darf.
Typ 8C: Ausschluss-Rechteck vom seltenen Typ: Es gibt nur eine Paar-Zelle mit den Kandidaten des Ausschluss-Rechtecks; in den anderen drei Zellen gibt es zusätzliche Kandidaten. Man betrachtet die Zeilen und Spalten, in denen die Paar-Zelle nicht vorkommt: Kommt in einer Zeile bzw. Spalte einer der Hauptkandidaten nur in den beiden Zellen des Ausschluss-Rechtecks vor und der andere Hauptkandidat analog nur in der entsprechenden Spalte bzw. Zeile, so können die Zusatzkandidaten (!) der der Paar-Zelle gegenüberliegenden Zelle gestrichen werden. Beispiel:
|
Der eine Hauptkandidat 6 kommt in Zeile 1 (Zeile ohne Paar-Zelle) nur in den Zellen des Ausschluss-Rechtecks vor. Der zweite Hauptkandidat 2 kommt in der Spalte 6 (Spalte ohne Paar-Zelle) nur in den beiden Zellen des Ausschluss-Rechtecks vor (Sudoku hier nicht ganz dargestellt). Der Zusatzkandidat 4 in der Zelle in Zeile 1 und Spalte 6 muss gestrichen werden; denn wäre er dort, so müsste in der Zelle darunter (Zeile 2 und Spalte 6) die 2 stehen, in der Zelle in Zeile 1 und Spalte 7 die 6. Das geht aber nicht, weil dann in der Paar-Zelle kein Kandidat möglich ist. Interessanterweise geht der Beweis nicht über die Vermeidung von zwei Lösungen, sondern über einen Widerspruch bei der möglichen Setzung; insofern muss man den Typ 8C eigentlich als Pseudo-Ausschluss-Rechteck auffassen. Das Ergebnis dieser Streichungen führt aber direkt zu einem Ausschluss-Rechteck vom Typ 4C!
Bei 136000 gerechneten Sudokus traten bei der voll-synchronen Rechnung direkte Ausschluss-Rechtecke insgesamt fast 280000 Mal auf, Quasi-Ausschluss-Rechtecke etwa 18500 Mal; die 6er-Ausschluss-Ketten inklusive der 6er-Quasi-Ausschluss-Ketten wurden etwa 7600 Mal gefunden, die 8er-Ausschluss-Ketten 680 Mal, 10er-Ausschluss-Ketten etwa 30 Mal.
Beispiele für einige der etwa 150000 Sudokus mit Ausschluss-Rechtecken:
Das Konzept der Quasi-Ausschluss-Rechtecke wird hier eingeführt: Dies sind unvollständige Ausschluss-Rechtecke, z.B. wenn schon einige Zellen eindeutig besetzt wurden (dann Vermeidbare Ausschluss-Rechtecke genannt) oder (viel allgemeiner) einige Kandidaten in einer Zelle oder mehreren Zellen schon fehlen (dann Ausschluss-Rechtecke mit fehlenden Kandidaten genannt); diese wurden dann im Allgemeinen in einem vorhergehenden (oft einfacheren) Ausdünnschritt eliminiert und können aber wieder (vorübergehend) eingesetzt werden, um ein Ausschluss-Verfahren zu ermöglichen (bei einer anderen Reihenfolge der Ausdünnschritte hätte man möglicherweise ein echtes Ausschluss-Rechteck gefunden). Man untersucht dazu die beiden Diagonalen in einem möglichen (Quasi-)Ausschluss-Rechteck: Ist in einer Diagonale eine Zahl bzw. ein Kandidat in beiden Zellen vorhanden, kann man diese Zahl wieder (vorübergehend) in die anderen beiden Kandidatenlisten eintragen. Relativ leicht erkennbar sind Quasi-Ausschluss-Rechtecke, wenn nur eine Zahl zusätzlich eingetragen werden muss. Sind zwei zusätzliche Zahlen einzutragen, sind diese oft das gemeinsame Paar des Ausschluss-Rechtecks.
In etwa 1 % aller gerechneten Ausdünn-Sudokus wurden Quasi-Ausschluss-Rechtecke gefunden, meistens die Typen 1, 4B und 4C.
Bewertung: 3, 5, 7, 9 Punkte mehr, also 1 + 2 * N (N = 1 bis 4 zusätzlich eingesetzte Zahlen) Punkte mehr als bei dem entsprechenden Typ des Ausschluss-Rechtecks.
Beispiel eines Quasi-Ausschluss-Rechtecks:
Man betrachte die Zeilen 2 und 3 und die Spalten 3 und 7 mit den Kandidatenlisten 17, 15, 13 und der schon gefundenen Zahl 5:
|
Man sieht, dass die 1 in der Diagonale von links-oben nach rechts-unten in beiden Kandidatenlisten (17, 13) vorkommt und somit in den Zellen der anderen Diagonale hinzugefügt werden kann - hier an der Stelle der schon gefundenen, also nicht originalen (!) Zahl 5 in Zeile 3 und Spalte 3 (was die Pseudo-Kandidatenliste 15 ergibt) - und dass die 5 in der Diagonale von rechts-oben nach links-unten in beiden Kandidatenlisten (15) bzw. Pseudo-Kandidatenlisten (5) vorkommt und somit den Zellen der ersten Diagonale hinzugefügt werden kann (was die Pseudo-Kandidatenlisten 157 und 135 ergibt). Daraus wird dann ein Ausschluss-Rechteck mit 15 als gemeinsamem Kandidatenpaar, wobei die vorübergehend hinzugefügten Kandidaten in runde Klammern gesetzt werden:
|
Da nun der Kandidat 1 nur in den Zellen des Ausschluss-Rechtecks in Zeile 2 und Spalte 7 (Sudoku hier nicht ganz dargestellt) liegt, kann - nach Typ 7C - der Kandidat 5 in der Zelle in Zeile 2 und Spalte 7 im Ausschluss-Rechteck gestrichen werden. Danach werden die vorübergehend eingesetzten Zusatzkandidaten wieder entfernt.
Für die Quasi-Ausschluss-Rechtecke gibt es die gleichen 8 Basis-Typen wie bei den normalen Ausschluss-Rechtecken. Ähnliche Anteil-Verhältnisse wie bei den Ausschluss-Rechtecken gelten auch bei den Quasi-Ausschluss-Rechtecke.
Beispiele für einige der etwa 53000 Sudokus mit Quasi-Ausschluss-Rechtecken:
Die Erweiterung der Ausschluss-Rechtecke sind Ausschluss-Ketten (Ausschluss-Schleifen): Ausschluss-Ketten sind 2*N Zellen, die in N verschiedenen Zeilen, N verschiedenen Spalten und N (!) verschiedenen Boxen liegen und in allen diesen Zellen neben anderen Kandidaten zwei gleiche Kandidaten haben (siehe z.B. http://home.arcor.de/r.sudogu/r_tec/UniqueLoop.html). Hier wurden alle Versionen mit 6, 8 und 10 Zellen programmiert; 12er-, 14er-, 16er- und 18er-Ausschluss-Ketten werden nicht mehr berechnet, sind aber möglich.
In etwa 0.25 % aller gerechneten Ausdünn-Sudokus wurden 6er-Ausschluss-Ketten gefunden, meistens die Typen 1, 4 und 5.
Bewertung: Bei den 6er-Ausschluss-Ketten gibt es jeweils 3 Punkte mehr als bei entsprechenden Typen der Ausschluss-Rechtecke; bei 8er-Ausschluss-Ketten gibt es jeweils 6 Punkte mehr, bei 10er-Ausschluss-Ketten gibt es jeweils 9 Punkte mehr, usw.
Ausschluss-Ketten sind also empfindlich gegenüber der Reihenfolge der Ausdünnschritte. Aber prinzipiell kann es wohl auch vorkommen, dass eine Goldene oder Einzelzahl-Kette durch vorhergehende Ausdünnschritte zerstört wird.
Analog den Quasi-Ausschluss-Rechtecken gibt es auch Quasi-Ausschluss-Ketten. Hier wurden nur die 6er-Quasi-Ausschluss-Ketten programmiert.
Bewertung: 3, 5, 7, 9, 11, 13 Punkte mehr, also 1 + 2 * N (N = 1 bis 6 zusätzlich eingesetzte Zahlen) Punkte mehr als bei dem entsprechenden Typ der 6er-Ausschluss-Kette. Das bedeutet theoretisch eine maximale Punktzahl von 36 (mehr als 31 Punkte wurden aber noch nicht beobachtet)
In etwa 1300 Sudokus wurden 6er-Quasi-Ausschluss-Ketten gefunden.
In etwa 400 Sudokus wurden 8er-Ausschluss-Ketten gefunden.
Da 8er-Ausschluss-Ketten schon recht selten sind, treten 10er-Ketten in der Praxis noch seltener und nur mit wenigen Typen auf. 14er- und längere Ketten werden nicht mehr berechnet.
In 12er-Ausschluss-Ketten wurde bisher nur Typ 5 gefunden.
Alternativ-Ketten: Man geht von einer Zelle mit 2 Kandidaten (Paar) aus und sucht entweder von jedem Kandidaten aus jeweils eine Kette: Führen beide (unterschiedlichen) Ketten zu genau einer Setzung in einer anderen Zelle, muss diese Setzung richtig sein (Setzende Alternativ-Ketten). Oder man findet von einem Kandidaten aus auf 2 verschiedenen Ketten zu 2 verschiedenen Setzungen in einer anderen Zelle; dann muss der ausgehende Kandidat (Kettenanfang) falsch sein (Reduzierende Alternativ-Ketten). Prinzipiell kann das Verfahren auch auf Ausgangszellen mit mehr als 2 Kandidaten angewendet werden.
Alle Schlussfolgerungen müssen dabei vor Beginn der Kettensuche aus dem aktuellen Sudoku hervorgehen, d.h. eine Schlussfolgerung, die erst während des Durchlaufs der Kette entsteht, ist nicht erlaubt, da dies eher eine Trial&Error-Methode wäre.
Es gibt drei Arten von Widerspruchs- und Folgerungs-Ketten und zwei Arten von Alternativ-Ketten:
Allgemeine Vorgehensweise: Man betrachtet einen (von mehreren) Kandidaten einer Zelle und unterstellt, dass dieser zur Lösung gehört. Zum einen gilt dann, wenn einer der anderen Kandidaten dieser Zelle in einer von der betrachteten Zelle aus gesehenen Zeile, Spalte oder Box nur noch ein Mal vorhanden ist, muss dieser andere Kandidat dann dort sein (starke Verbindung - strong link). Zum anderen gilt, dass, wenn der betrachtete Kandidat in einer Paar-Zelle in einer von der betrachteten Zelle aus gesehenen Zeile, Spalte oder Box vorkommt, muss daher dort der andere Kandidat des Paares stehen, auch wenn er noch an anderen Stellen der Zeile, Spalte oder Box vorkommt. Man kann auch annehmen, ein Kandidat sei in einer Zelle nicht gesetzt: Wenn dieser dann in einer anderen sichtbaren Zelle nur noch ein Mal vorkommt, muss er dort gesetzt sein (ebenfalls eine starke Verbindung). Es kann aber auch eine weitere Beziehung benutzt werden: Wenn ein Kandidat in einer Zelle angenommen wird, kann er in den anderen Zellen der gleichen Zeile, Spalte und Box nicht sein; dann kann man aber eventuell schließen, dass von einer dieser Zellen aus gesehen dieser Kandidat nur noch ein Mal vorkommt, also dort (in einer dritten Zelle) gesetzt werden kann.
Das Nicht-Vorkommen des Kandidaten k wird hier durch
Prinzipiell gehört auch die Ausdünnmethode "Bowman's Bingo" in diese Gruppe, aber es sind keine Ketten, sondern ein Netz von Folgerungen ("Forcing Nets"). Man unterstellt einem Kandidaten einer (beliebigen) Zelle, dass er gesetzt ist und versucht durch einfachste Methoden (im Prinzip die Methoden E und F) die Folgerungen daraus zu bestimmen. Stößt man dabei auf einen Widerspruch, kann dieser Kandidat gestrichen werden. Diese Methode ist zwar nahe einem Trial&Error-Verfahren, aber noch sinnvoll benutzbar. Es sind allerdings im Mittel etwa 17-18 Schritte nachzuvollziehen, ehe man auf einen Widerspruch stößt; über 85 % liegen zwischen 11 und 25 Schritten, manchmal reichen aber auch 3 bis 10 Schritte aus; eine Begrenzung wird hier auf 28 Schritte gelegt (der Lesbarkeit wegen). Andrew Stuart beschreibt das Verfahren als letzten Ausweg vor Trial&Error ("SudokuWiki"). Es ist sinnvoll, bei einer Zelle mit vielen Kandidaten zu starten (Zellen mit 3, 4 und 5 Kandidaten als erstem Schritt und Zellen mit 2, 3 und 4 Kandidaten als zweitem Schritt waren in mehr als 75 % der 18000 Testfälle erfolgreich).
Bewertung: 13+N Punkte (mit Länge N) bei Widerspruchs- und Folgerungs-Ketten ohne "!" innen, 15+N Punkte bei Widerspruchs- und Folgerungs-Ketten mit "!" innen, 17+N Punkte (mit Maximallänge N) bei Alternativ-Ketten, maximal also 33 Punkte. Bei "Bowman's Bingo" werden 16 + 2 * Schrittzahl Punkte gewertet.
Literatur:
http://hodoku.sourceforge.net/de/tech_chains.php#nl
http://www.paulspages.co.uk/sudokuxp/howtosolve/niceloops.htm
Beispiel einer Einfachen Widerspruchs-Kette:
Nimmt man an, dass in Zeile 1 und Spalte 6 der Kandidat 3 richtig wäre, kann in der 6. Spalte der Kandidat 5 nur noch in Zeile 2 auftreten (Box!). Das bedeutet aber für den Kandidaten 8 in Zeile 2, dass dieser nur in Spalte 7 sein kann. Damit kann aber in Zeile 1 und Spalte 7 (wegen des Paares 38) nur eine 3 sein. Das ist aber ein Widerspruch, weil in einer Zeile nur eine 3 stehen kann. Der Kandidat 3 kann also in Zeile 1 und Spalte 6 nicht möglich sein. Also:
|
Schreibweise: (1:6)3 - (2:6)5 - (2:7)8 - (1:7)3 [- (1:6)!3]
Das folgende Beispiel zeigt eine Einfache Widerspruchs-Kette, die direkt in der Ausgangszelle endet:
|
Schreibweise: (1:2)5 - (2:2)1 - (2:5)5 - (3:5)2 - (3:3)9 - (1:2)2 [- (1:2)!5]
Beispiel einer Setzenden Widerspruchs-Kette:
|
Schreibweise: (1:9)!7 - (1:4)7 - (2:6)8 - (2:1)4 - (2:9)3 - (1:9)7
Beispiel einer Geschlossenen Folgerungs-Kette:
|
Hier können nun 5 Kandidaten gestrichen werden: Ist auf dem Weg eine Zelle in beiden Richtungen mit einer starken Verbindung (strong link, Zeichen "=") mit unterschiedlichen Kandidaten verbunden, kann man die restlichen Kandidaten in dieser Zelle streichen: Hier wird die Zelle in Zeile 4 und Spalte 5 mit dem Kandidaten 9 stark erreicht und geht stark weiter mit Kandidat 3 (Teilweg: (1:5)... = (4:5)9 = (4:1)3), also kann die 5 gestrichen werden. Ähnlich wird die Zelle in Zeile 4 und Spalte 1 mit dem Kandidaten 3 stark erreicht und geht stark weiter mit Kandidat 1 (Teilweg: (4:5)... = (4:1)3 = (1:1)1), also können die Kandidaten 6 und 9 gestrichen werden. Wird eine Zelle mit einer schwachen Verbindung (weak link, Zeichen "-") verlassen, kann dieser Kandidat aus den anderen (nicht betrachteten) Zellen der entsprechenden Zeile bzw. Spalte bzw. Box (in Richtung des Links) gestrichen werden (Teilwege: (1:1)1 - (1:9)... mit Streichung der 1 in Zeile 1, und (1:9)9 - (1:5)... mit Streichung der 9 ebenfalls in Zeile 1). Die Begründung für dieses Vorgehen folgt aus der Betrachtung der Umkehrung der Folgerungs-Kette; siehe auch die angegebene Literatur.
Schreibweise: (1:1)1 - (1:9)9 - (1:5)!9 = (4:5)9 = (4:1)3 = (1:1)1 oder z.B.: (4:1)3 = (1:1)1 - (1:9)9 - (1:5)!9 = (4:5)9 = (4:1)3
Umkehrung: (1:1)!1 = (4:1)1 = (4:5)3 = (1:5)9 - (1:9)1 - (1:1)!1 oder z.B.: (4:1)1 = (4:5)3 = (1:5)9 - (1:9)1 - (1:1)!1 = (4:1)1
Umkehrung der Geschlossenen Folgerungs-Kette:
|
Setzende Alternativ-Ketten
|
Schreibweise: (2:3)6 - (3:2)!6 - (3:8)6 (mit den negativen Indizes markiert) und (2:3)7 - (5:3)!7 - (5:8)7 - (3:8)6 (mit den positiven Indizes markiert)
Reduzierende Alternativ-Ketten
|
Schreibweise: (4:8)9 - (4:7)1 - (1:7)9 - (1:1)8 (mit den negativen Indizes markiert) und (4:8)9 - (4:3)7 - (4:1)8 - (1:1)9 (mit den positiven Indizes markiert)
Das folgende Beispiel zeigt keine Widerspruchs-Kette im oben definierten Sinn, obwohl es Programme gibt, die damit arbeiten (dann z.B. Generalized Forcing Chain genannt) - es ist eher ein Bowman's Bingo:
|
Beispiel für einen einfach zu findenden Widerspruch mit Bowman's Bingo:
|
Dieses Beispiel zeigt ebenfalls keine Widerspruchs-Kette im oben definierten Sinn - aber mittels Bowman's Bingo auch einen einfach zu findenden Widerspruch:
|
Bewertung: Für die Bewertung spielt die höchste benutzte Stufe eine Rolle, d.h. 48 * N Punkte (N = maximale Stufe). Die etwa 30000 hier gerechneten Sudokus, die Trial&Error als letzten Schritt hatten, mussten im Mittel etwa 8-9 Stufen untersuchen (etwa 90 % lagen zwischen 3 und 13), wobei die Lösung selbst im Mittel auf etwa Stufe 6 lag.
Beispiele mit Trial&Error findet man unter Sehr schwierige Sudokus mit Trial&Error
Die Punktzahlen sind so einigermaßen den Schwierigkeitsgraden angepasst. Sie hängen aber auch, jedenfalls beim nicht-synchronen Ausdünnen, von der Reihenfolge im Programm ab - so ergibt eine andere Reihenfolge im Suchen von Mustern in den Resten etwas andere Werte. Im nicht-synchronen Fall wird nur der gefundene Ausdünnschritt mit der kleinsten Punktzahl gewertet. Im synchronen Fall werden aber alle Ausdünnschritte mitgezählt, egal, ob sie am Ende etwas bringen oder nicht. Aber das weiß man ja auch beim Lösen mit Hand vorher nicht...
Es werden folgende Schwierigkeitsgrade angegeben - bezogen auf Punktzahlen der nicht- bzw. pseudo-synchronen Methoden (bei synchronen Methoden wird um eine Stufe reduziert):
Hier einige der wohl einfachsten und schwierigsten Sudokus, die mit diesem Programm gelöst werden können - alle im pseudo-synchronen Verfahren (mit Option 2001) gerechnet:
Ohne Ausdünnen und ohne offensichtlichen Zeilen-/Spalten-Tests und 2-Tupel:
Ohne Ausdünnen mit offensichtlichen Zeilen-/Spalten-Tests und 2-Tupel:
Mit Ausdünnen (aber ohne Widerspruchs-Ketten, Bowman's Bingo, Trial&Error):
Mit Ausdünnen und mit Widerspruchs-Ketten (ohne Bowman's Bingo, Trial&Error):
Schwierige Sudokus mit Bowman's Bingo (ohne Trial&Error):
Sudokus mit möblichst allen Ausdünn-Methoden:
Sehr schwierige Sudokus mit Trial&Error (ohne Bowman's Bingo):
Sehr schwierige Sudokus mit Bowman's Bingo und Trial&Error: