Sudoku Löser

Extreme

Komplexe Logik (Versuch und Widerspruch)

Letztes Mittel, das Kandidaten testet und diejenigen eliminiert, die zu Widersprüchen führen.

Komplexe Logik (auch bekannt als Trial and Contradiction, Bifurcation, oder Nishio) ist die ultimative Rückfallstrategie, wenn alle anderen Techniken scheitern. Sie testet einen Kandidaten, indem sie vorübergehend annimmt, er sei korrekt, und dann prüft, ob diese Annahme zu einem unmöglichen Zustand führt.

Wenn ein Widerspruch auftritt, war die Annahme falsch, und wir können diesen Kandidaten sicher eliminieren.

Interactive Example

1 2 3 4 5 6 7 8 9
3
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
5
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1
1 2 3 4 5 6 7 8 9
3
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
9
1 2 3 4 5 6 7 8 9
1
1 2 3 4 5 6 7 8 9
4
1 2 3 4 5 6 7 8 9
6
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
5
1 2 3 4 5 6 7 8 9
3
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
6
1 2 3 4 5 6 7 8 9
7
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
9
1 2 3 4 5 6 7 8 9
1
1 2 3 4 5 6 7 8 9
3
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
6
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
5
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
8
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
3
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
7
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
5
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9

Click "Apply Logic" to see the strategy in action.

Erklärung am echten Beispiel

Im Beispielpuzzle oben trifft der Löser auf eine Situation, wo Standardstrategien nicht funktionieren:

Der Test: 1. Zelle R1C1 hat Kandidaten {7, 9} 2. Der Löser fragt: "Was wenn R1C1 = 7?"

Der Prozess: 1. Setze R1C1 vorübergehend auf 7 2. Versuche das Puzzle von diesem Zustand aus zu lösen 3. Ergebnis: Das Puzzle wird unlösbar (Widerspruch)

Die Schlussfolgerung: - Da R1C1 = 7 zu einem unmöglichen Zustand führt - Kann R1C1 nicht 7 sein - Eliminiere 7 aus R1C1

Ergebnis: R1C1 muss 9 sein.

Wie es funktioniert

Die Kernlogik

Diese Strategie nutzt Beweis durch Widerspruch:

1. ANNAHME: Kandidat X ist in Zelle A 2. TEST: Versuche das Puzzle mit dieser Annahme zu lösen 3. ERGEBNIS: Entweder... - ✅ Lösbar → X könnte korrekt sein (keine Eliminierung) - ❌ Unlösbar → X ist definitiv falsch → ELIMINIERE X

Der Algorithmus

Für jede ungelöste Zelle: Für jeden Kandidaten in dieser Zelle: 1. Mache eine Kopie des Gitters 2. Setze den Kandidaten als Wert der Zelle 3. Lasse einen schnellen Löser laufen, um Lösbarkeit zu prüfen 4. Wenn "unlösbar" → eliminiere diesen Kandidaten 5. Stop nach erster erfolgreicher Eliminierung

Prioritäten-Reihenfolge

Der Löser testet Kandidaten effizient:

Priorität Zell-Typ Warum diese Reihenfolge
1. Zweiwertige Zellen (2 Kandidaten) Wahrscheinlichste, um schnelle Widersprüche zu erzwingen
2. Alle anderen Zellen Rückfall für komplexere Situationen

Zweiwertige Zellen zuerst zu testen ist effizient, weil: - Sie weniger Kandidaten zum Testen haben - Einen Kandidaten zu eliminieren löst die Zelle sofort - Widersprüche propagieren schneller

Widersprüche verstehen

Ein Widerspruch tritt auf, wenn das Puzzle unmöglich wird:

Widerspruchs-Typ Beispiel
Leere Zelle Eine Zelle hat keine gültigen Kandidaten mehr
Duplikat in Region Gleiche Zahl taucht zweimal in Zeile/Spalte/Box auf
Kein Platz für Wert Ein Wert hat keine gültige Zelle in einer Region

Wenn irgendeiner davon auftritt, muss die Annahme, die ihn verursacht hat, falsch sein.

Beispiel Widerspruchs-Kette

Lass uns verfolgen, was passieren könnte, wenn wir R1C1 = 7 annehmen:

Schritt 1: Setze R1C1 = 7 Schritt 2: R1C7 kann nicht 7 sein (gleiche Zeile) → R1C7 = 9 (einzige Option) Schritt 3: R4C7 kann nicht 9 sein → R4C7 = ... (propagiert) Schritt 4: Irgendwann... Schritt N: Irgendeine Zelle verliert alle Kandidaten → WIDERSPRUCH!

Der Löser verfolgt nicht jeden Schritt—er prüft einfach, ob das Puzzle gelöst werden kann. Wenn nicht, war die ursprüngliche Annahme falsch.

Wann Komplexe Logik benutzt wird

Diese Strategie ist ein letztes Mittel, angewendet nur wenn alles andere scheitert:

Vor Komplexer Logik Beispiele
Alle Basis-Strategien Naked Single, Hidden Single
Intersections-Strategien Pointing, Box/Line
Subset-Strategien Naked Pair, Hidden Triple
Fish-Strategien X-Wing, Swordfish
Wing-Strategien Y-Wing, XYZ-Wing
Chain-Strategien XY-Chain, X-Cycle
Einzigartigkeits-Strategien Unique Rectangle, BUG

Erst nachdem ALLE diese Strategien keine Eliminierungen produzieren, aktiviert sich Komplexe Logik.

Ist es "Schummeln"?

Es gibt eine Debatte in der Sudoku-Community über Versuch-und-Irrtum:

Perspektive Argument
Puristen "Echte" Strategien sollten muster-basiert sein, nicht raten
Pragmatiker Wenn es korrekte Eliminierungen logisch produziert, ist es gültig
Unsere Sicht Es ist immer noch Logik—nur rechnerisch verifiziert statt muster-abgeglichen

Komplexe Logik ist kein zufälliges Raten. Sie testet systematisch Hypothesen und eliminiert nur Kandidaten, die bewiesenermaßen unmöglich sind.

Vergleich: Komplexe Logik vs Chains

Aspekt Chain-Strategien Komplexe Logik
Methode Folge logischen Links manuell Automatisiertes erschöpfendes Testen
Geschwindigkeit Schnell (Muster-Abgleich) Langsam (volle Lösungs-Versuche)
Beweis Schritt-für-Schritt Deduktion Verifiziert durch Löser
Menschenfreundlich Ja (kann gefolgt werden) Nein (zu viele Schritte)

Chain-Strategien wie XY-Chain oder X-Cycle tun im Wesentlichen das Gleiche wie Komplexe Logik, aber sie finden den Widerspruch durch erkennbare Muster statt Brute-Force-Testen.

Wie der Löser Kandidaten testet

Unser Löser nimmt einen hoch optimierten Ansatz:

  1. Mache eine Kopie des aktuellen Gitters
  2. Setze den Kandidaten als Wert der Zelle in der Kopie
  3. Lasse einen schnellen Löser laufen um zu prüfen, ob das Puzzle gelöst werden kann
  4. Wenn unlösbar → der Kandidat ist unmöglich → eliminiere ihn

Schlüssel-Features: - Schneller Backtracking-Löser: Nutzt optimierte Algorithmen um Widersprüche schnell zu erkennen - Timeout-Schutz: Verhindert Steckenbleiben in extrem komplexen Positionen - Eine Eliminierung auf einmal: Kehrt nach erster erfolgreicher Eliminierung zurück für Effizienz

Tipps für Anfänger

Manueller Ansatz

Wenn du Komplexe Logik von Hand nutzen willst:

  1. Wähle eine zweiwertige Zelle — Wähle eine Zelle mit nur 2 Kandidaten
  2. Nimm einen Wert an — Schreibe ihn leicht mit Bleistift rein
  3. Propagiere vorsichtig — Wende Naked Singles und andere einfache Strategien an
  4. Achte auf Widersprüche — Leere Zellen, Duplikate, etc.
  5. Wenn Widerspruch gefunden — Radiere und eliminiere diesen Kandidaten
  6. Wenn blockiert (kein Widerspruch) — Radiere und versuche den anderen Kandidaten

Wann man es nutzt

  • Wenn du jede andere Strategie probiert hast, die du kennst
  • Wenn das Puzzle als "Extreme" oder "Expert+" bewertet ist
  • Wenn du einfach das Puzzle beenden willst!

Schwierigkeits-Betrachtungen

Puzzle-Level Komplexe Logik nötig?
Easy Nie
Medium Nie
Hard Selten
Expert Manchmal
Extreme Oft

Puzzle-Designer vermeiden typischerweise Puzzles, die Komplexe Logik erfordern, aber manche extrem schweren Puzzles haben keinen anderen Lösungsweg.

Warum es "Komplexe Logik" heißt

Der Name spiegelt wider, dass: - Die zugrundeliegende Logik solide ist (Beweis durch Widerspruch) - Die Kette von Deduktionen komplex ist (zu lang um manuell zu folgen) - Sie Situationen behandelt, die zu kompliziert für muster-basierte Strategien sind

Es ist nicht "Raten"—es ist verifizierte logische Deduktion, die zufällig Computer-Assistenz benötigt.

Häufige Missverständnisse

"Es ist nur Raten"

Nein. Jede Eliminierung ist bewiesenermaßen unmöglich. Wir "raten" nicht die Antwort—wir beweisen, was NICHT die Antwort ist.

"Jedes Puzzle kann so gelöst werden"

Ja, aber... Komplexe Logik kann jedes gültige Sudoku lösen, aber es ist ineffizient. Benannte Strategien sind schneller und eleganter.

"Ich sollte es zuerst nutzen um Zeit zu sparen"

Schlechte Idee. Benannte Strategien sind meistens schneller und helfen dir zu lernen. Komplexe Logik ist ein letztes Mittel, keine Abkürzung.

Verwandte Strategien

Strategien die ähnliche Dinge tun (Muster-Basiert)

  • XY-Chain — Findet Widerspruchs-Pfade durch zweiwertige Zellen
  • XY-Cycle — Schleife die Widerspruch erzeugt
  • X-Cycle — Einzelkandidat-Widerspruchs-Schleife
  • Forcing Chains — Allgemeine ketten-basierte Deduktionen

Strategien die man zuerst probieren sollte

  • Simple Coloring — Zwei-Farben Kandidaten-Verfolgung
  • 3D Medusa — Erweitertes Färben
  • W-Wing — Zweiwertiges Zellen-Paar-Muster
  • Empty Rectangle — Box-Linien-Interaktions-Muster (Demnächst)

Einzigartigkeits-Strategien