Kürzeste Pfade. Organisatorisches. VL-17: Kürzeste Pfade. (Datenstrukturen und Algorithmen, SS 2017) Walter Unger
|
|
- Frank Wetzel
- vor 6 Jahren
- Abrufe
Transkript
1 Organisatorisches VL-17: Kürzeste Pfade (Datenstrukturen und Algorithmen, SS 2017) Walter Unger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann, David Korzeniewski, Björn Tauer Webseite: SS 2017, RWTH Nächste Vorlesung: Dienstag, Jul 4, 16:15 17:45 Uhr, Aula 1 DSAL/SS 2017 VL-17: Kürzeste Pfade 1/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 2/44 Das Rechenproblem: Kürzeste Pfade (1) Kürzeste Pfade Single-Source Shortest Path Bellman-Ford Dijkstra All-Pairs Shortest Paths Transitive Hüllen Algorithmus von Warshall Algorithmus von Floyd DSAL/SS 2017 VL-17: Kürzeste Pfade 3/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 4/44
2 Das Rechenproblem: Kürzeste Pfade (2) Kürzeste Pfade: Das Problem Beispiel (kürzester Weg) Eingabe: 1. Eine Strassenkarte, auf der der Abstand zwischen jedem Paar von benachbarten Kreuzungen eingezeichnet ist, 2. eine Startkreuzung s, 3. eine Zielkreuzung t. Ausgabe: Der kürzeste Weg von s nach t. DSAL/SS 2017 VL-17: Kürzeste Pfade 5/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 6/44 Kürzeste Pfade: Notation Kürzeste Pfade: Varianten Gegeben ist ein kanten-gewichteter Graph G = (V, E, W ). Gewicht eines Pfades = Summe der Gewichte der Kanten Ein kürzester Pfad von Knoten s V zu Knoten v V ist ein Pfad von s nach v mit minimalem Gewicht. Im Folgenden ist δ : (V V ) (R {+inf}) eine Funktion, sodass: δ(s, v) ist das Gewicht des kürzesten Pfades von s nach v, und δ(s, v) = +inf, falls v von s nicht erreichbar ist. Es gibt viele verschiedene Problemvarianten: Kürzeste Pfade von einem Startknoten s zu allen anderen Knoten: Single-Source Shortest Paths (SSSP). Kürzeste Pfade von allen Knoten zu einem Zielknoten t. Lässt sich auf SSSP zurückführen. Kürzester Pfad für ein festes Knotenpaar u, v. Es ist kein Algorithmus bekannt, der asymptotisch schneller ist als der beste SSSP-Algorithmus. Kürzeste Pfade für alle Knotenpaare. All-Pairs Shortest Paths (APSP, zweiter Teil dieser Vorlesung). DSAL/SS 2017 VL-17: Kürzeste Pfade 7/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 8/44
3 Single-Source Shortest Paths Single-Source Shortest Path Problem (Single-Source Shortest Path) Für einen fixen gegebenen Knoten s V (Quelle/source), bestimme für jeden anderen Knoten t V einen kürzesten Pfad von s zu t. DSAL/SS 2017 VL-17: Kürzeste Pfade 9/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 10/44 Der Bellman-Ford Algorithmus Bellman-Ford Berechnet kürzeste Pfade von einem einzigen Startknoten aus Erlaubt negative Kantengewichte. Zeigt an, ob es einen Kreis mit negativem Gewicht gibt, der vom Startknoten aus erreichbar ist. Falls ein solcher Kreis gefunden wird, gibt es keine Lösung (da die Gewichte der kürzesten Pfade nicht mehr wohldefiniert sind). Sonst verbessert der Algorithmus iterativ für jeden Knoten v eine obere Grenze dist[v] für δ(s, v), bis das Minimum gefunden wird. Kürzeste Pfade können nach Terminierung mittels der im Array prev gespeicherten Vorgängerknoten entlang eines kürzesten Pfades rekonstruiert werden. DSAL/SS 2017 VL-17: Kürzeste Pfade 11/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 12/44
4 Bellman-Ford: Grundideen Initialisierung: dist[v]=+inf; dist[start]=0. Für alle Kanten (v, w) E: Relaxierung: Ist das bisher bekannte Gewicht dist[w] grösser als dist[v]+w(v,w), so verbessere dist[w] auf diesen Wert. Wiederhole den vorigen Schritt bis sich nichts mehr ändert, oder brich, falls ein negativer Kreis gefunden wird. Korrektheit von Bellman-Ford Falls nach V 1 Wiederholungen noch Verbesserungen möglich sind, so gibt es einen negativen Kreis. Andernfalls gilt dist[v] = δ(s, v) für alle Knoten v V. Beweisidee: Pfad ohne Kreis in (V, E, W ) enthält V 1 Zwischenknoten. Bellman-Ford in Pseudo-Code 1 bool bellmanford(list adj[n], int n, int start, 2 int &dist[n], int &prev[n]) { 3 4 for (int v = 0; v < n; v++) // fuer alle Knoten v 5 dist[v] = +inf; 6 prev[v] = -1; // v hat noch keinen Vorgaenger 7 } 8 9 dist [ start ] = 0; // Entfernung von start zu start ist 0 10 for ( int i = 1; i < n; i ++) // n -1 Durchlaeufe 11 for ( int v = 0; v < n; v ++) // fuer alle Knoten v 12 foreach ( edge in adj [ v]) 13 if ( dist [ edge. target ] > dist [v] + edge. weight ) { 14 dist [ edge. target ] = dist [v] + edge. weight ; 15 prev [ edge. target ] = v; 16 } // Relaxierung for (int v = 0; v < n; v++) // fuer alle Knoten v 19 foreach (edge in adj[v]) 20 if (dist[edge.target] > dist[v] + edge.weight) 21 return false; // Kreis mit negativem Gewicht 22 return true ; 23 } Zeitkomplexität: O( V E ) DSAL/SS 2017 VL-17: Kürzeste Pfade 13/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 14/44 Bellman-Ford: Beispiel Dijkstra DSAL/SS 2017 VL-17: Kürzeste Pfade 15/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 16/44
5 Der Dijkstra Algorithmus Grundlegende Annahme Alle Kantengewichte sind nicht-negativ: W (u, v) 0 für alle (u, v) E. Ergo: Kürzeste Pfade enthalten keine Kreise Edsger Wybe Dijkstra ( ), Turing Award 1972 Dijkstra: Grundideen Wie beim Algorithmus von Prim klassifizieren wir die Knoten in drei Kategorien: Baumknoten: gehören zum bis jetzt konstruierten Baum Randknoten: nicht im Baum, aber adjazent zu Knoten im Baum Ungesehene Knoten: alle anderen Knoten. Grundkonzept: Kein Knoten ausserhalb des Baumes hat einen kürzeren Pfad als die Knoten im Baum. Jedem Knoten v ist ein Wert dist[v] zugeordnet: Für Baumknoten v gilt: dist[v] = δ(s, v); Für Randknoten v gilt: dist[v] ist Minimum der Gewichte aller Pfade vom Startknoten zu v, wobei die letzte Kante im Schnitt liegt; Für ungesehenen Knoten v gilt: dist[v] =+inf. DSAL/SS 2017 VL-17: Kürzeste Pfade 17/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 18/44 Dijkstra Algorithmus: Grundgerüst Dijkstra Algorithmus: Beispiel 1 // ungerichteter Graph G mit n Knoten 2 void dijkstrasp ( Graph G, int n) { 3 initialisiere alle Knoten als UNGESEHEN ( WHITE ); 4 markiere s als BAUM (BLACK) und setze d(s, s) = 0; 5 reklassifiziere alle zu s adj Knoten als RAND ( GRAY ); 6 while ( es gibt Randknoten ) { 7 waehle von allen Kanten zwischen Baumknoten t und 8 Randknoten v mit minimalem d(s, t) + W (t, v); 9 reklassifiziere v als BAUM ( BLACK ); 10 fuege Kante (t, v) zum Baum hinzu ; 11 setze d(s, v) = d(s, t) + W (t, v); 12 reklassifiziere alle zu v adj UNGESEHENen Knoten 13 als RAND ( GRAY ); 14 } 15 } Die Unterschiede zu Prim s Spannbaum Algorithmus sind rot gekennzeichnet DSAL/SS 2017 VL-17: Kürzeste Pfade 19/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 20/44
6 Dijkstra Algorithmus: Korrektheit (1) Dijkstra Algorithmus: Korrektheit (2) Theorem Wir betrachten einen Zeitpunkt während der Exekution des Dijkstra Algorithmus. Es sei B der zu diesem Zeitpunkt konstruierte (rote) Teilbaum. Dann gilt: 1. dist[v] δ(s, v) für alle Knoten v V 2. dist[v] = δ(s, v) für alle Baumknoten v B 3. dist[v] = min({ } {δ(s, x) + W (x, v) x B und (x, v) E}) für alle Nicht-Baumknoten v V \ B; 4. δ(s, v) δ(s, u) für alle Baumknoten v B und u V \ B. 1. dist[v] δ(s, v) für alle Knoten v V 2. dist[v] = δ(s, v) für alle Baumknoten v B 3. dist[v] = min({ } {δ(s, x) + W (x, v) x B, (x, v) E}) für v V \ B 4. δ(s, v) δ(s, u) für alle Baumknoten v B und u V \ B Beweis. 1. und 3. und 4. sind (ziemlich) trivial. Wir beweisen 2. durch Induktion über die Anzahl der Baumknoten: Basis: B ist leer und B = {s} (nach erster Iteration): trivial. Ind. Schritt: Nimm an, Behauptung gilt für B = k > 0. Sei v der Knoten der als nächster zum Baum B hinzugefügt wird. Der Fall dist[v] = +inf ist trivial. Betrachte dist[v] +inf. Dann gibt es eine Kante vom Baumknoten x = prev[v] B zu v B. Aus 3. folgt, dass dist[v] das Gewicht des kürzesten Pfades von s nach v über Baumknoten ist. Aus 4. und der Wahl von v folgt, dass es keinen kürzeren Pfad gibt, d.h., dist[v] = δ(s, v). DSAL/SS 2017 VL-17: Kürzeste Pfade 21/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 22/44 Korrektheit Dijkstra Algorithmus: Implementierung Theorem (Korrektheit) Der Dijkstra Algorithmus berechnet die kürzesten Abstände zwischen Knoten s und jedem von s aus erreichbaren Knoten in G. 1 // Input : gewichteter Graph mit n Knoten, Startknoten 2 void dijkstra(int adj[n], int n, int start, int &dist[n], 3 int &prev[n]) { 4 for (int i = 0; i < n; i++) { 5 dist[i] = inf; prev[i] = -1; 6 } 7 dist[start] = 0; // start ist Randknoten mit Kosten 0 8 Q = 0,...,n-1; // Q enthaelt alle ungesehenen Knoten 9 // und alle Randknoten 10 while ( Q not empty ) { 11 // verschiebe billigsten Randknoten v in Baum : 12 // extractmin ( Q) bestimmt Element e aus Q mit minimalem 13 // dist [ e], entfernt e aus Q und gibt e zurueck 14 v = extractmin ( Q); 15 for each ( edge in adj [ v]) // aktualisiere Kosten 16 // fuer Randknoten 17 if ( edge. target in Q and 18 dist [v]+ edge. weight < dist [ edge. target ]) { 19 dist [ edge. target ] = dist [v] + edge. weight ; 20 prev [ edge. target ] = v; 21 } 22 } 23 } DSAL/SS 2017 VL-17: Kürzeste Pfade 23/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 24/44
7 Dijkstra Algorithmus: Anmerkungen Die kürzesten Wege werden mit zunehmendem Abstand zur Quelle s gefunden. Implementierung: Ähnlich zum Spannbaum Algorithmus von Prim. Zeitkomplexität im Worst-Case: Θ( V 2 ). Untere Schranke der Komplexität: Ω( E ) (Im schlimmsten Fall müssen alle Kanten überprüft werden.) Platzkomplexität: O( V ). All-Pairs Shortest Paths Dijkstra erlaubt keine negative Kosten. Warum? DSAL/SS 2017 VL-17: Kürzeste Pfade 25/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 26/44 All-Pairs Shortest Paths Binäre Relationen Wir betrachten gewichtete gerichtete Graphen G = (V, E, W ). Negative Gewichte sind erlaubt, aber keine Kreise mit negativem Gewicht. Nicht vorhandene Kanten haben Gewicht W (, ) = +inf. Problem (All-Pairs Shortest Path) Berechne für jedes Paar i, j das Gewicht D[i,j] des kürzesten Pfades. Naive Lösung: Wende SSSP-Algorithmus (z.b. Bellman-Ford) V mal an. Dies führt zu Worst-Case Zeitkomplexität O( V 4 ). Effizientere Version: Floyd s Algorithmus Binäre Relation Eine (binäre) Relation R über einer Menge S ist eine Teilmenge R S S = S 2. Reflexivität, Transitivität Eine Relation R ist reflexiv, wenn (u, u) R für alle u S transitiv, wenn aus (u, v) R und (v, w) R immer (u, w) R folgt Transitive Hülle Die transitive Hülle R einer Relation R ist die kleinste Erweiterung (Obermenge) R R S 2, sodass R reflexiv und transitiv ist. Transitive Hülle eines Graphen Für Graphen mit Menge S = V und Relation R = E gilt: (u, v) R gdw. es gibt Pfad von u nach v. DSAL/SS 2017 VL-17: Kürzeste Pfade 27/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 28/44
8 Transitive Hülle: Beispiel R = und transitive Hülle R = A B A B Algorithmus von Warshall E C E C D D Binäre Relation R Transitive Hülle R DSAL/SS 2017 VL-17: Kürzeste Pfade 29/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 30/44 Algorithmus von Warshall: Idee (1) Aus R[i,k] und R[k,j] folgt Erreichbarkeit R[i,j]. Algorithmus von Warshall: Idee (2) Das reicht bereits aus, um längere Pfade zu berücksichtigen: i j k 1 2 Die Reihenfolge spielt dabei keine Rolle: 1 foreach (k V ) 2 foreach ( eingehende Kante (i, k) E ) 3 foreach ( ausgehende Kante (k, j) E ) 4 Fuege (i, j) zu E hinzu. 2 1 DSAL/SS 2017 VL-17: Kürzeste Pfade 31/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 32/44
9 Algorithmus von Warshall: Idee (3) Algorithmus von Warshall: Idee (4) Allgemeiner Fall: i {1,..., k 1} k {1,..., k 1} Das lässt sich als Rekursionsgleichung schreiben, wobei t (k) ij = true besagt, dass nach Berücksichtigung der Zwischenknoten {1,..., k} der Knoten j von i aus erreichbar ist: t (k) ij = t (k 1) ij ( t (k 1) t (k 1) ) j t (k) ij = false true t (k 1) ij ( t (k 1) Da zur Berechnung von t (k) ij ) t (k 1) für k = 0, falls (i, j) E für k = 0, falls (i, j) E für k > 0 nur die Werte t (k 1) uv gebraucht werden und da keine älteren Werte t uv (j) mit j < k 1 gebraucht werden, kann die Berechnung direkt im Ausgabearray (in-place) erfolgen. DSAL/SS 2017 VL-17: Kürzeste Pfade 33/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 34/44 Algorithmus von Warshall: Beispiel (1) Eine mögliche Nummerierung der Knoten: Algorithmus von Warshall: Beispiel (2) Eine andere Nummerierung der Knoten: x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 3 7 Permutierung der Knoten liefert gleiche Matrixdarstellung von R wie zuvor DSAL/SS 2017 VL-17: Kürzeste Pfade 35/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 36/44
10 1 foreach (k V ) 2 foreach ( eingehende Kante (i, k) E ) 3 foreach ( ausgehende Kante (k, j) E ) 4 Fuege (i, j) zu E hinzu. 1 void transclos ( bool A[ n][ n], int n, bool & R[ n][ n]) { 2 for ( int i = 0; i < n; i ++) 3 for ( int j = 0; j < n; j ++) 4 R[i, j] = A[i, j]; // Kopiere A nach R 5 6 for ( int i = 0; i < n; i ++) 7 R[i, i] = true ; // reflexive Huelle 8 9 for ( int k = 0; k < n; k ++) 10 for ( int i = 0; i < n; i ++) 11 for ( int j = 0; j < n; j ++) 12 R[i, j] = R[i, j] ( R[i, k] && R[k, j]); 13 } Algorithmus von Floyd Zeitkomplexität: Θ( V 3 ); Platzkomplexität: Θ( V 2 ) DSAL/SS 2017 VL-17: Kürzeste Pfade 37/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 38/44 Der Algorithmus von Floyd Der Algorithmus von Floyd: Idee 36 i j Zurück zu All-Pairs Shortest Paths: Algorithmus von Floyd löst APSP Grundidee: Erweiterung von Algorithmus von Warshall (Literatur nennt den Algorithmus oft Floyd-Warshall ) {1,..., k 1} k {1,..., k 1} Wir gehen wie bei Warshall vor, jedoch mit der folgenden angepassten Rekursionsgleichung: W (i, j) für k = 0 d (k) ij = ( ) min d (k 1) ij, d (k 1) + d (k 1) für k > 0 ( ) statt: t (k) ij = t (k 1) ij t (k 1) t (k 1) DSAL/SS 2017 VL-17: Kürzeste Pfade 39/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 40/44
11 Der Algorithmus von Floyd: Idee Der Algorithmus von Floyd: Beispiel 35 i j {1,..., k 1} k {1,..., k 1} Wir gehen wie bei Warshall vor, jedoch mit der folgenden angepassten Rekursionsgleichung: W (i, j) für k = 0 d (k) ij = ( ) min d (k 1) ij, d (k 1) + d (k 1) für k > 0 ( ) statt: t (k) ij = t (k 1) ij t (k 1) t (k 1) DSAL/SS 2017 VL-17: Kürzeste Pfade 40/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 41/44 Der Algorithmus von Floyd: Implementierung Der Algorithmus von Floyd: Erweiterung 1 void floydsp ( double W[ n][ n], int n, double & D[ n][ n]) { 2 for ( int i = 0; i < n; i ++) 3 for ( int j = 0; j < n; j ++) 4 D[i, j] = W[i, j]; // Kopiere W nach D 5 6 for ( int i = 0; i < n; i ++) // reflexive Huelle 7 D[i, i] = 0; 8 9 for ( int k = 0; k < n; k ++) 10 for ( int i = 0; i < n; i ++) 11 for ( int j = 0; j < n; j ++) 12 D[i,j] = min (D[i,j], D[i,k] + D[k,j]); 13 } Zeitkomplexität: Θ( V 3 ); Platzkomplexität: Θ( V 2 ). Hier nicht behandelt: Der Algorithmus kann auch mit negativen Kreisen umgehen. Der angegebene Algorithmus berechnet nur die Länge der Pfade. Der Algorithmus lässt sich leicht auf die Berechung von Pfaden erweitern (z. B. Routingtabellen). Dazu speichern wir für jedes Paar (i, j) jeweils den letzten Zwischenknoten π ij des kürzesten Pfades von i nach j (das heisst, π ij ist der Vorgänger von j auf diesem Pfad). π (k) ij = i null π (k 1) π (k 1) ij für k = 0, i j, falls W (i, j) +inf für k = 0, sonst für k > 0, falls d (k 1) ij sonst > d (k 1) + d (k 1) DSAL/SS 2017 VL-17: Kürzeste Pfade 42/44 DSAL/SS 2017 VL-17: Kürzeste Pfade 43/44
12 Organisatorisches Nächste Vorlesung: Dienstag, Jul 4, 16:15 17:45 Uhr, Aula 1 Webseite: DSAL/SS 2017 VL-17: Kürzeste Pfade 44/44
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
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!
MehrSS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische
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
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
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
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
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
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrGrundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen
. Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter
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
MehrEffiziente Algorithmen und Datenstrukturen: Kürzeste Wege
Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach B? B A Kürzeste Wege Zentrale Frage: Wie komme ich am schnellsten von A nach
MehrSingle Source Sortest Path Negative Kreise All-Pair Shortest Path Problem Minimum Mean Cycle Zusammenfassung. Shortest Paths
Shortest Paths Label Correcting Algorithms Florian Reitz Universität Trier Fachbereich IV Fach Informatik Seminar Netzwerkalgorithmen WS 2005/2006 Einleitung: Problemübersicht Eben: Schnelle Algorithmen
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
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
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
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.
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
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
MehrDATENSTRUKTUREN UND ALGORITHMEN
DATENSTRUKTUREN UND ALGORITHMEN 2 Ist die Datenstruktur so wichtig??? Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen Dünn besetzte Graphen und Matrizen bilden
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/
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
Mehr4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
Mehr23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108
23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
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
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
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
Mehr2. Übungsblatt zu Algorithmen II im WS 2016/2017
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe
MehrGraphenalgorithmen I
enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
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
MehrVery simple methods for all pairs network flow analysis
Very simple methods for all pairs network flow analysis Tobias Ludes 02.07.07 Inhalt Einführung Algorithmen Modifikation der Gomory-Hu Methode Einführung Nach Gomory-Hu nur n-1 Netzwerk-Fluss- Berechnungen
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
MehrUndirected 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
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Mehrκ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).
5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende
MehrMinimal spannender Baum
Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen
MehrG : (V; E) mit E V V G : (V 1, V 2 ; E) mit E V 1 V 2 V 2 V 1 l(w) k i1 l(e i ) dist(u, v) 0 min(l(w) : W ist ein Weg von u nach v falls u v falls ein solcher Weg existiert sonst v 1 V v i V (i
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
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
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
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
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 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
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
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:
MehrAlgorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung
Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes
MehrGraphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60)
Graphen Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Teil II: Graphen 1. Einführung 2. Wege und Kreise in Graphen, Bäume 3. Planare Graphen / Traveling Salesman Problem 4. Transportnetzwerke
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
MehrGraphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers
Graphalgorithmen 2 Oleksiy Rybakov 3. Juni 2015 Betreuer: Tobias Werth, Daniel Brinkers 1 / 40 Inhaltsverzeichnis 1 Minimale Spannbäume und Datenstrukturen 2 Kürzeste Wege 3 Spezielle Graphen 2 / 40 Minimale
Mehr11. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 11. Übungsblatt zu Algorithmen I im SS 2010 http://algo2.iti.kit.edu/algorithmeni.php
MehrAufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
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
MehrKlausur Datenstrukturen und Algorithmen SoSe 2012
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Klausur Datenstrukturen und Algorithmen SoSe 2012 Vorname: Nachname: Studiengang (bitte genau einen
MehrUniversität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/
MehrUberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1
Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale
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
Mehr10 Graphenalgorithmen in Java
10.1 Implementierung eines gewichteten Graphen 10.2 Implementierung der Breitensuche 10.3 Implementierung der Tiefensuche 10 147 Teil X Graphalgorithmen in Java Überblick Implementierung eines gewichteten
MehrUniversität Bremen. Graphenalgorithmen. Thomas Röfer. Begriffe Repräsentationen Kürzeste Wege Minimale spannende Bäume
Graphenalgorithmen Thomas Röfer Begriffe Repräsentationen Kürzeste Wege Minimale spannende Bäume Rückblick Geometrische Algorithmen Scan-Line-Prinzip Graham-Scan Divide and Conquer Voronoi-Diagramm Eigenschaften
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
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
Mehr6. Übung zur Linearen Optimierung SS08
6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl
Mehr9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrDiskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie
Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek
MehrDynamisches Programmieren - Problemstruktur
Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)
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
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
MehrIdentifizierung negativer Zyklen in gerichteten Graphen
Identifizierung negativer Zyklen in gerichteten Graphen Benjamin Schulz 4. August 2008 Inhaltsverzeichnis 1 Einführung 2 1.1 Gerichtete gewichtete Graphen.............................. 2 1.2 Finden von
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrÜbung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
MehrEndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
MehrMinimum Spanning Tree
1.5 1.5 1.0 0.75.0 0.75 Gegeben ein Graph G = (V, E). Die Knotenmenge V repräsentiere eine Menge von Spezies. Jede Kante e = (v,u) ist beschriftet mit der evolutionäre Distanz w(v,u) (Kantengewicht) des
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrGraphen. Leonhard Euler ( )
Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),
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
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
MehrGeometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen June 1, 2015 Ignaz Rutter INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
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
MehrAlgorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4
Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS 2015 http://www.fmi.informatik.uni-stuttgart.de/alg Institut für Formale Methoden der Informatik Universität Stuttgart Übungsblatt 4 Punkte: 50 Problem
MehrCodes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
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
MehrMB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am
MB-ALG, SS1 Seite 1 Hauptklausur, geschrieben am.07.01 Vorname Nachname Matrikel-Nr Diese Klausur ist mein letzter Prüfungsversuch (bitte ankreuzen): Ja Nein Ihre Lösung für Aufgabe 1 können Sie direkt
MehrFreie Universität Berlin. Diskrete Mathematik. Ralf Borndörfer, Stephan Schwartz. Freie Universität. 08. April 2013
Diskrete Mathematik Ralf Borndörfer, Stephan Schwartz 08. April 2013 FUB VL Diskrete Mathematik SS 2013 1 Leonhard Euler (1707-1783) e i sin cos f(x) FUB VL Diskrete Mathematik SS 2013 2 Das Königsberger
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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
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
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
MehrAlgorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation
Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive
Mehr