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

Slides:



Advertisements
Ähnliche Präsentationen
Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Advertisements

Informatik II: Algorithmen und Datenstrukturen SS 2013
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Diskrete Mathematik I Wintersemester 2007 A. May
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Suche in Texten (Stringsuche )
G.Heyer Algorithmen und Datenstrukturen II 1 Algorithmen und Datenstrukturen II Wintersemester 2000 / 2001 Prof. Dr. Gerhard Heyer Institut für Informatik.
Einführung in Berechenbarkeit und Formale Sprachen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-1 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Geometrisches Divide and Conquer
Wissenschaftliche Grundlagen des Mathematischen Schulstoffs III Die erste Stunde.
Wissenschaftliche Grundlagen des Mathematischen Schulstoffs IV Die erste Stunde.
Christian Schindelhauer
Minimum Spanning Tree: MST
The Rectilinear Steiner Tree Problem is NP-complete
Graphenalgorithmen Professor Dr. Petra Mutzel
Praktische Optimierung Sommersemester 2010 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Optimierungs- Algorithmen
Chromatische Zahl.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Praktische Optimierung – Präludium
Lehrstuhl für Algorithm Engineering LS11
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Das Traveling Salesman Problem (TSP)
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Christian Scheideler WS 2008
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Optimierungs- Algorithmen
Stabile Hochzeiten, Zuweisungsspiele und beides gleichzeitig
Gliederung der Vorlesung
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, März 2015.
Programmiersprachen II Graph_Algorithmen Einführung Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen
 Präsentation transkript:

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

Kurz-Vorstellung Studium an Univ. Augsburg (WiMa/Math) 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 seit Dezember 2004: Lehrstuhl für Algorithm Engineering, LS11

Algorithm Engineering Design, theoretische Analyse, Implementierung, und experimentelle Evaluation von Algorithmen und Datenstrukturen anwendungsorientiert

Forschungsinteressen Algorithmen und Datenstrukturen Graphenalgorithmen Kombinatorische Optimierung anwendungsorientiert

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

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)

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

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

Schwerpunktgebiete Algorithmen, Komplexität und formale Modelle Computational Intelligence und Natural Computing Intelligente Systeme

Prüfungselemente Mündliche Fachprüfung:  Über VO 2 inkl Ü 2: 6LP  Anforderungen: Zusammenhänge des Gebiets Spezielle Fragestellungen einordnen und bearbeiten Regelmäßige aktive Mitarbeit in Übungen Mündliche Prüfung: Stoff der VO und Ü, 20 Minuten

Prüfungselemente Leistungsnachweis:  Über VO 2 inkl. Ü 2: 6LP  Anforderungen: Regelmäßige aktive Mitarbeit in Übungen Mündliche Prüfung: 15 Minuten

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: graph.theory/download.html

1.Matchingprobleme 1.1 Das Heiratsproblem Viele der Folien entstammen Schülervorträgen von Markus Chimani und Maria Kandyba zur Schnupperuni

Übersicht Problembeschreibung / Anwendungen Algorithmus Analyse des Algorithmus  Korrektheit des Algorithmus  Eigenschaften des Algorithmus  Laufzeit des Algorithmus

Das Heiratsproblem Gegeben n Männer und n Frauen Jede Person hat eine nach persönlichen Präferenzen sortierte Liste aller Personen des anderen Geschlechts Gesucht Stabile Paarungen von jeweils einem Mann und einer Frau

Stabile Paarung? Balduin Caroline Doris Alfred

Stabile Paarung? Balduin Doris 1.Alfred 2.Balduin Caroline Alfred 1.Doris 2.Caroline Instabile Paarungen  Es gibt zwei Personen die beide miteinander glücklicher wären als mit ihren zugeordneten Partnern

Fragestellung Existiert immer eine stabile Paarung? Wie berechnet man eine solche stabile Paarung?

Umfeld & Anwendung Umfeld:  Matching- und Assignment-Probleme Anwendung:  Zuordnung von Medizinstudierenden zu Krankenhäusern in den USA  Zulassungen zu Colleges

Formale Definitionen M = Menge der Männer F = 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 m 1 < f m 2 bedeutet jeweils: f würde lieber m 1 als m 2 heiraten.

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

Formale Definitionen ff. Eine Paarung ist stabil, wenn sie nicht instabil ist. Das Problem der stabilen Heirat ist es, eine stabile Paarung zu berechnen.

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?

Algorithmus von Gale & Shapley Alle Frauen und Männer sind unverlobt 2.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) ∈ H 6. 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

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

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

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

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

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

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

Runde 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

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?

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) 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: Balduin Doris 1.Alfred 2.Balduin Caroline Alfred 1.Doris 2.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.

Ist die Lösung fair? Nein! Männer haben Vorteile! Balduin 1.Doris 2.Caroline Caroline 1.Balduin 2.Alfred Doris 1.Alfred 2.Balduin Alfred 1.Caroline 2.Doris

Ist die Lösung fair? Nein! Männer haben Vorteile! Balduin 1.Doris 2.Caroline Caroline 1.Balduin 2.Alfred Doris 1.Alfred 2.Balduin Alfred 1.Caroline 2.Doris

Ist die Lösung fair? Wenn die Frauen die aktive Rolle hätten… Balduin 1.Doris 2.Caroline Caroline 1.Balduin 2.Alfred Doris 1.Alfred 2.Balduin Alfred 1.Caroline 2.Doris

Ist die Lösung fair? Wenn die Frauen die aktive Rolle hätten… Balduin 1.Doris 2.Caroline Doris 1.Alfred 2.Balduin Alfred 1.Caroline 2.Doris Caroline 1.Balduin 2.Alfred

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.

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.

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´.