Ich habe mich gestern an einen Thread von Timo und merc beteiligt, wobei
mich merc's Frage auch interessiert.
Wie sieht der rekursive Algorithmus zum Finden einer kürzesten Lösung
bei Türme von Hanoi aus, wenn man insgesamt 4 Stangen zur Verfügung hat.
Ich habe mal ein altes Programm von mir rausgekramt und derart erweitert,
daß es mit einer variablen Anzahl von Stangen klarkommt, um eine Unterstützung
beim Finden der Lösung zu bieten
Hanoi.jar
Die Source dazu
Hanoi.java
(Nicht über die Source lästern, ist immerhin ein altes Programm) :shock:
Achtung: Es wird nicht mit der Maus bedient (ist mir zu friemelig) sondern mit der
Tastatur indem man nacheinander die Nummer der Quell- und der Zielstange
eintippt(*). Die Stangen sind von 1 bis n durchnumeriert.
Ich selbst habe schon etwas rumprobiert und habe für die minimale Zugzahl bei
4 Stangen gefunden:
5, 9, 13, 20 Züge bei 3, 4, 5, 6 Scheiben. Bei der Zuganzahl für 6 Scheiben bin ich
mir nicht sicher, ob es einen kürzeren Weg gibt.
Weiß jemand wie ich jetzt das rekursive Schema, und damit eine Formel für
die Zuganzahl, finden kann.
Oder hat jemand einen Ansatz, wie ich das Programm dahingehend erweitere,
daß es via intelligentes Backtracking zumindes die minimale Zuganzahl in
Abhängigkeit von der Scheibenanzahl selbst bestimmt?
Danke im Voraus
(*) Es ist übrigens interessant zu erleben, wie sich unser Gehirn in relativer
kurzer Zeit des Problem annimt und die Finger nur noch über die 3 Tasten
"1", "2" und "3" fliegen um den Turm umzubauen ohne daß wir selbst noch
genau nachvollziehen können, wie wir denken. Ich brauche für einen 6-er Turm
(3 Stangen) inzwischen gerade mal 34 Sekunden :shock:
mich merc's Frage auch interessiert.
Wie sieht der rekursive Algorithmus zum Finden einer kürzesten Lösung
bei Türme von Hanoi aus, wenn man insgesamt 4 Stangen zur Verfügung hat.
Ich habe mal ein altes Programm von mir rausgekramt und derart erweitert,
daß es mit einer variablen Anzahl von Stangen klarkommt, um eine Unterstützung
beim Finden der Lösung zu bieten
Hanoi.jar
Die Source dazu
Hanoi.java
(Nicht über die Source lästern, ist immerhin ein altes Programm) :shock:
Achtung: Es wird nicht mit der Maus bedient (ist mir zu friemelig) sondern mit der
Tastatur indem man nacheinander die Nummer der Quell- und der Zielstange
eintippt(*). Die Stangen sind von 1 bis n durchnumeriert.
Ich selbst habe schon etwas rumprobiert und habe für die minimale Zugzahl bei
4 Stangen gefunden:
5, 9, 13, 20 Züge bei 3, 4, 5, 6 Scheiben. Bei der Zuganzahl für 6 Scheiben bin ich
mir nicht sicher, ob es einen kürzeren Weg gibt.
Weiß jemand wie ich jetzt das rekursive Schema, und damit eine Formel für
die Zuganzahl, finden kann.
Oder hat jemand einen Ansatz, wie ich das Programm dahingehend erweitere,
daß es via intelligentes Backtracking zumindes die minimale Zuganzahl in
Abhängigkeit von der Scheibenanzahl selbst bestimmt?
Danke im Voraus
(*) Es ist übrigens interessant zu erleben, wie sich unser Gehirn in relativer
kurzer Zeit des Problem annimt und die Finger nur noch über die 3 Tasten
"1", "2" und "3" fliegen um den Turm umzubauen ohne daß wir selbst noch
genau nachvollziehen können, wie wir denken. Ich brauche für einen 6-er Turm
(3 Stangen) inzwischen gerade mal 34 Sekunden :shock: