11. Übung Algorithmen I
|
|
- Theodor Diefenbach
- vor 6 Jahren
- Abrufe
Transkript
1 Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische Informatik
2 Organisatorisches Klausuranmeldung bis einschließlich.7.3 Erlaubte Hilfsmittel für die Klausur: blauer oder schwarzer Stift DIN-A4 Blatt (beidseitig) handbeschrieben für die Identifikation: Studentenausweis Timo Bingmann, Christian Schulz
3 Inhalt Lineare Programmierung Dynamische Programmierung Faltungscodes und der Viterbi-Algorithmus 3 Timo Bingmann, Christian Schulz
4 Lineare Programmierung. Teil 4 Timo Bingmann, Christian Schulz
5 Beispiel: Süßwarenfabrik Matrixform maximiere unter 50 x A + 70 x B x A kg x B 70 kg 0,8 x A + 0,7 x B kg 0,06 x A + 0, x B 5 kg x 0 oder: ( ) t 0 kg 50 max x 70 x R, x 0, 0 0,8 0,7 x 70 kg kg 0,06 0, 5 kg (Eine) allgemeine Matrixform: max{c t x x R n, x 0, Ax b} mit A R m n, b R m, c R n. 5 Timo Bingmann, Christian Schulz
6 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R +. max{f (x) x R V, x 0,...} oder max{f (x) x R E, x 0,...} 6 Timo Bingmann, Christian Schulz
7 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R +. max{f (x) x R V, x 0,...} oder max{f (x) x R E, x 0,...} Kürzeste Wege: { } max d v d R V, d s = 0, d w d v + c(v, w) (v, w) E v V 6 Timo Bingmann, Christian Schulz
8 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R +. s 0 3 max{f (x) x R V, x 0,...} oder max{f (x) x R E, x 0,...} Kürzeste Wege: { } max d v d R V, d s = 0, d w d v + c(v, w) (v, w) E v V 6 Timo Bingmann, Christian Schulz
9 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R s 0 3 max{f (x) x R V, x 0,...} oder max{f (x) x R E, x 0,...} Kürzeste Wege: { } max d v d R V, d s = 0, d w d v + c(v, w) (v, w) E v V 6 Timo Bingmann, Christian Schulz
10 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c : E R +. { } min c(e)x e x R E, x 0,... e E 7 Timo Bingmann, Christian Schulz
11 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c (R + ) E. min ct x x R E, x 0, 8 Timo Bingmann, Christian Schulz
12 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c (R + ) E. min ct x x R E, x 0, x e = V, e E 8 Timo Bingmann, Christian Schulz
13 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c (R + ) E. min ct x x R E, x 0, x e = V, e E A V A : e E(G[A]) x e A wobei A über alle nicht-leere Knotenteilmengen läuft und E(G[A]) alle Kanten mit Endknoten in A sind. 8 Timo Bingmann, Christian Schulz
14 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c (R + ) E. min ct x x R E, x 0, x e = V, e E A V A : e E(G[A]) x e A wobei A über alle nicht-leere Knotenteilmengen läuft und E(G[A]) alle Kanten mit Endknoten in A sind. 8 Timo Bingmann, Christian Schulz
15 Dynamisches Programmieren 9 Timo Bingmann, Christian Schulz
16 Algorithmus Entwurfsprinzip: dynamische Programmierung Aufbau von Lösungen aus Bausteinen Optimalitätsprinzip: Optimale Lösungen bestehen aus optimalen Lösungen für Teilprobleme Mehrere optimale Lösungen es ist egal welche benutzt wird Timo Bingmann, Christian Schulz
17 Fibonacci-Zahlen Beispiel: f (n) = f (n ) + f (n ), f () =, f (0) = Rekursiver Ansatz? : procedure fib(n N) : if n {0, } then return 3: else return fib(n ) + fib(n ) 4: return Problem: Mehrfachberechnung von Lösungen f (5) = f (4) + f (3) f (5) = f (3) + f () + f () + f () Timo Bingmann, Christian Schulz
18 Fibonacci-Zahlen Beispiel: f (n) = f (n ) + f (n ), f () =, f (0) = Baue f (n) aus Teillösungen Bottom-Up zusammen Merke Zwischenlösungen (z.b. in Tabelle) Function fib(n of N) : f := Array <,, 0,..., 0 > for j := 3 to n do f [j] = f [j ] + f [j ] return f [n] // array of size n Timo Bingmann, Christian Schulz
19 Largest One Submatrix Problem: Gegeben eine m n Matrix über {0, }, finde die größte quadratische Teilmatrix, die nur aus en besteht Timo Bingmann, Christian Schulz
20 Largest One Submatrix Problem: Gegeben eine m n Matrix über {0, }, finde die größte quadratische Teilmatrix, die nur aus en besteht Timo Bingmann, Christian Schulz
21 Largest One Submatrix Teilproblemstruktur: Verwende Lösungen der Teilmatrizen und baue so Gesamtlösung auf Matrix M {0, } m n Zusätzliche Matrix S N m n initialisiert mit 0 M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + 4 Timo Bingmann, Christian Schulz
22 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] 5 Timo Bingmann, Christian Schulz
23 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen 5 Timo Bingmann, Christian Schulz
24 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen 5 Timo Bingmann, Christian Schulz
25 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen 5 Timo Bingmann, Christian Schulz
26 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen 5 Timo Bingmann, Christian Schulz
27 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen S fertig 5 Timo Bingmann, Christian Schulz
28 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen S fertig 5 Timo Bingmann, Christian Schulz
29 Largest One Submatrix M = S = M[i][j] == 0 :S[i][j] = 0 M[i][j] == :S[i][j] = min(s[i][j ], S[i ][j], S[i ][j ]) + initialisiere S: S[0][ ] := M[0][ ], S[ ][0] := M[ ][0] Lösung iterativ durch bekannte Teillösungen aufbauen S fertig 5 Timo Bingmann, Christian Schulz
30 Largest One Submatrix Code Function largest_square_submatrix(m[m, n] of Matrix) : N S :=Matrix // solution matrix S[0][ ] := M[0][ ] // one for loop S[ ][0] := M[ ][0] // one for loop for i := to m do for j := to n do if M[i][j] == then S[i][j] := min(s[i][j ], S[i ][j], S[i ][j ]) + else S[i][j] := 0 return max i,j S[i][j] // two for loops Komplexität: O(mn) = O(#Matrixelemente) 6 Timo Bingmann, Christian Schulz
31 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. Trivialer Algorithmus in O ( n ),, 3, 4,,,, 5, 4 berechne die Summe aller Teilarrays (zwei For-Schleifen) Besser: dynamische Programmierung verwenden O(n) 7 Timo Bingmann, Christian Schulz
32 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe.,, 3, 4,,,, 5, 4 Besser: dynamische Programmierung verwenden O(n) Algorithmus: scanne einmal über das Array: Function largest_cont_subseq(a Array of N) : Z overall_max=a[0] : N; cur_max=a[0] : N; for i := to size(a) do cur_max = max(a[i], cur_max + A[i]); overall_max = max(overall_max, cur_max); return overall_max 7 Timo Bingmann, Christian Schulz
33 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. original: -,, -3, 4, -,,, -5, 4 cur_max: -,, -, 4, 3, 5, 6,, 5 8 Timo Bingmann, Christian Schulz
34 Maximum Submatrix Problem Problem: Gegeben eine n n Matrix M über Z, finde die Teilmatrix, die die größte Summe hat. Summe=Max! Brute-Force: alle Teilmatrizen ( ausrechnen pro Teilmatrix O n ) Zeit ( O n 4) Teilmatrizen 3 insgesamt O (n 6) 9 Timo Bingmann, Christian Schulz
35 Maximum Submatrix Problem Problem: Gegeben eine n n Matrix M über Z, finde die Teilmatrix, die die größte Summe hat. Summe=Max! Summe S_i,j Besser: Dinge vorberechnen errechne Matrix S: S i,j = Elemente links-oberhalb von M i,j einschließlich der Zeile i und Spalte j 0 Timo Bingmann, Christian Schulz
36 Maximum Submatrix Problem Problem: Gegeben eine n n Matrix M über Z, finde die Teilmatrix, die die größte Summe hat. A B Summe=Max! C D E Besser: Dinge vorberechnen errechne Matrix S: S i,j = Elemente links-oberhalb von M i,j einschließlich der Zeile i und Spalte j pro Teilmatrix O() Zeit, insgesamt O (n 4) 0 Timo Bingmann, Christian Schulz
37 Maximum Submatrix Problem Summe=Max! Noch besser: Dinge vorberechen + Dynamische Programmierung Prefixsummen der Spalten von M in Matrix S speichern S i,j = il= M l,j Timo Bingmann, Christian Schulz
38 Maximum Submatrix Problem i K Summe=Max! j A Summe Noch besser: Dinge vorberechen + Dynamische Programmierung Prefixsummen der Spalten von M in Matrix S speichern S i,j = il= M l,j probiere alle Zeilenpaare i < j pro Zeilenpaar berechene Array A[,..., n] A[K ] = j l=i M l,k = S j,k S i,k Timo Bingmann, Christian Schulz
39 Maximum Submatrix Problem i K Summe=Max! j A Summe Noch besser: Dinge vorberechen + Dynamische Programmierung Prefixsummen der Spalten von M in Matrix S speichern S i,j = il= M l,j probiere alle Zeilenpaare i < j pro Zeilenpaar berechene Array A[,..., n] A[K ] = j l=i M l,k = S j,k S i,k 3 auf A Maximum Subarray Problem lösen Timo Bingmann, Christian Schulz
40 Maximum Submatrix Problem i K Summe=Max! j A Summe Noch besser: Dinge vorberechen + Dynamische Programmierung Prefixsummen der Spalten von M in Matrix S speichern O ( n ) Zeit probiere alle Zeilenpaare i < j O ( n ) viele Zeilenpaare pro Zeilenpaar O(n) 3 insgesamt O (n 3) Timo Bingmann, Christian Schulz
41 Faltungscodes und der Viterbi-Algorithmus 80. WLAN Timo Bingmann, Christian Schulz
42 Ein Faltungscode als Schieberegister I s Output A Output B I s Input I s s s I s Output C 3 Timo Bingmann, Christian Schulz
43 Ein Faltungscode als Schieberegister 0 = Output A = Output B 0 Input = Output C Input: Output: 3 Timo Bingmann, Christian Schulz
44 Ein Faltungscode als Schieberegister = Output A 0 = Output B 0 Input = Output C Input: Output: 3 Timo Bingmann, Christian Schulz
45 Ein Faltungscode als Schieberegister = Output A 0 = Output B 0 Input = Output C Input: Output: 3 Timo Bingmann, Christian Schulz
46 Ein Faltungscode als Schieberegister 0 = Output A = Output B Input = Output C Input: Output: 3 Timo Bingmann, Christian Schulz
47 Ein Faltungscode als Schieberegister 0 0 = Output A = Output B 0 Input = Output C Input: 0 Output: 0 3 Timo Bingmann, Christian Schulz
48 Ein Faltungscode als Schieberegister 0 0 = Output A = Output B 0 0 Input = Output C Input: Output: 0 3 Timo Bingmann, Christian Schulz
49 Ein Faltungscode als Schieberegister 0 0 = Output A 0 = Output B 0 Input Input: Output: 0 0 = Output C Redundanz in Übertragung ermöglicht Fehlerkorrektur! 3 Timo Bingmann, Christian Schulz
50 Ein Faltungscode als Schieberegister 0 0 = Output A 0 = Output B 0 Input Das 80.a Schieberegister Input: Output: 0 0 = Output C Output A Redundanz Input s in Übertragung s s ermöglicht 3 s 4 s Fehlerkorrektur! 5 s 6 3 Timo Bingmann, Christian Schulz Output B
51 Ein Faltungscode als Mealy-Automat 0/0 0/ / / 0/ 0/0 / / Legende: Kantenbeschriftung ist Input/Output. 4 Timo Bingmann, Christian Schulz
52 Ein Faltungscode als Trellis t 0 0 t 0 t 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 5 Timo Bingmann, Christian Schulz
53 Ein Faltungscode als Trellis t 0 0 t 0 t 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 5 Timo Bingmann, Christian Schulz
54 Ein Faltungscode als Trellis t 0 0 t 0 t 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 Aber, wie dekodiert man 0? 5 Timo Bingmann, Christian Schulz
55 Faltungscode: Fehlerkorrektur? Dekodiere: 0? Ziel: Finde die Eingabe, deren Kodierung die geringste Hamming-Distanz (Einzelbit-Fehler) zum gelesenen Codewort hat. 6 Timo Bingmann, Christian Schulz
56 Faltungscode: Fehlerkorrektur? Dekodiere: 0? Ziel: Finde die Eingabe, deren Kodierung die geringste Hamming-Distanz (Einzelbit-Fehler) zum gelesenen Codewort hat. Erster Algorithmus: Enumeriere alle gültige Codewörter, berechne Hamming-Distanz und finde so die wahrscheinlichste Eingabe (maximum likelyhood detection). 6 Timo Bingmann, Christian Schulz
57 Dekodiere: 0 Eingabe = Codewort Distanz = = = = = = 0 = = 0 0 = = = 0 8 = 0 8 = = 0 = = Timo Bingmann, Christian Schulz
58 Dekodiere: 0 Eingabe = Codewort Distanz = = = = = = 0 = = 0 0 = = = 0 8 = 0 8 = = 0 = = Timo Bingmann, Christian Schulz
59 Dekodiere im Trellis Dekodiere: 0? t 0 0 t 0 t 0 t 3 0 t 4 0 t 5 0 t Timo Bingmann, Christian Schulz
60 Dekodiere im Trellis Dekodiere: 0? t 0 t t t 3 t 4 3 t 5 t Timo Bingmann, Christian Schulz
61 Dekodiere im Trellis Dekodiere: 0? t 0 t 0 t 3 t 3 5 t t 5 3 t Verwende Bellman-Ford: Timo Bingmann, Christian Schulz
62 Dekodiere im Trellis Dekodiere: 0? t 0 t 0 t 3 t 3 5 t t 5 3 t Verwende Bellman-Ford: kürzester Pfad entspricht. 9 Timo Bingmann, Christian Schulz
63 Der Viterbi-Algorithmus (Pseudocode) t k w[k ][] w[k ][] w[k ][] w[k ][] w[k][z] = t k w[k][] w[k][] w[k][] w[k][] min v Vorgänger(z) Procedure Viterbi(A : Folge, G : Schichtengraph) w[0][z] := 0, pre[0][z] := nil z Zustände(G) foreach k =,..., #Schichten(G) foreach z Zustände(G) Wähle unter allen v Vorgängern(z) denjenigen mit besten Kosten unter w[k ][v], Kante(v, z) und A[k] aus. Setze w[k][z] und pre[k][z]. wobei im Beispiel Zustände(G) = {,,, }, Vorgänger(z) die Vorgängerzustände von z sind und w[k ][v] + Hamming(A[k], Kante(v, z)) 30 Timo Bingmann, Christian Schulz
64 Der Viterbi-Algorithmus Schichten-Graph erlaubt effiziente Implementierung des kürzesten Pfad Algorithmus mit nur einer Variable pro Ebenen im Trellis oder Knoten im Automaten. Der Viterbi-Algorithmus funktioniert auch in allgemeineren Fällen: Wahrscheinlichkeiten statt Distanzen (Logarithmierungstrick) Beste Pfade in Hidden Markov Models (siehe Automaten). 3 Timo Bingmann, Christian Schulz
65 Der Viterbi-Algorithmus Schichten-Graph erlaubt effiziente Implementierung des kürzesten Pfad Algorithmus mit nur einer Variable pro Ebenen im Trellis oder Knoten im Automaten. Der Viterbi-Algorithmus funktioniert auch in allgemeineren Fällen: Wahrscheinlichkeiten statt Distanzen (Logarithmierungstrick) Beste Pfade in Hidden Markov Models (siehe Automaten). Weitere wichtige Optimierung: Da der Faltungscode im Beispiel nur vier Zustände hat und jeder Knoten genau zwei Ausgangskanten hat, gibt von jedem Knoten in Schicht k zu jedem Knoten in Schicht k + 3 mehr als ein Pfad. Bei der Berechnung von Schicht k + 3 steht der kürzeste Teilpfad von Schicht 0 bis k bereits fest. Die entsprechenden Bits können schon ausgegeben werden. 3 Timo Bingmann, Christian Schulz
INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
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
Mehr9. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung
Mehr9. Ü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
Mehr12. Übung Algorithmen I
12. Ü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 12. Übung Algorithmen
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrProgrammierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
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
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)
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
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
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
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung 8 Dirk Achenbach 7. Februar 2013 I NSTITUT FÜR K RYPTOGRAPHIE UND S ICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrKlausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
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
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
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
MehrProbeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrÜbung zu Drahtlose Kommunikation. 9. Übung
Übung zu Drahtlose Kommunikation 9. Übung 07.01.2012 (n,k,k) k -> Eingangsbit (Informationszeichen ist 1 Bit lang) K -> Begrenzungsfaktor (Länge des Schieberegisters ist k*k) n -> Ausgangsbit (für jedes
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
MehrÜbung zu Drahtlose Kommunikation. 7. Übung
Übung zu Drahtlose Kommunikation 7. Übung 03.12.2012 Aufgabe 1 (Cyclic Redundancy Check) Gegeben ist das Generator-Polynom C(x) = x 4 + x 3 + 1 a) Zeichnen Sie die Hardware-Implementation zum obigen Generator-Polynom
Mehr15. 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
MehrDynamische Programmierung
Dynamische Programmierung Julian Brost 11. Juni 2013 Julian Brost Dynamische Programmierung 11. Juni 2013 1 / 39 Gliederung 1 Was ist dynamische Programmierung? Top-Down-DP Bottom-Up-DP 2 Matrix-Kettenmultiplikation
MehrUniversität Hamburg. Fakultät für Mathematik, Informatik und Naturwissenschaften. Abschlussbericht
Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Abschlussbericht 64-174 Seminar Effiziente Programmierung in C Algorithmen Wintersemester 13/14 Verfasser: Marcel Hellwig
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
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!
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
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
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
Mehr7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle
In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =
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
MehrLösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie
Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................
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:
Mehr12.4 Traveling Salesman Problem
96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten
MehrVorlesung Theoretische Grundlagen
Vorlesung Theoretische Grundlagen Fehlerkorrigierende Jörn Müller-Quade 4. Februar 2010 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
Mehr1.4 Die Ackermannfunktion
a : N 2 N : Beispiele: a(0, y) = y + 1, a(x, 0) = a(x 1, 1), x > 0, a(x, y) = a(x 1, a(x, y 1)), x, y > 0. Beh.: a(1, y) = y + 2 Bew. durch Induktion über y: a(1, 0) = a(0, 1) = 2 = 0+2. a(1, y + 1) =
Mehr2 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
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:
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
Mehr1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen
Programm heute lgorithmen und atenstrukturen (für T/IT) Sommersemester 0 r. Tobias Lasser omputer ided Medical Procedures Technische Universität München inführung rundlagen von lgorithmen rundlagen von
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
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
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:
MehrAchtung: 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
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
MehrBeispiellö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
MehrGliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
MehrWie komme ich von hier zum Hauptbahnhof?
NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrFortgeschrittene 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
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrMAXIMUM2.STR 02.10.2002. Struktogramme. Aufgabe: 3 Zahlen eingeben, größte Zahl ermitteln und ausgeben.
Struktogramme 02.10.2002 Aufgabe: 3 Zahlen eingeben, größte Zahl ermitteln und ausgeben. MAX_DOZ1 Integer a, b, c, max M AX IM U M 1.S T R Inte g er a, b, c Ausgabe "Zahlen eingeben" E ing abe a, b, c
Mehr3. Musterlösung. Problem 1: Heapsort
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 3. Musterlösung Problem : Heapsort ** 2 3 4 5 Algorithmus : Heapsort (A) Eingabe : Array A der Länge n Ausgabe : Aufsteigend
MehrKü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
Mehr3. Ü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
MehrCODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005
CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 1. Das Problem 1.1. Kanalcodierung und Fehlerkorrektur. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder 1 übertragen kann, schicken.
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
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm
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
MehrChristian Schulz und Johannes Singler
Christian Schulz und Johannes Singler, Prof. Sanders 1 KIT Christian Universität des Schulz Landes Baden-Württemberg und Johannes undsingler: nationales 3. Übung Forschungszentrum Algorithmen in der Helmholtz-Gemeinschaft
MehrAlgorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
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
MehrPunktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees
MehrHannah Wester Juan Jose Gonzalez
Neuronale Netze Supervised Learning Proseminar Kognitive Robotik (SS12) Hannah Wester Juan Jose Gonzalez Kurze Einführung Warum braucht man Neuronale Netze und insbesondere Supervised Learning? Das Perzeptron
MehrLineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
MehrAlgorithmische Bioinformatik
Algorithmische Bioinformatik Effiziente Berechnung des Editabstands Dynamische Programmierung Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Rekursive Definition des Editabstands
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
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
MehrVorlesung Programmieren
Vorlesung Programmieren 14 Parsen, Suchen und Sortieren 19./26.01.2015 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrAlgorithmische 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
MehrProgrammieren in Haskell. Stefan Janssen. Strukturelle Rekursion. Universität Bielefeld AG Praktische Informatik. 10.
Universität Bielefeld AG Praktische Informatik 10. Dezember 2014 Wiederholung: Schema: f :: [σ] -> τ f [] = e 1 f (a : as) = e 2 where s = f as wobei e 1 und e 2 Ausdrücke vom Typ τ sind und e 2 die Variablen
Mehrkontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
MehrBinary 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
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
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
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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
MehrErzeugendensystem und Basis
Erzeugendensystem und Basis Definition Erzeugendensystem und Basis eines Unterraums Sei S F n 2 ein Unterraum. Eine Menge G = {g 1,..., g k } S heißt Erzeugendensystem von S, falls jedes x S als Linearkombination
Mehr2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
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:
MehrBacktracking mit Heuristiken
Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth
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.
MehrDatenstrukturen & 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
MehrPraktikum Algorithmen-Entwurf (Teil 7)
Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrDynamische Programmierung
Dynamische Programmierung Hannes Schwarz - WS-06/07 Hannes.Schwarz@uni-konstanz.de Getting Ready for the ACM Programming Contest Übersicht Übersicht Was ist dynamische Programmierung? Entwicklung eines
MehrUniversität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III
Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion
MehrKAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN
KPITEL 6 GNZZHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULRE MTRIZEN F. VLLENTIN,. GUNDERT. Ganzzahlige lineare Programme Viele Optimierungsprobleme des Operations Research lassen sich als ganzzahlige lineare
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/
Mehr11. Übung zu Algorithmen I 6. Juli 2016
11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus
Mehr