sat-solving: from davis- putnam to zchaff and...

72
SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang

Upload: others

Post on 10-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

SAT-Solving: From Davis-Putnam to Zchaff and Beyond

Day 3: Recent Developments

Lintao Zhang

Page 2: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Requirements for SAT solvers in the Real World

Fast & RobustGiven a problem instance, we want to solve it quickly

ReliableCan we depend on the SAT solver? i.e. is the solver bug free?

Feature RichIncremental SAT SolvingUnsatisfiable Core ExtractionWhat are the other desirable features?

Beyond SATPseudo Boolean ConstraintMulti-Value SAT solvingQuantified Boolean Formula (QBF)

Page 3: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

ResolutionResolution of a pair of clauses with exactly ONE incompatible variable

Two clauses are said to have distance 1

a + b + g + h’ + fa + b + g + h’

a + b + c’ + f g + h’ + c + f

Page 4: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Conflict Analysis as Resolution

(V2 + V3’ + V5’+V6)

(V3’+V6+V4)(V6+V5’+V1’)(V2+V4’+V6+ V1)(V2+V4’+V6+V5’)(V2 + V3’ + V5’+V6)

V4(5)

V3(2)

-V6(5)

V1(5)

-V2(1)

V5(3)

-V1(5)

Page 5: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Key ObservationsDLL with learning is nothing but a resolution process

Has the same limitation as resolutionCertain class of instances require exponential sized resolution proof. Therefore, it will take exponential time for DLL SAT solver

We can use this for Certification / Correctness CheckingUnsatisfiable Core ExtractionIncremental SAT solving

Page 6: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Motivation for SAT Solver Validation

Certify automatic reasoning tools:Required for mission critical applications

Train Station Safety CheckAvailable for some theorem provers and model checkers

Do we really need the validation?Modern SAT solvers are intricate pieces of software (e.g. zchaffcontains about 10,000 lines of code)Bugs are abundant in SAT solvers

Page 7: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Certify a SAT SolverThe correctness of a SAT solver:

If it claims the instance is satisfiable, it is easy to check the claim.How about unsatisfiable claims?

Traditional method: run another SAT SolverTime consuming, and cannot guarantee correctness

Needs a formal check for the proof, similar to the check for the validity of a proof in math.

Must be automatic.Must be able to work with current state-of-the-art SAT solvers

Page 8: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

DLL with Learning

