Von Aachen nach Halle...

Größe: px
Ab Seite anzeigen:

Download "Von Aachen nach Halle..."

Transkript

1 Von Aachen nach Halle... Koeln? Aachen Halle Saarbruecken? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3

2 Von Aachen nach Halle... Koeln? Aachen Halle Saarbruecken? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3

3 Von Aachen nach Halle... Koeln? Koeln! Aachen Aachen Halle Halle Saarbruecken? Saarbruecken 550 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3

4 Das Bindfadenmodell Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 4

5 Das Bindfadenmodell Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 4

6 Der Bindfaden-Algorithmus Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 5

7 Der Bindfaden-Algorithmus Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 5

8 Der Bindfaden-Algorithmus Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 5

9 Der Bindfaden-Algorithmus Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 5

10 Formal: Kürzeste-Wege Problem ( Single-Source Shortest-Paths SSSP ) Eingabe: G = (V, E), V = n, E = m Ein Startpunkt: s Nichtnegative Kantengewichte: c(e) 0 (BFS: c(e) = 1) Gesucht: dist(v) = min{c(p) ; p Pfad von s nach v} s SSSP Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 6

11 Dijkstra s Algorithmus (1959) Diskrete Simulation des Bindfaden-Algorithmus Knoten: scanned, labeled und unreached labeled: vorläufige Distanzen tent(v) in Prioritäts-Warteschlange Q Verarbeitet Knoten in aufsteigender Reihenfolge gemäß tent(v): Label-Setting: v aus Q entfernt (v scanned) tent(v) = dist(v) v s scanned labeled unreached Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 7

12 Dijkstra s Algorithmus (1959) Diskrete Simulation des Bindfaden-Algorithmus Knoten: scanned, labeled und unreached labeled: vorläufige Distanzen tent(v) in Prioritäts-Warteschlange Q Verarbeitet Knoten in aufsteigender Reihenfolge gemäß tent(v): Label-Setting: v aus Q entfernt (v scanned) tent(v) = dist(v) v v s SCAN(v) s scanned labeled unreached SCAN(v): (v, w) E setze tent(w) := min{tent(w),dist(v) + c(v, w)} (Kantenrelaxierung) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 7

13 Dijkstra s Algorithmus (2) Korrektheit. Induktiv zeigt man folgende Invarianten: (1) für v scanned : tent(v) = dist(v) (wegen Selektionsregel und (2)) (2) für v labeled : tent(v) ist Länge eines kürzesten Pfades s,..., v bei dem alle Knoten außer v zu scanned gehören. (wegen Kantenrelaxierungen und (1)) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 8

14 Dijkstra s Algorithmus (2) Korrektheit. Induktiv zeigt man folgende Invarianten: (1) für v scanned : tent(v) = dist(v) (wegen Selektionsregel und (2)) (2) für v labeled : tent(v) ist Länge eines kürzesten Pfades s,..., v bei dem alle Knoten außer v zu scanned gehören. (wegen Kantenrelaxierungen und (1)) Laufzeit. Abhängig von Prioritäts-Warteschlange: n Queue Inserts/Delete_Mins m Kantenrelaxierungen z.b. O(n log n + m) mit Fibonacci Heaps [FT87]. Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 8

15 Laufzeitanalyse von SSSP Algorithmen Worst-Case Average-Case Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

16 Laufzeitanalyse von SSSP Algorithmen Worst-Case schwierigste Eingabe + auf der sicheren Seite oft zu pessimistisch Alg. schwer vergleichbar Average-Case Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

17 Laufzeitanalyse von SSSP Algorithmen Worst-Case Average-Case schwierigste Eingabe mittelt über alle Eingaben + auf der sicheren Seite Hoffnung: näher an der Realität oft zu pessimistisch Problem: Gewichtung der Alg. schwer vergleichbar Eingaben beeinflußt Ergebnis Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

18 Laufzeitanalyse von SSSP Algorithmen Worst-Case Average-Case schwierigste Eingabe mittelt über alle Eingaben + auf der sicheren Seite Hoffnung: näher an der Realität oft zu pessimistisch Problem: Gewichtung der Alg. schwer vergleichbar Eingaben beeinflußt Ergebnis Vorarbeiten sequentielles SSSP: Worst-Case: viele Resultate (Diskrepanz Theorie Praxis) offen: Linearzeit-Alg. für allgemeine gerichtete Graphen Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

