Lassen T.T ein Minimum Spanning Tree von sein GG. Lassenee Sei der Rand, den wir modifizieren, um ihn zu bekommen G'G′, und lass T.'T′sei der nach dem Algorithmus berechnete Baum. Wir kennen das Gewicht vonT.'T′ ist kleiner oder gleich dem Gewicht von T.T.
Zuerst, T.'T′ ist ein Baum - wir erstellen genau einen Zyklus im Algorithmus und brechen ihn auf, sodass wir keine Zyklen haben T.'T′.
Zweitens T.'T′ist ein Spannbaum vonG'G′. Lassene'e′ die Kante entfernt werden und e″e′′ sei die Kante, die im Algorithmus hinzugefügt wird (wir haben entweder e″=e'e′′=e′ oder e″=ee′′=e). Um ein Spanning Tree zu sein, müssen wir einen Pfad zwischen jedem Scheitelpunktpaar habenuu, vv mit nur Kanten von T.'T′. Angenommen, das inT.T (was definitiv ein Spannbaum ist), der Weg von uu zu vv nicht beteiligt e'e′, dann existiert der gleiche Pfad in T.'T′. Angenommen, es wurde verwendete'e′, dann gibt es einen Weg (ohne Verlust der Allgemeinheit) von uu zu einem Endpunkt von e'e′ und vom anderen Endpunkt von e'e′ zu vv. Es gibt auch einen Pfad von einem Endpunkt vone'e′ zum anderen Endpunkt über e″e′′ (rund um den Zyklus), alle innerhalb T.'T′. Dann können wir einen Pfad aus konstruierenuu zu vv über e″e′′ im T.'T′ durch Zusammenführen dieser drei Pfade und Entfernen der Überlappung (obwohl ein Spaziergang für die Konnektivität ausreicht).
Nun, der wichtige Teil, wir möchten das beweisen T.'T′ist ein minimaler Spannbaum fürG'G′.
Fall 1 : Der Algorithmus fügt nicht hinzueezum Baum. In diesem FallT.'=T.T′=T. Angenommen, es gibt einen minimalen SpannbaumH.H zum G'G′ das ist anders als T.'T′. WennH.H hat das gleiche Gewicht wie T.'T′, Wir sind fertig. Nehmen wir nun für den Widerspruch an, dass das Gewicht vonH.H ist weniger als das Gewicht von T.'T′. Es muss eine Kante gebene'e′ des niedrigsten Gewichts, das in ist H.H aber nicht in T.'T′ (Es muss eine Kante geben, die es sonst besser macht GG wäre nicht von geringerem Gewicht als T.'T′Außerdem können wir davon ausgehen, dass die Kante, die besser abschneidet, die Kante mit dem niedrigsten Gewicht ist, die nicht vorhanden ist T.'T′ - Wir können jeden nehmen H.'H′ das ist ein Baum mit geringerem Gewicht als T.'T′ und schauen Sie sich den Kandidaten für e'e′, wenn es nicht kleiner als eine Kante in seinem Zyklus ist, dann auch nicht H.'H′ ist kein MST, oder wir können ein neues erstellen H.'H′ wo wir die tauschen e'e′ für einen Rand von T.'T′Dieser Prozess muss mit einer Kante enden e'e′ welches die Eigenschaft hat, dass es die Kante ist, die es besser macht).
- Wenn e'≠ee′≠eBetrachten Sie dann den Baum, der durch Hinzufügen erhalten wurde e'e′ zu T.T (Beachten Sie nicht T.'T′) und Entfernen der höchsten Gewichtskante des gebildeten Zyklus. Dieser neue Baum hat ein geringeres Gewicht als das vonT.T und ist ein Spannbaum für GGim Widerspruch zu der Tatsache, dass T.T ist ein MST für GG - Wir wissen also, dass dies nicht passieren kann.
- Wenn e'=ee′=eBetrachten Sie den Zyklus, der durch Hinzufügen gebildet wird e'=ee′=e zu T.'T′(dh derjenige, den der Algorithmus berücksichtigt). Alle anderen Kanten im Zyklus haben ein geringeres Gewicht alse'e′ (sonst hätte der Algorithmus enthalten ee als Kante) und muss daher in sein H.H (wie e'e′ ist die Kante mit dem niedrigsten Gewicht, die noch nicht vorhanden ist T.'T′), aber dann H.H muss einen Zyklus enthalten, ist also kein Baum und wir haben einen Widerspruch.
Fall 2 : Der Algorithmus fügt hinzuee zu T.'T′. Lassenxx sei der Rand in T.T das wird vom Algorithmus entfernt (und damit nicht in T.'T′) Nehmen wir wieder an, wir haben eine andere MST H.Hwie vorher. Wenn das Gewicht gleich ist, freuen wir uns. Nehmen Sie also für den Widerspruch an, dassH.H hat ein geringeres Gewicht und wie zuvor e'e′ ist die niedrigste Gewichtskante in H.H das ist nicht in T.'T′. Wir können ähnliche Argumente wie zuvor mit vorbringenxx.
- Wenn e'≠xe′≠x, (beachte auch das e'≠ee′≠e), dann können wir uns verbessern T.T wie zuvor, aber das wissen wir T.T ist ein MST und erinnert an die Eigenschaft, die wir annehmen können e'e′ hat ein geringeres Gewicht als mindestens eine Kante in dem Zyklus, den seine Addition induziert, dies ergibt einen Widerspruch und H.H kann nicht existieren.
- Wenn e'=xe′=x, dann wieder e'e′ muss daher ein höheres Gewicht haben als alle anderen Kanten im Zyklus H.H muss alle diese Kanten enthalten und H.H ist kein Baum, und wir leiten einen Widerspruch her.
In jedem Fall leiten wir also einen Widerspruch ab, daher kann es keinen Spannbaum mit geringerem Gewicht geben T.'T′daher T.'T′ ist ein minimaler Spannbaum für G'G′.