190 likes | 304 Views
Tractable Symmetry Breaking for CSPs with Interchangeable Values. P. Van Hentenryck , P. Flener , J. Pearson and M. Agren IJCAI 2003 Presented by: Shant Karakashian. Outline. Purpose of the Paper Definitions CSP Partial Assignment Completion Proposition: Nogood
E N D
Tractable Symmetry Breaking for CSPs with Interchangeable Values P. Van Hentenryck, P. Flener, J. Pearson and M. Agren IJCAI 2003 Presented by: ShantKarakashian
Outline • Purpose of the Paper • Definitions • CSP • Partial Assignment • Completion • Proposition: Nogood • Value-Interchangeable CSPs • Nogood Closure • Existential Nogood • Eliminating Existential Nogoods • Abstract Nogood • Basic Intuition with Example • Compact Variable Decomposition Tree • Other CSP Classes • Experimental Results • Conclusion
Purpose of the Paper • Important symmetry breaking schems: SBDS & SBDD • These schemes may require exponential resources: • Exponential space for storing the generated nogoods • Exponential time to check if assignment is symmetric to another assignment • Identify classes of CSPs: • That are practically relevant • Symmetry breaking is tractable • The symmetries of the problem are known • Exploit the knowledge to eliminate symmetries efficiently • In contrast, value interchangeability forms of Freuder discover symmetries inside CSPs
Definition: CSP • A CSP is a triplet (V, D, C) • V set of variables • D possible values for the variables • C: (V → D) → Boolean is a function that specifies if the assignment is a solution • A solution to the CSP is a function: σ: V → D; C(σ)=true
Definition: Partial Assignment • Given a CSP: P = (V, D, C) • A partial assignment for P is a function α: W ⊆ V → D • The domain of α: dom(α) is W • The image of α: image(α) is {α(v) | v ∈ dom(α)} • For each d ∈ image(α), α-1(d) = {v | v ∈ dom(α) ∧ α(v) = d} • Example: α : v1 = 1 ∧ v2 = 2 ∧ v3 = 3 dom(α) = {v1, v2, v3} image(α) = {1, 2, 3}
Definition: Completion • Given a CSP: P = (V, D, C) • A completion of a partial assignment α for P is an extension α’: V → D of α on P • The set of all completions of αfor P is: Comp(α,P) • The set of all solutions to P is Sol(P) • A nogoodα for P is a partial assignment such that Comp(α,P) ∩ Sol(P) = ∅
Proposition: Nogood • Given a CSP: P = (V, D, C) • D = {d1,…,dm} • Let α be a partial assignment for P • dom(α) = {vi1,…,vik} • For every i(1 ≤ i ≤ m), αi= α ∧ (vik+1= di) is a nogood for P • Then α is a nogood for P
Value-Interchangeable CSPs • Value-Interchangeable CSPs are problems where the exact values taken by the variables are not important • Freuder calls this notion of symmetry full interchangeability for all variables and all values • The symmetry breaking for these problems is tractable • Given a CSP: P = (V, D, C) • P is value interchangeable if: • For each solution σ ∈ Sol(P) • For each bijectionb : D → D • (b o σ) ∈ Sol(P)
Nogood Closure • Given a ICSP: P = (V, D, C) • Let α be a nogood for P • Let b : D → D be a bijection • (b o α)is a nogood • The closure of α for P is: Closure(α,P) = {b o α | b : D → D is a bijection}
Existential Nogood • Given a ICSP: P = (V, D, C) • Let α be a nogood for P • image(α) = {d1,…,dk} • The existential nogood of α for P is Enogood(α,P): • Set of functions γ : dom(α) → D such that • ∃ e1,…,ek ∈ D: • ∀ i ∈ 1..k :∀ vj∈ α-1(di) : γ(vj) = ei ∧ aldiff(ei,…,ek) • Enogood(α,P) = Closure(α,P)
Eliminating Existential Nogoods • Testing Membership to an existential nogood involves existential quantificatons • It is easy to eliminate the existential elements by selecting a representative for each set α-1(di) • Example: • ∃e1, e2, e3 ∈ D : θ(v1) = e1 ∧ θ(v2) = e2 ∧ θ(v3) = e3 ∧ θ(v4) = e1 ∧ θ(v5) = e2 ∧ alldiff (e1, e2, e3) • The elements e1, e2 and e3 can be eliminated to produce: • θ(v1) = θ(v4) ∧ θ(v2) = θ(v5) ∧ alldiff (θ(v1), θ(v2), θ(v3))
Abstract Nogood • Given a ICSP: P = (V, D, C) • Let α be a nogood for P • image(α) = {d1,…,dk} • Let vri ∈ α-1(di)(1≤ i≤ k) • The abstract nogood of α wrtP, Anogood(α,P) is the set of functions γ : dom(α) → D satisfying: • ∀ i ∈ 1..k :∀ vj∈ α-1(di) : γ(vj) = γ(vvri) ∧ aldiff(γ(vvri),…, γ(vvrk)) • Enogood(α,P) = Anogood(α,P)
Basic Intuition with Example • Given a ICSP: P = (V, D, C), Consider the partial assignment: v1 = 1 ∧ v2 = 2 ∧ v3 = 3 ∧ v4 = 1 ∧ v5 = 2 • Assume that depth-first search tries to assign variable v6 from the set of possible values 1..10 • The failure of v6 = 1 produces the abstract nogood θ which holds if: allequal(θ(v1), θ(v4), θ(v6)) ∧ allequal(θ(v2), θ(v5)) ∧ alldiff(θ(v1), θ(v2), θ(v3)) • The assignments v6 = 2 and v6 = 3 produce similar abstract nogoods
Basic Intuition with Example (cont.) • When v6 is assigned a value i ∈ 4..10 say 6 • The abstract nogood θ is now defined as: allequal(θ(v1), θ(v4)) ∧ allequal(θ(v2), θ(v5)) ∧ alldiff(θ(v1), θ(v2), θ(v3), θ(v6)) • Which can be partially evaluated to: alldiff(1,2,3,θ(v6)) • The disjuction of all the nogoods can be partially evaluated to: θ(v6) = 1 ∨ θ(v6) = 2 ∨ θ(v6) = 3 ∨ alldiff(1,2,3,θ(v6)) • It follows that v6 must only be assigned to the previously assigned values 1,2,3 or to exactly one new value in 4..10 • Only some of the children need to be explored in the search tree: a value in dom(α) & exactly one other child
Compact Variable Decomposition Tree • Given a ICSP: P = (V, D, C) D = {d1,…,dm} • Compact variable decomposition treeT is a search tree where nodes represent partial assignments for P and nodes are decomposed as follows: • For a given node n: • represents the partial assignemntα • dom(α) = {di,…,dik} • is for some variable vik+1 ∈ V \ dom(α) • Children of n represent the partial assignment: • αi= α ∧ (vik+1 = d0) for all d0 ∈ image(α) • And exactly one child represents: • αi= α ∧ (vik+1 = dn) for some dn∈ (D \ image(α)) (if not empty) • The partial assignment of a node in T never matches any nogood generated during the exploration of T (except the one possibly it generates)
Other CSP Classes • Piecewise-Interchangeable CSPs • Values of the variables are chosen from disjoints sets • Values are interchangeable in each set • Wreath-Value Interchangeable CSPs • Each variable v is assigned a pair of values (d1,d2) • (d1,d2) ∈ D1 × D2 • Values in D1 are fully interchangeable • For a fixed value in D1 the values in D2 are fully interchangeable
Experimental Results • Results on Graph Coloring • Table shows time in seconds • Default labeling • Interchangeable CSP • Partitioned graph coloring • Colors divided into 4 groups and are fully interchangeable in each groups
Conclusion • Presented three classes of CSPs • The three classes feature various forms of value interchangeability • Symmetry breaking is performed in tractable time and space • Experimental results showed the the benefits of the symmetry breaking on these instances
Thank You! • Questions?