Hier finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden des Theorieteils, Tipps zum Weiterlesen und gelegentlich ergänzende Bemerkungen.
Kapitel 1: "Grundbegriffe" Heute: Festlegung grundlegender Notationen, u.a. Schema, Datenbank, konjunktive Anfragen (kurz: CQ), Homomorphismus von einer Anfrage Q auf eine Datenbank D, Beispiele für Anfragen, das Auswertungsproblem (kurz: AWP) für CQ, ein naiver Algorithmus zum Lösen des AWP für CQ, Satz von Chandra und Merlin über die NP-Vollständigkeit des AWP für 0-stellige CQ.
Material: handschriftliche Notizen zu Kapitel 1
Weitere Lektüre:
[CM] ist die Originalarbeit von Chandra und Merlin.
Die Arbeit [G-Param] gibt einen Überblick über Konzepte der parametrisierten Komplexitätstheorie.
Abschluss von Kapitel 1: "Grundbegriffe" - Heute: Folgerung aus der NP-Vollständigkeit des Auswertungsproblems für 0-stellige CQ;
ein Satz von Papadimitriou und Yannakakis (ohne Beweis)
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute:
Klärung zur Frage, wie man alle "Dreiecke" in einem gerichteten Graphen berechnen kann; ein Satz über die maximale Anzahl von
Dreiecken (Beginn des Beweises)
Material: handschriftliche Notizen zu Kapitel 1; handschriftliche Notizen zu Kapitel 2: Teil 1
Weitere Lektüre:
Die Arbeit [NPRR] enthält (neben vielem Anderen) Informationen zur Anzahl der Dreiecke.
Übungsaufgaben:
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Beweis des Satzes über die maximale Anzahl von Dreiecken; ein Algorithmus, der mit Laufzeit O((Anzahl Kanten)3/2) alle Dreiecke ausgibt, die in dem Eingabe-Graph vorkommen; Definition des Begriffs Join-Anfragen inkl. Beispiele
Material: handschriftliche Notizen zu Kapitel 2: Teil 1, Teil 2
Weitere Lektüre:
Die Arbeit [NPRR] enthält (neben vielem Anderen) Informationen zur Anzahl der Dreiecke.
Übungsaufgaben:
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Überlegungen dazu, wie viele Tupel es im Anfrageergebnis Q(D) einer Join-Anfrage Q höchstens geben kann; Definition der folgenden Begriffe: Anfrage-(Hyper)Graph GQ, Kantenüberdeckung eines Hypergraphen (und einer Join-Anfrage), fraktionale Kantenüberdeckung eines Hypergraphen (und einer Join-Anfrage), Formulierung der AGM-Schranke; Beispiele zur Anwendung der AGM-Schranke
Material: handschriftliche Notizen zu Kapitel 2: Teil 2, Teil 3
Weitere Lektüre:
Die Arbeit [G-AGM]
gibt einen Überblick über die AGM-Schranke sowie intuitive Erklärungen zum Thema.
[AGM] ist die Originalarbeit von Atserias, Grohe und Marx, in der die
AGM-Schranke bewiesen wurde.
Übungsaufgaben:
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Überlegungen dazu, wie man für eine gegebene Join-Anfrage Q und Zahlen N1, ..., Nm eine fraktionale Kantenüberdeckung x von Q finden kann, für die das Produkt der Werte Nix(i) (für alle i) kleinstmöglich wird — Formulierung als lineares Optimierungsproblem über den rationalen Zahlen; Vorarbeiten zum Beweis der AGM-Schranke — grundlegende Begriffe aus der Wahrscheinlichkeitsrechnung: endliche Wahrscheinlichkeitsräume, Zufallsvariablen, die Entropie eines endlichen Wahrscheinlichkeitsraums, die Entropie einer Zufallsvariablen; Formulierung von Shearer's Lemma
Material: handschriftliche Notizen zu Kapitel 2: Teil 3
Weitere Lektüre:
Die Arbeit [G-AGM]
gibt einen Überblick über die AGM-Schranke sowie intuitive Erklärungen zum Thema.
[AGM] ist die Originalarbeit von Atserias, Grohe und Marx, in der die
AGM-Schranke bewiesen wurde.
Das Buch [T] gibt eine Einführung zum Begriff der Entropie.
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Beweis der AGM-Schranke (unter Verwendung von Shearer's Lemma); Formulierung einer Aussage zur Optimalität der AGM-Schranke und Vorarbeiten zum Beweis dieser Optimalität: lineare Optimierungsprobleme, LP-Dualität und der starke Dualitätssatz
Material: handschriftliche Notizen zu Kapitel 2: Teil 3, Teil 4
Weitere Lektüre:
Die Arbeit [G-AGM]
gibt einen Überblick über die AGM-Schranke sowie intuitive Erklärungen zum Thema.
[AGM] ist die Originalarbeit von Atserias, Grohe und Marx, in der die
AGM-Schranke bewiesen wurde.
Das Buch [T] gibt eine Einführung zum Begriff der Entropie.
Übungsaufgabe:
Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Beweis der Optimalität der AGM-Schranke; Erweiterung der AGM-Schranke auf Projektionen von Join-Anfragen
Material: handschriftliche Notizen zu Kapitel 2: Teil 4, Teil 5
Weitere Lektüre:
Die Arbeit [G-AGM]
gibt einen Überblick über die AGM-Schranke sowie intuitive Erklärungen zum Thema.
[AGM] ist die Originalarbeit von Atserias, Grohe und Marx, in der die
AGM-Schranke bewiesen wurde.
In der Arbeit [GLV] haben Gottlob, Lee und Valiant die AGM-Schranke zu einer Schranke
erweitert, die für alle konjunktiven Anfragen gilt.
Übungsaufgabe:
Abschluss von Kapitel 2: Die AGM-Schranke und andere obere Schranken für die Größe von Anfrageergebnissen - Heute: Erweiterung der AGM-Schranke auf Projektionen von Join-Anfragen und auf allgemeine konjunktive Anfragen, in denen keine Konstanten vorkommen
Material: handschriftliche Notizen zu Kapitel 2: Teil 5, Teil 6
Weitere Lektüre:
Die Arbeit [G-AGM]
gibt einen Überblick über die AGM-Schranke sowie intuitive Erklärungen zum Thema.
[AGM] ist die Originalarbeit von Atserias, Grohe und Marx, in der die
AGM-Schranke bewiesen wurde.
In der Arbeit [GLV] haben Gottlob, Lee und Valiant die AGM-Schranke zu einer Schranke
erweitert, die für alle konjunktiven Anfragen (in denen keine Konstanten vorkommen) gilt.
Übungsaufgabe:
Kapitel 3: Aufzählung von Anfrageergebnissen mit konstanter Verzögerung - Heute: verschiedene Aspekte der Auswertung von konjunktiven Anfragen unter updates (Zählen, Testen, Aufzählen mit konstanter Verzögerung); der Begriff der hierarchischen und der q-hierarchischen konjunktiven Anfragen; Grundlagen zur Komplexität von Matrixmultiplikation; die OMv-Vermutung; Nachweis der unteren Schranke für's Aufzählen von Anfrageergebnissen
Material: Folien - heute: Folien 1-13; Kapitel 3 (Seiten 6-8) und Kapitel 5 (vor allem: Abschnitte 5.1-5.3, d.h. Seiten 10-13) der Arbeit [BKS]
Weitere Lektüre:
Dieses Kapitel beruht auf der Arbeit
[BKS].
Kapitel 3: Aufzählung von Anfrageergebnissen mit konstanter Verzögerung - Heute: die OuMv-Vermutung; die OV-Vermutung; Beweisidee zum Nachweis der unteren Schranke für's Zählproblem; Formulierung der oberen Schranke; der Begriff eines q-Tree
Material: Folien - heute: Folien 13-19; Kapitel 3 (Seiten 6-8) und Kapitel 5 (vor allem: Abschnitte 5.1-5.3, d.h. Seiten 10-13) der Arbeit [BKS]
Weitere Lektüre:
Dieses Kapitel beruht auf der Arbeit
[BKS].
Übungsaufgabe:
Abschluss von Kapitel 3: Aufzählung von Anfrageergebnissen mit konstanter Verzögerung - Heute: der Begriff eines q-tree und ein Algorithmus zur Konstruktion von q-Trees; ein Verfahren zur effizienten Auswertung von q-hierarchischen Anfragen unter Berücksichtigung von Datenbank-Updates (zunächst Illustration an einem Beispiel; danach Details zum allgemeinen Verfahren)
Material: Folien - heute: Folien 17-21; Kapitel 4 (Seiten 8-10) und Kapitel 6 (vor allem: Seiten 17-22) der Arbeit [BKS]
Weitere Lektüre:
Dieses Kapitel beruht auf der Arbeit
[BKS].
Kapitel 4: Leapfrog-Triejoin — ein worst-case-optimaler Join-Algorithmus - Heute: das leapfrog-join-Verfahren zur Berechnung des Durchschnitts von k Mengen; die trie-Repräsentation von Relationen; das leapfrog-triejoin-Verfahren zur Auswertung von Join-Anfragen
Material: Kapitel 1-3 (Seiten 91-101) der Arbeit [V]
Weitere Lektüre:
Dieses Kapitel beruht auf der Arbeit
[V].
Übungsaufgaben:
Abschluss von Kapitel 4: Leapfrog-Triejoin — ein worst-case-optimaler Join-Algorithmus - Heute: Details zur Laufzeitanalyse des leapfrog-triejoin-Verfahrens und zu Möglichkeiten der Realisierung der einzelnen verwendeten Iteratoren innerhalb eines Datenbanksystems
Material: Kapitel 1-4 der Arbeit [V]
Weitere Lektüre:
Dieses Kapitel beruht auf der Arbeit
[V].
Übungsaufgaben: