Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Answering Queries
and Hypertree Decompositions
Conjunctive Queries
The problem BCQ:
Instance: < DB, Q>
Question: Has Q a nonempty result over DB?
Combined Complexity
(Vardi ’82)
Problems Equivalent to BCQ
Conjunctive Query Containment
Q Q
1
2
 db Q (db)  Q (db)
1
2
Query of Tuple Problem
t  Q(db)
?
Constraint Satisfaction in AI
CSP  BCQ
Clause Subsumption in Theorem Proving
 s.t. C  D
?
Example of CSP: Crossword
Puzzle
Complexity of BCQ
NP-complete in the general case
(Chandra and Merlin ’77)
NP-hard even for fixed database
Polynomial if Q has an acyclic
hypergraph
(Yannakakis ’81)
LOGCFL-complete (in NC2)
(G.L.S. ’98)
Interest in larger tractable classes of CQS
Is this query hard?
ans  a( S , X , X ' , C , F )  b( S , Y , Y ' , C ' , F ' )  c(C , C ' , Z )  d ( X , Z ) 
e(Y , Z )  f ( F , F ' , Z ' )  g ( X ' , Z ' )  h(Y ' , Z ' ) 
j ( J , X , Y , X ' , Y ' )  p ( B, X ' , F )  q ( B ' , X ' , F )
n
m
size of the database
number of atoms in the query
• Classical methods worst-case complexity:
m = 11 !
O(n m)
• Despite its apparence, this query is nearly acyclic
It can be evaluated in O(m·n 2· logn)
Nearly Acyclic Queries
Bounded Treewidth (tw)
 a measure of the cyclicity of graphs
 for queries: tw(Q) = tw(G(Q))
For fixed k:
 checking tw(Q)  k
 Computing a tree decomposition
linear time
(Bodlaender’96)
Answering BCQ of treewidth k:
O(nk log n)
(Chekuri & Rajaraman’97)
LOGCFL-complete (G.L.S.’98)
Beyond treewidth
Bounded Degree of Cyclicity
(Gyssens & Paredaens ’84)
Bounded Query width
(Chekuri & Rajaraman ’97)
Group together query atoms
(hyperedges) instead of variables
Hypertree Decomposition
We group atoms
p(X,Y,Z), q(U,V,Z)
a(X,U,W), b(Y,V,W)
We use p(X,Y,Z) partially
p(X,Y,_), c(T,W)
d(X,T)
c(Y,T)
ans  a( S , X , X ' , C , F )  b( S , Y , Y ' , C ' , F ' )  c(C , C ' , Z )  d ( X , Z ) 
e(Y , Z )  f ( F , F ' , Z ' )  g ( X ' , Z ' )  h(Y ' , Z ' ) 
j ( J , X , Y , X ' , Y ' )  p ( B, X ' , F )  q ( B ' , X ' , F )
j(J,X,Y,X’,Y’)
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(_,X,Y,_,_), c(C,C’,Z)
d(X,Z)
e(Y,Z)
j(_,_,_,X’,Y’), f(F,F’,Z’)
g(X’,Z’), f(F,_,Z’)
p(B,X’,F)
q(B’,X’,F)
h(Y’,Z’)
Connectedness Condition
j(J,X,Y,X’,Y’)
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(_,X,Y,_,_), c(C,C’,Z)
d(X,Z)
e(Y,Z)
j(_,_,_,X’,Y’), f(F,F’,Z’)
g(X’,Z’), f(F,_,Z’)
p(B,X’,F)
q(B’,X’,F)
h(Y’,Z’)
Evaluating queries having
bounded hypertree width
k
fixed
Given:
a database db
a query Q over db such that hw(Q)  k
a width k hypertree decomposition of Q
Deciding whether Q(db) is not empty is in
O(n k+1 log n) and complete for LOGCFL
Computing Q(db) is feasible in
output-polynomial time
Comparison results
Hypertree Decomposition
Hinge Decomposition
+
Tree Clustering
Hinge
Decomposition
Cycle Hypercutset
Tree Clustering
w*  treewidth
Biconnected Components
Cycle Cutset
Characterizations of
Hypertree width
Logical characterization:
Loosely guarded logic
Game characterization:
The robber and marshals game
Work in progress
Answering queries and hypertree
decompositions:


A query-planner based on hypertree
decompositions
Choosing the best query plan (i.e., the best
decomposition) exploiting data on tables,
attibute selectivity, indices, etc.
Further possible applications:

Answering queries using views
Related documents