Diskussion:Türme von Hanoi

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Beispiel[Quelltext bearbeiten]

Im Beispiel (geschrieben in C++) sollte man return 0 in der mainmethode einfügen. Schließlich hat man nicht void main geschrieben, sondern int main, es wird also ein Rückgabewert erwartet.

Lesenswert-Diskussion[Quelltext bearbeiten]

Die Türme von Hanoi sind ein mathematisches Knobel- und Geduldsspiel.

  • pro - etwas knapper aber trotzdem "lesenswert" -- Achim Raschka 14:17, 25. Sep 2005 (CEST)

Symbol support vote.svg Pro - sehr schön mit der Animation! --Hermann Thomas 19:34, 25. Sep 2005 (CEST)

  • Symbol oppose vote.svg Contra - lustige Animation, aber der viele Code stört mich. Wenn nun einer kein C++ kann... --Schwalbe Disku 11:00, 28. Sep 2005 (CEST)

Symbol neutral vote.svg Neutral Die 3 Beispiel-Implementierungen sind in unbekanntem Scheme, kryptischem C++, und sprachlicher Umschreibung (kein Pseudocode). Besser wäre es zwei richtige Pseudocode-Beipiele und fertig. -- Thomas M. 13:02, 28. Sep 2005 (CEST)

  • Symbol support vote.svg Pro--nfu-peng 11:46, 29. Sep 2005 (CEST)

Symbol neutral vote.svg Neutral Der Text ist gut, aber mit dem Pseudocode gebe ich Thomas M. recht. Das Scheme-Beispiel ist ziemlich unverständlich, und die C++-Implementierung sollte von den Ein- und Ausgaben befreit und durch eine Pseudocode-Funktion hanoi(n) ersetzt werden. Es geht schließlich um den Algorithmus und nicht um ein lauffähiges Programm (dazu dienen die Weblinks). -- Sdo 12:48, 29. Sep 2005 (CEST)

  • neutral, noch nicht ganz überzeugend: 1) eine Herleitung für die Komplexität wäre schön, 2) die Sache mit den 585 Milliarden Jahren passt besser nach oben, zu der Legende 3) wofür ist das Problem ein Beispiel bzw. welche ähnlichen Probleme gibt es? 4) wie muss man den Algorithmus von Bunemann und Levy verändern, um zur minimalen Zahl von Zügen zu kommen? --213.54.214.193 13:10, 29. Sep 2005 (CEST)
Symbol support vote.svg Pro Antifaschist 666 11:30, 30. Sep 2005 (CEST)

Symbol support vote.svg Pro --Bsmuc64 02:07, 24. Dez 2005 (CET)

Im Uhrzeigersinn und gegen den Uhrzeigersinn[Quelltext bearbeiten]

Wäre es interessant (oder steht es schon drin) das sich, wenn das "Spiefeld nicht linear sondern dreieckig ist, die Scheiben wechselseitig im Uhrzeigersinn und gegen den Uhrzeigersinn bewegen? Also wenn sich die oberste Scheibe im Uhrzeigersinn bewegt, bewegt sich die darunter liegende Scheibe gegen den Uhrzeigersiin, und die darunter liegende Scheibe wieder im Uhrzeigersin, und so weiter. --Arbol01 15:31, 19. Dez 2005 (CET)

ja, wäre imho interessant. ich habs nur überflogen und jetzt nicht gesehen, dass es drin steht. Wenn, dann auch gerne mit Beweis. Sollte ja nicht so schwer sein, dies anhand des iterativen Alg. zu zeigen ... --Koethnig 23:11, 24. Mai 2011 (CEST)

Lesenswert-Diskussion, 19. - 25. Dezember, erfolgreiche Wiederwahl[Quelltext bearbeiten]

Ich stelle diesen Artikel mal zur Wiederwahl. Es gibt einige Dinge die stören. Zum einen wäre da die Kürze. An sich kein Problem, wenn es nicht mehr zu sagen gäbe. Aber hier gibt es noch mehr zu sagen. Zum Beispiel fehlt eine Analyse, dass es nicht schneller als beschrieben geht. Desweiteren ist die Behauptung, dass die Lösung des einfachsten nichttrivalen Falles (mit 3 Scheiben) reicht, damit das Lösungsverfahren funktioniert bestenfalls verzerrt. Es reicht schon, das es für den trivalen Fall (eine Scheibe) funktioniert. Außerdem wäre imho der einfachste nicht trivale Fall der mit zwei Scheiben. Die Animation ist ganz schick, macht sich beim Versuch, den Artikel in ein Printmedium zu übernehmen aber auch nicht besonders gut. Die ASCII-Grafik ist auch nicht unbedingt günstig dafür und eine echte Grafik sähe sicher besser aus. Alles in allem kann ich nicht erkennen, was diesen Artikel von vielen 1000 anderen abhebt, die mindestens ebensogut (oder schlecht) sind. --Coma 14:27, 19. Dez 2005 (CET)

  • contra - Coma 14:27, 19. Dez 2005 (CET) siehe Begründung
  • <Symbol oppose vote.svg Contra - sehe ich genauso. Kenwilliams QS - Mach mit! 15:02, 19. Dez 2005 (CET) - Jetzt nach der Überarbeitung zumindest Symbol neutral vote.svg Neutral,es hat sich stark inhaltlich und Mengenmäßig verbessert. Genaueres kann ich nicht beurteilen.
  • neutral Die "Analyse", dass es nicht schneller geht, ist nicht wirklich erwähnenswert, das Ergebnis steht im Artikel. Was trivial ist und was nicht, ist Geschmackssache. Die animierte Graphik dient dem Verständnis, die Übertragung der WP in ein Printmedium ist nicht unser Problem. Noch ein kleiner Kritikpunkt, der noch nicht genannt wurde: Bei Buneman-Levy sollte noch irgendwie die Beziehung zwischen Zielstange und erstem Zug untergebracht werden. Insgesamt sehe ich nur Kleinigkeiten, die mMn keine Abwahl rechtfertigen, es geht ja nicht um Exzellenz.--Gunther 15:20, 19. Dez 2005 (CET)
