180 likes | 294 Views
Finite Model Theory Lecture 6. Complexity of FO. Outline. Data Complexity Query Complexity and Combined Complexity. Complexities. Data Complexity the complexity of { A | A ² f } for fixed f Query Complexity the complexity of { f | A ² f } for fixed A
E N D
Finite Model TheoryLecture 6 Complexity of FO
Outline • Data Complexity • Query Complexity and Combined Complexity
Complexities • Data Complexitythe complexity of {A | A²f} for fixed f • Query Complexitythe complexity of {f | A²f} for fixed A • Combined complexitythe complexity of {(A, f) | A²f}
Data Complexity For every f, the complexity of {A | A²f} is in PTIME [Why ?] However, it is much lower than PTIME (next)
Data Complexity Theorem The data complexity of FO is uniform AC0 What is AC0 ? What is uniform AC0 ? We will review next, but most importantly: uniform-AC0µ LOGSPACE µ PTIME
AC0 Fix n ¸ 0. A boolean circuit with n inputs, C, is a rooted DAG with nodes labeled with labels from:{Æ, Ç, :, x1, …, xn} size(C) = number of gates depth(C) = length of longest path
AC0 Definition A language L µ {0,1}* is in non-uniform AC0 if there exists d > 0, a polynomial p(n), and a family of circuits (Cn)n ¸ 0 s.t.: size(Cn) · p(n) depth(Cn) · d, and 8 w 2 {0,1}*: w 2 L iff Cn(w) = true, where n=|w|
FO and AC0 Let All be a vocabulary consisting of all relations on N All = P(N) [ P(N2) [ P(N3) [ … In All we have names for <, +, /, … Definition FO(All) = FO over vocabulary All Interpretation: consider only ordered domains, assimilate with {0, 1, 2, …, n-1}. Each relation R on N is interpreted as its restriction to {0, 1, …, n-1}. Note: we can express EVEN in FO(All) [why ?]
FO and AC0 Theorem FO(All) µ non-uniform AC0 Proof sketch in class (hint: it’s simple…)
PARITY • Let s = {U} (a unary table) • The property PARITY is true on models A where |UA| is even • PARITY and EVEN are very related, but…
Parity Theorem [Furst-Saxe-Sipser, Ajtai] PARITY is not expressible in non-uniform AC0 Corollary PARITY is not expressible in FO(All) Comment: i.e. there is no formula in FO over vocabulary {U} [ All that checks if |U| is even. Corollary Graph connectivity is not expressible in FO(All) [why ?]
Discussion • EVEN is not expressible in FO • But EVEN is expressible in FO(<, +) • PARITY is not expressible inFO(<, +, exp, …, any-relation-on-N, ….) !
Uniform AC0 Non-uniform AC0 can express non-computable properties ! Need to restrict the association n ! Cn to something easily computable Complex definitions in complexity theory textbooks… Better: define uniform AC0 = FO(+, £) Alternatively FO(+, £) = FO(<, BIT)
Combined Complexity Theorem The combined complexity is in PSPACE [proof: in classs] Note: proof in book is wrong.
Combined Complexity Recursive function: function Eval(f)iff = 9 x.ythenforall a 2 A doif Eval(y[a/x]) = true then return truereturn falseiff = 8 x.ythenforall a 2 A doif Eval(y[a/x]) = false then return false return trueiff = y1Æy2then … iff = R(a1, …, ak) then …
Query Complexity Theorem There exists a structure A s.t. the query complexity {f | A²f} is PSPACE complete
Query Complexity Proof. Recall the Satisfiability of Quantified Boolean Formulas problem (QBF): is a QB formula F true ? Example:F = 9 X18 X28 X3 (X1Æ X2Ç: X1Æ X3) is it true ? Note: boolean satisfiability (the NP-hard problem) is in QBF [why ?]
Query Complexity Theorem [Stockmeyer] QBF is PSPACE complete Return to our proof: reduction from QBF. Given QBF formula F, let s = {U}, where U = unary A = (A, UA), s.t. A = {0,1}, UA = {1} Translate F (a QB formula) to f (an FO formula) s.t. F is true iff A²f [how ?]