finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
finale Version des Vorlesungsskripts - ZIB
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5 Bäume und Wege<br />
Falls T \ {ei} zusammenhängend ist, setze T := T \ {ei}.<br />
4. Gib T aus. △<br />
Der Korrektheitsbeweis für Algorithmus (5.11) bleibt einer Übungsaufgabe überlassen.<br />
Wie bereits erwähnt, gibt es eine Vielzahl weiterer Verfahren zur Bestimmung minimaler<br />
aufspannender Bäume. Ein gemeinsames Skelett für mehrere dieser Algorithmen kann<br />
wie folgt skizziert werden.<br />
(5.12) Algorithmus META-MST.<br />
Eingabe: Zusammenhängender Graph G = (V, E) mit Kantengewichten c(e) für alle<br />
e ∈ E.<br />
Ausgabe: Aufspannender Baum T von G minimalen Gewichts. △<br />
1. (Initialisierung):<br />
FOR ALL i ∈ V DO:<br />
Setze Vi := {i} und Ti := ∅.<br />
2. DO |V | − 1 TIMES:<br />
(a) Wähle eine nicht-leere Menge Vi.<br />
(b) Wähle eine Kante uv ∈ E mit u ∈ Vi, v ∈ V \ Vi und c(uv) ≤ c(pq) für alle<br />
pq ∈ E mit p ∈ Vi, q ∈ V \ Vi.<br />
(c) Bestimme j, so dass v ∈ Vj.<br />
(d) Setze Vi := Vi ∪ Vj; Vj := ∅.<br />
(e) Setze Ti := Ti ∪ Tj ∪ {uv}; Tj := ∅.<br />
3. Gib diejenige Kantenmenge Ti mit Ti = ∅ aus.<br />
Algorithmus (5.9) ist ein Spezialfall von Algorithmus (5.12). Überlegen Sie sich wieso!<br />
(5.13) Satz. Algorithmus (5.12) bestimmt einen minimalen aufspannenden Baum. △<br />
Beweis. Wir zeigen durch Induktion über p = |T1| + . . . + |Tn|, dass G einen minimalen<br />
aufspannenden Baum T enthält mit Ti ⊆ T für alle i. Ist p = 0, so ist nichts zu zeigen.<br />
Sei uv eine Kante, die bei einem Durchlauf von Schritt 2 in (b) gewählt wurde. Nach<br />
Induktionsvoraussetzung sind alle bisher bestimmten Mengen Ti in einem minimalen<br />
aufspannenden Baum T enthalten. Gilt uv ∈ T , so sind wir fertig. Ist uv ∈ T , so enthält<br />
T ∪ {uv} einen Kreis. Folglich muss es eine Kante rs ∈ T geben mit r ∈ Vi, s ∈ V \ Vi.<br />
Aufgrund unserer Wahl in (b) gilt c(uv) ≤ c(rs). Also ist T := (T \{rs})∪{uv} ebenfalls<br />
ein minimaler aufspannender Baum und der neue Baum T erfüllt unsere Bedingungen.<br />
Die Korrektheit <strong>des</strong> Algorithmus folgt aus dem Fall p = n − 1. ✷<br />
84