Sicher gehts nicht um Exzellenz, aber für einen so kurzen Artikel hat er einfach zu viele Schwächen. Die Übertragung in ein Printmedium ist nicht unser Problem, aber unser Problem ist es, Wikipedia möglichst frei im Sinne der GFDL zu machen, und sowas ist dann hinderlich und kann dann eben nicht gerade positiv bewertet werden. Wir brauchen keine freie Lizenz, wenn wir dann Inhalte erzeugen, die nicht übertragbar sind. Bei Buneman-Levy sollte vielleicht noch erwähnt werden, dass der Alg. genau das selbe tut, wie der andere. Das es nicht schneller geht, halte ich sehr wohl für erwähnenswert. --Coma 15:59, 19. Dez 2005 (CET)
Du möchtest also jede Animation hier verbieten, denn diese lassen sich naturgemäß außerhalb des Harry-Potter-Universums nicht als solche zu Papier bringen. -- aka, etwas voreingenommen, 16:45, 19. Dez 2005 (CET)
Nein, ich möchte nur nicht, das Artikel mit Animationen besonders ausgezeichnet werden, um auf diesen Problem hinzuweisen. Zumal man diesen Sachverhalt auch ohne diese Animation ganz gut, vermutlich sogar besser beschreiben und verstehen kann. Abgesehen davon ist die Animation nur einer von vielen Kritikpunkten und alleine nicht ausschlaggebend. Gerade, weil der Artikel die Arbeitsweise des Algorithmus auch ganz gut in Worten beschreibt, könnte ich mit diesem Manko leben. Genau deshalb stelle ich die Notwendigkeit in diesem Fall aber auch in Frage. --Coma 18:21, 19. Dez 2005 (CET)
Den Gedankengang, dass der Artikel ohne die Animation besser wäre, kann ich nicht nachvollziehen. -- aka 22:30, 19. Dez 2005 (CET)
Ich schon. Auch wenn du die Animation ganz nett hinbekommen hast, halte ich ein nicht animiertes Bild, wo man alle Schritte gleichzeitig sehen kann für besser (auf die schnelle gefundenes Beispiel: Essstäbchen). Nicht nur, das man gedruckt eben nichts damit anfangen kann, Animationen ziehen eben auch Aufmerksamkeit auf sich, lenken also vom Text ab. Ich bin jedenfalls sehr froh, dass hier nicht auf jeder Seite Werbung rumzappelt. Außerdem kann man nicht animierte Bilder in der eigenen Verstehensgeschwindigkeit nachvollziehen und muss sich nicht danach richten, was der Ersteller des Bildes für eine sinnvolle Geschwindigkeit hält. Aber auch wenn ich gegen jede Animation bin, ist das allein noch kein Abwahlgrund und da ich den Text nicht gelesen habe, enthalte ich mich vorerst. -- iGEL (+) 00:08, 20. Dez 2005 (CET)
  • Symbol support vote.svg Pro Die Tatsache, dass eine Animation vorhanden ist, spricht eher für den Artikel, zumal die Animation das schön verdeutlicht. Das Ziel (es sei denn, dass ich was verpasst habe) der Wikipedia ist ja nicht, eine gedruckte Enzyklopädie zu erstellen und ich sehe die Notwendigkeit nicht, sich unnötig zu beschränken. --Mark Nowiasz 16:19, 19. Dez 2005 (CET)
Die Animation mag schön anzusehen sein, wirklich verdeutlichen tut sie bei mir nichts. Der Text beschreibt den Alg. wesentlich besser --Coma 18:23, 19. Dez 2005 (CET)
Es sind halt nicht alles Mathematiker oder Informatiker, denen ein trockener Algorithmus mehr gibt als ein "buntes" Bild. Im übrigen ist es auch nicht die Aufgabe der Animation, den Algorithmus zu beschreiben. Aber sie hilft vielleicht dem Verständnis des Lösungsprinzips auf die Sprünge. -- aka, Dipl. Inf. ;), 22:30, 19. Dez 2005 (CET)
  • Symbol support vote.svg Pro Weil ich die angesprochenen Probleme in der Form nicht sehe. -- aka 22:30, 19. Dez 2005 (CET)
  • pro - Gerade, weil die Animation das gut illustriert. Rechtliche Probleme gibt es auch nicht mehr. Ralf 11:22, 20. Dez 2005 (CET)
  • Symbol support vote.svg Pro Sehr gute Erklärung für das Spiel und die rekursive Vorgehensweise. --Bsmuc64 23:45, 23. Dez 2005 (CET)
  • pro zwar sicher nicht exzellent, aber doch lesenswert --Andreas ?! 23:58, 23. Dez 2005 (CET)

Ich habe den Artikel wesentlich verändert und dabei einen Teil der Kritik von Benutzer Coma berücksichtigt. Ich bitte alle Benutzer, welche hier abgestimmt haben, darum, den Artikel nochmal zu lesen und dann evtl. das Votum zu ändern. --Bsmuc64 01:51, 24. Dez 2005 (CET)

  • Symbol support vote.svg Pro ... gerade wegen der Animationen. -- Matt1971 ♫♪ 05:59, 24. Dez 2005 (CET)
  • Symbol support vote.svg Pro Für einen lesenswerten Artikel reichts IMO aus, die Hintergrundinfos könnten vielleicht etwas ausgeprägt sein.

Türme von Hanoi[Quelltext bearbeiten]

Ich habe den Artikel wesentlich verändert. Lies ihn bitte nochmal durch. wenn er Dir jetzt besser gefällt, dann kannst Du vielleicht den Antrag auf Wiederwahl zurücknehmen. --Bsmuc64 01:57, 24. Dez 2005 (CET)

