190 likes | 256 Views
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal , Ian P. Gent, Tom Kelsey, Steve Linton. Presented by: Shant Karakashian Symmetries in CP, Sprint 2010. Outline. Symmetry breaking approaches Group equivalence tree (GE-tree) Importance of GE-trees
E N D
Tractable Symmetry Breaking Using Restricted Search TreesColva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: ShantKarakashian Symmetries in CP, Sprint 2010
Outline • Symmetry breaking approaches • Group equivalence tree (GE-tree) • Importance of GE-trees • Definitions: • Definition of the tree • Stabilizer and orbit • Value symmetry • Constructing GE-tree for value symmetry • Example problem: • GE-Tree construction • Properties of the constructed tree • GE-trees with: • Global value symmetries • Search • Other symmetries • Experiments • Conclusion
Symmetry Breaking Approaches • Different approaches taken for symmetry breaking: • Adding symmetry breaking constraints before search • Using constraints generated dynamically during search • Checking for duplicate nodes before visiting them • Use of techniques from computational group theory
Group Equivalence Tree (GE-Tree) • Given a CSP with symmetry group G, GE-tree is a search tree satisfying: • No node is isomorphic under G to any other node • Given a full assignment A there is at least one leaf of the tree in AG • A GE-tree is minimal if the deletion of any node (and its descendants) will delete at least one full assignment
Importance of GE-Trees • Any search tree contains a GE-tree • Helpful to analyze the efficacy of a symmetry breaking technique by comparing the search tree to the corresponding minimal GE-tree • Possible to construct GE-trees for many types of symmetries: variable symmetry, value symmetry, etc. • This article discusses value symmetry
Definition of the Tree • For a given tree: • Nodes are labeled with variables • Edges are labeled with variable values • The state of a node N is the partial assignment given by the labels on the path from the root to N
Stabilizer and Orbit • The stabilizer of a literal (X=a) is the set of all symmetries in G that map (X=a) to itself • The orbit of literal (X=a): • Denoted (X=a)G • Is the set of all literals that can be reached from (X=a) by a symmetry in G
Value Symmetry • Value Symmetry is any permutation g where: • If (A1 = a)g = (A2 = b) • Then A1 = A2 • The definition also allows the existence of symmetries g as: (A1 = a)g = (A1 = b), (A2 = a)g = (A2 = c)
Constructing GE-Tree for Value Symmetries • Given a node N: • State of N: Λ1≤i≤k(Ai = ai) • Let G(1≤i≤k) be the subgroup of G that stabilizes each of {ai : 1 ≤ i ≤ k} • Select variable Ak+1 (can be different for the same level thus supports dynamic variable ordering) • Label N with Ak+1 • Compute orbits: • {Oj : 1 ≤ j ≤ ok+1} of G(1≤i≤k) on Dk+1 • Select a representative bj for each orbit Oj • Create an edge from N labeled with bj
Example Problem • Consider a 3x3 board with 3 pieces. • Each piece is placed in a row • The ithpiece placed on the second column is: • pi = 2 • A solution to the problem is when all the pieces are on the same column • The problem has the value symmetry group G • The generator for G is: , • G= {a, b, c, d, e} • a = b= c= d = e=
GE-Tree construction for the Example with Value Symmetries • a = b = c = d = e = • Orbits of {a, b, c, d, e} on Dp1 = {{1, 2, 3}} • Choose representative {1} • Label of 2nd node: (p1=1) • Stabilizer = {a} • Orbits of {a} on Dp2 = {{1}, {2, 3}} • Choose representative {1, 2} • Label of 3rd node: (p1=1, p2=1) • Stabilizer = {a} p1 p2 p3 p4 1 1 2 1 2 3 1 2
Properties of the Constructed Tree • The constructed tree is a GE-tree • The constructed GE-tree is minimal • Complexity of the construction algorithm: • The group is acting on a set of size N=∑i=1:n |Di| • Need to find the generator for G of size t • Deterministic algorithm: O~(N4+tN2) • O~(x) = O(xlogcx), c a constant • Computing the orbits of G on D is O(t|D|) • Assume O(t) < O(N) • Total cost at each node is no more than O~(N4) 1212
Global Value Symmetries • A group consists of global value symmetries if: • For all variables X, Y, values a, b and symmetries g: • If (X = a)g = (X = b) • Then (Y = a)g = (Y = b) • The construction produces minimal GE-trees • For the complexity of the construction: • Same as before but with N = |Ui=1:nDi| • Instead of N=∑i=1:n |Di|
GE-Trees and Search • Consider the partial assignment at N and GN the stabilizer of N • Let a and b be values in the domain of variable X • Let O be the orbit of a under GN • If there exists b in the orbit O such that b is deleted from the domain of A • Then there are no solutions extending N ^ (X = a) • Such values (a) are not extended during dynamic construction of GE-tree for value symmetries • GE-tree compared to SBDS and SBDD: • SBDS constructs a GE-tree using all symmetries of the group • SBDD constructs a GE-tree if the dominance check is applied at every node
GE-Trees & Other Symmetries • Let T be a GE-tree constructed for the subgroup H of value symmetries of the symmetry group G • If SBDS or SBDD is performed while searching T • Then exactly one of each equivalence class of solutions will be found • If a GE-tree is constructed for the group of value symmetries • Then it is safe to use SBDD or SBDS to break all other symmetries • The combined approach has lower complexity because the GE-tree construction as described for value symmetries has a polynomial complexity while SBDD and SBDS have exponential complexities
Experiments • Experiments conducted using the ECLiPSe CSP system • The partial assignment and the current variable domain are passed to GAP: • GAP returns a domain containing only symmetrically distinct values • Coloring non-symmetric graphs: • GE-tree compared to SBDD • 7-coloring of a 12-vertex graph: • 50.1 sec with SBDD • 8.87 sec with GE-tree
Experiments (contd.) • A most perfect magic square of size n x n • A solution is one of 2n+1((n/2)!)2 symmetric equivalents • Remodeled the problem to convert variable symmetries to value symmetries
Conclusion • This work presented a new conceptual abstraction: • A search tree containing a unique representation of each class of a full assignments • Polynomial time algorithm to construct the tree in case of value symmetries