Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle...

42
Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06

Transcript of Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle...

Page 1: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Graphenalgorithmen

Professor Dr. Petra Mutzel

Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11

WS 2006/06

Page 2: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Kurz-Vorstellung

Studium an Univ. Augsburg (WiMa/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 (C3) an Univ. Heidelberg (Inf) 1999 Lehrstuhl für Algorithmen und Datenstrukturen, TU Wien

1999-2004 seit Dezember 2004: Lehrstuhl für Algorithm Engineering, LS11

Page 3: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Algorithm Engineering

Design,theoretische Analyse,Implementierung, undexperimentelle Evaluation

von Algorithmen und Datenstrukturen

anwendungsorientiert

Page 4: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Forschungsinteressen

Algorithmen und DatenstrukturenGraphenalgorithmenKombinatorische Optimierung

anwendungsorientiert

Page 5: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Graphenalgorithmen 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, min-cut, max-

cut Überdeckungsprobleme: vertex cover Spezielle Graphklassen: planare Graphen

Page 6: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Themen der VO: Probleme

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)

Page 7: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Themen der VO: Methoden

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

Page 8: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Organisatorisches Zeiten: Vorlesung: Mo 12:15-13:45

Ü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

Page 9: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Schwerpunktgebiete

Algorithmen, Komplexität und formale Modelle Computational Intelligence und Natural

Computing Intelligente Systeme

Page 10: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Prüfungselemente Mündliche Fachprüfung:

Über VO 2 inkl Ü 2: 6LP Anforderungen:

Zusammenhänge des GebietsSpezielle Fragestellungen einordnen und

bearbeitenRegelmäßige aktive Mitarbeit in Übungen Mündliche Prüfung: Stoff der VO und Ü, 20

Minuten

Page 11: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Prüfungselemente

Leistungsnachweis: Über VO 2 inkl. Ü 2: 6LP Anforderungen:

Regelmäßige aktive Mitarbeit in Übungen Mündliche Prüfung: 15 Minuten

Page 12: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Literatur für diese VO Aktuelle Originalliteratur, Folien, VO-Mitschriften? Cook, Cunningham, Pulleyblank, Schrijver,

Combinatorial Optimization, John Wiley and Sons, New York, 1998

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

Page 13: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

1. Matchingprobleme

1.1 Das Heiratsproblem

Viele der Folien entstammen Schülervorträgen von Markus Chimani und Maria Kandyba zur Schnupperuni

Page 14: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Übersicht

Problembeschreibung / Anwendungen Algorithmus Analyse des Algorithmus

Korrektheit des Algorithmus Eigenschaften des Algorithmus Laufzeit des Algorithmus

Page 15: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Das Heiratsproblem

Gegebenn Männer und n FrauenJede Person hat eine nach persönlichen

Präferenzen sortierte Liste aller Personen des anderen Geschlechts

GesuchtStabile Paarungen von jeweils einem

Mann und einer Frau

Page 16: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Stabile Paarung?

Balduin

Caroline

Doris

Alfred

Page 17: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Stabile Paarung?

Balduin Doris

1. Alfred2. Balduin

CarolineAlfred

1. Doris2. Caroline

Instabile Paarungen Es gibt zwei Personen die beide miteinander glücklicher wären als mit ihren zugeordneten Partnern

Page 18: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Fragestellung

Existiert immer eine stabile Paarung?

Wie berechnet man eine solche stabile Paarung?

Page 19: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Umfeld & Anwendung

Umfeld: Matching- und Assignment-Probleme

Anwendung: Zuordnung von Medizinstudierenden zu

Krankenhäusern in den USA Zulassungen zu Colleges

Page 20: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Formale Definitionen

M = Menge der MännerF = Menge der Frauen|M| = |F|Jeder m M∈ hat Reihung <m (Totalordnung) aller

Frauen f F∈Jede f F∈ hat Reihung <f aller Männer

m1 <f m2 bedeutet jeweils: f würde lieber m1 als m2 heiraten.

Page 21: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Formale Definitionen ff.

Eine Paarung ist eine bijektive Abb. H:M→F. Wir schreiben (m,f) H, H(m)=f, H∈ -1(f)=m

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 verheiratet2. 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)

Page 22: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Formale Definitionen ff.

Eine Paarung ist stabil, wenn sie nicht instabil ist.

Das Problem der stabilen Heirat ist es, eine stabile Paarung zu berechnen.

Page 23: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Beispiel

M = {Anton, Bernd, Christoph} F = {Gabi, Heike, Iris} Anton: H,G,I Bernd: I,G,H Christoph: I,H,G Gabi: A,B,C Heike: B,C,A Iris: A,C,B

Ist Paarung {AI, BG, CH} stabil?