Danke erstmal für die Mühe. Aber den Antrag kann ich nicht zurücknehmen. Ich kann aber statt gegen, für den Artikel stimmen, sofern er mir gut genug erscheint. Ein erster Blick zeigt aber, dass er noch starke Schwächen in der Form hat. Wenn ich Zeit habe, lese ich ihn mir aber durch und werde meine Kritik anpassen. --Coma 03:07, 24. Dez 2005 (CET)
Ok, ich hab es mir angesehen und finde es immernoch nicht gut. Ich hab mal oben ein bissel überarbeitet. Zunächst würde ich nicht diese fixe Schrift nutzen, also mit ":" statt mit " " Einrücken. Die Buchstaben in der Notation der Züge sollten kursiv, die Zahlen in der Notation tiefgestellt werden. Die Züge sollten in einer Zeile, getrennt durch "|" geschrieben werden, damit das Layout nicht so listenmäßig ist (also so, wie ich es jetzt gemacht habe). Auf die Extra-Überschriften sollte man glaube verzichten.
Für die Animationen hab ich noch folgenden Vorschlag: Diese sollten durch ein Stand-Bild ersetzt werden, damit die nicht beim Lesen ablenken. In der Bildunterschrift sollte ein Link angegeben werden, der zur Animation führt. (Die Bildunterschrift sollte den Leser davon natürlich auch in Kenntnis setzen.) --Coma 03:40, 24. Dez 2005 (CET)
Da wir ja jetzt auch Videos einbinden können, wäre es imho schön die Animierten Gifs durch solche zu ersetzen. Dann kann der Nutzer die Animation selbst starten und muss sich beim Lesen nicht das geblinke antun. --Koethnig 23:14, 24. Mai 2011 (CEST)

Berechnung der Jahre[Quelltext bearbeiten]

Für alle, welche es wissen wollen, wie ich umgerechnet habe:

1 greg. Jahr dauert durchschnittlich 365 d 5 h 49 m 12 s = 31556952 s
1 Monat dauert durchschnittlich 1/12 Jahr = 2629746 s

Daraus ergibt sich das von mir angegebene Ergebnis. Bsmuc64 02:15, 13. Jan 2006 (CET)

Nur dauern Jahre nun einmal 365 oder 366 Tage und keine gebrochenen Teile, von Schaltsekunden gar nicht zu reden.--Gunther 02:22, 13. Jan 2006 (CET)
Mal ganz abgesehen davon, dass es ja wohl nur um die Größenordnung geht und da reichen die drei höchstwertigen von 0 verschiedenen Ziffern locker! Wir schreiben schließlich eine Enzklopädie für Menschen, nicht für Androiden wie Data! --Koethnig 04:08, 13. Jan 2006 (CET)

Leichter mit abwechselnd schwarzen und weißen Scheiben?[Quelltext bearbeiten]

Ich kann mir vorstellen, daß zumindest der iterative Algorithmus leichter beschreibbar wird, wenn die Scheiben abwechselnd schwarz und weiß sind. Mag's jemand ausführen? -- Wegner8 09:05, 30. Jan 2006 (CET)

Was genau sollte dann einfacher werden? --Koethnig 09:38, 30. Jan 2006 (CET)

Statt aus "Anzahl von Scheiben gerade oder ungerade" (wie in früherer Version) kann man dann aus der Farbe der Scheibe das Ziel erschließen. -- Aber es ist schon wahr, ich sollte selber die Arbeit tun. -- Wegner8 10:24, 30. Jan 2006 (CET)

Hmm, ich seher eher, dass der Pseudocode dadurch länger und damit sowohl für den Laien, als auch den Experten unverständlicher wird. In der normalsprachlichen Darstellung wird es kaum etwas bringen. Ich vermute, selbst da wird der Text nur unnötig länger und nicht unbedingt verständlicher. Es könnten eher neue Missverständnisse auftreten, z.B. daß die Farbgebung irgendwie für das Spiel relavant wäre (wo sie es doch lediglich für den Algorithmus wäre). Abgesehen davon sehe ich die Gefahr, dass dann wieder ne ganze Menge Konsistenz im Artikel verloren geht, die ich mit den umfangreichen Änderungen eigentlich auch erreichen wollte. --Koethnig 10:30, 30. Jan 2006 (CET)

Rekursiver Algorithmus: revert?[Quelltext bearbeiten]

Sollten wir nicht vom rekursiven Algorithmus die Version von 11:43, 18. Jan 2006 wieder herstellen? Sie ist m.E. für Mathematik-Unkundige viel leichter verständlich; Mathematiker und Informatiker kennen sie sowieso. -- Wegner8 08:54, 30. Jan 2006 (CET)
Hier ist sie, zwischen zwei Querstrichen:


Obwohl es auf den ersten Blick kompliziert klingt, gibt es für das Spiel also einen ganz einfachen rekursiven Algorithmus. Da sich ein Computerprogramm zur Lösung des Spiels mit wenigen Zeilen schreiben lässt, ist Türme von Hanoi ein klassisches Beispiel für rekursive Programmierung. Die rekursive Lösung eines Problems zeichnet sich dadurch aus, dass ein komplexes Problem aufgeteilt wird in ein triviales Problem (Transport nur einer Scheibe) und ein weniger komplexes Problem (Transport eines kleineren Turms), auf das dann wieder der gleiche Algorithmus angewandt werden kann.

Beispiel-Algorithmus rekursiv (geschrieben in Pseudocode):

{TT| Rezept R ("Versetze Turm T auf Ziel Z"):
- Wenn der aktuelle Turm T nur noch 1 Scheibe groß ist:
  Setze ihn direkt auf das aktuelle Ziel Z, und fertig!
- Sonst mach folgendes:
  1. Versetze (mit demselben Rezept R) den Teilturm TT, der aus allen
     außer der untersten Scheibe des aktuellen Turms besteht, zu
    dem Zwischenziel ZZ, das nicht das Ziel Z für T ist!
  2. Lege die verbliebene unterste Scheibe von T an das Ziel Z!
  3. Versetze (mit demselben Rezept R) den vorher versetzten Teilturm TT nun
     auf die soeben nach Z versetzte untere Scheibe!
}


