Graphenalgorithmen Professor Dr Petra Mutzel Lehrstuhl fr Algorithm
















































- Slides: 48
Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS 11 WS 2006/06
Kurz-Vorstellung l l l Studium an Univ. Augsburg (Wi. Ma/Math) 1983 --1990 Wiss. Mitarb. an Rice University, Houston (TX) Wiss. Mitarb. an FU Berlin Promotion an Univ. zu Köln (Inf) 1994 Habilitation am Max-Planck-Institut für Informatik, Saarbrücken 1999 Vertr. -Professur (C 3) an Univ. Heidelberg (Inf) 1999 l Lehrstuhl für Algorithmen und Datenstrukturen, TU Wien 1999 -2004 l seit Dezember 2004: Lehrstuhl für Algorithm Engineering, LS 11 l
Algorithm Engineering l Design, l theoretische Analyse, l Implementierung, und l experimentelle Evaluation von Algorithmen und Datenstrukturen anwendungsorientiert
Forschungsinteressen l Algorithmen und Datenstrukturen l Graphenalgorithmen l Kombinatorische Optimierung anwendungsorientiert
Graphenalgorithmen l l l l l Datenstrukturen für Graphen Graphtraversierung: BFS, DFS Matching- und Assignmentprobleme: maximales Matching, Heiratsproblem Graphenfärbung: Landkartenfärbung Netzwerkdesign: MST, Minimum Steiner Tree Wegeprobleme: kürzeste, längste, TSP Flüsse in Netzwerken: max-flow, min-cost-flow Graphpartitionierung: st-min-cut, max-cut Überdeckungsprobleme: vertex cover Spezielle Graphklassen: planare Graphen
Themen der VO: Probleme l l l l l Heiratsproblem, Maximales Matching Graphenfärbungsprobleme Travelling Salesman Problem (TSP) Minimum Steiner Tree max-cut in planaren Graphen min-cost flow vertex-cover Test auf Klassenzugehörigkeit, z. B. planar externe Graphtraversierung: BFS externer Minimum Spanning Tree (MST)
Themen der VO: Methoden l l l Effiziente Graphenalgorithmen (spezielle Verfahren) Algorithmen für Spezialklassen, z. B. planare Graphen, beschränkte Baumweite Branch-and-Cut, Schnittebenenverfahren, ILP Approximationsalgorithmen FPT- (Fixed-Parameter-Tractable) Algorithmen Externspeicheralgorithmen
Organisatorisches l Zeiten: Vorlesung: Mo 12: 15 -13: 45 l Übung: Übungsaufgaben zum Nachdenken über behandelten Stoff, aber auch Originalartikel über Varianten ¡ klassische Übungen und Projektarbeit in Gruppen mit Präsentationen ¡ Termine: Di / Do um 14: 15 -15: 45 Uhr ¡ Wie oft? 7 -14 -tägig, d. h. ca. 10 Termine ¡ Termine: Anmeldung: jetzt (Listen) ¡ Einteilung kommenden Montag ¡
Schwerpunktgebiete Algorithmen, Komplexität und formale Modelle l Computational Intelligence und Natural Computing l Intelligente Systeme l
Prüfungselemente l Mündliche Fachprüfung: ¡ Über VO 2 inkl Ü 2: 6 LP ¡ Anforderungen: l Zusammenhänge des Gebiets l Spezielle Fragestellungen einordnen und bearbeiten l (ich hätte gerne: „regelmäßige aktive Mitarbeit in Übungen“, darf ich aber nicht fordern) l Mündliche Prüfung: Stoff der VO und Ü, 20 Minuten
Prüfungselemente l Leistungsnachweis: ¡ Über VO 2 inkl. Ü 2: 6 LP ¡ Anforderungen: l Regelmäßige aktive Mitarbeit in Übungen l Mündliche Prüfung (in einer Art Fachgespräch): 15 Minuten
Literatur für diese VO Aktuelle Originalliteratur, Folien, VO-Mitschriften? l Cook, Cunningham, Pulleyblank, Schrijver, Combinatorial Optimization, John Wiley and Sons, New York, 1998 l Graphentheorie (weniger Algorithmen): ¡ F. Harary: Graph Theory, Addison-Wesley, Reading, MA, 1969 ¡ R. Diestel: Graph Theory, 3. Auflage, Springer. Verlag, Heidelberg Graduate Texts in Maths, Vol. 173 (auch in deutsch); elektronische Ausgabe: www. math. uni-hamburg. de/home/diestel/books/ graph. theory/download. html l
1. Matchingprobleme 1. 1 Das Heiratsproblem
Übersicht Problembeschreibung / Anwendungen l Algorithmus l Analyse des Algorithmus ¡ Korrektheit des Algorithmus ¡ Eigenschaften des Algorithmus ¡ Laufzeit des Algorithmus l
Das Heiratsproblem Gegeben l n Männer und n Frauen l Jede Person hat eine nach persönlichen Präferenzen sortierte Liste aller Personen des anderen Geschlechts Gesucht l Stabile Paarungen von jeweils einem Mann und einer Frau
Stabile Paarung? Alfred Balduin Caroline Doris
Stabile Paarung? Alfred Caroline 1. Doris 2. Caroline Balduin Doris 1. Alfred 2. Balduin Instabile Paarungen Es gibt zwei Personen die beide miteinander glücklicher wären als mit ihren zugeordneten Partnern
Fragestellung l Existiert l Wie immer eine stabile Paarung? berechnet man eine solche stabile Paarung?
Umfeld & Anwendung l Umfeld: ¡ Matching- und Assignment-Probleme l Anwendung: ¡ Zuordnung von Medizinstudierenden zu Krankenhäusern in den USA ¡ Zulassungen zu Colleges
Formale Definitionen l. M l. F = Menge der Männer = Menge der Frauen l |M| = |F| l Jeder m∈M hat Reihung <m (Totalordnung) aller Frauen f∈F l Jede f∈F hat Reihung <f aller Männer <f m 2 bedeutet jeweils: f würde lieber m 1 als m 2 heiraten. l m 1
Formale Definitionen ff. Eine Paarung ist eine bijektive Abb. H: M→F. Wir schreiben (m, f)∈ H, H(m)=f, H-1(f)=m l Eine Paarung H ist instabil, wenn es m∈M und f∈F gibt, so dass: 1. (m, f)∉ H, d. h. m und f sind nicht verheiratet 2. m wäre lieber mit f verheirat als mit seiner Frau H(m) 3. f wäre lieber mit m verheiratet als mit ihrem Mann H-1(f) l
Formale Definitionen ff. l Eine Paarung ist stabil, wenn sie nicht instabil ist. l Das Problem der stabilen Heirat ist es, eine stabile Paarung zu berechnen.
Beispiel M = {Anton, Bernd, Christoph} l F = {Gabi, Heike, Iris} l Anton: H, G, I Bernd: I, G, H Christoph: I, H, G l Gabi: A, B, C Heike: B, C, A Iris: A, C, B l l Ist Paarung {AI, BG, CH} stabil?
Algorithmus von Gale & Shapley 1962 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Alle Frauen und Männer sind unverlobt While (∃ nicht verlobter Mann m∈M) { m macht oberster Frau f auf Liste Antrag; if (f nicht verlobt): verlobe m und f, d. h. (m, f)∈H else if (f zieht m ihrem akt. Partner m´ vor){ löse Verlobung (f, m´); verlobe m, f; m´ streicht f von seiner Liste} else m streicht f von seiner Liste
Albert F, G, H, I, J Balduin F, I, H, G, J Casper I, H, F, J, G Daniel G, F, I, H, J Egon J, I, G, H, F Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Iris C, A, B, D, E Julia A, B, C, D, E
Albert F, G, H, I, J Balduin F, I, H, G, J Casper I, H, F, J, G Daniel G, F, I, H, J Egon J, I, G, H, F Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Iris C, A, B, D, E Julia A, B, C, D, E
Albert F, G, H, I, J Balduin F, I, H, G, J Casper I, H, F, J, G Daniel G, F, I, H, J Egon J, I, G, H, F Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Iris C, A, B, D, E Julia A, B, C, D, E
Albert F, G, H, I, J Balduin F, I, H, G, J Daniel G, F, I, H, J Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Casper I, H, F, J, G Egon J, I, G, H, F Iris C, A, B, D, E Julia A, B, C, D, E
Balduin F, I, H, G, J Daniel G, F, I, H, J Albert F, G, H, I, J Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Casper I, H, F, J, G Egon J, I, G, H, F Iris C, A, B, D, E Julia A, B, C, D, E
Balduin Daniel F, I, H, G, J G, F, I, H, J Albert F, G, H, I, J Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Casper I, H, F, J, G Egon J, I, G, H, F Iris C, A, B, D, E Julia A, B, C, D, E
Kein Kandidat Daniel Runde 5 G, F, I, H, J Albert F, G, H, I, J Jeder ist verlobt Balduin F, I, H, G, J Casper I, H, F, J, G Egon FERTIG I, J, G, H, F Flora D, B, A, E, C Gabi A, B, C, D, E Heike A, B, C, D, E Iris C, A, B, D, E Julia A, B, C, D, E
ABER: l Terminiert der Algorithmus immer? l Können am Ende Personen übrig bleiben? l Sind die Paarungen stabil? l Ist die Lösung des Algorithmus eindeutig? l Ist die Lösung fair, oder bevorzugt sie die Männer oder die Frauen? l Wie lange braucht dieser Algorithmus um die Lösung zu finden?
Terminiert der Algorithmus immer? Ja! ¡ Jeder Mann kann nur n mal einen Antrag machen ¡ In jeder Runde macht mindestens ein Mann einen Antrag Irgendwann ist die Liste jedes Mannes leer.
Können am Ende Personen übrig bleiben? Nein! # verlobter Männer = # verlobter Frauen ¡ Sobald eine Frau verlobt ist, bleibt sie bis zum Schluss verlobt (ggf. mit wechselndem Partner) ¡ l Indirekter Beweis: ¡ Annahme: Ein Mann A und eine Frau B bleiben übrig ¡ Widerspruchsargument: A hätte B einen Antrag gemacht und sie hätte akzeptiert
Sind die Paarungen stabil? Ja! Indirekter Beweis: Alfred Caroline l A hat D vor C einen Antrag gemacht: Ø D hat akzeptiert: l 1. Doris 2. Caroline Ø Balduin Doris 1. Alfred 2. Balduin Sie hätte später nie A mit jmd. weiter unten in der Liste getauscht D hat abgelehnt: l l Sie war verlobt mit jmd. weiter oben auf der Liste als A. Sie hätte später nie diesen mit jmd. noch weiter unten als A getauscht.
Ist die Lösung fair? Nein! Männer haben Vorteile! Alfred 1. Caroline 2. Doris Balduin 1. Doris 2. Caroline 1. Balduin 2. Alfred Doris 1. Alfred 2. Balduin
Ist die Lösung fair? Nein! Männer haben Vorteile! Alfred 1. Caroline 2. Doris Balduin 1. Doris 2. Caroline 1. Balduin 2. Alfred Doris 1. Alfred 2. Balduin
Ist die Lösung fair? Wenn die Frauen die aktive Rolle hätten… Alfred 1. Caroline 2. Doris Balduin 1. Doris 2. Caroline 1. Balduin 2. Alfred Doris 1. Alfred 2. Balduin
Ist die Lösung fair? Wenn die Frauen die aktive Rolle hätten… Alfred 1. Caroline 2. Doris Balduin 1. Doris 2. Caroline 1. Balduin 2. Alfred Doris 1. Alfred 2. Balduin
Ist die Lösung fair? Der Algorithmus findet unter allen stabilen Paarungen diejenige, die Männer-optimal und Frauen-pessimal ist. D. h. es existiert keine andere stabile Paarung, bei der ein Mann eine für ihn bessere Frau erhalten hätte… bzw. eine Frau einen für sie schlechteren Mann.
Männer-Optimal – Indirekter Beweis l Def. : Eine Frau f heißt für einen Mann m unerreichbar, wenn es keine stabile Paarung P mit (m, f)∈P gibt. l Wir zeigen: Falls ein Mann m von einer Frau f zurückgewiesen wird, ist die Frau für ihn unerreichbar. Annahme: M 1 wird im Algorithmus von F 2 zurückgewiesen, und es gibt eine stabile Paarung P mit (M 1, F 2)∈P. l O. B. d. A. sei dies das erste Mal, dass der Algorithmus einen „Fehler“ macht. l
Männer-Optimal – Indirekter Beweis l Annahme: ¡ ¡ l Algorithmus (H): (M 1, F 1), (M 2, F 2), … Alternative stabile Paarung (P): (M 1, F 2), (M 2, F 3)… M 1 mag F 2 lieber als F 1 „erster Fehler“ des Algorithmus Folgerung: ¡ ¡ M 1 wurde von F 2 zurückgewiesen, d. h. F 2 mag M 2 lieber als M 1 In (P): (M 2, F 3): l l M 2 mag F 3 lieber als F 2 Widerspruch zu „erster Fehler“ M 2 mag F 2 lieber als F 3 Widerspruch zu Stabilität
Eindeutigkeit l Das Ergebnis des Algorithmus ist eindeutig. l Beweis: Seien H 1 und H 2 verschiedene m-optimale Lösungen. l Dann existiert ein m, dem es in H 1 oder H 2 schlechter geht.
Frauen-Pessimal – Indirekter Beweis l Beweis: Sei stabile Paarung H´≠H das schlechtest mögliche Arrangement für die Frauen. l Dann l m: existiert f mit (m, f)∈H und (m´, f)∈H´. xxxx <m f <m … (unerreichbare Frauen für m) l f: …m…m´… l→ Widerspruch zur Stabilität von H´.
Laufzeit l In jeder Runde gibt es mindestens einen Antrag l Der Algorithmus endet spätestens, wenn alle Männer beim letzten Namen angekommen sind n Listen mit je n Einträgen = n 2 Einträge Maximal n 2 Anträge Aufwand pro Antrag: konstant (für alle Frauen init. Feld rank[1. . m]) Laufzeit ist O(n 2): quadratisch
Bemerkung zur Anwendung Der Algorithmus wird für die Medizinstudierenden in den USA verwendet. Wer die Rolle der Männer übernimmt? Krankenhäuser l Werbetext für die Studierenden: „You will be matched with your highest ranked hospital that offers you a position. “ l Lange Zeit gingen die Betroffenen davon aus, dass der Algorithmus fair für beide Parteien ist. l Wahrheit wurde erst im Jahr 1981 durch zwei große Artikel im New England Journal of Medicine bekannt. l
Bemerkungen l Das stabile Heiratsproblem ist ein Zuordnungsproblem im Umfeld der Matching. Algorithmen und Assignmentprobleme. l Es kann als Perfektes Matching Problem in einem Graphen formuliert werden. l Ein Matching ist eine Teilmenge von Kanten, die zu jedem Knoten höchstens einmal inzident ist. l Ein perfektes Matching ist eine Teilmenge der Kanten, die zu jedem Knoten genau einmal inzident ist.
Literatur l Schöne Abhandlung und Animationen von Harry Mairson: http: //www 1. cs. columbia. edu/~evs/intro/stable/ Tipp: Aktiv sein hilft!