Algorithmische Graphentheorie

Ähnliche Dokumente
Netzwerke Beispielnetzwerk N

Fluß. Flußnetzwerk. Definition 6.2. Es sei N = (G, c, s, t) ein Flußnetzwerk. Für einen Knoten

6. Primal-duale Algorithmen

Übungsblatt 4 Lösungsvorschläge

Minimal spannende Bäume

Arbeitsauftrag Thema: Gleichungen umformen, Geschwindigkeit, Diagramme

Flüsse, Schnitte, bipartite Graphen

Algorithmen II Vorlesung am

Abiturprüfung Mathematik 2009 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Weg im tv-diagramm. 1. Rennwagen

KAPITEL 4 FLÜSSE IN NETZWERKEN

Algorithmische Graphentheorie

Algorithmentheorie Maximale Flüsse

1. Mathematische Grundlagen und Grundkenntnisse

Staatlich geprüfte Techniker

Kürzere reguläre Ausdrücke aus deterministischen endlichen Automaten

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Kombinatorische Optimierung

Physikalische Größe = Zahlenwert Einheit

Name: Punkte: Note: Ø:

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Theoretische Grundlagen

7.3. Partielle Ableitungen und Richtungsableitungen

Geradlinige Bewegung Krummlinige Bewegung Kreisbewegung

Wiederholung zu Flüssen

Maximale s t-flüsse in Planaren Graphen

Induktionsgesetz. a = 4,0cm. m = 50g

SR MVP die Sharpe Ratio des varianzminimalen

Greensche Funktion. Frank Essenberger FU Berlin. 30.September Nomenklatur 1. 2 Greensche Theoreme 1. 3 Anwendung in der Elektrostatik 2

Abiturprüfung Baden-Württemberg 1986

Maximaler Fluss = minimaler Schnitt

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Algorithmen und Datenstrukturen

Kapitel : Exponentielles Wachstum

4. Kippschaltungen mit Komparatoren

Westfälische Hochschule - Fachbereich Informatik & Kommunikation - Bereich Angewandte Naturwissenschaften. 2. Mechanik

= T Jährliche Ratentilgung Jährliche Ratentilgung. Ausgangspunkt: Beispiel:

Algorithmen und Datenstrukturen

Das Briefträgerproblem

Aufgaben zu den Würfen. Aufgaben

Zeitabhängige Felder, Maxwell-Gleichungen

Institut für Informatik. Aufgaben zur Klausur Grundlagen der Technische Informatik 1 und 2

Algorithmen II Vorlesung am

Universität Ulm Samstag,

3.5 Überlagerung von harmonischen Schwingungen

Prof. Liedl Lösung Blatt 8. Übungen zur Vorlesung PN1. Lösung zum Übungsblatt 8. Besprochen am

Warum ist die Frage, wem ein Leasingobjekt zugerechnet wird, wichtig? Welche Vorteile kann ein Leasinggeber (eine Leasinggesellschaft) ggf. erzielen?

Differenzieren von Funktionen zwischen Banachräumen

16. All Pairs Shortest Path (ASPS)

3. Partielle Differentialgleichungen

Integralrechnung. Grundidee der Integralrechnung. Einführung des Riemann- Integrals

1 Lokale Änderungsrate und Gesamtänderung

Gruppenarbeit: Anwendungen des Integrals Gruppe A: Weg und Geschwindigkeit

4. Quadratische Funktionen.

Signal- und Systemtheorie for Dummies

auf den Boden fallen, hört man in gleichen Zeitabständen 4 Geräusche. Welchen Abstand hat die 3. Schraube vom unteren Ende der Fallschnur?

Übungsserie: Single-Supply, Gleichrichter Dioden Anwendungen

Messgrößen und gültige Ziffern 7 / 1. Bewegung mit konstanter Geschwindigkeit 7 / 2

Arbitragefreie Preise

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

ges.: Der erste Treffpunkt ist zum Zeitpunkt 0 am Start. Danach fährt der Fahrer 1 45 min und legt dabei

Aufgabenblatt 1. Lösungen. A1: Was sollte ein Arbitrageur tun?

Die Lösungen der Übungsaufgaben werden durch folgendes Lemma etwas vereinfacht:

Fakultät Grundlagen. s = t. gleichförm ig

1.1. Grundbegriffe zur Mechanik

Versuchsprotokoll. Datum:

Algorithmen und Datenstrukturen 2

2 Formeln richtig und schnell umstellen

Flüsse, Schnitte, bipartite Graphen

Theoretische Informatik SS 03 Übung 3

Motivation. Finanzmathematik in diskreter Zeit

