19.9.26

12 Pentominos in ein 6x10 mit Gemini programmieren

Hier soll ausführlich beschrieben werden, wie man ein Python-Programm erstellt, um ein Geduldspiel zu lösen. Dieses Beispiel soll als Vorlage dafür dienen, weitere (und auch eigene) Lösungsprogramme zu erstellen. Als Geduldspiel wurde hier das folgende Problem ausgewählt: Packe die 12 Pentominos in einen Rahmen der Größe 6x10. Hier im Blog wurde sie bereits hier und allgemeiner hier besprochen. Aufgaben über Pentominos sind allgemein bekannt und wir können zu recht hoffen, dass Gemini die Pentominos kennt. 

Das folgende Experiment wurde im August 2016 mit Gemini 3.1 Pro durchgeführt. Wir öffnen https://gemini.google.com/app und tippen in die Eingabezeile: 

Schreibe ein Python-Programm, welches die 12 Pentominos in ein 6x10-Rechteck und die Lösung als ASCII-Grafik zeichnet.

Nach kurzer Zeit zum Nachdenken erhalten wir nicht nur ein fertiges Python-Programm, sondern auch etwas Beschreibung dazu. Wenn wir es eilig haben, laden wir sofort das Programm herunter und starten es auf der Kommandozeile. Wir erhalten die folgende Ausgabe: 

Das sieht gut aus und ist tatsächlich eine Lösung für unser Problem. Bevor wir uns das Programm anschauen, lesen wir vielleicht erst einmal die mitgelieferte Beschreibung:

Um die Zellen annähernd quadratisch wirken zu lassen, wird jeder Buchstabe bei der Ausgabe doppelt gedruckt. Außerdem nutzt der Code zur besseren Übersicht ANSI-Farbcodes für das Terminal.

So funktioniert das Programm:

  1. Repräsentation: Die zwölf Pentominos sind auf einem Raster durch relative (x,y)-Koordinaten definiert (die Basis-Form).
  2. Transformationen (get_orientations): Aus der Basisform berechnet das Programm alle möglichen Drehungen (90°, 180°, 270°) und Spiegelungen. Duplikate werden per Mengensystem (set) aussortiert.
  3. Normalisierung (normalize): Dieser Schritt ist entscheidend für die Performance. Jede Variante eines Pentominos wird so verschoben, dass ihr oberster, linkester Block immer genau auf den Koordinaten (0,0) liegt.
  4. Tiefensuche / Backtracking (backtrack): Das Programm iteriert von oben links nach unten rechts durch das 6×10-Raster. Findet es ein leeres Feld (.), durchläuft es iterativ alle noch nicht genutzten Bausteine und prüft, ob die Form in das Gitter passt. Passt sie, verbleibt sie an der Position, und die Funktion ruft sich rekursiv für das nächste leere Feld auf.


Das heruntergeladene Programm Pentominos_in_6x10_v10.py kann auf der Kommandozeile gestartet werden mit python Pentominos_in_6x10_v10.py.

Und nun schauen wir uns den Quellcode an. Das Programm besteht aus 136 Zeilen und ist mit vielen Kommentaren (in deutscher Sprache!) versehen. Wir finden noch mehr Informationen. Beispielweise sucht das Programm nach einer geeigneten Reihenfolge der 12 Steine beim Backtracking, was ein wenig an die Nützlichkeit der Pentominos erinnert.

Programmieren von Puzzlesolvern mit KI in Python

Programmieren ist für uns Menschen aufwändig und deshalb werden Lösungsprogramme für Geduldspiele eigentlich nur geschrieben, wenn sie sich hinterher auf möglichst viele Puzzles anwenden lassen. Die Situation ändert sich, wenn wir eine KI zur Verfügung haben, die uns das Programm schreibt. Wenn wir Glück haben, geht das blitzschnell und ganz einfach. Wir beschreiben hier das aktuelle Vorgehen bei Gemini im Sommer 2026. Dies reduziert die Zeit zur Erstellung eines Lösungsprogramms von vielen Stunden beim traditionellen Programmieren auf wenige Minuten mit Hilfe der KI.

