Propagating Soft Table Constraints Nicolas Paris with Christophe - - PowerPoint PPT Presentation

propagating soft table constraints
SMART_READER_LITE
LIVE PREVIEW

Propagating Soft Table Constraints Nicolas Paris with Christophe - - PowerPoint PPT Presentation

GAC w -WSTR algorithm State-of-the-art Results Propagating Soft Table Constraints Nicolas Paris with Christophe Lecoutre, Olivier Roussel and S ebastien Tabary Universit e Lille - Nord de France CRIL - CNRS UMR 8188 Artois, F-62307


slide-1
SLIDE 1

State-of-the-art GACw -WSTR algorithm Results

Propagating Soft Table Constraints

Nicolas Paris

with

Christophe Lecoutre, Olivier Roussel and S´ ebastien Tabary

Universit´ e Lille - Nord de France CRIL - CNRS UMR 8188 Artois, F-62307 Lens {lecoutre,paris,roussel,tabary}@cril.fr CP’2012 - October 12, 2012 Nicolas Paris Propagating Soft Table Constraints 1 / 15

slide-2
SLIDE 2

State-of-the-art GACw -WSTR algorithm Results

Weighted Constraint Satisfaction Problem

Soft constraints and forbidden cost k x x z cost cost cx cxz a a b c d b a d c d

1 2 1

k

forbidden tuple

c∅ Solve WCSP: find a complete instantiation with minimal cost

Nicolas Paris Propagating Soft Table Constraints 2 / 15

slide-3
SLIDE 3

State-of-the-art GACw -WSTR algorithm Results

Weighted Constraint Satisfaction Problem

Soft table constraint

w x y z a c a c a c b a b b a b b c b a c a a b c b c c 2 3 1 1

τ0 τ1 τ2 τ3 τ4 τ5

table costs

k

expli it tuples impli it tuples

defaultCost

Nicolas Paris Propagating Soft Table Constraints 3 / 15

slide-4
SLIDE 4

State-of-the-art GACw -WSTR algorithm Results

Consistencies for WCSP

Soft arc consistencies inherited from CSP: NC*, AC*, Generalized Arc Consistency (GAC),... Sophisticated soft arc consistencies have been proposed too: FDAC, EDAC, VAC, OSAC,... Cost transfer operations (project, unary project,...) performed to enforce consistencies

Nicolas Paris Propagating Soft Table Constraints 4 / 15

slide-5
SLIDE 5

State-of-the-art GACw -WSTR algorithm Results

Motivations

Drawback Cost transfer algorithms particularly efficient to solve real-world binary or ternary problem instances ... ... but not efficient/adapted for large arity problem instances ! Proposition Algorithm to enforce a weak version of GAC by combining: Simple Tabular Reduction cost transfer Target: problem instances containing soft table constraints of large arity with default cost = 0 or k

Nicolas Paris Propagating Soft Table Constraints 5 / 15

slide-6
SLIDE 6

State-of-the-art GACw -WSTR algorithm Results

GACw

Definition The extended cost of a tuple τ on a soft constraint cS, called ecost(cS, τ), includes: cost of τ on cS unary costs for τ of the variables in scope of cS nullary cost c∅ Definition A value (x, a) is GACw-consistent on a soft constraint cS iff there exists a tuple τ in cS containing (x, a) with cost 0 and ecost(cS, τ) < k A soft constraint cS is GACw-consistent iff every value of cS is GACw-consistent.

Nicolas Paris Propagating Soft Table Constraints 6 / 15

slide-7
SLIDE 7

State-of-the-art GACw -WSTR algorithm Results

Weighted Simple Tabular Reduction (WSTR)

Maintains dynamically the list of allowed tuples in constraint tables

current table current table

position

1 2 3 4 5 5 2 3 w x y z a c a c a c b a b b a b b c b a c a a b c b c c 2 3 1 1

τ0 τ1 τ2 τ3 τ4 τ5

table costs

4 y = b 1

position

currentLimit currentLimit

Nicolas Paris Propagating Soft Table Constraints 7 / 15

slide-8
SLIDE 8

State-of-the-art GACw -WSTR algorithm Results

Algorithm data structures

position, currentLimit: STR structures c1[x][a]: cost for (x, a) on unary constraint of x minCosts[cS][x][a]: minimal cost on cS of tuples containing (x, a) Ssup: uninstancied variables whose domain contains each a least one value for wich a support has not yet been found

Nicolas Paris Propagating Soft Table Constraints 8 / 15

slide-9
SLIDE 9

State-of-the-art GACw -WSTR algorithm Results

Algorithm principle

Step 1: find minimal costs for values Step 2: remove GACw-inconsistent values Step 3: find supports for values

