30
1 Finite Model Theory Lecture 9 Logics and Complexity Classes (cont’d)

Finite Model Theory Lecture 9

  • Upload
    chace

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Finite Model Theory Lecture 9. Logics and Complexity Classes (cont’d). Outline. Proof of Immerman and Vardi’s theorems Normal form for lfp Datalog Other logics capturing complexity classes. Proof: LFP = PTIME. LFP + < µ PTIME [why ?] To show PTIME µ LFP + < - PowerPoint PPT Presentation

Citation preview

Page 1: Finite Model Theory Lecture 9

1

Finite Model TheoryLecture 9

Logics and Complexity Classes

(cont’d)

Page 2: Finite Model Theory Lecture 9

2

Outline

• Proof of Immerman and Vardi’s theorems

• Normal form for lfp

• Datalog

• Other logics capturing complexity classes

Page 3: Finite Model Theory Lecture 9

3

Proof: LFP = PTIME

• LFP + < µ PTIME [why ?]

• To show PTIME µ LFP + <

• Let M = (Q, , , , q0, Qa, Qr) be a PTIME Turing machine

• Input: Enc(A) = 01n Enc(R1A)…Enc(Rm

A)

• Output: accept or reject• Need: formula s.t. A ² iff T accepts A

Page 4: Finite Model Theory Lecture 9

4

Proof: LFP = PTIME

• Time t and space p vary from 0 to nk-1– Represent them as k-tuples

• Can define t < t’ [ how ? ]• Can define succ(t, t’) [ how ?]• Goal: express the following:

T0(p, t) = true iff tape has 0 on p at time tT1(p, t) = true iff tape has 1 on p at time tHq(p, t) = true iff head is on p at time t, state q

• All these can be expressed by simultaneous fixpoint [ how ? ]

Page 5: Finite Model Theory Lecture 9

5

Proof: PFP = PSPACE

• PFP + < µ PSPACE [ why ? ]

• To show PSPACE µ PFP + <proceed as before, but can’t define T0(p, t) because we can’t express t

• Instead define T0(p), T1(p), Hq(p) using a PFP• Each new step recomputes these tables• Make sure to define T0(p+1) = T0(p) etc whenever

reaching an accepting state

Page 6: Finite Model Theory Lecture 9

6

Remark

• Somewhere in the proof we need to use + and £, defined in terms of <

• Where ?

Page 7: Finite Model Theory Lecture 9

7

Simultaneous Fixpoints

U1, U2, …, Uk = finite setsDefinition

Let F : P(U1) £ … £ P(Uk) ! P(U1) £ … £ P(Uk). A fixpoint for F is X = (X1, …, Xk), X1 µ U1, …, Xk µ Uk s.t. F(X) = X

lfp(F), ifp(F), pfp(F) defined as before

Page 8: Finite Model Theory Lecture 9

8

Simultaneous Fixpoints

Given= (1(R1, …, Rk, x1), …, k(R1, …, Rk, xk))

lfpRisimult[](t) , ifpRi

simult[](t) , pfpRisimult[](t)

Mean the following:compute the lfp/ifp/pfpextract the i’th component (since index is Ri)

Page 9: Finite Model Theory Lecture 9

9

Simultaneous Fixpoints

• LFPsimult = LFP

• IFPsimult = IFP

• PFPsimult = PFP

Page 10: Finite Model Theory Lecture 9

10

Normal Form

• Every IFP or LFP formula is equivalent to one formula “with only one LFP, at the top”:

9 x1… 9 xk. lfpR[](x)

where is in FO (i.e. without fixpoints)• Proof: in the book (not hard),

but better see next

Page 11: Finite Model Theory Lecture 9

11

Datalog

• Recall: a conjunctive query has the form:

q(x) = 9 y1… 9 yk.(x, y)

where is a conjunction of positive atomic formulas

• Example:

stands for 9 u.9 v.(R(x,u) Æ R(u,v) Æ R(v,y))

q(x,y) :- R(x,u), R(u,v), R(v,y)q(x,y) :- R(x,u), R(u,v), R(v,y)

Page 12: Finite Model Theory Lecture 9

12

Datalog

Definition. EDBExtensional relations = are those in

Definition. IDBIntensional relations = m new relation names R1, …, Rm

Definition. A datalog rule is:

where R =intensional = conjunctive query

R(x) :- R(x) :-

Page 13: Finite Model Theory Lecture 9

13

Datalog

Definition. A datalog program is a set of rules:

Ri1 :- 1

Ri2 :- 2

. . . .Rim

:- m

Ri1 :- 1

Ri2 :- 2

. . . .Rim

:- m

Page 14: Finite Model Theory Lecture 9

14

Examples in Datalog

• Transitive closure:

• Same generation:

T(x,y) :- R(x,y)T(x,y) :- R(x,z), T(z,y)

T(x,y) :- R(x,y)T(x,y) :- R(x,z), T(z,y)

S(x,y) :- Root(u), R(u,x), R(u,y)S(x,y) :- S(u,v), R(u,x), R(v,y)

S(x,y) :- Root(u), R(u,x), R(u,y)S(x,y) :- S(u,v), R(u,x), R(v,y)

Page 15: Finite Model Theory Lecture 9

