Von Aachen nach Halle...
|
|
- Elsa Grosser
- vor 6 Jahren
- Abrufe
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
Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer
Mehr5.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!
Mehr16. 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
MehrFully 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
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrEin 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
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/
MehrAlgorithmen 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
MehrEffiziente 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
MehrGraphen: 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.
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,
Mehr4.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
MehrAbgabe: (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,
MehrKapitel 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
MehrKü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
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:
MehrMaximaler 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
MehrAlgorithmen 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
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
Mehr4 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
MehrDatenstrukturen & 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
MehrDynamische 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
MehrEntscheidungsbä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
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
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
MehrCustomization (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
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
MehrC++, 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
MehrS=[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
MehrKapitel 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
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
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
Mehr1. 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
MehrDie 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
Mehr3. 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
Mehr1 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
MehrHighway 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
Mehr8 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
MehrDie 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
MehrProgrammierung 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
MehrBreiten- 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
Mehrabgeschlossen 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
MehrVorlesung 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
MehrAlgorithmen 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
MehrGrundlagen 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
MehrNP-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
MehrGraphentheorie. 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
MehrAnmerkungen 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
MehrEinfü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
Mehr6. 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
MehrProgrammieren 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
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
MehrBabeș-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
MehrKapitel 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
MehrAlgorithmische 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
MehrStefan 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
MehrTeil 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
MehrProgrammiertechnik 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
MehrAlgorithmen 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
MehrKomplexitä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
MehrMaximale 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
MehrKonzepte 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
Mehr14. 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).
MehrLange 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
MehrOptimierungsprobleme. 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
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
Mehr1. 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
MehrDatenstrukturen. 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
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:
MehrInternet 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
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
MehrApproximationsalgorithmen
Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.
MehrAlgorithmen 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
MehrDatenbankanwendung. 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
MehrFlü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
Mehr1. 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
MehrGrundlagen 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.
MehrVorlesung 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 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
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
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 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
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
MehrLineare 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
MehrProgrammiertechnik 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,...
MehrFlü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
MehrVorlesung 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
MehrFlü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
MehrDie 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
MehrAbschnitt: 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
MehrStatistische 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
MehrKostenmodell. 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
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
Mehr3.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)
MehrEine 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
MehrDie 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
MehrSuchen 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
MehrInstitut 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,
MehrLernziele: 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
MehrAlles 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?
MehrRandomisierte 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