23.06.2013 Aufrufe

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!