Softwareprojektpraktikum Maschinelle Übersetzung

Größe: px
Ab Seite anzeigen:

Download "Softwareprojektpraktikum Maschinelle Übersetzung"

Transkript

1 Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology and Pattern Recognition Lehrstuhl für Informatik 6 Computer Science Department RWTH Aachen University, Germany J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 1 Vorbesprechung 22. Juni 2017

2 Contents 1 Log-lineare Modellkombination 3 2 Downhill-Simplex-Verfahren 7 3 Och s Minimum Error Rate Training (MERT) 18 4 Übung 5 29 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 2 Vorbesprechung 22. Juni 2017

3 1 Log-lineare Modellkombination Source Language Text f J 1 Preprocessing Language Models Global Search )} ê = arg max e I 1 { p ( e I 1 f J 1 = arg max e I 1 { m λ m h m ( e I 1, f J 1 Postprocessing )} Phrase Models Word Models Reordering Models... ê I 1 Target Language Text J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 3 Vorbesprechung 22. Juni 2017

4 Log-lineare Modellkombination Mathematisch: êî 1 = arg max e I 1 = arg max e I 1 = arg max e I 1 { p(e I 1 f J 1 )} ( M ) exp m=1 λ mh m (e I 1, f 1 J) ( M ) exp ẽ I m=1 λ mh m (ẽ I 1, f 1 J) 1 { M } λ m h m (e I 1, f J 1 ) m=1 für Skalierungsfaktoren λ m und Funktionen h m (e I 1, f J 1 ), m = 1,..., M. J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 4 Vorbesprechung 22. Juni 2017

5 Optimierung der Skalierungsfaktoren êî 1 = arg max e I 1 { M m=1 λ m h m (e I 1, f J 1 ) } für Skalierungsfaktoren λ m und Funktionen h m (e I 1, f J 1 ), m = 1,..., M. Algorithmen zur Optimierung der Skalierungsfaktoren λ m ideale Gewichtung der Einzelmodelle h m (e I 1, f 1 J) direkte Optimierung bzgl. des verwendeten Fehlermaßes Optimierung auf Development-Daten (nicht in Trainingsdaten enthalten) evaluiere auf ungesehenen Test-Daten J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 5 Vorbesprechung 22. Juni 2017

6 Optimieren auf N-Best Listen eine manuelle Optimierung benötigt viele Iterationen sehr zeitaufwendig verschiedene Parameter-Konfigurationen wiederholt zu übersetzen optimieren auf N-Best Listen wiederhole solange neue N-Best Listen Einträge generiert werden: erstelle eine N-Best Liste für jeden Quell-Satz für die aktuelle Parameter- Konfiguration füge die neu generierten mit den alten N-Best Listen zusammen optimiere die Parameter auf den zusammengefügten N-Best Listen starte eine neue Iteration mit den neuen Parametern Vorteil viel schneller Nachteil Das globale Optimum wird nicht immer erreicht (nur lokales) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 6 Vorbesprechung 22. Juni 2017

7 2 Downhill-Simplex-Verfahren Wie optimiert man nun die verschiedenen Skalierungsfaktoren? Downhill Simplex Hillclimbing-Verfahren langsame Konvergierung, aber relativ robust aufspannen eines M-Dimensionalen Simplex (M +1 Ecken) Schrittweise Verbesserung des schlechtesten Punktes (hier: Parameter- Konfiguration) Ziel: verringern der Kosten hier: verbessern des BLEU-Wertes J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 7 Vorbesprechung 22. Juni 2017

8 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 8 Vorbesprechung 22. Juni 2017

9 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 9 Vorbesprechung 22. Juni 2017

10 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 10 Vorbesprechung 22. Juni 2017

11 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 11 Vorbesprechung 22. Juni 2017

12 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 12 Vorbesprechung 22. Juni 2017

13 Beispiel Beispielverlauf einer Simplex-Optimierung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 13 Vorbesprechung 22. Juni 2017

14 Algorithmus Initialisierung: Simplex aufspannen: M + 1 Kosten berechnen In jeder Iteration (bis Abbruch-Kriterium erfüllt): Kosten sortieren, Simplex-Schwerpunkt berechnen versuchen den schlechtesten Punkt zu verbessern keine Verbesserung den Simplex zusammenziehen J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 14 Vorbesprechung 22. Juni 2017

15 Schlechtesten Punkt verbessern Berechnung des Simplex-Schwerpunktes x 0 = Verlagerung des schlechtesten Punktes Mm=1 x m M durch Reflektion: x r = x 0 + α(x 0 x worst ) durch Erweiterung: x e = x 0 + γ(x 0 x worst ) durch Kontraktion: x c = x worst + ρ(x 0 x worst ) x 0 x worst x 0 x worst x 0 x worst typische Werte: α = 1.0, γ = 2.0, ρ = 0.5 J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 15 Vorbesprechung 22. Juni 2017

16 Schlechtesten Punkt verbessern nicht möglich den schlechtesten Punkt zu verbessern? ziehe den kompletten Simplex zusammen x i = x 1 + σ(x i x 1 ) i {2,..., M + 1} typischer Wert: σ = 0.5 x 1 die Optimierung endet, wenn abs (BLEU(x i ) BLEU(x j )) ɛ oder wenn z.b. eine bestimmte Anzahl an Iterationen erreicht wurde J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 16 Vorbesprechung 22. Juni 2017

17 Downhill Simplex Algorithm 1: Downhill Simplex while Optimierungskriterium nicht erreicht do SORTIERE Simplexpunkte: BLEU(x 1 ) BLEU(x 2 ) BLEU(x M+1 ) ; BERECHNE Schwerpunkt x 0 aller Punkte ausser x M+1 ; if BLEU(x 1 ) BLEU(x r ) BLEU(x M ) then REFLEKTIERE, d.h. ersetze x M+1 durch x r ; else if BLEU(x r ) > BLEU(x 1 ) then if BLEU(x e ) BLEU(x r ) BLEU(x 1 ) then EXPANDIERE, d.h. ersetze x M+1 durch x e ; else REFLEKTIERE, d.h. ersetze x M+1 durch x r ; else if BLEU(x c ) BLEU(x M+1 ) then KONTRAHIERE, d.h. ersetze x M+1 durch x c ; else KOMPRIMIERE Simplex, x i = x 1 + σ(x i x 1 ) i {2,..., M + 1}; // BLEU(x r ) < BLEU(x M ) J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 17 Vorbesprechung 22. Juni 2017

18 3 Och s Minimum Error Rate Training (MERT) Basiert auf der Powell s Methode Üblicherweise schneller und stabiler als Downhill Simplex Ansatz: es wird jeweils nur ein Parameter λ k verändert λ m h m (e I 1, f J 1 ) = λ m h m (e I 1, f J 1 ) + λ kh k (e I 1, f J 1 ) m k m J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 18 Vorbesprechung 22. Juni 2017

19 Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Gesamtkosten von einer einzigen Übersetzung J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 19 Vorbesprechung 22. Juni 2017

20 Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Schnittpunkte der N-Best Hypothesen für Satz Eins J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 20 Vorbesprechung 22. Juni 2017

21 Beispiel M m=1 λ mh m (E I 1, F J 1 ) λ k Schnittpunkte der N-Best Hypothesen für Satz Zwei J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 21 Vorbesprechung 22. Juni 2017

22 Update eines Parameters berechne BLEU an jedem Schnittpunkt (bzw. in der Mitte zwischen zwei Schnittpunkten) update den aktuellen Parameter auf den Wert des Schnittpunktes mit dem höchsten BLEU optimiere den nächsten Parameter J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 22 Vorbesprechung 22. Juni 2017

23 Berechnung der Konvexen Hülle Algorithm 2: Line Sweep Algorithmus input : Array a der Größe K mit Linien sortiert nach Steigung, j = 0 for (i = 0... K 1; ) do l = a[i]; // Aktuelle Gerade (line) l.x = ; // letzter Schnittpunkt if (j > 0) then // l.m Steigung if (a[j 1].m == l.m) then // l.y Schnittpunkt mit der y-achse (offset) if l.y <= a[j 1].y) then continue; //Überspringe diese Gerade j = j 1; //Löschung des letzten Schnittpunkts while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts if (j == 0) then l.x = ; a[j] = l; j = j + 1; return a[0... j 1]; J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 23 Vorbesprechung 22. Juni 2017

24 Algorithm 3: Eliminiere niedriger gelegene Linien // l.m Steigung if (a[j 1].m == l.m) then // l.y Schnittpunkt mit der y-achse if l.y <= a[j 1].y) then continue; //Überspringe diese Gerade j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 24 Vorbesprechung 22. Juni 2017

25 upper envelope a[j-1] Algorithm 4: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 25 Vorbesprechung 22. Juni 2017

26 upper envelope a[j-1] Schnittpunkt mit a[j-1] currentintersection bisheriger Schnittpunkt von a[j-1] Algorithm 5: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 26 Vorbesprechung 22. Juni 2017

27 upper envelope a[j-1] currentintersection Algorithm 6: Vergleiche Schnittpunkte while (j > 0) do l.x = (l.y a[j 1].y) ; //Schnittpunkt von l und a[j 1] (a[j 1].m l.m) if (a[j 1].x < l.x) then break; j = j 1; //Löschung des letzten Schnittpunkts J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 27 Vorbesprechung 22. Juni 2017

28 Algorithmus Algorithm 7: MERT INITIALISIERE; while Neue Hypothese produziert wird do while Parameter ändern sich do Berechne neue (zufällige) Parameter-Reihenfolge; for Jeden Parameter do Berechne alle Schnittpunkte aller N-Best Listen; Berechne BLEU neu für alle Schnittpunkte (effizient!); Wähle besten Parameter; Erzeuge neue N-Best Liste mit neuen Parametern; Füge die neuen N-Best Einträge zu der alten Liste hinzu J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 28 Vorbesprechung 22. Juni 2017

29 4 Übung 5 Optimierung der Skalierungsfaktoren in der log-linearen Modellkombination Downhill Simplex MERT Effiziente Schnittpunktberechnung (Aufgabe: wie?) Effiziente BLEU Berechnung (Aufgabe: wie?) ist es notwendig an jedem Schnittpunkt BLEU komplett neu zu berechnen? Begrenzung der Veränderung eines Parameters? Normierung der Parameter? N-Best Listen Größe? weitere Ideen? J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 29 Vorbesprechung 22. Juni 2017

30 Fragen? J.-T. Peter, A. Guta, J. Rosendahl Maschinelle Übersetzung 30 Vorbesprechung 22. Juni 2017

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta {peter,guta}@i6.informatik.rwth-aachen.de Vorbesprechung 4. Aufgabe 19. Mai 2015 Human Language Technology and Pattern

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Throsten Peter, Andreas Guta {peter,guta}@i6.informatik.rwth-aachen.de Vorbesprechung 3. Aufgabe 6. Mai 2014 Human Language Technology and Pattern Recognition

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a

Mehr

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill Konvexe Hülle Hierbei handelt es sich um ein klassisches Problem aus der Algorithmischen Geometrie, dem Teilgebiet der Informatik, in dem man für geometrische Probleme effiziente Algorithmen bestimmt.

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

Mehr

Lineares Programmieren

Lineares 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

Mehr

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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta {peter,guta}@i6.informatik.rwth-aachen.de Vorbesprechung 1. Aufgabe 09. April 2014 Human Language Technology and Pattern

Mehr

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon)

M. Pester 29. Ein konvexes d-polytop ist eine begrenzte d-dimensionale polyedrale Menge. (d = 3 Polyeder, d = 2 Polygon) M. Pester 29 6 Konvexe Hülle 6.1 Begriffe Per Definition ist die konvexe Hülle für eine Menge S von lich vielen Punkten die kleinste konvexe Menge, die S enthölt (z.b. in der Ebene durch ein umspannes

Mehr

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin Konvexe Hülle Konvexe Hülle AK der Algorithmik 5, SS 2005 Hu Bin Anwendung: Computergraphik Boundary Kalkulationen Geometrische Optimierungsaufgaben Konvexe Hülle: Definition Mathematik Konvex: Linie zwischen

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration

Algorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if

Mehr

Algorithmen und Datenstrukturen

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

Mehr

Numerische Methoden und Algorithmen in der Physik

Numerische Methoden und Algorithmen in der Physik Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 11.12.2008 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 18 Einführung Einführung Verfahren für

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen 7/7/06 lausthal Erinnerung: Dynamische Programmierung Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

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

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #6 Phillip Keldenich, Arne Schmidt 26.02.2017 Heute: Master-Theorem Phillip Keldenich, Arne Schmidt Große Übung 2 Vorbetrachtungen Wir betrachten rekursive Gleichungen

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen 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

Mehr

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements 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

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren

2.3.1 Einleitung Einfache Sortierverfahren Höhere Sortierverfahren Komplexität von Sortierverfahren Spezielle Sortierverfahren 2.3 Sortieren 2.3.1 Einleitung 2.3.2 Einfache Sortierverfahren 2.3.3 Höhere Sortierverfahren 2.3.4 Komplexität von Sortierverfahren 2.3.5 Spezielle Sortierverfahren 1 Selection-Sort Idee: Suche kleinstes

Mehr

Sortieren. Eine Testmenge erstellen

Sortieren. Eine Testmenge erstellen Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Algorithms for Regression and Classification

Algorithms for Regression and Classification Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach

Mehr

Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen

Geometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung

Mehr

Übung Algorithmen I

Übung Algorithmen I Übung Algorithmen I 18.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Sortieren Kleine Wiederholung Visualisierungen Adaptives

Mehr

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

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

Mehr

Optimierung für Nichtmathematiker

Optimierung für Nichtmathematiker Optimierung für Nichtmathematiker Prof. Dr. R. Herzog WS/ / Inhaltsübersicht 3Einführung in die freie Optimierung 4Orakel und Modellfunktionen 5Optimalitätsbedingungen der freien Optimierung 6Das Newton-Verfahren

Mehr

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer Institut für Informatik Georges-Köhler-Allee Albert-Ludwigs-Universität Freiburg

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

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

Mehr

Clusteranalyse: Gauß sche Mischmodelle

Clusteranalyse: Gauß sche Mischmodelle Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse: Gauß sche Mischmodelle iels Landwehr Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

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

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

Mehr

Effiziente Algorithmen Übung 2

Effiziente Algorithmen Übung 2 Effiziente Algorithmen Übung 2 Aufgabe 3 Circular Reversal Sort Gruppe E Martin Schliefnig, 0160919 Christoph Holper, 9927191 Ulrike Ritzinger, 0125779 1. Problemstellung Ein DNA Molekül muss nicht immer

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

Mehr

Folge 13 - Quicksort

Folge 13 - Quicksort Für Abiturienten Folge 13 - Quicksort 13.1 Grundprinzip des Quicksort Schritt 1 Gegeben ist ein unsortierter Array von ganzen Zahlen. Ein Element des Arrays wird nun besonders behandelt, es wird nämlich

Mehr

2. Optimierungsprobleme 6

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

Mehr

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

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

Mehr

8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)

8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A) Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Grundlegende Sortieralgorithmen

