Discuter:Tours de Hanoï

Un article de Wikipédia, l'encyclopédie libre.

Je ne vois pas trop l'intérêt de multiplier les traductions dans différents langages de programmation de l'algorithme des tours de Hanoï, si ce n'est pour faire du remplissage. Il me paraîtrait beaucoup plus opportun de donner un seul exemple de programme récursif, dans un seul langage. Theon 29 avril 2006 à 17:45 (CEST)

[modifier] Animation fausse !

Bonjour. Cet article est complétée par une image animée représentant une soi-disante résolution du problème :

Étapes de la résolution du problème avec 4 disques.
Étapes de la résolution du problème avec 4 disques.

Seulement, la réponse donnée est erronnée ! Dans cette animation n'est en effet pas respectée la deuxième partie de la première règle :

  • on ne peut placer un disque que sur un autre disque plus grand que lui [...]

Ce qui vaut également pour une "traversée" de la gauche vers la droite : la véritable solution est en vérité un peu plus longue. J'ai donc supprimé cette image, je vous laisse en mettre une autre, correcte, si le coeur vous en dit. Lazuli 27 octobre 2007 à 15:15 (CEST)

Euh... Je vois pas en quoi l'animation est fausse, c'est exactement comme ça qu'on résoud le problème des Tours de Hanoï. Je ne sais pas d'où vient cette histoire de « traversée », mais en tout cas j'ai toujours vu la solution décrite par l'image pour résoudre le problème. PieRRoMaN 28 octobre 2007 à 01:00 (CEST)

L'animation est parfaitement correcte. Theon 28 octobre 2007 à 09:28 (CET)

Ce n'est pas comme ça qu'on me l'a apprise et que je l'ai toujours vu : Par exemple, ici, au début, le disque rouge va en position 2, le disque jaune va en position 3 (et passe par dessus le disque rouge, plus petit, c'est ce que j'appelle "traversée"), puis le rouge s'arrête sur le jaune en position 3. Dans la version qu'on m'a apprise, le disque rouge va en position 3, puis le jaune en position 2, puis le rouge retourne en position 1, le jaune se déplace alors en position 3 et le jaune va le rejoindre, et ainsi de suite : c'est plus long, mais de cette manière jamais un disque ne se trouve sur un disque plus petit, même s'il ne s'arrête pas (ce que j'appelais "traversée"). Ma version me parait la plus proche des règles, mais peut-être existe-il deux versions du même jeu ? L'une plus rapide ou le passage sur un disque plus petit est autorisée s'il ne s'agit pas d'un stationnement, et une autre plus longue où cela est interdit... Dans ce cas, peut-être serait-il bon de mentionner les deux versions dans l'article ? Je le laisse à votre jugement : je ne suis pas mathématicienne, loin de là, je n'ai modifié cet article que parce que ma mère, professeure de mathématique, me l'a mentionné comme étant faux. Et c'est effectivement la version "longue" que je viens de décrire qu'elle m'avait apprise dans mon enfance, et qu'elle apprend à ces élèves. Cela dit, il est possible qu'il ne s'agisse pas du tout de la version "officielle", et je ne sais pas vraiment vers quelles sources fiables me tourner pour confirmer ou infirmer ses propos (et je serai bien incapable de dire à laquelle des deux versions se reportent les algorythmes mentionnés dans cet article). A vous devoir, donc, et vraiment désolée si ma modification et mon intervention était à tord. Par curiosité, pourriez-vous tout de même me donner une "source" validant votre version ? Cela devrait intéresser ma mère. Merci beaucoup ! Lazuli

[modifier] Temps d'éxécution pour 64 anneaux.

Bonjour, me fiant à ma calculatrice, j'obtiens bien 24 heures/jour * 3600 secondes/heure=86400secondes/jour. Toutefois 2^64/86400 me donne 213.503.982.334.601,291851852, donc, à 2 décimales significatives, 214E12, ou 2,14E14. Je me permets donc de rectifier le 2,18E14 annoncé. En prenant 360 jours par an, j'obtiens de l'ordre de 213503982334601,291851852/360=593.066.617.596,114699588, disons 600 milliards d'années, ou quarante fois l'âge estimé de l'univers (15 milliards d'années), ce qui contredit les plusieurs trilliards d'années annoncés. — Le message qui précède, non signé?, a été déposé par RudeWolf (d · c).

En effet j'avais pris 84600 au lieu de 86400, et en prenant 365.25 j. par année on obtient 5.845*10^11 ans --Ef' 7 février 2008 à 19:39 (CET)