Codage de PrüferEn mathématiques, le codage de Prüfer est une méthode pour décrire de façon compacte un arbre dont les sommets sont numérotés[1]. Ce codage représente un arbre de n sommets numérotés avec une suite de n-2 termes. Une suite P donnée correspond à un et un seul arbre numéroté de 1 à n. Les suites de Prüfer ont été utilisées pour la première fois par Heinz Prüfer pour démontrer la formule de Cayley en 1918[2]. On peut aussi les utiliser en programmation informatique pour enregistrer la structure d'un arbre de façon plus compacte qu'avec des pointeurs[réf. nécessaire]. CodageAlgorithmeLa suite de Prüfer est construite à l'aide de l'algorithme suivant : Données : Arbre T Tant qu'il reste plus de deux sommets dans l'arbre T Identifier la feuille v de l'arbre ayant le numéro minimum Ajouter à la suite P le seul sommet s adjacent à v dans l'arbre T Enlever de l'arbre T le sommet v et l'arête incidente à v Fin Tant que ExempleConsidérons l'arbre de la figure au-dessus. Au départ, 1 est la feuille de numéro minimum, c'est donc elle qu'on retire en premier, et l'on met 4 (le numéro de la branche à laquelle elle était raccordée) dans la suite de Prüfer. Les sommets 2 et 3 sont les suivants à être enlevés et on ajoute encore deux fois 4 à la suite de Prüfer. Le sommet 4 est à présent une feuille et a le numéro le plus bas, donc on le retire et l'on ajoute 5 (la branche à laquelle il était raccordé) à la fin de la suite. Il ne reste plus que deux sommets, donc on s'arrête. La suite de Prüfer codant l'arbre est . Décodage - Première méthodeCet algorithme s'appuie sur une suite des degrés de chaque sommet de l'arbre . AlgorithmeL'arbre peut être reconstruit à l'aide de l'algorithme inverse suivant[3] : Données : suite de Prüfer P de longueur n – 2 Créer un graphe T composé de n sommets isolés numérotés de 1 à n Créer une suite D composée de n valeurs toutes à 1, appelées degrés Pour chaque valeur xi de P Augmenter de 1 le degré du sommet numéroté xi dans D Fin Pour chaque Pour chaque valeur xi de P Trouver le sommet de degré 1 qui a le plus petit numéro, soit j ce numéro Ajouter l'arête allant de xi en j au graphe T Diminuer de 1 les degrés de xi et de j dans D Fin Pour chaque Ajouter l'arête reliant les deux sommets restants de degré 1 ExempleConsidérons la suite . Il faut qu'elle nous permette de reconstruire l'arbre de la figure au-dessus. Dans une première phase, on crée un graphe à six sommets isolés numérotés de 1 à 6. On leur attribue à tous un degré par défaut égal à 1. Ensuite, on parcourt P en augmentant le degré des sommets qui y figurent : on augmente trois fois le degré du sommet 4 et une fois le degré du sommet 5. Finalement, on a les degrés D = (1, 1, 1, 4, 2, 1). Dans la phase suivante, on parcourt à nouveau P :
Enfin, on relie les deux sommets restants de degré 1, à savoir les sommets de numéros 5 et 6. On a bien reconstitué l'arbre T original. Décodage - seconde méthodeÀ la place d'une suite des degrés de chaque sommet, on peut utiliser une suite des sommets que l'on n'a pas encore traités. AlgorithmeL'arbre peut être reconstruit à l'aide de l'algorithme inverse suivant[1] : Données : suite de Prüfer P de longueur n – 2 Créer un graphe T composé de n sommets isolés numérotés de 1 à n Créer une suite I des numéros de 1 à n Tant qu'il reste des éléments dans P Soit s le premier élément de la suite P Identifier le plus petit élément j de I n'apparaissant pas dans la suite P Ajouter l'arête allant de j à s Enlever j de I et s de P Fin Tant que Ajouter l'arête reliant les deux sommets restant dans I ExempleConsidérons la suite . Il faut à nouveau qu'elle nous permette de reconstruire l'arbre de la figure au-dessus. Au départ, I = (1, 2, 3, 4, 5, 6). Ensuite :
On relie enfin les sommets restants 5 et 6. On a bien reconstitué l'arbre T original. Démonstration de la formule de CayleyEn science combinatoire, la formule de Cayley affirme que le nombre d'arbres « décorés » (numérotés) à n sommets est . La figure ci-contre permet de voir qu'il existe effectivement , et arbres décorés distincts à 2, 3 ou 4 sommets respectivement. Principe de la démonstrationOn montre d'abord que :
Le codage de Prüfer fournit donc une bijection entre l'ensemble des arbres numérotés à n sommets et l'ensemble des suites de longueur n – 2 composées de valeurs dans l'intervalle [1, n]. Comme ce dernier possède éléments, et comme le codage de Prüfer est bijectif, cela démontre la formule de Cayley. ExtensionOn peut aller plus loin et prouver que le nombre d'arbres couvrant un graphe complet de degrés est égal au coefficient multinomial . La démonstration s'appuie sur le fait que, dans la suite de Prüfer, le numéro apparaît exactement fois. Notes et références
Bibliographie additionnelle(en) Vadim Lozin, « From Words to Graphs, and Back », dans C. Martín-Vide, A. Okhotin, et D. Shapira (éditeurs), Language and Automata Theory and Applications. LATA 2019, Springer Cham, coll. « Lecture Notes in Computer Science » (no 11417), (ISBN 978-3-030-13434-1, DOI 10.1007/978-3-030-13435-8_3), p. 43–54. |