Warum genestete Strukturen nutzen, die es erst mit APL Systemen der 2.Generation gibt, wenn auch "einfach" mit flachen Strukturen geht:
Ein Sudoku besteht doch aus 9 3x3-Blöcken, die als 3x3-Matrix angeordnet sind. Die Regeln des Rätsels bedeuten zusätzlich, dass die Bedeutung von Zeilen, Spalten und Blöcke jeweils austauschbar sind. Diese Symmetrie-Eigenschaft eines Sudokus ist hervorragend durch eine 3x3x3x3 Struktur darstellbar:
[1] s_apl←3 3 3 3⍴Sudoku
Eine aus oben genannten Symmetriegründen gleichwertige Variante ist:
[2] s_apl←1 3 2 4⍉3 3 3 3⍴Sudoku
In der ersten Darstellung [1] erhalte ich die 6.Zeile des 9x9 Sudokus als 3x3 Matrix mit s_apl[2;3;;], in Darstellung [2] dagegen mit s_apl[2;;3;]. So oder so bleibt die Struktur einer Sudoku-Zeile als Tripel aus jeweils 3 Werten erhalten. Das gleiche gilt für Spalten und trivialerweise für Blöcke.
Zeilen, Spalten und Blöcke eines Sudokus haben also die gleiche Darstellung, anders als in einem 9x9 Sudoku.
Bisher kam ich in diesem Blog ohne APL-Zeichen aus. Doch jetzt geht es nicht mehr ohne. Es ist schwer, Lösungen mit APL ohne APL-Zeichen darzustellen. Sehr schlaue Menschen entschieden mal, die APL-Symbole in den Unicode-Zeichensatz aufzunehmen. Eine
Aufgenommen: Mar 05, 14:03
Eine Sudoku-Lösungsmatrix enthält in jeder Zelle des Sudokus alle noch möglichen Lösungen. Wie auch immer das Sudoku dargestellt wird, kann jedes Element der zugehörigen Lösungsmatrix z.B. einen numerischen Vektor mit Werten aus (⍳9) enthalte
Aufgenommen: Mar 05, 18:05