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