Abstand von 4,5 cm von der Mitte. Wie groß ist die Bahngeschwindigkeit eines Punktes in diesem Abstand? (in km/h)

Eigenwerte und Eigenvektoren

Phillips Kurve (Blanchard Ch.8) JKU Linz Riese, Kurs Einkommen, Inflation und Arbeitslosigkeit SS 2008

Kondensator und Spule im Gleichstromkreis

Thema 10: Kapitalwert und Steuern I

9. EXPONENTIALFUNKTION, LOGARITHMUSFUNKTION

8 Diskrete Optimierung

Physik-Übungsblatt Nr. 1: Lösungsvorschläge

Approximationsalgorithmen

5. Flipflops. 5.1 Nicht-taktgesteuerte Flipflops NOR-Flipflop. Schaltung: zur Erinnerung: E 1 A 1 A 2 E 2.

ADS: Algorithmen und Datenstrukturen 2

Kapitel 11 Produktion, Sparen und der Aufbau von Kapital

SERVICE NEWSLETTER. Einführung in die Mechanik Teil 2: Kinematik (2)

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Mathematik III DGL der Technik

Bericht zur Prüfung im Oktober 2007 über Finanzmathematik und Investmentmanagement

Physik 1 (GPh1) am

TECHNISCHE UNIVERSITÄT MÜNCHEN

Ausgleichsrechnung - Lineare Regression

Der Zeitwert des Geldes - Vom Umgang mit Zinsstrukturkurven -

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

6. In einem Experiment wurden für die Bewegung eines Spielzeugautos folgende Messwerte aufgenommen:

Lineares Programmieren

Nutzung der inhärenten sensorischen Eigenschaften von piezoelektrischen Aktoren

Kommunikationstechnik I

4 Greedy-Algorithmen (gierige Algorithmen)

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

GRUNDLAGENLABOR CLASSIC RC-GLIED

Laplacetransformation in der Technik

Transkript:

Algorihmiche Graphenheorie Sommeremeer 2014 3. Vorleung Flualgorihmen Prof. Dr. Alexander Wolff 1

Erinnerung Oh my God i an LP! Gegeben ein gericheer Graph G = (V, E) mi, V und Kanenkapaziäen c : E R >0. Geben Sie eine Mehode an, die einen maximalen --Flu f konruier., alo eine Funkion f : E R 0, die den Flu erhäl, d.h. für jeden Knoen / {, } icherell: Neozuflu f () = f (u) f (w) = 0, {u V u E} zuläig i, d.h. für jede Kane e garanier: Konane 0 f (e) c(e), {w V w E} maximal i, d.h. uner allen zuläigen --Flüen f = Neozuflu f () maximier. Variable V 2 + 2 E lineare Bechränkungen! lineare Zielfunkion! 2

Fuure Work Today Kann man maximale Flüe (= Spezialfall eine LP) auch mi maßgechneideren kombinaorichen Algorihmen berechnen? Hoffnung: Da könne chneller gehen und rukurelle Einichen liefern. 3

Nich i prakicher al eine gue Theorie Def. Sei G = (V, E) ein gericheer Graph,, V. Eine Pariionierung (S, T = V \ S) on V i ein --Schni, fall S, T. S T S T Rau(S) = {u E u S, T } {u E u T, S} = Rein(S) Zuflu f (S) = f (Rein(S)) } minu =: Neozuflu f (S) Abflu f (S) = f (Rau(S)) 4

Neozuflüe on Schnien und Knoen Zur Erinnerung: Neozuflu f (S) := f (Rein(S)) f (Rau(S)) S Rau(S) E T S Rein(S) E T Lem. 1 Bewei. Sei G = (V, E) Graph, S V und f : E R. Dann: Neozuflu f (S) = S Neozuflu f (). S Neozufl f () = S (Zuflu f () Abflu f ()) ( S S e=u f (e) +f = e=w f (e)) u f = f (e) f (e) = Neozufl f (S) +f f e Rein(S) e Rau(S) 5

Noch mehr Schnie Lemma 1. Sei G = (V, E) Graph, S V und f : E R. Dann: Neozuflu f (S) = S Neozuflu f (). Lemma 2. G Graph,, V, f --Flu, (S,T ) --Schni. Dann gil f = Neozuflu f (T ) Bewei. f = Def. Neozuflu f () = T Neozuflu f () da Neozuflu f () = 0 für alle, = Neozuflu f (T ) 6

