Durchschnitt von Matroiden

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

ADS: Algorithmen und Datenstrukturen 2

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

EDM, Algorithmen und Graphenspeicherung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

6. Übung zur Linearen Optimierung SS08

Übungsblatt 2 - Lösung

Studientag zur Algorithmischen Mathematik

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

Freie Bäume und Wälder

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

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

1.Aufgabe: Minimal aufspannender Baum

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

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

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

Betriebliche Optimierung

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1

Diskrete Mathematik Graphentheorie (Übersicht)

Betriebswirtschaftliche Optimierung

Vorlesung Datenstrukturen

f h c 7 a 1 b 1 g 2 2 d

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

Ganzzahlige lineare Programme

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

Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS 2012/2013 Prof. Dr. P. Gritzmann 22.

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

9 Minimum Spanning Trees

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

Das Matching Polytop

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

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Bipartite Graphen. Beispiele

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Funktioniert der Greedy-Algorithmus auch für Briefmarken aus Manchukuo?

3. Musterlösung. Problem 1: Heapsort

5. Bäume und Minimalgerüste

Wiederholung zu Flüssen

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Effiziente Algorithmen I

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Flüsse, Schnitte, Bipartite Graphen II

3.2 Unabhängigkeitsstrukturen

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Einführung in die Mathematik des Operations Research

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od

Vorlesung 3: Logik und Mengenlehre

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Algorithmische Graphentheorie

Das Multi Traveling Salesman Problem

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Formale Grundlagen der Informatik

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

Effiziente Algorithmen I

Ecken des Zuordnungsproblems

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

ADS: Algorithmen und Datenstrukturen 2

Algorithmische Graphentheorie

Auslastungs- und Potenzialspiele

Der Greedy-Algorithmus und unendliche Matroide

Flüsse, Schnitte, Bipartite Graphen

2. Optimierungsprobleme 6

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2

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

Berechnung minimaler Spannbäume. Beispiel

Algorithmische Mathematik I

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

Zugeordneter bipartiter Graph

KAPITEL 4 FLÜSSE IN NETZWERKEN

Transkript:

Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels

Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt man Unabhängigkeitssystem, falls folgende Axiome erfüllt sind: (M1) : J (M2) : I 1 I 2, I 2 J I 1 J

Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt man Unabhängigkeitssystem, falls folgende Axiome erfüllt sind: (M1) : J (M2) : I 1 I 2, I 2 J I 1 J

Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt man Unabhängigkeitssystem, falls folgende Axiome erfüllt sind: (M1) : J (M2) : I 1 I 2, I 2 J I 1 J

Definition: Unabhängigkeitssystem Die Elemente von J werden unabhängig genannt, die Elemente von 2 S \J abhängig. Minimale abhängige Mengen heißen Kreise, maximale unabhängige Mengen heißen Basen

Definition: Unabhängigkeitssystem Die Elemente von J werden unabhängig genannt, die Elemente von 2 S \J abhängig. Minimale abhängige Mengen heißen Kreise, maximale unabhängige Mengen heißen Basen

Definition: Matroid Definition: Ein Unabhängigkeitssystem (S, J ) heißt Matroid, falls gilt: (M3) : I 1, I 2 J und I 1 > I 2 dann gibt es ein x I 1 \I 2 mit I 2 {x} J

Definition: Matroid Definition: Ein Unabhängigkeitssystem (S, J ) heißt Matroid, falls gilt: (M3) : I 1, I 2 J und I 1 > I 2 dann gibt es ein x I 1 \I 2 mit I 2 {x} J

Definition: Rang eines Matroiden Definition: Sei (S, J ) ein Matroid. Dann ist für U S der Rang von U definiert durch: r (U) := max { I : I U, I J }

Beispiel: Matrixmatroid Matrixmatroid Sei A eine Matrix mit 1 0 0 1 0 0 0 A = 0 1 0 1 1 1 0 0 0 1 0 1 1 0 Die Spalten der Matrix A, also {(1)... (7)}, bilden die Menge S. Diejenigen Spalten von A, die zusammen linear unabhängig sind, bilden das System aus Teilmengen J von S.

