outline boolean equi-propagation for optimized sat encoding compiling finite domain constraints to...

44
Compiling Finite Domain Constraints to SAT with Boolean Equi- Propagation Amit Metodi

Upload: gunnar-stobbs

Post on 31-Mar-2015

256 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Compiling Finite DomainConstraints to SAT with

Boolean Equi-Propagation

Amit Metodi

Page 2: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

OUTLINE

Boolean Equi-propagation

for Optimized SAT Encoding

Compiling Finite Domain

Constraints to SAT with BEE

Encoding process Design choices

Compiling Model-Based Diagnosis

to Boolean Satisfaction using BEE

Amit MetodiMichael CodishVitaly LagoonPeter J. Stuckey; CP 2011

Amit MetodiMichael Codish; TPLP 2012

Amit MetodiRoni SternMeir KalechMichael Codish; AAAI 2012

Page 3: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Problem(hard)

Solution

CNF

Satisfied assignment

Encoding

FINITE DOMAIN PROBLEM SOLVING

ModelConstraint

Model

Dir

ect

CS

P s

olvi

ng

ModelSolution

Translate Decoding

SA

T s

olv

ing

Page 4: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

CNF

Constraint ModelC1 C2 C3 Cnen

code

enco

de

enco

de

enco

de

Sim

plifyTools such as: SatELite, ReVivAl

Based on Unit Propagationand Resolution.

Problems:• Constraint / Bits

relation lost• Large CNF

CNF CNF CNF CNF

THE USUAL APPROACH

Simplified CNF

Page 5: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Simplified CNF

Constraint ModelC1 C2 C3 Cnen

code

enco

de

enco

de

enco

de

CNF CNF CNF CNF

OUR APPROACH

simplification propagation

Page 6: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC1 C2 C3en

code

enco

de

enco

de

THE EQUI-PROPAGATION PROCESS

Equi-propagation is a process of inferring equational consequences from a Boolean formula andgiven equational information.

of the form X=L where Lis a constant or a literal:X=Y, X= -Y, X=0, X=1

such X can be removed fromALL

Boolean formulas / constraints.

Cn

CNF CNF CNF

Page 7: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Ben-Gurion-University

Equi-propagation

Encoder

CNFEncodingConstraint

Model

Equi-propagation Partial evaluation

view each single constraint as a Boolean formula

Page 8: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

CNF CNF CNF CNF

BEE PROCESS – BY EXAMPLE

Constraint ModelC1 C2 C3 Cn

enco

de

enco

de

enco

de

enco

debool_array_sum_eq( [ A,B,C,D,E,F,G],3)

Step 1: Encode each constraint

Page 9: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC1 C2 C3 Cn

enco

de

BEE PROCESS – BY EXAMPLE

enco

de

enco

de

enco

debool_array_sum_eq( [ A,B,C,D,E,F,G],3)

A=1, D= -E

CNF CNF CNF CNF

Step 2: Apply Equi-Propagation

Page 10: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC3

bool_array_sum_eq( [ A,B,C,D,E,F,G],3)

C1 C2 Cn

enco

de

BEE PROCESS – BY EXAMPLE

upda

te

enco

de

upda

te

enco

de

upda

te

enco

de

upda

tebool_array_sum_eq( [ A,B,C,D,E,F,G],3)bool_array_sum_eq( [ 1,B,C,-E,E,F,G],3)

A=1, D= -E

CNF CNF CNF CNF

Step 3: Update the Constraints Model

Page 11: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC1 C2 C3 Cn

enco

de

BEE PROCESS – BY EXAMPLE

upda

te

enco

de

upda

te

enco

de

upda

te

enco

de

upda

tebool_array_sum_eq( [ A,B,C,D,E,F,G],3)bool_array_sum_eq( [ 1,B,C,-E,E,F,G],3)bool_array_sum_eq( [ B,C, F,G],1)

A=1, D= -E

CNF CNF CNF CNF

Step 4: Apply Partial Evaluation

Page 12: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC1 C2 C3 Cn

enco

de

BEE PROCESS – BY EXAMPLE

upda

te

enco

de

upda

te

enco

de

upda

te

enco

de

upda

tebool_array_sum_eq( [ A,B,C,D,E,F,G],3)bool_array_sum_eq( [ 1,B,C,-E,E,F,G],3)bool_array_sum_eq( [ B,C, F,G],1)

A=1, D= -E

CNF CNF CNF’ CNF

Step 5: Encode with a better encoding

Page 13: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Constraint ModelC1 C2 C3 Cn

enco

de

BEE PROCESS – BY EXAMPLE

upda

te

enco

de

upda

te

enco

de

upda

te

enco

de

upda

