Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren...

33
1/1, Folie 1 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung 1. Fallstudie Bipartite Graphen 2. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Wege 6. Traveling Salesman Problem 7. Flüsse in Netzwerken und Anwendungen 8. Netzplantechnik

Transcript of Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren...

Page 1: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 1 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGliederung der Vorlesung

1. Fallstudie Bipartite Graphen2. Grundbegriffe3. Elementare Graphalgorithmen und Anwendungen4. Minimal spannende Bäume5. Kürzeste Wege6. Traveling Salesman Problem7. Flüsse in Netzwerken und Anwendungen8. Netzplantechnik

Page 2: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 2 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGliederung des Kapitels

a) Motivationb) Grundbegriffec) Matchings in bipartiten Graphend) Anwendungen

Page 3: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 3 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 1: Zuordnungsproblem

• gegeben:

• eine Menge A = { a1,...,ak } von Arbeitern• eine Menge M = { m1,...,mn } von Maschinen• eine Relation R ⊆ A × M mit der beschrieben wird,

welcher Arbeiter welche Maschine bedienen kann

• gesucht:

• Antwort auf die Frage, wie viele Maschinen gleichzeitigbedient werden können, wobei jeder Arbeiter gleichzeitignur eine Maschine bedienen kann (und natürlich jedeMaschine von mindestens einem Arbeiter bedient wird)

Page 4: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 4 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 1: Zuordnungsproblem

Arbeiter Maschinen

• je Arbeiter gibt es einen weißen Knoten• je Maschine gibt es einen gelben Knoten• zwischen einem weißen und einem gelben Knoten gibt es genau

dann eine Kante, falls der jeweilige Arbeiter die jeweilige Maschinebedienen kann

Page 5: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 5 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 1: Zuordnungsproblem

Arbeiter Maschinen

• offenbar können drei Maschinen gleichzeitig bedient werden• vier Maschinen können nicht gleichzeitig bedient werden

Page 6: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 6 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 2: Überdeckung eines Schachbretts

• gegeben:

• ein n × n Schachbrett, in dem das linke oberste unddas rechte unterste Feld entfernt wurden

• gesucht:

• Antwort auf die Frage, ob man alle Felder mit Domino-steinen abdecken kann, wobei jeder Dominostein zweiFelder überdeckt (und natürlich Dominosteine nichtaufeinander liegen können)

Page 7: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 7 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 2: Überdeckung eines Schachbretts

schwarze Felder weiße Felder

• zwischen einem schwarzen und einem weißen Knoten gibt es genaudann eine Kante, falls ein Dominostein die beiden Felder überdeckenkann

Page 8: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 8 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Beispiel 2: Überdeckung eines Schachbretts

schwarze Felder weiße Felder

• offenbar kann man nicht alle Felder mit Dominosteinen abdecken (imbesten Fall bleiben zwei schwarze Felder frei)

Page 9: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 9 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenMotivation

Abgeleitete Begriffe (nur ganz kurz)

• wir interessieren uns für ungerichteten Graphen (d.h. die Orientierungder Kanten ist unwesentlich)

• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphenlassen sich in zwei disjunkte Mengen zerlegen, wobei Kanten nie Eckenaus ein und derselben Menge haben)

• wir interessieren uns für die Größe von Matchings in diesen Graphen(d.h. für Mengen von Kanten, die paarweise keine Ecken gemeinsamhaben)

ein Matching kein Matching

Page 10: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 10 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGliederung des Kapitels

a) Motivationb) Grundbegriffec) Matchings in bipartiten Graphend) Anwendungen

... AnmerkungWir werden die Grundbegriffe so allgemein fassen, dass sie nicht nurden Spezialfall „bipartite Graphen“ abdecken !!! Wir beschränken unsim Wesentlichen auf „einfache Graphen“ !!!

Page 11: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 11 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: ungerichteter Graph

• ein ungerichteter Graph G = (V,E) besteht aus

