AccueilđŸ‡«đŸ‡·Chercher

Arbre couvrant de poids minimal

En thĂ©orie des graphes, Ă©tant donnĂ© un graphe non orientĂ© connexe dont les arĂȘtes sont pondĂ©rĂ©es, un arbre couvrant de poids minimal (ACM), arbre couvrant minimum ou arbre sous-tendant minimum de ce graphe est un arbre couvrant (sous-ensemble qui est un arbre et qui connecte tous les sommets ensemble) dont la somme des poids des arĂȘtes est minimale (c'est-Ă -dire de poids infĂ©rieur ou Ă©gal Ă  celui de tous les autres arbres couvrants du graphe).

L'arbre couvrant de poids minimal d'un graphe planaire. Chaque arĂȘte est identifiĂ©e avec son poids qui, ici, est approximativement sa longueur.

L'arbre couvrant minimum peut s'interprĂ©ter de diffĂ©rentes maniĂšres selon ce que reprĂ©sente le graphe. De maniĂšre gĂ©nĂ©rale si on considĂšre un rĂ©seau oĂč un ensemble d'objets doivent ĂȘtre reliĂ©s entre eux (par exemple un rĂ©seau Ă©lectrique et des habitations), l'arbre couvrant minimum est la façon de construire un tel rĂ©seau en minimisant un coĂ»t reprĂ©sentĂ© par le poids des arĂȘtes (par exemple la longueur totale de cĂąble utilisĂ©e pour construire un rĂ©seau Ă©lectrique).

Propriétés

Multiplicité ou unicité

Un graphe connexe (en haut) et le dessin deux arbres couvrants minimums (en bas).

Comme le montre la figure ci-contre, un graphe connexe peut comporter plusieurs arbres couvrants minimum diffĂ©rents, mais si tous les poids sont diffĂ©rents, alors il est unique. Un graphe non orientĂ© et gĂ©nĂ©ral possĂšde une forĂȘt couvrante de poids minimal.

Propriétés des cycles et des coupes

Pour tout cycle dans le graphe, si une arĂȘte est de poids strictement plus grand que les autres, alors cette arĂȘte n'est pas dans l'arbre couvrant de poids minimal. Autrement dit, toute arĂȘte (u,v) du graphe est de poids supĂ©rieur ou Ă©gal Ă  l'arĂȘte de poids maximum sur le chemin reliant u Ă  v dans l'arbre.

Pour toute coupe du graphe, si une arĂȘte est de poids strictement infĂ©rieur aux autres, alors elle appartient Ă  l'arbre couvrant de poids minimal.

Poids de l'arbre d'un ensemble de points

Un problÚme classique est de savoir, étant donné un ensemble de points dans avec la norme euclidienne, quel est le poids de l'arbre couvrant minimal. Il est de l'ordre de en moyenne et avec probabilité 1[1].

Aspects algorithmiques

Algorithmes classiques

Il existe de nombreux algorithmes de construction d'un arbre couvrant de poids minimal. Par exemple l'algorithme de BorƯvka (le premier algorithme inventé pour ce problÚme), l'algorithme de Prim et l'algorithme de Kruskal. Ces algorithmes sont tous des algorithmes gloutons.

Algorithmes rapides

Un algorithme plus rapide et plus complexe est dû à Bernard Chazelle[2]. Sa complexité est presque linéaire.

Il existe des algorithmes en temps linéaire pour certains cas particuliers, par exemple les graphes denses[3]. On peut aussi atteindre un temps linéaire avec un algorithme probabiliste[4].

Algorithme de vérification

Il existe un algorithme en temps linéaire qui, étant donné un arbre couvrant, vérifie s'il est ou non de poids minimal[5] - [6].

Applications

Les arbres couvrants sont notamment utilisés dans plusieurs types de réseaux, comme les réseaux téléphoniques et les réseaux de distribution[7]. Hors du contexte des réseaux, ils sont utiles par exemple pour le partitionnement de données et le traitement d'image[7].

D'autres algorithmes calculent un arbre couvrant de poids minimal. Par exemple, l'algorithme de Christofides calcule un arbre couvrant de poids minimal pour approximer le problÚme du voyageur de commerce dans le cas métrique.

Variantes et objets proches

On peut définir diverses variantes du problÚme de l'arbre couvrant minimum, par exemple un plongement géométrique du graphe, ou avec un modÚle dynamique, distribué, etc. Un problÚme proche est le problÚme de l'arbre de Steiner.

Notes et références

  1. Jillian Beardwood, John H Halton et John Michael Hammersley, « The shortest path through many points », Mathematical Proceedings of the Cambridge Philosophical Society, Cambridge University Press, vol. 55, no 04,‎ , p. 299-327
  2. Bernard Chazelle, « A minimum spanning tree algorithm with Inverse-Ackermann type complexity », Journal of the ACM, vol. 47, no 6,‎ , p. 1028-1047.
  3. Michael L. Fredman et Robert Endre Tarjan, « Fibonacci heaps and their uses in improved network optimization algorithms », Journal of the ACM, vol. 34, no 3,‎ , p. 596-615.
  4. David R. Karger, Philip N. Klein et Robert Endre Tarjan, « A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees », Journal of the ACM, vol. 42, no 2,‎ , p. 321-328 (DOI 10.1145/201019.201022)
  5. (en) Valerie King, « A Simpler Minimum Spanning Tree Verification Algorithm », Algorithmica, vol. 18, no 2,‎ , p. 263-270
  6. Présentation de la méthode Minimum Spanning Tree Verification In Linear Time Complexity par Valerie King
  7. R. L. Graham et Pavol Hell, « On the history of the minimum spanning tree problem », Annals of the History of Computing, vol. 7, no 1,‎ , p. 43-57 (DOI 10.1109/MAHC.1985.10011, MR 783327)

Bibliographie

Articles

Ouvrages

Liens externes

Jason Eisner, « State-of-the-Art Algorithms for Minimum Spanning Trees: A Tutorial Discussion », sur Université de Pennsylvanie,

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.