7.7 Applications des récurrences
Le problème de la tour de Hanoï
Le problème mathématique des tours de Hanoï a été inventé par Édouard Lucas. Il est publié dans le tome 3 de ses Récréations mathématiques, parues à titre posthume en 1892. Le problème consiste à déplacer des disques de diamètres différents d’une tour de départ à une tour d’arrivée en passant par une tour intermédiaire, et ceci en un minimum de coups, tout en respectant les règles suivantes :
-
1.
On ne peut déplacer plus d’un disque à la fois ;
-
2.
On ne peut placer un disque que sur un autre disque plus grand que lui ou sur un emplacement vide.
-
3.
On suppose que cette dernière règle est également respectée dans la configuration de départ.
La question est alors combien de coup est nécessaire pour résoudre le problème avec disques de départ.
Il existe plusieurs méthodes pour résoudre ce problème. Dans tous les cas, le problème revient à trouver premièrement une relation de récurrence d’écrivant le problème. C’est ce que nous ferons premièrement. Pour ce faire, remarquons que si nous avons un seul disque, un seul coup est nécessaire. Si nous avons deux disques, il s’agit de déplacer le petit disque sur la tour intermédiaire, on déplace ensuite le plus grand disque sur la tour finale, puis on déplace le petit disque sur la tour finale. Donc trois coups sont nécessaires. Maintenant, si nous avons disques, nous devons commencer par déplacer les plus petits disques sur la tour intermédiaire, plus on déplace le plus grand disque sur la tout finale, et finalement on déplace les plus petit disque sur la tour finale. Donc si on dénote le nombre de coup nécessaire pour déplacer disque par , on obtient donc la relation suivante:
Donc à partir de la valeur de que nous avons trouvé, on peut ensuite calculer la valeur de pour chaque entier positif . On obtient donc le tableau suivant:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| 1 | 3 | 7 | 15 | 31 | 63 | 127 |
Nous allons maintenant étudier différente approche pour résoudre cette récurrence.
L’induction: En observant les valeurs obtenues dans notre tableau, on est amener à faire l’hypothèse que . Pour le démontrer, on utilise l’induction. On a donc:
-
1.
Si , nous avons , ce qui correspond à la valeur que nous avions calculer.
-
2.
Supposons que notre formule est vrai pour , c’est à dire supposons que .
-
3.
Si , on obtient alors:
Par induction, on peut donc affirmer que notre formule est correcte. La solution du problème des tour de Hanoi est donc .
Les sommes géométriques: Une deuxième approche pour résoudre notre récurrence consiste à essayer de la développer, tout en espérant pour obtenir une forme que nous connaissons déjà. En commençant à nouveau avec notre suite définie par récurrence, nous avons les égalités suivantes:
Remarquer que cette fois, nous avons pu trouver une forme simple dû au fait que nous avons reconnu qu’il s’agissait d’une somme géométrique.
Les fonctions génératrices: Nous allons maintenant regarder comment les fonctions génératrices peuvent être utilisé pour résoudre le problème des tours de Hanoï. Pour ce faire, nous commençons à nouveau avec la même relation de récurrence. Nous avons donc:
Maintenant, en isolant la somme, on obtient:
Maintenant, rendu à cette étape, on utilise la décomposition en fractions partielles qui nous affirme qu’il existe des constantes et de sorte qu’on est l’égalité suivante:
Comme les dénominateurs sont égaux, les numérateurs doivent aussi être égaux, ce qui nous amène à résoudre le système d’équations linéaires suivant:
qui a comme solution et . En revenant à notre somme, on a donc:
Finalement, pour que les deux sommes (séries) soient égales, les coefficients doivent être égaux, ce qui nous donne:
Ce qui est encore une fois la même solution que nous avions déjà trouvé.
La dérivation symbolique: Comme dernière approche, nous allons utiliser la méthode de dérivation symbolique. En commençant à nouveau avec la même relation de récurrence, nous avons:
qui est une relation de récurrence linéaire, homogène et à coefficients constants. Nous pouvons donc appliquer la méthode du polynôme caractéristique. On a donc:
La forme générale de notre suite est donc . Pour trouver les constantes, nous avons besoin de deux conditions initiales. En utilisant les valeurs de et que nous avons trouver dans notre tableau, on obtient donc le système d’équations linéaires suivant:
Ce qui nous permet d’obtenir facilement que et . La solution de notre récurrence est donc: pour tout .
Le problème des lapins de Fibonacci
En 1202, Leonardo Pisano dit Fibonacci, un mathématicien italien, énonce dans son livre liber abaci le problème connu aujourd’hui sous le nom du problème des lapins. Au premier mois, il y a une paire de lapereaux, trop jeune pour procréer. Si chaque couple de lapereaux prend un mois avant de devenir adulte, et si chaque couple adulte donne naissance chaque mois à un couple de lapereaux après un mois de gestation, combien de lapin aurons nous après mois ? Ce problème donna naissance à ce qu’on appelle aujourd’hui la suite de Fibonacci, et il est facile d’en trouver les premières valeurs de la suite. Si on dénote par le nombre de lapin présent au mois, on a donc:
De plus, il est facile de voir que notre suite satisfait la récurrence suivante:
Nous allons maintenant utiliser la méthode du polynôme caractéristique pour trouver une formule explicite au problème des lapins. On doit commencer par trouver les racines du polynôme suivant:
En applicant la formule quadratique, on obtient facilement que les racines sont:
Ce qui nous donne une solution générale de la forme:
Il reste maintenant à trouver les deux constantes. Pour ce faire, on utilise la valeur de et , ce qui nous donne le système d’équations linéaires suivant:
Ce qui a comme solution les valeurs et . La solution de l’équation définie par récurrence est donc:
Remarquez que bien que cette suite est été introduit en Europe par Fibonacci, elle était déjà connu beaucoup plus tôt en Inde en lien avec d’autres problèmes.
Le problème des droites
Combien de régions sont obtenu en dessinant droites non parallèles dans le plan de sorte qu’il n’y est pas droites ayant un point d’intersection commun ? Pour résoudre le problème, il s’agit premièrement de remarquer que chaque nouvelle droite doit couper chacune des droite déjà présente. C’est à dire que si droite sont déjà présente, alors la nieme droite se fait couper en endroit, ce qui revient à dire qu’elle est coupé en morceau. Chacun de ces morceaux donne lieu à un nouvelle région, ce qui nous permet d’obtenir la récurrence suivante:
Pour trouver une formule explicite, nous allons utiliser la méthode de dérivation symbolique. On a donc:
Comme cette nouvelle récurrence n’est toujours pas homogène, nous appliquons à nouveau la dérivation symbolique, ce qui nous donne:
Ce qui nous donne finalement la récurrence suivante:
Nous appliquons maintenant la méthode du polynôme caractéristique. On doit donc trouver les racines du polynôme suivant:
La forme générale de notre solution est donc:
Pour trouver la valeur des constantes, nous avons maintenant besoin de valeurs initiales, ce qui peut être accompli facilement à partir de la valeur en combinaison avec notre récurrence originale. On obtient donc et . Ceci nous permet donc d’obtenir le système d’équations linéaires suivant:
Que l’on peut résoudre facilement pour obtenir , et . Notre solution explicite est donc:
Les nombres de dérangement
Nous avons déjà étudier les nombres de dérangement lorsque nous avons étudier le problème des chapeaux, mais nous allons ici prendre une approche différente. Rappelons qu’un dérangement d’un ensemble de élément est une permutation des éléments de sorte qu’aucun d’entre eux ne se retrouve à sa position originale. Le nombre de dérangement est dénoté par . Nous avons déjà obtenu une formule explicite pour le nombre de dérangement à l’aide du principe d’inclusion-d’exclusion, mais nous allons ici développer la même formule à l’aide des récurrences.
Pour compter le nombre de dérangement d’un ensemble de éléments, remarquons premièrement que le premier élément de l’ensemble peut se retrouver dans positions différentes après dérangement. En échangeant le premier élément, alors l’un des éléments restant, deux options se présente à nous. On peut garder le premier élément fixe à sa nouvelle position, ou le déplacer à nouveau à l’emplacement d’un des éléments restant. Si on le garde fixe, il faut alors faire un dérangement des autres éléments, ce qui peut être fait de façons. Si on le déplace à nouveau, il faut alors faire un dérangement des éléments, ce qui peut être fait de façons. On obtient donc la récurrence suivante:
Pour pouvoir calculer les différentes valeurs de , il nous faut maintenant ajouter deux valeurs initiales. Il est facile de voir par simple énumération que et .
Cette récurrence est particulièrement difficile à résoudre sous cette forme. Nous allons donc faire une petite astuce. Remarquons que:
Remarquons que nous avons une forme de symétrie. Si on pose , on remarque que . Ceci signifie que
Il est facile de voir que . On a donc que , ce qui nous donne la récurrence suivante:
Pour résoudre cette nouvelle récurrence, nous allons appliquer la méthode des fonctions génératrices exponentielles. Pour ce faire, nous allons premièrement ajouter la valeur de à notre suite pour simplifier les calculs. Nous avons donc . Sachant que , on obtient donc que . On a donc:
En isolant la série, on obtient donc:
On obtient donc la formule explicite suivante pour les nombres de dérangement:
Le problème de triangulation et les nombres de Catalan
Rappelons que les nombres de Catalan que nous avons définit dans la section LABEL:Catalan1 comptent le nombre de façon de trianguler un polygone convexe à côtés. Nous avons déjà trouver qu’ils satisfont la récurrence suivante:
Nous avons déjà utiliser cette récurrence pour calculer quelques valeurs de , mais nous voulons maintenant aller plus loin et chercher une formule explicite pour les calculer. Pour ce faire, nous allons utiliser les fonctions génératrices. Si on définit , nous avons donc:
Maintenant, pour déterminer , nous devons utiliser la formule quadratique, ce qui nous permet d’obtenir:
Remarquez que le nous donne en fait deux fonctions, mais une seule des deux est la bonne. Pour déterminer laquelle, on remarque que doit être égal à . Remarquez qu’ici, la fonction n’est pas définie en zéro. Dans ce cas, nous devons avoir recours à la limite. En remarquant que:
On obtient donc que la bonne fonction génératrice est la seconde, c’est à dire:
Il nous faut maintenant réécrire notre fonction sous forme d’une série. La racine carré et la division vient nous créer quelques difficultés, mais le théorème du binôme généralisé va tout de même nous permettre d’y parvenir. Nous allons commencer par travailler uniquement avec la racine, et reviendrons par la suite à la fonction complète.
Maintenant, considérons la fonction . En utilisant ce que nous venons de trouver pour la racine, on obtient donc:
Nous obtenons donc finalement la formule suivante pour les nombres de Catalan:
qui est étrangement simple considérant le travail qu’il nous a pris pour l’obtenir. Selon Sloane et Plouffe [Sloane, Harris], les nombres de Catalan forment la deuxième famille de nombre la plus souvent rencontrée dans les problèmes de combinatoire après les coefficient binomiaux. Le livre de Stanley [Stanley2] propose une liste de 66 problèmes dans lesquels les nombres de Catalan interviennent. Nous allons maintenant conclure ce chapitre en énonçant certaines applications des nombres de Catalan, plusieurs d’entre elles nous avons déjà eu l’occasion de rencontrer.
-
1.
Le nombre de façon de trianguler un polygone convexe à côtés est .
-
2.
Le nombre de façons de placer toutes les parenthèses sur un produit de facteurs est .
-
3.
Le nombre d’arbre binaire à feuilles est .
-
4.
Le nombre de trajet sur une grille qui reste sous ou sur la diagonale est .
-
5.
Le nombre de façon de lancer fois consécutives à pile ou face de sorte qu’à la fin nous ayons obtenu piles et faces, mais qu’à aucun moment durant les lancer nous ayons un nombre supérieur de face que de pile est .