Im günstigsten Fall kennt Gemini das Puzzle und wir müssen nicht viel erklären. Als Aufforderung reicht etwa folgender Prompt: Schreibe ein Python-Programm, welches die 12 Pentominos in ein 6x10-Rechteck und die Lösung als ASCII-Grafik zeichnet. 

Binnen weniger Sekunden erhält man ein fertiges Python-Programm. Bei Bedarf kann man das Programm entweder selbst ändern oder Gemini um eine Änderung bitten. Das genaue Vorgehen ist im Post 12 Pentominos in ein 6x10 noch einmal ausführlich beschrieben.

Etwas mehr Erklärung ist bei Puzzles nötig, die Gemini nicht kennt. Aber auch hier kann auf globales Wissen wie Edge Matching Puzzle oder Polyominos zurückgreifen. In der Regel sind mehrere Iterationsschritte nötig, bis das Programm zur Zufriedenheit läuft.

Solange man mit dem erzeugten Programm nicht ganz zufrieden ist, kann man Verbesserungsvorschläge machen. Falls Gemini diese für sinnvoll hält, werden Sie für den Vorschlag gelobt und der Vorschlag wird im Programm realisiert. Beispiele sind:

  1. Stelle sicher, dass Gemini das Puzzle richtig interpretiert. Manchmal gibt es Missverständnisse.
  2. Sehr nützlich ist, wenn man das entsprechende Puzzle vor sich hat. In vielen Fällen muss die konkrete Form der Puzzleteile noch eingefügt werden.
  3. Wenn man eine Lösung kennt, kann man einfach überprüfen, ob diese Lösung auch gefunden wird.
  4. Z3 sucht als SMT-Solver immer nur nach einer Lösung. Sie können auch nach mehreren oder allen Lösungen suchen lassen. Achtung, das können sehr viele sein. Vielleicht wollen Sie nur deren Anzahl wissen.
  5. Unter den Lösungen finden sich manchmal Dubletten. Es sollen nur wirklich verschiedene Lösungen berücksichtigt werden. Hier ist es ratsam zu überprüfen, ob wirklich alle Dubletten entfernt werden. Auf Nachfrage macht Gemini auch Vorschläge für Änderungen am Algorithmus.
  6. Die Ausgabe der Lösungen sollte so geändert werden, dass sie für uns Menschen optisch ansprechend sind. 

Welche Puzzles lassen sich auf diese Art mit einem Programm von Gemini lösen?

Nützlich (aber nicht unbedingt notwendig) sind die folgenden Eigenschaften:

  • Das Puzzle besteht aus einfachen geometrischen Objekten (z.B. Rechtecke, Quader, ...)
  • Diese Objekte sollen auf einfache Art zusammengefügt werden (z.B. passende Kanten aneinanderstoßen, auch mit zusätzlichen Bedingungen wie passenden Bildern).
  • Die Komplexität des Puzzles sollte nicht zu hoch sein. Also beispielsweise von Menschen lösbar oder auch etwas komplizierter. (Puzzles mit Hexominos sind maschinell gut lösbar, bei Oktominos ist es schnell zu komplex)

16.9.26

3x3 Kugellabyrinth

Dieses schon ältere Kugellabyrinth besteht aus 9 Kästchen, angeordnet als 3x3. Darin befinden sich 8 Stahlkugeln vielleicht waren es irgendwann einmal 9). Manche der benachbarten Kästchen haben kleine Durchgänge, durch welche die Kugeln ins Nachbarkästchen gelangen können.

Die Aufgabe besteht wahrscheinlich darin, die Kugeln in verschiedenen Kästchen unterzubringen, und nicht mehrere in einem Kästchen. 

Schwierigkeit: Dies ist ein reines Geschicklichkeitsspiel, Nachdenken ist kaum gefordert. Für Kinder gut geeignet. 

