Kombinatorische Optimierung Approximation und Randomisierung ...
Kombinatorische Optimierung Approximation und Randomisierung ...
Kombinatorische Optimierung Approximation und Randomisierung ...
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