Page 24: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Algorithmus von Gale & Shapley 19621. Alle Frauen und Männer sind unverlobt2. While (∃ nicht verlobter Mann m∈M) {3. m macht oberster Frau f auf Liste Antrag;4. if (f nicht verlobt): 5. verlobe m und f, d.h. (m,f)∈H6. else if (f zieht m ihrem akt. Partner m´ vor){7. löse Verlobung (f,m´); 8. verlobe m,f; 9. m´ streicht f von seiner Liste}10. else m streicht f von seiner Liste

Page 25: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 26: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 27: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 28: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 29: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 30: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Flora

D, B, A, E, C

Albert

F, G, H, I, J

Gabi

A, B, C, D, E

Heike

A, B, C, D, E

Iris

C, A, B, D, E

Julia

A, B, C, D, E

Balduin

F, I, H, G, J

Casper

I, H, F, J, G

Daniel

G, F, I, H, J

Egon

J, I, G, H, F

Page 31: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Run

de 5

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

Casper

I, H, F, J, G

Egon

I, J, G, H, F

Albert

F, G, H, I, J

Daniel

G, F, I, H, J

Balduin

F, I, H, G, J

Kein Kandidat

Jeder ist verlobt

FERTIG

Page 32: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

ABER:

Terminiert der Algorithmus immer? Können am Ende Personen übrig bleiben?Sind die Paarungen stabil?Gibt es nur eine Lösung?Ist die Lösung fair, oder bevorzugt sie die

Männer oder die Frauen?Wie lange braucht dieser Algorithmus um

die Lösung zu finden?

Page 33: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

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.

Page 34: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

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)

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

Page 35: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Sind die Paarungen stabil?

Ja! Indirekter Beweis:

Balduin Doris

1. Alfred2. Balduin

CarolineAlfred

1. Doris2. Caroline

A hat D vor C einen Antrag gemacht:

D hat akzeptiert: Sie hätte später nie A mit

jmd. weiter unten in der Liste getauscht

D hat abgelehnt: 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.

Page 36: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Ist die Lösung fair?

Nein! Männer haben Vorteile!

Balduin

1. Doris2. Caroline

Caroline

1. Balduin2. Alfred

Doris

1. Alfred2. Balduin

Alfred

1. Caroline2. Doris

Page 37: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Ist die Lösung fair?

Nein! Männer haben Vorteile!

Balduin

1. Doris2. Caroline

Caroline

1. Balduin2. Alfred

Doris

1. Alfred2. Balduin

Alfred

1. Caroline2. Doris

Page 38: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Ist die Lösung fair?

Wenn die Frauen die aktive Rolle hätten…

Balduin

1. Doris2. Caroline

Caroline

1. Balduin2. Alfred

Doris

1. Alfred2. Balduin

Alfred

1. Caroline2. Doris

Page 39: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Ist die Lösung fair?

Wenn die Frauen die aktive Rolle hätten…

Balduin

1. Doris2. Caroline

Doris

1. Alfred2. Balduin

Alfred

1. Caroline2. Doris

Caroline

1. Balduin2. Alfred

Page 40: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Ist die Lösung fair?

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.

Der Algorithmus findet unter allen stabilen Paarungen diejenige, die Männer-optimal und Frauen-pessimal ist.

Page 41: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Männer-Optimal – Indirekter Beweis Def.: Eine Frau f heißt für einen Mann m

unerreichbar, wenn es keine stabile Paarung H´ mit (m,f) H´∈ gibt.

Annahme: m wird im Algorithmus von f zurückgewiesen, und es gibt eine stabile Paarung H´ mit (m,f) H´.∈

O.B.d.A. sei dies das erste Mal, dass der Algorithmus einen „Fehler“ macht.

Wir zeigen: Falls ein Mann m von einer Frau f zurückgewiesen wird, ist die Frau für ihn unerreichbar.

Page 42: Graphenalgorithmen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering / Experimentelle Algorithmen, LS11 WS 2006/06.

Männer-Optimal – Indirekter Beweis ff Annahme: m wird im Algorithmus von f zurück-

gewiesen, und es gibt eine stabile Paarung H´ mit (m,f) H´.∈ O.B.d.A. „erster Fehler“ des Alg.

Sei m´ der Ehemann von f in H (von Algorithmus). m´ ist in H´ mit f´≠f verheiratet

Fall 1: m´ mag f´ lieber als f. Dann hätte der Algorithmus schon vorher einen Fehler gemacht, denn m´ hat in H f´ vor f schon einen Antrag gemacht.

Fall 2: m´ mag f´ weniger gerne als f. m´: …f…f´… f: …m´…m… → Widerspruch zur Stabilität von H´.