Les tours de Hanoï

De la gauche vers la droite, les piques sur lesquels sont empilés les disques sont nommés A, B et C. Chaque disque porte un numéro en fonction de sa taille: le plus petit porte le numéro 1, le second plus petit le 2 et ainsi de suite. Les disques sont empilés sur le pique A et on veut les déplacer sur le pique C, en respectant les règles suivantes:

- un disque ne peut pas être posé sur un disque portant un numéro supérieur au sien

- on ne peut déplacer qu'un seul disque à la fois

On appellera $$\mbox{tour}_{n}$$ l'ensemble des disques du disque $$1$$ au disque $$n$$. Par exemple, la $$\mbox{tour}_{3}$$ est constituée du disque 1, du disque 2 et du disque 3. Mais on peut aussi dire qu'elle est constituée du disque 3 et de la tour 2 (puisque la tour 2 c'est le disque 1 et le disque 2).

Méthode des 2 disques
On veut connaître le nombre de déplacements nécessaires pour déplacer $$n$$ disques d'un pique à un autre.

Notons ce nombre $$x_{n}$$.

Par exemple, $$x_{0} = 0$$ car cela veut dire qu'il n'y a pas de disque, donc pas de déplacement à effectuer.

Ou encore, $$x_{1} = 1$$ car un seul disque à déplacer n'induit qu'un seul mouvement (un mouvement correspondant à un déplacement de disque)

Pour trouver le nombre de déplacements nécessaires pour déplacer $$n$$ disques, on va se concentrer sur le cas complexe le plus simple: le cas où nous devons déplacer 2 disques.

Supposons que les deux disques soient empilés sur le pique A et que nous voulons les déplacer sur le pique C.

On commence par déplacer le disque 1 du pique A vers le pique B. On peut désormais déplacer le disque 2 du pique A vers le pique C. Et enfin, on déplace à nouveau le disque 1, cette fois du pique B vers le pique C.

Ainsi, la tour constituée des disques 1 et 2 a été déplacée selon les règles du pique A vers le pique C. Et il n'existe pas de manière nécessitant moins de mouvements que celle-ci.

Ce qu'il faut retenir, c'est que pour déplacer le disque 2 de A vers C, on a du mettre le disque 1 sur un pique intermédiaire, le pique B. On déplace le disque 2 comme prévu et le disque 1 est ramené comme prévu sur le disque C.

Cette méthode, qui consiste à emmener tout ce qu'il y a au-dessus du disque à déplacer (le disque à déplacer est le 2, tout ce qu'il y a au-dessus est le disque 1) sur un pique intermédiaire, nous l'appellerons méthodes des 2 disques.

Si je veux déplacer une tour de 3 disques: je prends les deux disques 1 et 2 que je mets sur le pique intermédiaire, je déplace le disque 3 puis je redéplace les disques 1 et 2 sur le pique final.

On récapitule la méthode des 2 disques pour déplacer la $$\mbox{tour}_{n}$$:

1 - On déplace la $$\mbox{tour}_{n-1}$$ du pique A (départ) vers le pique B (intermédiaire)

2 - On déplace le disque $$n$$ du pique A (départ) vers le pique C (final)

3 - On déplace la $$\mbox{tour}_{n-1}$$ du pique B (intermédiaire) vers le pique C (final)

Mais du coup, il faut déplacer la $$\mbox{tour}_{n-1}$$ du pique A vers le pique B, puis plus tard du pique B vers le pique C. Il faut comprendre ici que déplacer la $$\mbox{tour}_{n}$$ nécessite de savoir déplacer la $$\mbox{tour}_{n-1}$$, et ce 2 fois (étape 1 et 3).

Application de la méthode des 2 disques
Intéressons-nous donc au nombre de déplacement nécessaire pour déplacer la $$\mbox{tour}_{n}$$. Rappelez-vous que ce nombre est noté $$x_{n}$$ Grâce à la méthode des 2 disques, on divise ce déplacement en 3 étapes, que nous avons déjà énoncé plus haut.

Commençons par l'étape 1: "1 - On déplace la $$\mbox{tour}_{n-1}$$ du pique A (départ) vers le pique B (intermédiaire)".

Ce que l'on fait ici, c'est donc déplacer la $$\mbox{tour}_{n-1}$$. Il faut donc $$x_{n-1}$$ déplacements pour cette étape là.

Ensuite vient l'étape 2: "2 - On déplace le disque $$n$$ du pique A (départ) vers le pique C (final)"

Là on ne fait que déplacer un seul disque: on n'aura besoin que d'un seul déplacement.

Finalement vient l'étape 3: "3 - On déplace la $$\mbox{tour}_{n-1}$$ du pique B (intermédiaire) vers le pique C (final)"

Là encore on déplace la $$\mbox{tour}_{n-1}$$. Il faut donc à nouveau $$x_{n-1}$$ déplacements.

En tout, il aura donc fallu $$x_{n} = x_{n-1} + 1 + x_{n-1}$$

On peut donc dire que $$x_{n} = 2x_{n-1} + 1$$

On peut donc conclure que $$x_{n}$$ est une suite arithmético-géométrique, et de premier terme $$x_{0} = 0$$ comme dit plus haut.

Etude des suites arithmético-géométrique
Nous sommes donc en présence d'une suite arithmético-géométrique: son expression est $$x_{n} = 2x_{n-1} + 1$$.

Les suites arithmético-géométrique se présente sous la forme $$u_{n} = au_{n-1} + b$$

Le but de cette page n'est pas de s'intéresser aux suites arithmético-géométrique en particulier.

On admettra donc (mais il sera démontré sur une autre page) que l'expression explicite en fonction de $$n$$ d'une telle suite est

$$u_{n} = a^{n}(u_{0} - r)+r$$ en posant $$r = \frac{b}{1-a}$$

Dans notre cas, $$a = 2$$, $$b=1$$ et donc $$r = \frac{1}{1-2} = \frac{1}{-1} = -1$$

Donc l'expression explicite de notre suite est $$x_{n} = 2^{n} \times (0 + 1) - 1 = 2^{n} - 1$$

Le nombre de déplacement nécessaire pour déplacer la $$tour_{n}$$ est donc $$x_{n} = 2^{n} - 1$$