Design:  unbekannt

Shopping: Nicht lieferbar.

13.9.26

Unwiderstehlich-Puzzle: Kleines einfarbiges Quadrat

Für eine allgemeine Beschreibung der Unwiderstehlich-Puzzles gibt es einen längeren Post. Deshalb hier nur die Details zu diesem Geduldspiel. Der Rahmen des Geduldspiels hat die Form eines Quadrates mit einer Seitenlänge von etwa 9cm. Und ca. 45 Teile aus naturbelassenem Holz sollen dort eingeordnet werden.  

Schwierigkeit: Einfach wegen der relativ kleinen Anzahl von Puzzleteilen. Gut geeignet für Anfänger, um für größere Rahmen zu üben.

Design:  Puzzle-Werkstatt Unnerstall
Hersteller:  Puzzle-Werkstatt Unnerstall

Google: Unwiderstehlich Puzzle Unnerstall
Shopping: Gebraucht selten lieferbar, Preise ca. 15€.


12.9.26

Aufgaben für Hexominos (Nr. 31-40)

Hier weitere 10 Aufgaben für die 35 verschiedenen Hexominos, die Rahmen haben rechteckige Form mit einem zentralen rechteckigen Loch und bestehen aus jeweils aus insgesamt 210 Elementarquadraten.

Schwierigkeit: Schwierig, aber für ambitionierte Puzzler sind diese Geduldspiele trotzdem von Hand lösbar. Es gibt jeweils sehr viele verschiedene Lösungen. Hier soll jeweils eine Lösung angegeben werden, da es praktisch unmöglich ist, sich eine solche Lösung schnell einzuprägen. Man wird also automatisch nach einer anderen Lösung suchen.

3D-Druck: Ein Satz Hexominos lässt sich mit 3D-Druck herstellen: Im Post Pentominos und Hexominos in Box finden Sie die Links zur Sammlung zum Blog auf Thingiverse sowie zu Printables.

Lösung mit Computer: Die hier vorgestellten Aufgaben bieten auch für die üblichen Lösungsprogramme keine Schwierigkeiten. PolySolver, mops.exe und Polycube benötigen für die Aufgaben (in den Standard-Einstellungen) maximal einige Sekunden, manchmal auch viel weniger. Die hier gezeigten Lösungen wurden mit mit Polycube Vers. 1.2.1 ermittelt, dazu wurde die Kommandozeile

polycube.exe -V -10 -p -- Eingabedatei > Ausgabedatei

verwendet. 

Die Struktur der Eingabedatei ist einfach, Beispiele gibt es zusammen mit dem Programm bei [1].

In den Aufgaben für Hexominos Nr. 3 und Nr. 24 wurden bereits zwei solche Rechtecke mit Loch der Größe 15x15-3x5 und 33x7-7x3 vorgestellt. Hier mehr solche Rechtecke.

Aufgabe 31: Rechteck 17x13 mit einem Loch der Größe 11x1.

Aufgabe 32: Rechteck 17x15 mit einem Loch der Größe 5x9.

Aufgabe 33: Rechteck 17x15 mit einem Loch der Größe 9x5.

Aufgabe 34: Rechteck 19x15 mit einem Loch der Größe 15x5.

Aufgabe 35: Rechteck 21x11 mit einem Loch der Größe 3x7.

Aufgabe 36: Rechteck 21x11 mit einem Loch der Größe 7x3.

Aufgabe 37: Rechteck 21x13 mit einem Loch der Größe 7x9.

Aufgabe 38: Rechteck 21x13 mit einem Loch der Größe 9x7.

Aufgabe 39: Rechteck 21x15 mit einem Loch der Größe 15x7.

Aufgabe 40: Rechteck 25x11 mit einem Loch der Größe 13x5.








9.9.26

Dael 'O' Ring Easy Yellow

Kategorie: Labyrinthe