• einer endlichen Menge V von Knoten• einer endlichen Menge E von Kanten (/* eine Kante e

verbindet zwei Knoten u,v mit u ≠v; zu zwei Knoten u,vgibt es höchstens eine Kante, die u und v verbindet */)

1 2

34

• G = (V,E) mit

• V = { 1,2,3,4 }• E = { {1,2},{1,3},{2,3} }

... wenn eine Kante e die zwei Knoten u und v verbindet, so schreibenwir e = { u,v } (/* e ist eine Menge; die Mengen { u,v } und { v,u } sindidentisch und beschreiben ein und dieselbe Kante */)

Page 12: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 12 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Repräsentation eines ungerichteten Graphen durch seine Adjazenzliste

• es sei G = (V,E) ein ungerichteter Graph

• die zu G gehörende Adjazenzliste ist ein Array A

• das mit den Knoten u ∈ V indiziert ist• für jedes u ∈ V enthält die Zelle A[u] einen Zeiger auf eine

einfach verkettete Liste, in der alle Knoten v mit { u,v } ∈ Evorkommen

1 2

34

4321 2 3

1 3

1 2

... jede Kante kommt de facto zweimal in der Adjazenzliste vor

Page 13: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 13 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriffe: Pfad und Zyklus

• es sei G = (V,E) ein ungerichteter Graph

• ein Pfad der Länge k von einem Knoten u zu einem Knoten u‘ in G isteine Folge (v0,v1,...,vk) von Knoten, so dass gilt:

• v0 = u und vk = u‘ und { vi-1,vi } ∈ E für alle i = 1,...,k

• ein Pfad (v0,v1,...,vk) heißt Zyklus, falls k ≥ 3, v0 = vk sowie v0 ≠ vi undvi ≠ vj für alle i,j = 1,...,k-1 gilt

1 2

34

• (1) - Pfad von 1 nach 1 der Länge 0• (1,2,3,2) - Pfad von 1 zu 2 mit Länge 3• (1,2,3,1) - Zyklus (/* Pfad von 1 zu 1

der Länge 3 */)• ...

Page 14: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 14 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Erreichbarkeitsrelation und Zusammenhangskomponente

• es sei G = (V,E) ein ungerichteter Graph• es sei u ein Knoten• es sei V‘ ⊆ V mit V‘ ≠ ∅

• ein Knoten v ist vom Knoten u aus erreichbar, falls es einen Pfad vonu zu v in G gibt (/* offenbar ist dann auch u von v aus erreichbar */)

• V‘ ist eine Zusammenhangskomponente von G, falls

• für alle u,u‘ ∈ V‘ gilt, dass u‘ von u aus erreichbar ist• für alle u ∈ V‘ und u‘ ∈ V \ V‘ gilt, dass u‘ von u aus nicht

erreichbar ist

1 2

34

• 2 und 3 sind von 1 aus erreichbar• 4 ist von 1 aus nicht erreichbar• es gibt zwei Zusammenhangs-

komponenten: { 1,2,3 } und { 4 }

Page 15: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 15 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Eine einfache algorithmische Fragestellung

• gegeben:

• ein ungerichteter Graph G = (V,E)

• gesucht:

• alle Zusammenhangskomponenten von G

... der Graph G habe genau n Knoten (/* der Einfachheithalber sei V = { 1,...,n } */) und m Kanten

Page 16: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 16 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Algorithmische Idee

• die zu G gehörende Adjazenzliste A[1..n]• ein Array B[1..n] (/* in dem sich die Zugehörigkeit zu den einzelnen

Zusammengehörigkeitskomponenten „gemerkt“ wird */)• eine Liste L (/* zur Steuerung der Verarbeitung */)

1) starte bei einem Knoten u und markiere alle von diesem Knoten auserreichbaren Knoten (/* u und alle diese Knoten bilden eineZusammenhangskomponente */)

2) falls noch ein unmarkierter Knoten u‘ existiert, so gehe zu 1) (/* wobeidie nächste Zusammenhangskomponente gebildet wird ... */)

Zugrunde liegende Datenstrukturen

Page 17: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 17 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Realisierung

