27.9.26

Loch über Loch, mit SMT-Solver gelöst

Dieses Geduldspiel besteht aus 10 Brettchen der Größe 1x5. In jedem der 1x1-Quadrate kann sich ein Loch befinden, insgesamt enthalten die Brettchen 26 Löcher. 


Die Brettchen sollen in zwei Lagen (einmal für hoch und einmal für quer) übereinandergelegt werden, so dass jeweils zwei Löcher übereinanderliegen. Beim folgenden Bild hat es nicht ganz geklappt.


Schwierigkeit: Höchstens mittelschwer. Man kommt durch systematisches Probieren zum Ziel, und es gibt mehr als eine Lösung.

Ähnliche Geduldspiele: Bei Golf Putting Green gibt es zusätzlich halbe "Golfbälle", die in die Löcher passen.

Design und Herstellung:  HolzArt Robby Ellwitz

Shopping: Nicht lieferbar.

Das Geduldspiel automatisch lösen mit Python und Z3

Das folgende Python-Programm benutzt den SMT-Solver Z3 und wurde mit Hilfe von Gemini geschrieben. Dabei wurden die Unterschiede zu Golf Putting Green beschrieben und ein vorher für Golf Putting Green erzeugtes Programm wurde passend abgeändert.
Das Programm findet insgesamt 8 verschiedene Lösungen. Die Ausgabe der Lösungen (ein Beispiel unten) wurde bewusst recht abstrakt gehalten, so dass ein flüchtiger erster Blick darauf nicht ungewollt eine Lösung verrät.

Hier ist das Python-Programm zum Download:

Es folgt eine der gefundenen Lösungen als ASCII-Grafik: Die schwarzen Blöcke entsprechen den Löchern.
 

 █  ░  █  █  █ 
 ░  ░  ░  █  ░ 
 █  ░  ░  █  █ 
 ░  ░  █  ░  █ 
 █  █  ░  ░  ░ 

Keine Kommentare:

Kommentar veröffentlichen

Golf Putting Green, mit SMT-Solver gelöst

Zur Erinnerung: Bei Golf Putting Green sollen die folgenden 6 Brettchen zu einem 3x3-Stapel der Höhe 2 gestapelt werden.  Dabei ...