Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Ähnliche Dokumente
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Informatik II, SS 2014

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen & Komplexität

Algebraische und arithmetische Algorithmen

Vorlesung 2 KÜRZESTE WEGE

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )

2. Das single-source-shortest-path-problem

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Vorlesung 2 KÜRZESTE WEGE

p = (v 0, v 1,..., v k )

Kap. 6.6: Kürzeste Wege

Kap. 6.6: Kürzeste Wege

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

Willkommen zur Vorlesung Komplexitätstheorie

16. All Pairs Shortest Path (ASPS)

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

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

Algorithmische Methoden zur Netzwerkanalyse

Grundlagen: Algorithmen und Datenstrukturen

Effiziente Algorithmen

1 Kürzeste Pfade. mit Wurzel s heißt Kürzester-Pfade-Baum für G. 1 Notfalls fügen wir Hilfskanten mit unendlichen Kantenkosten ein.

Graphalgorithmen Netzwerkalgorithmen. Laufzeit

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Algebraische und arithmetische Algorithmen

Wiederholung. Divide & Conquer Strategie

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen & Komplexität

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Schulmethode zur Multiplikation von n-stelligen Binärzahlen a und b: (evtl. fallen Zeilen weg, wenn das zugehörige Bit des Multiplikators 0 ist).

Relationen und DAGs, starker Zusammenhang

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Algorithmen 1 Tutorium

9 Minimum Spanning Trees

Gliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Berechnung von Abständen

Wintersemester 2004/ Februar 2005

Algorithmen und Datenstrukturen 2

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Kürzeste Pfade. Organisatorisches. VL-17: Kürzeste Pfade. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger

Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60

Algorithmen und Datenstrukturen

2. Klausur Datenstrukturen und Algorithmen SS 2014

Datenstrukturen und Algorithmen (SS 2013)

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen II Vorlesung am

Fortgeschrittene Netzwerk- und Graph-Algorithmen

10 Kürzeste Pfade SSSP-Problem

Kürzeste Wege in Graphen

Graphalgorithmen II. Sebastian Ehrenfels Sebastian Ehrenfels Graphalgorithmen II / 44

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches

Datenstrukturen & Algorithmen Lösungen zu Blatt 10 FS 16

Algorithmen und Datenstrukturen

Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element

Grundbegriffe der Informatik

Exponentiation: das Problem

Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin

Single Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths

Willkommen zur Vorlesung Komplexitätstheorie

Technische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12

Algorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web:

Lernmodul 7 Algorithmus von Dijkstra

Wenn wir zudem a ii = 1 für 1 i n setzen, dann gilt für A k (boolesches Produkt, A 0 = I) 0 falls es im Graphen keinen Pfad von v i nach v j,

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

Grundlegende Algorithmen Kapitel 4: Kürzeste Wege

Isomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt

Netzwerkstatistiken. Informatik-Seminar Netzwerkanalyse : Kapitel 11 - Netzwerkstatistiken. Jean Botev (SS 2005)

Willkommen zur Vorlesung Komplexitätstheorie

3.6 Branch-and-Bound-Verfahren

Übersicht. Datenstrukturen und Algorithmen. Das Rechenproblem: kürzeste Pfade. Übersicht. Vorlesung 17: Kürzeste Pfade (K24) Bellman-Ford Dijkstra

ADS: Algorithmen und Datenstrukturen 2

Vorlesung Datenstrukturen

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Grundlagen: Algorithmen und Datenstrukturen

Automaten und Formale Sprachen SoSe 2013 in Trier

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Algorithmen und Datenstrukturen

Datenstrukturen und Algorithmen SS07

4. Kreis- und Wegeprobleme Abstände in Graphen

Stud.-Nummer: Algorithmen & Datenstrukturen Seite 1

15. Elementare Graphalgorithmen

Minimalpolynome und Implikanten

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Kürzester Wege in Graphen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

Fortgeschrittene Netzwerk- und Graph-Algorithmen

G. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:

Transkript:

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen WS 08/09 Friedhelm Meyer auf der Heide Vorlesung 6, 28.10.08 Friedhelm Meyer auf der Heide 1

Organisatorisches Prüfungsanmeldung bis 30.10. im LSF für den Prüfungszeitraum im Dezember. Für die anderen: Anfang Dezember. Prüfungsvoraussetzung : 30% der Punkte der Hausaufgaben (auf jeden Fall anmelden!) Prüfung: mündlich 15-20 min Prüfungszeiträume: 11.12. - 15.12. 9.2. - 20.2. 23.3. - 3.4. Auch für gemeinsame Prüfungen mit Komplexitätstheorie Friedhelm Meyer auf der Heide 2

Shortest paths problems Friedhelm Meyer auf der Heide 3

Shortest paths problems Friedhelm Meyer auf der Heide 4

Shortest paths problems Friedhelm Meyer auf der Heide 5

Negative edge weights In the sequel, we assume that there are no negative edge weights. Friedhelm Meyer auf der Heide 6

Dijkstra s algorithm Decrease key Lemma: After each run of the while-loop, d(u) = δ(s,u) for each u S. Clearly, this lemma implies the correctness. Friedhelm Meyer auf der Heide 7

Dijkstra s algorithm Friedhelm Meyer auf der Heide 8