Ich erkläre es dann auch gerne nochmal hier in anderen Worten: Es macht keinen Sinn jemanden etwas in Pseudocode erklären zu wollen, der von Pseudocode keine Ahnung hat. Damit es alle verstehen beschreibt man einen Algorithmus also einmal in natürlicher Sprache und einmal als Pseudocode. Im Idealfall ist der Pseudocode einfach genug (kommt also mit möglichst wenig syntaktischen Elementen und Annahmen aus), dass man auch als Laie dem Pseudocode mit Hilfe der natürlichensprachlichen Erklärung folgen kann. Unabhänig davon reicht es für den Laien aber vollkommen den Algorithmus anhand der natürlichsprachlichen Erkärung nachzuvollzuiehen. Wenn daran etwas unverständlich ist, sollte dieser Teil verbessert werden und nicht sinnlos am Pseudocode rumgedoktert werden. Im übirgen wird mir schon schlecht, wenn ich obige (nichtvorhandene) Wikisyntax sehe! Wer auch immer der Autor dieses Pseudocodes war, sollte sich vielleicht erstmal mit diesem Thema beschäftigen. --Koethnig 09:36, 30. Jan 2006 (CET)

Kapitel "Hanoi" aus Benutzerdiskussion Koethnig[Quelltext bearbeiten]

(bis zum nächsten Querstrich)

Rekursiv und iterativ[Quelltext bearbeiten]

Wäre es nicht viel einfacher, zu zeigen, dass der iterative Algorithmus dieselben Züge liefert wie der rekursive? Induktiv kann man ja leicht zeigen, dass beim rekursiven Algorithmus bei jedem zweiten Zug die kleinste Scheibe bewegt wird und dass die Bewegungsrichtung immer dieselbe ist.--Gunther 04:58, 28. Jan 2006 (CET)

Ja, mittlerweile glaube ich auch, dass das einfacher sein könnte, ich bin aber glaube schon zu müde, um zu sehen, wie das exakt funktioniert. Ich werde mir mal noch die Aussagen im letzten Abschnitt anschauen und schauen, ob ich noch in der Lage bin auch dort was zu verbessern und dann geh ich schlafen. Heute ist auch noch ein Tag :-). --Koethnig 05:08, 28. Jan 2006 (CET)
Ok, ich merke grade, dass ich nichts mehr gebacken bekomme! Ich überlasse das Feld für die nächsten Stunden dir! :-) --Koethnig 05:12, 28. Jan 2006 (CET)
Ich fürchte, da kommt heute und evtl. auch morgen nicht mehr viel. Lass' Dir Zeit, ich wünsche eine gute Nacht.--Gunther 05:22, 28. Jan 2006 (CET)

Ich fand die Darstellung des rekursiven Algorithmus früher in Pseudocode viel klarer und einfacher als Deins. -- Warum Du den Absatz bei Themenwechsel und die typographische Rekursion wieder rausgenommen hast, begreife ich auch nicht. -- Ich empfehle, viel vorsichtiger zu ändern und anderen Benutzern auch zuzutrauen, daß sie gute Gründe für ihre Arbeit haben. -- Wegner8 19:56, 28. Jan 2006 (CET)

Hmm, ich finde "meine" Darstellung irgendwie übersichtlicher! Was stört dich denn an der neuen Darstellung? Deinen Satz mit "begreife ich auch nicht." am Ende begreife ich nicht!? was bitte soll ich rausgenommen haben? Ob jemand gute Gründe für seine Arbeit hat ist übrigens ziemlich irrelevant. Gute Gründe haben z.B. auch Linkspammer für "ihre Arbeit". Wichtig in einer Enzyklopädie ist zunächst, ob die Darstestellung korrekt und genau genug ist, anschließend (erst), dass sie möglichst verständlich ist. --20:58, 28. Jan 2006 (CET)
Die neue Darstellung erfordert mehr Vertrautheit mit Formalismen als der alte Pseudocode! Für Mathematiker und Informatiker ist der Algorithmus trivial, für andere war die Darstelllung in natürlicher Sprache m.E. viel leichter verständlich als die Formeln. --
Genau vs. verständlich: Die gute Synthese ist eine verständliche Einführung für alle und dann eine exakte Darstellung für Kenner. --
Wegner8 07:25, 30. Jan 2006 (CET)
Die gute Synthese ist eine verständliche Einführung für alle und dann eine exakte Darstellung für Kenner. Genau deshalb wird der Algorithmus einerseits direkt über dem Pseudocode in (ordentlicher) natürlicher Sprache beschrieben und andererseits mit Hilfe des relativ sauberen knappen Pseudocodes, der vom Fachmann leichter und schneller verständlich ist! Wo also ist das Problem? --Koethnig 09:16, 30. Jan 2006 (CET)

Animation[Quelltext bearbeiten]

Hi Koethnik, ich habe die Animationen wieder eingefügt, da die Wikipedia nun einmal in erster Linie kein gedrucktes Werk ist. Mit dem Argument müsstest du jede Animation hier verbieten. Ich habe bisher, von dir abgesehen, nur positive Reaktionen auf diese Bilder bekommen. Sieh' dir bitte auch die Kommentare bei der Abstimmung zum lesenswerten Artikel an. Ich weiss, dass du die Animationen nicht magst, aber du wirst damit leben müssen. -- Gruß und Danke für die Arbeit an dem Artikel aka 21:37, 28. Jan 2006 (CET)

