EDM, Algorithmen und Graphenspeicherung
|
|
|
- Volker Kaufman
- vor 6 Jahren
- Abrufe
Transkript
1 EDM, Algorithmen und Graphenspeicherung 1 Graphenspeicherung Gespeichert werden soll ein Graph G = (V, E) bzw. Digraph D = (V, A). Man beachte: E ( ) V 2 bzw. E V Adjazenzmatrix Graph G: A = (a vw ) v,w V mit a vw = 1 v, w} E 1 (v, w) A Digraph D: A = (a vw ) v,w V mit a vw = 1 (w, v) E 1.2 Inzidenzmatrix: Graph G: B = (b ve ) v V,e E mit b ve = 1 v e 1 a 1 = v Digraph D: B = (b va ) v V,a A mit b va = 1 a 2 = v 1.3 Adjazenzliste: Graph G: L = (L v ) v V mit L v = N G (v) = w V v, w} E} Digraph D: Vorgängerliste: L = (L v ) v V mit L v = N + G (v) = w V (w, v) E} Nachfolgerliste: L = (L v ) v V mit L v = N G (v) = w V (v, w) E} 1
2 2 Baumsuche Eingabe: Zusammenhängender Graph G = (V, E). Ausgabe: Maximaler kreisfreier Untergraph durch gerichtete Adjazenzliste L. Hilfsdaten: U: Menge unbearbeiteter Knoten I: Menge der Knoten in Bearbeitung v: Aktueller Knoten w: unbearbeiteter Nachbar 1. Initialisierung: Setze L v := für alle v V, wähle I ( V 1) und setze U := V \ I. 2. Solange noch Knoten in I existieren, (a) wähle v I (b) Falls N G (v) U eine Knoten enthält, wähle w N G (v) U und setze 3. Ausgabe. U := U \ w}, I := I w} und L v := L v w} Nachfolgerliste oder L w := v} Vorgängerliste Ansonsten setze I := I \ v}. 2.1 Spezialfälle und Bemerkungen BFS (Breitensuchbaum): I als Warteschlange (first in first out) realisiert. DFS (Tiefensuchbaum): I als Stapel (last in first out) realisiert. Auch auf gerichteten Graphen, findet alle vom ersten Knoten aus erreichbaren. Laufzeit: O( E ). Ist U am Ende nicht leer, so enthält L den Suchbaum einer Komponente. Man kann den Algorithmus in eine Schleife packen (Initialisierung von L bleibt draußen) und am Schleifenende V = U setzen, solange U gilt - ansonsten wird die Schleife beendet. Dann erhält man einen Algorithmus, der zu jedem Graphen einen maximalen kreisfreien Untergraphen (Gerüst) sucht. 2
3 3 Greedy-Algorithmen 3.1 Best-in-Greedy Eingabe: Unabhängigkeitssystem (E, F) mittels Unabhängigkeitsorakel, Gewichte c : E R +. Ausgabe: Menge F F Hilfsdaten: e i : Elemente von E 1. Initialisierung: Sortiere E = e 1,...,e n } so, dass c(e E ) c(e E 1 )... c(e 1 ) Setze F := Für i = 1 bis E (a) Überprüfe F e i} auf Unabhängigkeit und (b) setze gegebenenfalls F := F e i }. Löst das Maximierungsproblem für Unabhängigkeitssysteme, sofern (E, F) ein Matroid ist, exakt mit Laufzeit E Laufzeit(Orakel) + O(n log n). Beispiel: Minimum Spanning tree, c(e) := maxw e e E(G)} w e, (E, F) graphisches Matroid. 3.2 Worst-out-Greedy Eingabe: Unabhängigkeitssystem (E, F) mittels Basis-Obermengen-Orakel, Gewichte c : E R +. Ausgabe: Basis F von (E, F) Hilfsdaten: e i : Elemente von E 1. Initialisierung: Sortiere E = e 1,...,e n } so, dass c(e 1 ) c(e 2 )... c(e E ) Setze F := E. 2. Für i = 1 bis E (a) Überprüfe F \ e i} darauf, ob es eine Basis von (E, F) enthält und (b) setze gegebenenfalls F := F e i }. Löst das Minimierungsproblem für Unabhängigkeitssysteme, sofern (E, F) ein Matroid ist, exakt mit Laufzeit E Laufzeit(Orakel) + O(n log n). Beispiel: Minimum Spanning tree, c(e) := w e, (E, F) graphisches Matroid. 3
4 4 Edmonds Matroid-Schnitt Algorithmus Eingabe: Matroide (E, F) und (E, F 2 ) mittels Unabh.-Orakel. Ausgabe: Menge X F 1 F 2 maximaler Kardinalität. Hilfsdaten: C 1 (y), C 2 (y), A (1) y, A (2) y, S, T, P 1. Initialisierung: Setze X = 0 2. Für jedes y E \ X und jedes i 1, 2} setze C i (y) := x X y} (X y}) \ x} F i } X y} F 3. Setze S := y E \ X X y} F 1 }, T := y E \ X X y} F 2 }. Für jedes x X setze A (1) x A (2) x := (x, y) y E \ X x C 1 (X, y) \ y}}, := (y, x) y E \ X x C 2 (X, y) \ y}}. 4. Suche kürzesten Weg P in (E, A (1) x A (2) x ) von S x nach B x über BFS. (Hinweis: in Initialisierung BFS kann abweichend I = S gesetzt werden. Das entspricht der Einführung eines gemeinsamen Vorgängerknotens s aller Knoten aus S und Start mit I = s}. Abbruch bei erreichen eines Knotens aus T.) Gibt es keinen solchen Weg P: Beende Algorithmus. 5. Setze X := X V (P) = (X \ V (P)) (V (P) \ X) und gehe zu 2. Laufzeit: O( E 3 ) 4
5 5 Kürzeste Wege Algorithmen 5.1 Dijkstra-Algorithmus Eingabe: Digraph D = (V, A) mit c : A R +, s V (t V ) Ausgabe: Kürzester-Wege-Baum von s zu v V (bzw. (s, t)-weg) durch Vorgängerliste p : V V und entspr. Längen d : V R. Hilfsdaten für jeden Knoten v V : d(v): aktuell beste bekannte Distanz zu s, p(v): Vorgänger (predecessor) von v im aktuell kürzesten s-v-weg, b(v): besucht (wahr oder falsch) 1. Initialisierung: Für alle Knoten v V setze 0 v = s d(v) := sonst,, p(v) := 0, und b(v) := falsch (kein Knoten zählt als besucht). 2. Solange nicht alle Knoten aus v besucht sind, (a) wähle u Argmind(v) v V, b(v) = falsch} und (b) setze b(u) = wahr (u zählt nun als besucht). (c) Für alle v V mit b(v) =falsch, (u, v) A und d(u) + c(u, v) < d(v) setze Laufzeit: maxo( V 2 ), O( E log V )} d(v) := d(u) + c(u, v) und p(v) := u. 5.2 Moore-Bellman Algorithmus Eingabe: Digraph D = (V, A) mit c : A R, s V (t V ) ohne negativen Kreis Ausgabe: Kürzester-Wege-Baum von s zu v V (bzw. (s, t)-weg) durch Vorgängerliste p : V V und entspr. Längen d : V R Solange Suche nach u V und (u, v) A mit d(u)+c(u, v) < d(v) erfolgreich, setze d(v) := d(u) + c(u, v) und p(v) := u 5
6 5.3 Floyd-Algorithmus Eingabe: Digraph D = (V, A), V = 1,..., n} sowie Kantenlängen c : A R ohne negativen Kreis in D Ausgabe: Matrix W = (w ij ) i,j V wobei w ij Länge des kürzesten gerichteten i-j-weges (bzw. für i = j des kürzesten i enthaltenden Kreises) ist, sowie Matrix P = (p ij ) i,j V wobei p ij vorletzter Knoten eines kürzesten (i, j)-weges ist. 1. Initialisierung: Für alle i, j V setze c(i, j) (i, j) A w ij := sonst, i (i, j) A p ij := 2. Für jedes k V tue folgendes: Laufzeit: O( V 3 ) Für jedes i V tue folgendes: Für jedes j V tue folgedes: Falls w ij > w ik + w kj setze w ij := w ik + w kj und p ij := p kj. (Falls i = j und w ij < 0 Fehler: negativer Kreis!) 6
7 6 Flüsse in Netzwerken 6.1 Ford-Fulkerson-Algorithmus Eingabe: Digraph D = (V, A), V = 1,..., n} sowie untere Kantenkapazitäten c : A R obere Kantenkapazitäten c : A R, wobei c(a) c(a) für alle a A gelten möge. Zulässiger Fluss x : A R, wobei zulässig bedeutet: v V \ s, t} : x(u, v) = x(v, u) und Ausgabe: a A : (u,v) A Zulässiger Fluss x maximaler Kapazität (v,u) A c(a) x(a) c(a). (s,v) A x(s, v) Menge W V mit s W und t V \ W sodass x(u, v) (u,v) A (W (V \W)) minimal ist (minimaler Schnitt). Hilfsdaten wie bei Baumsuche (u,v) A ((V \W) W) (v,s) A x(u, v) U: Menge von Knoten außerhalb des bisher abgesuchten Baumes I: Menge der Knoten in Bearbeitung v: Aktueller Knoten w: unbearbeiteter Nachbar p v : Vorgängerknoten auf Verbesserungsweg x(v, s). ε v : Bestmögliche Verbesserung auf letzter Kante (negativ: letzte Kante ging von v aus) 7
8 Wiederhole 1. Baue gerichteten Baum für von s mit augmentierenden Wegen erreichbare Knoten auf (Baumsuche) (a) Initialisierung Baumsuche: Setze p v := 0 für alle v V, wähle I = s} und setze U := V \ I sowie ε s :=. (b) Solange noch Knoten in I existieren und t / I, i. wähle v I ii. Falls U einen Knoten w enthält mit (v, w) A und ε := c(v, w) x(v, w) > 0 (ausgehende Kante zu w mit Platz nach oben) oder (w, v) A und ε := c(w, v) x(w, v) < 0 (von w eingehende Kante mit Platz nach unten), dann wähle einen solchen Knoten w und setze U := U \ w}, I := I w}, p w := v und Ansonsten setze I := I \ v. ε w := signum(ε) min ε v, ε } 2. Ist t / U so verbessere den Fluß entlang des im Baum gefundenen s-t-weges: (a) Setze ε := ε(t) (b) Setze v := t (c) Wiederhole i. Setze u := p v ii. Falls ε v > 0 setze x(u, v) := x(u, v) + ε ansonsten setze x(v, u) := x(v, u) ε iii. Setze v = u. bis u = s. bis t U, also bis im erzeugten Baum kein Weg mehr nach t führt. Laufzeit: O( E 2 V ), wenn I als Warteschlange organisiert. 8
9 6.2 Erzeugung eines zulässigen Flusses Eingabe: Digraph D = (V, A), V = 1,..., n} sowie untere Kantenkapazitäten c : A R obere Kantenkapazitäten c : A R, mit c(a) c(a) für alle a A. Ausgabe: Zulässiger Fluss x : A R Hilfsdaten: Hilfsgraph (V, A ), Balance (Verbrauch) b : V R 1. Erweitere Graphen um Zusatzbogen für unbalancierte Knoten bzgl. Fluss c zu Ersatzgraph (V, A ): (a) Setze V := V s, t } und A := A (t, s)}. (b) Für jeden Knoten v V setze b(v) := c(u, v) c(v, u) (u,v) A falls b(v) 0 setze (v,u) A (v, s )} falls b(v) > 0 A := A (Senken vorwärts mit Quelle verbinden), t, v} falls b(v) < 0 (Quellen rückwärts mit Senke verbinden). 2. Führe den Ford-Fulkerson-Algorithmus für Ersatzgraph (V, A ) mit oberen Kantenkapazitäten c c(u, v) (u, v) A, (u, v) = sonst, c(u, v) (u, v) A, unteren Kantenkapazitäten c (u, v) = (u, v) = (t, s), 0 sonst, c (u, v) falls (u, v) A \ (t, s)}, b(u) falls v = s, zulässigem Fluss x(u, v) = b(v) falls u = t, 0 sonst, d.h. falls (u, v) = (t, s), Quelle s und Senke t aus. 3. Falls der Wert des gefundenen Flusses gleich 0 ist, gib ihn eingeschränkt auf G aus, ansonsten gib aus, dass kein zuläsiger Fluss existiert. 9
4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
Minimal 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
Laufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.
Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.
Algorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
Effiziente Algorithmen I
9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der
Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.
Gegeben sei ein Netzwerk N = (V, A, c, s, t) wie in der Vorlesung. Ein maximaler s-t-fluss kann immer mit Hilfe einer Folge von höchstens A Augmentationsschritten gefunden werden. Wendet man den Dijkstra-Algorithmus
8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.
8.4 Digraphen mit negativen Kantengewichten 8.4.1 Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0. k 4 5 1 s 1 3 2 C k 0 k 3 1 1 1 k 1 k 2 v Sollte ein Pfad von s nach C und
Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen
Wiederholung Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl unabhängig von Subproblemen Optimalität der Subprobleme Beispiele für optimale Greedy-Lösungen Scheduling Problem
Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler
Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler 1 Matroide 1.1 Definitionen und Beispiele 1. Definition (Unabhängigkeitssystem): Ein Mengensystem
Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.
Operations Research Rainer Schrader Flüsse in Netzwerken Zentrum für Angewandte Informatik Köln 2. Juli 2007 1 / 53 2 / 53 Flüsse in Netzwerken Unimodularität Gliederung Netzwerke und Flüsse bipartite
11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm ([email protected]) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
Kap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47
Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford
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
1.Aufgabe: Minimal aufspannender Baum
1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus
Aufgabe 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.
Teil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
Durchschnitt von Matroiden
Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt
ij. , d (k 1) + d (k 1)
Dabei war ja die Idee, dass wir unser k Schritt für Schritt erhöhen bis wir bei n angekommen sind, denn dann haben wir das Problem gelöst. Dies ist im Grunde unser Algorithmus. Wir müssen diesen nur noch
Kap. 6.6: Kürzeste Wege
0.0.00 Nachtest für Ausnahmefälle Kap..: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund./. VO DAP SS 00./. Juli 00 Di. Juli 00, :00 Uhr, OH, R.
Wie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
4. 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
3.6 Branch-and-Bound-Verfahren
36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von
6 Flüsse und Matchings
6. Flüsse in Netzwerken Flußnetzwerke 6 Flüsse und Matchings In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert werden
2. Das single-source-shortest-path-problem
. Das single-source-shortest-path-problem Zunächst nehmen wir an, dass d 0 ist. Alle kürzesten Pfade von a nach b sind o.b.d.a. einfache Pfade.. Dijkstra s Algorithmus Gegeben: G = (V, A), (A = V V ),
Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt 22.11.2018 Heute 12 Breiten-
15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
Kürzeste Wege. Ein Startknoten, nichtnegative Gewichte
Kürzeste Wege Gegeben ein Digraph D = (V, A) mit Bogengewichten c(a). Aufgabe: Finde einen Weg W von einem Knoten zu allen anderen oder zu einem bestimmten mit c(w) minimal. Problem: negative Gewichte
6. Flüsse und Zuordnungen
6. Flüsse und Zuordnungen Flußnetzwerke 6. Flüsse und Zuordnungen In diesem Kapitel werden Bewertungen von Kanten als maximale Kapazitäten interpretiert, die über diese Kante pro Zeiteinheit transportiert
Algorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
Berechnung von Abständen
3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.
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
Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.
Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine
Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
Flüsse in Netzwerken
Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss
Graphalgorithmen Netzwerkalgorithmen. Laufzeit
Netzwerkalgorithmen Laufzeit (Folie 390, Seite 78 im Skript) Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{
Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS 2012/2013 Prof. Dr. P. Gritzmann 22.
Note: Name Vorname Matrikelnummer Studiengang Unterschrift der Kandidatin/des Kandidaten Hörsaal Reihe Platz Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie
Name:... Vorname:... Matr.-Nr.:... Studiengang:...
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Netzwerkalgorithmen 16.07.2013 Name:.....................................
5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013
12. Graphen Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen Graphen Graphenalgorithmen 2
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Klausur zum Modul Einführung in die Diskrete Mathematik
Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und
Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
1 Kürzeste Pfade in Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G
Kürzeste (billigste) Wege
Kürzeste (billigste) Wege 1. Kürzeste (billigste) Wege Gerichteter Graph G = (V, E) Kostenfunktion c : E R 1 2 1 3 3 2 4 4 2 6 6 5 3 2 Entfernung zwischen zwei Knoten Kosten eines Wegs P = v 0, v 1,...,
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
12. Der Algorithmus von Dijkstra. Informatik II für Verkehrsingenieure
. Der Algorithmus von Dijkstra Informatik II für Verkehrsingenieure Problemstellung Gegeben: Graph G =(V, E, len) mit positiver Kantenfunktion len : E! R 0, Knoten s, t V Mögliche Aufgaben Berechne Distanz
Klausurvorbereitung. 1 Zentrale Begriffe. 2 Bipartite Graphen. 2.1 Begriffe. Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S.
Vorlesung Graphen und Optimierung Sommersemester 2011 Prof. S. Lange Klausurvorbereitung Hier finden Sie alle Begriffe, Zusammenhänge und Algorithmen, die mit Blick auf die Klausur relevant sind. Um es
6. Ü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
Übungsblatt 2 - Lösung
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer
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
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht
Flüsse und Schnitte von Graphen
Flüsse und Schnitte von Graphen Christian Koch Friedrich-Alexander-Universität Erlangen-Nürnberg 2. Juni 27 Christian Koch Flüsse und Schnitte 2. Juni 27 / 29 Gliederung Flüsse Allgemeines Maximaler Fluss
Diskrete 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
Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14. Mai
Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
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
Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien
Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009
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
9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
Der Branching-Operator B
Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte
Kürzeste Wege in einem gewichteten Graphen. Anwendungen
Kürzeste Wege in einem gewichteten Graphen Dazu werden die Gewichte als Weglängen interpretiert. Der kürzeste Weg zwischen zwei Knoten in einem zusammenhängenden Graphen ist derjenige, bei dem die Summe
Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin
Departement Mathematik und Informatik Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin 20. April 2017 Graphenalgorithmen III Robert Floyd Algorithmen und Datenstrukturen, FS17 20. April
VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz
VU Algorithmen auf Graphen Übungsblatt 2 - Aufgabe 2 Transformation einer MaxFlow- in eine MinCost Circulation Instanz Gruppe A: Bernhard Stader, Georg Ziegler, Andreas Zugaj 10. November 2004 Inhaltsverzeichnis
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:
1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
. Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
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
Bipartite Graphen. Beispiele
Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten
Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse
Betriebswirtschaftliche Optimierung
Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph
2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
Algorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,
Datenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
Betriebliche Optimierung
Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf
Datenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
Algorithmen 1 Tutorium
Algorithmen 1 Tutorium Tutorium 13 Misch Sadler 18. Juli 2011 INHALT: VIELES Übersicht 1 Dynamische Programmierung 2 Wiederholung 3 Klausuraufgaben 4 Ende Misch Sadler Algo 1 Tut 18. Juli 2011 2/21 Übersicht
Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
Algorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,
Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 25. Oktober 2007 1 / 20 2 / 20 Wir werden Optimierungsprobleme vom folgenden Typ betrachten: gegeben eine Menge X und eine Funktion