Beispiel: Matrixmatroid Dann enthält J alle diejenigen Teilmengen von S \ {(7}) mit höchstens 3 Elementen, außer: {(1), (2), (4)}, {(2), (3), (5)}, {(2), (3), (6)} und außer allen Teilmengen, die {(5), (6)} gemeinsam enthalten. S stellt somit die Grundmenge des Matroiden dar und J das Unabhängigkeitssystem das Paar (S, J ) ist ein Matroid.

Beispiel: Matrixmatroid Dann enthält J alle diejenigen Teilmengen von S \ {(7}) mit höchstens 3 Elementen, außer: {(1), (2), (4)}, {(2), (3), (5)}, {(2), (3), (6)} und außer allen Teilmengen, die {(5), (6)} gemeinsam enthalten. S stellt somit die Grundmenge des Matroiden dar und J das Unabhängigkeitssystem das Paar (S, J ) ist ein Matroid.

Beispiel: Matrixmatroid Dann enthält J alle diejenigen Teilmengen von S \ {(7}) mit höchstens 3 Elementen, außer: {(1), (2), (4)}, {(2), (3), (5)}, {(2), (3), (6)} und außer allen Teilmengen, die {(5), (6)} gemeinsam enthalten. S stellt somit die Grundmenge des Matroiden dar und J das Unabhängigkeitssystem das Paar (S, J ) ist ein Matroid.

Beispiel: Graphenmatroid Graphenmatroid Wir haben den Graphen G = (V, E) mit 4 Ecken {a, b, c, d} und mit 7 Kanten {1, 2, 3, 4, 5, 6, 7} Sei S die Menge der Kanten, also S = E und J sei das System der Teilmengen von S, die kreisfrei sind. Die Kreise von G haben die Kantenmenge: {(7), (5, 6), (1, 2, 4), (2, 3, 5), (2, 3, 6), (1, 3, 4, 5), (1, 3, 4, 6)} (S, J ) ist somit ein Matroid, genauer ein Graphen-Matroid,der mitm (G) bezeichnet wird.

Beispiel: Graphenmatroid Graphenmatroid Wir haben den Graphen G = (V, E) mit 4 Ecken {a, b, c, d} und mit 7 Kanten {1, 2, 3, 4, 5, 6, 7} Sei S die Menge der Kanten, also S = E und J sei das System der Teilmengen von S, die kreisfrei sind. Die Kreise von G haben die Kantenmenge: {(7), (5, 6), (1, 2, 4), (2, 3, 5), (2, 3, 6), (1, 3, 4, 5), (1, 3, 4, 6)} (S, J ) ist somit ein Matroid, genauer ein Graphen-Matroid,der mitm (G) bezeichnet wird.

Beispiel: Graphenmatroid Graphenmatroid Wir haben den Graphen G = (V, E) mit 4 Ecken {a, b, c, d} und mit 7 Kanten {1, 2, 3, 4, 5, 6, 7} Sei S die Menge der Kanten, also S = E und J sei das System der Teilmengen von S, die kreisfrei sind. Die Kreise von G haben die Kantenmenge: {(7), (5, 6), (1, 2, 4), (2, 3, 5), (2, 3, 6), (1, 3, 4, 5), (1, 3, 4, 6)} (S, J ) ist somit ein Matroid, genauer ein Graphen-Matroid,der mitm (G) bezeichnet wird.

Beispiel: Graphenmatroid Graphenmatroid Wir haben den Graphen G = (V, E) mit 4 Ecken {a, b, c, d} und mit 7 Kanten {1, 2, 3, 4, 5, 6, 7} Sei S die Menge der Kanten, also S = E und J sei das System der Teilmengen von S, die kreisfrei sind. Die Kreise von G haben die Kantenmenge: {(7), (5, 6), (1, 2, 4), (2, 3, 5), (2, 3, 6), (1, 3, 4, 5), (1, 3, 4, 6)} (S, J ) ist somit ein Matroid, genauer ein Graphen-Matroid,der mitm (G) bezeichnet wird.

