INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
|
|
- Steffen Brinkerhoff
- vor 6 Jahren
- Abrufe
Transkript
1 Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales 2. Übung Forschungszentrum Algorithmen in der Helmholtz-Gemeinschaft I Institut für Theoretische Informatik
2 Inhalt Organisatorisches Klausur Dynamische Programmierung Faltungscodes und der Viterbi-Algorithmus Lineare Programmierung 2 Julian Arz, Timo Bingmann, Sebastian Schlag
3 Organisatorisches Klausur am ! Anmeldung bis einschließlich Erlaubte Hilfsmittel für die Klausur: blauer oder schwarzer Stift ein handbeschriebenes DIN-A4 Blatt (beidseitig) maschinenerzeugte Blätter werden eingesammelt! für die Identifikation: Studentenausweis 3 Julian Arz, Timo Bingmann, Sebastian Schlag
4 Organisatorisches Bonuspunkte für die Klausur Insgesamt: 296 normale Übungspunkte erreichbar (Die 2 Zusatzpunkte sind nicht in % enthalten) x Übungspunkten werden linear skaliert auf [0, 3] Bonuspunkte (bis zu 5%) in der Klausur: x < 74 Punkte 0 Bonuspunkte, 74 x < 48 Punkte Bonuspunkt, 48 x < 222 Punkte 2 Bonuspunkte, 222 x Punkte 3 Bonuspunkte. 4 Julian Arz, Timo Bingmann, Sebastian Schlag
5 Dynamische Programmierung Greedy funktioniert nie (in Klausuren) Bei realen Problem ist Greedy aber oft gut genug. 5 Julian Arz, Timo Bingmann, Sebastian Schlag
6 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. 2,, 3, 4,, 2,, 5, 4 6 Julian Arz, Timo Bingmann, Sebastian Schlag
7 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. 2,, 3, 4,, 2,, 5, 4 6 Julian Arz, Timo Bingmann, Sebastian Schlag
8 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 2) 2,, 3, 4,, 2,, 5, 4 berechne die Summe aller Teilarrays (zwei For-Schleifen) Besser: dynamische Programmierung verwenden O(n) 6 Julian Arz, Timo Bingmann, Sebastian Schlag
9 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. Algorithmus: scanne einmal über das Array: 2,, 3, 4,, 2,, 5, 4 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 6 Julian Arz, Timo Bingmann, Sebastian Schlag
10 Maximum Subarray Problem Problem: Gegeben ein Array von Zahlen (positiv, negativ), finde das (zusammenhängende) Teilarray mit der größten Summe. 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 original: -2,, -3, 4, -, 2,, -5, 4 cur_max: -2,, -2, 4, 3, 5, 6,, 5 7 Julian Arz, Timo Bingmann, Sebastian Schlag
11 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 2) Zeit ( 2 O n 4) Teilmatrizen 3 insgesamt O (n 6) 8 Julian Arz, Timo Bingmann, Sebastian Schlag
12 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 9 Julian Arz, Timo Bingmann, Sebastian Schlag
13 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 2 pro Teilmatrix O() Zeit, insgesamt O (n 4) 9 Julian Arz, Timo Bingmann, Sebastian Schlag
14 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 Julian Arz, Timo Bingmann, Sebastian Schlag
15 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 2 probiere alle Zeilenpaare i < j pro Zeilenpaar berechene Array A[,..., n] 2 A[K ] = j l=i M l,k = S j,k S i,k Julian Arz, Timo Bingmann, Sebastian Schlag
16 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 2 probiere alle Zeilenpaare i < j pro Zeilenpaar berechene Array A[,..., n] 2 A[K ] = j l=i M l,k = S j,k S i,k 3 auf A Maximum Subarray Problem lösen Julian Arz, Timo Bingmann, Sebastian Schlag
17 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 2) Zeit 2 probiere alle Zeilenpaare i < j O ( n 2) viele Zeilenpaare 2 pro Zeilenpaar O(n) 3 insgesamt O (n 3) Julian Arz, Timo Bingmann, Sebastian Schlag
18 Faltungscodes und der Viterbi-Algorithmus 802. WLAN Julian Arz, Timo Bingmann, Sebastian Schlag
19 Ein Faltungscode als Schieberegister I s 2 Output A Output B I s Input I s s 2 s I s 2 Output C 2 Julian Arz, Timo Bingmann, Sebastian Schlag
20 Ein Faltungscode als Schieberegister 0 = Output A = Output B 0 Input = Output C Input: Output: 2 Julian Arz, Timo Bingmann, Sebastian Schlag
21 Ein Faltungscode als Schieberegister = Output A 0 = Output B 0 Input = Output C Input: Output: 2 Julian Arz, Timo Bingmann, Sebastian Schlag
22 Ein Faltungscode als Schieberegister = Output A 0 = Output B 0 Input = Output C Input: Output: 2 Julian Arz, Timo Bingmann, Sebastian Schlag
23 Ein Faltungscode als Schieberegister 0 = Output A = Output B Input = Output C Input: Output: 2 Julian Arz, Timo Bingmann, Sebastian Schlag
24 Ein Faltungscode als Schieberegister 0 0 = Output A = Output B 0 Input = Output C Input: 0 Output: 0 2 Julian Arz, Timo Bingmann, Sebastian Schlag
25 Ein Faltungscode als Schieberegister 0 0 = Output A = Output B 0 0 Input = Output C Input: Output: 0 2 Julian Arz, Timo Bingmann, Sebastian Schlag
26 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! 2 Julian Arz, Timo Bingmann, Sebastian Schlag
27 Ein Faltungscode als Schieberegister 0 0 = Output A 0 = Output B 0 Input Das 802.a Schieberegister Input: Output: 0 0 = Output C Output A Redundanz Input s in Übertragung s 2 s ermöglicht 3 s 4 s Fehlerkorrektur! 5 s 6 2 Julian Arz, Timo Bingmann, Sebastian Schlag Output InstitutBfür Theoretische Informatik
28 Ein Faltungscode als Mealy-Automat 0/0 0/ / / 0/ 0/0 / / Legende: Kantenbeschriftung ist Input/Output. 3 Julian Arz, Timo Bingmann, Sebastian Schlag
29 Ein Faltungscode als Trellis t 0 0 t 0 t 2 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 4 Julian Arz, Timo Bingmann, Sebastian Schlag
30 Ein Faltungscode als Trellis t 0 0 t 0 t 2 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 4 Julian Arz, Timo Bingmann, Sebastian Schlag
31 Ein Faltungscode als Trellis t 0 0 t 0 t 2 0 t 3 0 t 4 0 t 5 0 t Input: Output: 0 Aber, wie dekodiert man 0? 4 Julian Arz, Timo Bingmann, Sebastian Schlag
32 Faltungscode: Fehlerkorrektur? Dekodiere: 0? Ziel: Finde die Eingabe, deren Kodierung die geringste Hamming-Distanz (Einzelbit-Fehler) zum gelesenen Codewort hat. 5 Julian Arz, Timo Bingmann, Sebastian Schlag
33 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). 5 Julian Arz, Timo Bingmann, Sebastian Schlag
34 Dekodiere: 0 Eingabe = Codewort Distanz = = = = = = 0 = = = = = 0 8 = 0 8 = = 0 = = Julian Arz, Timo Bingmann, Sebastian Schlag
35 Dekodiere: 0 Eingabe = Codewort Distanz = = = = = = 0 = = = = = 0 8 = 0 8 = = 0 = = Julian Arz, Timo Bingmann, Sebastian Schlag
36 Dekodiere im Trellis Dekodiere: 0? t 0 0 t 0 t 2 0 t 3 0 t 4 0 t 5 0 t Julian Arz, Timo Bingmann, Sebastian Schlag
37 Dekodiere im Trellis Dekodiere: 0? t 0 2 t t t 3 t 4 3 t 5 t Julian Arz, Timo Bingmann, Sebastian Schlag
38 Dekodiere im Trellis Dekodiere: 0? t 0 t t t 3 5 t t 5 3 t Verwende kürzeste Wege in einem DAG: 5 8 Julian Arz, Timo Bingmann, Sebastian Schlag
39 Dekodiere im Trellis Dekodiere: 0? t 0 t t t 3 5 t t 5 3 t Verwende kürzeste Wege in einem DAG: dieser entspricht. 8 Julian Arz, Timo Bingmann, Sebastian Schlag
40 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)) 9 Julian Arz, Timo Bingmann, Sebastian Schlag
41 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). 20 Julian Arz, Timo Bingmann, Sebastian Schlag
42 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. 20 Julian Arz, Timo Bingmann, Sebastian Schlag
43 Lineare Programmierung 2 Julian Arz, Timo Bingmann, Sebastian Schlag
44 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion unter folgenden Kriterien optimieren: Der erzielte Produktionswert der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
45 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion x A und x B unter folgenden Kriterien optimieren: Der erzielte Produktionswert der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
46 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion x A und x B unter folgenden Kriterien optimieren: Der erzielte Produktionswert f (x) der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
47 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion x A und x B unter folgenden Kriterien optimieren: Der erzielte Produktionswert f (x) der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. f (x) = 50 x A + 70 x B für x = (x A, x B ) t R 2. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
48 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion x A und x B unter folgenden Kriterien optimieren: Der erzielte Produktionswert f (x) der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. f (x) = 50 x A + 70 x B für x = (x A, x B ) t R 2. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. x A kg und x B 70 kg. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
49 Beispiel: Süßwarenfabrik Eine Süßwarenfabrik produziert zwei Süßigkeiten A und B. Der Unternehmer möchte die Tagesproduktion x A und x B unter folgenden Kriterien optimieren: Der erzielte Produktionswert f (x) der Fabrik soll maximiert werden: ein Stück A ist 50 Wert und ein B sogar 70. f (x) = 50 x A + 70 x B für x = (x A, x B ) t R 2. Die Maschinen der Fabrik produzieren höchstens kg von A und 70 kg von B an einem Tag. x A kg und x B 70 kg. Es können höchstens kg Zucker und 5 kg Schokolade pro Tag angeliefert werden. Süßigkeit A besteht zu 80% aus Zucker und 6% Schokolade. Süßigkeit B besteht zu 70% aus Zucker und 20% Schokolade. 0,8 x A + 0,7 x B kg und 0,06 x A + 0,2 x B 5 kg. Wie viele kg von A und B sollen pro Tag produziert werden? 22 Julian Arz, Timo Bingmann, Sebastian Schlag
50 Beispiel: Süßwarenfabrik abstrakt Maximiere die Zielfunktion f (x) für x = (x A, x B ) t R 2 : unter folgenden Bedingungen: x A kg x B 70 kg 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg x A 0 und x B 0 f (x) = 50 x A + 70 x B 23 Julian Arz, Timo Bingmann, Sebastian Schlag
51 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,2 x B 5 kg x 0 24 Julian Arz, Timo Bingmann, Sebastian Schlag
52 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,2 x B 5 kg x 0 oder: ( ) t 0 kg 50 max x 70 x R 2, x 0, 0 0,8 0,7 x 70 kg kg 0,06 0,2 5 kg 24 Julian Arz, Timo Bingmann, Sebastian Schlag
53 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,2 x B 5 kg x 0 oder: ( ) t 0 kg 50 max x 70 x R 2, x 0, 0 0,8 0,7 x 70 kg kg 0,06 0,2 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. 24 Julian Arz, Timo Bingmann, Sebastian Schlag
54 Beispiel: Süßwarenfabrik graphisch 80 x B 60 x B 70 kg 40 x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
55 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 60 x B 70 kg 40 x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
56 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg 40 x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
57 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg 40 x A kg 20 zulässige Lösungen x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
58 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
59 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
60 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
61 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
62 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
63 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg x opt = (80.5, 50.85) c = ( ) zulässige Lösungen x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
64 Beispiel: Süßwarenfabrik graphisch 80 x B 0,8 x A + 0,7 x B kg 0,06 x A + 0,2 x B 5 kg 60 x B 70 kg x opt = (80.5, 50.85) c = ( ) zulässige Lösungen Bester Wert: c t x opt = 7585 x A kg x A 25 Julian Arz, Timo Bingmann, Sebastian Schlag
65 Matrixformen linearer Programme Eine Matrixform: max{c t x x R n, x 0, Ax b}. Andere Formen: max{c t x x R n, Ax b} 2 max{c t x x R n, x 0, Ax = b} 3 max{c t x x R n, Ax b} 4 min{c t x x R n, Ax b} 5 min{c t x x R n, x 0, Ax = b} 6 min{c t x x R n, x 0, Ax b} Jede Form ist in jede andere Form transformierbar! 26 Julian Arz, Timo Bingmann, Sebastian Schlag
66 Lösen von linearen Programmen Textbook Methode: Simplex-Algorithmus 947 von George Dantzig erfunden. Kann exponentielle Laufzeit haben, generell aber sehr schnell. Polynomialer (!) Algorithmus von Narendra Karmarkar in 984. Heute praktischer Einsatz: CPLEX, Matlab, QSOpt, etc. Forschung: MILP Mixed-Integer-LPs (einige ganzzahlige Variablen) 27 Julian Arz, Timo Bingmann, Sebastian Schlag
67 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,...} 28 Julian Arz, Timo Bingmann, Sebastian Schlag
68 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 28 Julian Arz, Timo Bingmann, Sebastian Schlag
69 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R +. 2 s 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 28 Julian Arz, Timo Bingmann, Sebastian Schlag
70 Verbindung zu Graph-Problemen Graph (V, E) mit Gewichten c : E R s 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 28 Julian Arz, Timo Bingmann, Sebastian Schlag
71 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 29 Julian Arz, Timo Bingmann, Sebastian Schlag
72 Minimum Spanning Tree LP Zusammenhängender Graph (V, E) mit Gewichten c (R + ) E. min ct x x R E, x 0, 30 Julian Arz, Timo Bingmann, Sebastian Schlag
73 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 30 Julian Arz, Timo Bingmann, Sebastian Schlag
74 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. 30 Julian Arz, Timo Bingmann, Sebastian Schlag
75 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. 30 Julian Arz, Timo Bingmann, Sebastian Schlag
76 Dualitätssatz der LP Ist ein lineares Programm in der Form max{c t x x R n, Ax b} gegeben, so lautete das dazu duale Programm min{y t b y R m, y 0, y t A = c t }. 3 Julian Arz, Timo Bingmann, Sebastian Schlag
77 Dualitätssatz der LP Ist ein lineares Programm in der Form max{c t x x R n, Ax b} gegeben, so lautete das dazu duale Programm min{y t b y R m, y 0, y t A = c t }. Existieren eine zulässige Lösung x 0 R n des ersten Programms und eine zulässige Lösung y 0 R m des dualen Programms, dann sind x 0 und y 0 genau dann optimale Lösungen, wenn also c t x 0 = y t 0 b, max{c t x x R n, Ax b} = min{y t b y R m, y 0, y t A = c t }. 3 Julian Arz, Timo Bingmann, Sebastian Schlag
78 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] x x x 6 c c n f T = a, a,n b v a m, a m,n b m v m 32 Julian Arz, Timo Bingmann, Sebastian Schlag
79 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] x x x 6 Die Blandsche Pivot-Regel wählt als Pivot-Spalte s =, da c = < 0. Die Quotienten sind b a, = 3 2, b 2 a 2, = 2 2 und a 3, 0. Hiervon wird der kleinste als Pivot-Zeile gewählt, also t = Julian Arz, Timo Bingmann, Sebastian Schlag
80 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] x 4 0,5 0 0,5 0 x x 6 Nun wird die Pivot-Operation auf Spalte s = und Zeile t = 2 mit Wert a 2, = 2 angewandt. Zuerst normiert man die Zeile t = 2 durch Multiplikation mit Julian Arz, Timo Bingmann, Sebastian Schlag
81 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] 0 2, , x 4 0,5 0 0,5 0 x 0 2, ,5 3 x 6 Dann transformiert man die Spalte s = durch entsprechende Addition eines Vielfachen der Zeile t = 2 auf den t-ten Einheitsspaltenvektor. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
82 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] 0 2, , x 4 0,5 0 0,5 0 x 0 2, ,5 3 x 6 Die Blandsche Pivot-Regel wählt als Pivot-Spalte s = 2, da c 2 = 2,5 < 0. Die positiven Quotienten sind b 2 a 2,2 = 0,5, b 3 a 3,2 = 3 2,5 und a,2 0. Hiervon wird der kleinste als Pivot-Zeile gewählt, also t = Julian Arz, Timo Bingmann, Sebastian Schlag
83 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] 0 2, , x 4 0,5 0 0,5 0 x ,2 0,4,2 x 6 Wende die Pivot-Operation auf Spalte s = 2 und Zeile t = 3 mit Normierung 2,5 an. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
84 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] ,6 0,8 3,4 x ,4 0,2 0,4 x ,2 0,4,2 x 2 Transformiere die Spalte s = 2 auf den t-ten Einheitsspaltenvektor. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
85 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] ,6 0,8 3,4 x ,4 0,2 0,4 x ,2 0,4,2 x 2 Die Blandsche Pivot-Regel wählt als Pivot-Spalte s = 3, da c 3 = 3 < 0. Die positiven Quotienten sind b a,3 = 3,4 2, a 2,3 0 und a 3,3 0. Hiervon wird der kleinste als Pivot-Zeile gewählt, also t =. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
86 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] ,5 0,3 0,4,7 x ,4 0,2 0,4 x ,2 0,4,2 x 2 Wende die Pivot-Operation auf Spalte s = 3 und Zeile t = mit Normierung 2 an. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
87 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] 0 0 0,5 0, 2,2 9, 0 0 0,5 0,3 0,4,7 x ,5 0, 0,2 2, x ,2 0,4,2 x 2 Transformiere die Spalte s = 3 auf den t-ten Einheitsspaltenvektor.: 32 Julian Arz, Timo Bingmann, Sebastian Schlag
88 Beispiel: Simplex-Algorithmus max t 3 x x R 3, x 0, x [x ] [x 2 ] [x 3 ] [x 4 ] [x 5 ] [x 6 ] 0 0 0,5 0, 2,2 9, 0 0 0,5 0,3 0,4,7 x ,5 0, 0,2 2, x ,2 0,4,2 x 2 Da alle Einträge von c nicht-negativ sind, ist das Simplex-Tableau nun final und der Algorithmus bricht ab. Aus dem Tableau kann man nun x opt und f (x) ablesen. 32 Julian Arz, Timo Bingmann, Sebastian Schlag
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
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
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
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
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
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
MehrAnwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht
Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht Beispiele wirtschaftsmathematischer Modellierung Lehrerfortbildung, Speyer, Juni 2004-1- Beispiele wirtschaftsmathematischer Modellierung
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:
Mehr1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes
1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
MehrTheoretische Grundlagen der Informatik WS 09/10
Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3
Mehr3. Grundlagen der Linearen Programmierung
3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations
MehrVorlesung 3 MINIMALE SPANNBÄUME
Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
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!
MehrKANALCODIERUNG AUFGABEN. Aufgabe 1. Aufgabe 2
AUFGABEN KANALCODIERUNG Aufgabe Wir betrachten den Hamming-Code mit m = 5 Prüfbits. a) Wie gross ist die Blocklänge n dieses Codes? b) Wie viele gültige Codewörter umfasst dieser Code? c) Leiten Sie die
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
MehrSchranken für zulässige Lösungen
Schranken für zulässige Lösungen Satz 5.9 Gegeben seien primales und duales LP gemäß der asymmetrischen Form der Dualität. Wenn x eine zulässige Lösung des primalen Programms und u eine zulässige Lösung
Mehr1 Lineare Gleichungssysteme
MLAN1 1 LINEARE GLEICHUNGSSYSTEME 1 Literatur: K Nipp/D Stoffer, Lineare Algebra, Eine Einführung für Ingenieure, VDF der ETHZ, 4 Auflage, 1998, oder neuer 1 Lineare Gleichungssysteme Zu den grundlegenden
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrElemente der Analysis II
Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel
MehrIV. Spieltheorie. H. Weber, FHW, OR SS07, Teil 7, Seite 1
IV. Spieltheorie 1. Gegenstand der Spieltheorie 2. Einführung in Matrixspiele 3. Strategien bei Matrixspielen 4. Weitere Beispiele 5. Mögliche Erweiterungen H. Weber, FHW, OR SS07, Teil 7, Seite 1 1. Gegenstand
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
MehrApproximationsalgorithmen: 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
MehrSuche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
MehrAusgewählte Methoden der ganzzahligen Linearen Optimierung
Ausgewählte Methoden der ganzzahligen Linearen Optimierung Diplomarbeit zur Erlangung des akademischen Grades Magistra rerum naturalium eingereicht von Arntraud Bacher bei AUnivProf Dr Kurt Girstmair an
MehrEin (7,4)-Code-Beispiel
Ein (7,4)-Code-Beispiel Generator-Polynom: P(X) = X 3 + X 2 + 1 Bemerkung: Es ist 7 = 2^3-1, also nach voriger Überlegung sind alle 1-Bit-Fehler korrigierbar Beachte auch d min der Codewörter ist 3, also
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrDas Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
MehrVorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)
1 Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14) Einleitung Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 11. Oktober 2013) 2 Kommunikationsnetzwerke...
MehrLineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Einführung Standard- und Schlupfformen Simplex Algorithmus Matthias Zwicker Universität Bern Frühling 2009 2 Beispiel: Wahlkampf Ziel: mit möglichst wenig Werbung eine gewisse
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
MehrVorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke
Vorlesungsplan 17.10. Einleitung 24.10. Ein- und Ausgabe 31.10. Reformationstag, Einfache Regeln 7.11. Naïve Bayes, Entscheidungsbäume 14.11. Entscheidungsregeln, Assoziationsregeln 21.11. Lineare Modelle,
MehrEinführung in die Kodierungstheorie
Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht
MehrOptimierung und Simulation ökonomischer Problemlagen privater Haushalte 2. Vorlesung
Optimierung und Simulation ökonomischer Problemlagen privater Haushalte 2. Vorlesung Rainer Hufnagel / Laura Wahrig 2006 Diese Woche LO - Rechnerische Lösung - Simplex- Algorithmus LO - Auswertung des
MehrBestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
MehrPraktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben
Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren
MehrTag 9: Datenstrukturen
Tag 9: Datenstrukturen A) Datenstrukturen B) Cell Arrays C) Anwendungsbeispiel: Stimulation in einem psychophysikalischen Experiment A) Datenstrukturen Wenn man komplizierte Datenmengen verwalten möchte,
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
MehrOPERATIONS-RESEARCH (OR)
OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
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
MehrBinäre lineare Optimierung mit K*BMDs p.1/42
Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre
MehrSpieltheorien und Theoreme
Spieltheorien und Theoreme Seminar: Randomisierte Algorithmen Prof. Dr. R. Klein Alexander Hombach Eine bilinguale Ausarbeitung von Alexander Hombach, Daniel Herrmann und Ibraguim Kouliev (Teil 1) Rheinische
MehrUndirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time
Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
Mehr3. Ü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
MehrKurs 1575, Musterlösung zur Winter Klausur 2003/04
Kurs 1575, Musterlösung zur Klausur im Wintersemester 2003/04 1 Kurs 1575, Musterlösung zur Winter Klausur 2003/04 Aufgabe 1: Römische Zahlen Wer kennt das Problem nicht: Sie stehen vor einer Inschrift,
MehrDatenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans
MehrLaufzeit 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
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 1 Programm des
MehrMaximizing the Spread of Influence through a Social Network
1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2
MehrEinführung in die Vektor- und Matrizenrechnung. Matrizen
Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:
MehrAlles zu seiner Zeit Projektplanung heute
Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?
MehrLineare Algebra (Mathe I) für Wirtschaftsinformatiker; Zusammenfassung
Lineare Algebra (Mathe I) für Wirtschaftsinformatiker; Zusammenfassung Artur Trzewik sw562@uni-essen.de v1., 26.3.1998 korrigiert 16. Februar 2 Zusammenfassung Warnung: für die Richtigkeit der Definitionnen
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
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
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
MehrARBEITSUNTERLAGEN ZUR VORLESUNG UND ÜBUNG AN DER UNIVERSITÄT DES SAARLANDES LINEARE OPTIMIERUNG
¾ REITSUNTERLGEN ZUR VORLESUNG UND ÜUNG N DER UNIVERSITÄT DES SRLNDES LINERE OPTIMIERUNG IM SS Lineare Optimierung (SS ). ufgabe (Graphische Lineare Optimierung) Nach einem anstrengenden Semester steht
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),
MehrMethoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen
Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
MehrEin Scan basierter Seitenangriff auf DES
Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:
MehrKompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung
Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.
MehrProgrammiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
MehrReproduzierbarkeit der Bachelor-Thesis
der Bachelor-Thesis Anonymisierungsverfahren: Randverteilungen und ihr statistisches Analysepotential Seminar Institut für Statistik Ludwig-Maxmilians-Universität in München Betreuung: Manuel J. A. Eugster
MehrMultimedia im Netz Wintersemester 2011/12
Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung
MehrAlgorithmische Anwendungen
Lineare Programmierung Studiengang: Allgemeine Informatik 7.Semester Gruppe: A blau Sibel Cilek 3835 Daniela Zielke 36577..6 Inhaltsverzeichnis Einleitung...3. Was ist lineare Optimierung?... 3. Anwendungsbeispiele...
MehrGraphenalgorithmen 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Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrKlausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler
Wintersemester 2005/06 20.2.2006 Prof. Dr. Jörg Rambau Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler Bitte lesbar ausfüllen, Zutreffendes ankreuzen Herr Frau Name, Vorname:
MehrInhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer
Lill, Meitner, Föhrweiser, Spisländer FAU Erlangen-Nürnberg Software-Metriken 1 / 24 Software-Metriken Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität
MehrDie Verbindung von Linearer Programmierung und Graphentheorie
Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der
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
MehrLineare Gleichungssysteme und Gauß'scher Algorithmus
Zurück Letzter Update 7... Lineare Gleichungssysteme und Gauß'scher Algorithmus In der Mathematik bezeichnet man mit Matrix ein rechteckiges Schema, in dem Zahlen oder Funktionen angeordnet werden. Hier
MehrTeil II. Nichtlineare Optimierung
Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrBioinformatik I (Einführung)
Kay Diederichs, Sommersemester 2015 Bioinformatik I (Einführung) Algorithmen Sequenzen Strukturen PDFs unter http://strucbio.biologie.unikonstanz.de/~dikay/bioinformatik/ Klausur: Fr 17.7. 10:00-11:00
MehrDiplomprüfung. Operations Research I WS 2007/2008 (4 Punkte)
Dr. Jörg Kalcsics 11.0.008 Diplomprüfung (Wiederholungsprüfung gem. NPO) Operations Research I WS 007/008 ( Punkte) Vorbemerkung: Zugelassene Hilfsmittel: nicht programmierbarer Taschenrechner. Beginnen
MehrApproximation in Batch and Multiprocessor Scheduling
Approximation in Batch and Multiprocessor Scheduling Tim Nonner IBM Research Albert-Ludwigs-Universität Freiburg 3. Dezember 2010 Scheduling Zeit als Ressource und Beschränkung Formaler Gegeben sind Jobs
MehrFully dynamic algorithms for the single source shortest path problem.
Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem
MehrVorlesung 12 22. bzw. 23. Januar 2014. Determinanten 1. Cramersche Regel
Vorlesung 2 22 bzw 23 Januar 204 Lineares Gleichungssystem a a 2 b b 2 = F a a 2 a 3 b b 2 b 3 c c 2 c 3 = V V =< a, b c > c b a b a F V Seite 70 a x + a 2 x 2 + a 3 x 3 b = 0 < a x + a 2 x 2 + a 3 x 3
MehrTheoretische 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
MehrData Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY
Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung
MehrGraphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011
Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrAufgabenblatt 6 zur Lehrveranstaltung Quantitative Methoden der Betriebswirtschaftslehre I Frühjahrssemester 2015
Universität Bern Bern, den. März Professur für Quantitative Methoden der BWL Schützenmattstr., Bern Prof. Dr. Norbert Trautmann, Oliver Strub E-Mail: oliver.strub@pqm.unibe.ch Aufgabenblatt 6 zur Lehrveranstaltung
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrMaximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
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
Mehr4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04
4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten
Mehrx 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen
5.1 Lernen mit Entscheidungsbäumen Falls zum Beispiel A = {gelb, rot, blau} R 2 und B = {0, 1}, so definiert der folgende Entscheidungsbaum eine Hypothese H : A B (wobei der Attributvektor aus A mit x
MehrEine molekulare Lösung des Hamiltonkreisproblems mit DNA
Eine molekulare Lösung des Hamiltonkreisproblems mit DNA Seminar Molecular Computing Bild: http://creatia2013.files.wordpress.com/2013/03/dna.gif Andreas Fehn 11. Juli 2013 Gliederung 1. Problemstellung
MehrSingle Parity check Codes (1)
Single Parity check Codes (1) Der Single Parity check Code (SPC) fügt zu dem Informationsblock u = (u 1, u 2,..., u k ) ein Prüfbit (englisch: Parity) p hinzu: Die Grafik zeigt drei Beispiele solcher Codes
Mehr