Studientag zur Algorithmischen Mathematik

Ähnliche Dokumente
WS 2009/10. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen

Die in den Suchverfahren konstruierten Graphen waren zusammenhängend und enthielten keine Kreise. Also vereinbaren wir:

Das Briefträgerproblem

Anmerkungen zur Übergangsprüfung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Graphen: Datenstrukturen und Algorithmen

Algorithmen und Datenstrukturen 2

Bäume und Wälder. Bäume und Wälder 1 / 37

Datenstrukturen und Algorithmen SS07

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Kombinatorische Optimierung

Graphentheorie Mathe-Club Klasse 5/6

8 Diskrete Optimierung

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Algorithmische Methoden der Netzwerkanalyse

Algorithmen und Datenstrukturen (WS 2007/08) 63

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

4 Greedy-Algorithmen (gierige Algorithmen)

Konzepte der Informatik

16. All Pairs Shortest Path (ASPS)

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Alles zu seiner Zeit Projektplanung heute

Algorithmentheorie Maximale Flüsse

Praktikum Planare Graphen

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Fully dynamic algorithms for the single source shortest path problem.

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Algorithmen II Vorlesung am

Bäume und Wälder. Bäume und Wälder 1 / 37

Algorithmen und Datenstrukturen

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung

Codierung, Codes (variabler Länge)

Unterscheidung: Workflowsystem vs. Informationssystem

Guten Morgen und Willkommen zur Saalübung!

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

EndTermTest PROGALGO WS1516 A

Mathematik für Information und Kommunikation

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Pratts Primzahlzertifikate

Algorithmen und Datenstrukturen 2

Zeichnen von Graphen. graph drawing

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Informatik II. PVK Part1 Severin Wischmann n.ethz.ch/~wiseveri

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

5. Verschiedene Repräsentanten

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Approximations-Algorithmen

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

Grundlagen der Programmierung 2. Bäume

Wie Google Webseiten bewertet. François Bry

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Vorlesung 3 MINIMALE SPANNBÄUME

Algorithmen für Matching-Märkte

Binäre lineare Optimierung mit K*BMDs p.1/42

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Kryptologie und Kodierungstheorie

Statistische Untersuchungen zu endlichen Funktionsgraphen

1 topologisches Sortieren

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Vorlesung Methoden des Software Engineering. Martin Wirsing. Einheit C.3,

Erzeugung zufälliger Graphen und Bayes-Netze

Periodische Fahrpläne und Kreise in Graphen

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Efficient Parallel Algorithms for Edge Coloring Problems H. Karloff, D. Shmoys Journal of Algorithms 8, (1987)

2.11 Kontextfreie Grammatiken und Parsebäume

Die k kürzesten Wege in gerichteten Graphen

Statische Timing-Analyse

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

HINWEISE ZUR ADS-KLAUSUR SS06 für BACHELOR (für beide Termine)

Property Testing in Graphen mit beschränktem Maximalgrad

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Kryptographie und Codierung für den Mathematikunterricht

Kompetitive Analysen von Online-Algorithmen

Codes und Informationsgehalt

Kapitel MK:IV. IV. Modellieren mit Constraints

Approximationsalgorithmen

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/ / 206

Implementierung der SQL Operatoren GROUP BY und CUBE

Transkript:

Studientag zur Algorithmischen Mathematik Minimale aufspannende Bäume und Matchings Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011

Outline Minimale aufspannende Bäume Die Cayley-Formel Bipartites Matching Stabile Hochzeiten

Minimale aufspannende Bäume Problem Input: zusammenhängender Graph G = (V, E) mit Kantengewichten w : E R + Output: Baum, in dem jeder Knoten vorkommt, mit minimalem Gesamtgewicht.

Problem Minimale aufspannende Bäume Input: zusammenhängender Graph G = (V, E) mit Kantengewichten w : E R + Output: Baum, in dem jeder Knoten vorkommt, mit minimalem Gesamtgewicht. 1 2 3 4 5 6 7 8

Problem Minimale aufspannende Bäume Input: zusammenhängender Graph G = (V, E) mit Kantengewichten w : E R + Output: Baum, in dem jeder Knoten vorkommt, mit minimalem Gesamtgewicht. 1 2 3 4 5 6 7 8

Der Greedy-Algorithmus von Kruskal

Der Algorithmus von Jarník und Prim

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 1 2 3 4 5 6 7 8

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 1 2 3 4 5 6 7 8

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 2 4 5 7

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 1 2 3 4

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 4 5