Beispiel: Graphenmatroid Dieser Matroid kann auch in eine Matrix umgeformt werden über Ecken-Kanten-Indizes Dabei: Falls Verbindung besteht: = 1; sonst: = 0; 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 wobei hier gilt: Spalte i = Kante i mit i = 1,...,7 und Zeile j = Ecke j mit j = a,b,c,d

Beispiel: Graphenmatroid Dieser Matroid kann auch in eine Matrix umgeformt werden über Ecken-Kanten-Indizes Dabei: Falls Verbindung besteht: = 1; sonst: = 0; 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 wobei hier gilt: Spalte i = Kante i mit i = 1,...,7 und Zeile j = Ecke j mit j = a,b,c,d

Wiederholung: Bipartiter Graph und Matching 1 Bipartiter Graph ein Graph G = (V, E) heißt bipartit, falls sich seine Knoten V in zwei disjunkte Teilmengen V 1, V 2 aufteilen lassen, s.d. zwischen den Knoten innerhalb beider Teilmengen keine Kanten verlaufen. 2 Matching Ein Matching ist eine Teilmenge der Kanten eines Graphen G, in der keine zwei Kanten einen gemeinsamen Knoten besitzen.

Wiederholung: Bipartiter Graph und Matching 1 Bipartiter Graph ein Graph G = (V, E) heißt bipartit, falls sich seine Knoten V in zwei disjunkte Teilmengen V 1, V 2 aufteilen lassen, s.d. zwischen den Knoten innerhalb beider Teilmengen keine Kanten verlaufen. 2 Matching Ein Matching ist eine Teilmenge der Kanten eines Graphen G, in der keine zwei Kanten einen gemeinsamen Knoten besitzen.

Motivation 1 Matching in bipartiten Graphen M stellt die Menge aller Matchings in einem bipartiten Graphen G = {V 1 V 2, E = (V 1 V 2 )} dar. M 2 E, 2 Proposition (E, M) ist kein Matroid.

Motivation 1 Matching in bipartiten Graphen M stellt die Menge aller Matchings in einem bipartiten Graphen G = {V 1 V 2, E = (V 1 V 2 )} dar. M 2 E, 2 Proposition (E, M) ist kein Matroid.

Motivation Beobachtung Sei (E, M) = (E, J 1 J 2 ) mit (E, J 1 ), (E, J 2 ) Matroide, mit: J 1 := {F E : (v 1, w 1 ) F, (v 2, w 2 ) F v 1 v 2 } J 2 := {F E : (v 1, w 1 ) F, (v 2, w 2 ) F w 1 w 2 } Dann ist J 1 ein Matroid.

Charakterisierung anhand von Kreisen (S, J ) ein Matroid und C ein System von Teilmengen. Dann heißt C die Menge der Kreise von (S, J ), wenn gilt: (C1): Die leere Menge liegt nicht in C: / C (C2): Kein Element von C ist eine echte Teilmenge eines weiteren Elements von C (C3): C 1, C 2 sind zwei Elemente von C und e C 1 C 2, dann enthält (C 1 C 2 ) \ {e} ein Element von C. (S, J ) ist ein Matroid, wenn C den Axiomen (C1), (C2), (C3) genügt und J aus denjenigen Teilmengen von S besteht, die kein Element von C enthalten

Charakterisierung anhand von Kreisen (S, J ) ein Matroid und C ein System von Teilmengen. Dann heißt C die Menge der Kreise von (S, J ), wenn gilt: (C1): Die leere Menge liegt nicht in C: / C (C2): Kein Element von C ist eine echte Teilmenge eines weiteren Elements von C (C3): C 1, C 2 sind zwei Elemente von C und e C 1 C 2, dann enthält (C 1 C 2 ) \ {e} ein Element von C. (S, J ) ist ein Matroid, wenn C den Axiomen (C1), (C2), (C3) genügt und J aus denjenigen Teilmengen von S besteht, die kein Element von C enthalten