• setze b = 0 und B[j] = 0 für alle j = 1,...,n• for j = 1,...,n do

if B[j] == 0 thensetze b = b+1, B[j] = b, L = { j }while L nicht leer ist do

entferne das erste Element s aus Lfor all v ∈ A[s] do

if B[v] = 0 thensetze B[v] = b und füge v ans Ende von L ein

... es werden b Zusammenhangskomponenten V‘1,...,V‘bgefunden, wobei V‘z = { j | B[j] = z } für alle z = 1,...,b gilt

Page 18: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 18 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel 1 2

34

5

6

• j = 1 • b = 1, B[1] = 1• L = ( 1 ), s = 1

• v = 2, B[2] = 1, L = ( 2 )• v = 3, B[3] = 1, L = ( 2,3 )

• L = ( 2,3 ), s = 2• v = 1• v = 3

• L = ( 3 ), s = 3• v = 1• v = 2

• L = ( )

Page 19: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 19 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel 1 2

34

5

6

• j = 2

• j = 3

• j = 4 • b = 2, B[4] = 2• L = ( 4 ), s = 4• L = ( )

Page 20: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 20 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel 1 2

34

5

6

• j = 5 • b = 3, B[5] = 3• L = ( 5 ), s = 5

• v = 6, B[6] = 3, L = ( 6 )• L = ( 6 ), s = 6

• v = 5• L = ( )

Page 21: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 21 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel 1 2

34

5

6

• j = 6

Page 22: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 22 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Abschätzung der Laufzeit des Algorithmus

• die Initialisierung benötigt n+1 viele Rechenschritte

• die Ausführung der „for-Schleife“ für einen Knoten j benötigt:

• c1 viele Rechenschritte (/* falls j bereits markiert ist */)• c2 viele Rechenschritte (/* für die Initialisierung vor Ausführung

der „while-Schleife“ */) und so viele weitere Rechenschritte, wiezum Neubestimmen der Zusammenhangskomponente,die j enthält, erforderlich sind (/* sonst */)

... da jeder Knoten nur einmal markiert wird, reicht es, die Rechenzeiten zumNeubestimmen der einzelnen Zusammenhangskomponenten abzuschätzenund aufzuaddieren

... zusätzlichen werden maximal n + 1 + c1*n viele Rechenschritte benötigt(/* für die Initialisierung und die anderen Ausführungen der „For-Schleife“ */)

Page 23: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 23 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Abschätzung der Laufzeit des Algorithmus

• beim Neubestimmen einer Zusammenhangskomponente V‘

• wird jede Kante, die die Knoten in V‘ verbindet, genau zweimal„angefasst“

• dabei werden je Kante benötigt:

• c3 viele Rechenschritte (/* falls die „andere“ Ecke derjeweiligen Kante mit 0 markiert ist */)

• c4 viele Rechenschritte (/* sonst */)

... da jede Kante nur beim Neubestimmen einer einzigen Zusammenhangs-komponente „angefasst“ wird, genügen maximal (c3 + c4)*m viele Rechen-schritte, für die Neubestimmung aller Zusammenhangskomponenten

... insgesamt werden maximal c*(n + m) viele Rechenschritte benötigt, umalle Zusammenhangskomponenten zu bestimmen

Page 24: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 24 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Eine einfache Beobachtung

... die Zusammenhangskomponenten von G definieren eineKlasseneinteilung über der Knotenmenge V von G

• es sei G = (V,E) ein ungerichteter Graph• es seien V‘1,V‘2,...,V‘k die Zusammenhangskomponenten von G

Dann gilt:

• V‘1 ∪ V‘2 ∪ ... ∪ V‘k = V• V‘i ∩ V‘j = ∅ für alle i,j = 1,...,k mit i ≠ j

Page 25: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 25 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel

1 2

34

5

6

• V‘1 = { 1,2,3 }• V‘2 = { 4 }• V‘3 = { 5,6 }

Page 26: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 26 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Zusammenhängender ungerichteter Graph

• es sei G = (V,E) ein ungerichteter Graph