Nicolas Paris Propagating Soft Table Constraints 9 / 15

slide-10
SLIDE 10

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a k k k z k k k y k k x k k k w a b c

minCosts

Ssup = {w, x, y, z} 1 4 5 2 3 6 c a b a b c c b c a b a b a 2 3 1 1 c a c a b b c b a b c c c c z y x w c1

costs table

τ0 τ1 τ2 τ3 τ4 τ5 τ6

cwxyz

ev en t x = a

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-11
SLIDE 11

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a k z k k k k k y k x k w k k k c b a

minCosts

Ssup = {w, x, y, z} 2 3 1 1 a c b a b c c b c a b a b a c c b c a b c c c c b b a a z y x w 1 4 5 2 3 6 c1

τ0 τ1 τ2 τ3 τ4 τ5 τ6

costs table

ev en t x = a

cwxyz

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-12
SLIDE 12

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z} z y x k k k k k k k k w k k k a b c τ1 ∀

v ariable x ∈ S , τ1[x] ∈ dom(x)

τ1

is V ALID:

minCosts

τ1

is ALLO WED (GA Cw
  • onsisten y):

c∅

  • x∈S c1(τ1[x]) + costs[τ1] ≤ k
(0 ≤ 5 )

c1 1 4 5 2 3 6 2 3 1 1 c a b a b c c a b a b a c b c c b c a b c a a b b c c c

costs table

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

cwxyz z y x w

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-13
SLIDE 13

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a

minCosts

z k k k y k k k x k k w k k k c b a τ1 k k z k k y k x w k k c b a Ssup = {w, x, y, z}

minCosts

2 3 1 1

costs table

b a c z y x w a c a b c a a b b a b c b b a a c c c b c b c c c 1 4 5 2 3 6 c1

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

cwxyz

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-14
SLIDE 14

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z}

minCosts

k k k z k k k y k k x k w k k a b c τ1 k k z k k k y x w k k a b c τ4 τ4

is not V ALID: a /

dom(x )

minCosts

c1 2 3 1 1 c a b a b c c a c a b c a a b a c b b b c b a c b c c c

costs table

1 4 5 2 3 6

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

cwxyz z y x w

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-15
SLIDE 15

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z}

minCosts

k k k z k k k y k k x w k k k a b c τ1 k k z k k y k x w k k c b a τ4 τ4

is not V ALID: a /

dom(x )

minCosts

c1 2 3 1 1 c b a b a c c b c a b a b a c c b c a b c c c c b b a a 1 6 5 2 3 4

costs table

z y x w cwxyz

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-16
SLIDE 16

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z} k k k z k k k k k y k x k k w a b c τ1 k k k k z y k x k k w a b c

minCosts minCosts

τ6 k z k k y k x w k a b c

minCosts

k z 1 k y 1 x w k b a τ5

minCosts

c 2 3 1 1 c a b a c b c a b a b c a a c a b c b b a c b c b c c c z y x w 6 1 5 2 3 4

costs table

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

cwxyz c1

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-17
SLIDE 17

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z} k k k z k k k y k k x w k k k c b a τ1 k k z k k k y x w k k a b c τ6 k z k k y k k x w a b c τ5 k z 1 k y 1 x w k b a τ2 τ2

is not ALLO WED: 5 ≥ k

minCosts minCosts minCosts minCosts

c c1 1 6 5 2 3 4 c a b a b c c b c a b a b a c c b c a b c c c c b b a a z y x w 2 3 1 1

τ0 τ1 τ2 τ3 τ4 τ5 τ6

table

cwxyz

costs

ev en t x = a

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-18
SLIDE 18

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

5 c∅ k w x y z 1 b 1 c a Ssup = {w, x, y, z} k k k z k k k y k k x w k k k c b a τ1 k k z k k k y x w k k a b c τ6 k z k k y k k x w a b c τ5 k z 1 k y 1 x w k b a τ2 τ2

is not ALLO WED: 5 ≥ k

minCosts minCosts minCosts minCosts

c 1 6 5 2 4 3 2 3 1 1 b a a c b a a b b c c c c b c b c c c b a a c b c b a a

τ0 τ1 τ2 τ3 τ4 τ5 τ6

ev en t x = a

c1 cwxyz

table costs

z y x w

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-19
SLIDE 19

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values

w x y z 1 b 1 c a 5 c∅ k k k k z k k k y k k x k k k w a b c τ1

minCosts

k k z k k y k x k k w a b c τ6 k z k k y k x k w a b c τ5 k z 1 k y 1 x k w c b a

minCosts minCosts