19 Laufzeitanalyse von SSSP Algorithmen Worst-Case Average-Case schwierigste Eingabe mittelt über alle Eingaben + auf der sicheren Seite Hoffnung: näher an der Realität oft zu pessimistisch Problem: Gewichtung der Alg. schwer vergleichbar Eingaben beeinflußt Ergebnis Vorarbeiten sequentielles SSSP: Worst-Case: viele Resultate (Diskrepanz Theorie Praxis) offen: Linearzeit-Alg. für allgemeine gerichtete Graphen Average-Case: wenige Resultate (meist für dichte Zufallsgraphen) keine Verbesserungen für dünne Graphen Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

20 Laufzeitanalyse von SSSP Algorithmen Worst-Case Average-Case schwierigste Eingabe mittelt über alle Eingaben + auf der sicheren Seite Hoffnung: näher an der Realität oft zu pessimistisch Problem: Gewichtung der Alg. schwer vergleichbar Eingaben beeinflußt Ergebnis Vorarbeiten sequentielles SSSP: Worst-Case: viele Resultate (Diskrepanz Theorie Praxis) offen: Linearzeit-Alg. für allgemeine gerichtete Graphen Average-Case: wenige Resultate (meist für dichte Zufallsgraphen) keine Verbesserungen für dünne Graphen Unser Beitrag (u.a.): SSSP in Average-Case Linearzeit für allgemeine gerichtete Graphen. Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 9

21 Alles Dijkstra, oder was?? Dijkstra mit speziellen Prioritäts-Warteschlangen - schneller für m = o(n log n) Kanten mit (kleinen) Integer-Gewichten. - trotzdem superlineare Laufzeit ω(n) wg. impliziten Sortierens. Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 10

22 Alles Dijkstra, oder was?? Dijkstra mit speziellen Prioritäts-Warteschlangen - schneller für m = o(n log n) Kanten mit (kleinen) Integer-Gewichten. - trotzdem superlineare Laufzeit ω(n) wg. impliziten Sortierens. Thorup s Label-Setting Traversierung eines Komponentenbaums - komplizierte Datenstrukturen, Integer/Fließkomma-Gewichte mit w Bits - [Thorup97]: ungerichtete Graphen; Laufzeit O(n + m), n [Hagerup00]: gerichtete Graphen; Laufzeit O(n + m log w) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 10

23 Alles Dijkstra, oder was?? Dijkstra mit speziellen Prioritäts-Warteschlangen - schneller für m = o(n log n) Kanten mit (kleinen) Integer-Gewichten. - trotzdem superlineare Laufzeit ω(n) wg. impliziten Sortierens. Thorup s Label-Setting Traversierung eines Komponentenbaums - komplizierte Datenstrukturen, Integer/Fließkomma-Gewichte mit w Bits - [Thorup97]: ungerichtete Graphen; Laufzeit O(n + m), n [Hagerup00]: gerichtete Graphen; Laufzeit O(n + m log w) Label-Correcting Algorithmen - meist sehr einfach - hohe Worst-Case Laufzeiten, aber oft sehr effizient in der Praxis unreached labeled scanned, tent = dist - kaum Average-Case Analysen verfügbar LABEL CORRECTING scanned, tent > dist Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 10

24 Alles Dijkstra, oder was?? Dijkstra mit speziellen Prioritäts-Warteschlangen - schneller für m = o(n log n) Kanten mit (kleinen) Integer-Gewichten. - trotzdem superlineare Laufzeit ω(n) wg. impliziten Sortierens. Thorup s Label-Setting Traversierung eines Komponentenbaums - komplizierte Datenstrukturen, Integer/Fließkomma-Gewichte mit w Bits - [Thorup97]: ungerichtete Graphen; Laufzeit O(n + m), n [Hagerup00]: gerichtete Graphen; Laufzeit O(n + m log w) Label-Correcting Algorithmen - meist sehr einfach - hohe Worst-Case Laufzeiten, aber oft sehr effizient in der Praxis unreached labeled scanned, tent = dist - kaum Average-Case Analysen verfügbar LABEL CORRECTING scanned, tent > dist Unser Beitrag - Neue, einfache Label-Setting & Label-Correcting Algorithmen für gerichtete Graphen mit linearer Average-Case Laufzeit - Beweis superlinearer Average-Case Laufzeit für einige frühere SSSP Algorithmen - Parallelisierungen Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 10