while(1) {if (decide_next_branch()) { //Branching

while(deduce()==conflict) { //Deducingblevel = analyze_conflicts(); //Learningif (blevel < 0)

return UNSAT;else back_track(blevel); //Backtracking

}else //no branch means all variables got assigned.

return SATISFIABLE;}

Page 9: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Correct in Unsatisfiable Case

(x4)(x4’+x3’)(x1)(x1’+x3+x5+x7)(x4’+x3+x5’)(x7’+x5)

Final Conflicting Clause

(x1’+x3+x5)

(x1’+x4’+x3)

(x1’+x4’) (x4’)

()

Page 10: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Resolution Graph

Original Clauses

Learned Clauses

Empty Clause

Page 11: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

An Independent CheckerStrategy:

SAT solver dump out a trace during the solving process representing the resolution graphUsing a third party checker to construct the empty clause by resolution using the hint provided by the traceTrace only contain resolve sources of each learned clauses. Need to reconstruct the clause literals by resolution from original clauses

Page 12: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Practical Implementation: Depth First

Start from the empty clause, recursively reconstruct all needed clause.Fast, because it only needs to reconstruct clauses that are needed for the proof.But may fail because of memory overflow on hard instances.

Page 13: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Depth First Approach

Original Clauses

Learned Clauses

Empty Clause

Page 14: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Practical Implementation: Breadth First

Start from the original clauses and construct clauses in the same order as they appearSlower, because all the clauses need to be reconstructedNo memory overflow problem if we delete clauses when they are not needed anymore.

Page 15: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Breadth First Approach

Original Clauses

Learned Clauses

Empty Clause

Page 16: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Calculate Fan-outs in Breadth First Approach

Original Clauses

Learned Clauses

Empty Clause

3

3

0

0

0

3

1

2

2

1

1

1

0

0

2

2

1

Page 17: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Calculate Fan-outs in Breadth First Approach

Original Clauses

Learned Clauses

Empty Clause

3

3

0

0

0

3

1

2

2

1

1

1

0

0

2

2

1

Page 18: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Experimental Results

1.68%13673.0751118239107pipe2.77%4106.7394739158006pipe3.39%1252.4545612170646pipe_6_ooo4.26%376.0179492200939vliw_bp_mc6.17%296.7186455974longmult124.51%238.2366068903barrel94.51%118.8240892101135pipe_5_ooo8.76%64.4204237652c75527.68%40.6502162946too_largefs3w8v262

10.45%22.0150245399c53159.12%5.91224125886bw_large.d

11.89%3.34170445832dlx_cc_mc_ex_bp_f

Trace OverheadRuntime

Orig. Num. Clauses

Num. VariablesInstance Name

* Experiments are carried out on a PIII 1.13Ghz Machine with 1G Mem

Page 19: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Experimental Results

62620645.33**7pipe40248301.98**6pipe40136102.6724946838.56pipe_6_ooo1772433.8112675212.89vliw_bp_mc

748841.2215428825.9longmult12675210.46314564.85barrel9

1793613.29500446.65pipe_5_ooo597611.44414206.16c755261645.47267523.79too_large37325.19181082.8c531599202.4487201.48bw_large.d46521.3078600.842dlx

Mem(k)Time(s)Mem(k)Time(s)Breadth-FirstDepth-FirstInstance

Name

Page 20: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Unsatisfiable Core Extraction: Problem DefinitionGiven an unsatisfiable Boolean Formula in CNF

F=C1C2......Cn

Find a formula G=C1’C2’......Cm’

Such that G is unsatisfiable, Ci’ ∈ {Ci | i=1...n} with m ≤ n

Example: (a) (a’ + b’)(b + a’)(c + a’ + d)(c’ + d) (d’ + a’)

Page 21: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Unsatisfiable Core Extraction: Problem DefinitionGiven an unsatisfiable Boolean Formula in CNF

F=C1C2......Cn

Find a formula G=C1’C2’......Cm’

Such that G is unsatisfiable, Ci’ ∈ {Ci | i=1...n} with m ≤ n

Example: (a) (a’ + b’)(b + a’)(c + a’ + d)(c’ + d) (d’ + a’)

Page 22: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Unsatisfiable Core Extraction: Problem DefinitionGiven an unsatisfiable Boolean Formula in CNF

F=C1C2......Cn

Find a formula G=C1’C2’......Cm’

Such that G is unsatisfiable, Ci’ ∈ {Ci | i=1...n} with m ≤ n

Example: (a) (a’ + b’)(b + a’)(c + a’ + d)(c’ + d) (d’ + a’)

Page 23: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

MotivationDebugging and redesign: SAT instances are often generated from real world applications with certain expected results:

If the expected results is unsatisfiable, but we found the instance to be satisfiable, then the solution is a “counter example” or “input vector” for debugging

Train station safety checkingCombinational Equivalence Checking

What if the expected results is satisfiable?SAT Planning FPGA Routing

Relaxing constraints:If several constraints make a safety property holds, are there any redundant constraints in the system that can be removed without violate the safety property? Abstraction for model checking: Ken McMillan & Nina Alma, TACAS03; A. Gupta et al, ICCAD 2003

Page 24: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Proposed Approach

Original Clauses

Learned Clauses

Empty Clause

Page 25: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Proposed Approach

Original Clauses

Learned Clauses

Empty Clause

Page 26: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Proposed Approach

Original Clauses

Learned Clauses

Empty Clause

Involved Clauses

Page 27: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Implementation IssuesNo need to check the integrity of the graphGraph too large, have to traverse on disk

The nodes of the graph is already topologically orderedBut we need to reverse it

Can iteratively run the procedure to obtain smaller coresCannot guarantee the core to be minimal or minimum. Depends on the SAT solver for the quality of the core extracted

Page 28: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Experimental ResultsRun

Time (s)

152.7199.9637.1410.6821.31

4.666.625.372.652.641.540.85

33.1%12975180559170645456126pipe_6_ooo

29.3%20188221070239107531187pipe32.1%13156126469154693947396pipe

37.0%1673766458191481794929vliw_bp_mc

57.5%453210727597418645longmult1265.2%860423870890336606Barrel923.9%749457515101132408925pipe_5_ooo

97.5%765119912765120423C755220.0%294610060294650216too_large95.4%539914336539915024C5315

6.7%310781515886122412bw_large.d26.8%3145111694524417042dlx

Num. VarsNum. ClsNum.VarsNum ClsClauseRatio

AfterBeforeInstanceName

Page 29: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Core Extracted After Several Iterations

5pipe_5_ooo

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1 6 11 16 21 26

barrel9

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1 6 11 16 21 26

bw_large.d

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1 6 11 16 21 26

too_largefs3w8v262

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1 6 11 16 21 26

Page 30: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

The Quality of the Core Extracted

Start from the smallest core that can be extracted by the proposed method (i.e. run till fixed point), delete clauses one by one till no clause can be deleted without change the satisfiability of the formula.The resulting core is a minimal core for the formula.Finding minimal core is time consuming.

1.186376532446450416Too_largefs3w8v262

1.1041225351352122412Bw_large.d

1.0207882268036417042dlx_cc_mc_ex_bp_f

ClauseRatio

Minimal#Cls

IterationsExtracted# Cls

Original#Cls

BenchmarkInstance

Page 31: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Incremental SAT SolvingIn real world, multiple SAT instances are generated to solve oneproblem

Combinational Equivalence Checking: equivalence multiple outputs are checked one by oneBounded Model Checking: properties are checked at 1, 2, 3 … n cycles.

These multiple SAT instances are often very similar, or have large common partTraditionally we solve them one by one independentlyCan we do better?

Page 32: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Incremental SAT SolvingPrevious efforts are recorded in the learned clauses

Try to keep the learned clauses

To solve a series of SAT instances that differ only a little bit, we need to be able to

Add constraints to the clause database (easy)If the original instance is UNSAT, the new instance is still UNSATIf the original instance is SAT, while added constraint clauses are not conflicting under the satisfying assignment, then the new instance is still SATOtherwise, resolve the conflict and continue solve

Delete constraints from the database (tricky)Some of the learned clauses are invalidatedOfer Strichman, CAV2000

Page 33: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Find the Learned Clauses that are Invalidated

Original Clauses

Learned Clauses

2

3

4

6

7

5

8

1

23

34

47

78

234

347

3478

2347

23578

57

Page 34: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Find the Learned Clauses that are Invalidated

Original Clauses

Learned Clauses

2

3

4

6

7

5

8

1

23

34

47

78

234

347

3478

2347

23578

57

Page 35: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Find the Learned Clauses that are Invalidated

Original Clauses

Learned Clauses

2

3

4

6

7

5

8

1

23

34

47

78

234

347

3478

2347

23578

57

Page 36: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Engineering QuestionsHow to do this efficiently?

It’s too expensive for each learned clause to carry with it all it’s resolve sourcesSolution

Arrange the clauses into groups. Clauses are added and deleted a group at a timeUsing bit vector for carrying the group information for each clause: 32 bit machine can have 32 groups of clauses, enough formost applications

Page 37: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Using SAT Techniques for Other types of Constraints

SAT LimitationsVariables are in Boolean DomainConstrains are expressed as clauses

E.g. at least one of the literals in each clause must be trueSAT Advantages

DLL algorithm is highly polished, many well studied heuristicsVery fast BCPLearning and non-chronological backtracking

Can we remove some of the limitations while still retain the powerful SAT solving techniques?

Pseudo Boolean Constraint, Fadi Alou etc. PBSMulti Value SAT, Cong Liu etc. CAMAQuantified Boolean Solver

Page 38: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Pseudo Boolean (PB) Constraints Solver

PB Constraints Definition

Zgci ∈, },,{~ ≥≤=∈ Literalsxi ∈

gxcxc nn ~11 ++L

Examples:3 x1 + x2 + 5 x3 = 24 x1 - 5 x3’ >= 3

Page 39: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Pseudo Boolean (PB) Constraints Solver

)( yx ∨ )1( ≥+ yxClauses can be generalized as a PB constraint:

123 21 −≥+− xx

323 21 ≤+ xx

)1()23( 21 −−≤+−− xx123 21 ≤− xx

1)1(23 21 ≤−− xx

gxcxc nn ≤++L11

Convert arbitrary PB constraints to normal form:

e.g. • Positive coefficients• Constraint type: ≤⇒ Faster manipulation

Page 40: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

PB-SAT Algorithms

Struct PBConstraint:

List of ci and xi’s Goal n

value of RHS

LHS

value of LHS based on current variable assignment

For efficiency:Sort the list of cixi in order of increasing ci

Page 41: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

PB-SAT AlgorithmsAssigning vi to 1:For each literal xi of vi

If positive xi, LHS += ci

Unassigning vi from 1:For each literal xi of vi

If positive xi, LHS -= ci

PB constraint state UNS: LHS > goal

5x1+6x2+3x3 ≤ 12

LHS = 0

LHS = 55x1+6x2+3x3 ≤ 12

LHS = 8LHS < goalSATISFIABLE

5x1+6x2+3x3 ≤ 12

Page 42: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

PB-SAT Algorithms

Identifying implicationsif ci > goal – LHS, xi = 0Implied by literals in PB assigned to 1

5x1+6x2+3x3 ≤ 12

LHS = 0goal - LHS = 12

5x1+6x2+3x3 ≤ 12

LHS = 8goal - LHS = 4Imply x2=0

Page 43: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

PB-SAT Algorithms

Identifying conflictsif LHS > goalConflicting assignment:consists of the subset of true literals whose sum of coefficients exceeds the goal.

5x1+6x2+3x3 ≤ 7

LHS = 0

5x1+6x2+3x3 ≤ 7

LHS = 14LHS > goalconflicting assignment ={x1, x2}

Page 44: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

SAT Solving on Multi-Value Domain

Let xi denote a multi-valued variable with domain Pi ={0,1,…,|Pi|-1}.xi is assigned to a non-empty value set vi, if xi can take any value from vi ⊆ Pi but no value from Pi \ vi

if | vi | = 1, completely assigned, e.g. x := {2}otherwise incompletely assigned, e.g. x := {0,2}

A multi-valued literal is the Boolean function defined by

where ; is the literal value set1( ) ( )is

i i i kx x xγ γ≡ = + + =L

isix

i i is Pγ ∈ ⊆ is

Page 45: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Multi-Value SATA multi-valued clause is a logical disjunction of one or more MV literals.A formula in multi-valued conjunctive normal form (MV-CNF) is the logical conjunction of a set of multi-valued clauses.A MV SAT problem given in MV-CNF is

Satisfiable if there exists a set of complete assignments to all variables such that the formula evaluates to true. It is unsatisfiable if no such assignment exists.

Page 46: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Resolution

{0,2}1

{3} {1,2}1 2{0,2,3} {1,2}

{2 3}3

{0,2}

2{ }

31

32

( )( )( )

,xxx

xx xx x

++ +

+ +

{2 3}3

{1,2} {0

{0,2}

,2}2 3

{1,2} {0

1{3}

1,2,3}

2 3

( )( )

( )

,xx x

x x

xx

++ +

+

Recall: Binary clause resolution:

variable x is eliminated

MV resolution provides generalized case

take intersection of literal value sets of the resolving variable x

( ) ( ' )( ')i i

i i

l x l xl l

+ ++

∑ ∑∑ ∑

' '

''

( ) ( ' ' )( ' ' )

ji

ji

ss s si i

ssi i

s s

x x x xx xx ∩

+ ++ +

∑ ∑∑ ∑

3

3

1

2 4

1 2 4

'( ' )( )( ' )

xx xx

x

xxx

++ ++ +

Page 47: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

DecisionBinary case: either 0 or 1 is assignedMV Case: (2|P|-2) possible assignments initially

E.g. P={0,1,2}: {0}, {1}, {2}, {0,1}, {0,2}, {1,2}“Large decision” scheme:

Pick one value from value set of selected variableMax depth of decision stack = # variables nLearning by contra-positive only forbids one value

“Small decision” scheme:Exclude one valueMax depth of decision stack =

1

n

iiP

=∑

Page 48: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Boolean Constraint Propagation

{1} {0,1}1 3 2

{1,3} {0} {1}2 4 3 1

{2} {2,3} {3}3 2 1 4

( )

( )

( )

x xx x xx x x

ωωω

= +

= + +

= + +

Implication Graph (IG)

4 {0}@ 1x d=

3 {3}@ 2x d=

1

2

{1}@ 2x dω

=

2

1

{0,1}@ 2x dω

=3

Conflictω

1 2 3 4 {0,1,2,3}P P P P= = = =

Page 49: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Conflict Analysis by CutCut at x3 and x4 as first UIP

By contra-positive we learn

4 3{0} {3}x x Conflict= ∧ = ⇒

{1,2,3} {0,1,2}4 3( )cut x xω = +

4 {0 @ 1}x d=

3 {3 @ 2}x d=

1

2

{1}@ 2x dω

=

2

1

{0,1}@ 2x dω

=3

Conflictω

Page 50: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Conflict Analysis by Resolution

4 {0}@ 1x d=

3 {3}@ 2x d=

1

2

{1}@ 2x dω

=

2

1

{0,1}@ 2x dω

=3

Conflictω

{2} {3}3 2 4

{2,3}1( )akk xx xω ω= = + +

{1,3 {1}02 1

} { }4 3( )x x xω = + +{2} {1,3} {0}2 4 3' ( )akk x x xω = + +

{1} {0,1}1 3 2

{1,3} {0} {1}2 4 3 1

{2} {2,3} {3}3 2 1 4

( )

( )

( )

x xx x xx x x

ωωω

= +

= + +

= + + {1} {0,1}1 3 2( )xxω = +

{1,3} {0,1}4 3' ( )learn akk x xω ω= = +

Page 51: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

MV-Conflict AnalysisThe learned clause is strictly “stronger” than the cut clause

Cut clause forbids:

Learned clause forbids:

As if decisions were:

{1,3}4

{0,1}3( )learn x xω = +

{1,2,3} {0,1,4 3

2}( )cut x xω = +

Never visited before

4 3{0} {3}x x= ∧ =

4 3{0} {3},x x= ∧ =

4 3{2} {3}x x= ∧ =4 3{0} {2},x x= ∧ =

4 3{2} {2},x x= ∧ =

4 2{0, }@ 1;x d= 3 { , 22 3}@x d=

Bigger search space

Page 52: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Pseudo Boolean Constraints and Multi-Value Constraints

They REALLY look like Boolean Satisfiability Solvers!!!

Page 53: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

QBF: Quantified Boolean Formula

Quantified Boolean FormulaQ1x1……Qnxn ϕ

Example: ∀ x∃ y(x+y’)(x’+y)

∃ de∀ xyz∃ abc f(a,b,c,d,e,x,y,z)QBF Problem:Is F satisfiable?

Page 54: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Why BotherP-Space Complete, theoretically harder than NP-Complete problems such as SAT.Has practical Applications:

AI PlanningSequential Circuit Verification

Similarities with SATLeverage SAT techniques

Page 55: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

Page 56: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

Unknown

True (1)

False(0)

Page 57: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

Unknown

True (1)

False(0)

Page 58: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

Unknown

True (1)

False(0)

Page 59: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

Unknown

True (1)

False(0)

Backtrack

Page 60: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

x = 0

Unknown

True (1)

False(0)

Page 61: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

x = 0

y = 1

Unknown

True (1)

False(0)

Page 62: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

x = 0

y = 1 y = 0

Unknown

True (1)

False(0)

Page 63: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

x = 0

y = 1 y = 0

Unknown

True (1)

False(0)

Page 64: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∃ x∀ y (x + y)(x’ + y’)

x = 1

y = 1

x = 0

y = 1 y = 0

False

Unknown

True (1)

False(0)

Page 65: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

Page 66: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

Page 67: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

y = 1

Page 68: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

y = 1 y = 0

Page 69: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

y = 1 y = 0

Page 70: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

y = 1 y = 0

x = 0

y = 1

Page 71: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

Basic DLL Flow for QBF

∀ x∃ y (x + y)(x’ + y’)

Unknown

True (1)

False(0)

x = 1

y = 1 y = 0

x = 0

y = 1

True

Page 72: SAT-Solving: From Davis- Putnam to Zchaff and Beyondhome.ustc.edu.cn/~zhao03/slides/sat_course3.pdfPutnam to Zchaff and Beyond Day 3: Recent Developments Lintao Zhang Lintao Zhang

Lintao Zhang

QBF: ConclusionsQBF solving is much more difficult than SAT

No existing QBF solver is of much practical useIt’s possible to incorporate learning and non-chronological backtracking into a DLL based QBF solverUnlike SAT, where DLL seems to be the predominant solution, it’s still unclear what is the most efficient approach to QBFAttracted a lot of interest recently, much more research effort is needed to make QBF solving practical

Chicken egg problem