KIT Webcast

Algorithmen 1, Vorlesung, SS 2019

Algorithmen 1, Vorlesung, SS 2019

Beschreibung:

  • 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)

Lehrinhalt:

  • 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

Videos:

  • 01: Algorithmik, Langzahl-Multiplikation, Addition, Pseudocode
  • 02: Schulalgorithmus, O-Kalkül, Karatsuba-Ofman-Multiplikation
  • 03: Korrektheit von Algorithmen, Asymptotische Laufzeiten
  • 04: O-Kalkül, Invarianten, Laufzeiten (Teile und Herrsche Ansatz)
  • 05: Laufzeitanalyse, Rekurrenzen, Master Theorem, Folgen als Felder und Listen
  • 06: Folgen, Verkettete Listen, Unbeschränkte Felder, Account-Methode
  • 07: Stapel, Warteschlangen, Hashing, Kollisionen
  • 08: Skip List, Amortisierte Liste, Aggregat Methode, Hotlist, Duplikaterkennung
  • 09: Kollisionen, Universelles Hashing, Kryptographische Hashfunktionen, Einfache Sortieralgorithmen
  • 10: Einfache Sortieralgorithmen, Sortieren durch Mischen, Quicksort
  • 11: Halbrekursive Implementierung, Quicksort vs. Mergesort, Ganzzahliges Sortieren
  • 12: Adaptives Sortieren, Insertion Sort, Natural Merge Sort, Split Sort
  • 13: Prioritätslisten, Binäre Heaps, Adressierbare Prioritätslisten
  • 14: Sortierte Folgen, Binäre Baumsuche, Naives Einfügen, Initialisierung
  • 15: Bucket Sort Spezial, Bucket Queue, Binary Radix Heap
  • 16: Locate, Graphen, Kantenfolgenrepräsentation, Adjazenzfelder
  • 17: Kantenfolgenrepräsentation, Adjazenzfelder, Adjazenzlisten, Adjazenz-Matrix, Graph-Traversierung
  • 18: Dijkstras Algorithmus, Graph-Traversierung, Kürzeste Wege, Tiefensuche
  • 19: Dijkstras Algorithmus, Korrektheit,Bellman-Ford Algorithmus, Kante relaxieren
  • 20: Bellman-Ford Algorithmus, Transit-Node Routing
  • 21: Jarnik-Prim/Kruskals-Algorithmus
  • 22: Generische Optimierungsansätze
  • 23: Dijkstras- und Bellmann Ford Algorithmus, Minimale Spannbäume, Steinerbäume

Algorithmen 2, WS 2018/19

Algorithmen 2, WS 2018/19

Videos:

  • 01: Algorithm Theory
  • 02: Datenstrukturen, Pairung Heaps, Fibonacci Heaps, Union-by-Rank
  • 03: Gray-/JouleSort, Pairing Heaps, Dijkstra’s Algorithmmus
  • 04: Dijkstra’s Algorithmus, Radix-Heaps, Bucket-Queue, Lufzwit Dijkatra, Fibanacci Heaps
  • 05: Monotone ganzzahlige Prioritätslisten, Radix-Heaps, Knotenpotenziale
  • 06: DFS, Bucket Queues, Analyse für MST
  • 07: Schrumpfgraph, SCC Berechnung, Linear programming, Residual Graph, Ford Fulkerson Algorithm
  • 08: Ford Fulkerson Algorithm, Blocking Flows, Dijkstras Algorithmus, Floyd Warshall
  • 09: Ford Fulkerson, Dinitz Algorithm,blocking flows, Dinitz analysis, Pre-flow-push algorithms
  • 10: Preflow-Push Algorithms, Pratial Correctness, FIFO Preflow push, Residualgraph
  • 11:Ford Fulkerson Algorithm, Blocking Flows, Random Graphs, FIFO Preflow push
  • 12: Randomisierte Algorithmen, Cuckoo Hashing, Space Efficient Cuckoo Hashing
  • 13: Cuckoo Hashing, Das Sekundärspeichermodell, Mittelgroße PQs, Analyse – I/Os
  • 14: Spannbäume, Matching, Monte Carlo Simulation, Matrix-Matrix Multiplikation, Coupon Collector
  • 15: Der Approximationsfaktor, Pseudopolynomielle Algorithmen, 9 Fixed-Parameter-Algorithmen
  • 16: Naive tiefenbeschränkte Suche, Kernbildung für Vertex Cover, Parallele Algorithmen,
  • 17: Analyse paralleler Algorithmen, Hyperwürfelalgorithmus, Paralleles Sortieren
  • 18: Paralleles Sortieren, Parallele Algorithmen, Parametrisierte Algorithmen
  • 19: Geometrische Algorithmen, Streckenschnitt, Überlappungen
  • 20: Streckenschnitt, Konvexe Hülle, Geometrische Methoden, Übung
  • 21: Kleinste einschließende Kugel, Wavelet Tree
  • 22: Wavelet Tree, Onlinealgorithmen, Paging
  • 23: Strings sortieren, Suffixe sortieren, Knuth-Morris-Pratt
  • 24: Suffix-Baum, Alphabet-Modell, Übung
  • 25: Suffixtabellen, Differenzenüberdeckungen, LCP-Array, Textkompression
  • 26: LCP-Array, Lempel-Ziv Kompression, Burrows-Wheeler-Transformation
  • 27: SAT Solving, Union-find merging, Graph Contraction, Label Propagation
  • 28: Übung: In-place Multikey Quicksort, Partitionierung, Suffix-Array, LCP-Array
  • 29: Algorithm Engineering, Fortgeschrittene Datenstrukturen, Fortgeschrittene Graphenalgorithmen
  • 30: Approximationsalgorithmen, Pseudopolynomielle Algorithmen, Hyperwürfelalgorithmus

