quantified formulas

53
1 Quantified Formulas knowledgement: QBF slides borrowed from S. Malik

Upload: gilon

Post on 13-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Quantified Formulas. Acknowledgement: QBF slides borrowed from S. Malik. Why do we need quantifiers ?. As always: more modeling power Examples of quantifiers usage: “ Everyone in the room has a friend” “ There is a person in the room that all of his cars are red” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Quantified Formulas

1

Quantified Formulas

Acknowledgement: QBF slides borrowed from S. Malik

Page 2: Quantified Formulas

2

Why do we need quantifiers ?

As always: more modeling power Examples of quantifiers usage:

“Everyone in the room has a friend” “There is a person in the room that all of his cars are red” “There is not more than one person in the room that earns

more than $1M”

Page 3: Quantified Formulas

3

Quantifiers in Math…

For any integer x there is a smaller integer y

8x2Z 9y2Z. y < x X Reverse claim: There exists an integer y such that any

integer x is greater than y

8x2Z 9y2Z. y < x £

(Bertrand’s postulate) For any natural number greater than 1 there is a prime number p such that n < p < 2n

8n2 N. 9p2 N. n >1 ! (isprime(p) Æ n < p < 2n)

Page 4: Quantified Formulas

4

Actually…

Satisfiability of (x1,,xn) = does there exist an interpretation of x1,,xn that satisfies

Validity of (x1,,xn) = does it hold that all interpretation of x1,,xn satisfy

Conclusion: what we did so far (satisfiability, validity) is non-alternating quantification.

Page 5: Quantified Formulas

5

Example: Quantified Propositional Logic

Better known as Quantified Boolean Formulas (QBF)

formula: var | : formula | formula Ç formula | ( formula ) | T | F|8 var. (formula) | 9 var. (formula)

8 x. (x Ç 9 y. (y ! x))

8 x. (9 y. ((x Ç :y) Æ (:x Çy)) Æ 9 y. ((:y Ç :x) Æ (x Ç y)))

Binding scope of y

X

X

Page 6: Quantified Formulas

6

Prenex Normal-Form (PNF)

Formulas in PNF look like this:

’: Q[n]V[n]. .Q[1]V[1]. Quantifier-free formula

where Q[i] 2 {8,9} and V[i] is a variable.

Every quantified formula can be transformed to PNF while preserving validity. How ?

prefix

Page 7: Quantified Formulas

7

Prenex Normal Form (PNF)

1. Eliminate ! and $ (transform to Ç Æ :)

2. Push negations inside using:: 8 x. $ 9 x. : : 9 x. $ 8 x. :

3. If there are name conflicts across scopes, solve with renaming.

4. Move quantifiers out by using recursively rules such as:1. Q1 x. 1(x) Æ Q2 y.

2(y) $ Q1 x. Q2 y. (1(x) Æ 2(y)) Qi2{8,9}

2. Q1 x. 1(x) Ç Q2 y. 2(y) $ Q1 x. Q2 y. (1(x) Ç 2(y))Qi2{8,9}

3. 1 Æ 9 x. 2(x) $ 9 x. (1 Æ 2(x)) where x does not appear in 1

4. 1 Æ 8 x. 2(x) $ 8 x. (1 Æ 2(x)) where x does not appear in 1

5. 8 x. 1(x) Æ 8 x.

2(x) $ 8 x. (

1(x) Æ

2(x))

6. 9 x. 1(x) Ç 9 x.

2(x) $ 9 x. (

1(x) Ç

2(x))

Page 8: Quantified Formulas

8

Prenex Normal Form (PNF): example

:9 x. : (9 y. ((y ! x) Æ (: x Ç y)) Æ :8 y. ((y Æ x) Ç (: x Æ : y)))

1,2. Eliminate !, push negations inside:

8 x. (9 y. ((:y Ç x) Æ (: x Ç y)) Æ 9y. ((:y Ç : x) Æ (x Ç y)))

3. Renaming:

8 x. (9y1. ((:y1 Ç x) Æ (: x Ç y1)) Æ 9y2. ((:y2 Ç : x) Æ (x Ç y2)))

4. Move quantifiers to front:

8 x. 9y1. 9y2. (x Ç :y1) Æ (: x Ç y1) Æ (:y2 Ç : x) Æ (x Ç y2)

Page 9: Quantified Formulas

9

Why eliminating 9x. ÆiLi is enough

A procedure for eliminating an existential quantifier applied to a conjunction of literals is enough, because: Given a formula , write it in DNF. Use the fact that

Eliminate universal quantifiers using the fact

8x. $ :9x. :

Page 10: Quantified Formulas

10

Quantifier Elimination

Examples first, generalization later. Example #1: Quantified Boolean Formulas (QBF) Example #2: Quantified Linear Arithmetic (QLA)

Page 11: Quantified Formulas

11

Example #1: QBF

Examples of Quantified Boolean Formula

: ue.(uÇ :e)(:uÇ e)

: e4e5u1u2u3e1e2e3. f(e1,e2,e3,e4,e5,u1,u2,u3)

QBF Problem: is valid? P-Space Complete, theoretically harder than NP-Complete

