Datenbanktheorie Sommersemester 2012 - Thomas Schwentick Teil F: Unvollständige Daten 18: Algorithmen und Komplexität Version von: 8. Juli 2012 (13:55) Algorithmische Probleme • Für Datenbanken mit unvollständigen Daten ergeben sich zum Teil völlig neue algorithmische Probleme Definition: M ÖGLICHE DB Gegeben: IDB I , DB D Frage: Ist D • Außerdem ergeben sich neue algorithmische Probleme im Zusammenhang mit der Anfrageauswertung: Definition: M ÖGLICHES E RGEBNIS T UPEL Gegeben: IDB I , Anfrage q , Tupel t ∈ P(I)? Frage: Ist t ∈ JqK(D) für ein D ∈ P(I)? Definition: E INDEUTIGE DB Definition: S ICHERES E RGEBNIS T UPEL Gegeben: IDB I , DB D Frage: Ist P(I) = {D}? Definition: S ICHERES T UPEL Gegeben: IDB I , Tupel t Frage: Ist t ∈ D für jedes D ∈ P(I)? Definition: IC ONT ⊆ P(I2 )? DBT / Schwentick / SoSe 12 Frage: Ist t ∈ JqK(D) für jedes D ∈ P(I)? • Die Komplexität hängt natürlich jeweils von der Anfragesprache ab • Zu unterscheiden sind außerdem wieder Da- Gegeben: IDBs I1 ,I2 Frage: Ist P(I1 ) Gegeben: IDB I , Anfrage q , Tupel t tenkomplexität und kombinierte Komplexität Unvollständige Daten 18. Algorithmen und Komplexität . Folie 1 Mögliche Datenbanken (1/3) Satz 18.1 [Abiteboul et al. 91] (a) M ÖGLICHE DB ist in P für Codd-Tabellen (b) M ÖGLICHE DB ist NP-vollständig für V-Tabellen und C-Tabellen Beweisskizze für Satz 18.1 (a) • Gegeben I und D wird zunächst für jedes Tupel t aus D und jedes Tupel u ∈ I getestet, ob sie zueinander passen, d.h., ob t durch Einsetzen von Werten für die Variablen aus u entstehen kann • Danach wird überprüft, – ob es zu jedem Tupel u in I ein passendes Tupel t in D gibt, und – ob es eine injektive Funktion gibt, die jedem D Tupel ein passendes I -Tupel zuordnet ∗ Dafür kann ein Algorithmus für maximale Matchings in bipartiten Graphen verwendet werden DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 2 Mögliche Datenbanken (2/3) Beispiel Beweisskizze für Satz 18.1 (b) • Für die obere Schranke: – es genügt jeweils eine Belegung der Variablen mit Datenwerten zu raten und zu überprüfen, ob sie konsistent ist v2 v3 v1 v4 • Für G = • Die untere Schranke erhalten wir durch eine Reduktion vom 3-Färbbarkeitsproblem für Graphen • Sei G = (V,E) ein ungerichteter Graph mit Knoten v1 , . . . ,vn • Für jeden Knoten vi verwenden wir eine Variable ⊥i • I hat eine 2-stellige V-Tabelle RI mit den Tupeln – h⊥i ,⊥j i für jede Kante (vi ,vj ) ∈ E und – h1,2i,h1,3i,h2,1i,h2,3i,h3,1i,h3,2i • ergeben sich die Relationen: • D hat eine 2-stellige Relation RD mit den Tupeln – h1,2i,h1,3i,h2,1i,h2,3i,h3,1i,h3,2i • Behauptung: G ist genau dann 3-färbbar, wenn D ∈ P(I) DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität R 1 1 2 2 3 3 ⊥1 ⊥2 ⊥3 ⊥1 ⊥2 2 3 1 3 1 2 ⊥2 ⊥3 ⊥4 ⊥3 ⊥4 R’ 1 1 2 2 3 3 2 3 1 3 1 2 . Folie 3 Mögliche Datenbanken (3/3) Beispiel Beweisskizze (Forts.) v2 v3 v1 v4 • Für G = • ergeben sich die Relationen: R 1 1 2 2 3 3 ⊥1 ⊥2 ⊥3 ⊥1 ⊥2 2 3 1 3 1 2 ⊥2 ⊥3 ⊥4 ⊥3 ⊥4 DBT / Schwentick / SoSe 12 R’ 1 1 2 2 3 3 2 3 1 3 1 2 • Sei G 3-färbbar und sei c(vi ) ∈ {1,2,3} jeweils die Farbe des Knotens vi • Dann ergibt sich aus RI mit der Belegung β(⊥i ) =def c(vi ) gerade die Relation RD • Denn: – h⊥i ,⊥j i ∈ RI ➨ (vi ,vj ) ∈ E ➨ c(vi ) 6= c(vj ) ➨ β(h⊥i ,⊥j i) ∈ RD • Umgekehrt lässt sich aus jeder Variablenbelegung β mit β(RI ) = RD via c(vi ) =def β(⊥i ) eine 3-Färbung für G gewinnen Unvollständige Daten 18. Algorithmen und Komplexität . Folie 4 Eindeutige Datenbanken (1/2) Satz 18.2 [Abiteboul et al. 91] (a) E INDEUTIGE DB ist in P für Codd-Tabellen und V-Tabellen (b) E INDEUTIGE DB ist coNP-vollständig für C-Tabellen Beweisskizze für Satz 18.2 (a) • Codd-Tabellen und V-Tabellen können nur dann eindeutige DBs haben, wenn sie keine Variablen (Nullwerte) enthalten – Dann muss also nur I = D überprüft werden • Das Resultat gilt aber auch noch für CTabellen ohne lokale Bedingungen DBT / Schwentick / SoSe 12 Beweisskizze für Satz 18.2 (b) • In coNP: – Schwierigkeit: wir können nicht einfach D ∈ P(I) testen, da dies ein NPvollständiges Problem ist ∗ Wir testen deshalb, ob P(I) 6= ∅ und P(I) ⊆ {D} – Ob P(I) 6= ∅ kann in polynomieller Zeit überprüft werden, indem getestet wird, ob es eine Variablenbelegung gibt, die die globale Bedingung erfüllt – Um P(I) ⊆ {D} zu testen, wird überprüft, ob alle Variablenbelegungen, die die globale Bedingung erfüllen, die Datenbank D ergeben ∗ dies ist in coNP möglich – coNP-schwierig: ∗ Reduktion von Tautologien in 3-DNF Unvollständige Daten 18. Algorithmen und Komplexität . Folie 5 Eindeutige Datenbanken (2/2) Beweisskizze (Forts.) • Sei ϕ = C1 ∨ · · · ∨ Cn eine 3-DNF-Formel • Sei D die DB mit der Relation R = {h1i} • RI enthalte für jede Klausel L1 ∧ L2 ∧ L3 ein Tupel h1i mit lokaler Bedingung α1 ∧ α2 ∧ α3 , wobei gilt: – Ist Li ein positives Literal xj so ist αi die Bedingung ⊥j = 1 – Ist Li ein negatives Literal ¬xj so ist αi die Bedingung ⊥j 6= 1 • Die globale Bedingung ist „wahr“ • Ist ϕ eine Tautologie, so wird für jede Variablenbelegung mindestens eine lokale Bedingung wahr ➨ D ist die eindeutige DB in P(I) • Ist ϕ keine Tautologie, so gibt es eine Variablenbelegung die keine lokale Bedingung wahr macht ➨ Dann ist die DB mit der leeren Relation ein (weiteres) Element in P(I) DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 6 Sichere Tupel Satz 18.3 [Abiteboul et al. 91] (a) S ICHERES T UPEL ist in P für Codd-Tabellen und V-Tabellen (b) S ICHERES T UPEL ist coNP-vollständig für C-Tabellen Beweisskizze für Satz 18.3 (a) • Ein Tupel ohne Variablen ist genau dann ein sicheres Tupel für eine V-Tabelle, wenn es in der V-Tabelle vorkommt – ✎ Andernfalls können alle Variablen auf Werte gesetzt werden, die im Tupel nicht vorkommen DBT / Schwentick / SoSe 12 Beweisskizze für Satz 18.3 (b) • In coNP: – Ob es eine Variablenbelegung gibt, die die globale Bedingung erfüllt und das Tupel t ergibt, kann in polynomieller Zeit getestet werden – Darüber hinaus muss überprüft werden, dass alle erlaubten Variablenbelegungen das Tupel t erzeugen ∗ dies ist in coNP möglich – coNP-schwierig: ∗ Hier kann genau dieselbe Reduktionsfunktion von Tautologien in 3-DNF verwendet werden wie im Beweis von Satz 18.2 (b) Unvollständige Daten 18. Algorithmen und Komplexität . Folie 7 Enthaltensein von Multitabellen Satz 18.4 [Abiteboul et al. 91] (a) IC ONT ist in P, wenn I1 durch V-Tabellen und I2 durch CoddTabellen gegeben ist (b) IC ONT ist in NP, wenn I1 und I2 durch V-Tabellen gegeben sind p (c) IC ONT ist Π2 -vollständig, wenn I1 durch Codd-Tabellen und I2 durch C-Tabellen gegeben ist ✎ Für die untere Schranke genügt jeweils eine einzelne Tabelle Beweisskizze für Satz 18.4 (a) • Das Problem lässt sich auf M ÖGLICHE DB für Codd-Tabellen reduzieren: – Sei dazu I1 eine IDB mit V-Tabellen und I2 eine IDB mit Codd-Tabellen – Sei D1 die DB, die aus I1 entsteht, indem jede Variable ⊥i durch einen neuen Datenwert ai ersetzt wird – Dann sind äquivalent: (1) P(I1 ) ⊆ P(I2 ) (2) D1 ∈ P(I2 ) • Da (2) nach Satz 18.1 (a) in polynomieller Zeit gelöst werden kann, folgt die Behauptung Beweisskizze für Satz 18.4 (b) • Analog lässt sich (b) auf M ÖGLICHE DB für VTabellen reduzieren • Da M ÖGLICHE DB für V-Tabellen nach Satz 18.1 (b) nichtdeterministisch in polynomieller Zeit gelöst werden kann, folgt die Behauptung DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 8 Komplexität von Anfragen (1/4) Satz 18.5 [Abiteboul et al. 91] (a) M ÖGLICHES E RGEBNIS T UPEL ist in P für C-Tabellen und feste UCQ-Anfragen (b) S ICHERES E RGEBNIS T UPEL ist in P für VTabellen und feste Datalog-Anfragen (c) Es gibt eine feste Anfrage q der relationalen Algebra, für die M ÖGLICHES E RGEBNIS T UPEL für CoddTabellen NP-schwierig ist (d) Es gibt eine feste Anfrage q der relationalen Algebra, für die S ICHERES E RGEBNIS T UPEL für CoddTabellen coNP-schwierig ist • ✎ Wir betrachten hier also nur die Datenkomplexität DBT / Schwentick / SoSe 12 Beweisskizze für Satz 18.5 (a) • Da die Anfrage fest ist, genügt es zu zeigen, dass für jede feste CQ-Anfrage M ÖGLICHES E RGEBNIS T UPEL in polynomieller Zeit überprüft werden kann • Sei also q eine CQ mit Literalen L1 , . . . ,Lm , I eine IDB mit C-Tabellen und t ein Tupel • Für jede Zuordnung f der Literale zu den Tupeln in I wird überprüft, ob die Variablen von I so belegt werden können, dass sich t aus q ergibt – Jeder dieser Tests benötigt nur polynomielle Zeit – Da q fest ist, gibt es auch nur polynomiell viele zu testende Zuordnungen Unvollständige Daten 18. Algorithmen und Komplexität . Folie 9 Komplexität von Anfragen (2/4) Beweisskizze für Satz 18.5 (b) • Sei q eine feste Anfrage, die durch ein DatalogProgramm definiert ist, I eine IDB mit V-Tabellen und t ein Tupel • Aus I wird eine kanonische DB D konstruiert, indem jede Variable ⊥i von I durch einen anderen neuen Wert ai ersetzt wird • Dann wird getestet, ob t ∈ JqK(D) gilt • Klar: falls t 6∈ JqK(D) ist t kein sicheres Ergebnistupel • Umgekehrt ist leicht zu zeigen, dass aus t ∈ JqK(D) folgt, dass t ein sicheres Ergebnistupel ist DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 10 Komplexität von Anfragen (3/4) Beweisskizze für Satz 18.5 (c) & (d) • Wir beschreiben jetzt zunächst eine Konstruktion, die aus einer 3-DNF-Formel ϕ eine IDB Iϕ mit Codd-Tabellen erzeugt – Aus dieser Konstruktion werden wir dann zwei Reduktionen für (c) und (d) gewinnen • Sei also ϕ = C1 ∨ · · · ∨ Cm mit Variablen x1 , . . . ,xn • I enthält eine Codd-Relation RI mit Tupeln – hi,j,⊥,1i, falls xj in Li vorkommt, und – hi,j,⊥,0i, falls ¬xj in Li vorkommt • Die Anfrage q ist {h1i | ψ}, wobei ψ =def ∃x,y,z,v,x′ ,z ′ ,v ′ (R(x,y,z,v) ∧ R(x′ ,y,z ′ ,v ′ ) ∧ z 6= z ′ )∨ ∃x,y,z,v (R(x,y,z,v) ∧ z 6= 0 ∧ z 6= 1)∨ ∃x,y,z,v (R(x,y,z,v) ∧ ∀y ′ ,z ′ ,v ′ [R(x,y ′ ,z ′ ,v ′ ) → ((z ′ = 1 ∧ v ′ = 1) ∨ (z ′ = 0 ∧ v ′ = 0))] • Die Formel ψ sagt über eine DB-Relation RD also aus, dass – RD keine Wahrheitsbelegung für ϕ repräsentiert oder – eine Klausel von ϕ (und damit ϕ) wahr macht DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 11 Komplexität von Anfragen (4/4) Beweisskizze für Satz 18.5 (d) • Es sind äquivalent: – ϕ ist eine Tautologie – h1i ist ein sicheres Ergebnistupel von JqK(I) • Also lässt sich das TautologieProblem für 3-DNF-Formeln auf S ICHERES E RGEBNIS T UPEL für CoddTabellen reduzieren • S ICHERES E RGEBNIS T UPEL für CoddTabellen ist also für das angegebene q coNP-schwierig Beweisskizze für Satz 18.5 (c) • Für die Anfrage q ′ =def {h1i | ¬ψ} sind äquivalent: – ϕ ist keine Tautologie – h1i ist ein mögliches Ergebnistupel von Jq ′ K(I) • Also lässt sich das (NP-schwierige) Komplement des TautologieProblems für 3-DNF-Formeln auf M ÖGLICHES E RGEBNIS T UPEL für CoddTabellen reduzieren • M ÖGLICHES E RGEBNIS T UPEL für CoddTabellen ist also für das angegebene q NP-schwierig DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 12 Fazit • Wie zu erwarten gibt es einen Trade-off zwischen der Ausdrucksstärke von Repräsentationssystemen und der Komplexität ihrer Auswertungs- und Analyseprobleme • Codd-Tabellen unterstützen zwar nur wenige Operatoren, sind aber effizient handhabbar • C-Tabellen stellen ein starkes Repräsentationssystem für die Relationenalgebra dar, die Datenkomplexität der Auswertung ist jedoch schon NPschwierig • V-Tabellen liegen hinsichtlich Ausdrucksstärke und Auswertungskomplexität zwischen Codd-Tabellen und C-Tabellen DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 13 Literatur • Dieses Kapitel basiert auf – Serge Abiteboul, Paris C. Kanellakis, and Gösta Grahne. On the representation and querying of sets of possible worlds. Theor. Comput. Sci., 78(1):158–187, 1991 – Ron van der Meyden. Logical approaches to incomplete information: A survey. In Jan Chomicki and Gunter Saake, editors, Logics for Databases and Information Systems, pages 307–356. Kluwer, 1998 • Weitere Literaturhinweise: – Tomasz Imielinski and Witold Lipski Jr. Incomplete information in relational databases. J. ACM, 31(4):761–791, 1984 – Tomasz Imielinski, Ron van der Meyden, and Kumar V. Vadaparty. Complexity tailored design: A new design methodology for databases with incomplete information. J. Comput. Syst. Sci., 51(3):405–432, 1995 – Moshe Y. Vardi. Querying logical databases. J. Comput. Syst. Sci., 33(2):142–160, 1986 DBT / Schwentick / SoSe 12 Unvollständige Daten 18. Algorithmen und Komplexität . Folie 14