Induktion für minimale Züge Türme von Hanoi

Neue Frage »

NicoBe Auf diesen Beitrag antworten »
Induktion für minimale Züge Türme von Hanoi
Hi,

ich denke, das Thema ist bekannt. Die herkömmliche Induktion zu diesem Thema ist mit auch bekannt, für mein momentanes Anliegen habe ich allerdings nichts in der Suchleiste gefunden. Falls es da doch etwas gibt, gerne löschen. smile

Es geht um die Türme von Hanoi: n Scheiben, die von Position 1 auf Position 2 über Position 3 verschoben werden sollen. Die Laufzeit dabei ist bekanntlich 2^n-1.

Das ganze kann mit folgendem Algorithmus im Pseudocode beschrieben werden:

1 if n > 0 then
2 Hanoi(n-1,from, via, to);
3 Schreibe: ”Bewege Scheibe von Position“ from ”nach“ to;
4 Hanoi(n-1, via, to, from);
5 fi

Doch wie kann ich jetzt mittels Induktion nachweisen, dass dieser Algorithmus wirklich in Minimalzeit läuft? Habe dazu noch nichts gefunden.

LG,
Nico
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von NicoBe
Doch wie kann ich jetzt mittels Induktion nachweisen, dass dieser Algorithmus wirklich in Minimalzeit läuft? Habe dazu noch nichts gefunden.

Man kann es auch mal mit selber nachdenken versuchen, ist wirklich nicht so schwer hier. Die nachzuweisende Behauptung lautet:

Zitat:
Jede erfolgreiche Versetzung eines Turmes mit Scheiben benötigt mindestens Züge.

und der Nachweis geschieht eben durch die angesprochene Vollständige Induktion.

Induktionsanfang sollte klar sein, und im Induktionsschritt ist das entscheidende Argument:

Um den gesamten Turm mit Scheiben von Position 1 nach 3 umzusetzen, muss irgendwann die unterste Scheibe einzeln auf Position 1 dastehen UND die Zielposition 3 leer sein. Das geht zwangsläufig nur dann, wenn die restlichen Scheiben auf Position 2 stehen - und irgendwie müssen die ja vorher dahingekommen sein und danach auch wieder von da wegmüssen...
NicoBe Auf diesen Beitrag antworten »

Hallo HAL 9000,
erstmal danke für die Antwort, die Idee leuchtet mir ein, nicht aber der genaue Ablauf.

Wenn ich die Induktion starte gehe ich ja über n. Damit kann ich problemlos darstellen, dass der Algorithmus in 2^n-1 läuft.

Nur wie zeigt mir die Induktion dann, dass das ganze auch die minimale Laufzeit des Algorithmusses ist?

LG und schönes Wochenende,
Nico
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von NicoBe
Nur wie zeigt mir die Induktion dann, dass das ganze auch die minimale Laufzeit des Algorithmusses ist?

Oben habe ich den Beweis dafür skizziert, dass jeder erfolgreiche Ablauf mindestens Züge benötigt.

Dass es auch mit genau Zügen geht, zeigt bereits dein Ablauf im Eröffnungsposting.

Beides zusammen ist doch der gesuchte Nachweis.
NicoBe Auf diesen Beitrag antworten »

Okey, wenn ich das dann richtig verstehe, zeige ich zwei Induktionen:

1. Die Laufzeit ist >= 2^n-1
2. Die Laufzeit ist = 2^n-1

Lg,
Nico
HAL 9000 Auf diesen Beitrag antworten »

Ok, ich modifiziere noch mal meine Beschreibung oben, die ist tatsächlich nicht völlig zwingend: Kann ja sein, dass die unterste Scheibe zunächst noch woanders hin wandert und von dort dann erst zur Zielposition...

Zitat:
Um den gesamten Turm mit Scheiben von Position 1 nach 3 umzusetzen, muss irgendwann die unterste Scheibe ihre Position 1 verlassen. Das geht nur, wenn die unterste Scheibe einzeln auf Position 1 dasteht UND irgendeine andere Position (z.B. die Zielposition 3) leer ist. Das geht zwangsläufig nur dann, wenn die restlichen Scheiben auf der noch übrig bleibenden Position (im Beispiel dann Position 2) stehen - und irgendwie müssen die ja vorher dahingekommen sein und danach auch wieder von da wegmüssen...
 
 
NicoBe Auf diesen Beitrag antworten »

Herzlichen Dank für die Antwort, leider komme ich damit gerade ebenso wenig weiter.

Trotzdem danke für deine Bemühungen!

Ich werde mich dann nochmal wo anders umsehen.

LG,
Nico
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von NicoBe
Herzlichen Dank für die Antwort, leider komme ich damit gerade ebenso wenig weiter.

Weil du nicht wirklich drüber nachdenkst. Na dann suche eben woanders, schade um die vertane Zeit.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »