9.1.22

Backtracking (Algorithmus)

Backtracking ist ein Algorithmus, der zur Lösung vieler Geduldspiele angewendet werden kann. Dazu gehören viele Legespiele und Packprobleme, solange sie auf einem regelmäßigen Gitter im zwei- oder dreidimensionalen Raum stattfinden. Als Beispiel sollen uns ein kleines Edge-Matching Puzzle sowie eine kleine Pentomino-Aufgabe dienen. Aber Backtracking ist beispielweise auch auf Sudoku anwendbar oder für das Acht-Damen-Problem auf dem Schachbrett.

Die zu lösenden Probleme müssen folgende Eigenschaften haben: 

  • Es gibt ein Feld (meist ein Teil aus einem regelmäßigen Gitter, z.B. ein Rechteck mit ganzzahligen Seitenlängen), welches mit Objekten belegt werden soll.
  • Dazu gibt es eine Menge von Objekten. Jedes Objekt füllt entsprechend seiner Form eines oder mehrere Elementarzellen des Gitters. Manchmal können die Objekte in verschiedenen Orientierungen verwendet werden, diese entstehen durch Drehen und/oder Wenden der Objekte (Wenden nur im zweidimensionalen Fall). 
  • Ein Objekt kann auf dem Feld an einer bestimmten Stelle platziert werden, wenn die entsprechenden Elementarzellen auf dem Feld frei sind (z.B. im Falle von Pentominos) und möglicherweise benachbarte Objekte zusammenpassen (wie bei Edge-Matching Puzzles).

Dazu kommen noch zwei technische Anforderungen für die Kodierung des Problems:

  • Die Elementarzellen des Feldes werden von eins beginnend durchnummeriert. Die Reihenfolge der Nummerierung ist zunächst egal, aber praktisch ist eine zeilenweise Nummerierung von oben nach unten.
  • Auch die Objekte werden nummeriert. Falls mehrere Orientierungen möglich sind, wird ein Buchstabe angefügt, der die Orientierung beschreibt (z.B. beschreibt 2a das zweite Objekt in der ersten Orientierung).

Dies ermöglicht es uns, die zu einem bestimmten Moment möglichen Züge in eine Reihenfolge zu bringen. Haben wir bereits einige Objekte auf dem Feld platziert, so verfügen wir über eine Menge noch nicht überdeckter Felder und eine Menge übriger Steine. 

Der Einfachheit halber wollen wir noch zwei weitere Annahmen machen. Diese vereinfachen den Algorithmus etwas, aber eine etwas kompliziertere Variante des Backtracking kann darauf auch verzichten.

  • Die Steine dürfen nicht rotiert oder gewendet werden, sind also in der vorliegenden Orientierung zu verwenden.
  • Außerdem soll das Feld vollständig gefüllt werden, es bleiben also keine freien Felder. Damit lassen sich sogenannte Sackgassen (s.u.) leichter erkennen.

Wir bringen die nun möglichen Züge in die folgende Reihenfolge:

  • Betrachtet werden nur Züge, die das Feld mit der kleinsten unüberdeckten Nummer bedecken.
  • Diese Züge ordnen wir nach der Nummer des jeweils verwendeten Steins (im allgemeinen Fall ggf. zusätzlich mit Orientierung), der das Feld überdecken wird.

Der nun folgende Algorithmus platziert die Objekte in allen möglichen Varianten auf dem Feld. Dadurch werden alle möglichen Lösungen gefunden. Darüber hinaus erkennt der Algorithmus Sackgassen, die es nicht weiter zu verfolgen lohnt. Dabei versteht man unter einer Sackgasse Folgendes: Wenn wir das komplette Feld bedecken sollen und beispielsweise bemerken, dass wir kein Objekt mehr zur Verfügung haben, um eine leeres Elementarzelle oben rechts zu bedecken, dann sind wir in einer Sackgasse. Da nützt es gar nichts, mit dieser Teillösung weiterzumachen und weitere Objekte an andere Stellen des Feldes zu legen, wir werden wegen der leer bleibenden Elementarzelle oben rechts niemals das ganze Feld füllen können.

Zu jedem Zeitpunkt gibt es eine Menge der noch einzufügenden Steine. Diese Steine sind immer entsprechend ihrer Nummer sortiert. Einer der Steine ist gerade ausgewählt und soll eingefügt werden. Wenn das nicht möglich ist (weil er nicht da nächste freie Feld bedecken kann), muss eine neue Auswahl getroffen werden, dies ist der nächste Stein aus der Menge der noch einzufügenden Steine.