Grundlegende Sortieralgorithmen Grundlegende Sortieralgorithmen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch Sortieren in Java Man kann Sortierverfahren in einem imperativem oder einem objektorientierten Stil programmieren.

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion: Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

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

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Theorie und Praxis geometrischer Algorithmen

Theorie und Praxis geometrischer Algorithmen 0/36 Theorie und Praxis geometrischer Algorithmen Isolierende Intervalle: Sturmsche Ketten Rico Philipp Motivation 1/36 Was ist eine Sturmsche Kette? Wie berechnet man diese? Durch welche Eigenschaften

Mehr

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) 4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 8./15. November 2005 Einordnung

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie 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

Mehr

B: 2 x = 7 logarithmiert zur Basis 10 nicht zu verwechseln mit lg( 7 / 2 ) = lg 7 - lg 2

B: 2 x = 7 logarithmiert zur Basis 10 nicht zu verwechseln mit lg( 7 / 2 ) = lg 7 - lg 2 7. Eponentialgleichungen. Typ: Lässt sich die Eponentialgleichung auf eine Form bringen, in der keine Operationen. Stufe vorkommen, so kann man die beiden Seiten beüglich einer ulässigen Basis, B., 0 oder

Mehr

Übungsklausur Algorithmen I

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

Mehr

