quantified formulas

Post on 13-Jan-2016

35 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

1

Quantified Formulas

Acknowledgement: QBF slides borrowed from S. Malik

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”

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)

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.

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

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

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))

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)

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. :

10

Quantifier Elimination

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

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.

12

Motivations

QBF has practical applications: AI Planning Sequential circuit verification …

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

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

15

)'( 2121 uuuu

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

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

Resolution Based QBF Algorithm

)')(')('( 121111121 eueueueuu

false

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

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)

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.

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 Æ

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

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

21

More about QBF

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

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

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

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.

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)

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)

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

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.

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

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)

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)

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)

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)

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

36

Basic DPLL Flow for QBF

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

Unknown

True (1)

False(0)

37

Basic DPLL Flow for QBF

e = 0

Unknown

True (1)

False(0)

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

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

39

Basic DPLL Flow for QBF

e = 0

u = 1

Unknown

True (1)

False(0)

Backtrack

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

40

Basic DPLL Flow for QBF

e = 0

u = 1 u = 0

Unknown

True (1)

False(0)

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

41

Basic DPLL Flow for QBF

e = 0

u = 1 u = 0

Unknown

True (1)

False(0)

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

42

Basic DPLL Flow for QBF

e = 1

Unknown

True (1)

False(0)

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

e = 0

u = 1 u = 0

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

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

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

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)

47

Basic DPLL Flow for QBF

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

Unknown

True (1)

False(0)

48

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

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

49

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1

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

50

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

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

51

Basic DPLL Flow for QBF

Unknown

True (1)

False(0)

u = 1

e = 1 e = 0

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

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)

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)

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.

top related