tebool_array_sum_eq( [ A,B,C,D,E,F,G],3)bool_array_sum_eq( [ 1,B,C,-E,E,F,G],3)bool_array_sum_eq( [ B,C, F,G],1)CNF CNF CNF’ CNF

Step 6: Merge the optimized CNF

Optimized CNF

mer

ge

mer

ge

mer

ge

mer

ge

Page 14: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Ben-Gurion-University

Equi-propagation

Encoder

THE DESIGN CHOICES

Representing numbersImplementing Equi-Propagation

Page 15: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

MODELING FINITE DOMAIN CSP

representing 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 16: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

IMPLEMENTING EQUI-PROPAGATION

1. Using BDD’s.

• Prohibitive for global constraints.• Complete

2. Using SAT (on small groups of constraints)

• In practice, surprisingly, “not slow”• Complete

3. Ad-Hoc rules (per constraint type)

• Fast, precise in practice• Incomplete

Page 17: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

AD-HOC RULES

Equi-Propagation

Partial Evaluation

int_plus(<1,x2,x3>,<y1,y2,y3>,<z1,z2,z3,0,0,0>)

int_plus(<1,x2,x3>,<y1,y2,y3>,<1,z2,z3,0,0,0>)

int_plus(<1,x2,x3>,<y1,y2,0>,<1,z2,z3,0,0,0>)

Example:

int_plus(<1,x2,x3>,<y1,y2,0>,<1,z2,z3,0,0,0>)

Example:

int_plus(<x2,x3>,<y1,y2,0>,<z2,z3,0,0,0>)

int_plus(<x2,x3>,<y1,y2>,<z2,z3,0,0>)

Page 18: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

THE IMPACT OF BEE

909 clauses136 Bits

298 clauses49 Bits

Page 19: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Kakuro

QCP / Sudoku

BIBD

Nonograms

Ben-Gurion-University

Equi-propagation

Encoder

Graph Crossing

N-Queens

Magic Square

MAS

SCM / MCM

Model BasedDiagnostic

Proteinfolding

Page 20: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Model-Based Diagnosis

Page 21: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

MODEL BASED DIAGNOSIS An important problem which researched by

many researches.

There is standard benchmarks.

Encoding to SAT is straightforward

But previous attempts concluded that SAT isn’t competitive with other tools.

We show that by using BEE, not only SAT is able to compete with other tools, it is faster.

We solve the entire benchmarkfor the first time.

Page 22: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1SymptomDiagnoses:

AB

C

D

E

Z1

Z2

Z3

1

0

Observation

001

Full Adder

MODEL BASED DIAGNOSIS

0

0

0

System (model)0

Page 23: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

Diagnoses:

AB

C

D

E

Z1

Z2

Z3

Full Adder

min min-cardinality

1

0

001

MODEL BASED DIAGNOSIS

We focus on minimal cardinality diagnosis of Boolean Circuits, given a single observation.

Page 24: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

H-H

purple means “encapsulated with a health

variable”

MODELING MBD:THE WEAK FAULT MODEL

(we can assume that) a faulty component flips its output.

Introduce “health variables”:

Page 25: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

minimiz

e

1

0

AB

C

D

E

X1X2

A2

A1O1

Z1

Z2

Z3

001

Full Adder

H1H2

H3

H4

H5

sum( [ -H1, -H2, -H3, -H4, -H5 ] ) ≤ K

MODELING MBD:INTRODUCE HEALTH VARIABLES

Modeling as CSP where the constraints are:1. components (logic gates)2. sum of bits / comparison

Page 26: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

minimiz

e

sum( [ -H1, -H2, -H3, -H4, -H5 ] ) ≤ 1

Modeling as CSP where the constraints are:1. components (logic gates)2. sum of bits / comparison

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5green means “healthy”

MODELING MBD:INTRODUCE HEALTH VARIABLES

Page 27: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

Z1

Z2

Z3

001

Full Adder

H1H2

H3

H4

H5

H

-H

1

0

1

001

0-H

gray means "melted”

Z

partial evaluation

SIMPLIFYING THE ENCODINGequi-

propagationZ=-H

H1

-H3

Page 28: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

vanillasimplified330 components60 x 26 (input/output)1182 observationsTimeout 180sec

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 260.01

0.1

1

10

100

1000

c880 - Average time to find MC di-agnosis

Minimal Cardinality

Av

g T

ime

in S

ec

on

ds

Page 29: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

MBD TO SAT

We can go “just so far” (and not very);

We can not “push” the inputs through the circuit because of the health variables.

What can we do ?

Better modeling

Better preprocessing

Page 30: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

AB

C

D

E

Z1

Z2

Z3

Full Adder

dominator

BETTER MODELING: CONESDef: gate G dominates gate X, if any path from

X to a system output passes through G

Def: the cone corresponding to gate G is the set of gates dominated by G

Page 31: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

BETTER MODELING: CONESthese prune the search space

