Türme von Hanoi - Erläuterungen für zwei und drei Türme

Was ist anders?

Sicherheit im Spiel mit einem Turm benötigt man als Grundvoraussetzung, da die Teiltürme mehrmals hin und her gesetzt werden müssen. Zu Beginn allerdings müssen beide Türme erst einmal vermischt werden. Dabei gibt es zwei symmetrische Möglichkeiten: Man kann "von rechts" arbeiten, d.h. der orange Turm bis n-1 wird auf der Position des gelben eingemischt, damit die unterste Scheibe in die Mitte gesetzt werden kann. Ebenso kann man "von links" arbeiten, d.h. den gelben Turm in den orangen mischen. Das Programm erkennt automatisch, welche Lösung gewählt wird. (Abbildung für die Lösung "von rechts".)

Erster Schritt

Nach dem Mischen wird der Doppelturm in die Mitte gesetzt, damit die gelbe Scheibe n nach rechts gesetzt werden kann.

Zweiter Schritt

Schließlich muss der Doppelturm nach rechts gesetzt werden, damit die orange Scheibe n nach links gesetzt werden kann.

Dritter Schritt

Am Ende muss der Doppelturm sortiert werden, also die Farben wieder getrennt.

Zwei Türme: Wie arbeitet das Programm und wie viele Züge braucht man?

Die Hanoi-Funktion ist relativ einfach auf zwei Scheiben zu modifizieren. Ferner benötigt man dann noch eine Hilfsfunktionen mischen2() und sortieren2(), die jeweils die entsprechenden Schritte durchführen. Gemäß der obigen Strategie muss eine Funktion "Hanoi-mit-zwei-Türmen" folgende Schritte ausführen (hier anschaulich formuliert für die Lösung "von rechts"):

Dabei braucht man natürlich viel mehr Schritte als für einen Turm, eine genaue Formel dafür habe ich noch nicht. In den Beispielen ab 4 Scheiben sind es etwa viermal so viele Züge, z.B. 59 statt 15 Züge bei 4 Scheiben! Bei 9 Scheiben sind es bereits 2359 Züge!

Spiel mit drei Türmen

Auch mit drei Türmen ist das Spiel lösbar, auch wenn man zu Beginn das Gefühl hat, dass immer etwas im Weg steht. Das Prinzip ist ähnlich wie bei zwei Türmen: Erst die Türme einmischen, z.B. auf dem Mittelplatz, dabei aber die unterste Scheibe orange mit versetzen. Dann kann die gelbe Scheibe n auf C gesetzt werden. Jetzt muss der komplette Turm inkl. der orangen Scheibe nach C gesetzt werden, um die weiße Scheibe n nach A setzen zu können. Schließlich den kompletten Turm bis n-1 nach A setzen, dann kann auch die orange Scheibe n ihren Platz in der Mitte finden. Jetzt muss "nur noch" sortiert werden ;-). Auch hier gibt es zwei symmetrische Lösungen, man kann alternativ von rechts oder von links arbeiten.

Zurück zum Spiel