25 SP-S: eine einfache Label-Setting Methode [Mey01,03] Annahme: Kantengewichte in [0, 1] ( durch Skalierung) max v V, v erreichbar dist(v) n 1 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 11

26 SP-S: eine einfache Label-Setting Methode [Mey01,03] Annahme: Kantengewichte in [0, 1] ( durch Skalierung) max v V, v erreichbar dist(v) n 1 Ersetze Prioritäts-Warteschlange durch Bucket -Struktur: v in Bucket B tent(v) : B 1.25 B B B B n 1 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 11

27 SP-S: eine einfache Label-Setting Methode [Mey01,03] Annahme: Kantengewichte in [0, 1] ( durch Skalierung) max v V, v erreichbar dist(v) n 1 Ersetze Prioritäts-Warteschlange durch Bucket -Struktur: v in Bucket B tent(v) : B 1.25 B B B B n 1 Dijkstra: selektiert Knoten mit min tent( ): im ersten nicht-leeren ( aktiven ) Bucket Monotonie: Index des aktiven Buckets B i wächst Problem: ineffizient wenn B aktiv voll B B i 1 B B B B 0 i i+1 i+2 n 1 geleert aktiv gefüllt potentiell gefüllt leer Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 11

28 SP-S: eine einfache Label-Setting Methode [Mey01,03] Annahme: Kantengewichte in [0, 1] ( durch Skalierung) max v V, v erreichbar dist(v) n 1 Ersetze Prioritäts-Warteschlange durch Bucket -Struktur: v in Bucket B tent(v) : B 1.25 B B B B n 1 Dijkstra: selektiert Knoten mit min tent( ): im ersten nicht-leeren ( aktiven ) Bucket Monotonie: Index des aktiven Buckets B i wächst Problem: ineffizient wenn B aktiv voll Unsere Selektionsmethode: B B i 1 B B B B 0 i i+1 i+2 n 1 geleert aktiv gefüllt potentiell gefüllt (a) B aktiv = 1 : wie Dijkstra (b) B aktiv > 1 : spalte B aktiv ; verarbeite Knoten mit offensichtlich entgültigen Distanzwerten; verfahre rekursiv leer Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 11

29 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

30 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L spalte! Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

31 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L1 spalte! L0 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

32 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L2 spalte! L1 L0 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

33 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L3 SCAN L2 L1 L0 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

34 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L3 SCAN L2 L1 L0 Terminierung:??? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

35 SP-S: Spalten des aktiven Buckets Falls > 1 Elemente in B aktiv = [b, b + ) spalte B aktiv in [b, b + /2) und [b + /2, b + ) Beispiel: L3 SCAN L2 L1 L0 Terminierung: extra Regeln zum frühzeitigen Scannen! Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 12

36 SP-S: Frühzeitiges Scannen Spalten von B aktiv : folgenden Knotenmengen werden nicht auf das nächste Level angehoben, sondern sofort gescannt: Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 13

37 SP-S: Frühzeitiges Scannen Spalten von B aktiv : folgenden Knotenmengen werden nicht auf das nächste Level angehoben, sondern sofort gescannt: U 1 := {v B aktiv u B aktiv : tent(v) tent(u)} Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 13

38 SP-S: Frühzeitiges Scannen Spalten von B aktiv : folgenden Knotenmengen werden nicht auf das nächste Level angehoben, sondern sofort gescannt: U 1 := {v B aktiv u B aktiv : tent(v) tent(u)} U 2 := {v B aktiv (u, v) E : c(u, v) aktiv } Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 13

39 SP-S: Frühzeitiges Scannen Spalten von B aktiv : folgenden Knotenmengen werden nicht auf das nächste Level angehoben, sondern sofort gescannt: U 1 := {v B aktiv u B aktiv : tent(v) tent(u)} U 2 := {v B aktiv (u, v) E : c(u, v) aktiv } Lemma: v U 1 U 2 tent(v) = dist(v) Label-Setting Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 13