Charakterisierung anhand von Kreisen (S, J ) ein Matroid und C ein System von Teilmengen. Dann heißt C die Menge der Kreise von (S, J ), wenn gilt: (C1): Die leere Menge liegt nicht in C: / C (C2): Kein Element von C ist eine echte Teilmenge eines weiteren Elements von C (C3): C 1, C 2 sind zwei Elemente von C und e C 1 C 2, dann enthält (C 1 C 2 ) \ {e} ein Element von C. (S, J ) ist ein Matroid, wenn C den Axiomen (C1), (C2), (C3) genügt und J aus denjenigen Teilmengen von S besteht, die kein Element von C enthalten

Charakterisierung anhand von Kreisen (S, J ) ein Matroid und C ein System von Teilmengen. Dann heißt C die Menge der Kreise von (S, J ), wenn gilt: (C1): Die leere Menge liegt nicht in C: / C (C2): Kein Element von C ist eine echte Teilmenge eines weiteren Elements von C (C3): C 1, C 2 sind zwei Elemente von C und e C 1 C 2, dann enthält (C 1 C 2 ) \ {e} ein Element von C. (S, J ) ist ein Matroid, wenn C den Axiomen (C1), (C2), (C3) genügt und J aus denjenigen Teilmengen von S besteht, die kein Element von C enthalten

Charakterisierung anhand von Kreisen (S, J ) ein Matroid und C ein System von Teilmengen. Dann heißt C die Menge der Kreise von (S, J ), wenn gilt: (C1): Die leere Menge liegt nicht in C: / C (C2): Kein Element von C ist eine echte Teilmenge eines weiteren Elements von C (C3): C 1, C 2 sind zwei Elemente von C und e C 1 C 2, dann enthält (C 1 C 2 ) \ {e} ein Element von C. (S, J ) ist ein Matroid, wenn C den Axiomen (C1), (C2), (C3) genügt und J aus denjenigen Teilmengen von S besteht, die kein Element von C enthalten

Charakterisierung anhand einer Basis Sei B ein System von Teilmengen einer endlichen Menge S. Dann ist B die Menge der Basen des Matroiden (S, J ) B erfüllt folgende Axiome: (B1) : B ist nicht leer (B2) : (B 1, B 2 ) B und x B 1 \B 2, dann y B 1 \B 2 so, dass (B 1 \ {x}) {y} B

Charakterisierung anhand einer Basis Sei B ein System von Teilmengen einer endlichen Menge S. Dann ist B die Menge der Basen des Matroiden (S, J ) B erfüllt folgende Axiome: (B1) : B ist nicht leer (B2) : (B 1, B 2 ) B und x B 1 \B 2, dann y B 1 \B 2 so, dass (B 1 \ {x}) {y} B

Charakterisierung anhand einer Rangfunktion Sei S eine endliche Menge und r definiert durch r : 2 S Z + Dann sind folgende Aussagen äquivalent: 1 r ist die Rangfunktion des Matroiden (S, J ) und J = {I S : r (I) = I } 2 X, Y S gilt: (R1) : r (X) X (R2) : Falls X Y, gilt r (X) r (Y ) (R3) : r (X Y ) + r (X Y ) r (X) + r (Y )

Charakterisierung anhand einer Rangfunktion Sei S eine endliche Menge und r definiert durch r : 2 S Z + Dann sind folgende Aussagen äquivalent: 1 r ist die Rangfunktion des Matroiden (S, J ) und J = {I S : r (I) = I } 2 X, Y S gilt: (R1) : r (X) X (R2) : Falls X Y, gilt r (X) r (Y ) (R3) : r (X Y ) + r (X Y ) r (X) + r (Y )