Wir wollen uns zuerst eine etwas umständlichere Variante des Algorithmus ansehen. Das eigentliche Backtracking werden wir erst später einbauen. Zunächst schauen wir uns alle möglichen Reihenfolgen in ihrer natürlichen Reihenfolge an, in welcher wir die Steine verwenden können. Diese Reihenfolge sagt uns dann, wohin jeder Stein gelegt wird, weil immer das nächste freie Feld überdeckt werden soll.

Nehmen wir an, wir haben neun Steine; dann gibt es eine lange Reihe von 9!=362.880 verschiedene Reihenfolgen, die wir nacheinander durchprobieren könnten:

1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 8 7 9
...
9 8 7 6 5 4 3 2 1

Die allermeisten von diesen Reihenfolgen führen nicht zu einer Lösung, und in der Regel merken wir das relativ schnell. Betrachten wir ein Beispiel: Wir beginnen mit der Reihenfolge 1 2 3 4 5 6 7 8 9 und nehmen an, dass wir zwar die ersten zwei Steine korrekt platzieren können, aber der Stein Nummer 3 nicht passt. Dann brauchen wir uns die Steine 4 bis 9 gar nicht mehr vorzunehmen:
Wenn Stein 3 nicht passt, dann sind die folgenden Reihenfolgen sämtlich keine Lösung:
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 9 8
...
1 2 3 9 8 7 6 5 4

Dies sind 6!=720 Zeilen, die in der oben erwähnten langen Reihe unmittelbar hintereinander stehen. Diese können alle übersprungen werden. Durch diesen Trick sparen wir sehr viele Versuche und der Algorithmus kommt in der langen Reihe schnell voran: Wenn der Anfang 1 2 3... nicht zu einer Lösung führt, probieren wir den nächsten Anfang 1 2 4... Jetzt nehmen wir einmal an, auch das passt nicht und die nachfolgenden Versuche mit 1 2 5..., 1 2 6..., 1 2 7...,1 2 8... und 1 2 9... passen auch nicht. Dann konnten wir nach dem ersten Stein zwar den zweiten einfügen, aber es ging nicht weiter. Also versuchen wir in unserer langen Reihe den nächsten möglichen Anfang, das ist 1 3.... Die erste Zeile in der langen Reihe mit diesem Anfang ist 1 3 2 4 5 6 7 8 9, dies ist die Zeile mit der Nummer 5040. Wir haben bisher sieben (vergebliche) Versuche gemacht und schon mehr als fünftausend Zeilen aus der langen Liste abgearbeitet. Je schneller sich eine Reihenfolge als unbrauchbar herausstellt, desto größer ist der übersprungene Block in der langen Liste. Falls also beispielsweise 1 3... nicht passt, geht es gleich weiter mit 1 4... und mit einem Versuch wurden weitere 5040 Zeilen übersprungen. Und wenn es eine Reihenfolge gibt, die zu einer Lösung führt, wird diese natürlich auch gefunden.

Der Backtracking-Algorithmus legt nun nicht wie im obigen Beispiel zuerst die sehr lange Liste an, sondern erzeugt nacheinander nur die wirklich zu betrachtenden Anfänge, in unserem Beispiel von oben wäre das

1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 3
1 4
...

Wir wollen uns das genaue Verhalten von Backtracking noch an einem einfachen Edge Matching Puzzle ansehen.

Mehr Infos:


8.1.22

Balanced Soma / Ausbalancierter Somawürfel 1

Hier eine echt verblüffende Zusatzaufgabe zum Somawürfel.

Wenn einem der klassische Somawürfel zu einfach ist, können wir die Aufgabenstellung auch verkomplizieren, indem wir einen kleinen Ständer (im Querschnitt nicht größer als ein Einheitswürfel) hinzunehmen und verlangen, dass unser zusammengebauter Somawürfel auf dem Ständer stehen kann, ohne auseinanderzufallen. 

Beeinduckenderweise ist das möglich. Hoffentlich verrät das Foto nicht zu viel.

Schwierigkeit: Einfaches Probieren, ob ein zusammengesetzter Somawürfel auf dem Ständer stabil steht, wird nicht zum Ziel führen. Mit systematischem Nachdenken kommt man dem Ziel aber schnell näher. Mittelschwer, auch für interessierte Anfänger geeignet.

 

  

Idee:  J.H. Conway, M.J.T. Guy
Erscheinungsjahr: ca. 1961

Google: Balanced Soma cube
DIY-Tipp: Als Ständer kann ein kleiner Spielzeugwürfel verwendet werden oder wie im Bild ein verkürzter Weinkorken. 