40 SP-S: Frühzeitiges Scannen Spalten von B aktiv : folgenden Knotenmengen werden nicht auf das nächste Level angehoben, sondern sofort gescannt: U 1 := {v B aktiv u B aktiv : tent(v) tent(u)} U 2 := {v B aktiv (u, v) E : c(u, v) aktiv } Lemma: v U 1 U 2 tent(v) = dist(v) Label-Setting Konsequenzen: max. n Hierarchie-Stufen; max. 2 n neue Buckets für Knoten v sei e v die { eingehende } Kante mit kleinstem Gewicht 1 v höchstens min n, log 2 c(e v ) mal angehoben Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 13

41 SP-S: Relaxieren mit Bottom-Up Suche Relaxieren einer Kante e = (v, w) finde ungespaltenes Zielbucket von w. Simple Methode: teste nacheinander Levels 0, 1,... v w w w L L 5 4 1/16 1/16 5 Tests 3 Tests 2 Tests L 3 1/8 1/8 L 2 1/4 1/4 L 1 B 1,0 = 1/2 B 1,1 = 1/2 1 1 L 0 B 0,0 0 = 1 B 0,1 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 14

42 SP-S: Relaxieren mit Bottom-Up Suche Relaxieren einer Kante e = (v, w) finde ungespaltenes Zielbucket von w. Simple Methode: teste nacheinander Levels 0, 1,... v w w w L L L /16 1/16 1/8 1/8 5 Tests 3 Tests 2 Tests Im Worst-Case wird es umso teurer, je kleiner das Kantengewicht ist. L 2 1/4 1/4 L 1 B 1,0 = 1/2 B 1,1 = 1/2 1 1 L 0 B 0,0 0 = 1 ( # Tests: O min B 0,1 { } ) 1 n, log 2 c(e) ( déjà vu!) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 14

43 SP-S: Worst-Case - und Average-Case Laufzeit Worst-Case: ( T = O min... nicht überragend, kann aber verbessert werden. { n m, n + m + e E log 2 1 c(e) } ) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 15

44 SP-S: Worst-Case - und Average-Case Laufzeit Worst-Case: ( T = O min... nicht überragend, kann aber verbessert werden. { n m, n + m + e E log 2 1 c(e) } ) Average-Case: hängt ab von Verteilungsfunktion(en) der Kantengewichte [ ] 1 Beob: E log 2 c(e) = O(1) E[T] = O(n + m) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 15

45 SP-S: Worst-Case - und Average-Case Laufzeit Worst-Case: ( T = O min... nicht überragend, kann aber verbessert werden. { n m, n + m + e E log 2 1 c(e) } ) Average-Case: hängt ab von Verteilungsfunktion(en) der Kantengewichte [ ] 1 1 Beob: E log 2 c(e) = O(1) E[T] = O(n + m) y/x=const F(x) Bsp: uniforme Verteilung in [0, 1], gilt aber noch allgemeiner: F(0)=0 F (0) < const 1 Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 15

46 SP-S: Worst-Case - und Average-Case Laufzeit Worst-Case: ( T = O min... nicht überragend, kann aber verbessert werden. { n m, n + m + e E log 2 1 c(e) } ) Average-Case: hängt ab von Verteilungsfunktion(en) der Kantengewichte [ ] 1 1 Beob: E log 2 c(e) = O(1) E[T] = O(n + m) y/x=const F(x) Bsp: uniforme Verteilung in [0, 1], gilt aber noch allgemeiner: Weitere Aspekte: F(0)=0 F (0) < const 1 Schranke gilt für beliebige Graphstruktur abhängige Kantengewichte erlaubt verschiedene Verteilungsfunktionen simultan erlaubt für unabhängige Kantengewichte auch mit hoher W keit Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 15

47 SSSP mit zufälligen Kantengewichten = trivial?? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

48 SSSP mit zufälligen Kantengewichten = trivial?? Nein! Neue untere Schranken für einige traditionelle Algs. [Mey01,03] Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

49 SSSP mit zufälligen Kantengewichten = trivial?? Nein! Neue untere Schranken für einige traditionelle Algs. [Mey01,03] Prinzip: entdecke sukzessive immer bessere Pfade zu einem Knoten q vielfache Verarbeitung ( rescanning ) von q ist aufwendig Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

50 SSSP mit zufälligen Kantengewichten = trivial?? Nein! Neue untere Schranken für einige traditionelle Algs. [Mey01,03] Prinzip: entdecke sukzessive immer bessere Pfade zu einem Knoten q vielfache Verarbeitung ( rescanning ) von q ist aufwendig Resultate (u.a.): Bellman-Ford: E[T] = Ω(n 4/3 ǫ ) ( ABI-Dijkstra: E[T] = Ω n log n log log n ) Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

51 SSSP mit zufälligen Kantengewichten = trivial?? Nein! Neue untere Schranken für einige traditionelle Algs. [Mey01,03] Prinzip: entdecke sukzessive immer bessere Pfade zu einem Knoten q vielfache Verarbeitung ( rescanning ) von q ist aufwendig Resultate (u.a.): Bellman-Ford: E[T] = Ω(n 4/3 ǫ ) ( ABI-Dijkstra: E[T] = Ω n log n log log n ) Ist Label-Setting besser als Label-Correcting?? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

52 SSSP mit zufälligen Kantengewichten = trivial?? Nein! Neue untere Schranken für einige traditionelle Algs. [Mey01,03] Prinzip: entdecke sukzessive immer bessere Pfade zu einem Knoten q vielfache Verarbeitung ( rescanning ) von q ist aufwendig Resultate (u.a.): Bellman-Ford: E[T] = Ω(n 4/3 ǫ ) ( ABI-Dijkstra: E[T] = Ω n log n log log n ) Ist Label-Setting besser als Label-Correcting?? Average-Case Linearzeit ist auch mit Label-Correcting möglich... Zusätzlich Parallelisierungen (u.a.): Zufallsgraphen polylog. Zeit lineare Arbeit [Mey02] Webgraphen o( n) Zeit lineare Arbeit [Mey02] Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 16

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

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

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

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Fully dynamic algorithms for the single source shortest path problem.

Fully dynamic algorithms for the single source shortest path problem. Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 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/

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

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

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

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

Literatur. 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,

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

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

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Wiederholung zu Flüssen

Wiederholung 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:

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen 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

Mehr

Technische 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 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

Mehr

Customization (Zuschneiden)

Customization (Zuschneiden) Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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

Mehr

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Fachbereich IV, Informatik Softwarepraktikum C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Wintersemester 2004/2005 Dokumentation Algorithmen zur Lösung von MST - Problemen Nicolas

Mehr

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

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Kapitel 3. Speicherhierachie. Beispiel für Cache Effekte. Motivation Externspeicheralgorithmen. Motivation Für Beachtung von Cache Effekten

Kapitel 3. Speicherhierachie. Beispiel für Cache Effekte. Motivation Externspeicheralgorithmen. Motivation Für Beachtung von Cache Effekten Kapitel 3 Algorithmen für große Datenmengen Motivation Externspeicheralgorithmen Es werden immer größere Datenmengen gesammelt (WWW, Medizin, Gentechnik ) Daten müssen auf großen externen Massenspeichern

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen 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

Mehr

3.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 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

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Die k kürzesten Wege in gerichteten Graphen

Die k kürzesten Wege in gerichteten Graphen Die k kürzesten Wege in gerichteten Graphen Marc Benkert Wintersemester 001/00 1 Einführung 1.1 Problemstellung In einem gerichteten, gewichteten Graphen G = (V, E) sollen die k kürzesten Wege zu zwei

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel Highway Hierarchies Kristian Dannowski, Matthias Hoeschel Gliederung Einleitung / Bidirektional Dijkstra Intuition / Naive Strategie Konstruktion der Highway Hierarchie Suche in der Highway Hierarchie

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Breiten- und Tiefensuche in Graphen

Breiten- und Tiefensuche in Graphen Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN

Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN 125 Motivation! Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen! Dünn besetzte Graphen und Matrizen bilden keine

Mehr

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012

Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012 Algorithmen für Routenplanung 11. Vorlesung, Sommersemester 2012 Daniel Delling 6. Juni 2012 MICROSOFT RESEARCH SILICON VALLEY KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick

Mehr

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph Graphentheorie Rainer Schrader Zentrum ür Angewandte Inormatik Köln 31. Oktober 2007 1 / 30 2 / 30 Gliederung maximale Flüsse Schnitte Edmonds-Karp-Variante sei G = (V, A) ein gerichteter Graph sei c eine

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

6. Flüsse und Zuordnungen

6. Flüsse und Zuordnungen 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über solch eine Kante pro Zeiteinheit transportiert werden können. Wir können uns einen

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

Effiziente Algorithmen I

Effiziente 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

Mehr

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

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 204 4. Vorlesung Matchings / Paarungen Kombinatorische Anwendungen des Max-Flow-Min-Cut-Theorems Prof. Dr. Alexander Wolff 2 Paarungen (Matchings) Def. Sei

Mehr

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

Mehr

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

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Algorithmen und Datenstrukturen 2-2. Seminar -

Algorithmen und Datenstrukturen 2-2. Seminar - Algorithmen und Datenstrukturen 2-2. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 2. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A4 Flußnetzwerk, Restgraphen

Mehr

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer

Mehr

Maximale s t-flüsse in Planaren Graphen

Maximale s t-flüsse in Planaren Graphen Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 18, 2012 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

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

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische 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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Prioritätswarteschlangen Mariano Zelke Datenstrukturen 2/28 Der abstrakte Datentyp Prioritätswarteschlange : Füge Elemente (mit Prioritäten) ein und entferne

Mehr

Seminarvortag 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 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:

Mehr

Internet Routing. SS 2012 Grundlagen der Rechnernetze Internetworking

Internet Routing. SS 2012 Grundlagen der Rechnernetze Internetworking Internet Routing SS 2012 Grundlagen der Rechnernetze Internetworking 16 Forwarding und Routing Forwarding Tabelle H7 H1 H2 H3 Adresse Interface MAC Adr. Host H1 3 Adr(H1) Host H2 3 Adr(H2) Netz N1 3 1

Mehr

Kombinatorische Optimierung

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 Vorlesungen 5 und 6 Programm

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

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

Flüsse in Netzwerken. Seminar über Algorithmen SoSe 2005. Mike Rohland & Julia Schenk Flüsse in Netzwerken Seminar über Algorithmen SoSe 2005 Mike Rohland & Julia Schenk Inhalt Einführung Definition Maximale Flüsse Schnitte Restgraphen Zunehmende Wege Max-Fluss Min-Schnitt Theorem Ford-Fulkerson

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.

Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr. Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet

Mehr

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

Kapitel 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

Mehr

Technische 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 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 1 für die Übung

Mehr

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen

Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes

Mehr

Lineare Programmierung

Lineare Programmierung Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Flüsse, Schnitte, Bipartite Graphen II

Flüsse, Schnitte, Bipartite Graphen II Flüsse, Schnitte, Bipartite Graphen II Jonathan Hacker 06.06.2016 Jonathan Hacker Flüsse, Schnitte, Bipartite Graphen II 06.06.2016 1 / 42 Gliederung Einführung Jonathan Hacker Flüsse, Schnitte, Bipartite

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger

Flüsse, Schnitte, bipartite Graphen. Martin Oettinger Flüsse, Schnitte, bipartite Graphen Martin Oettinger Übersicht Einführung Algorithmen für maximalen Fluss Preflow-Push Ford-Fulkerson Spezialfall: Maximaler Fluss bei minimalen Kosten Reduktionen Bipartites

Mehr

Die Verbindung von Linearer Programmierung und Graphentheorie

Die Verbindung von Linearer Programmierung und Graphentheorie Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

Mehr

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 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

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Suchen und Sortieren (Die klassischen Algorithmen)

Suchen und Sortieren (Die klassischen Algorithmen) Suchen und Sortieren (Die klassischen Algorithmen) Lineare Suche und Binäre Suche (Vorbedingung und Komplexität) Sortieralgorithmen (allgemein) Direkte Sortierverfahren (einfach aber langsam) Schnelle

Mehr

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. Lösungen Übung 13 Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. a) Strategie 1 (nächster Nachbar): Jedes Mal reist der Reisende vom Punkt, wo er gerade ist, zur nächstgelegenen Stadt,

Mehr

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

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Alles zu seiner Zeit Projektplanung heute

Alles zu seiner Zeit Projektplanung heute Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter

Mehr