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 Lens { lecoutre,paris,roussel,tabary } @cril.fr CP’2012 - October 12, 2012 Nicolas Paris Propagating Soft Table Constraints 1 / 15
GAC w -WSTR algorithm State-of-the-art Results Weighted Constraint Satisfaction Problem Soft constraints and forbidden cost k c ∅ c xz c x x z cost x cost 0 a a c 1 0 d a d 2 1 c b 0 b d k forbidden tuple Solve WCSP: find a complete instantiation with minimal cost Nicolas Paris Propagating Soft Table Constraints 2 / 15
GAC w -WSTR algorithm State-of-the-art Results Weighted Constraint Satisfaction Problem Soft table constraint w x y z a c a c 2 τ 0 a c b a 0 τ 1 b b a b 3 k τ 2 defaultCost b c b a 0 τ 3 c a a b 1 τ 4 c b c c 1 τ 5 table costs expli it tuples impli it tuples Nicolas Paris Propagating Soft Table Constraints 3 / 15
GAC w -WSTR algorithm State-of-the-art 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
GAC w -WSTR algorithm State-of-the-art 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
GAC w -WSTR algorithm State-of-the-art Results GAC w Definition The extended cost of a tuple τ on a soft constraint c S , called ecost ( c S , τ ), includes: cost of τ on c S unary costs for τ of the variables in scope of c S nullary cost c ∅ Definition A value ( x , a ) is GAC w -consistent on a soft constraint c S iff there exists a tuple τ in c S containing ( x , a ) with cost 0 and ecost ( c S , τ ) < k A soft constraint c S is GAC w -consistent iff every value of c S is GAC w -consistent. Nicolas Paris Propagating Soft Table Constraints 6 / 15
GAC w -WSTR algorithm State-of-the-art Results Weighted Simple Tabular Reduction (WSTR) Maintains dynamically the list of allowed tuples in constraint tables w x y z a c a c 2 τ 0 a c b a 0 τ 1 b b a b 3 τ 2 b c b a 0 τ 3 c a a b 1 τ 4 c b c c 1 τ 5 table costs 0 0 current table 1 y � = b 5 current table 2 2 3 4 currentLimit 4 3 5 1 currentLimit position position Nicolas Paris Propagating Soft Table Constraints 7 / 15
GAC w -WSTR algorithm State-of-the-art Results Algorithm data structures position , currentLimit : STR structures c 1 [ x ][ a ]: cost for ( x , a ) on unary constraint of x minCosts [ c S ][ x ][ a ]: minimal cost on c S of tuples containing ( x , a ) S sup : 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
GAC w -WSTR algorithm State-of-the-art Results Algorithm principle Step 1: find minimal costs for values Step 2: remove GAC w -inconsistent values Step 3: find supports for values Nicolas Paris Propagating Soft Table Constraints 9 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 4 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 6 c c b c 0 τ 6 position table costs c wxyz a b c w k k k x k k y k k k z k k k minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 4 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 6 c c b c 0 τ 6 position table costs c wxyz a b c w k k k x k k y k k k z k k k minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 4 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 6 c c b c 0 τ 6 position table costs c wxyz a b c τ 1 is V ALID: w k k k ∀ v ariable x ∈ S , τ 1 [ x ] ∈ dom ( x ) x k k τ 1 y k k k τ 1 is ALLO WED (GA C w - onsisten y): z k k k c ∅ � x ∈ S c 1 ( τ 1 [ x ]) + costs [ τ 1 ] ≤ k ( 0 ≤ 5 ) minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 4 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 6 c c b c 0 τ 6 position table costs c wxyz a b c a b c w k k k w 0 k k x k k τ 1 x k 0 y k k k y k 0 k z k k k z 0 k k minCosts minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 4 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 6 c c b c 0 τ 6 position table costs c wxyz a b c a b c w k k k w 0 k k x k k τ 1 x k 0 τ 4 τ 4 is not V ALID: a / ∈ dom( x ) y k k k y k 0 k z k k k z 0 k k minCosts minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 6 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 4 c c b c 0 τ 6 position table costs c wxyz a b c a b c w k k k w 0 k k x k k τ 1 x k 0 τ 4 τ 4 is not V ALID: a / ∈ dom( x ) y k k k y k 0 k z k k k z 0 k k minCosts minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 6 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 4 c c b c 0 τ 6 position table costs c wxyz a b c a b c a b c a b c w k k k w 0 k k w 0 k 0 w 0 k 0 x k k τ 1 x k 0 τ 6 x k 0 τ 5 x 1 0 y k k k y k 0 k y k 0 k y k 0 1 z k k k z 0 k k z 0 k 0 z 0 k 0 minCosts minCosts minCosts minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
GAC w -WSTR algorithm State-of-the-art Results Step 1: find minimal costs for values c ∅ 0 k 5 ev en t x � = a a b c w 0 1 0 w x y z x 0 0 0 1 a c a c 2 τ 0 y 0 0 0 6 a c b a 0 τ 1 z 0 1 0 5 b b a b 3 τ 2 c 1 2 b c b a 0 τ 3 0 c a a b 1 τ 4 3 c b c c 1 τ 5 4 c c b c 0 τ 6 position table costs c wxyz τ 2 is not ALLO WED: 5 ≥ k τ 2 a b c a b c a b c a b c w k k k w 0 k k w 0 k 0 w 0 k 0 x k k τ 1 x k 0 τ 6 x k 0 τ 5 x 1 0 y k k k y k 0 k y k 0 k y k 0 1 z k k k z 0 k k z 0 k 0 z 0 k 0 minCosts minCosts minCosts minCosts S sup = { w, x, y, z } Nicolas Paris Propagating Soft Table Constraints 10 / 15
Recommend
More recommend