Mehr Infos: Nahezu alle Informationen über ausbalancierte Somawürfel auf einem Ständer gibt es hier: www.fam-bundgaard.dk.

Oreo Soma

Der Name verrät fast alles: Bei Oreo Soma handelt es sich um einen Somawürfel mit den üblichen Steinen mit der zusätzlichen Eigenschaft, dass seine äußere Schicht (diese ist hier 1/2 dick, aber das ist nicht wichtig für das Geduldspiel) schwarz ist, und innen ist er hell. Damit sind sie Soma-Teile zweifarbig. Natürlich soll der Somawürfel so zusammengebaut werden, dass das helle Innere nicht mehr sichtbar ist.

Schwierigkeit: Ist Oreo Soma schwieriger als der normale Soma-Würfel? Man könnte dies vermuten, da durch die geforderte äußere Einfarbigkeit eine zusätzliche Bedingung hinzugekommen ist. Aber das Gegenteil ist der Fall: Die zusätzliche Bedingung zeigt uns für jeden Stein, welche Seiten an die Außenfläche des fertigen Somawürfels gehören. Dadurch werden die Möglichkeiten beim Zusammenbau derartig eingeschränkt, dass sich die Schwierigkeit eher verringert.

 

Design: Oskar van Deventer
Erscheinungsjahr: 2021

Google: Oreo Soma Cube
3D-Druck:  Oskar van Deventer, der Designer des Geduldspiels, stellt die STL-Files für den 3D-Druck auf seiner Seite Print-it-yourself zur Verfügung und ermutigt zum Ausdruck für die private Verwendung. Die hellen und dunklen Teile müssen einzeln gedruckt und dann zusammengeklebt werden. Im Inneren ist auch noch Platz für versteckte Magnete, diese halten dann den Somawürfel stabil zusammen.

Mehr Info: Youtube-Video von Oskar van Deventer

Ostfriesenpuzzle

Beim Ostfriesenpuzzle handelt es sich um eine kleine Variante des klassischen Soma-Würfels: Aus sieben Polykuben soll ein 3x3x3-Würfel zusammengesetzt werden. Auf der älteren Verpackung sind diese Teile auch alle abgebildet.

Wie bei den Bartl-Minipuzzles üblich ist das Geduldspiel relativ klein und einfach gestaltet, dafür aber auch preisgünstig. Die Kantenlänge der Elementarwürfel beträgt nur rund 6mm. Das ist gerade ausreichend, um die Schwierigkeit des Geduldspiels kennenzulernen und es einmal zu lösen. Wenn Sie viele der anderen möglichen Formen aus den Steinen des Somawürfels legen wollen, macht das mit größeren Steinen bestimmt mehr Spaß.

Design:  Piet Hein
Hersteller: Bartl

Google: Ostfriesenpuzzle Bartl
Shopping: Lieferbar, Preis ca. 2€

5.1.22

Doppel-Tantrix (Känguru der Mathematik)

Wie Tantrix Mini war auch dieses kleine Doppel-Tantrix der "Preis für alle" bei dem jährlich stattfindenden Mathe-Wettbewerb für Schüler Känguru der Mathematik, er wurde im Jahr 2016 vergeben.

Das Geduldspiel besteht aus sieben der üblichen Tantrix-Steine. Die Linienstücken haben nur drei Farben, aber die Steine sind diesmal beidseitig verwendbar. Die verschiedenen Aufgaben bestehen darin, so genannte "Blumen" bestehend aus einem Stein in der Mitte und sechs weiteren Steinen darum herum entsprechend den Tantrix-Regeln zu legen. Bei einfachen Aufgaben sollen die Steine zufällig auf den Tisch geworfen werden und dürfen dann nicht mehr gewendet werden, bei komplizierten Aufgaben sind Teile der Figuren vorgegeben und man darf sich die Oberseite aussuchen.

Erscheinungsjahr: 2016

Shopping: Gebraucht z.B. auf ebay.

Something Fishy

In einer Fischbüchse legen insgesamt 20 Kunststoff-Fische in drei Lagen übereinander. Manche Fische passen wegen Ihrer unterschiedlichen Form gut nebeneinander, und nur so bekommt man alle Fische zurück in die Büchse. Damit ist Something's Fishy eine Art eindimensionales Edge Matching Puzzle.

Insgesamt gibt es neun verschieden geformte Fischarten, diese sind mit Buchstaben von A bis I gekennzeichnet. Beispielsweise gibt es vier Fische der Sorte A, aber nur einen von der Sorte I.

Wenn man einfach drauflosprobiert, kommt man schon ein ganzes Stück weit. Die Schwierigkeit rührt daher, dass oft mehrere Paare von Fischen zusammenpassen, beispielsweise haben die Fischen E und F  gleich geformte Oberseiten bzw. C und E gleiche Unterseiten.

