Les tours de Hanoï

Transcription

Les tours de Hanoï
Les tours de Hanoï
A la recherche des limites de l’ordinateur
L’histoire
L’histoire des tours de Hanoï a été découverte en 1883 par le mathématicien français Edouard Lucas.
Lorsque le Dieu hindou Brahma créa le monde, il construisit en son centre le grand temple de Benares
avec une tour de 64 disques d’or pur. Ensuite il donna aux moines du temple les instructions de transférer
les disques de cette tour selon certaines règles et expliqua qu’un coup de tonnerre ferait disparaître le
monde sitôt que ce devoir serait accompli.
Les règles du jeu
•
Les disques sont placés par ordre de grandeur, le
plus grand à la base et le plus petit au sommet.
•
On ne dispose que de trois places pour déposer
les disques, en comptant la tour 1 déjà complète.
•
On ne peut transférer qu’un seul disque à la fois,
en prenant garde de ne déposer qu’un petit disque
sur un plus grand, et non l’inverse. L’exercice est
terminé, lorsque la tour 3 est entièrement construite.
La solution du problème grâce à un algorithme
Lorsqu’on interrogea le prêtre supérieur pour lui demander s’il savait comment déplacer les disques,
celui-ci répondit : „Rien de plus facile. Je dois seulement mettre le disque le plus bas à sa place
définitive, sitôt que mes élèves auront déplacé les 63 disques. Ensuite, mes élèves, qui savent maintenant
déplacer une tour de 63 disques, peuvent reconstruire la tour à la place demandée et l’exercice est
résolu.”
En effet, chaque tour, sans considération du nombre de disques, peut être déplacée à l’aide de cette
procédure (algorithme) simple et récurrente. Définissons le nombre de disques par la lettre n. Une tour de
n disques peut ainsi être transférée, tandis que nous déposons d’abord les plus hauts n-1 disques sur
l’emplacement annexe, qu’ensuite nous transférons le disque du bas sur l’emplacement final prévu et
reconstruisons la tour sur l’emplacement annexe sur le disque le plus bas. Cette procédure est nommée
récursive, car elle s’utilise elle-même dans un traitement. Nous exigeons de savoir comment déplacer une
tour avec n-1 disques et expliquer de ce fait le transfert d’une tour de n disques. Notre programme
d’ordinateur prouve que cette procédure fonctionne effectivement.
Un exercice non résolu pour les moines de Benares
La difficulté du problème de Hanoï réside dans la complexité de décrire la solution. Pour mieux pouvoir
la comprendre, comptons une fois le nombre d’étapes, qui sont nécessaire au déplacement d’une tour. On
peut utiliser la formule mathématique suivante, qui décrit le rapport entre la hauteur de la tour et le
nombre d’étapes:
selon cette formule, 15 étapes sont nécessaires pour déplacer une tour de 4 hauteurs. Doublons la hauteur
de la tour à 8, alors, ce n’est pas comme on pourrait s’y attendre 30 étapes qui sont nécessaires, mais bien
255. Plus nous agrandissons notre tour, plus le nombre d’étapes s’amplifie de façon continue et accélérée.
Dans ce cas, nous parlons d’une croissance exponentielle.
Pour mieux comprendre les répercussions désastreuses de cette croissance exponentielle, supposons que
les moines de Benares peuvent déplacer un disque par seconde et qu’ils travaillent jour et nuit jusqu’à
l’achèvement de cet exercice. Alors nous pouvons, à l’aide de la formule ci-dessus, estimer que la durée
de transfert des différentes tours sera la suivante :
Hauteur tour:
5
10
20
30
40
50
Durée du transfert:
31 secondes
17 minutes
12 jours
34 ans
348 siècles
35 millions d’années
Ce tableau montre que pour des tours relativement petites, l’investissement en temps pour le transfert est
déjà incroyablement conséquent. Effectuons ce calcul pour la tour de 64 étages des moines de Benares,
cette tâche leur demandera 584 milliards d’années. Un chiffre inconcevable si l’on pense que notre
univers a approximativement 13,5 milliards d’années.
Les limites de l’ordinateur :
Mêmes les ordinateurs les plus modernes sont impuissants face à de tels exercices. Bien que les grands
ordinateurs actuels puissent transférer des milliers d’écritures par seconde, ils auraient également besoin
de millions d’années pour transférer une tour de 64 disques. Aucun homme ne souhaite attendre aussi
longtemps pour le résultat d’un tel calcul. Et même si un ordinateur résoudrait cet exercice en un laps de
temps convenable, il suffirait, en raison de la croissance accélérée, de simplement ajouter un seul disque
supplémentaire à la tour pour que cet ordinateur puissant échoue. Vous avez déjà certainement pensé à
concevoir une autre procédure, que celle du transfert des tours mentionné ci-dessus, qui permettrait de
diminuer de façon significative les étapes de travail. Seulement, on peut prouver mathématiquement, qu’il
n’existe pas d’autre procédure de transfert des tours de Hanoï, qui puisse engendrer moins d’étapes que
celle des prêtres de Benares.
L’informatique connaît actuellement des milliers de problèmes et d’applications de type identique et la
difficulté réside justement souvent dans la reconnaissance de ces caractéristiques. En conséquence
l’informatique théorique a entrepris la tâche d’étudier et de cataloguer ces problèmes. Cette volonté
présente naturellement aussi un intérêt économique, car les entreprises souhaiteraient que leurs employés
ne perdent pas de temps à résoudre des problèmes pour lesquels il n’existe purement et simplement rien
de tel.
Alors si nos recherches et nos études en informatique ont éveillé votre intérêt, nous vous recommandons
une visite sur notre page Internet : http://diuf.unifr.ch (Département d’Informatique), plus spécifiquement
http://diuf.unifr.ch/tcs (groupe de recherche en informatique théorique). Vous y trouverez également notre
programme à télécharger - Nous vous souhaitons beaucoup de plaisir à la découverte des limites de votre
ordinateur.
Livre recommandé :
Das Affenpuzzle und weitere Bad News aus der Computerwelt (allemand)
Computers Ltd.: What They Really Can't Do (anglais)
David Harel, Springer Verlag