finite model theory lecture 9

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

Upload: chace

Post on 22-Jan-2016

31 views

Category:

Documents


0 download

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

TRANSCRIPT

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)