Algorithmen 2, Vorlesung, WS 2019/20

Videos:

  • 01: Rolle der Algorithmik, Algorithm Engineering, Algorithm Libraries
  • 02: Experimental Methodology, Adressierbare Prioritätenlisten, Pairing Heaps
  • 03: Fortgeschrittene Datenstrukturen, Binomialbäume, Fortgeschrittene Graphenalgorithmen
  • 04: Binomialbäume, Radix-Heaps, deleteMin-Operationen
  • 05: All-Pairs Shortest Paths, Knotenpotentiale, Routenplanung
  • 06: Repräsentation offener Komponenten, Übung: Spezielle Priority Queues, Radix Heaps
  • 07: Maximum Flows and Matchings, s-t Cuts, Ford Fulkerson Algorithm, Dinitz Algorithm
  • 08: Computer Blocking Flows, Übung: Kürzeste-Wege-Suche, Bidirektionale Suche, A*-Suche
  • 09: Ford Fulkerson Algorithm, Level Function, Partial Correctness, FIFO Preflow push
  • 10: Flows and Matchings, MFIFO Modified FIFO Selection Rule, Timings: CG 1, CG2, AMO
  • 11: Randomisierte Algorithmen: Sort Checking, Hashing; Externe Algorithmen
  • 12: Externe Algorithmen: Externe Prioritätslisten, Übung: Potentialmethode, preflow-push Algorithmus
  • 13: Approximationsalgorithmen: Approximationsfaktor; Pseudopolynomielle Algorithmen
  • 14: Fixed-Parameter-Algorithmen, Naive tiefenbeschränkte Suche, Kernbildung für Vertex Cover, Übung
  • 15: Fixed-Parameter-Algorithmen, Parallele Algorithmen, Hyperwürfelalgorithmus
  • 16: Paralleles Sortieren: Anfänger- und Theoretiker-Parallelisierung, Mehrwegmischen, Übung
  • 17: Geometrische Algorithmen, Übung: Approximationsalgorithmen, Parametrisierte Algorithmen
  • 18: Streckenschnitt, 2D Konvexe Hülle, Kleinste einschließende Kugel, 2D Bereichssuche
  • 19: Bitvektoren, Übung: Geometrische Algorithmen, Bitvektoren, 2D Range Queries, Linienschnitt
  • 20: Onlinealgorithmen, Paging algorithms, Conservative algorithms, Randomized algorithms
  • 21: Stringology (Zeichenkettenalgorithmen): Strings sortieren, Knuth-Morris-Pratt, Border-Array
  • 22: Stringology: Notation, Suffixe sortieren, Suffixbaum, Übung: Online Algorithmen
  • 23: SA mit Präfix Verdopplung, Rekursion, COBS
  • 24: LCP-Array, Verlustfreie Textkompression, Übung: in-place Multikey Quicksort, LCP-Array
  • 25: Datenkompression, Lempel-Ziv Kompression, Burrows Wheeler Transformation, Backward Search
  • 26: Efficient Document Retrieval on General Sequences
  • 27: Pairing Heaps, Bucket Queue, Residual Graph, Randomisierte Algorithmen
  • 28: Approximationsalgorithmen, Fixed-Parameter-Algorithmen, Parallele Algorithmen, Stringology

Theoretische Grundlagen der Informatik, Vorlesung, WS 2019/20