Informatik II, SS 2014

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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

JAVA - Suchen - Sortieren

JAVA - Suchen - Sortieren Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik

Mehr

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:

2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung: 2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden

Mehr

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009 Steuerung von Programmabläufen Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2009 7. und 14. Mai 2009 For-Schleifen Bisher: Matlab -Kommandos

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart Institut für maschinelle Sprachverarbeitung Universität Stuttgart schmid@ims.uni-stuttgart.de Die Folien basieren teilweise auf Folien von Mark Johnson. Koordinationen Problem: PCFGs können nicht alle

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Algorithmische Bioinformatik 1

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

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de 4. Sortierverfahren Elementare Sortierverfahren - Sortieren durch

Mehr

Termine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown

Termine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown Kap. Sortieren..5 HeapSort ff..6 Priority Queues Professor Dr. Vorlesung am Do 7.5. entfällt wegen FVV um Uhr Lehrstuhl für Algorithm Engineering, LS Fakultät für nformatik, TU Dortmund 7. VO DAP SS 009

Mehr

Simulation von Zufallsvariablen und Punktprozessen

Simulation von Zufallsvariablen und Punktprozessen Simulation von Zufallsvariablen und Punktprozessen 09.11.2009 Inhaltsverzeichnis 1 Einleitung 2 Pseudozufallszahlen 3 Punktprozesse Zufallszahlen Definition (Duden): Eine Zufallszahl ist eine Zahl, die

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

