Étant donné un graphique pondéré et non orienté G: Quelles conditions doivent être remplies pour qu'il y ait plusieurs arbres couvrant minimum pour G?
Je sais que le MST est unique lorsque tous les poids sont distincts, mais vous ne pouvez pas inverser cette affirmation. S'il y a plusieurs arêtes avec le même poids dans le graphique, il peut y avoir plusieurs MST mais il peut aussi y en avoir un seul:
Dans cet exemple, le graphique de gauche a un MST unique mais pas celui de droite.
Le plus proche que j'ai pu trouver pour trouver les conditions de non-unicité du MST était le suivant:
Considérez tous les cycles sans accords (cycles qui ne contiennent pas d'autres cycles) dans le graphique G. Si dans l'un de ces cycles le bord pondéré maximal existe plusieurs fois, alors le graphique n'a pas d'arbre couvrant minimal unique.
Mon idée était que pour un cycle comme celui-ci
avec n sommets, vous pouvez omettre exactement l'un des bords et toujours avoir tous les sommets connectés. Par conséquent, vous avez plusieurs choix pour supprimer le bord avec le poids le plus élevé pour obtenir un MST, de sorte que le MST n'est pas unique.
Cependant, j'ai ensuite trouvé cet exemple:
Vous pouvez voir que ce graphique a un cycle qui correspond à ma condition: (E, F, G, H) mais pour autant que je puisse voir, l'arborescence minimale est unique:
Il semble donc que mon état ne soit pas correct (ou peut-être tout simplement pas complètement correct). J'apprécierais beaucoup toute aide pour trouver les conditions nécessaires et suffisantes pour la non-unicité de l'arbre couvrant minimum.
Réponses:
dans la première image: le graphique de droite a un MST unique, en prenant les bords et avec un poids total de 2.( F , G )( F, H) ( F, G ) Etant donné un graphe et laisser un arbre couvrant minimal (MST) dans .M = ( V , F ) GG = ( V, E) M= ( V, F) g
S'il existe un bord avec un poids tel que l'ajout de à notre MST donne un cycle , et soit aussi le poids de bord le plus bas à partir de , alors nous pouvons créer un deuxième MST en échangeant un bord de avec le poids de bord avec . Ainsi, nous n'avons pas d'unicité.w ( e ) = m e C me = { v , w } ∈ E∖ F w ( e ) = m e C m F ∩ C m eF∩ C F∩ C m e
la source
Une réponse précédente indique un algorithme pour déterminer s'il existe plusieurs MST qui, pour chaque bord non dans , trouvent le cycle créé en ajoutant à un MST précalculé et vérifient si n'est pas le bord le plus lourd unique de ce cycle. Cet algorithme est susceptible de fonctionner en temps .G e e O ( | E | | V | )e g e e O ( | E| | V| )
Un algorithme plus simple pour déterminer s'il y a plusieurs de G en MST temps complexitéO ( | E| Journal( | V| )) .
Une exécution ordinaire de l'algorithme de Kruskal prend le temps . La sélection supplémentaire d'arêtes qui ne sont pas en peut être effectuée en temps . Ainsi, l'algorithme atteint la complexité temporelle .m O ( | E | ) O ( | E | log ( | V | ) )O(|E|log(|V|)) m O(|E|) O(|E|log(|V|))
Pourquoi cet algorithme peut-il déterminer s'il existe plusieurs MST?
Supposons que nous ayons un MST de . Il suffit de montrer que l'algorithme fonctionnant sur n'atteindra pas l'étape 3, car le bord trouvé à la fin de l'étape 2, qui n'est pas en et reliant deux arbres différents aurait été inclus dans le MST résultant si nous avions exécuté Kruskal algorithme à la fin. Soit le poids le plus grand tel que pour tout bord pesant moins que , il est en si et seulement s'il est en . Parce que et ont le même nombre d'arêtes de poids , il existe des arêtes de poids qui sont en m G m w w m m ′ m m ′ w w m ′ m e ′ S S ⊂ m w m e ′ w m m ′ e ′ Sm′ m G m w w m m′ m m′ w w m′ mais pas en . Si l'algorithme est sorti avant de traiter les bords de ces bords, nous avons terminé. Sinon, supposons que l'algorithme va maintenant traiter le premier bord parmi ces bords. Soit l'ensemble de toutes les arêtes qui ont été conservées jusqu'à présent pour être incluses dans le MST résultant. . Puisque l'algorithme n'a pas terminé le traitement des bords de poids non en tels que , il ne doit pas avoir commencé à traiter les bords de poids en . Les arêtes en pèsent donc moins que w . Cela signifie que S ⊂ m ′m e′ S S⊂m w m e′ w m S w et l'algorithme se termine à ce point.S⊂m′. Rappelons que est en m ' . Puisque { e ′ } ∪ S ⊂ m ′ , où est un arbre, doit connecter deux arbres différents danse′ m′ {e′}∪S⊂m′ m′ e′ S
Remarque sur les développements ultérieurs Les
étapes 1 et 2 peuvent être entrelacées afin que nous puissions terminer l'algorithme le plus tôt possible sans traiter des arêtes de poids plus importants.
Si vous souhaitez calculer le nombre de MST, vous pouvez vérifier une réponse sur la façon de calculer le nombre de MST .
la source
Soit un graphe connexe non orienté (simple fini) pondéré par les bords avec au moins deux sommets. Soit ST signifie arbre couvrant et MST signifie arbre couvrant minimum. Permettez-moi de définir d'abord quelques termes moins courants.G
Quand y a-t-il plus d'un arbre couvrant minimum?
La nouveauté de cette réponse réside principalement dans les deux dernières caractérisations. L'avant-dernière caractérisation peut être considérée comme la toute prochaine étape de l'approche du PO . Les trois premières caractérisations ensemble peuvent être considérées comme une version légèrement améliorée de la réponse de dtt .
Quand le nombre minimal d'arbres couvrant est-il unique?
Voici ma preuve.
"Unicité de MST" => "Pas de MST adjacent": évident.
"Pas de MST adjacents" => "Un MST isolé": évident.
"Un MST isolé" => "Un ST local minimum": Un MST isolé est plus léger que tous les ST adjacents.
"Local minimum ST" => "Extreme cut edge": La preuve est laissée en exercice.
"Extreme cut edge" => "Unicité de MST": La preuve est laissée comme exercice.
Les chaînes d'implications ci-dessus prouvent le théorème.
Encore une fois, la nouveauté de ces réponses est principalement la propriété "bord de cycle extrême" et la propriété "bord de coupe extrême", qui utilise les concepts, non cyclique le plus lourd et non coupé le plus léger. Je n'ai pas vu ces concepts ailleurs, bien qu'ils soient tout à fait naturels.
Voici deux observations intéressantes connexes.
Deux conditions suffisantes mais non nécessaires pour un MST unique
la source