τ3 z k 1 1 k y x w a b c τ0 1 z k 2 y 1 x w c b a Ssup = {w, x, y, z}

minCosts

2 3 5 6 1 4 a a b b c c c 2 3 1 1 c b a c b c c a b a b a c b c a b a b c c w x y z cwxyz

table costs

τ1 τ0 τ2 τ3 τ4

c1

ev en t x = a

τ5 τ6

position

Nicolas Paris Propagating Soft Table Constraints 10 / 15

slide-20
SLIDE 20

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values (default cost = 0)

w x y z 1 b 1 c a 5 c∅ k c1 Ssup = {w, x, y, z} w a b c x y z 2 1 1 k

minCosts

defaultCost 2 3 1 1 z y x w c a c a a b c a b a b b a b c b b c c a a c c b c b c c 1 6 5 3 2 4

τ0 τ1 τ2 τ3 τ4 τ5 τ6

position

dom(w) = dom(y) = dom(z) = {a, b, c} dom(x) = {b, c}

table costs

cwxyz

Nicolas Paris Propagating Soft Table Constraints 11 / 15

slide-21
SLIDE 21

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values (default cost = 0)

w x y z 1 b 1 c a 5 c∅ k c1 Ssup = {w, x, y, z} w x y z 2 1 k 1

minCosts

a b c defaultCost 2 3 1 1 a c z y x w a c a b c a b a b b a b c b b c c a a c c b c b c c 1 6 5 3 2 4

position

τ0 τ1 τ2 τ3 τ4 τ5 τ6

dom(x) = {b, c} dom(w) = dom(y) = dom(z) = {a, b, c}

n um b er
  • f
v alid expli it tuples : 1

costs table

cwxyz

Nicolas Paris Propagating Soft Table Constraints 11 / 15

slide-22
SLIDE 22

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values (default cost = 0)

w x y z 1 b 1 c a 5 c∅ k c1 Ssup = {w, x, y, z} w x y z 2 1 k 1

minCosts

a b c defaultCost 2 3 1 1 c a b a b c c z y x w a c a b a b a c b c a b b c b a c b c c c 1 6 5 3 2 4

τ0 τ1 τ2 τ3 τ4 τ5 τ6

costs position

dom(x) = {b, c} dom(w) = dom(y) = dom(z) = {a, b, c}

n um b er
  • f
v alid expli it tuples : 1

|Πy∈S|y=xdom(y)|

: 27

table

cwxyz

Nicolas Paris Propagating Soft Table Constraints 11 / 15

slide-23
SLIDE 23

State-of-the-art GACw -WSTR algorithm Results

Step 1: find minimal costs for values (default cost = 0)

w x y z 1 b 1 c a 5 c∅ k c1 Ssup = {w, x, y, z} w x y z 2 k 1

minCosts

a b c defaultCost 2 3 1 1 z y x w c a c a a b c a b a b b a b c b b a a c c c b c b c c c 1 6 5 3 2 4

τ0 τ1 τ2 τ3 τ4 τ5 τ6

dom(x) = {b, c} dom(w) = dom(y) = dom(z) = {a, b, c}

n um b er
  • f
v alid expli it tuples : 1

|Πy∈S|y=xdom(y)|

: 27 impli it tuples m ust b e
  • nsidered
!

costs table position

cwxyz

Nicolas Paris Propagating Soft Table Constraints 11 / 15

slide-24
SLIDE 24

State-of-the-art GACw -WSTR algorithm Results

Step 2: remove GACw-inconsistent values

w x y z 2 k 1 1

minCosts

a b c

Ssup = {w, x, y, z}

dom(w )= {a, b, c} dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, b, c} GA Cw
  • onsisten
t ?

Nicolas Paris Propagating Soft Table Constraints 12 / 15

slide-25
SLIDE 25

State-of-the-art GACw -WSTR algorithm Results

Step 2: remove GACw-inconsistent values

w x y z 2 k 1 1

minCosts

a b c

Ssup = {w, x, y, z}

dom(w )= {a, b, c} dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, b, c}

1 w b c 2 1 x y z

minCosts

a

Ssup = {w, x, y, z}

dom(w )= {a, b, c} dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, b, c} GA Cw
  • onsisten
t ?

ecost(cS, τ) < k

?

Nicolas Paris Propagating Soft Table Constraints 12 / 15

slide-26
SLIDE 26

State-of-the-art GACw -WSTR algorithm Results

Step 2: remove GACw-inconsistent values

w x y z 2 k 1 1

minCosts

a b c

Ssup = {w, x, y, z}

dom(w )= {a, b, c} dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, b, c}

a b c z y x w 1 w b c 2 1 x y z 1 2 1

minCosts minCosts

dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, c} dom(w )= {a, b, c}

Ssup = {w, x, y, z}

a

Ssup = {w, x, y, z}

dom(w )= {a, b, c} dom(x )= {b, c} dom(y )= {a, b, c} dom(z )= {a, c} GA Cw
  • onsisten
t ?

ecost(cS, τ) < k

?

cS(τ) = 0

?

Nicolas Paris Propagating Soft Table Constraints 12 / 15

slide-27
SLIDE 27

State-of-the-art GACw -WSTR algorithm Results

Step 3: find supports for values

w x y z a b c z y x w a b c

minCosts

1 1

c1

1 2 1 Ssup = {x, y}

Nicolas Paris Propagating Soft Table Constraints 13 / 15

slide-28
SLIDE 28

State-of-the-art GACw -WSTR algorithm Results

Step 3: find supports for values

w x y z a b c z y x w a b c

minCosts

1 1

c1

pro je t(x, b, 1)

1 1 2 1 Ssup = {x, y}

Nicolas Paris Propagating Soft Table Constraints 13 / 15

slide-29
SLIDE 29

State-of-the-art GACw -WSTR algorithm Results

Step 3: find supports for values

w x y z a b c z y x w a b c a b c w x y z

minCosts

1 1 1 1

c1 c1

2

pro je t(x, b, 1)

1 1 1 1 2

pro je t(y, a, 2)

Ssup = {x, y}

Nicolas Paris Propagating Soft Table Constraints 13 / 15

slide-30
SLIDE 30

State-of-the-art GACw -WSTR algorithm Results

Step 3: find supports for values

w x y z a b c z y x w a b c a b c w x y z a b c w x y z

minCosts

1 1 1 1 1 1

c1 c1 c1

1 2

pro je t(x, b, 1)

1 1 1 1 2

pro je t(y, a, 2) pro je t(y, c, 1)

2 1 Ssup = {x, y}

Nicolas Paris Propagating Soft Table Constraints 13 / 15

slide-31
SLIDE 31

State-of-the-art GACw -WSTR algorithm Results

Step 3: find supports for values

w x y z a b c z y x w a b c a b c w x y z a b c w x y z

minCosts

1 1 1 1 1 1 1

pro je t(x, b, 1)

c1 c1 c1

pro je t(y, a, 2)

2

pro je t(y, c, 1)

2 1 1 1 1 1 2 Ssup = {x, y} c b a w x y z Ssup = {}

minCosts

GA Cw
  • onsisten y
established ! dom(w )=dom(y )= {a, b, c} dom(x )= {b, c} dom(z )= {a, c}

Nicolas Paris Propagating Soft Table Constraints 13 / 15

slide-32
SLIDE 32

State-of-the-art GACw -WSTR algorithm Results

Number of solved instances per series

PFC-MRDAC- Maintaining- Series

#Inst

WSTR GEN GACw-WSTR AC* FDAC crossoft-herald

50 33 10 47 11 11

crossoft-puzzle

22 22 9 22 18 18

crossoft-vg

64 14 6 14 7 7

rand-3

48 20 29 20 32 30

rand-10

20 20 20

ergo

19 13 10 15 15 17

linkage

30 1 9

Number of instances by series solved before time-out (1,200 seconds)

Nicolas Paris Propagating Soft Table Constraints 14 / 15

slide-33
SLIDE 33

State-of-the-art GACw -WSTR algorithm Results

Conclusion and future work

weak generalized arc consistency GACw on soft table constraints simple tabular reduction and cost transfer operations applied to any soft table constraint with a default cost of either 0 or k (large proportion of practical instances) efficient approach when soft table constraints have large arity

Nicolas Paris Propagating Soft Table Constraints 15 / 15

slide-34
SLIDE 34

State-of-the-art GACw -WSTR algorithm Results

Conclusion and future work

weak generalized arc consistency GACw on soft table constraints simple tabular reduction and cost transfer operations applied to any soft table constraint with a default cost of either 0 or k (large proportion of practical instances) efficient approach when soft table constraints have large arity generalize our approach to soft table constraints with any default cost

Nicolas Paris Propagating Soft Table Constraints 15 / 15

slide-35
SLIDE 35

State-of-the-art GACw -WSTR algorithm Results

Conclusion and future work

weak generalized arc consistency GACw on soft table constraints simple tabular reduction and cost transfer operations applied to any soft table constraint with a default cost of either 0 or k (large proportion of practical instances) efficient approach when soft table constraints have large arity generalize our approach to soft table constraints with any default cost Thank you for your attention !

http://www.cril.univ-artois.fr/~paris/

Nicolas Paris Propagating Soft Table Constraints 15 / 15