- 39 Views
- Uploaded on
- Presentation posted in: General

Presented by: Shant Karakashian Symmetries in CP, Sprint 2010

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

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

- 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

- 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

- 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

- 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

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

- 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

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

- 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

- 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

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

- 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

- 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

- If SBDS or SBDD is performed while searching T
- 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

- 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

Thank you!