problems such as SAT.

Page 12: Quantified Formulas

12

Motivations

QBF has practical applications: AI Planning Sequential circuit verification …

Page 13: Quantified Formulas

13

a Ç b Ç g Ç h’Ç fa Ç b Ç g Ç h’

Solving QBF with projection: 9

Eliminate 9x. by projecting x on variables in higher quantification levels (their scope includes x’s scope).

In Propositional Logic projection can be done with Resolution.

Resolution example:

a Ç b Ç c’ Ç f g Ç h’ Ç c Ç f

Page 14: Quantified Formulas

14

Solving QBF with projection: 8

)'')(')('( 13211113121 euueueuueuu

))'')(')('(( 13211113121 euueueuueuu

))'()'()'(( 121111121 eueueueuu

Transform 8 to 9 via: (8x. $ (:9x. : CNF is easier than general formulas:

))'()'()'(( 13211113121 euueueuueuu Suffix is DNF

))'()'()'( 121111121 eueueueuu Back to CNF

Shortcut for CNF formulas: simply erase universally quantified variables!

))).('()'()'(( 13321111121 euuueueueuu Replace with true

Page 15: Quantified Formulas

15

)'( 2121 uuuu

)')('')(')('( 311323111133121 eeeuueeueueueuu

)')()('')('')('( 312113232111233121 eeeeeuueeueueeueuu

Resolution Based QBF Algorithm

)')(')('( 121111121 eueueueuu

false

)'')(')('( 13211113121 euueueuueuu

Page 16: Quantified Formulas

16

Example #2: Quantified Linear Arithmetic

formula = predicate | formula Ç formula | :formula | (formula) | 8 var. formula | 9 var. formula

predicate = i ai xi · c

8x.9y.9z. (y+1 · x Æ z+1 · y Æ 2x+1 · z)

Page 17: Quantified Formulas

17

Solving QLA with projection

Eliminate 9x. by projecting x. In Linear Arithmetic over R projection can be done

with Fourier-Motzkin elimination.

Fourier-Motzkin method to eliminate a variable xn:- for each pair of constraints: i=1..n-1ai’xi < xn < i=1..n-1aixi

add a constraint i=1..n-1ai’xi < i=1..n-1aixi

- in the end remove all constraints involving xn.

Page 18: Quantified Formulas

18

x + 1 · 3z + 3

2y · 2z + 4

Solving QLA with projection

Fourier Motzkin: example.

Eliminate y:

x + 1 · z + 2 Æ

x + 1 · y Æ y · 3z + 3 Æ

Page 19: Quantified Formulas

19

Quantifier elimination - example

8x.9y.9z. (y+1 · x Æ z+1 · y Æ 2x+1 · z)

8x.9y. (y+1 · x Æ 2x+1 · y-1 )

8x. (2x+2 · x-1) // transform to 9

:9x. : (2x+2 · x-1)

:9x. x > -3

:true

false

Page 20: Quantified Formulas

20

Quantifier elimination by projection: summary

Given a PNF formula f = Q[n]V[n]Q[1]V[1]

For i = 1 .. n {

if Q[i] = 9 then = project(,V[i])

else = :project(:,V[i])

}

Return

Page 21: Quantified Formulas

21

More about QBF

Example of using QBF (the diameter problem) A search-based procedure for QBF.

Page 22: Quantified Formulas

22

The State Space Diameter Problem

S0

S2S1

S3

S5 S4 diameter = 3

Start from the initial states, the minimum number of steps needed to visit every reachable state

S0

initial state: S0S2S1

step 1: S1, S2

S4

S3step 2: S3, S4

S5

step 3: S5

Page 23: Quantified Formulas

23

Why is the Diameter Problem important?

Bounded model checking (BMC): search for a ‘bad’ state up to k steps from an initial step.

BMC can be formulated as SAT. Increasing k makes is harder. Q: how deep should we go ? A: as deep as the diameter The diameter can be found by solving a QBF problem

Page 24: Quantified Formulas

25

Circuit Constructed for the Diameter Problem

CombinationalLogic

I1

O1

1s0s CombinationalLogic

In

On

ns1ns CombinationalLogic

In+1

On+1

1ns

CombinationalLogic

I1’

O1’

'1s'0s CombinationalLogic

In’

On’

'ns'1ns

The idea: prove that for every state reachable in k+1 steps, there exists inputs that drive the model to this state earlier.

Page 25: Quantified Formulas

26

Some Terminology for the Formulations

CombinationalLogic

I1

O1

1s0s CombinationalLogic

In

On

ns1ns CombinationalLogic

In+1

On+1

1ns

CombinationalLogic

I1’

O1’

'1s'0s CombinationalLogic

In’

On’

'ns'1nsVariables: V1

Circuit consistency condition: C(V1)

Page 26: Quantified Formulas

27

Some Terminology for the Formulations

CombinationalLogic

I1

O1

1s0s CombinationalLogic

In

On

ns1ns CombinationalLogic

In+1

On+1

1ns

CombinationalLogic

I1’

O1’

'1s'0s CombinationalLogic

In’

On’

'ns'1ns

Variables: V2

Circuit consistency condition: C(V2)

Page 27: Quantified Formulas

28

QBF Formulation

CombinationalLogic

I1

O1

1s0s CombinationalLogic

In

On

ns1ns CombinationalLogic

In+1

On+1

1ns

CombinationalLogic

I1’

O1’

'1s'0s CombinationalLogic

In’

On’

'ns'1ns

C(V1)

C(V2)

)1()()()(.),\( '10212

1

11121 i

SSVCVCVIVIII nni

n

iin

Other V1variables

V1 inputs V2 variables

Page 28: Quantified Formulas

29

Another way to project Boolean variables

Shannon expansion:9x. = |x=0 Ç |x=1

8x. = |x=0 Æ |x=1 // can be derived from 8x. = :9x.:

The same applies for all finite-range variables. Applying to CNF $ resolution But: does not need to be in CNF, and there is no

need to transform the formula to DNF.

Page 29: Quantified Formulas

30

Projection for non-CNF formulas: example

9y 8z 9x. (y Ç (x Æ z))

9y 8z. (y Ç (x Æ z))|x=0 Ç (y Ç (x Æ z))|x=1

9y 8z. ((y) Ç (y Ç z))

9y :9z. (:y Æ :z)

9y. : ((:y Æ :z)|z=0 Ç (:y Æ :z)|z=1)

9y. : (:y)

True

Page 30: Quantified Formulas

31

Search Based QBF Algorithms

Work by gradually assigning variables A partial assignment

[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)

Page 31: Quantified Formulas

32

Search Based QBF Algorithms

Work by gradually assigning variables A partial assignment

Undetermined Continue search

[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)

Page 32: Quantified Formulas

33

Search Based QBF Algorithms

Work by gradually assigning variables A partial assignment

Undetermined Conflict

Backtrack Record the reason

[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)

Page 33: Quantified Formulas

34

Search Based QBF Algorithms

Work by gradually assigning variables A partial assignment

Undetermined Conflict Satisfied

Backtrack Determine the covered satisfying space

[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)

Page 34: Quantified Formulas

35

Search Based QBF Algorithms

Work by gradually assigning variables A partial assignment

Undetermined Conflict Satisfied

The majority of QBF solvers are search based, the DPLL algorithm is an example of this

Page 35: Quantified Formulas

36

Basic DPLL Flow for QBF

eu (e Ç u)(:e Ç :u)

Unknown

True (1)

False(0)

Page 36: Quantified Formulas

37

Basic DPLL Flow for QBF

e = 0

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

Page 37: Quantified Formulas

38

Basic DPLL Flow for QBF

e = 0

u = 1

Unknown

True (1)

False(0)

Satisfying Node

eu (e Ç u)(:e Ç :u) Universal quantification

Existential quantification

Page 38: Quantified Formulas

39

Basic DPLL Flow for QBF

e = 0

u = 1

Unknown

True (1)

False(0)

Backtrack

eu (e Ç u)(:e Ç :u)

Page 39: Quantified Formulas

40

Basic DPLL Flow for QBF

e = 0

u = 1 u = 0

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

Page 40: Quantified Formulas

41

Basic DPLL Flow for QBF

e = 0

u = 1 u = 0

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

Page 41: Quantified Formulas

42

Basic DPLL Flow for QBF

e = 1

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

e = 0

u = 1 u = 0

Page 42: Quantified Formulas

43

Basic DPLL Flow for QBF

e = 1

u = 1

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

e = 0

u = 1 u = 0

Page 43: Quantified Formulas

44

Basic DPLL Flow for QBF

e = 1

u = 1

Unknown

True (1)

False(0)

Conflicting Node

eu (e Ç u)(:e Ç :u)

e = 0

u = 1 u = 0

Page 44: Quantified Formulas

45

Basic DPLL Flow for QBF

e = 1

u = 1

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

e = 0

u = 1 u = 0

Page 45: Quantified Formulas

46

Basic DPLL Flow for QBF

e = 1

u = 1

e = 0

u = 1 u = 0

False

Unknown

True (1)

False(0)

eu (e Ç u)(:e Ç :u)

Page 46: Quantified Formulas

47

Basic DPLL Flow for QBF

ue (u Ç e)(:u Ç :e)

Unknown

True (1)

False(0)

Page 47: Quantified Formulas

48

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

ue (u Ç e)(:u Ç :e)

Page 48: Quantified Formulas

49

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1

ue (u Ç e)(:u Ç :e)

Page 49: Quantified Formulas

50

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

ue (u Ç e)(:u Ç :e)

Page 50: Quantified Formulas

51

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

ue (u Ç e)(:u Ç :e)

Page 51: Quantified Formulas

52

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

u = 0

e = 1

ue (u Ç e)(:u Ç :e)

Page 52: Quantified Formulas

53

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

u = 0

e = 1

Trueue (u Ç e)(:u Ç :e)

Page 53: Quantified Formulas

54

Naïve DPLL Based Approach

Works on a CNF database Learning and non-chronological backtracking is

much harder – requires a change! Modern QBF solvers do not work with CNF, rather

with a combination of CNF with Cubes. This lets them apply learning efficiently.