Dieses Dael 'O' Ring Puzzle mit dem gelben Ring ist wahrscheinlich das einfachste Puzzle der gesamten Serie der Dael 'O' Ring Puzzles. Diese wurde bereits ausführlich besprochen, hier nur die wichtigen Details für diese Variante mit dem gelben Ring:

Im Inneren des Rings befindet sich ein verstecktes Labyrinth, welches durchlaufen werden muss, um den Ring zu befreien.

Schwierigkeit: Die Schwierigkeit des Geduldspiels hängt von der Schwierigkeit des Labyrinths ab. Der Weg ist vergleichsweise lang, deshalb bleibt wenig Platz für Sackgassen und diese sind meist kurz. Wenn man sich in solch einer Sackgasse wiederfindet, findet man schnell zum Hauptweg zurück.

Design: Cor Vissers, Gert Santman
Hersteller:  Recent Toys
Erscheinungsjahr: ca. 2010

Google: Dael O Ring Puzzle
Shopping: Gebraucht lieferbar.



6.9.26

Bitten Biscuits / Die angebissene Symmetrie

Was macht man mit drei Keksen, in die bereits jemand hineingebissen hat? In der Welt der Geduldspiele isst man sie nicht auf, sondern versucht, eine perfekte Anordnung der drei angebissenen Keksteile zu finden. Bitten Biscuits ist ein charmantes, aber hinterlistiges Symmetrie-Puzzle, das unsere visuelle Erwartungshaltung gnadenlos ausnutzt. Es gibt dieses Geduldspiel in verschiedenen Varianten aus Holz, aus Acryl oder wie hier 3D-gedruckt.

Die Aufgabe besteht darin, die drei Keksteile zu einer symmetrischen Form zusammenzufügen. Dabei müssen alle Teile flach auf dem Tisch liegen und dürfen sich nicht überlappen.

Die abgebissenen Teile der Keksstücken haben als Ränder Stücke von Kreisbögen, und diese haben den gleichen Radius wie die Kekse selbst. Damit passen die drei Keksstücken auf viele verschiedene Arten aneinander und man kann lange nach der Lösung suchen.

Schwierigkeit: Vielleicht sehen Sie die Lösung sozusagen auf den ersten Blick, dann ist alles ganz einfach. Das klappt aber nur bei sehr wenigen Puzzlern. Alle anderen müssen lange suchen und das kann sehr zermürbend sein.

Bitten Biscuits erstmals auf der 34. International Puzzle Party 2014 in London und war das Austauschpuzzle von Tomas Lindén, 

 

Design:  Vesa Timonen
Hersteller:  Verschiedene
Erscheinungsjahr: 2014

Google: bitten biscuits puzzle
Shopping: Nicht lieferbar

3D-Druck: Es gibt mehrere fast identische Versionen dieses Geduldspiels. Die dazugehörigen STL-Dateien findet man bei Thingiverse und Printables



5.9.26

Super G / Ball and Chain

Wenn man ein Drahtpuzzle auf das absolute Minimum reduziert, bleibt oft nur kalter Stahl und ein Stück Seil übrig. Dazu ein Ring auf dem Seil und eine Kugel am Ende des Seils als Blockade. Super G ist eine der elegantesten und gleichzeitig frustrierendsten Formen aller Drahtpuzzles.

Mit etwas Wohlwollen erkennt man in der Form des Drahtes den Buchstaben G wieder: Der dicke, starre Draht ist zu zu einem offenen Ring gebogen: an einem Ende befindet sich ein Langloch, durch welches das andere Ende hindurchgeführt wurde. An diesem zweiten Ende wurde das recht kurze Seil befestigt. Der Ring auf dem Seil kann durch das Langloch gleiten, die Kugel jedoch nicht.

Die Aufgabe besteht (wie so oft) darin, den Ring zu befreien. Allerdings können unsere Bemühungen auch daneben gehen, dann hängt der Ring doppelt im Seil.

Das Puzzle ist sehr stabil und passt problemlos in jede Hosentasche. Wenn Sie nicht absoluter Anfänger sind, gehört es unbedingt in Ihre Sammlung. 