Der Algorithmus von Borůvka wiederhole (1) jeder Knoten markiert Kante minimalen Gewichts an ihm (2) schrumpfe Komponenten zu Knoten 1 2 3 4 5 6 7 8

Kreiskriterium und Schnittkriterium Sei (V, T ) ein minimaler aufspannender Baum von G = (V, E). Für e / T sei C(T, e) := der eindeutige Kreis in T + e (der Fundamentalkreis).

Kreiskriterium und Schnittkriterium Sei (V, T ) ein minimaler aufspannender Baum von G = (V, E). Für e / T sei C(T, e) := der eindeutige Kreis in T + e (der Fundamentalkreis). Für e T sei D(T, e) := alle Kanten zwischen den zwei Komponenten von T \ e. Wir nennen D(T, e) den Fundamentalschnitt.

Kreiskriterium und Schnittkriterium Sei (V, T ) ein minimaler aufspannender Baum von G = (V, E). Für e / T sei C(T, e) := der eindeutige Kreis in T + e (der Fundamentalkreis). Für e T sei D(T, e) := alle Kanten zwischen den zwei Komponenten von T \ e. Wir nennen D(T, e) den Fundamentalschnitt. Kreiskriterium: Jedes e E \ T hat in C(T, e) maximales Gewicht. e C

Kreiskriterium und Schnittkriterium Sei (V, T ) ein minimaler aufspannender Baum von G = (V, E). Für e / T sei C(T, e) := der eindeutige Kreis in T + e (der Fundamentalkreis). Für e T sei D(T, e) := alle Kanten zwischen den zwei Komponenten von T \ e. Wir nennen D(T, e) den Fundamentalschnitt. Kreiskriterium: Jedes e E \ T hat in C(T, e) maximales Gewicht. Schnittkriterium: Jedes e T hat in D(T, e) minimales Gewicht. e C

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. Mit doppeltem Abzählen.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. Mit doppeltem Abzählen.Wir zählen die knoten- und kantengelabelten Wurzelbäume gelabelten aufspannenden Bäume des K n.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. Mit doppeltem Abzählen.Wir zählen die knoten- und kantengelabelten Wurzelbäume gelabelten aufspannenden Bäume des K n. Jeden knotengelabelten Baum kann man auf n Arten wurzeln und auf (n 1)! Arten kantenlabeln. Die gesuchte Zahl A n ist also. A n = n!t n.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. A n = n!t n. Nun fassen wir die Kantenlabel als Reihenfolge auf, in der wir die Kanten des Wurzelbaumes wählen.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. A n = n!t n. Nun fassen wir die Kantenlabel als Reihenfolge auf, in der wir die Kanten des Wurzelbaumes wählen. Den Anfang können wir immer frei wählen, haben also stets n Möglichkeiten.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. A n = n!t n. Nun fassen wir die Kantenlabel als Reihenfolge auf, in der wir die Kanten des Wurzelbaumes wählen. Den Anfang können wir immer frei wählen, haben also stets n Möglichkeiten. Für das Ende müssen wir die Wurzel einer anderen Komponente wählen. Dafür haben wir im k-ten Schritt n k Möglichkeiten.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. A n = n!t n. Nun fassen wir die Kantenlabel als Reihenfolge auf, in der wir die Kanten des Wurzelbaumes wählen. Den Anfang können wir immer frei wählen, haben also stets n Möglichkeiten. Für das Ende müssen wir die Wurzel einer anderen Komponente wählen. Dafür haben wir im k-ten Schritt n k Möglichkeiten. Also ist A n = n n 1 (n 1)!.

Die Cayley-Formel Satz Die Anzahl T n der knotengelabelten aufspannenden Bäume des K n ist n n 2. Beweis. A n = n!t n. Nun fassen wir die Kantenlabel als Reihenfolge auf, in der wir die Kanten des Wurzelbaumes wählen. Den Anfang können wir immer frei wählen, haben also stets n Möglichkeiten. Für das Ende müssen wir die Wurzel einer anderen Komponente wählen. Dafür haben wir im k-ten Schritt n k Möglichkeiten. Also ist A n = n n 1 (n 1)!.

Bipartites Matching Ein Graph G = (U V, E) heißt bipartit, wenn u, u U : {u, u } / E und v, v V : {v, v } / E.