Kapaziä on Schnien Lemma 2. G Graph,, V, f --Flu, (S,T ) --Schni. Dann gil f = Neozuflu f (T ) =: Neoabflu f (S). Def. G Graph mi Kap. c : E R >0, (S,T ) --Schni. Dann i c(s) := c(rau(s)) die Kapaziä on (S,T ). Lemma 3. f zulä. --Flu, (S, T ) --Schni f c(s). Bewei. Speziell: max f f min S c(s) f = Neoabflu f (S) = f (Rau(S)) f (Rein(S)) f (Rau(S)) S 8/ 16 5/ 13 4/ 4 1 2 12/ 12 3/ 9 4/ 14 3 1/ 4 7 10/ 20 3/ 4 T c(rau(s)) = c(s) Korollar. f = c(s) f maximal,! c(s) min.!! 7

Reidualnez Beob. Aber: Def. 8/ 16 12/ 13 4/ 4 Fall e einen --Weg gib, bei dem auf keiner Kane die Kapaziä augechöpf i, können wir f ergrößern. Fall e keinen olchen --Weg gib, o i f nich unbeding maximal. Der Reidualgraph G f = (V, E f ) enhäl für jede Kane e = u on G = (V, E) die Kane(n) +e := u fall f (e) < c(e) e := u fall f (e) > 0 1 2 12/ 12 3/ 9 11/ 14 3 7/ 4 7 16/ 20 4/ 4 G 8 12 8 1 mi c f (+e) := c(e) f (e) mi c f ( e) := f (e) 1 4 2 12 6 3 3 11 3 7 Reidualkapaziäen 4 16 4 4 G f 8

Fluergrößernde Wege Def. Ein --Weg W in G f heiß fluergrößernder Weg für f. Die Reidualkapaziä on W i W := min σe W c f (σe), wobei σ {+, }. Saz. (om fluergrößernden Weg). Ein zuläiger --Flu f in G i maximal e gib keinen fluergrößernden Weg in G f. 8/ 16 4/ 4 12/ 13 1 2 12/ 12 3/ 9 11/ 14 3 7/ 7 4 16/ 20 4/ 4 G 8 12 8 1 1 4 2 12 6 3 3 11 3 7 4 16 4 4 G f 9

Da Max-Flow-Min-Cu-Theorem Saz. [Ford & Fulkeron, 1956] [Elia, Feinein, Shannon 1956] [Kozig 56] Saz. In einem ger. Graphen G mi Kap. c : E R >0 gil: max f = f zuläiger --Flu min c(s) (S,T ) --Schni d.h. der Wer eine maximalen Flue i gleich der Kapaziä eine minimalen --Schnie. Leer Randolph Ford, Jr. (*1927) Delber R. Fulkeron (1924 76) Zur Erinnerung: Korollar. f = c(s) f maximal, c(s) min. (om fluergrößernden Weg). Ein zuläiger --Flu f in G i maximal e gib keinen fluergrößernden Weg in G f.!!! 10

Saz. Bewei. In einem ger. Graphen G mi Kap. c : E R >0 gil: max f = f zuläiger --Flu min c(s) (S,T ) --Schni Sei f ein maximaler Flu. e gib keinen fluergrößernden Weg { in G f i on au nich erreichbar } S = { on erreichbar} i --Schni T = { on nich erreichbar} Sei e = u Rau(S) f (e) = c(e), on wäre on in G f f (Rau(S)) = c(rau(s)) Nun ei e = u Rein(S) f (e) = 0 f (Rein(S)) = 0 erreichbar Alo: c(s) = c(rau(s)) = f (Rau(S) f (Rein(S)) Def. = Neoabflu f (S) = f c(s) minimal 11 Korr.

Der Algorihmu on Ford & Fulkeron FordFulkeron(DirecedGraph G = (V, E; c), Verex, Verex ) foreach u E do f u = 0 while G f enhäl --Weg W do W = min u W c f (u) foreach u W do if u E hen f u = f u + W ele f u = f u W reurn f Korrekhei? Folg au Saz om fluergrößernden Weg. Laufzei? Berechnung on --Wegen } Breienuche O(E) Zei Tiefenuche Anz. Schleifendurchläufe in jedem Durchlauf wird f um 1 ergrößer max. f Durchläufe, wobei f ein max. Flu 1. c : E N: 2. Q >0 : 3. R >0 : O( f E) erweiern... problemaich! 12

Beipiel 0/ 0/ 0/1 u 0/G 0/ G f u 1 1/ 0/ 1/1 u 0/ 1/ 999 1 u 1 1 999 1/ 1/ 0/1 u 1/ 1/... Laufzei Ω( f E) 13

