Goethe-Universität Frankfurt am Main 11. Dezember 2012 Institut für Informatik
Theorie komplexer Systeme Prof. Dr. Nicole Schweikardt
Logik und Datenbanken
Wintersemester 2012/13
Übungsblatt 7
Zu bearbeiten bis Donnerstag, 20. Dezember 2012
Aufgabe 1: (30 Punkte)
(a) Betrachten Sie das Datalog-Programm P, welches aus folgenden Regeln besteht.
R(x) ← S(x)
B(x) ← R(y), E(x, y) R(x) ← B(y), E(x, y) F (x) ← B(x), R(x)
In einer Datenbankinstanz I vom Schema edb(P) sei ein nicht leerer, ungerichter Graph G = (V, E) modelliert, derart das {u, v} ∈ V (G) genau dann, wenn die Tupel (u, v), (v, u) in I(E) und ∅ 6= I(S) ⊆ V .
Was bedeutet es für einen zusammenhängenden Graphen, falls J (P, F ) K (I) = ∅?
(b) Finden Sie zwei Datalog-Programme P
1und P
2mit edb(P
1) = edb(P
2) und idb(P
1) = idb(P
2), so dass für R := edb(P
1) = edb(P
2) gilt:
(i) Es gibt eine Datenbank J ∈ inst(R) so dass J P
1K (J) 6⊆ J P
2K (J).
(D.h.: P
16⊆ P
2im Sinne von “uniformem Containment” von Datalog-Programmen) (ii) Es gibt ein R ∈ idb(P
1), so dass für alle I ∈ inst(R) gilt: J (P
1, R) K (I) ⊆ J (P
2, R) K (I).
(D.h.: (P
1, R) ⊆ (P
2, R) im Sinne von Query Containment von Datalog-Anfragen.
Aufgabe 2: (30 Punkte)
(a) Zeigen Sie,
(i) für jedes Datalog-Programm P ist der T
P-Operator monoton. (Lemma 3.3) (ii) jede Datalog-Anfrage ist monoton.
(b) Finden Sie einen Algorithmus, der bei Eingabe einer Dataloganfrage Q = (P, R) entscheidet,
ob Q erfüllbar ist.
Aufgabe 3: (20 Punkte) Zeigen Sie das Lemma ∆ aus der Vorlesung, d.h. zeigen Sie:
Sei Σ ⊆ dom. Sei G = (Σ, V, S, P ) eine kontextfreie Grammatik, für die gilt:
(i) Es gibt keine Produktion der Form X → , für X ∈ V ,
(ii) Es gibt keine Produktion auf deren rechter Seite das Startsymbol S steht.
Sei P
Gdas Datalog-Programm, welches für jede Produktion A → B
1· · · B
naus G die Regel
R
A(x
1, x
n+1) ← B ˜
1, . . . , B ˜
nmit B ˜
i:=
( E(x
i, a, x
i+1) falls B
i= a ∈ Σ R
X(x
i, x
i+1) falls B
i= X ∈ V enthält. Sei m ≥ 1 und seien a
1, . . . , a
m, b
1, . . . , b
m−1∈ dom. Dann gilt:
b
1· · · b
m−1∈ L(G) ⇔
Es gibt einen Beweisbaum für das Faktum R
S(a
1, a
m) bzgl P
G, dessen Blätter mit den Fakten E(a
1, b
1, a
2), E(a
2, b
2, a
3), . . . , E(a
m−1, b
m−1, a
m) markiert sind.
Aufgabe 4: (20 Punkte)
Zeigen Sie, dass das folgende A
USWERTUNGSPROBLEM FÜRB
OOLSCHED
ATALOG-A
NFRAGEN(kombinierte Komplexität) EXPTIME-vollständig ist.
A
USWERTUNGSPROBLEM FÜRB
OOLSCHED
ATALOG-A
NFRAGENEingabe: Datalog-Anfrage Q = (P, R), Datenbank I.
Frage: Ist J Q K (I) 6= ∅?
Hierbei ist:
EXPTIME := [
k∈N