15

Datalog Semantics

• Simultaneous least fixpoints:

• Given a program P, define the operators FP as follows:

• FP(R1, …, Rm) = (1, …, m)

• Next, take the lfp(FP)

Page 16: Finite Model Theory Lecture 9

16

Adding negation

• Semipositive datalog:

• Allow negation only on the EDBs

• If we allow negation on IDBs, what is the semantics ?

Page 17: Finite Model Theory Lecture 9

17

Semantics 1: Stratified Datalog

• Split datalog program into “strata”. Each stratum may use negation of IDBs defined by previous strata. Evaluate program in stages

• Example: find pairs x,y that are not connected: T(x,y) :- R(x,y)

T(x,y) :- R(x,z), T(z,y)Answer(x,y) :- : T(x,y)

T(x,y) :- R(x,y)T(x,y) :- R(x,z), T(z,y)Answer(x,y) :- : T(x,y)

here we have 2 strata

Page 18: Finite Model Theory Lecture 9

18

Semantics 2: Inflationary Datalog

• We know what this is…

• Find all pairs x, y that are not connected:

T(x,y) :- R(x,y)T(x,y) :- R(x,z), T(z,y)oldT(x,y) :- T(x,y)oldTexceptFinalT(x,y) :- T(x,y), R(x’,z’),T(z’,y’), :T(x’,y’)Answ(x,y) :- :T(x,y), oldT(x’,y’), :oldTexceptFinalT(x’,y’)

T(x,y) :- R(x,y)T(x,y) :- R(x,z), T(z,y)oldT(x,y) :- T(x,y)oldTexceptFinalT(x,y) :- T(x,y), R(x’,z’),T(z’,y’), :T(x’,y’)Answ(x,y) :- :T(x,y), oldT(x’,y’), :oldTexceptFinalT(x’,y’)

Page 19: Finite Model Theory Lecture 9

19

Datalog:s ½ Datalog:

i

• Every stratified datalog program can be expressed as an inflationary datalog program

• The “winning game” query can be expressed in inflationary datalog but not in stratified datalog [ show the query in class ]

[ inexpressibility: Kolaitis’91, in Information and Control]

Page 20: Finite Model Theory Lecture 9

20

Datalog:i = LFP

Theorem Datalog:i = LFP

Corollary Datalog:,<i = PTIME

Page 21: Finite Model Theory Lecture 9

21

Semantics 3: Partial Fixpoint Datalog

Partial fixpoint semantics

Theorem Datalog:p = PFP

Corollary Datalog:,<p = PSPACE

Page 22: Finite Model Theory Lecture 9

22

FO+TrCl

Definition Transitive closure. Let (x, y, z) be a formula, where |x| = |y| = k, and t1, t2 are tuples of length k. Then:

[trclx, y (x, y, z)](t1, t2)

is a formula with free variables z.

Page 23: Finite Model Theory Lecture 9

23

TrCl

• The logic FO extended with trcl is denoted TrCl

• Note: may combing trcl arbitrarily with Æ, Ç, :, 8, 9.

Page 24: Finite Model Theory Lecture 9

24

Examples in TrCl

• Is the graph connected:

• Is there a path from u to v where all edges are labeled with the same color:

here c is a free variable in trcl

• Do we need free variables ?

8 u.8 v.[trclx,y(R(x,y))](u,v)8 u.8 v.[trclx,y(R(x,y))](u,v)

9 c. .[trclx,y(R(x,c,y))](u,v)9 c. .[trclx,y(R(x,c,y))](u,v)

Page 25: Finite Model Theory Lecture 9

25

Homework Problem

• Let TrClr denote the logic where trcl is applied to tuples x, y with |x| = |y| · r

• Consider structures that represent strings over, say = {a,b}. I.e. = {<, A, B}. E.g. abbab is represented by ({1,2,3,4,5}, <, A(1),A(4),B(2),B(3),B(5))

• Prove that on strings TrCl1 TrCl2

Page 26: Finite Model Theory Lecture 9

26

Immerman’s Theorem

Theorem TrCl + < = NLOGSPACE

Corollary NLOGSPACE is closed under complementation.

Page 27: Finite Model Theory Lecture 9

27

Proof Sketch

1. TrCl \subseteq NLOGSPACE

Lemma. Denote PosTrCl the language where trcl is used only in positive positions (under even number of negations). Then:PosTrCL + < = TrCl + <

You proved it already in 531 ! Plus: recall how inflationary datalog expresses not TC.

Page 28: Finite Model Theory Lecture 9

28

Proof Sketch

• NLOGSPACE \subseteq TrCl + <

• Standard simulation of a Turing Machine

Page 29: Finite Model Theory Lecture 9

29

Logics and Complexity Classes

DTrCl = transitive closure on deterministic graphs (i.e. where 8 x.9· 1 y.(x, y)).

Theorem DTrCl+< = LOGSPACE

ATrCl = alternating transitive closure [ define in class ]

Theorem ATrCl + < = PTIME

Page 30: Finite Model Theory Lecture 9

30

Major Open Problem

What happens without < ?

Open problem. Find a “logic” that captures precisely the order invariant PTIME properties

Read 10.7 in the book (pp. 204)