Charakterisierung anhand einer Rangfunktion Sei S eine endliche Menge und r definiert durch r : 2 S Z + Dann sind folgende Aussagen äquivalent: 1 r ist die Rangfunktion des Matroiden (S, J ) und J = {I S : r (I) = I } 2 X, Y S gilt: (R1) : r (X) X (R2) : Falls X Y, gilt r (X) r (Y ) (R3) : r (X Y ) + r (X Y ) r (X) + r (Y )

Charakterisierung anhand einer Rangfunktion Sei S eine endliche Menge und r definiert durch r : 2 S Z + Dann sind folgende Aussagen äquivalent: 1 r ist die Rangfunktion des Matroiden (S, J ) und J = {I S : r (I) = I } 2 X, Y S gilt: (R1) : r (X) X (R2) : Falls X Y, gilt r (X) r (Y ) (R3) : r (X Y ) + r (X Y ) r (X) + r (Y )

Charakterisierung anhand einer Rangfunktion Sei S eine endliche Menge und r definiert durch r : 2 S Z + Dann sind folgende Aussagen äquivalent: 1 r ist die Rangfunktion des Matroiden (S, J ) und J = {I S : r (I) = I } 2 X, Y S gilt: (R1) : r (X) X (R2) : Falls X Y, gilt r (X) r (Y ) (R3) : r (X Y ) + r (X Y ) r (X) + r (Y )

Optimierungsproblem: maximale unabhängige Menge Gegeben:(S, J ) ein Unabhängigkeitssystem und c : S R + eine positive Gewichtsfunktion auf den Elementen von S. Gesucht:ein maximales Element I J, dessen Gesamtgewicht c (I) = s I c (s) maximal ist.

Unabhängigkeitsorakel Problem: kompakte Darstellung von J. Ein Orakel allgemein, in diesem Fall ein Unabhängigkeitsorakel, ist ein Algorithmus, der mit dem Input einer Menge J S entscheidet, ob I J unabhängig ist oder nicht. Vorteil: Orakelaufrufe werden in der Komplexitätsanalyse nur einmal gezählt und sie sind polynomial.

Unabhängigkeitsorakel Problem: kompakte Darstellung von J. Ein Orakel allgemein, in diesem Fall ein Unabhängigkeitsorakel, ist ein Algorithmus, der mit dem Input einer Menge J S entscheidet, ob I J unabhängig ist oder nicht. Vorteil: Orakelaufrufe werden in der Komplexitätsanalyse nur einmal gezählt und sie sind polynomial.

Greedy-Algorithmus MAX-INDEPENDENT-SET Input: Ein Unabhängigkeitssystem (S, J ) gegeben durch ein Unabhängigkeitsorakel und eine Gewichtsfunktion c. Output: Eine Menge I J 1 Ordne die Elemente in S = {s 1,..., s n } absteigend nach ihrem Gewicht, d.h. c (s 1 )... c (s n ) 2 Setze I = 3 Wiederhole für k = 1,..., n: FallsI {s k } J füge {s k } zu I hinzu 4 Gib die Menge I aus.

Greedy-Algorithmus MAX-INDEPENDENT-SET Input: Ein Unabhängigkeitssystem (S, J ) gegeben durch ein Unabhängigkeitsorakel und eine Gewichtsfunktion c. Output: Eine Menge I J 1 Ordne die Elemente in S = {s 1,..., s n } absteigend nach ihrem Gewicht, d.h. c (s 1 )... c (s n ) 2 Setze I = 3 Wiederhole für k = 1,..., n: FallsI {s k } J füge {s k } zu I hinzu 4 Gib die Menge I aus.

Greedy-Algorithmus MAX-INDEPENDENT-SET Input: Ein Unabhängigkeitssystem (S, J ) gegeben durch ein Unabhängigkeitsorakel und eine Gewichtsfunktion c. Output: Eine Menge I J 1 Ordne die Elemente in S = {s 1,..., s n } absteigend nach ihrem Gewicht, d.h. c (s 1 )... c (s n ) 2 Setze I = 3 Wiederhole für k = 1,..., n: FallsI {s k } J füge {s k } zu I hinzu 4 Gib die Menge I aus.

Greedy-Algorithmus MAX-INDEPENDENT-SET Input: Ein Unabhängigkeitssystem (S, J ) gegeben durch ein Unabhängigkeitsorakel und eine Gewichtsfunktion c. Output: Eine Menge I J 1 Ordne die Elemente in S = {s 1,..., s n } absteigend nach ihrem Gewicht, d.h. c (s 1 )... c (s n ) 2 Setze I = 3 Wiederhole für k = 1,..., n: FallsI {s k } J füge {s k } zu I hinzu 4 Gib die Menge I aus.

Greedy-Algorithmus: max aufspannender Wald WH: Ein aufspannender Wald in einem Graphen G ist ein Wald der alle Knoten des des Graphen enthält. Wald bedeutet: der Graph enthält keine Kreise. Greedy-Max-Algorithmus: aufspannender Wald Input: Graph G = (V, E) mit Kantengewichten c e Output: Ein Wald W E mit maximalem Gewicht. Schritt 1, 2, 4 sind wie oben. Schritt 3: Für k = 1,..., n führe durch: Falls W {e k } keinen Kreis enthält, setze W := W {e k }

Greedy-Algorithmus: max aufspannender Wald WH: Ein aufspannender Wald in einem Graphen G ist ein Wald der alle Knoten des des Graphen enthält. Wald bedeutet: der Graph enthält keine Kreise. Greedy-Max-Algorithmus: aufspannender Wald Input: Graph G = (V, E) mit Kantengewichten c e Output: Ein Wald W E mit maximalem Gewicht. Schritt 1, 2, 4 sind wie oben. Schritt 3: Für k = 1,..., n führe durch: Falls W {e k } keinen Kreis enthält, setze W := W {e k }

Anwendung und Probleme 1 Anwendung Vorallem beim Design von Transport-, Kommunikations,- Energie- und Computernetzwerken. 2 Problem Der Greedy-Algorithmus findet optimale Lösungen, wenn er auf Matroiden angewendet wird. Auf Mengensystemen die das Axiom (M3) nicht erfüllen sind die Lösungen nicht optimal. Zum Beispiel bei bipartitem Matching

Anwendung und Probleme 1 Anwendung Vorallem beim Design von Transport-, Kommunikations,- Energie- und Computernetzwerken. 2 Problem Der Greedy-Algorithmus findet optimale Lösungen, wenn er auf Matroiden angewendet wird. Auf Mengensystemen die das Axiom (M3) nicht erfüllen sind die Lösungen nicht optimal. Zum Beispiel bei bipartitem Matching

Satz von Edmonds 1 Satz Seien (S, J 1 ) und (S, J 2 ) zwei Matroide und r 1, r 2 die zugehörigen Rangfunktionen. Dann gilt: max { I : I J 1 J 2 } = min U S (r 1 (U) + r 2 (S\U)) 2 Anwendung: Matching in bipartiten Graphen Satz von König.

Satz von Edmonds 1 Satz Seien (S, J 1 ) und (S, J 2 ) zwei Matroide und r 1, r 2 die zugehörigen Rangfunktionen. Dann gilt: max { I : I J 1 J 2 } = min U S (r 1 (U) + r 2 (S\U)) 2 Anwendung: Matching in bipartiten Graphen Satz von König.

Satz von Edmonds Algorithmus von Edmonds Edmonds entwickelte einen Algorithmus für den Schnitt von zwei Matroiden, der die Unabhängigkeitsmengen durch ein Orakel bestimmt und ein Element I J 1 J 2 ausgibt, das von maximaler Mächtigkeit ist. Er arbeitet über kürzeste Wege in bipartiten Hilfsgraphen und kann im Vgl. mit Greedy-Alg. Knoten hinzufügen und entfernen. Er löst das MATROID-INTERSECTION-PROBLEM in polynomialer Zeit.