C# Alggemeine Lösung für "Türme von Hanoi"

xparet0209

Ensign
Registriert
Okt. 2007
Beiträge
180
Algemeine Lösung für "Türme von Hanoi"

hi
sicherlich kennt ihr das spiel "türme von hanoi", falls nicht -> wikipedia...
nja in der schule hab ich dies gerade als aufgabe von meinem lehrer bekommen,
einen algorithmus zu programmieren der die scheiben um legt...
ich hab das ganz rekursiv gelöst und es funktioniert wunderbar für 3 türme und einigen scheiben^^

nja mein problem ist es nun das ganz auf n türme zu erweitern.
ich hab zwar einen algorithmus der mit n türmen zurechtkommt allerdings muss die anzahl der scheiben kleiner sein als die der türme wenn es nicht gerade 3 türme sind...

nun ja ich komme aber einfach nciht dahinter wie ich das problem löse
bei mir liegt es vorallem daran die anzahl der wegzulegenden scheiben zu bestimmen.
wenn ihr wollt poste ich meinen algorithmus soweit ich ihn hab, allerdings wollte ich nur eine lösungsalgorithmus für n türme und m scheiben

könnte mir jmd dabei helfen bzw. einen denkanstoß geben?

mfg xparet0209
 
Zuletzt bearbeitet:
also einen algorithmus mit n türmen selbst zu entwickeln klingt relativ komplex. ich mein da gabs mal ne rekursive lösung für aber das weiss ich nicht mehr genau, die wäre dann algorithmisch sehr simpel.

jedenfalls is das problem dermaßen alt und durchdacht, das WENN es dafür eine lösung gibt dann wurde die mit an sicherheit grenzender warscheinlichkeit gefunden und auch veröffentlicht.

von daher würde ich auf jeden fall nochmal gründlich googlen, eventuell mal nur nach pdf files und 'rekursion' suchen oder ähnliches, findeste schon :]


//edit:
http://www.mi.fh-wiesbaden.de/~schwan/Vorlesungen/Prog1/Skripte/Prog1US9.pdf
das sieht doch ganz vernünftig aus. da der algorithmus auf der erste seite ein rekursiver ist, sollte er auch jede turmanzahl n können. habe mich jetz nicht genau damit beschäftigt, aber möglicherweise haben die rekursiven ja auch nicht dieses problem mit 'anzahl_scheiben'<'anzal_türme'
 
Zuletzt bearbeitet:
nja türme von hanoi ist an sich nur ein spiel mit 3 stäben bzw. türmen
und eine variable anzahl von scheiben
dafür hab ich mir schon ein algorithmus geschrieben der wie du richtig sagst rekursiv sehr simpel funktioniert

meine frage ist aber ob sich das auch für eine variable anzahl von türmen lösen lässt
und dazu findet man leider nichts gescheites bei google, da es mit lösungen für 3 türme überfrachtet ist...
 
Ich verstehe das Problem nicht? Was meinst du mit 3 Türme? Normalerweise hat man 3 Plätze und einen Turm, der aus beliebig vielen Scheiben besteht. Ziel ist es den Turm von einem Platz zu einem anderen Platz zu schaffen.

Wenn du mit "n Türmen" "n Plätze" meinst, dann kannst du die Standardlösung mit 3 Plätzen benutzen, denn 3 Plätze reichen aus um beliebig viele Scheiben auf einen beliebigen Platz zu verschieben.
 
also ich meine damit n stäbe^^
ja das ist mir durchaus klar das man mit 3 stäben alles lösen kann - die frage ist nur ob es auch effektiv ist
denn ich möchte ja die anderen stäbe auch ausnutzen
 
Zurück
Oben