Arthur Whitneys One-Liner-Sudoku-Löser (2011)
(dfns.dyalog.com)Algorithmus zum Lösen von Sudoku-Problemen
-
Beschreibung des Sudoku-Problems
- Ein Sudoku-Puzzle besteht aus 3×3-Blöcken in einem 3×3-Raster, und jede Zelle ist entweder leer oder enthält eine Zahl von 1 bis 9.
- Jeder 3×3-Block sowie die 9 Zeilen und 9 Spalten müssen die Zahlen 1 bis 9 ohne Duplikate enthalten.
- Es werden ein Beispielproblem und ein Lösungsweg bereitgestellt.
-
Überblick über den Algorithmus
- Die Matrix wird als Vektor verarbeitet, wobei Zeilen, Spalten und Sudoku-Bereiche als Indexvektoren dargestellt werden.
- Eine Grundprüfung des Puzzles wird durchgeführt, und durch Filtern möglicher Elemente wird eine Lösung gefunden.
- Wenn eine Zelle leer ist, wird zur nächsten Liste übergegangen; wenn eine Zelle mehrere Zahlen enthält, wird aus der engsten Gruppe ausgewählt und zur Liste hinzugefügt.
- Wenn alle Zellen genau eine Zahl enthalten, wurde eine Lösung gefunden.
-
Technische Notizen
- Eine von Veli-Matti Jantunen bereitgestellte Lösung, bei der ⍺ verwendet werden kann, um das Sudoku-Rechteck darzustellen.
- Das Ergebnis ist ein Vektor aller Lösungen, andernfalls ⍬, und bei einem Fehler wird '' zurückgegeben.
- Der Algorithmus ist einfach: Er verarbeitet die Matrix als Vektor und findet durch Filtern möglicher Elemente die Lösung.
-
Andere Ansätze
- Es werden alternative Implementierungen von David Crossley und Arthur Whitney vorgestellt.
- Verschiedene Codierungsstile und Ansätze werden erläutert.
-
Beispiele und Einsatzmöglichkeiten
- Es werden verschiedene Beispiele zum Lösen von Sudoku-Problemen gezeigt.
- Außerdem wird eine Funktion bereitgestellt, die innere Blöcke trennt, damit Sudoku-Probleme leichter lesbar sind.
Zusammenfassung von GN⁺
- Es werden verschiedene Algorithmen und Codierungsstile zum Lösen von Sudoku-Problemen vorgestellt.
- Sudoku-Puzzles sind nützlich, um logisches Denken und Problemlösungsfähigkeiten zu verbessern.
- Verschiedene Ansätze können die Flexibilität beim Problemlösen erhöhen.
- Als Puzzles mit ähnlichen Eigenschaften werden Kakuro, KenKen usw. empfohlen.
1 Kommentare
Hacker-News-Kommentare