05.11.2012 Aufrufe

Kombinatorische Optimierung Approximation und Randomisierung ...

Kombinatorische Optimierung Approximation und Randomisierung ...

Kombinatorische Optimierung Approximation und Randomisierung ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Handouts zur VL vom 20.05.2009 Stand dieser Sammlung: 17. Juli 2009<br />

Algorithmus 3.2.10 (Multifluss-Multicut-Algorithmus für Bäume).<br />

Eingabe: T = (V, E), b : E → Q≥0, {P1, . . . , Pk}<br />

Ausgabe: Multifluss f = (f1, . . . , fk) T , Multicut M<br />

Phase 1: T wird rückwärts bearbeitet<br />

1: ℓmax ← max{dist(r, v) : v ∈ V }<br />

2: for ℓ = ℓmax downto 0 do<br />

3:<br />

4:<br />

for v Knoten � in Ebene ℓ do<br />

Iv ← i ∈ {1, . . . , k} : Pi<br />

�<br />

liegt ganz in Tv <strong>und</strong><br />

enthält keine saturierte Kante<br />

5: for i ∈ Iv (in beliebiger Reihenfolge) do<br />

6: fi ← maximal aktuell möglicher Fluss durch Pi<br />

7: end for<br />

8: Qv ← {e ∈ E : e wurde in for-Schleife 5 saturiert}<br />

9: LIM(v) ← {e ∈ Qv : e hat keine Vorgängerkante in Qv}<br />

10: end for<br />

11: end for<br />

Phase 2: T wird vorwärts bearbeitet<br />

12: M ← ∅<br />

13: for ℓ = 0 upto ℓmax do<br />

14: for v Knoten in Ebene ℓ do<br />

15: for e ∈ LIM(v) do<br />

16: if zwischen e <strong>und</strong> v ist noch keine Kante aus M then<br />

17: M ← M ∪ {e}<br />

18: end if<br />

19: end for<br />

20: end for<br />

21: end for<br />

22: Gib f <strong>und</strong> M aus.<br />

B. Langfeld, A. Srivstav: <strong>Kombinatorische</strong> <strong>Optimierung</strong> (CAU, SoSe 2009) 14

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!