Ausgewählte Kapitel der Algorithmik
Wintersemester 2006/2007
Prof. Dr.(USA) Martin Dietzfelbinger
Vorlesung: Dienstag, 11.00 - 12.30 Uhr , HU 117
(Ausgewählte Kapitel der Algorithmik)
Randomisierte Hashverfahren: Entwurf, Analyse, Anwendungen
Beginn: 17.10.2006
„Hashing“ oder „Schlüsseltransformation“: Aus einem Schlüssel x, einem Namen, der etwa einen Datensatz oder eine Speicherzelle identifiziert, wird ein Index h(x) berechnet. Idealerweise ist h(x) ein „zufälliger“ Wert. In der Vorlesung werden verschiedene Konstruktionen beschrieben, die dieser Annahme der Zufälligkeit nahe kommen, und es werden Konsequenzen aus verschiedenen Graden der Zufälligkeit hergeleitet. Weiter werden Anwendungen von Hashfunktionen beschrieben, von Realisierungen der klassischen Datentypen „Menge“ und „Wörterbuch“ über „Bloom-Filter“ (approximative Darstellung von Mengen - wichtig in Netz-Anwendungen) bis hin zu Techniken für die Verbesserung von „schlechten“ Zufallszahlen.
Dabei finden verschiedene Bereiche der diskreten Mathematik Verwendung: Kombinatorik/Zählen, Wahrscheinlichkeitsrechnung, endliche Körper, Graphentheorie/Zufallsgraphen. Die notwendigen Werkzeuge werden in der Vorlesung bereitgestellt.
Hörer: Informatik-Studierende im Hauptstudium, die eine Vertiefung im Bereich „Algorithmik“ (insbesondere Randomisierte Algorithmen) anstreben. Die Vorlesung dient auch der Vorbereitung auf Studien- und Diplomarbeiten im Fachgebiet.
Scheinerwerb: Fachgespräch
Prüfungsrelevanz: SK oder EK „Komplexitätstheorie und Effiziente Algorithmen“ in der Vertiefungsgebietsprüfung.
Literatur: Originalarbeiten.
Die Themen im einzelnen:
-
Universelle Hashklassen - Zweifache Unabhängigkeit: Entwurf, Analysemethoden -
Universelle Hashklassen - d-fache Unabhängigkeit: Polynomielle Hashklassen, Matrixbasierte Konstruktionen -
High-Performance Hashklassen - (fast) zufälliges Verhalten -
Perfektes Hashing: Konstruktion von injektiven Funktionen mit konstanter Auswertezeit -
Analyse von idealem (vollständig zufälligem) Hashing: Verteilung der Fachgrößen. -
Cuckoo-Hashing: konstante Zugriffszeit im schlechtesten Fall -
Verallgemeinerungen von Cuckoo-Hashing: d-äres Cuckoo Hashing und das Two-Choice-Paradigma -
Bloom-Filter: platzsparendes Speichern von Mengen -
Anwendung: Simulation von gemeinsamem Speicher bei Parallelrechnern - Anwendung (Algorithmische Geometrie): Finden von nächsten Nachbarn in Punktmengen im mehrdimensionalen Raum.
- Extractors: Wie man aus ungleichmäßig zufälligen Bitfolgen besser zufällige extrahiert.
Dokumente zur VorlesungExistenz von schwachen Expandern
Folien 06.02.2007
|