Calculateur d'arbre couvrant minimum
Calculez l'arbre couvrant minimum (MST) d'un graphe pondéré à l'aide de l'algorithme de Kruskal ou de Prim. Comprend une visualisation interactive du graphe, un tracé de l'algorithme étape par étape et une animation de sélection des arêtes.
Votre bloqueur de pubs nous empêche d’afficher des annonces
MiniWebtool est gratuit grâce aux annonces. Si cet outil vous a aidé, soutenez-nous avec Premium (sans pubs + outils plus rapides) ou ajoutez MiniWebtool.com à la liste blanche puis rechargez la page.
- Ou passez à Premium (sans pubs)
- Autorisez les pubs pour MiniWebtool.com, puis rechargez
Calculateur d'arbre couvrant minimum
Bienvenue sur le Calculateur d'Arbre Couvrant Minimum, un outil interactif pour calculer l'ACM d'un graphe pondéré à l'aide de l'algorithme de Kruskal ou de Prim. Que vous étudiiez la théorie des graphes, conceviez une infrastructure réseau ou optimisiez l'allocation de ressources, ce calculateur propose une exploration visuelle et étape par étape de deux algorithmes fondamentaux de l'optimisation combinatoire.
Qu'est-ce qu'un Arbre Couvrant Minimum (ACM) ?
Un Arbre Couvrant Minimum d'un graphe connexe, non orienté et pondéré est un sous-ensemble d'arêtes qui :
- Relie tous les sommets entre eux (couvrant)
- Ne contient aucun cycle (arbre)
- Possède le poids total d'arêtes le plus bas possible
Pour un graphe de V sommets, un ACM possède toujours exactement V - 1 arêtes. Si le graphe est déconnecté, le résultat est une Forêt Couvrante Minimum — une collection d'ACM pour chaque composante connexe.
Algorithme de Kruskal
L'algorithme de Kruskal est un algorithme glouton basé sur les arêtes qui construit l'ACM en traitant les arêtes par ordre de poids croissant. Il utilise une structure de données Union-Find (Union de Ensembles Disjoints) pour détecter efficacement les cycles.
Pseudocode de Kruskal
ACM ← ensemble vide
Trier toutes les arêtes par poids (croissant)
Initialiser Union-Find pour tous les sommets
pour chaque arête (u, v, w) dans les arêtes triées :
si Trouver(u) ≠ Trouver(v): // composantes différentes
ACM ← ACM ∪ {(u, v, w)}
Union(u, v) // fusionner les composantes
retourner ACM
Algorithme de Prim
L'algorithme de Prim est un algorithme glouton basé sur les sommets qui fait croître l'ACM à partir d'un sommet de départ. À chaque étape, il ajoute l'arête la moins chère reliant un sommet de l'arbre à un sommet hors de l'arbre.
Pseudocode de Prim
ACM ← ensemble vide
dansACM ← {depart}
FP ← file de priorité avec les arêtes partant de depart
tant que FP n'est pas vide et |dansACM| < |V|:
(w, u, v) ← extraire min de FP
si v ∉ dansACM:
ACM ← ACM ∪ {(u, v, w)}
dansACM ← dansACM ∪ {v}
Ajouter toutes les arêtes de v à FP
retourner ACM
Kruskal vs Prim : Lequel Utiliser ?
| Caractéristique | Kruskal | Prim |
|---|---|---|
| Approche | Basé sur les arêtes (tri global) | Basé sur les sommets (croissance locale) |
| Structure de Données | Union-Find | File de Priorité |
| Complexité Temporelle | \( O(E \log E) \) | \( O((V + E) \log V) \) |
| Idéal Pour | Graphes creux | Graphes denses |
| Graphes Discontinus | Produit une forêt couvrante | Ne couvre que la composante du nœud de départ |
| Parallélisable | Plus facilement parallélisable | Séquentiel par nature |
Comment utiliser ce calculateur
- Définissez les arêtes de votre graphe : Saisissez les arêtes au format
noeud1, noeud2, poids, une par ligne. L'ACM fonctionne sur des graphes non orientés, donc chaque arête fonctionne dans les deux sens. - Choisissez un algorithme : Sélectionnez Kruskal pour les graphes creux ou Prim pour les graphes denses. Les deux produisent un ACM optimal.
- Définissez le nœud de départ (Prim uniquement) : Spécifiez éventuellement par où commence l'algorithme de Prim. Cela affecte l'ordre de sélection des arêtes mais pas le poids total de l'ACM.
- Calculez l'ACM : Cliquez sur "Trouver l'ACM" pour lancer l'algorithme. Explorez la visualisation interactive, le tableau des arêtes et le tracé étape par étape.
- Parcourez les étapes : Utilisez les boutons Suivant/Précédent pour regarder l'algorithme s'exécuter pas à pas, avec une mise en évidence en temps réel sur le canevas.
Comprendre les Résultats
Tableau des arêtes de l'ACM
Affiche chaque arête sélectionnée pour l'ACM, dans l'ordre où elles ont été ajoutées, ainsi que les poids individuels et le poids total de l'ACM.
Visualisation du Graphe
Le canevas interactif affiche votre graphe avec des éléments codés par couleur :
- Nœuds et arêtes verts = Font partie de l'ACM
- Points forts orange = En cours d'examen
- Éléments gris = Ne font pas encore partie de l'ACM
Tracé étape par étape
Affiche chaque décision de l'algorithme : quelle arête est examinée, si elle a été acceptée ou rejetée (et pourquoi), et l'état actuel de la construction de l'ACM.
Applications Concrètes de l'ACM
Conception de Réseaux
L'application la plus classique. Pour relier des nœuds (villes, serveurs, appareils électriques) avec une longueur totale minimale de câble, de fibre ou de tuyau, l'ACM fournit la solution optimale. Les entreprises de télécommunications utilisent des algorithmes basés sur l'ACM pour minimiser les coûts d'infrastructure.
Analyse de Grappes (Clustering)
En apprentissage automatique et en science des données, le clustering basé sur l'ACM (comme le clustering à lien unique) regroupe les points de données en supprimant les arêtes les plus longues de l'ACM. Cela produit des grappes naturelles sans avoir besoin de spécifier au préalable le nombre de groupes.
Segmentation d'Images
Les algorithmes de vision par ordinateur utilisent l'ACM pour segmenter les images en régions significatives. Les pixels sont des nœuds, les poids des arêtes représentent la différence de couleur/intensité, et couper les arêtes de l'ACM sépare les objets distincts.
Algorithmes d'Approximation
L'ACM fournit une 2-approximation pour le problème métrique du voyageur de commerce (TSP). Le poids de l'ACM est une borne inférieure pour la tournée TSP optimale, et doubler les arêtes de l'ACM donne une tournée à moins de 2x l'optimum.
Conception de Circuits
La conception de puces VLSI utilise l'ACM (via des variantes de l'arbre de Steiner) pour minimiser la longueur totale des fils connectant les composants sur une carte de circuit imprimé, réduisant ainsi le délai du signal et le coût de fabrication.
Propriétés Clés de l'ACM
- Propriété de la Coupe : Pour toute coupe du graphe, l'arête de poids minimum traversant la coupe fait partie de l'ACM.
- Propriété du Cycle : Pour tout cycle dans le graphe, l'arête de poids maximum dans le cycle ne fait PAS partie de l'ACM (en supposant des poids uniques).
- Unicité : Si tous les poids des arêtes sont distincts, l'ACM est unique. Avec des poids en double, il peut y avoir plusieurs ACM valides avec le même poids total.
- Sous-graphe : L'ACM est un sous-graphe avec V-1 arêtes et sans cycles.
Foire Aux Questions
Qu'est-ce qu'un Arbre Couvrant Minimum (ACM) ?
Un Arbre Couvrant Minimum est un sous-ensemble d'arêtes d'un graphe connexe, non orienté et pondéré qui relie tous les sommets entre eux avec le poids total d'arêtes le plus bas possible, sans former de cycles. Un ACM possède exactement V-1 arêtes pour un graphe de V sommets.
Quelle est la différence entre l'algorithme de Kruskal et celui de Prim ?
L'algorithme de Kruskal est basé sur les arêtes : il trie toutes les arêtes par poids et ajoute goulûment celles qui ne créent pas de cycles, en utilisant une structure de données Union-Find. L'algorithme de Prim est basé sur les sommets : il fait croître l'ACM à partir d'un nœud de départ en ajoutant toujours l'arête la moins chère reliant l'arbre à un nouveau sommet, à l'aide d'une file de priorité. Les deux produisent des ACM optimaux mais peuvent différer dans l'ordre de sélection des arêtes.
Quand dois-je utiliser Kruskal plutôt que Prim ?
Kruskal est généralement préférable pour les graphes creux (peu d'arêtes par rapport aux nœuds) avec une complexité temporelle O(E log E). Prim est meilleur pour les graphes denses avec une complexité temporelle O(E log V) en utilisant un tas binaire. Pour les graphes très denses, Prim avec un tas de Fibonacci atteint O(E + V log V).
Un graphe peut-il avoir plusieurs ACM valides ?
Oui, un graphe peut avoir plusieurs ACM valides s'il existe des arêtes de poids égaux. Différents ACM auront le même poids total mais peuvent inclure des arêtes différentes. Kruskal et Prim peuvent produire des ACM différents pour le même graphe, mais les deux auront le même poids total minimum.
Quelles sont les applications concrètes de l'ACM ?
Les ACM sont utilisés dans la conception de réseaux (minimisation de la longueur des câbles/fibres), la disposition des circuits imprimés, l'analyse de grappes, la segmentation d'images, la construction de taxonomies, l'approximation de problèmes NP-difficiles comme le problème du voyageur de commerce (TSP), et la construction de réseaux routiers/pipelines/électriques à moindre coût.
L'ACM fonctionne-t-il sur des graphes non connexes ?
Un véritable ACM nécessite un graphe connexe. Si le graphe est déconnecté, les algorithmes produiront une Forêt Couvrante Minimum — une collection d'ACM, un pour chaque composante connexe. Ce calculateur indiquera quand le graphe n'est pas entièrement connecté.
Ressources Complémentaires
Citez ce contenu, cette page ou cet outil comme suit :
"Calculateur d'arbre couvrant minimum" sur https://MiniWebtool.com/fr// de MiniWebtool, https://MiniWebtool.com/
par l'équipe miniwebtool. Mis à jour : 19 fév. 2026
Vous pouvez également essayer notre Résolveur Mathématique IA GPT pour résoudre vos problèmes mathématiques grâce à des questions-réponses en langage naturel.