damit hätten wir nach Ende der Schleife: "a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge".

damit hätten wir nach Ende der Schleife: a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge. Korrektheit Invariante: a[0 k-1] enthält nur Elemente aus a[0 k-1], aber in sortierter Reihenfolge Terminierung: Die Schleife endet mit k=n def insertionsort(a): for k in range( 1, len(a) ): while i >

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

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

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Sortierverfahren. Sortierverfahren für eindimensionale Arrays Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige

Mehr

Bemerkung 2.1: Das Newtonverahren kann auch als sequential quad. minimization verstanden werden: 2.1 Ein globalisiertes Newtonverfahren

Bemerkung 2.1: Das Newtonverahren kann auch als sequential quad. minimization verstanden werden: 2.1 Ein globalisiertes Newtonverfahren Kapitel 2 Newtonverfahren Ziel: Bestimmung von Nullstellen von f (=stationärer Punkt). Dies geschieht mit dem Newtonverfahren. x k+1 = x k ( 2 f (x k )) 1 f (x k ) (2.1) Bemerkung 2.1: Das Newtonverahren

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Kapitel 6 Elementare Sortieralgorithmen

Kapitel 6 Elementare Sortieralgorithmen Kapitel 6 Elementare Sortieralgorithmen Ziel: Kennenlernen elementarer Sortierverfahren und deren Effizienz Zur Erinnerung: Das Sortier-Problem Gegeben: Folge A von n Elementen a 1, a 2,..., a n ; Eine

