Vor einigen Wochen sah ich dann einen APL basierten Sudoku-Löser in Aktion - unter APL+Win und mit einem kompletten GUI sowie einer Erklärungskomponente. Das Vorbild für diese Anwendung ist Peter Wake's
"Sudoku Solver by Logic". Soweit ich das sehen konnte beinhaltet die APL+Win Implementierung von Peter Majewski alle hier vorgestellten Lösungsalgorithmen einschließlich der Bewertungsfunktion für die Härte eines Sudokus.
Solch ein komplettes GUI für einen Sudoku-Löser zu erstellen ist schon sehr viel Aufwand - selbst mit APL+Win. Noch ein Grund nicht die Zeit zu verschwenden mit der Wiedererfindung des Rads.
Aber wie stellt man mit APL ein Sudoku bzw. eine Sudoku-Lösungsmatrix dar? Peter M. macht dies als 3x3-Matrix mit Elementen aus 3x3-Matrizen. Die Letzteren wiederum enthalten im Falle der Lösungsmatrix einen Vektor mit allen möglichen Lösungen - letztendlich also eine Matrix mit Tiefe 3.
Dagegen ist natürlich nichts zu sagen.
Damit ist es einfach auf "Blöcke" direkt zuzugreifen. So ist die Struktur eben "designt". Es ist aber nicht ganz so "straight forward" einzelne Zeilen oder Spalten einer Sudoku-Matrix zu bearbeiten. Da stellt die Tiefe der Struktur schon ein Hindernis dar.
Wie könnte also eine Alternative aussehen?