Arbre couvrant

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Un arbre couvrant (arêtes épaissies, en bleu) d'un graphe en forme de grille

Dans le domaine mathématique de la théorie des graphes, un arbre couvrant d'un graphe non orienté et connexe est un arbre inclus dans ce graphe et qui connecte tous les sommets du graphe.

De façon équivalente, c'est un sous-graphe acyclique maximal, ou encore, un sous-graphe couvrant connexe minimal.

Aspects combinatoires[modifier | modifier le code]

Dans certains cas, le nombre a(G) d'arbre couvrant d'un graphe connexe G est facilement calculable. Par exemple, si G lui-même est un arbre, alors a(G)=1, tandis que si G est un n-cycle, alors a(G)=n. Pour un graphe quelconque, a(G) peut être calculé grâce au théorème de Kirchhoff.

La formule de Cayley permet aussi de calculer directement a(G) pour un graphe complet K_n. On obtient que a(G)=n^{n-2}.

Si G est un graphe biparti complet K_{p,q}, alors a(G)=p^{q-1}q^{p-1}

Utilisations et applications[modifier | modifier le code]

Les arbres couvrants sont étudiés en informatique théorique pour leurs applications à des réseaux.

Ils peuvent ainsi définir un chemin permettant de faire passer une information depuis un nœud d'un réseau n'importe quel autre nœud, tout en évitant la présence de boucles. Les boucles sont gênantes dans un réseau informatique parce que les informations peuvent emprunter la boucle et tourner plusieurs fois avant d'atteindre leur destination. Elles peuvent même tourner indéfiniment au sein de la boucle, sans jamais atteindre leur destination.

Article détaillé : Spanning Tree Protocol.

L'algorithme Spanning Tree Protocol découvert par Radia Perlman en 1985 permet de trouver un arbre courant dans un graphe arbitraire. Il permet même de trouver un tel arbre dans un multigraphe, qui peut donc comporter plusieurs arêtes entre une paire de nœuds donnée. Une fois que l'arbre couvrant est défini, les équipements qui se trouvent aux nœuds du réseau bloquent administrativement toutes les liaisons redondantes. Si une liaison de l'arbre couvrant est défaillante, un nouvel arbre est calculé, ce qui permet au réseau de continuer à fonctionner s'il existait une liaison redondante de secours.

Article détaillé : Arbre couvrant de poids minimal.

Un problème algorithmique classique est de trouver, dans un graphe pondéré, un arbre couvrant de poids minimal. Le poids peut représenter la difficulté qu'il y a à emprunter une liaison, par exemple une durée de traversée de la liaison élevée. Dans le cas du graphe pondéré aussi, on dispose de plusieurs algorithmes (algorithme de Borůvka, l'algorithme de Prim, algorithme de Kruskal…).

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • Eppstein, David (1999). « Spanning trees and spanners » Elsevier Handbook of Computational Geometry: 425–461, Elsevier. 
  • (en) Garey, Michael R.; Johnson, David S., Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman,‎ 1979 (ISBN 0-7167-1045-5) A2.1: ND2, pg.206.
  • (en) Wu, Bang Ye; Chao, Kun-Mao, Spanning Trees and Optimization Problems, CRC Press,‎ 2004 (ISBN 1-58488-436-3)
  • (en) Gabow, Harold N.; Myers, Eugene W., « Finding All Spanning Trees of Directed and Undirected Graphs », SIAM J. Comput., vol. 7, no 280,‎ 1978 (lire en ligne)

Crédits de traduction[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Spanning tree » (voir la liste des auteurs).