break a symmetry

claim: A minimal cardinality diagnosis willalways indicate at most one unhealthygate per cone. We can assume w.l.o.g.that this gate is the dominator.

(or: in the search for a single minimalcardinality diagnosis, all dominated gates may be assumed healthy)

Page 32: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

Z3

001

Full Adder

H1H2

H3

H4

H5

sum( [ -H1, -H2, -H3, -H4, -H5 ] ) ≤ K

H1

-H3

a cone

THE IMPACT OF CONES

Page 33: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

Z3

001

Full Adder

H1H2

H3

H4

H5

H1

0

sum( [ -H1, -H2, 0, 0, -H5 ] ) ≤ K

green means “healthy”

gray means "melted”

THE IMPACT OF CONES

Page 34: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5

H1

0

H

1

H1H1

sum( [ -H1, -H2, -H5 ] ) ≤ K

THE IMPACT OF CONES

Page 35: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

sum( [ -H1, -H2, H1 ] ) ≤ K

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5

H1

0

H1=-H5H1

THE IMPACT OF CONES

Page 36: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5

sum( [ -H1, -H1, H1 ] ) ≤ K

H1

0

H1=-H5

H1=H2

THE IMPACT OF CONES

Page 37: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5

sum( [ -H1, -H1, H1 ] ) ≤ K

H1

0

H1=-H5

H1=H2

minimize K H1 =1

THE IMPACT OF CONES

Page 38: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

1

0

AB

C

D

E

X1X2

A2

A1O1

001

Full Adder

H1H2

H3

H4

H5

No SAT solving;Diagnostics (min-cardinality) found by:

preprocessing(cones)partial evaluationequi-propagation

THE IMPACT OF CONES

Page 39: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

vanillasimplifiedcones

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 260.01

0.1

1

10

100

1000

c880 - Average time to find MC Diagnosis

Minimal Cardinality

Av

g T

ime

in S

ec

on

ds

Page 40: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

SystemsName |C| |IN| |OUT| Obsrs

74181 65 14 8 350

74182 19 9 5 250

74283 36 9 5 202

c432 160 36 7 301c499 202 41 32 835

c880 383 60 26 1182c1355 546 41 32 836

c1908 880 33 25 846

c2670 1193 233 140 1162c3540 1669 50 22 756c5315 2307 178 123 2038c6288 2416 32 32 404c7552 3512 207 108 1557

There are standard benchmarks for finding a minimal cardinality diagnosis of Boolean Circuits, given a single observation.

BENCHMARKS

Page 41: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

System HA* CDA* SAFARI SAT

Name

%Succ. Time %Succ. Time %Succ. Time %Succ. Time

74181 68.3 3.15 46.3 4.51 100.0( 44) 0.00 100.0 0.0274182 100.0 0.00 100.0 0.01 100.0( 91) 0.00 100.0 0.0174283 100.0 0.04 100.0 1.45 100.0( 57) 0.00 100.0 0.02c432 78.1 3.63 38.2 5.15 100.0( 28) 0.03 100.0 0.03c499 24.1 5.45 10.1 1.22 100.0( 7) 0.05 100.0 0.04c880 11.9 3.76 6.3 6.66 100.0( 48) 0.18 100.0 0.05

c1355 11.4 3.90 0.0 - 100.0( 5) 0.37 100.0 0.07c1908 6.4 1.75 0.0 - 100.0( 17) 1.08 100.0 0.14c2670 12.3 4.83 0.0 - 100.0( 14) 2.71 100.0 0.15c3540 3.7 4.30 0.0 - 100.0( 9) 5.25 100.0 0.27c5315 2.7 11.94 0.0 - 100.0( 9) 13.34 100.0 0.42c6288 13.6 7.87 0.0 - 53.5( 25) 16.18 100.0 0.56

c7552 4.2 1.06 0.0 - 0.0 - 99.3 1.07

Average time (sec) on those that do not t/o

30 seconds timeoutEXPERIMENTS

Page 42: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

CONCLUSIONS

Equi-Propagation process apply powerful reasoning techniques to separate parts of the model and maintain efficient preprocessing.

BEE encodes finite domain constraints to CNF uses ad-hoc equi-propagation and partial evaluation rules which keeps compilation times typically small. And the reduction in SAT solving time can be larger in orders of magnitude.

By using BEE the user may focus on better modeling which will result better preprocessing and faster solving time. (MBD as an example)

Page 43: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

FUTURE WORK

Other number representations

Binary, Mix Radix, RNS, and more… Partition for Complete Equi-Propagation.

Additional applications to Model Based Diagnosis.

Page 44: OUTLINE Boolean Equi-propagation for Optimized SAT Encoding Compiling Finite Domain Constraints to SAT with BEE Encoding process Design choices Compiling

QUESTIONS ?