boolean equi -propagation for optimized sat encoding

21
Boolean Equi- propagation for Optimized SAT Encoding Amit Metodi, Michael Codish, Vitaly Lagoon, and Peter J. Stuckey

Upload: shandi

Post on 25-Feb-2016

80 views

Category:

Documents


1 download

DESCRIPTION

Boolean Equi -propagation for Optimized SAT Encoding. Amit Metodi , Michael Codish , Vitaly Lagoon, and Peter J. Stuckey. Finite Domain Problem Solving. Constraint / Bits relation lost Large CNF. Problem (hard). Constraint Model. CNF. Model. Encoding. Direct. CSP solving. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Boolean  Equi -propagation for Optimized SAT Encoding

Boolean Equi-propagation for Optimized SAT

EncodingAmit Metodi, Michael Codish, Vitaly Lagoon, and Peter J. Stuckey

Page 2: Boolean  Equi -propagation for Optimized SAT Encoding

Problem(hard)

Solution

CNF

Satisfied assignment

Encoding

FINITE DOMAIN PROBLEM SOLVING

Model ConstraintModel

Dire

ct• Constraint / Bits

relation lost• Large CNF

CS

P s

olvi

ng

ModelSolutionTranslate Decoding

SAT

sol

ving

Page 3: Boolean  Equi -propagation for Optimized SAT Encoding

ConstraintModel

SimplifiedCNF

Encoding CNF

Sim

plify

SimplifiedModel

Encoding

OPTIMIZED SAT ENCODING

CNF’’

Problems:• Constraint / Bits

relation lost• Large CNF

CNF’Partial Evaluation

Tools such as: SatELite, ReVivAlBased on Unit Propagation and Resolution.

SimplifiedModel’

EncodingPartial Evaluation using

Equi-Propagation

Page 4: Boolean  Equi -propagation for Optimized SAT Encoding

OUR APPROACHConstraint( C1, B1 ) …M=

Constraint( C1, B1 )

Constraint( C’3, B‘3 )

Constraint( C’n, B’n )…M= ’

φ=

Sim

plify

CSP techniques

Enc

odin

g

Boolean techniques

Constraint( C2, B2 )

Constraint( C3, B3 )

Constraint( Cn, Bn )

Constraint( C2, B2 )

φ1 φ'3 φ'n…

Equi-Propagation

Standard encodings

Page 5: Boolean  Equi -propagation for Optimized SAT Encoding

OUTLINE Modeling Finite Domain CSP Equi-Propagation Experimentation Conclusions

Page 6: Boolean  Equi -propagation for Optimized SAT Encoding

MODELING FINITE DOMAIN CSPrepresenting numbers (integers)

BinaryNumber X with a domain {0,1,2, …, d} will be represented using b= Boolean variables [ x1,x2,…xb]

Number X = k ↔ = k

UnaryNumber X with a domain {0,1,2, …, d} will be represented using n= Boolean variables.

Order encodingxi ↔ (X ≥ i)

(X = 3) = [1,1,1,0,0]

Direct encodingxi ↔ (X = i)

(X = 3) = [0,0,0,1,0,0]

SMALL

Page 7: Boolean  Equi -propagation for Optimized SAT Encoding

WHY ORDER ENCODING ?

Xi jX ≥ i X < j 1 0

good for representing ranges

X u vi

good for arbitrary sets

good for arithmetic operations with constants: +3 = *3 =

div 3 = aaa bbb ccca cb

a cb

c f

111 cba

cba fed g

a b c d e f gb=c e=f=g

Page 8: Boolean  Equi -propagation for Optimized SAT Encoding

x= -y, x=y,x=0, x=1

single

EQUI-PROPAGATIONEqui-propagation is the process of inferring new equational consequences from a constraint in the model (and other existing equational information).

x can now be removed from all

constraints.

Page 9: Boolean  Equi -propagation for Optimized SAT Encoding

diff(U1,U2)

U1 { 0..4 } U1 = [x1,x2,x3,x4]U2 { 0..4 } U2 = [y1,y2,y3,y4]Xs = [a,d,b,x3,y2,c,y4]

EQUI-PROPAGATION EXAMPLE

sumBits(Xs)=3Constraints Constraints… …

Sim

plify

U1 { 1,3 } U1 = [1,x2,x2,0]U2 { 1,3 } U2 = [1,y2,y2,0]Xs = [a,1,b,x2,y2,c,0]

U1 { 1,3 } U1 = [1,x2,x2,0]U2 { 1,3 } U2 = [1,-x2,-x2,0]Xs = [a,1,b,x2,-x2,c,0]

Partial Data:

φsumBits([a,b,c])=1φConstraints φConstraints… …

diff(U1,U2)

