Formale Grundlagen der Informatik

Ähnliche Dokumente
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings)

Bipartite Graphen. Beispiele

Helmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)

WS 2008/09. Diskrete Strukturen

Wiederholung zu Flüssen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Ausarbeitung über den Satz von Menger und den Satz von König

Theoretische Informatik 1

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Flüsse, Schnitte, bipartite Graphen

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Flüsse, Schnitte, bipartite Graphen

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Algorithmische Graphentheorie

Flüsse, Schnitte, Bipartite Graphen

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Flüsse, Schnitte, Bipartite Graphen II

WS 2013/14. Diskrete Strukturen

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

ADS: Algorithmen und Datenstrukturen 2

Diskrete Mathematik für Informatiker

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Seminar: Einladung in die Mathematik

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

4.7 Der Algorithmus von Dinic für maximalen Fluss

Diskrete Mathematik 1 WS 2008/09

Studientag zur Algorithmischen Mathematik

Datenstrukturen & Algorithmen

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Graphen. Im Rahmen dieser Vorlesung beschränken wir uns auf einfache ungerichtete Graphen, die wie folgt definiert werden können:

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Graphen und Bäume. A.1 Graphen

Trennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein?

Systems of Distinct Representatives

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.

Durchschnitt von Matroiden

Flüsse in Netzwerken. Seminar über Algorithmen SoSe Mike Rohland & Julia Schenk

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Algorithmische Graphentheorie

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Klausur zum Modul Einführung in die Diskrete Mathematik

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

1.Aufgabe: Minimal aufspannender Baum

Das Heiratsproblem. Definition Matching

HERZLICH WILLKOMMEN PROGRAMMIERKURS (JAVA) ZUM. Dr. Vera Weil Institut für Informatik Universität zu Köln

Wir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.

Flüsse, Schnitte, bipartite Graphen

Flüsse und Zuordnungen. Kapitel 6. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Geraden in der Ebene und Zerlegung von Graphen

FLÜSSE, SCHNITTE UND - TEIL 2 - BIPARTITE GRAPHEN. Vortrag im Seminar Hallo Welt Für Fortgeschrittene Dozenten: Werth, T. & Brinkers, D.

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Effiziente Algorithmen I

Zentralübung zur Vorlesung Diskrete Strukturen

4 Färbungen Begriffe Komplexität Greedy-Algorithmus Knotenreihenfolgen Das 4-Farben-Problem...

Naiver Algorithmus für Hamiltonkreis

Effiziente Algorithmen I

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Kombinatorische Optimierung

Netzwerk-Simplex. MinCostFlow als Lineares Programm. 1 of 12 Netzwerksimplex

Nachbarschaft, Grad, regulär, Inzidenz

Populäre Matchings und stabile Paarungen

Algorithmen & Datenstrukturen Blatt 0 HS 17

6 Flüsse und Matchings

Ferienkurs Propädeutikum Diskrete Mathematik

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

Betriebswirtschaftliche Optimierung

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

Betriebliche Optimierung

Stabile Paarungen. 1 Problemstellung Vorraussetzungen Aufgabe Beispiel... 2

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Algorithmen und Datenstrukturen Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor

3. Übungsblatt zu Algorithmen II im WS 2016/2017

Flüsse und Schnitte von Graphen

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

Bemerkung: Der vollständige Graph K n hat n(n 1)

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Graphen. Graphen und ihre Darstellungen

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Transkript:

Formale Grundlagen der Informatik / 2015 1

Die Elemente einer (endlichen) Menge sollen den Elementen einer zweiten, gleichmächtigen Menge zugeordnet werden Problemstellung

Bipartite Graphen Zuordnungsprobleme werden mit Hilfe bipartiter Graphen modelliert. Erinnerung: Ein Graph heißt bipartit, wenn seine Knotenmenge eine disjunkte Zerlegung in zwei Mengen A und B derart besitzt, daß Jede Kante die aus einem Knoten aus A entspringt in einem Knoten aus B endet und umgekehrt d.h. es gibt keine keine Kante zwischen Knoten aus A bzw. B 3

