16. All Pairs Shortest Path (ASPS)

Größe: px
Ab Seite anzeigen:

Download "16. All Pairs Shortest Path (ASPS)"

Transkript

1 . 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 f a b c -3 0 d a b - d 8 c e 7 - f e f 0. All Pairs Shortest Path

2 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 f a b c -3 0 d a b - d 8 c e 7 - f e f 0. All Pairs Shortest Path

3 Eingabe APSP: Matrix W=(w ), die Graph repräsentiert ij w = ij All Pairs Shortest Path 0, wenn i=j Gewicht der ger. Kante (i,j), wenn i j und (i,j) E, wenn i j und (i,j) E a b c d e f a 0 b 0 b c 0 7 d - 0 e f 0 a - d 8 c e 7 - f. All Pairs Shortest Path 3

4 Eingabe APSP: Matrix W=(w ), die Graph repräsentiert ij w = ij All Pairs Shortest Path 0, wenn i=j Gewicht der ger. Kante (i,j), wenn i j und (i,j) E, wenn i j und (i,j) E a b c d e f a 0 b 0 b c 0 7 d - 0 e f 0 a - d 8 c e 7 - f. All Pairs Shortest Path

5 Eingabe APSP: Matrix W=(w ), die Graph repräsentiert ij w = ij All Pairs Shortest Path Annahme: Keine negativen Zyklen! 0, wenn i=j Gewicht der ger. Kante (i,j), wenn i j und (i,j) E, wenn i j und (i,j) E a b c d e f a 0 b 0 b c 0 7 d - 0 e f 0 a - d 8 c e 7 - f. All Pairs Shortest Path

6 Nummeriere Knoten von bis n= V Betrachte kürzeste i-j-wege, die nur über Knoten bis k laufen k= All Pairs Shortest Path

7 Nummeriere Knoten von bis n= V Betrachte kürzeste i-j-wege, die nur über Knoten bis k laufen k= All Pairs Shortest Path 7

8 Zur Erinnerung: All Pairs Shortest Path Sei G ein Graph ohne negative Zyklen und sei j von i aus erreichbar. Dann gibt es einen kürzesten i-j-weg, der keinen Knoten doppelt benutzt. Wir können also annehmen, dass jeder Knoten in jedem Weg maximal einmal vorkommt Betrachte i-j-weg, der nur über Knoten aus {,,k} läuft: k i j. All Pairs Shortest Path 8

9 Zur Erinnerung: All Pairs Shortest Path Sei G ein Graph ohne negative Zyklen und sei j von i aus erreichbar. Dann gibt es einen kürzesten i-j-weg, der keinen Knoten doppelt benutzt. Wir können also annehmen, dass jeder Knoten in jedem Weg maximal einmal vorkommt Betrachte i-j-weg, der nur über Knoten aus {,,k} läuft: k Knoten k tritt maximal einmal auf i j. All Pairs Shortest Path 9

10 Zur Erinnerung: All Pairs Shortest Path Sei G ein Graph ohne negative Zyklen und sei j von i aus erreichbar. Dann gibt es einen kürzesten i-j-weg, der keinen Knoten doppelt benutzt. Wir können also annehmen, dass jeder Knoten in jedem Weg maximal einmal vorkommt Betrachte i-j-weg, der nur über Knoten aus {,,k} läuft: Weg von u nach k führt nur über Knoten aus {,,k-} k i j. All Pairs Shortest Path 0

11 Zur Erinnerung: All Pairs Shortest Path Sei G ein Graph ohne negative Zyklen und sei j von i aus erreichbar. Dann gibt es einen kürzesten i-j-weg, der keinen Knoten doppelt benutzt. Wir können also annehmen, dass jeder Knoten in jedem Weg maximal einmal vorkommt Betrachte i-j-weg, der nur über Knoten aus {,,k} läuft: Weg von k nach v führt nur über Knoten aus {,,k-} k i j. All Pairs Shortest Path

12 Kürzester i-j-weg über Knoten aus {,,k} ist (a) kürzester i-j-weg über Knoten aus {,,k-} oder (b) kürzester i-k-weg über Knoten aus {,,k-} gefolgt von kürzestem k-j-weg über Knoten aus {,,k-} Fall (b): k i j. All Pairs Shortest Path

13 (k) Sei d ij die Länge eines kürzesten i-j-wegs mit Knoten aus {,,k} (k) d = ij w ij, falls k=0 (k-) (k-) (k-) min ( d, d + d ), falls k ij ik kj (n) (n) ij Matrix D =(d ) enthält die gesuchte Lösung. All Pairs Shortest Path 3

14 Floyd-Warshall(W,n) (0). D W. for k to n do 3. for i to n do. for j to n do. d min(d ij, d ik + d kj ). return D ij (n) (k) (k-) (k-) (k-). All Pairs Shortest Path