1≤U1≤3 and U1 ≠ 2 1≤U2≤3 and U2 ≠ 2 d = 1

Learned:

Sim

plify

Sim

plify

Sim

plify

Enc

odin

g

Enc

odin

g

Enc

odin

g

x1=1, x3=x2 , x4=0y1=1, y3=y2 , y4=0d = 1

U1 ≠ U2 (y2= -x2)

…sumBits([a,b,c])=1 Constraints

Page 10: Boolean  Equi -propagation for Optimized SAT Encoding

EQUI-PROPAGATION A complete equi-propagator for a constraint can be

implemented using binary decision diagrams (BDDs) and can be evaluate in polynomial time.When C(X1,…,Xk) a constraint about (fixed) “k” integers with n bits each, the BDD representing it is of size O(n^k)

Global constraints (such as allDiff) implemented using Ad-Hoc rules.

There is a strong connection between Simplify and Encoding because Simplify done on the “encoding bits” and might change the encoding accordingly.

Page 11: Boolean  Equi -propagation for Optimized SAT Encoding

Kakuro

QCP / Sudoku

BIBD

Nonograms

Ben-Gurion-University Equi-propagation Encoder

Graph Crossing

N-Queens

Magic Square

MAS

SCM / MCM

SystemDiagnostic

Proteinfolding

Page 12: Boolean  Equi -propagation for Optimized SAT Encoding

BALANCED INCOMPLETE BLOCK DESIGNS (BIBD)Definition: a 5-tuple of positive integers <v, b, r, k, l> and require to partition v distinct objects into b blocks such that each block contains k different objects, exactly r objects occur in each block, and every two distinct objects occur in exactly l blocks.

Variables: B11, …, Bbv

Domains: Bijϵ{0,1}Constraints:

• each row constraint: sum(Bi1,…,Biv) = r• each column constraint: sum(B1i,…,Bbi) = k• each two rows constraint: sum(Bi1*Bj1, …,Biv*Bjv)= l

BIBD <6,10,5,3,2>

b=10

v=6

Page 13: Boolean  Equi -propagation for Optimized SAT Encoding

We can swap between two rows or two columns to generate another valid solution.

BALANCED INCOMPLETE BLOCK DESIGNS (BIBD)

k

r

r-ll

<v, b, r, k, l>

Page 14: Boolean  Equi -propagation for Optimized SAT Encoding

BIBD – BEE VS SUGARSugar (v1.14.7) (SymB) BEE (SymB) instanceSAT

(sec.)CNF size(clauses)

generate(sec.)

SAT(sec.)

CNF size(clauses)

compile(sec.)

8.99 1607830 39.36 1.23 494131 1.34 <7,350,150,3,50>13.24 2488136 12.01 1.73 698579 1.65 <7,420,180,3,60>36.43 2753113 11.74 13.60 1211941 3.73 <7,560,240,3,80>0.01 3716 31.91 0.00 0 0.02 <21,21,5,5,1>1.87 540089 23.58 0.39 81563 0.56 <15,70,14,3,2>2.26 623773 64.81 0.56 109442 0.81 <16,80,15,3,2>0.42 93388 16.02 0.06 24594 0.10 <25,30,6,5,1>

- - ∞ 0.17 113053 0.34 <19,57,9,3,1>8.52 569007 42.65 1.33 92059 0.64 <25,25,9,9,3>

∞ 466086 4.24 8.46 116016 0.51 <15,45,24,8,12>

(CSP to CNF Encoder)

Faster SAT solving timeSmaller CNFFaster time to generate CNF

Page 15: Boolean  Equi -propagation for Optimized SAT Encoding

BIBD – BEE VS SATELITESatELite (SymB) BEE (SymB) instance

SAT(sec.)

CNF size(clauses)

preprocs(sec.)

SAT(sec.)

CNF size(clauses)

compile(sec.)

1.65 566191 1.27 1.23 494131 1.34 <7,350,150,3,50>2.18 802576 1.67 1.73 698579 1.65 <7,420,180,3,60>5.18 1397188 2.73 13.60 1211941 3.73 <7,560,240,3,80>0.00 0 0.01 0.00 0 0.02 <21,21,5,5,1>0.20 79542 1.02 0.39 81563 0.56 <15,70,14,3,2>0.35 105242 1.14 0.56 109442 0.81 <16,80,15,3,2>0.05 23828 1.2 0.06 24594 0.10 <25,30,6,5,1>0.14 111869 10.45 0.17 113053 0.34 <19,57,9,3,1>8.93 97623 1.01 1.33 92059 0.64 <25,25,9,9,3>

∞ 134146 0.64 8.46 116016 0.51 <15,45,24,8,12>

(CNF-Level preprocessor)

