laden

Werbung
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
Herunterladen