15 D (0) 0 D () 3 3. All Pairs Shortest Path

16 D (0) 0 D () All Pairs Shortest Path

17 D (0) 0 D () All Pairs Shortest Path 7

18 D (0) 0 D () All Pairs Shortest Path 8

19 D (0) 0 D () All Pairs Shortest Path 9

20 D (0) 0 D () All Pairs Shortest Path 0

21 D (0) 0 D () All Pairs Shortest Path

22 D () 0 D () All Pairs Shortest Path

23 D () 0 D () All Pairs Shortest Path 3

24 D () 0 D () All Pairs Shortest Path

25 D () 0 D () All Pairs Shortest Path

26 D () 0 D () All Pairs Shortest Path

27 D () 0 D () All Pairs Shortest Path 7

28 D () 0 D () All Pairs Shortest Path 8

29 D () 0 D (3) All Pairs Shortest Path 9

30 D () 0 D (3) All Pairs Shortest Path 30

31 D () 0 D (3) All Pairs Shortest Path 3

32 D () 0 D (3) All Pairs Shortest Path 3

33 D () 0 D (3) All Pairs Shortest Path 33

34 D () 0 D (3) All Pairs Shortest Path 3

35 D (3) 0 D () All Pairs Shortest Path 3

36 D (3) 0 D () All Pairs Shortest Path 3

37 D (3) 0 D () All Pairs Shortest Path 37

38 D (3) 0 D () All Pairs Shortest Path 38

39 D (3) 0 D () All Pairs Shortest Path 39

40 D (3) 0 D () All Pairs Shortest Path 0

41 D () 0 D () All Pairs Shortest Path

42 D () 0 D () All Pairs Shortest Path

43 D () 0 D () All Pairs Shortest Path 3

44 D () 0 D () All Pairs Shortest Path

45 D () 0 D () All Pairs Shortest Path

46 D () 0 D () All Pairs Shortest Path

47 D () 0 D () All Pairs Shortest Path 7

48 D () 0 D () All Pairs Shortest Path 8

49 Satz.: Sei G=(V,E) ein Graph mit nicht-negativen Zyklen. Dann berechnet der Algorithmus von Floyd-Warshall die Entfernung zwischen jedem Knotenpaar in O( V ³) Zeit.. All Pairs Shortest Path 9

50 Aufrechterhalten der kürzesten Wege: Konstruiere Vorgängermatrix Π Dazu konstruiere Sequenz Π,, Π mit Π = Π (k) Π ist Vorgängermatrix zu D (k) π ij ist Vorgänger von Knoten j auf dem kürzesten Weg von Knoten i über Knoten aus {,,k} Die Startmatrix: () (n) (n) (k) (0) π ij = nil, falls i=j oder w ij = i, falls i j und w < ij. All Pairs Shortest Path 0

51 Aufrechterhalten der kürzesten Wege: Konstruiere Vorgängermatrix Π Dazu konstruiere Sequenz Π,, Π mit Π = Π (k) Π ist Vorgängermatrix zu D (k) π ij ist Vorgänger von Knoten j auf dem kürzesten Weg von Knoten i über Knoten aus {,,k} Das Aktualisieren: (k) π ij = π π (k-) ij (k-) kj (k-) () (n) (n) (k), falls d d + d ij, falls d > d + d ij (k-) (k-) ik (k-) ik (k-) kj (k-) kj. All Pairs Shortest Path

52 Teile & Herrsche: Divide & Conquer Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen Probleme: Wie setzt man zusammen? [erfordert algorithmisches Geschick und Übung] Laufzeitanalyse (Auflösen der Rekursion) [ist normalerweise nach Standardschema; erfordert ebenfalls Übung] 7. Divide & Conquer

53 Divide & Conquer Teile & Herrsche: Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen Algorithmen: Merge Sort Quick Sort 7. Divide & Conquer 3

54 Matrix Multiplikation = 7. Divide & Conquer

55 Matrix Multiplikation = Zeile Spalte: = 9 7. Divide & Conquer

56 Matrix Multiplikation = Zeile Spalte: = 9 7. Divide & Conquer

57 Matrix Multiplikation = Zeile Spalte: = 0 7. Divide & Conquer 7

58 Matrix Multiplikation = 7. Divide & Conquer 8

59 Matrix Multiplikation = 7. Divide & Conquer 9

60 Matrix Multiplikation = 7. Divide & Conquer 0

61 Matrix Multiplikation = 7. Divide & Conquer

62 Matrix Multiplikation = 7. Divide & Conquer