Schwierigkeit: Der Begleittext verrät, dass es nur eine Lösung gibt. Diese zu finden, ist eine mittelschwere Aufgabe. Für den Notfall gibt es einen mitgelieferten Lösungszettel.

 

Hersteller:  Hasbro
Erscheinungsjahr: 1971

Shopping: Gebraucht lieferbar, Preis ca. 10€

2.1.22

Racing Wire Puzzle #13 / Ineinanderhängende doppelte Schlaufen

Zwei identische Teile sollen voneinander getrennt werden: Es handelt sich um doppelt gewundene Schlaufen mit so weit abstehenden Enden, dass sie nicht einfach durch die andere Schlaufe gesteckt werden können. 

Ohne die abstehenden Enden wäre das Geduldspiel äquivalent zu zwei Schlüsselringen, die ineinandergehängt wurden.

Schwierigkeit: Eureka bewertet das Geduldspiel mit zwei Sternen (einfach bis mittelschwer).

Varianten: Es gibt verschiedene Varianten von verschiedenen Herstellern. Die Grundform und die Lösung stimmen dabei immer überein. Das kleinere Geduldspiel im Bild ist das Eureka Racing Wire Puzzle #13.

 

Design:  klassisch
Hersteller:  Eureka und andere

Google: Racing Wire Puzzle
Shopping: Lieferbar, Preis 3-4€

Tin Game Orange / Drahtpuzzle #4

Dies ist das Geduldspiel Nummer 4 aus der Reihe Tin Games von MiToys.

Diese Ringbefreiung erinnert an das Hufeisen, nur das diesmal das der große Bogen des Hufeisens jeweils eine zusätzliche Schlaufe enthält. Sonst hat sich nichts geändert: Die Hufeisen hängen an ihren Enden mit kleinen Ringen zusammen, und in der Mitte umschlingt ein größerer Ring die enge Stelle und kann nicht so einfach über die breiten Teile der Hufeisen geschoben werden.

Schwierigkeit: Der Hersteller vergibt die maximale Schwierigkeit von sechs Sternen. Wenn man allerdings die Lösung für das gewöhnliche Hufeisen kennt, ist es nicht ganz so schwer. 

Andere Varianten: Es gibt noch eine andere Art, einen Ring in ein Hufeisen (mit oder ohne zusätzliche Schlaufe) einzuhängen. deshalb heißt diese Geduldspiel manchmal auch Double Loop Horseshoe (Type 1). Dementsprechend gibt es noch Double Loop Horseshoe (Type 2).

Frage: Handelt es sich bei den zwei zusammenhängenden Hufeisen um identische Gebilde oder wurde das zweite gespiegelt? Haben also die beiden Schlingen die gleiche oder die entgegengesetzte Drehrichtung?

 

Hersteller und Reihe:  MiToys Tin Game
Erscheinungsjahr: 2008

Google: "Tin Game" Puzzle
Shopping: Lieferbar, Preis pro Stück 5-15€

Tin Game Draht-Puzzles

Klein aber fein sind die sechs Draht-Puzzles der Serie Tin Games. Diese Reihe wird von MiToys hergestellt und in Deutschland von Bartl vertrieben. Jedes Geduldspiel hat seine eigen Blechdose mit dem jeweiligen Geduldspiel auf dem Titelbild. 


Schwierigkeit: Unterschiedlich, die Schwierigkeitsangabe variiert zwischen zwei und sechs Sternen.

Hersteller / Vertrieb:  MiToys / Bartl
Erscheinungsjahr: 2008

Google: "Tin Game" Puzzle
Shopping: Lieferbar, Preis pro Stück 5-15€

1.1.22

Cast Star / Star & Garter

In einem sehr massiven, ovalen Ring befindet sich ein sechsarmiger Stern. Die Zacken des Sterns verhindern, dass er einfach aus dem Ring herausfallen kann. Diese Zacken sind nicht ganz symmetrisch angeordnet und nicht gleich lang. Dadurch sieht der Stern etwas schief aus, aber das gibt uns die Hoffnung, dass der Stern doch irgendwie befreit werden kann. 

Zusätzlich ist auch der ovale Ring nicht symmetrisch: Die symbolisierte Schlange beißt sich selbst in den Schwanz und ist deshalb nicht nicht gleichmäßig geformt. In älteren Varianten des Geduldspiels wurde statt der Schlange ein Gürtel gewählt, der dann auch ungleichmäßig geformt war.