Dijkstra s algorithm Time bound: V times extract min, E times Decrease key dominate the runtime. Store Q in a linear array: Extract min time O( V ), Decrease key time O(1) Time: O( V 2 + E ) = O( V 2 ) Store Q in a Fibonacci-Heap: Extract min and Decrease key need time O(log( V )) Time: O(( V + E ) log( V )) = O( E log( V )) Friedhelm Meyer auf der Heide 9

Dijkstra s algorithm Animation in a geometric graph: Edge weight = Euclidean distance Friedhelm Meyer auf der Heide 10

All-pairs-shortest-paths (APSP) Friedhelm Meyer auf der Heide 11

All-pairs-shortest-paths (APSP) Eingabe: Gerichteter, gewichteter Graph G=(V,E,w), V={1,,n}, ohne negative Kreise, repräsentiert durch nxn-gewichtsmatrix W mit Ausgabe: nxn-matrix A mit a(i,j)= Länge eines kürzesten Weges von i nach j. (Wir setzen wieder voraus, dass keine negativen Kreise existieren.) Friedhelm Meyer auf der Heide 12

Beispiel Friedhelm Meyer auf der Heide 13

Einfacher Algorithmus Starte Dijkstras Algorithmus für jeden Knoten i V. Laufzeit: Bei Eingabeformat Gewichtsmatrix benötigt Dijkstras Algorithmus Zeit O(n 3 ), dieser Algorithmus für APSP also Zeit O(n 4 ). Geht das schneller? Friedhelm Meyer auf der Heide 14

Floyd-Warshall Algorithmus: Dynamische Programmierung Sei die Länge eines kürzesten Weges von i nach j, der ausser i und j nur Knoten aus {1,,k} benutzt. Dann ist die Länge eins kürzesten Weges von i nach j. Weiter gilt: Weg der Länge : Benutzt nur innere Knoten aus {1,,k-1} oder benutzt zusätzlich noch Knoten k. Friedhelm Meyer auf der Heide 15

Floyd-Warshall Algorithmus: Dynamische Programmierung Laufzeit: Berechnung eines n 3 viele werden berechnet: Also: Zeit O(n 3 ). benötigt konstante Zeit, Friedhelm Meyer auf der Heide 16

Beispiel D (0) = W = Friedhelm Meyer auf der Heide 17

APSP : noch mal Dynamische Programmierung Friedhelm Meyer auf der Heide 18

APSP : noch mal Dynamische Programmierung Dynamische Programmierung liefert Zeit O(n 3 ). Friedhelm Meyer auf der Heide 19

APSP via Matrixmultiplikation Beobachtung: Sei D (m) die Matrix ( ), dann ist D (1) = W. Betrachte Matrixmultiplikation, wobei Multiplikation durch Addition und Addition durch Minimumbildung ersetzt ist. Dann gilt für m 2: D (m) =D (m-1) x W Für jedes m n-1 ist D (m) die gesuchte Ausgabematrix A. Was haben wir davon?? Friedhelm Meyer auf der Heide 20

APSP via Matrixmultiplikation D (1) = W D (m) = D (m-1) x W für m 2. Für jedes m n-1 ist D (m) die gesuchte Ausgabematrix A. Die Matrixmultiplikation ist (auch über demq(min, +)) assoziativ, d.h. z.b. : D (m) = D (m-1) x W = W m, und wir können D (m) = W m ( für Zweierpotenzen m) durch iteriertes Quadrieren berechnen. W, W 2, W 4, W 8,,W m Das benötigt log(m) Matrixmultiplikationen. Friedhelm Meyer auf der Heide 21

APSP via Matrixmultiplikation Zeit für Matrixmultiplikation (Schulmethode): O(n 3 ) Zeit: O(log(n) x Zeit für Matrixmult. ) Friedhelm Meyer auf der Heide 22

APSP via Matrixmultiplikation Zeit für Matrixmultiplikation(Schulmethode): O(n 3 ) Zeit für APSP: O(log(n) x Zeit für Matrixmult. =O(n 3 log(n)) Sie haben auf dem ersten Aufgabenblatt die Matrixmultiplikation von Schönhage-Strassen kennengelernt, Laufzeit :=O(n log 2(7) = O(n 2.81 ). Der asymptotisch schnellste Algorithmus für M.M. (von Coppersmith- Winograd) hat Laufzeit O(n 2.38 ) Achtung: Diese Verfahren können wir nicht direkt einsetzen, da sie einen Körper oder zumindest Ring (z.b. Q(+,*)) voraussetzen, aber fürq(min,+) nicht funktionieren (Min hat kein inverses Element). Beste bekannte Laufzeit: O(n 3 (log log n) 3 / (log n) 2 ) Friedhelm Meyer auf der Heide 23

Berechnung der transitiven Hülle Eingabe: Gerichteter Graph G=(V,E), V={1,,n}, Beschrieben durch Adjazenzmatrix A. Ausgabe: 0-1-Matrix H mit h(i,j)=1 gdw. es gibt gerichteten Weg von i nach j in G. Der Graph G* mit Adjazenzmatrix H heisst transitive Hülle von G Friedhelm Meyer auf der Heide 24

Thank you for your attention! Friedhelm Meyer auf der Heide Heinz Nixdorf Institute & Computer Science Department Fürstenallee 11 33102 Paderborn, Germany Tel.: +49 (0) 52 51/60 64 80 Fax: +49 (0) 52 51/62 64 82 E-Mail: fmadh@upb.de http://www.upb.de/cs/ag-madh Friedhelm Meyer auf der Heide 25