63 Matrix Multiplikation Problem: Berechne das Produkt zweier n n Matrizen Eingabe: Matrizen X,Y Ausgabe: Matrix Z = X Y X x, x, x,3 x, x, x, x,3 x, = x3, x3, x3,3 x3, x, x, x,3 x,, Y y y = y y,, 3, y y y y,, 3, y y y y,3,3 3,3 y y y y,, 3,,,,3, 7. Divide & Conquer 3

64 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer

65 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer

66 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer

67 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

68 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 8

69 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 9

70 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 70

71 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n). new array Z[,..,n][,..,n]. for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

72 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

73 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do. Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 73

74 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0. for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

75 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0 Θ(n²). for k to n do. Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

76 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0 Θ(n²). for k to n do Θ(n³). Z[i][j] Z[i][j] + X[i][k] Y[k][j] 7. return Z 7. Divide & Conquer 7

77 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0 Θ(n²). for k to n do Θ(n³). Z[i][j] Z[i][j] + X[i][k] Y[k][j] Θ(n 3 ) 7. return Z 7. Divide & Conquer 77

78 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0 Θ(n²). for k to n do Θ(n³). Z[i][j] Z[i][j] + X[i][k] Y[k][j] Θ(n 3 ) 7. return Z Θ() 7. Divide & Conquer 78

79 Matrix Multiplikation MatrixMultiplikation(Array X, Y, n) Laufzeit:. new array Z[,..,n][,..,n] Θ(n²). for i to n do Θ(n) 3. for j to n do Θ(n²). Z[i][j] 0 Θ(n²). for k to n do Θ(n³). Z[i][j] Z[i][j] + X[i][k] Y[k][j] Θ(n 3 ) 7. return Z Θ() Θ(n³) 7. Divide & Conquer 79

80 Teile und Herrsche: Matrix Multiplikation A C B E D G F H = AE + BG AF + CE+ DG CF+ BH DH Aufwand: 8 Multiplikationen von n/ n/ Matrizen Additionen von n/ n/ Matrizen 7. Divide & Conquer 80

81 Teile und Herrsche: Matrix Multiplikation A C B E D G F H = AE + BG AF + CE+ DG CF+ BH DH Aufwand: 8 Multiplikationen von n/ n/ Matrizen Additionen von n/ n/ Matrizen Laufzeit: T(n) = 8 T(n/) + Θ(n²) 7. Divide & Conquer 8

82 Laufzeit: T(n) = 8 T(n/) + k n² a b f(n) Master Theorem: f(n) = k n² Matrix Multiplikation 7. Divide & Conquer 8

83 Laufzeit: T(n) = 8 T(n/) + k n² a b f(n) Master Theorem: f(n) = k n² Matrix Multiplikation log a Fall : Laufzeit Θ(n b ) = Θ(n³) 7. Divide & Conquer 83

84 Laufzeit: T(n) = 8 T(n/) + k n² a b f(n) Master Theorem: f(n) = k n² Matrix Multiplikation log a Fall : Laufzeit Θ(n b ) = Θ(n³) Formaler Beweis durch Induktion!! 7. Divide & Conquer 8

85 Laufzeit: T(n) = 8 T(n/) + k n² a b f(n) Master Theorem: f(n) = k n² Matrix Multiplikation log a Fall : Laufzeit Θ(n b ) = Θ(n³) Formaler Beweis durch Induktion!! Nicht besser als einfacher Algorithmus 7. Divide & Conquer 8

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

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

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

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

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

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

Mehr

Das Briefträgerproblem

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

Mehr

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

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

Mehr

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

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

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

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

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(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

Mehr

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

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

Mehr

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

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

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

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

Mehr

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

Schulmethode zur Multiplikation von n-stelligen Binärzahlen a und b: (evtl. fallen Zeilen weg, wenn das zugehörige Bit des Multiplikators 0 ist). 4-1 4. Algorithmen auf Zahlen Themen: Multiplikation von binären Zahlen Matrixmultiplikation 4.1 Multiplikation ganzer Zahlen Schulmethode zur Multiplikation von n-stelligen Binärzahlen a und b: n=8: aaaaaaaa

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

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

Am 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

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises

Mehr

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

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

Mehr

Algorithmen und Datenstrukturen 2

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

Mehr

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2

Inhaltsverzeichnis. - Kurzer Überblick Seite ) Einleitung Seite ) Vorbereitungen Seite 2. - ungewichtete und ungerichtete Graphen Seite 2 Inhaltsverzeichnis - Kurzer Überblick Seite 1-1) Einleitung Seite 1-2) Vorbereitungen Seite 2 - ungewichtete und ungerichtete Graphen Seite 2 - Erweiterung für gerichtete Graphen Seite 8-3) a) Abschätzung

Mehr

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

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

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

2. Repräsentationen von Graphen in Computern

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

Mehr

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

Single 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

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

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.

Mehr

Teile und Herrsche Teil 2

Teile und Herrsche Teil 2 Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik

Mehr

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung

SS11 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

Mehr

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5

Mehr

Datenstrukturen & Algorithmen

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

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

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

Mehr

Effiziente Algorithmen und Datenstrukturen: Kürzeste Wege

Effiziente 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

Mehr

Algorithmen II Vorlesung am

Algorithmen 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

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle 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

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

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

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Uebersicht Administratives Einleitung Ein einführendes Beispiel Matthias Zwicker Universität Bern Frühling 2010 2 Administratives Dozent Prof. Zwicker, zwicker@iam.unibe.ch

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

2 Lösungen "Peptide de novo Sequencing"

2 Lösungen Peptide de novo Sequencing Lösungen "Peptide de novo Sequencing". Algorithm : PeptideSequencingOnlySux Input: a spectrum M with array of masses M = {m, m,, m n }, Σ, µ : Σ R >0 Output: the peptide string of the spectrum begin peptide

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

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

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

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

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Martin Hofmann Sommersemester 2009 1 Überblick über die Vorlesung Was sind Algorithmen, wieso Algorithmen? Ein Algorithmus ist eine genau festgelegte Berechnungsvorschrift,

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

8 Diskrete Optimierung

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

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

5.4 Das Rucksackproblem

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

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Massive Parallelität : Neuronale Netze

Massive Parallelität : Neuronale Netze Massive Parallelität : Neuronale Netze PI2 Sommer-Semester 2005 Hans-Dieter Burkhard Massive Parallelität : Neuronale Netze Knoten: Neuronen Neuronen können erregt ( aktiviert ) sein Kanten: Übertragung

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

3. Musterlösung. Problem 1: Boruvka MST

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

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

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

Mehr

Konzepte der Informatik

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

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Rekurrenzen T(n) = T(n 1) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus

Rekurrenzen T(n) = T(n 1) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus Algorithmen und Datenstrukturen Übung Rekurrenzen T(n) = T(n ) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus Bsp. Fibunacci F(n) = F(n ) + F(n ) N F(0) = F() = F(N) rekursive Aufrufe,8

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

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

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/32 Datenstrukturen und Algorithmen Vorlesung 7: Sortieren (K2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

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

Mehr

Übungsblatt 2 - Lösung

Ü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

Mehr

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar 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

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Algorithmische Bioinformatik I

Algorithmische Bioinformatik I Ludwig-Maximilians-Universität Münhen Institut für Informatik Prof. Dr. Volker Heun Sommersemester 2016 Wiederholungsklausur 19. Oktoer 2016 Algorithmishe Bioinformatik I Vorname Name Matrikelnummer Reihe

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen Musterlösung zu Hausübungsblatt Daniel Warner 8. Mai 007 Aufgabe 5 Nachfolgend ist der Algorithmus Merge-Sort im Pseudocode dargestellt []. Merge-Sort(A, p, r) 1 if p

Mehr

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

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

Mehr

Übungsklausur Algorithmen I

Übungsklausur Algorithmen I Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

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

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

Mehr

2. Übungsblatt zu Algorithmen II im WS 2016/2017

2. Ü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

Mehr

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen

Mehr

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

4 Effizienz und Komplexität 3.1 1

4 Effizienz und Komplexität 3.1 1 4 Effizienz und Komplexität 3.1 1 Effizienz (efficiency): auf den Ressourcen-Verbrauch bezogene Programmeigenschaft: hohe Effizienz bedeutet geringen Aufwand an Ressourcen. Typische Beispiele: Speichereffizienz

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 30. November 2011 Wiederholung Baumzerlegung G = (V, E) Eine Baumzerlegung von G ist ein Paar {X i i V T }, T, wobei T Baum mit Knotenmenge

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen

Mehr

Das disjunktive Graphenmodell für Shop-Probleme

Das disjunktive Graphenmodell für Shop-Probleme Das disjunktive Graphenmodell für Shop-Probleme Definition 1: Ein disjunktiver Graph ist ein Graph G =(V, E) mit V = {(i, j) (i, j) SIJ} {q} {s} Die Knotenmenge ist die Menge der Operationen zuzüglich

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

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

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

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Suchen in Datenmengen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Flüsse, Schnitte, Bipartite Graphen II

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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)

Mehr

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: 7 8 9 10 Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( )

Algorithmik Übung 3 Prof. Dr. Heiner Klocke. Sortierfolge nach Werten: 7 8 9 10 Bube Dame König As nach Farben: Karo ( ) Herz ( ) Piek ( ) Kreuz ( ) Algorithmi Übung 3 Prof. Dr. Heiner Kloce Winter 11/12 16.10.2011 Divide&Conquer- Algorithmen lassen sich gut als reursive Algorithmen darstellen. Das Prinzip eines reursiven Algorithmus beruht darauf,

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr