|
|
|
Complexity of FO (cont’d) |
|
|
|
|
Complexity of conjunctive queries |
|
|
|
|
The FO fragment consisting of:
R(x,y,…) -- atomic
formulas
x=y -- equality
f1
Æ phi2 --
conjunction
9 x.f
-- existential quantifiers |
|
|
|
Canonical form:
9 x1.9 x2…
9 xk.(G1 Æ … Æ Gm)
or, simply: G1,
…, Gm |
|
|
|
|
Theorem
The query complexity of CQ is NP-hard.
The combined complexity of CQ is NP-complete. |
|
|
|
Proof
NP membership. Let:
f
= 9 x1 … 9 xk G1 Æ … Æ Gm
A
= (A, R1A, …, RpA)
Step 1: guess k values a1,
…, ak 2 A
Step 2: check if G1 Æ … Æ Gm
is true after substituting x1 with a1, …, xk
with ak |
|
|
|
|
Hardness: will design a structure A s.t. the set
{f | A ² f} is NP-hard. |
|
By reduction from 3 colorability |
|
|
|
A = ({0,1,2}, N), where N = {(i,j) | i ¹ j} |
|
Let G = (V, E) be a graph, |V| = k |
|
Define: f = 9 x1 … 9 xk (Æ(xi,
xj) 2 E N(xi,
xj)) |
|
|
|
|
|
Note: a conjunctive query = a hypergraph |
|
A tree decomposition of a conjunctive query (or
hypergraph) with variables (nodes) V is a tree T, and a set Bt µ
V for each node t in T such that: |
|
For every x 2 V, the set {t | x 2 Bt}
is connected |
|
Every hyperedge of the query (hypergraph) is
contained in some Bt |
|
|
|
|
Examples [in class]: |
|
|
|
f = R(x,y,z), R(z,u,v), S(v,w) |
|
|
|
f = R(x,y,z), R(z,u,v), R(v,w,x) |
|
|
|
|
Definition A conjunctive query (or a hypergraph)
is acyclic if there exists a tree decomposition such that 8 t, Bt
is an hyperedge. |
|
|
|
I.e. there are no redundant variables on the
tree nodes. |
|
|
|
|
Theorem If f is an acyclic conjunctive query and
A is a structure, then checking whether A ² f can be done in timme O(|f| |A|) |
|
|
|
Note: |A| denotes the size of the entire
structure, i.e. is more of the form n + n3 + n2 + n5
if the arities of the relations in A are 3, 2, 5. |
|
|
|
Proof [in class] |
|