Ich habe erst gestern jemanden gefragt, sich den den Artikel durchzulesen, und wie viele andere die ich fragte, hat er sich beim Lesen des Textes von den Animationen abgelengt gefühlt. Soetwas lenkt nun mal die Aufmerksamkeit auf sich und so langen man eine Anmitaion nicht explizt starte/stoppen kann, ist es in eben keine gute Idee soetwas im Artikel unterzubringen. Ich habe ja extra den Kompromiss gewählt, die Animationen noch zu verlinken, denn schlecht an sich sind sie nicht. Nur sind sie eben beim Lesen störend und das ist ein Manko, welches einfach nicht tragbar ist. Und genau das ist auch der Grund, warum Animationen prinzipell (noch) nicht direkt genutzt werden sollten, solange man sie nicht explit starten/stoppen kann. --Koethnig 17:11, 29. Jan 2006 (CET)
Na, davon, dass diese Meinung (Animationen prinzipiell nicht direkt benutzen) mehrheitsfähig ist, bin ich nicht überzeugt ;) Wenn sie einen tatsächlich stören, kann man aber in den meisten Browsern Animationen anhalten: bei Firefox und beim IE geht das durch Drücken von Escape, bei Opera mit dem durch F12 erscheinenden Menu. Alternativ könnte man sie ganz nach unten über die Weblinks schieben. -- aka 18:04, 29. Jan 2006 (CET)
Nunja, ich finde es nicht gerade Oma-tauglich, wenn man solche Funktionen zum Anhalten von Animationen, die doch eher selten genutzt werden, kennen muss. Es ist imho immernoch ein Unterschied, ob etwas möglicherweise ungewünschtes ausgeschaltet werden muss (Zwang!), oder etwas möglicherweise gewünschtes einschalten kann (Freiwilligkeit!), zumal das "Einschalten" durch Verfolgung eines Links für den Betroffenen wesentlich einfacher zu realisieren ist (die Funktionsweise kennt er nämlich) als das Abschalten von Animationen (die Funktion muss er oft erst suchen).
Welchen Vorteil das verschieben nach unten gegenüber einer direkten Verlinkung an der passenden Stelle bringen soll, erschließt sich mir auch nicht.
Zum Thema Mehrheitsfähigkeit: Wikipedia ist keine Demokratie (genausowenig wie irgend ein Gegenteil davon)! Den Spruch solltest du mittlerweile kennen und verstanden haben. So neu bist du ja nun nicht mehr dabei. Animationen verbieten will kaum jemand! Auch ich nicht. Von der Verwendung muss aber (mit obiger Begründung) eben abgeraten werden. Es gibt sicher Ausnahmen, wo die Begründung nicht greift. Hier tut sie es. Es ist eine Frage der Abwägung. Und hier haben sich mehrere Leser schon daran gestört dem Text nicht folgen zu können, gerade weil die Animationen massiv abgelenkt haben. Bilder und Animationen sind fast immer nur Zugaben zum Text, der für sich alleine genommen auch verstanden werden können sollte. Bilder und Animationen sollten daer maß- und sinnvoll eingesetzt werden und das Textverständnis erleichtern! Darüber besteht im übrigen sehr wohl ein Konsens, seit es möglich ist Bilder direkt einzubinden! Eine Animation, die vom Text ablenkt, erfüllt dieses Kriterium sicher nicht! Das statische Bild ist sicher genauso hilfreich (wenn nicht sogar hilfreicher, denn man kann sich beliebig Zeit lassen und zurückspringen, um die einzelnen Schritte zu verfolgen, während man bei der Animation an deren Tempo gebunden ist). Wer wirklich die Animationen sehen will kann das (konnte das), in dem er den Links unter dem statischen Bild folgt. --Koethnig 19:12, 29. Jan 2006 (CET)
Ich finde nicht, dass die Animation ablenkt. Wir sind hier halt verschiedener Ansicht. Im übrigen bin ich fast genau so lange dabei wie du ;) -- Gruß, aka 19:22, 29. Jan 2006 (CET) PS: als Kompromiss könnte man es auf eines der beiden Bilder beschränken. So hatte ich es auch ursprünglich einmal eingefügt. -- aka 19:25, 29. Jan 2006 (CET)
Ich weiß wie lange du dabei bist! :-) Offensichtlich sind wir verschiedener Ansicht. Das dich die Animation nicht stört ist nachvollziebar. :-) Das hift nur denjenigen Lesern wenig, die sie stört! Und die Zahl dieser Leser ist nicht gerade irrelevant. Wir schreiben ja nicht für uns beide an dem Artikel! Wir schreiben sie für die Leser. Und ich denke man kann sich drehen und wenden wie man will. Am Ende schadet die direkt eingebunde Animation mehr als sie nützt. Dem einen mehr, dem anderen vielleicht weniger. Egal wie schön sie aussieht (und sie ist ja wirklich schön gemacht). Deshalb will ich ja auch nicht auf die Animation verzichten (auf beide nicht), sie anderseits aber nur als Link einbinden. Daneben spricht dann eben auch noch der oben beschriebene Vorteil der statischen Grafik oben gegen diese Animationen. --Koethnig 09:23, 30. Jan 2006 (CET)

Andere Meinungen zur Darstellung des rekursiven Algorithmus? Wegner8 10:24, 30. Jan 2006 (CET)

Sehr zweifelhaft: Rückbauten von Koethnig[Quelltext bearbeiten]

  • Zum dritten Mal, „Beispiel für diese Art der Problemlösung“: Welche Art?
Ganz offensichtlich ist mit "dieser Art" die "rekursive Programmierung" gemeint! Was sonst?
  • „das verschieben“ ist schlicht falsch; da geht nur „das Verschieben“.
Was zeigt, dass Inhaltliches und Rechtschreibung getrennt korrigiert werden sollten!
Ist es in imho hier nicht, da es alle die, die es nicht sofort sehen (kann ja mal passieren) darauf hinweißt, dass die Lösung sehr sehr nahe liegt und (in diesem Fall der wichtige Punkt) darauf hinweist, dass es keiner näheren Begründung bedarf! Im Falle mathematischer Artikel/Absätze/Beweise ist die Vokabel "Offensichtlich" also nicht (immer) überflüssig!
  • „Nach dem diese bewegt wurde“ ist schlicht falsch; da geht nur „Nachdem“.
Siehe oben!
  • „Dies widerspricht der ersten Feststellung“ ist auch falsch; die Feststellung bleibt gültig, sie ist sogar hier anwendbar.
Natürlich bleibt die Feststellung gültig. Es wird ja garnichts anderes behauptet! Ungültig ist die implizite Annahme, dass es sich dann noch um eine optimale Zugfolge handelt. Das(!) wäre der Punkt gewesen, den man klarer hätte herausstellen müssen!
  • Beiläufig: „immer nur in dieselbe Richtung“ ist genauer als „immer nur in eine Richtung“.
OK!
  • „unterschiedliche Richtungen“ – kann es zwei Richtungen geben, die nicht unterschiedlich sind? Schwulst, Nominalstil (Substantiv zum Adjektiv gemacht).
Ja, es kann zwei Richtungen geben, die nicht unterschiedlich sind, weil es hier um den zeitlichen Ablauf handelt. Die Richtung zum Zeitpunkt 1 ist dieselbe wie zum Zeitpunkt 2. Die Richtung ist also hier eine Variable, die zeitabhängig unterschiedliche oder gleiche Werte haben kann! Das es nicht passieren darf, war genau die Aussage, die damit gemacht werden sollte!
  • „Insgesammt“ ist auch falsch.
Siehe oben!
  • Auch „angeordent“ ist nur falsch.
Siehe oben!

Lieber Koethnig, sei so gut und mach wenigstens die gröbsten der von Dir wieder hergestellten Fehler raus. Und traue anderen auch etwas zu! -- Wegner8 15:57, 6. Feb 2006 (CET)

Das Problem ist doch offensichtlich, dass du an einigen Stellen verschlimmbesert hast! Bei deinen inhaltlichen Änderungen hast du einfach zu oft danebengegriffen und teilweise verschlimmbessert! Probleme lassen sich nicht irgendwie "am besten" lösen. Jedefalls nicht, solange man dieses "am besten" nicht exakt definiert. Nach deiner Änderung war das eindeutig POV. Die Rechstschreibkorrekur ist durchaus willkommen. Auch das Entfernen meiner viel zu oft verwendeten Füllwörter (nur da muss man schon genauer aufpassen, was wirklich nicht gebraucht wird). Deshalb meine Empfehlung das zu trennen! Es ist einfach doof, wenn man zig Dinge reverten und dabei genau filtern muss, was Sinn machte, und was nicht. Und in diesem Fall entscheide ich mich lieber kurz und schmerzlos den korrekteren Inhalt zu behalten, der ist letzlich wichtiger. --Koethnig 16:48, 6. Feb 2006 (CET)
Da die meisten Änderungen die Analyse des iterativen Algorithmus betreffen: Ich schlage vor, diesen Teil zu ersetzen durch:
Für die Optimalität des iterativen Algorithmus genügt es zu zeigen, dass die durch den rekursiven Algorithmus bestimmte Zugfolge den Bedingungen des iterativen Algorithmus genügt. Dies ergibt sich aus der folgenden Überlegung: Das Versetzen eines nichtleeren Teilturmes beginnt und endet jeweils mit einer Bewegung der kleinsten Scheibe. In der rekusiven Funktion wird also unmittelbar vor und unmittelbar nach dem Verschieben der i-ten Scheibe die kleinste Scheibe bewegt. Da jede Bewegung einer Scheibe auf dieser Anweisung beruht und die kleinste Scheibe aufgrund der Optimalität niemals zweimal direkt hintereinander bewegt wird, wird sie in jedem zweiten Zug versetzt. Die zyklische Richtung, in der die beiden Teiltürme in einem Aufruf der Funktion versetzt werden, ist für die beiden rekursiven Aufrufe a-c-b und b-a-c der Funktion dieselbe, nämlich der Richtung a-b-c entgegengesetzt. Infolgedessen ist die zyklische Richtung für alle Aufrufe mit i = 1 dieselbe, d.h. die kleinste Scheibe wird immer in derselben Richtung bewegt. Somit erzeugt der rekursive Algorithmus dieselbe Zugfolge wie der iterative.
--Gunther 16:25, 6. Feb 2006 (CET)
Da es auf den ersten Blick einfacher und vollständiger zu sein scheint, würde ich das bevorzugen! Ich werde den Abschnitt nochmal genauer prüfen, und wenn ich dann immernoch keine Probleme sehe, ersetze ich ihn. --Koethnig 16:50, 6. Feb 2006 (CET)
Dieser Abschnitt benötigt zumindest die beiden Festellungen, die braucht man also noch irgendwie, oder man muss den Abschnitt umarbeiten!
Der iterative Algorithmus führt auch dann zur Lösung, wenn die Stäbe falsch auf dem Kreis angeordent werden. Im Falle einer falschen Anordnung werden die Scheiben aber zuerst auf Stab B verschoben. Da in dieser Situation die Abbruchbedingung nicht erfüllt ist, wird anschließend weiter auf C verschoben. Der Algorithmus benötigt in diesem Fall damit doppelt so viele Züge, ist dann also nicht optimal. Zusammen mit dem iterativen Algorithmus zeigt dies auch, dass die obigen Feststellungen für nichtoptimale Zugfolgen zwar hinreichend, aber nicht notwendig sind. Allerdings reicht es, als zusätzliche Bedingung das Verbot des Erreichens der Stellung zu fordern, bei der alle Scheiben auf dem Stab B liegen.
Ansonsten hab ich jetzt keine Probleme mit Gunters Vorschlag gesehen. --Koethnig 17:20, 6. Feb 2006 (CET)
Wenn der Turm auf die falsche Stange verschoben wurde, ist die zweite Anweisung des iterativen Algorithmus nicht durchführbar.--Gunther 17:27, 6. Feb 2006 (CET)
Stimmt, jetzt seh ich das auch :-)! Insofern ist der Absatz sowieso hinfällig, weil falsch! --Koethnig 17:35, 6. Feb 2006 (CET)
Und der iterative Algorithmus war auch fehlerhaft. der zweite Zug wird im letzten Schleifendurchgang natürlich nicht mehr ausgeführt. --Koethnig 20:47, 6. Feb 2006 (CET)