Schwierigkeit: Extrem schwer. Es sieht leicht aus, ist aber unerbittlich. 

 

Ähnliche Geduldspiele: Es gibt zahlreiche ähnliche Varianten. Bei gleicher Form des Drahtes (wie bei Ball and Chain, (komplett aus Metall) führt in der Regel der gleiche Algorithmus zum Ziel. Manchmal geht es auch einfacher, z.B. beim Segelschiff.

Design:  klassisch
Hersteller:  verschiedene, z.B. Jean Claude Constantin, Eureka

Google: Super G Puzzle
Shopping: Lieferbar, Preis ca.10€

2.9.26

Herzbefreiung mit U

Bei dem hier abgebildeten Drahtpuzzle muss wieder einmal das herzförmige Drahtstückbefreit werden. Bei der klassischen Herzbefreiung hängt das Herz direkt im Rahmen, diesmal befindet sich noch ein U-förmiges Teil dazwischen.

Wenn wir uns das U-förmige Teil näher anschauen, dann handelt es sich um einen doppelt gebogenen geschlossenen Ring. Die anderen beiden Teile, das Herz und der Rahmen, hängen nicht wirklich in Inneren dieses Ringes fest, sondern blockieren sich nur gegenseitig durch den doppelt gebogenen Ring.

Schwierigkeit: Mittelschwer, zumindest wenn Sie die klassische Herzbefreiung kennen und lösen können. Möglicherweise erscheint Ihnen das nachfolgende Zusammensetzen schwieriger als die Zerlegung, weil das Puzzle plötzlich auseinanderfiel und Sie nicht genau wissen wie die drei Teile vorher ineinanderhingen.


Sie können übrigens auch nur das Herz in den Rahmen hängen und das U-förmige Teil beiseite legen. Dann haben Sie als Bonus eine klassische Herzbefreiung.

 

Design:  unbekannt
Hersteller:  aus China

Shopping: Selten lieferbar, Preis 5-10€

1.7.26

Sommerpause 2026

Im Juli und August macht die Welt der Geduldspiele Sommerferien. 

Weiter geht's am Mittwoch, dem 2. September 2026.

Bisher entstanden 1420 Posts. Um einfacher einen systematischen Überblick zu erhalten, verweisen wir auf die im Aufbau befindliche Seite Systematische Ordnung der Geduldspiele.

Viel Spaß beim Stöbern!

28.6.26

Minomino Puzzle 12

Die 12 Puzzleteile sind jeweils zusammengesetzt aus einigen Elementarquadraten sowie einigen Dreiecken, die aus diagonal halbierten Elementarquadraten entstanden sind. Diese 12 Steine sollen in einen Rahmen der Größe 9x8 gepackt werden, so dass dieser lückenlos gefüllt wird. Dies könnte klappen, da jeder Stein eine Fläche von 6 Elementarquadraten belegt. Die Steine sehen auf Ober- und Unterseite gleich aus, so dass sie gewendet werden dürfen.

Schwierigkeit: Sehr schwer wegen der ungewöhnlichen Form der Steine und ihrer relativ großen Anzahl. Der Beipackzettel (auf Japanisch) verrät, dass es nur eine Lösung gibt.

Ein kleiner Trost besteht im Folgenden: Wenn Sie 11 der 12 Steine im Rahmen untergebracht haben, dann können Sie den letzten Stein zusammen mit dem Rahmen in der blauen Pappschachtel des Puzzles aufbewahren.

Alle Puzzles von Minoru Abe zeichnen sich durch Originalität und hohe handwerkliche Qualität aus, sind aber außerhalb Japans leider kaum erhältlich.

Design und Herstellung:  Minoru Abe

Shopping: In Japan lieferbar, Preis ca.15€

12 Pentominos in ein 6x10 mit Gemini programmieren

Hier soll ausführlich beschrieben werden, wie man ein Python-Programm erstellt, um ein Geduldspiel zu lösen. Dieses Beispiel soll als V...