Algorithmen 1, SS2017, Vorlesung
Algorithmen 1, SS2017, Vorlesung
Karlsruher Institut für Technologie (KIT)
Algorithmen 1, SS2017, Vorlesung
23: Algorithmen 1, Vorlesung, SS 2017, 24.07.2017
23 | 0:00:00 Starten 0:00:06 Schnuppervorlesung Sicherheit 0:00:39 Überblick 0:03:10 Ziel 0:04:56 Motivation 0:09:01 Grundidee 0:11:20 Erste Eigenschaften 0:14:56 Überblick RSA 0:21:55 RSA-Schlüsselgenerierung 0:28:49 Korrektheit von RSA 0:38:04 Sicherheit? 0:43:31 Semantische Sicherheit für Public-Key-Verschlüsselung 0:50:04 Äquivalenter Begriff: IND-CPA 0:55:11 Sicherheit von RSA 0:56:43 Weitere Angriff auf RSA 0:59:31 Homomorphie von RSA 1:01:57 RSA-Padding 1:05:57 RSA-OAEP 1:07:17 Sicherheit von RSA-OAEP 1:09:35 Relevanz von RSA (-OAEP) 1:12:20 Mehr über ElGamal Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: - Ergebnisüberprüfung (Checkers) und Zertifizierung - Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert - Grundbegriffe des Algorithm Engineering - Effektive Umsetzung verketteter Listen - Unbeschränkte Arrays, Stapel, und Warteschlangen - Hashtabellen: mit Verkettung, linear probing, universelles Hashing - Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort - Selektion: quickselect - Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten - Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit - Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorithmus, Bellman-Ford Algorithmus, Minimale Spannbäume: Kruskals Algorithmus, Jarnik-Prim Algorithmus) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) Literaturhinweise: Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn und P. Sanders Springer 2008 Weiterführende Literatur Algorithmen - Eine Einführung T. H. Cormen, C. E. Leiserson, R. L. Rivest, und C. Stein, Oldenbourg, 2007 Algorithmen und Datenstrukturen T. Ottmann und P. Widmayer, Spektrum Akademischer Verlag, 2002 Algorithmen in Java. Teil 1-4: Grundlagen, Datenstrukturen, Sortieren, Suchen R. Sedgewick, Pearson Studium 2003 Algorithm Design J. Kleinberg and É. Tardos, Addison Wesley, 2005 Vöcking et al. Taschenbuch der Algorithmen, Springer, 2008 Lehrinhalt: Dieses Modul soll Studierenden grundlegende Algorithmen und Datenstrukturen vermitteln. Die Vorlesung behandelt unter anderem: - Grundbegriffe des Algorithm Engineering - Asymptotische Algorithmenanalyse (worst case, average case, probabilistisch, amortisiert) - Datenstrukturen z. B. Arrays, Stapel, Warteschlangen und Verkettete Listen - Hashtabellen - Sortieren: vergleichsbasierte Algorithmen (z.B. quicksort, insertionsort), untere Schranken, Linearzeitalgorithmen (z.B. radixsort) - Prioritätslisten - Sortierte Folgen,Suchbäume und Selektion - Graphen (Repräsentation, Breiten-/Tiefensuche, Kürzeste Wege, Minimale Spannbäume) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) - Geometrische Algorithmen
Jul 27, 2017
1 hr 22 min
Video
22: Algorithmen 1, Vorlesung, SS 2017, 17.07.2017
22 | 0:00:00 Starten 0:01:04 Kap. 13: Zusammenfassung 0:02:22 Zusammenfassung - Datenstrukturen 0:07:39 Zusammenfassung - Algorithmen 0:11:29 Zusammenfassung - Entwurfstechniken I 0:15:46 Zusammenfassung - Entwurfstechniken II 0:20:07 Zusammenfassung - Analysetechniken 0:26:12 Zusammenfassung - weitere Techniken
Jul 20, 2017
35 min
Video
21: Algorithmen 1, Übung, SS 2017, 12.07.2017
21 | 0:00:00 Starten 0:00:06 Roadmap Übung 0:00:38 Schwierige Probleme 0:09:30 Erinnerung: Lineare Programme 0:15:36 Erinnerung: Travelling Salesman Problem 0:17:15 Ein ILP für TSP 0:24:57 Heuristiken 0:25:55 Ameisenalgorithmen 0:30:41 Vertex Cover 0:32:22 Approximation 0:34:48 Eine Approximation für Vertex Cover 0:39:05 Metaheuristiken und Nachbarschaften 0:40:20 Nachbarschaftsmetaheuristiken 0:44:43 Lokale Suche für Vertex Cover 0:47:12 Tabu-Suche für Vertex Cover
Jul 14, 2017
55 min
Video
20: Algorithmen 1, Vorlesung, SS 2017, 10.07.2017
20 | 0:00:00 Starten 0:03:19 Wdh. Dynamische Programmierung 0:08:34 Algorithmenentwurf mittels dynamischer Programmierung 0:14:18 Anwendungen dynamischer Programmierung 0:17:38 Gegenbeispiel: Teilproblemeigenschaft 0:18:42 Gegenbeispiel: Austauschbarkeit 0:20:53 Systematische Suche 0:23:44 Beispiel: Branch-and-Bound für das Rucksackproblem 0:32:09 Beispielrechnung 0:41:30 Branch-and-Bound - allgemein 0:44:33 Lokale Suche - global denken, lokal handeln 0:47:55 Hill Climbing 0:48:51 Problem: Lokale Optima 0:49:53 Warum die Nachbarschaft wichtig ist 0:53:40 Jenseits von Hill Climbing 1:01:08 Evolutionäre Algorithmen 1:03:50 Zusammenfassung
Jul 13, 2017
1 hr 12 min
Video
19: Algorithmen 1, Vorlesung und Übung, SS 2017, 05.07.2017
19 | 0:00:00 Starten 0:00:06 Kap. 12: Generische Optimierungsansätze 0:01:08 Durchgehendes Beispiel: Rucksackproblem 0:04:07 Black-Box-Löser 0:04:40 Lineare Programmieurng 0:08:09 Beispiel: Kürzeste Wege 0:09:11 Eine Anwendung - Tierfutter 0:10:38 Verfeinerungen 0:11:52 Algorithmen und Implementierungen 0:13:15 Ganzzahlige Lineare Programmierung 0:16:09 Umgang mit (M)ILPs 0:18:39 Optimale Greedy-Algorithmen 0:23:56 Dynamische Programmierung - Aufbau aus Bausteinen 0:31:11 Dynamische Programmieurng 0:47:57 Übung: Kürzeste Wege Algorithmen: Bellman-Ford 0:56:11 Minimale Spannbäume 0:59:32 Steinerbäume 1:07:49 Problem des Handlungsreisenden (TSP)
Jul 7, 2017
1 hr 14 min
Video
18: Algorithmen 1, Vorlesung, SS 2017, 03.07.2017
18 | 0:00:00 Starten 0:00:06 Kap. 11: Minimale Spannbäume 0:03:34 Anwendungen 0:13:56 Der Jarnik-Prim-Algorithmus 0:24:48 Kruskals Algorithmus 1:03:02 Vergleich Jarnik-Prim Kruskal 1:04:09 Mehr MST-Algorithmen 1:06:50 Zusammenfassung
Jul 7, 2017
1 hr 10 min
Video
17: Algorithmen 1, Vorlesung und Übung, SS 2017, 28.06.2017
17 | 0:00:00 Starten 0:00:37 Mehr zu kürzesten Wegen 0:02:22 Exkurs: Routing in Straßennetzwerken 0:05:58 Distanz zu einem Zielknoten t 0:07:25 Ideen für Routenplannung 0:10:51 Approach: Transit-Node Routing 0:16:55 Erste Beobachtung 0:19:01 Zweite Beobachtung 0:20:27 Transit-Node Routing 0:24:28 Experimente 0:27:25 Offene Fragen 0:29:46 Anfang der Übung 0:30:02 Breitensuche 0:41:12 Tiefensuche 0:51:20 Dijkstras Algorithmus
Jul 4, 2017
1 hr 2 min
Video
16: Algorithmen 1, Vorlesung, SS 2017, 26.06.2017
16 | 0:00:00 Starten 0:00:10 Allgemeine Definition 0:02:19 Kante (u,v) relaxieren 0:04:30 Dijkstras Algorithmus 0:06:53 Beispiel 0:11:27 Korrektheit 0:12:23 v erreichbar -> 0:14:39 v gescannt -> 0:18:46 Dijkstra: Implementierung? 0:20:01 Prioritätsliste 0:21:03 Imlementierung 0:25:38 Beispiel 0:29:27 Dijkstra: Laufzeit 0:36:22 Analyse im Mittel 0:37:23 Monotone ganzzahlige Prioritätslisten 0:38:02 Negative Kosten 0:42:21 Zurück zu Basiskonzepten 0:45:16 Allgemeines Korrektheitskriterium 0:50:42 Algorithmen brutal - Bellman-Ford-Algorithmus für beliebige Kantengewichte 0:54:05 Negative Kreise finden 0:55:47 Beispiel 0:58:14 Bellmann-Ford – Laufzeit 0:59:24 Azyklische Graphen 1:01:11 Von überall nach überall 1:02:57 Kürzeste Wege: Zusammenfassung
Jul 4, 2017
1 hr 4 min
Video
15: Algorithmen 1, Vorlesung, SS 2017, 19.06.2017
15 | 0:00:00 Starten 0:00:08 Tiefensuche 0:11:31 DFS-Baum 0:28:38 Topologische Sortierung 0:40:32 Kap. 10: Kürzeste Wege 0:45:23 Grundlagen 0:52:47 Allgemeine Definitionen 0:58:31 Dijkstras Algorithmus: Pseudocode Das Modul beinhaltet die 'Basic Toolbox der Algorithmik'. Im Einzelnen werden folgende Themen bearbeitet: - Ergebnisüberprüfung (Checkers) und Zertifizierung - Asymptotische Algorithmenanalyse: worst case, average case, probabilistisch, amortisiert - Grundbegriffe des Algorithm Engineering - Effektive Umsetzung verketteter Listen - Unbeschränkte Arrays, Stapel, und Warteschlangen - Hashtabellen: mit Verkettung, linear probing, universelles Hashing - Sortieren: effiziente Algorithmen (mergesort, quicksort), untere Schranken, radix sort - Selektion: quickselect - Prioritätslisten: binäre Heaps, addrssierbare Prioritätslisten - Sortierte Folgen/Suchbäume: Wie unterstützt man alle wichtigen Operationen in logarithmischer Zeit - Graphen (Repräsentation, Traversierung: Breitensuche, Tiefensuche, Anwendungen (topologisches Sortieren,...), Kürzeste Wege: Dijkstra's Algorithmus, Bellman-Ford Algorithmus, Minimale Spannbäume: Kruskals Algorithmus, Jarnik-Prim Algorithmus) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) Literaturhinweise: Algorithms and Data Structures - The Basic Toolbox, K. Mehlhorn und P. Sanders Springer 2008 Weiterführende Literatur Algorithmen - Eine Einführung T. H. Cormen, C. E. Leiserson, R. L. Rivest, und C. Stein, Oldenbourg, 2007 Algorithmen und Datenstrukturen T. Ottmann und P. Widmayer, Spektrum Akademischer Verlag, 2002 Algorithmen in Java. Teil 1-4: Grundlagen, Datenstrukturen, Sortieren, Suchen R. Sedgewick, Pearson Studium 2003 Algorithm Design J. Kleinberg and É. Tardos, Addison Wesley, 2005 Vöcking et al. Taschenbuch der Algorithmen, Springer, 2008 Lehrinhalt: Dieses Modul soll Studierenden grundlegende Algorithmen und Datenstrukturen vermitteln. Die Vorlesung behandelt unter anderem: - Grundbegriffe des Algorithm Engineering - Asymptotische Algorithmenanalyse (worst case, average case, probabilistisch, amortisiert) - Datenstrukturen z. B. Arrays, Stapel, Warteschlangen und Verkettete Listen - Hashtabellen - Sortieren: vergleichsbasierte Algorithmen (z.B. quicksort, insertionsort), untere Schranken, Linearzeitalgorithmen (z.B. radixsort) - Prioritätslisten - Sortierte Folgen,Suchbäume und Selektion - Graphen (Repräsentation, Breiten-/Tiefensuche, Kürzeste Wege, Minimale Spannbäume) - Generische Optimierungsalgorithmen (Greedy, Dynamische Programmierung, systematische Suche, Lokale Suche) - Geometrische Algorithmen
Jun 22, 2017
1 hr
Video
14: Algorithmen 1, Vorlesung, SS 2017, 14.06.2017
14 | 0:00:00 Starten 0:00:36 Kap. 8: Repräsentation von Graphen: Einleitung 0:04:35 Repräsentation von Graphen 0:08:29 Notation und Konventionen 0:09:48 Ungerichtete -> gerichtete Graphen 0:10:30 Operationen 0:14:03 Kantenfolgenrepräsentation 0:15:33 Adjazenzfelder 0:19:36 Kantenliste -> Adjazenzfeld 0:26:21 Operationen für Adjazenzfelder 0:29:26 Kantenanfragen 0:30:00 Adjazenzlisten 0:32:47 Customization (Zuschneiden) 0:34:27 Beispiel: DAG- Erkennung 0:42:56 Adjazenz-Matrix 0:47:51 Pfad zählen mittels LA 0:50:29 Beispiel, wo Graphentheorie bei LA hilft 0:52:19 Implizite Repräsentation 0:54:03 ZUsammenhangstest für Intervallgraphen 0:58:16 Beispiel 1:00:30 Graphenrepräsentation: Zusammenfassung 1:02:42 Kap. 9: Graphtraversierung 1:04:26 Graphtraversierung als Kantenklassifizierung 1:09:14 Breitensuche 1:16:32 Repräsentation des Baums
Jun 19, 2017
1 hr 25 min
Video
Load more