Im Ausgangszustand befinden sich drei Spitzen des Sterns auf jeder Seite des Rings. Wenn es gelingt, eine Spitze auf die andere Seite zu bringen, indem man sie an der richtigen Stelle durch den Ring schiebt, hätte man es geschafft.


Schwierigkeit: Das Geduldspiel ist mittelschwer. Es ist völlig unklar, welche Spitze an welcher Stelle durch den Ring passt. Auch verliert man schnell die Übersicht, welche Positionen des Sterns man bereits durchprobiert hat. Hanayama vergibt eine Schwierigkeit von 3/6.

Historisches: Die ältesten Geduldspiele dieser Art stammen aus den 1890er Jahren, siehe [1]. Sie waren aus Gusseisen und der Ring wurde durch ein Gürtelschnalle (statt Schlangenkopf) massiv verschlossen. Spätere Varianten waren aus Zinkguss oder verchromt (wie im Bild). Obwohl es das Geduldspiel seit etwa 1895 gibt, wurde im Jahr 1968 ein entsprechendes Patent (US3383113A) an M.E. McCandless vergeben [2].

Der durch den Ring gefangene Stern kann als Vorbild für alle Käfigbefreiungen betrachtet werden. Dabei muss ein meist als Igel bezeichneter Stern zwischen zwei Gitterstäben hindurchgeführt werden. Betrachtet man die langen Seiten des ovalen Rings als solche Gitterstäbe, dann handelt es sich um sehr ähnliche Aufgaben. 

Design:  klassisch
Hersteller:  verschiedene, z.B. Hanayama
Erscheinungsjahr: ca. 1895

Google: Cast Star Hanayama
Shopping: Lieferbar, Preis ca. 12€

Mehr Infos:

Packproblem von Donald Knuth

Donald Knuth fragt, wie man 28 Quader der Größe 3x4x5 in einen Würfel mit der Seitenlänge 12 packen kann. 

Erinnern Sie sich an Hoffman's Packproblem? Das können wir umformulieren, so dass 27 Quader der Größe 4x5x6 in einen Würfel mit der Seitenlänge 15 gepackt werden sollen. Haben die Quader allgemeiner die Größe axbxc, so hat der große Würfel in beiden Fällen die Seitenlänge a+b+c. Wieso sind denn einmal 27 kleine Quader gegeben und einmal 28? Doch halt, für Hoffman's Packproblem gab es eine zusätzliche Bedingung: Die kleinste Kantenlänge soll größer sein als (a+b+c)/4, und das ist bei dem hier betrachteten Geduldspiel nicht mehr der Fall. Dadurch können jetzt auch vier kleine Quader nebeneinander aufgereiht in dem großen Würfel stehen. Und vielleicht passt so irgendwie ein Quader mehr hinein.

Schwierigkeit: Es soll verraten werden, dass es drei verschiedene Lösungen dieses Geduldspiels gibt. Eine davon ist leicht zu finden, eine schwieriger und die dritte schwer.

Diese Weiterentwicklung von Hoffman's Packproblem auf 28 Quader der Größe 3x4x5 wurde 2005 erstmalig von George Miller gefertigt und war das sei Austauschpuzzle auf der Internationalen Puzzleparty 2005 in Helsinki.

In  [1] verallgemeinert Donald Knuth die Fragestellung weiter Wenn wir die Seitenlänge des großen Würfels schrittweise um jeweils 1 vergrößern, wie viele Quader der Größe 3x4x5 passen dann jeweils hinein? Für einige Seitenlängen kann man sich das Resultat einfach im Kopf überlegen:

  • In einen Würfel mit Seitenlänge kleiner als 5 passt keiner unserer Quader.
  • In einen Würfel der Seitenlänge 5 passt maximal einer unserer Quader.
  • In einen Würfel der Seitenlänge 6 passen maximal zwei unserer Quader.
  • In einen Würfel der Seitenlänge 7 passen maximal vier unserer Quader.
  • usw.

In [1] wird die Fragestellung bis zu einer Seitenlänge von 16 behandelt. Dort passen übrigens maximal 67 unserer Quader hinein.

Design:  Donald Knuth
Erscheinungsjahr: 2004

Mehr Info:

3D-Druck: Eine STL-Datei von Gilles Blaataap für den 3D-Druck zum privaten Gebrauch (ähnlich der obigen Abbildung) gibt es bei Thingiverse. 

Aufgaben für Pentominos: Nur acht Steine am Rand (Aufgaben 96-97)

Das Gegenstück zu der Aufgabe, dass alle Pentominos den Rand berühren sollen ist die, dass möglichst wenige Steine den Rand berühren. Für b...