Solving timeAbout the same sizePreprocess time

Page 16: Boolean  Equi -propagation for Optimized SAT Encoding

CONCLUSIONS When encoding CSP model to SAT holding both representation for

each constraint gives the ability to apply simplify techniques from both worlds on each constraint.

Apply complete CNF simplification on each constraint is possible in polynomial time.

By using the Equi-Propagation technique we generates a small optimized CNF which than can be simplify using CNF-Level simplifications.

ConstraintModel

SimplifiedCNF

Encoding CNF

SimplifiedModel Encoding

CNF’’

CNF’Partial Evaluation

SimplifiedModel EncodingPartial Evaluation using Equi-Propagation

Constraint( C1, φ1 ) …M=

Constraint( C1, φ1 )

Constraint( C’3, φ‘3 )

Constraint( C’n, φ’n )…M= ’

Sim

plify

CSP techniques Boolean techniques

Constraint( C2, φ2 )

Constraint( C3, φ3 )

Constraint( Cn, φn )

Constraint( C2, φ2 )

Equi-Propagation

Page 17: Boolean  Equi -propagation for Optimized SAT Encoding

Questions?

Page 18: Boolean  Equi -propagation for Optimized SAT Encoding

BIBD – BEE + SATELITESatELite (SymB) BEE (SymB) instance

SAT(sec.)

CNF size(clauses)

preprocs(sec.)

SAT(sec.)

CNF size(clauses)

compile(sec.)

0.83 487523 1.43 1.23 488891 1.34 <7,350,150,3,50>1.39 690596 1.86 1.73 692361 1.65 <7,420,180,3,60>4.18 1201439 3.16 13.60 1203758 3.73 <7,560,240,3,80>0.00 - - 0.00 0 0.02 <21,21,5,5,1>0.11 62969 0.84 0.39 64968 0.56 <15,70,14,3,2>0.20 84057 1.00 0.56 87333 0.81 <16,80,15,3,2>0.05 24007 1.15 0.06 24912 0.10 <25,30,6,5,1>0.13 107936 11.40 0.17 109121 0.34 <19,57,9,3,1>1.87 85426 0.92 1.33 86331 0.64 <25,25,9,9,3>2.31 115341 0.66 8.46 115421 0.51 <15,45,24,8,12>

(CNF-Level preprocessor)

Page 19: Boolean  Equi -propagation for Optimized SAT Encoding

MINION v0.10 BEE (SymB) instanceSymB+(sec.)

SymB(sec.)

[M’06](sec.)

SAT(sec.)

CNF size(clauses)

compile(sec.)

0.38 1.12 0.47 1.23 494131 1.34 <7,350,150,3,50>0.42 1.36 0.54 1.73 698579 1.65 <7,420,180,3,60>0.52 1.77 0.66 13.60 1211941 3.73 <7,560,240,3,80>0.15 0.67 1.26 0.00 0 0.02 <21,21,5,5,1>0.31 1.42 12.22 0.39 81563 0.56 <15,70,14,3,2>0.35 13.40 107.43 0.56 109442 0.81 <16,80,15,3,2>0.31 1.37 ∞ 0.06 24594 0.10 <25,30,6,5,1>0.35 1.71 ∞ 0.17 113053 0.34 <19,57,9,3,1>0.92 ∞ ∞ 1.33 92059 0.64 <25,25,9,9,3>75.87 ∞ ∞ 8.46 116016 0.51 <15,45,24,8,12>

BIBD – BEE VS MINION (Constraint solver)

Modeling control

Page 20: Boolean  Equi -propagation for Optimized SAT Encoding

NONOGRAMSDefinition: an nXm board of cells to color black or white and given clues per row and column of a board. A clue is a number sequence indicating blocks of cells to be colored black.

Variables: B11, …, Bnm

R11,…R1k,…,Rm1,…Rmp

C11,…C1q,…,Cn1,…,Cnr

Domains: Bijϵ{0,1} Rmoϵ{0,..,n} Cnoϵ{0,..,m}Constraints:

• block constraint: block(Rij,Rij+<ij size>,[B1i,…,Bni])• space constraint: block(Rij+<ij size>,Rij+1,[-B1i,…,-Bni]) • no overlap constraint: leq(Rij+<ij size>+1, Rij+1)

Page 21: Boolean  Equi -propagation for Optimized SAT Encoding

NONOGRAMSThere are dedicates solvers such as• Jan Wolter's pbnsolve

(http://webpbn.com/pbnsolve.html)

• Ben-Gurion University Solver(http://www.cs.bgu.ac.il/~benr/nonograms/)

BEE is faster than the dedicatedsolvers on the hard puzzles.

5,000 random 30x30 puzzles Selected human puzzles