Beispiel bipartit nicht bipartit 4

Inzidenz Zwei Knoten heißen inzident: genau dann, wenn sie durch eine Kante verbunden sind Zwei Kanten heißen inzident, genau dann, wenn Sie einen gemeinsamen Knoten besitzen 1 a 2 b inzidente Kanten a und b 3 5

Matchings Ein Matching in einem bipartiten Graphen ist eine Menge von Kanten die paarweise nicht inzident sind mögliche Verbindung Matching Matching kein Matching 6

Maximale Matchings Ein Matching in einem Graphen G heißt maximal, wenn es kein anderes Matching mit mehr Kanten in G gibt. 7

Alternierende Wege Ist (G,E) ein bipartiter Graph und M ein Matching in G so heißt ein Weg alternierend, falls er abwechselnd Kanten aus M und aus E\M enthält. 1 2 a b 3 c 4 d alternierender Weg

Erweiterungswege Ein alternierender Weg in einem bipartiten Graphen, der in einem ungepaarten Knoten beginnt und in einem ungepaarten Knoten endet heißt erweiternder Weg. 1 2 a b 3 c 4 d erweiternder Weg

Der Weg zum optimalen Matching Hat man einen erweiternden Weg gefunden, verfährt man wie folgt: Entferne die Kanten des Matchings aus dem erweiternden Weg füge die übrigen Kanten des erweiternden Weges als neues Matching hinzu Ergebnis: Ein neues Matching mit einer Kante mehr! 10

verbessertes Matching 1 a 1 a 2 b 2 b 3 c 3 c 4 d 4 d 11

optimales Matching Ein Matching in einem bipartiten Graphen ist genau dann maximal, wenn es keinen Erweiterungsweg (mehr) gibt. 12

Matchings und Flüsse Erweiterungswege geben ein Kriterium an, wann ein Matching maximal ist. Optimale Matchings können aber auch mit Hilfe des Algorithmus von Ford-Fulkerson zur Bestimmung maximaler Flüsse in Netzwerken gefunden werden. Idee: Implementierung einer Richtung im Graphen G Anfügen einer Quelle auf der einen Seite des bipartiten Graphen Anfügen einer Senke auf der anderen Seite Bestimmung des maximalen Flusses 13

Matchings und Flüsse (1) 1 a 2 b q s 3 c 4 d 14

Matchings und Flüsse (2) Rahmenbedingungen zur Bestimmung eines Matchings: Jede Kante hat Kapazität 1 Nach Bestimmung des maximalen Flusses: Jede benutzte Kante gehört zum Matching Es gilt: Ein Matching ist genau dann maximal, wenn der zugehörige Fluß maximal ist Das gefundene Matching ist also ein maximales Matching 15

Das Problem der stabilen Hochzeit Wir betrachten folgende Problemstellung: n heiratswilligen Männern stehen ebensoviele heiratswillige Frauen gegenüber Jeder Mann und jede Frau hat eine individuelle Präferenzliste wen er/sie heiraten möchte Problem: Existiert eine stabile Hochzeit, so daß jeder Mann mit einer Frau verheiratet wird und beide auf der jeweiligen Präferenzliste des anderen stehen Das Problem ist unter dem Namen Stabile Hochzeit in die Literatur eingegangen 16

Die stabile Hochzeit Wer mit Wem? 17

Die Lösung der stabilen Hochzeit Für das Problem der stabilen Hochzeit gibt es einen (einfachen) Algorithmus: Men propose - women dispose, d.h. Männer wählen, Frauen lehnen ab. Jeder Mann wählt gemäß Präferenzliste eine Frau Falls die Frau nicht verlobt ist, oder ihr der Mann besser gefällt als die derzeitige Wahl, so geht die Frau die Verlobung ein. War die Frau verlobt, so streicht der Mann (ihr Ex- Verlobter) sie von seiner Präferenzliste Falls der Mann nicht auf der Präferenzliste der Frau steht, so lehnt diese die Verbindung ab und der Antragsteller streicht sie von seiner Liste 18