Algorithmen und Komplexität

Werbung
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Algorithmen und Komplexität
Teil 1: Grundlegende Algorithmen
WS 08/09
Friedhelm Meyer auf der Heide
Vorlesung 4, 21.10.08
Friedhelm Meyer auf der Heide
1
Organisatorisches
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
• Neue Übungsgruppe, Di 16-18, F2 211
• Zusätzlicher Übungsgruppenleiter: Ralf Petring
wird durch Adrian Ogiermann unterstützt
• 30% der Punkte der Ü-Blätter sind Voraussetzung
zur Zulassung zur mündlichen Prüfung.
Friedhelm Meyer auf der Heide
2
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Greedy Algorithmen
Friedhelm Meyer auf der Heide
3
Greedy Algorithmen
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Friedhelm Meyer auf der Heide
4
Greedy-Algorithmen
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Wir wissen:
Greedy-Algorithmen für z.B. Bruchteil Rucksack und Minimale
Spannbäume sind optimal.
Greedy-Algorithmen für z.B. 0-1 Rucksack ist sehr schlecht.
Greedy-Algorithmen für z.B. Bin Packing (First Fit, Best Fit)
sind 2-Approximationen, also gut, wenn auch nicht optimal.
Kann man einem Problem “ansehen”, ob der zugehörige
Greedy-Algorithmus optimal ist?
Friedhelm Meyer auf der Heide
5
Wann sind Greedy-Algorithmen optimal?
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Friedhelm Meyer auf der Heide
6
Beispiele für Teilmengensysteme
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Friedhelm Meyer auf der Heide
7
Teilmengensysteme und der kanonische
Greedy-Algorithmus
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Der kanonische G.A. für Rucksack ist sehr schlecht (haben wir gezeigt)
Der kanonische G.A. für MST ist optimal,
haben sie in DuA gezeigt: Kruskals Algorithmus
Kann man dem Teilmengensystem “ansehen”,
ob der kanonische G.A. eine optimale Lösung liefert?
Friedhelm Meyer auf der Heide
8
Greedy-Algorithmen und Matroide
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Bem: Alle maximalen Mengen eines Matroids sind gleich groß.
Bew: Übungsaufgabe
Das Teilmengensystem für Rucksackproblem ist kein Matroid.
Das Teilmengensystem für MST ist ein Matroid!
Friedhelm Meyer auf der Heide
9
Das MST-Matroid
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Satz: Das Teilmengensystem für MST ist ein Matroid.
Beweis:
(i) ∅ ∈ U (klar)
(ii) B ∈ U, A ⊆ B ⇒ A ∈ U (klar)
Wir müssen die Austauscheigenschaft nachweisen.
Friedhelm Meyer auf der Heide
10
Die Austauscheigenschaft des MST-Matroids
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Z.z:
Bew:
Friedhelm Meyer auf der Heide
11
Matroide und der
Kanonische Greedy-Algorithmus
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
→ siehe Tafel
B\A
→ siehe Tafel
Friedhelm Meyer auf der Heide
12
Noch ein interessantes Matroid: Matching für
links-knotengewichtete bipartite Graphen
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Gegeben sei
ein bipartiter, gewichteter Graph G=(L ∪ R, K, w)
mit positiven Knotengewichten w(e) für die Knoten
aus L.
Ein Matching in G ist eine Menge von paarweise
disjunkten Kanten. Ein maximales Matching ist
eins mit maximalem Gewicht (seiner linken
Knoten.)
Friedhelm Meyer auf der Heide
13
Das bipartite-Matching Matroid
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Wähle E=L.
B⊆ L ist in U, falls es ein Matching mit “linker Seite”
B in G gibt.
Satz: (E,U) ist ein Matroid.
Bew:
(i) ∅ ∈ U (klar)
(ii) B ∈ U, A⊆ B ⇒ A ∈ U (klar)
Wir müssen die Austauscheigenschaft nachweisen.
Friedhelm Meyer auf der Heide
14
Beweis der Austauscheigenschaft
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Wähle E=L. B⊆ L ist in U, falls es ein Matching mit “linker Seite” B in G gibt.
Z.z.:
Bew: Betrachte die Kantenmengen X und Y, die zu den Matchings für A
und B gehören.
Betrachte den durch X ∪ Y induzierten Graphen H.
• H besteht aus
– isolierten Kanten, die rot, blau oder rot/blau sein können.
– disjunkten Wegen, die aus abwechselnd roten und blauen Kanten
bestehen.
• H hat mehr rote als blaue Kanten
Also: Es gibt rote isolierte Kante (mit linkem Knoten v ∈ B\A) oder
Weg der Länge > 1 mit mehr roten als blauen Kanten.
Friedhelm Meyer auf der Heide
15
HEINZ NIXDORF INSTITUTE
Beweis der Austauscheigenschaft
University of Paderborn
Algorithms and Complexity
Also: Es gibt rote isolierte Kante (mit linkem Knoten v ∈ B\A) oder
Weg P der Länge > 1 mit mehr roten als blauen Kanten.
Im ersten Fall: A ∪ {v} ∈ U
Im zweiten Fall: P hat ungerade Länge, beginnt und endet mit
roter Kante
v ∈ B\A
A ∪ {v} ∈ U, da die roten Kanten ein Matching bilden.
Friedhelm Meyer auf der Heide
16
Übungsaufgabe
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Nutzen sie obige Überlegungen, um einen effizienten
Algorithmus zur Berechnung eines maximalen
Matchings in einem (links Knoten-)gewichteten
bipartiten Graphen anzugeben.
Bem: Es ist auch nicht zu schwierig, maximale Matchings
bzgl. Kantengewichten zu berechnen.
(Augmenting Paths Methode; wir kommen darauf später
zurück, wenn wir über Flussprobleme reden.)
Die zugrunde liegende Struktur ist dann der “Durchschnitt
zweier Matroide.”
Friedhelm Meyer auf der Heide
17
HEINZ NIXDORF INSTITUTE
University of Paderborn
Algorithms and Complexity
Thank you for
your attention!
Friedhelm Meyer auf der Heide
Heinz Nixdorf Institute
& Computer Science Department
University of Paderborn
Fürstenallee 11
33102 Paderborn, Germany
Tel.: +49 (0) 52 51/60 64 80
Fax: +49 (0) 52 51/62 64 82
E-Mail: [email protected]
http://www.upb.de/cs/ag-madh
Friedhelm Meyer auf der Heide
18
Herunterladen