"Buneman und Levy 1980"[Quelltext bearbeiten]

Kann man das irgendwie zu einer vernünftigen Literaturangabe machen? Ich frage mich nämlich ernsthaft, ob diese Zuschreibung korrekt sein kann. Dass eine Scheibe immer in derselben Richtung weiterwandert und die kleinste bei jedem zweiten Zug bewegt wird, sollte doch bereits Lucas aufgefallen sein. Schreibt vielleicht Knuth etwas dazu in TAOCP?--Gunther 16:40, 6. Feb 2006 (CET)

Ich schau mal nach! --Koethnig 16:48, 6. Feb 2006 (CET)
In den ersten drei Bänden hab ich nichts gefunden. Rekursion wird in Kapitel 8 behandelt, das ist dann aber erst Thema des vierten Bandes (und den gibts ja noch nicht). Da würde ich "Towers of Hanoi" am ehesten erwarten. --Koethnig 17:08, 6. Feb 2006 (CET)
Zumindest die Literaturstelle habe ich inzwischen herausgefunden (nachdem es mir gelungen war, Buneman richtig zu schreiben...): Peter Buneman, Leon S. Levy: The Towers of Hanoi Problem. Inf. Process. Lett. 10(4/5): 243-244 (1980).--Gunther 17:12, 6. Feb 2006 (CET)
Vielleicht hilft das hier? http://www.cs.wm.edu/~pkstoc/biblio2.pdf --Koethnig 17:31, 6. Feb 2006 (CET)

Aus dem Review[Quelltext bearbeiten]

Ist (leider) wieder zum Lesenswerten gewählt worden. Deshalb will ich hier nochmal auf Stimmenfang gehen, damit die pro-Stimmer ihre Stimme nochmal um die Ohren gehauen bekommen und sich vielleicht erbarmen "Ihren" Artikel zumindest ab der zweiten Hälfte, die imho unter aller Sau ist, zu verbessern. --Koethnig 13:50, 28. Dez 2005 (CET)

Ich habe die erste Hälfte verbessert; m.E. ist die zweite ordentlich und der Artikel lesenswert. -- Wegner8 10:47, 25. Jan 2006 (CET)
Danke. Nunja, ich finde gerade die zweite Hälfte sehr schwach; einerseits die Darstellung, andererseits die Struktur und auch inhaltlich fehlt mir der Korrektheitsbeweis (naja, es es nur eine kurze Begründung). --Koethnig 12:14, 25. Jan 2006 (CET)
Für welche Aussage?--Gunther 12:18, 25. Jan 2006 (CET)
Dafür, das der Algorithmus funktioniert. Im Wesentlichen muss man ja nur sagen, dass "der nächsjüngere Mönch" nur Scheiben bewegt, die kleiner sind als diejenigen, die er liegenläßt. Aber vielleicht habe ich diese Aussage auch nur überlesen. Die Struktur hab ich mal angepasst, ich weiß aber nicht, ob die Texte jetzt noch richtig passen. --Koethnig 12:28, 25. Jan 2006 (CET)
Es ist doch egal, welche Scheiben ein Mönch bewegt, Hauptsache, er erledigt den Auftrag, "seinen" Teilturm zu versetzen und sonst insgesamt nichts zu verändern. Und das ist sichergestellt, solange er sich auf den nächstjüngeren Mönch verlassen kann. Soll man das wirklich noch breittreten?--Gunther 12:37, 25. Jan 2006 (CET)
Breittreten nicht, aber so ein Satz fehlt trotzdem zur Rechtfertigung. Denn man muss sich schon die Frage stellen, ob ein Mönch nicht gezwungenermaßen eine größere Scheibe auf eine kleinere legen muss. Dass er es nicht muss, läßt sich sicher in einem Satz begründen, aber der muss auch rein. Ohne Korrektheitsnachweis ist ein Algorithmus aus wissenschaftlicher Sicht ziemlich unbrauchbar. --Koethnig 13:12, 25. Jan 2006 (CET)
Man kann das von Dir angegebene Argument in gewisser Weise noch aufgliedern: Jeder Mönch darf seine Scheibe umsetzen, weil sich zu diesem Zeitpunkt alle kleineren Scheiben auf der dritten Stange befinden. Gefällt mir vom theoretischen Aspekt her besser.--Gunther 00:54, 28. Jan 2006 (CET)
So, ist sicher noch nicht perfekt, aber viel mehr Zeit will ich in diesen Artikel nicht mehr reinstecken. Ab jetzt würde ich ihn auch als Lesenswert betrachten. Meine Typos und Kommafehler dürft ihr korrigieren! :-) --Koethnig 15:55, 28. Jan 2006 (CET)

Seit wann muss denn die Wikipedia Korrektheitsbeweise für Algorithmen liefern? Sofern es einen Weblink oder eine Literaturangabe gibt, wo ich den Beweis finde, ist eine reine Beschriebung doch völlig ausreichend. Ich verstehe das Argument „Nicht lesenswert weil ein Korrektheitsbeweis fehlt“ nicht. --Θ~ 15:03, 31. Jan 2006 (CET)

Es soll ja kein ordentlicher mathematischer Beweis sein, aber auf die Idee und die möglichen Probleme dabei sollte man schon eingehen, gerade wenns relativ einfach ist. Tut der Artikel ja jetzt auch. --Koethnig 15:30, 31. Jan 2006 (CET)

