Lösen eines 25-teiligen Holzpuzzles mit Haskell: Teil I
Der Autor erhielt ein herausforderndes 3D-Puzzle aus 25 identischen Holzteilen und beschloss, nach mehreren vergeblichen Versuchen, die Leistungsfähigkeit der Programmiersprache Haskell zu nutzen. Dies ist der erste Teil einer zweiteiligen Serie, die sich auf die Modellierung des Problems konzentriert. Der Autor modelliert den Raum als ein 3D-Gitter, wobei Vektoren verwendet werden, um Positionen darzustellen, und Datenstrukturen für ein einzelnes Teil und seine Anordnung im Raum definiert werden. Der Artikel beschreibt detailliert, wie lineare Algebra und Haskell-Funktionen verwendet werden, um Rotationen und Translationen der Teile darzustellen und eine Kandidatenliste aller möglichen Anordnungen zu generieren. Der Artikel endet mit einem Cliffhanger, wobei die Lösung zur Ermittlung der richtigen Anordnung aus den Kandidaten auf den zweiten Teil verschoben wird.