Bipartites Matching Ein Graph G = (U V, E) heißt bipartit, wenn u, u U : {u, u } / E und v, v V : {v, v } / E. Eine Menge von paarweise nicht adjazenten Kanten heißt Matching. Ein Matching ist maximal, wenn es die größtmögliche Anzahl Kanten hat, es ist perfekt, wenn alle Knoten getroffen werden.

Bipartites Matching Ein Graph G = (U V, E) heißt bipartit, wenn u, u U : {u, u } / E und v, v V : {v, v } / E. Eine Menge von paarweise nicht adjazenten Kanten heißt Matching. Ein Matching ist maximal, wenn es die größtmögliche Anzahl Kanten hat, es ist perfekt, wenn alle Knoten getroffen werden. Ein M-alternierender Weg, ist ein Weg, der abwechselnd Matchingund Nichtmatchingkanten benutzt. Ein M-augmentierender Weg ist ein M-alternierender Weg, der in nicht gematcheten Knoten beginnt und endet.

Bipartites Matching Ein Graph G = (U V, E) heißt bipartit, wenn u, u U : {u, u } / E und v, v V : {v, v } / E. Eine Menge von paarweise nicht adjazenten Kanten heißt Matching. Ein Matching ist maximal, wenn es die größtmögliche Anzahl Kanten hat, es ist perfekt, wenn alle Knoten getroffen werden. Ein M-alternierender Weg, ist ein Weg, der abwechselnd Matchingund Nichtmatchingkanten benutzt. Ein M-augmentierender Weg ist ein M-alternierender Weg, der in nicht gematcheten Knoten beginnt und endet. Eine Knotenüberdeckung ist eine Menge von Knoten, die von jeder Kante mindestens einen Endknoten enthält.

Ein Matchingalgorithmus Satz Sei M ein Matching in einem bipartiten Graphen. Dann gilt: M ist maximal M-augmentierenden Weg

Ein Matchingalgorithmus Satz Sei M ein Matching in einem bipartiten Graphen. Dann gilt: M ist maximal M-augmentierenden Weg Beispiel: Prinzip Matching-Algorithmus:

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Offensichtlich kann kein Matching größer als eine Knotenüberdeckung sein. Ist eine Farbklasse ganz gematched, so fertig.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Andernfalls

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Andernfalls sei U 2 der Menge der im Algorithmus nicht erreichten Knoten von U und V 2 die Menge der erreichten Knoten von V 1.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Andernfalls sei U 2 der Menge der im Algorithmus nicht erreichten Knoten von U und V 2 die Menge der erreichten Knoten von V 1. Dann gibt es keine Kanten von U \ U 2 nach V \ V 1, und keine Matchingkante von V 1 nach U 2.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Andernfalls sei U 2 der Menge der im Algorithmus nicht erreichten Knoten von U und V 2 die Menge der erreichten Knoten von V 1. Dann gibt es keine Kanten von U \ U 2 nach V \ V 1, und keine Matchingkante von V 1 nach U 2. Andererseits sind alle Knoten von V 1, U 2 gematched.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Beweis. Andernfalls sei U 2 der Menge der im Algorithmus nicht erreichten Knoten von U und V 2 die Menge der erreichten Knoten von V 1. Dann gibt es keine Kanten von U \ U 2 nach V \ V 1, und keine Matchingkante von V 1 nach U 2. Andererseits sind alle Knoten von V 1, U 2 gematched. Also ist C = V 1 U 2 eine Knotenüberdeckung und C = M.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Satz (Heiratssatz von Frobenius)) Sei G = (U V, E) bipartit. Dann gilt: G hat perfektes Matching U = V H U : N(H) H.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Satz (Heiratssatz von Frobenius)) Sei G = (U V, E) bipartit. Dann gilt: G hat perfektes Matching U = V H U : N(H) H. Beweis. Falls es kein perfektes Matching gibt, so ist M = C U + C V < n = C V + V \ C.

Die Sätze von König und Frobenius Satz (König) Sei G = (U V, E) bipartit. Dann gilt: max{ M M ist Matching} = min{ C C ist Knotenüberdeckung}. Satz (Heiratssatz von Frobenius)) Sei G = (U V, E) bipartit. Dann gilt: G hat perfektes Matching U = V H U : N(H) H. Beweis. Falls es kein perfektes Matching gibt, so ist M = C U + C V < n = C V + V \ C. Also ist C U < V \ C N(C U).

Stabile Hochzeiten