Videos:

  • 01: Formale Sprachen, Reguläre Sprachen, Reguläre Ausdrücke, Endliche Automaten
  • 02: Kontextfreie Grammatiken, Nichtderterministische endliche Automaten, Potenzmengenkonstruktion
  • 03: Entfernen von ɛ​-Übergängen, Satz von Kleene, Pumping-Lemma für reguläre Sprachen
  • 04: Pumping-Lemma für reguläre Sprachen, Verallgemeinertes Pumping-Lemma, Äquivalenzklassenautomat
  • 05: Äquivalenz, Rechtsinvarianz und Index, Satz von Nerode, Registermaschine, Turingmaschine
  • 06: Turing-Maschine, berechenbar/totalrekursiv, Gödelnummer, Diagonalsprache
  • 07: Satz von Rice, Post’sches Korrespondenzproblem, Kodierungsschemata, Entscheidungsproblem
  • 08: Nichtdeterministische Turingmaschine, Polynomiale Transformation, Satz von Cook
  • 09: Die Probleme 3SAT, 2SAT, MAX2SAT, CLIQUE, COLOR und EXACT COVER
  • 10: Die Probleme SUBSET SUM, PARTITION und KNAPSACK, Polynomielle Hierarchie, Suchprobleme
  • 11: Problem INTEGER PROGRAMMING, Pseudopolynomiale Algorithmen, Absolute Approximationsalgorithmen
  • 12: Metrisches TSP, Approximationsschemata, Maximierungsprobleme, Optimierungsprobleme
  • 13: Grammatiken, Chomsky-Hierarchie
  • 14: Pumping-Lemma und Ogden´s Lemma für kontextfreie Sprachen, Eigenschaften kontextfreier Sprachen
  • 15: Eigenschaften kontextfreier Sprachen, Greibach-Normalform, Kellerautomaten
  • 16: Kellerautomaten, Greibach-Normalform, Sprache der korrekten Rechenwege
  • 17: Informationstheorie, Entropie, Kodierungsbäume, Lauflängenkodierung
  • 18: Paritätscodes, Kreuzsicherung, Block-Codes, Hamming-Distanz und Fehlerkorrektur

Google Machine Learning Crash Course

Machine Learning Crash Course
ML Practicum: Image Classification
Build convolutional neural networks (CNNs) to enhance computer vision

Artificial intelligence and machine learning
Image Segmentation

  • Artificial Intelligence Concepts
  • Search
  • Decision Theory
  • Reinforcement Learning
  • Artificial Neural Networks
  • Back-propagation
  • Feature Extraction
  • Deep Learning
  • Convolutional Neural Networks
  • Deep Reinforcement Learning
  • Distributed Learning
  • Python/Matlab deep learning library

Image Processing and Analysis
von Stan Birchfield

Medium – Towards Data Science

Understanding AUC – ROC Curve
Understanding and Implementing LeNet-5 CNN Architecture (Deep Learning)

Wikipedia

Convolutional Neural Network
ROC-Kurve
Fläche unter der Kurve, Area Under the Curve (AUC)
Receiver operating characteristic curve, ROC curve

ESP32 Touch Screen

Open Smart

  • HX8357

OPEN-SMART 3,5 zoll 480*320 TFT LCD Touchscreen Breakout Modul Kit mit Einfach-stecker UNO r3 Air Board für Arduino UNO R3/Nano
OPEN-SMART 3,5 “zoll TFT LCD Schild Touchscreen Breakout Board modul mit Touch Stift für Arduino UNO r3/Nano/Mega2560
3,5 zoll 480×320 TFT Breakout Board Expansion Modul LCD Touch Screen 480×320 Mit Touch Stift Für UNO R3 Nano Mega2560

OPEN SMART 3 5inch TFT LCD RM68140 with Touch Screen tutorial for Arduino
OPEN SMART 3 0inch TFT LCD with Touch Screen tutorial for Arduino
OPEN SMART 2 8inch TFT LCD ILI9320 with Touch Screen tutorial for Arduino

github.com/Bodmer/TFT_HX8357, Arduino library for HX8357 TFT display

3C-top seller

3,5 zoll 480×320 TFT Breakout Board Expansion Modul LCD Touch Screen 480×320 Mit Touch Stift Für UNO R3 Nano Mega2560

ESP32 VSPI / HSPI

SPI Master Driver

ESP32 integrates four SPI peripherals.

  • SPI0 and SPI1 are used internally to access the ESP32’s attached flash memory and thus are currently not open to users. They share one signal bus via an arbiter.
  • SPI2 and SPI3 are general purpose SPI controllers, sometimes referred to as HSPI and VSPI, respectively. They are open to users. SPI2 and SPI3 have independent signal buses with the same respective names. Each bus has three CS lines to drive up to three SPI slaves.

How to use both VSPI & HSPI SPI buses simultaneously? #790
How to work/interfacing with more than 8 SPI devices on ESP32 #1904
Using multiple SPI devices with ESP32

github.com/espressif/arduino-esp32/blob/master/libraries/SPI/examples/SPI_Multiple_Buses/SPI_Multiple_Buses.ino