Intuitiver rekursiver Algorithmus?[Quelltext bearbeiten]

Zitat: Die Korrektheit des [rekursiven] Algorithmus ist zwar intuitiv glaubhaft, formal aber nicht trivial beweisbar.

Entweder habe ich einen seltenen Gehirnschaden, oder die Annahme, die Hanoi-Rekursion sei intuitiv glaubhaft, ist für Normalos definitv falsch. Oder ist es für euch ganz leicht verständlich?

Für mich schon! --Koethnig 14:28, 4. Mär 2006 (CET)

P.S.: zur Code-/Pseudo-Code-Diskussion - fügt doch beides in den Artikel ein! Danke, --Abdull 16:18, 3. Mär 2006 (CET)

Welche Code-/Pseudo-Code-Diskussion? --Koethnig 14:28, 4. Mär 2006 (CET)

Psychiolische Aspekte der Türme von Hanoi[Quelltext bearbeiten]

Nachdem ich das Spiel letztens gespielt hatte, hat mir ein Dipl. Pädagoge gesgat, dass in diesem Spiel der unbewusste Trieb deutlich wird, einen korrekten Schritt nicht wieder zurückzunehmen, obwohl man das tun muss um weiterzukommen. Kann dazu irgendjemand mehr sagen und evtl. was in den Artikel einfügen? --80.141.78.14 18:04, 13. Dez. 2006 (CET)

Äh, unbewusste Triebe? Also Piaget hat das Turmproblem Kindern vorgesetzt und kam zu dem Schluß, daß Kinder im präoperationalen Stadium Schwierigkeiten haben, Schritte vorzunehmen, die sie augenscheinlich der Lösung nicht näher bringen bzw. sie sogar weiter davon entfernen. Meinte er vielleicht das? 141.53.95.190 15:05, 19. Nov. 2007 (CET)

Tabelle[Quelltext bearbeiten]

Die Tabelle im Abschnitt "Praktische Unlösbarkeit" ist irreführend. Auf den oberflächlichen Blick wird dem Leser der Eindruck vermittelt, ein Computer würde so lange brauchen. Entweder man hebt im Abschnitt die Wörter Unter der Annahme fett hervor, oder man müsste die Tabelleüberschrift verlängern, was aber nicht schön aussehen würde. Hat jemand eine gute Idee? -- ri st 20:43, 15. Jan. 2007 (CET)

Jepp, ein Computer braucht so lange. Praktisch unlösbar. Glaubs einfach. --84.56.253.226 01:25, 16. Apr. 2009 (CEST)

Geschichte/Namensherkunft[Quelltext bearbeiten]

Mich würde interessieren, warum es die Türme von Hanoi sind, wenn sie der Legende zufolge in Benares stehen. Weiß das jemand? 84.143.69.97 18:57, 3. Nov. 2007 (CET)

Hier ist das Original https://archive.org/details/rcrationsmathma07lucagoog, S. 55 - 58. --Digamma (Diskussion) 21:13, 17. Sep. 2015 (CEST)

Bitte noch eine dritte Animation mit 5 Scheiben[Quelltext bearbeiten]

OK, hat sich gelöst, hier habe ich eine Seite mit bis zu 7 Scheiben gefunden : http://www.puzzle-factory.com/java/hanoi/hanoi-game4.html --84.56.253.226 01:32, 16. Apr. 2009 (CEST)

rekursiver Algorithmus[Quelltext bearbeiten]

Mir erscheint der beschriebene rekursive Algorithmus falsch ,siehe hierzu auch : http://www.mi.fh-wiesbaden.de/~schwan/Vorlesungen/Prog1/Skripte/Prog1US9.pdf (nicht signierter Beitrag von 91.0.248.227 (Diskussion | Beiträge) 18:22, 16. Mär. 2010 (CET))

Im Kloster 20-plus[Quelltext bearbeiten]

Im Kloster des jetzigen Jahr-Tausend, sind nicht 64 Mönche, sondern nur 2. Und die machen es so: Mönch 1 bedient ausschließlich den kleinsten Spielstein, und Mönch 2 alle anderen Steine. Sie "ziehen" immer abwechselt und jeweils in Stumpfsinn. Mönch 1 mit seinem Zwerg, hat ja im Prinzip die Wahlfreiheit: Der Kleine passt immer. Aber er bewegt ihn strikt im Kreis über alle drei Türme. Mönch 2 geht es ganz anders. Einer der Türme wird blockiert von der Hand des Bruders. Da bleiben nur die anderen beiden Türme für seine Aktion. Doch hat er keine Wahl: Der Kleinere muss auf den Größeren wandern. Mich wundert manchmal, dass man die Türme von Hanoi auf der Ebene eines kombinatorischen Problems behandelt. Gibt es Kritik, oder Vorschläge, wíe man das einbauen kann? --B-greift 21:56, 24. Mai 2011 (CEST)

Das ist genau der Algorithmus, der im Abschnit "iterativer Alg." beschrieben wird! Was genau willst du einbauen? Die Geschichte dazu? Im Artikel steht imho nirgends was von einem kombinatorischen Problem, oder hab ich das überlesen? --Koethnig 23:01, 24. Mai 2011 (CEST)

Disambiguation[Quelltext bearbeiten]

Habe heute beim Lemma Datensicherung, Sicherungsart "Türme von Hanoi" (http://de.wikipedia.org/wiki/Datensicherung#T.C3.BCrme_von_Hanoi), auf dieses Lemma hier einen Link eingesetzt. Nun müsste man hier zu Beginn wohl einen Begriffsklärungshinweis einsetzen? --MaxBE (Diskussion) 16:16, 16. Jan. 2013 (CET)

Habe den Begriffsklärungshinweis heute eingesetzt – hoffe, das sei OK. --MaxBE (Diskussion) 23:03, 20. Jan. 2013 (CET)