Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian

Embed Size (px)

Citation preview

Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton

Tractable Symmetry Breaking Using Restricted Search Trees

Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve LintonPresented by: Shant KarakashianSymmetries in CP, Sprint 20101OutlineSymmetry breaking approachesGroup equivalence tree (GE-tree)Importance of GE-treesDefinitions:Definition of the treeStabilizer and orbitValue symmetryConstructing GE-tree for value symmetryExample problem:GE-Tree constructionProperties of the constructed treeGE-trees with:Global value symmetriesSearchOther symmetriesExperimentsConclusion22Symmetry Breaking ApproachesDifferent approaches taken for symmetry breaking:Adding symmetry breaking constraints before search Using constraints generated dynamically during searchChecking for duplicate nodes before visiting themUse of techniques from computational group theory

33Group 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 nodeGiven a full assignment A there is at least one leaf of the tree in AGA GE-tree is minimal if the deletion of any node (and its descendants) will delete at least one full assignment44Importance of GE-TreesAny search tree contains a GE-treeHelpful to analyze the efficacy of a symmetry breaking technique by comparing the search tree to the corresponding minimal GE-treePossible to construct GE-trees for many types of symmetries: variable symmetry, value symmetry, etc.This article discusses value symmetry 55Definition of the TreeFor a given tree:Nodes are labeled with variablesEdges are labeled with variable valuesThe state of a node N is the partial assignment given by the labels on the path from the root to N 66Stabilizer and OrbitThe stabilizer of a literal (X=a) is the set of all symmetries in G that map (X=a) to itselfThe orbit of literal (X=a):Denoted (X=a)GIs the set of all literals that can be reached from (X=a) by a symmetry in G77Value SymmetryValue 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)88Constructing GE-Tree for Value SymmetriesGiven a node N:State of N: 1ik(Ai = ai)Let G(1ik) 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(1ik) on Dk+1 Select a representative bj for each orbit OjCreate an edge from N labeled with bj99Example ProblemConsider a 3x3 board with 3 pieces. Each piece is placed in a row The i th piece placed on the second column is: pi = 2A solution to the problem is when all the pieces are on the same columnThe problem has the value symmetry group G The generator for G is: , G = {a, b, c, d, e}a = b = c = d = e =

1012313212332112332112313212321312323112331210GE-Tree construction for the Example with Value Symmetriesa = 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}11p1p2p3p41233211231321232131232311233121111222311Properties of the Constructed TreeThe constructed tree is a GE-treeThe constructed GE-tree is minimalComplexity 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 tDeterministic algorithm: O~(N4+tN2)O~(x) = O(x logcx), c a constantComputing 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)12121212Global Value SymmetriesA 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-treesFor the complexity of the construction: Same as before but with N = |Ui=1:n Di| Instead of N=i=1:n |Di|1313GE-Trees and SearchConsider the partial assignment at N and GN the stabilizer of NLet a and b be values in the domain of variable XLet O be the orbit of a under GNIf 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 symmetriesGE-tree compared to SBDS and SBDD:SBDS constructs a GE-tree using all symmetries of the groupSBDD constructs a GE-tree if the dominance check is applied at every node1414GE-Trees & Other SymmetriesLet T be a GE-tree constructed for the subgroup H of value symmetries of the symmetry group GIf SBDS or SBDD is performed while searching T Then exactly one of each equivalence class of solutions will be foundIf a GE-tree is constructed for the group of value symmetries Then it is safe to use SBDD or SBDS to break all other symmetriesThe 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 complexities1515ExperimentsExperiments conducted using the ECLiPSe CSP systemThe partial assignment and the current variable domain are passed to GAP:GAP returns a domain containing only symmetrically distinct valuesColoring non-symmetric graphs:GE-tree compared to SBDD7-coloring of a 12-vertex graph: 50.1 sec with SBDD 8.87 sec with GE-tree 1616Experiments (contd.)A most perfect magic square of size n x nA solution is one of 2n+1((n/2)!)2 symmetric equivalentsRemodeled the problem to convert variable symmetries to value symmetries

17n#SolsSBDD timeGE-tree time430.60.3810130.890.7124215,268.010,930.917ConclusionThis work presented a new conceptual abstraction: A search tree containing a unique representation of each class of a full assignmentsPolynomial time algorithm to construct the tree in case of value symmetries1818Thank you!1919