Der Algorihmu on Edmond & Karp EdmondKarp FordFulkeron(DirecedGraph G = (V, E; c), Verex, Verex ) foreach u E do f u = 0 while G f enhäl --Weg do W = kürzeer --Weg in G f W = min u W c f (u) foreach u W do if u E hen f u = f u + W ele f u = f u W reurn f Jack R. Edmond *1934 Richard M. Karp *1935 Boon, MA 14

Beipiel 0/ 0/ 0 0/1 u u 0 u 0 0/G 0/ 0 G f Aband on = 1 u 1 1 1 u Aband = 3 u Aband = 15 FERTIG!

Kürzee Wege machen effiziene Algorihmen Def. Sei δ f (u, ) die Länge (= Anz. Kanen) eine kürzeen u--weg in G f. Lemma. Während EdmondKarp(G,, ) gil für jeden Knoen V, da δ f (, ) mi jeder Fluergrößerung monoon zunimm. Bewei. Annahme: e gib einen Knoen derar, da δ(, ) bei einer Fluergrößerung abnimm. Seien f und f die Flüe or bzw. nach der Vergrößerung. kleiner Schurke Ab jez ei ein Knoen mi minimalem Wer on δ f (, ) und δ f (, ) < δ f (, ). 16

Forezung Bewei Sei W ein kürzeer --Weg in G f. Sei u der leze Knoen or auf W. u E f und δ f (, ) = δ f (, u) + 1. Nach Wahl on gil: δ f (, u) δ f (, u) Beh. Bewei. u E f u i kein Schurke; Aband nimm nich ab. Eig. kürzeer Wege Angenommen u E f. δ f (, ) δ f (, u) + 1 δ f (, u) + 1 = δ f (, ) Widerpruch zur Annahme, da δ f (, ) < δ f (, ). Aber wa kann u E f und u E f erklären?? 17

Forezung II 1. Fall: u E u E f u E f 2. Fall: u E u E f bedeue f (u) = c(u). bedeue f (u) < c(u). Fluergrößerung enlang u E f bedeue f (u) = 0. u E f bedeue f (u) > 0. Fluergrößerung enlang u E f der Flu wird in beiden Fällen enlang u ergrößer Da EdmondKarp enlang kürzeer Wege ergrößer, mu Vorgänger on u auf einem kürzeen -u-weg in G f ein. [u kein Schurke] [u lieg auf W or ] δ f (, ) = δ f (, u) 1 δ f (, u) 1 = δ f (, ) 2 < δ f (, ) Widerpr. zur Ann. δ f (, ) < δ f (, ) 18

Anzahl Fluerhöhungen & Laufzei Saz. EdmondKarp(G,, ) führ O(V E) Fluergrößerungen durch. Korollar. Der Edmond-Karp-Algorihmu läuf in O(V E 2 ) Zei. Bewei. Jede der O(V E) Fluergrößerungen benöig O(E) Zei bei Anwendung on Breienuche. 19

Bewei (Saz) Saz. EdmondKarp(G,, ) führ O(V E) Fluergrößerungen durch. Bewei. Alg. ergrößere enlang kürzeem --Weg W in G f Kane u auf W heiß kriich in G f, wenn c f (u) = W zeigen: jede Kane kann höchen O(V ) mal kriich ein δ f (, ) = δ f (, u) + 1 da u auf kürzeem Weg W in G f nach Fluergr. enlang W erchwinde u au G f u erchein er wieder im Reidualgraph, nachdem Flu enlang u ergrößer wurde u E f 20

Forezung Bewei Saz. EdmondKarp(G,, ) führ O(V E) Fluergrößerungen durch. Bewei. da u auf kürzeem fluergr. Weg in G f δ f (, u) = δ f (, ) + 1 u auf W in G f δ f (, ) + 1 = δ f (, u) + 2 δ f (, u) V 2 olange δ f (, u) < + u kann nur O(V ) mal kriich ein 21

Kurze Gechiche der Berechnung max. Flüe Mehode Laufzei O( ) Auoren Allgemeine gerichee Graphen hore reid. - pah V E 2 Edmond & Karp 56 puh relabel V 2 E Goldberg 87 relabel o fron V 3 Goldberg & Tarjan 88 V E log(v 2 /E + 2) blocking flow min(v 2/3, E 1/2 ) E Goldberg & Rao 98 log(v 2 /E + 2) log C, wobei C = e E c(e) new VE Orlin 13 --planare Graphen hore pah in dual V Hain 81 + Henzinger e al. 97 Planare Graphen lefmo reid. - pah V log V Borradaile & Klein 06 + erex capaciie V log V Kaplan & Nubaum 09 22