• G heißt zusammenhängend, falls für alle u,u‘ ∈ V gilt, dass u‘ von u auserreichbar ist. (/* G besitzt genau eine Zusammenhangskomponente,nämlich V‘ = V. */)

Page 27: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 27 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Matching und Größe eines Matchings

• es sei G = (V,E) ein ungerichteter Graph• es sei M ⊆ E mit M ≠ ∅

• M ist ein Matching von G, falls alle Kanten in M paarweise verschiedeneEcke haben. Die Größe eines Matchings M von G ist gleich der Anzahlder Kanten in M. (/* Bezeichnung: |M| */)

ein Matching der Größe 2(/* M = { {1,2}, {5,6} } */)

kein Matching(/* M = { {1,2}, {2,3} {5,6} } */)

1 2

34

5

6

1 2

34

5

6

Page 28: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 28 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Maximales Matching

• es sei G = (V,E) ein ungerichteter Graph• es sei M ⊆ E ein Matching von G

• M ist ein maximales Matching von G, falls es kein Matching M‘ von G mit|M‘| > |M| gibt.

ein maximales Matching(/* M‘ = { {1,2}, {5,6} } */)

1 2

34

5

6

Page 29: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 29 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Eckenüberdeckung und Größe einer Eckenüberdeckung

• es sei G = (V,E) ein ungerichteter Graph• es sei S ⊆ V mit S ≠ ∅

• S ist ein Eckenüberdeckung von G, falls für jede Kante e ∈ E gilt,dass mindestens eine Ecke von e zu S gehört. Die Größe einerEckenüberdeckung S von G ist gleich der Anzahl der Knoten in S.(/* Bezeichnung: |S| */)

eine Eckenüberdeckung der Größe 4(/* S = { 1,2,4,5 } */)

keine Eckenüberdeckung(/* S = { 1,4,6 } */)

1 2

34

5

6

1 2

34

5

6

Page 30: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 30 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Begriff: Minimale Eckenüberdeckung

• es sei G = (V,E) ein ungerichteter Graph• es sei S ⊆ V ein Eckenüberdeckung von G

• S ist eine minimale Eckenüberdeckung von G, falls es keine Ecken-überdeckung S‘ von G mit |S‘| < |S| gibt.

eine minimale Eckenüberdeckung(/* S‘ = { 1,2,4,5 } */)

1 2

34

5

6

Page 31: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 31 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Ein einfacher Zusammenhang

• es sei G = (V,E) ein ungerichteter Graph• es sei M ⊆ E ein Matching von G• es sei S ⊆ V irgendeine Eckenüberdeckung von G

Dann gilt: |M| ≤ |S|.

Beweisidee:

• es sei M ein Matching• da S eine Eckenüberdeckung ist, muss für jede Kante e in M

gelten: eine Ecke von e gehört mindestens zu S

• Annahme: |S| < |M|• dann muss S einen Knoten enthalten, der Ecke von zwei Kanten

in M ist• da M ein Matching von G ist, kann das nicht sein

... also ist die Annahme falsch

Page 32: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 32 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Eine unmittelbare Konsequenz

• es sei G = (V,E) ein ungerichteter Graph• es sei M* ein maximales Matching von G• es sei S* eine minimale Eckenüberdeckung von G

Dann gilt: |M*| ≤ |S*|.

... in manchen Fällen gilt |M*| < |S*|

... in manchen Fällen gilt |M*| = |S*|

Page 33: Kapitel 1: Fallstudie Bipartite Graphen Gliederung der ... · PDF file• wir interessieren uns für bipartite Graphen (d.h. die Knoten des Graphen lassen sich in zwei disjunkte Mengen

1/1, Folie 33 © 2011 Prof. Steffen Lange - HDa/FbI - Graphen und Optimierung

Kapitel 1: Fallstudie Bipartite GraphenGrundbegriffe

Beispiel 1 (/* für |M*| < |S*| */)

1 2

3

1 2

3

1 2

3

4

Beispiel 2 (/* für |M*| = |S*| */)

1 2

3

1 2

3

1 2

3

4 4