Mehr

Sortieren. Maple sortiert; Unordnung schaffen. > restart;

Sortieren. Maple sortiert; Unordnung schaffen. > restart; restart; Sortieren Maple sortiert; Unordnung schaffen Vorbemerkung: Maple kann schon selber sortieren. Dazu erzeugen wir erstmal eine unsortierte Liste: > r := rand(1..100): > l := [seq(r(), i=1..10)];

Mehr

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Einführung in Approximative Algorithmen und Parametrisierte Komplexität Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Mobile Objekte Indexstrukturen

Mobile Objekte Indexstrukturen Verteilung und Integration von Informationen im Verkehrsbereich Mobile Objekte Indexstrukturen Ingo Beutler 07.06.2004 Anfragen: z.b. Welche Transporter befinden sich in der Nähe des HSaF? Wie können räumliche

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Temporal Difference Learning

Temporal Difference Learning Temporal Difference Learning Das Temporal Difference (TD) Lernen ist eine bedeutende Entwicklung im Reinforcement Lernen. Im TD Lernen werden Ideen der Monte Carlo (MC) und dynamische Programmierung (DP)

Mehr

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

Der CG-Algorithmus (Zusammenfassung)

Der CG-Algorithmus (Zusammenfassung) Der CG-Algorithmus (Zusammenfassung) Michael Karow Juli 2008 1 Zweck, Herkunft, Terminologie des CG-Algorithmus Zweck: Numerische Berechnung der Lösung x des linearen Gleichungssystems Ax = b für eine

Mehr

Virtuelle Realität Kollisionserkennung

Virtuelle Realität Kollisionserkennung lausthal Virtuelle Realität Kollisionserkennung. Zachmann lausthal University, ermany cg.in.tu-clausthal.de Anwendungsbeispiele Virtual Prototyping Physikalisch basierte Simulation. Zachmann Virtuelle

Mehr

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle

Kapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität

Mehr

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2 Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen

Mehr