Kombinatorische Optimierung
|
|
- Mona Wetzel
- vor 6 Jahren
- Abrufe
Transkript
1 Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
2 Vorlesung 3 Programm des Tages: Matchings in bipartiten Graphen Berechnen größtmöglicher Matchings Berechnen von Matchings mit maximalem Gewicht Zusätzliche Literatur: D. West: Introduction to Graph Theory. G. Chartrand, O.R. Oellermann: Applied and algorithmic graph theory. 2 Henning Meyerhenke:
3 Inhalt Matchings in Graphen Matchings in bipartiten Graphen Berechnung eines größtmöglichen Matchings Berechnung eines Matchings mit maximalem Gewicht 3 Henning Meyerhenke:
4 Wiederholung Halls Theorem, Heiratsproblem Satz von König und Egerváry Algorithmus zur Berechnung größtmöglicher Matchings Start an einem sog. Wurzelknoten Alternierenden Baum mit BFS erstellen Wenn augmentierender Pfad gefunden, dann Matching vergrößern 4 Henning Meyerhenke:
5 Algorithmus Algorithm 1 Berechnung eines größtmöglichen Matchings 1: function MAXIMUMMATCHING(bipartiter Graph G = (V 1 V 2, E), initiales Matching M 1 ) Sei V 1 V 2 2: M = M 1 3: while unsat. Knoten v V 1 existiert, der noch nicht Wurzel war do 4: Markiere v als aktuelle Wurzel 5: P = AUGMENTINGPATHINTREE(G, M, v) 6: if P > 0 then 7: Augmentiere M entlang P 8: end if 9: end while 10: return M M ist größtmögliches Matching 5 Henning Meyerhenke:
6 Hilfsfunktion (1) Algorithm 2 M-augmentierenden Pfad mit einem alternierenden Baum berechnen (Teil 1) 1: function AUGMENTINGPATHINTREE(bip. Graph G = (V 1 V 2, E), Matching M, Wurzelknoten v) 2: tree(v) = true; Nur v ist initial im Baum 3: for all u V 1 V 2, u = v do 4: tree(u) = false 5: end for 6: Q = {v}; Queue Q für BFS 7: while Q > 0 do BFS-ähnliche Suche 8: x = DEQUEUE(Q) 9: Fortsetzung auf nächster Folie =0 6 Henning Meyerhenke:
7 Hilfsfunktion (2) Algorithm 3 M-augmentierenden Pfad mit einem alternierenden Baum berechnen (Teil 2) 10: for all y N(x) do 11: if not tree(y) then 12: if z mit (y, z) M then 13: tree(y) = tree(z) = true 14: ENQUEUE(Q, z) 15: parent(y) = x; parent(z) =y; 16: else 17: return M-augm. Pfad P von v bis y 18: end if 19: end if 20: end for 21: end while 22: return 7 Henning Meyerhenke:
8 Analyse des Algorithmus Zeitkomplexität des gesamten Algorithmus Beispiel: Siehe Tafel. Erinnerung: V 2 V 1 8 Henning Meyerhenke:
9 Analyse des Algorithmus Zeitkomplexität des gesamten Algorithmus Beispiel: Siehe Tafel. Erinnerung: V 2 V 1 Konstruktion eines alternierenden Baumes: O( E ). Grund: BFS betrachtet jede Kante höchstens einmal. Jeder augmentierende Pfad hat höchstens E Kanten Konstruktion des Pfads in Zeit O( E ) 8 Henning Meyerhenke:
10 Analyse des Algorithmus Zeitkomplexität des gesamten Algorithmus Beispiel: Siehe Tafel. Erinnerung: V 2 V 1 Konstruktion eines alternierenden Baumes: O( E ). Grund: BFS betrachtet jede Kante höchstens einmal. Jeder augmentierende Pfad hat höchstens E Kanten Konstruktion des Pfads in Zeit O( E ) Jeder Knoten ist höchstens einmal Wurzel eines alternierenden Baumes: O( V E ) Gesamtlaufzeit 8 Henning Meyerhenke:
11 Korrektheit des Algorithmus Siehe Übung. 9 Henning Meyerhenke:
12 Finden augmentierender Pfade Theorem Sei G = (V 1 V 2, E) ein bipartiter Graph und sei M ein Matching in G. Falls es einen M-augmentierenden Pfad gibt, der ein Matching M mit M > M erzeugt, und es einen Knoten u als Endknoten eines M -augmentierenden Pfades gibt, dann gibt es auch einen M-augmentierenden Pfad mit u als Endknoten. Beweis. Siehe Tafel bzw. Übung. 10 Henning Meyerhenke:
13 Finden augmentierender Pfade Beweisschritte Kontraposition, Annahme des Gegenteils (Widerspruchsbeweis) M 1 sei durch Augmentieren von M entlang Q entstanden Sei P ein M 1 -augmentierender Pfad P enthält Kante, die zu M 1 M gehört (warum?) 11 Henning Meyerhenke:
14 Finden augmentierender Pfade Beweisschritte Kontraposition, Annahme des Gegenteils (Widerspruchsbeweis) M 1 sei durch Augmentieren von M entlang Q entstanden Sei P ein M 1 -augmentierender Pfad P enthält Kante, die zu M 1 M gehört (warum?) Betrachte Kreuzung von P und Q Versuche zu zeigen, dass jeweils ein Teil von P und Q einen M-augmentierenden Pfad mit u als Endknoten bilden 11 Henning Meyerhenke:
15 Inhalt Matchings in Graphen Matchings in bipartiten Graphen Berechnung eines größtmöglichen Matchings Berechnung eines Matchings mit maximalem Gewicht 12 Henning Meyerhenke:
16 Szenario 1 Verbesserung der Singlebörse Kunden und Kundinnen dürfen angeben, wie gern sie Ihre Favoriten haben. Diese Priorität steht als Gewicht an den Kanten. 13 Henning Meyerhenke:
17 Szenario 1 Verbesserung der Singlebörse Kunden und Kundinnen dürfen angeben, wie gern sie Ihre Favoriten haben. Diese Priorität steht als Gewicht an den Kanten. Aufgabe: Finde gute Zuordnung, nämlich eine mit höchstem Gesamtgewicht! 13 Henning Meyerhenke:
18 Szenario 2 Jobs und Arbeiter Eine Fabrik hat n 1 Maschinen und n 2 Arbeiter. Jeder Arbeiter hat eine bestimmte Produktivität an einer Maschine. Die Produktivität ist 0, wenn der Arbeiter die Maschine nicht bedienen kann. 14 Henning Meyerhenke:
19 Szenario 2 Jobs und Arbeiter Eine Fabrik hat n 1 Maschinen und n 2 Arbeiter. Jeder Arbeiter hat eine bestimmte Produktivität an einer Maschine. Die Produktivität ist 0, wenn der Arbeiter die Maschine nicht bedienen kann. Diese Produktivität steht als Gewicht an den Kanten. Aufgabe: Finde Zuordnung mit höchster Gesamtproduktivität! 14 Henning Meyerhenke:
20 Matchings mit maximalem Gewicht in bipartiten Graphen Definition Das Gewicht eines Matchings M ist definiert als: w(m) = w(e) e M Definition Sei M ein Matching in einem Graphen G. Wenn w(m) w(m ) für alle Matchings M in G gilt, dann ist M ein Matching maximalen Gewichts in G. Englisch: Maximum weight matching Abgekürzt: MWM 15 Henning Meyerhenke:
21 Aufgabe und Transformation der Eingabe Aufgabe: Optimale Zuweisung (optimal assignment) Gegeben: Gewichteter bipartiter Graph G = (V 1 V 2, E) Gesucht: MWM in G Transformation: G = (V 1 V 2, E) wird in vollständigen bipartiten Graphen H = (U 1 U 2, E ) transformiert U 1 = U 2 = max{ V 1, V 2 }, V 1 U 1, V 2 U 2 Konstruktion von E = U 1 U 2 : Für x U 1 und y U 2 gilt: { w w H (x, y) = G (x, y), falls {x, y} E 0 sonst 16 Henning Meyerhenke:
22 Eigenschaften der transformierten Eingabe Beobachtung Wir dürfen annehmen, dass ein Matching M perfekt im Graphen H ist, falls es maximales Gewicht hat. Einige Kanten von M können dabei das Gewicht 0 haben. Beobachtung Ist M ein MWM in H, so ist M E(G) ein MWM in G. 17 Henning Meyerhenke:
23 Eigenschaften der transformierten Eingabe Beobachtung Wir dürfen annehmen, dass ein Matching M perfekt im Graphen H ist, falls es maximales Gewicht hat. Einige Kanten von M können dabei das Gewicht 0 haben. Beobachtung Ist M ein MWM in H, so ist M E(G) ein MWM in G. Corollary In der Folge genügt es, vollständige bipartite Graphen zu betrachten. Beobachtung Alle U 1! perfekten Matchings zu produzieren und daraus eins mit höchstem Gewicht zu wählen, wäre ineffizient. 17 Henning Meyerhenke:
24 Hilfsmittel: Knotenmarkierungen Definition Sei G = (V 1 V 2, E) ein gewichteter bipartiter Graph mit Gewichtsfunktion w, wobei V 1 = V 2. Eine Knotenmarkierung l ist eine reellwertige Funktion über der Knotenmenge V 1 V 2. l(v) wird Markierung des Knotens v genannt. Definition Eine Knotenmarkierung ist genau dann zulässig, wenn für jede Kante (u, v) E gilt. l(u) + l(v) w(u, v) 18 Henning Meyerhenke:
25 Zulässige Knotenmarkierungen Beobachtung Jeder gewichtete vollständige bipartite Graph hat eine zulässige Knotenmarkierung l mit l(v) = max{w(v, u) u V 2 } für alle v V 1 und l(u) = 0 für alle u V 2 Beispiel: Siehe Tafel. 19 Henning Meyerhenke:
26 Kantenteilgraph und zulässige Knotenmarkierungen Definition Ein Kantenteilgraph von G = (V, E) ist ein Graph H = (V, E ) mit E E. Sei der durch l induzierte ungewichtete Kantenteilgraph H l von G definiert als H l = (V 1 V 2, E l ) mit E l = {(u, v) l(u) + l(v) = w(u, v)}. Theorem Sei l eine zulässige Knotenmarkierung von G = (V 1 V 2, E). Falls der Graph H l ein perfektes Matching M enthält, dann ist M ein MWM (maximum weight matching) in G. 20 Henning Meyerhenke:
27 Algorithmus-Idee (1) Mit zulässiger Knotenmarkierung starten. Den Kantenteilgraphen H l konstruieren. Unseren bekannten Algorithmus MAXIMUMMATCHING auf H l anwenden. Wird ein perfektes Matching in H l gefunden, gibt es dazu ein MWM in G. Andernfalls liefert MAXIMUMMATCHING ein nicht-perfektes Matching M. 21 Henning Meyerhenke:
28 Algorithmus-Idee (2) Nicht-perfektes Matching M bearbeiten M -alternierenden Baum T konstruieren, dessen Wurzel ein ungematchter Knoten x ist (mit AUGMENTINGPATHINTREE). Baum T lässt sich nicht erweitern und hat keinen M -augmentierenden Pfad. 22 Henning Meyerhenke:
29 Algorithmus-Idee (2) Nicht-perfektes Matching M bearbeiten M -alternierenden Baum T konstruieren, dessen Wurzel ein ungematchter Knoten x ist (mit AUGMENTINGPATHINTREE). Baum T lässt sich nicht erweitern und hat keinen M -augmentierenden Pfad. Knotenmarkierung (KM) l verändern: Neue zulässige KM l erstellen. l so anpassen, dass M und T in H l enthalten sind. Insbesondere gilt: H l enthält mindestens eine neue Kante von V 1 V (T ) nach V 2 V (T ). 22 Henning Meyerhenke:
30 Algorithmus-Idee (2) Nicht-perfektes Matching M bearbeiten M -alternierenden Baum T konstruieren, dessen Wurzel ein ungematchter Knoten x ist (mit AUGMENTINGPATHINTREE). Baum T lässt sich nicht erweitern und hat keinen M -augmentierenden Pfad. Knotenmarkierung (KM) l verändern: Neue zulässige KM l erstellen. l so anpassen, dass M und T in H l enthalten sind. Insbesondere gilt: H l enthält mindestens eine neue Kante von V 1 V (T ) nach V 2 V (T ). Dann: Neuen M -alternierenden Baum in H l mit Wurzel x erstellen. Wiederholen, bis augmentierender Pfad mit x als Endknoten gefunden. 22 Henning Meyerhenke:
31 Der Algorithmus von Kuhn und Munkres Algorithm 4 Berechnung eines Matchings mit maximalem Gewicht 1: function MAXIMUMWEIGHTMATCHING(Vollst. bip. Graph G = (V 1 V 2, E), Gew.fkt. w) berechnet MWM M für G mit V 1 = V 2 2: for all v V 1 do l(v) = max u V2 w(v, u) 3: end for 4: for all u V 2 do l(u) = 0 5: end for Inititale Knotenmarkierung fertig 6: Sei H l der von l induzierte Kantenteilgraph mit Kantenmenge E l 7: M = MAXIMUMMATCHING(H l, ) 8: while Knoten x V 1, der in M nicht saturiert ist do 9: [H l, l, M] = HANDLEUNSATURATED(H l, l, M, x) 10: end while 23 Henning Meyerhenke:
32 Nicht-perfektes Matching behandeln Algorithm 5 Unterfunktion zur Behandlung unsaturierter Knoten 1: function HANDLEUNSATURATED(Spanngraph H l, KM l, Matching M, Wurzelknoten x) 2: repeat 3: [P, T] = FINDPATHINTREE(H l, M, x) 4: if P > 0 then Augmentiere M entlang P 5: else 6: m l = min{l(v) + l(u) w(u, v) v V 1 T, u V 2 \ T } 7: l(v) = l(v) m l für alle v V 1 T 8: l(u) = l(u) + m l für alle u V 2 T 9: Konstruiere neues H l anhand von l 10: end if 11: until P > 0 12: return [H l, l, M] 24 Henning Meyerhenke:
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrDas Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809
MehrWS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
MehrÜberblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching
Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching
MehrKAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN
KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrMatching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend
Organisatorisches VL-18: Matching (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,
Mehr3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:
3. Minimale Spannbäume Sei G = (V, E) ein einfacher ungerichteter Graph, der o.b.d.a. zusammenhängend ist. Sei weiter w : E R eine Gewichtsfunktion auf den Kanten von G. Wir setzen E E: w(e ) = e E w(e),
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus
MehrName:... Vorname:... Matr.-Nr.:... Studiengang:...
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................
MehrBipartite Graphen. Beispiele
Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten
MehrGraphen und Algorithmen
Graphen und Algorithmen Vorlesung #7: Matchingtheorie Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008 Übersicht Matchings und erweiternde Wege Satz von Berge Das Heiratsproblem und der
MehrGraphalgorithmen Netzwerkalgorithmen. Laufzeit
Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{
MehrLaufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.
Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
Mehr9. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
Mehr2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
MehrStudientag zur Algorithmischen Mathematik
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
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrAusarbeitung über den Satz von Menger und den Satz von König
Ausarbeitung über den Satz von Menger und den Satz von König Myriam Ezzedine, 0326943 Anton Ksernofontov, 0327064 Jürgen Platzer, 0025360 Nataliya Sokolovska, 0326991 1. Beweis des Satzes von Menger Bevor
MehrDiskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008
Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
MehrTrennender Schnitt. Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein?
6. Flüsse und Zuordnungen max-flow min-cut Trennender Schnitt Wie groß kann der Fluss in dem folgenden Flussnetzwerk höchstens sein? a e s c d t b f Der Fluss kann nicht größer als die Kapazität der der
MehrFLÜSSE, SCHNITTE UND - TEIL 2 - BIPARTITE GRAPHEN. Vortrag im Seminar Hallo Welt Für Fortgeschrittene Dozenten: Werth, T. & Brinkers, D.
FLÜSSE, SCHNITTE UND BIPARTITE GRAPHEN - TEIL 2 - Vortrag im Seminar Hallo Welt Für Fortgeschrittene Dozenten: Werth, T. & Brinkers, D. Lukas Dresel 17. Juni 215 Inhalt Problemstellung Lösungsmethode 1
MehrAlgorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
Mehr1.Aufgabe: Minimal aufspannender Baum
1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus
Mehr10. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrSkript zur Vorlesung Graphenalgorithmen
Skript zur Vorlesung Graphenalgorithmen Version 1.0.12 Juniorprofessor Dr. rer. nat. Robert Elsässer, überarbeitet von Dr. rer. nat. Henning Meyerhenke Universität Paderborn Fakultät für Elektrotechnik,
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
MehrUberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung
Vorlesung Geometrische Algorithmen Bewegungsplanung fur Roboter (Robot Motion Planning) Sven Schuierer Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
MehrZweizusammenhang und starker Zusammenhang
.. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk
MehrInhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen
Effiziente Algorithmen Einführung 1 Inhalt 1. Flußprobleme 2. Matching. Lineares Programmieren 4. Ganzzahliges Programmieren 5. NP-Vollständigkeit 6. Approximationsalgorithmen 7. Backtracking und Branch-and-Bound
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrBerechnung minimaler Spannbäume. Beispiel
Minimale Spannbäume Definition Sei G pv, Eq ein ungerichteter Graph und sei w : E Ñ R eine Funktion, die jeder Kante ein Gewicht zuordnet. Ein Teilgraph T pv 1, E 1 q von G heißt Spannbaum von G genau
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrAlgorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
MehrLösungen zu Kapitel 5
Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V
MehrMatchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr
Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 45 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Distanzen zwischen allen Knotenpaaren (APD)! Viele Anwendungen:! Navis! Netzwerkrouting!...
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
MehrKap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrAlgorithmen I - Tutorium 28 Nr. 11
Algorithmen I - Tutorium 28 Nr. 11 13.07.2017: Spaß mit Schnitten, Kreisen und minimalen Spannbäumen Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR.
MehrFlüsse, Schnitte, bipartite Graphen
Flüsse, chnitte, bipartite Graphen Matthias Hoffmann 5.5.009 Matthias Hoffmann Flüsse, chnitte, bipartite Graphen 5.5.009 / 48 Übersicht Einführung Beispiel Definitionen Ford-Fulkerson-Methode Beispiel
MehrOptimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn
Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau
MehrVorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrLösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =
Lösungsskizzen zu den Klausuraufgaben zum Kurs 4 Algorithmische Mathematik 4KSL3 6 Punkte Aufgabe. Die Folge (a n ) n N natürlicher Zahlen a n sei rekursiv definiert durch a 0 = 0, a n = a n + n falls
MehrAlgorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke
Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, 25.01.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
MehrEffiziente Algorithmen 2
Effiziente Algorithmen 2 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen
MehrProseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen
Proseminar Graphentheorie Vortrag 3 Matching Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen 1. Grundlagen Definition Matching: Eine Menge M von unabhängigen
MehrBerechnung von Abständen
3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
Mehr9. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrFlüsse in Netzwerken
Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrKlausur zum Modul Einführung in die Diskrete Mathematik
Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
Mehrdurch Einfügen von Knoten konstruiert werden kann.
Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der
MehrAlgorithmen und Datenstrukturen Kapitel 10
Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition
Mehrp = (v 0, v 1,..., v k )
1 Routenlaner Hamburg 300 km 200 km Berlin 450 km Köln 200 km 400 km Frankfurt 50 km 200 km 150 km Mannheim Saarbrücken 100 km 250 km Stuttgart 200 km Dresden 300 km Nürnberg 200 km München Berechne den
MehrSeminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn
Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn Ein 5.55-Approximationsalgorithmus für das VPND-Problem Lars Schäfers Inhalt Einführung:
MehrNachklausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 25. März 2013 Name:... Matr.-Nr.:... Nachklausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrDas disjunktive Graphenmodell für Shop-Probleme
Das disjunktive Graphenmodell für Shop-Probleme Definition 1: Ein disjunktiver Graph ist ein Graph G =(V, E) mit V = {(i, j) (i, j) SIJ} {q} {s} Die Knotenmenge ist die Menge der Operationen zuzüglich
Mehr