Tractable Symmetry Breaking Using Restricted Search Trees
1 / 19

Presented by: Shant Karakashian Symmetries in CP, Sprint 2010 - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Presented by: Shant Karakashian Symmetries in CP, Sprint 2010' - mireya

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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


  • 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
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
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
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
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
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

  • 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
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
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
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}













Properties of the constructed tree
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)


Global value symmetries
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
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
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 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
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


  • 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