FINITE DOMAIN Constraint / Bits PROBLEM SOLVING relation lost - - PowerPoint PPT Presentation

▶
finite domain
SMART_READER_LITE
LIVE PREVIEW

FINITE DOMAIN Constraint / Bits PROBLEM SOLVING relation lost - - PowerPoint PPT Presentation

FINITE DOMAIN Constraint / Bits PROBLEM SOLVING relation lost Large CNF Problem Constraint Model Encoding CNF (hard) Model CSP solving SAT solving Direct Model Satisfied Solution Decoding Translate Solution assignment


slide-1
SLIDE 1
slide-2
SLIDE 2

Problem (hard) Solution CNF Satisfied assignment

Encoding

FINITE DOMAIN PROBLEM SOLVING

Model

Constraint Model

Direct

  • Constraint / Bits

relation lost

  • Large CNF

CSP solving

Model Solution

Translate Decoding SAT solving

slide-3
SLIDE 3

Constraint Model Simplified CNF

Encoding

CNF

Simplify

Simplified Model

Encoding

OPTIMIZED SAT ENCODING

CNF‟‟

Problems:

  • Constraint / Bits

relation lost

  • Large CNF

CNF‟

Partial Evaluation Tools such as: SatELite, ReVivAl Based on Unit Propagation and Resolution.

Simplified Model‟

Encoding Partial Evaluation using Equi-Propagation

slide-4
SLIDE 4

OUR APPROACH

Constraint ( C1, B1 )

…

M =

Constraint ( C1, B1 ) Constraint ( C‟3, B„3 ) Constraint ( C‟n, B‟n )

…

M‟ = φ =

Simplify CSP techniques Encoding Boolean techniques

Constraint ( C2, B2 ) Constraint ( C3, B3 ) Constraint ( Cn, Bn ) Constraint ( C2, B2 )

φ1 φ'3 φ'n

…

Equi-Propagation Standard encodings

slide-5
SLIDE 5

OUTLINE

  • Modeling Finite Domain CSP
  • Equi-Propagation
  • Experimentation
  • Conclusions
slide-6
SLIDE 6

MODELING FINITE DOMAIN CSP

representing numbers (integers) Binary Unary Order encoding

xi ↔ (X ≥ i) (X = 3) = [1,1,1,0,0]

Direct encoding

xi ↔ (X = i) (X = 3) = [0,0,0,1,0,0] SMALL

slide-7
SLIDE 7

WHY ORDER ENCODING ?

X

i j X ≥ i X < j 1  good for representing ranges

X

u v

i  good for arbitrary sets  good for arithmetic operations with constants: + 3 = * 3 = div 3 = a a a b b b c c c a c b a c b c f 1 1 1 c b a c b a f e d g a b c d e f g

b=c e=f=g

slide-8
SLIDE 8

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

EQUI-PROPAGATION

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

slide-9
SLIDE 9

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)=3 Constraints Constraints

… …

Simplify

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:

Simplify Simplify Simplify Encoding Encoding Encoding

x1=1, x3=x2 , x4=0 y1=1, y3=y2 , y4=0 d = 1 U1 ≠ U2 (y2= -x2)

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

Constraints

slide-10
SLIDE 10

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.

slide-11
SLIDE 11

Kakuro QCP / Sudoku BIBD Nonograms

Ben-Gurion-University Equi-propagation Encoder

Graph Crossing N-Queens Magic Square MAS SCM / MCM System Diagnostic Protein folding

slide-12
SLIDE 12

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

  • bjects occur in each block, and every two distinct objects
  • ccur 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

slide-13
SLIDE 13

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

BALANCED INCOMPLETE BLOCK DESIGNS (BIBD)

k r r-l l <v, b, r, k, l>

slide-14
SLIDE 14

BIBD – BEE VS SUGAR

Sugar (v1.14.7) (SymB) BEE (SymB) instance

SAT (sec.) CNF size (clauses) generate (sec.) SAT (sec.) CNF size (clauses) compile (sec.)

  • ∞

∞

(CSP to CNF Encoder) Faster SAT solving time Smaller CNF Faster time to generate CNF

slide-15
SLIDE 15

BIBD – BEE VS SATELITE

SatELite (SymB) BEE (SymB) instance

SAT (sec.) CNF size (clauses) preprocs (sec.) SAT (sec.) CNF size (clauses) compile (sec.)

∞

(CNF-Level preprocessor) Solving time About the same size Preprocess time

slide-16
SLIDE 16

MINION v0.10 BEE (SymB) instance

SymB+ (sec.) SymB (sec.) [M‟06] (sec.) SAT (sec.) CNF size (clauses) compile (sec.)

∞ ∞ ∞ ∞ ∞ ∞

BIBD – BEE VS MINION

(Constraint solver) Modeling control

slide-17
SLIDE 17

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
  • ptimized CNF which than can be simplify using CNF-Level

simplifications.

Constraint Model Simplified CNF Encoding CNF Simplified Model Encoding CNF‟‟ CNF‟ Partial Evaluation Simplified Model Encoding Partial Evaluation using Equi-Propagation

Constraint ( C1, φ1 )

… M =

Constraint ( C1, φ1 ) Constraint ( C‟3, φ„3 ) Constraint ( C‟n, φ‟n )

… M‟ =

Simplify CSP techniques Boolean techniques

Constraint ( C2, φ2 ) Constraint ( C3, φ3 ) Constraint ( Cn, φn ) Constraint ( C2, φ2 )

Equi-Propagation

slide-18
SLIDE 18

Questions ?

slide-19
SLIDE 19

NONOGRAMS

Definition: 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)
slide-20
SLIDE 20

NONOGRAMS

There 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 dedicated solvers on the hard puzzles.

5,000 random 30x30 puzzles Selected human puzzles