Download Understanding and Overcoming Symmetry in Constraint Satisfaction Problems and more Study notes Computer Numerical Control in PDF only on Docsity!
Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York
Breaking Symmetry in
Constraint Satisfaction Problems
Constraint Programming Last updated: 10 December 2008
Example of a CSP with Symmetry
- Find three distinct digits that sum to 4.
- X, Y, Z in {0,1,2,3,4,5,6,7,8,9} X ≠ Y, Y ≠ Z, X ≠ Z X +Y + Z = 4
Value Symmetry
- A group of symmetries on values that induces a
group of symmetries on assignments.
- Example: “Assign r, b or g to each node of a
graph so that no arc connects two nodes of the
same colour” has value symmetry.
S = {r ↦ b, b ↦ g, g ↦ r}.
- Induces a symmetry on assignments that maps
{N1 ↦ r, N2 ↦ b, N3 ↦ g} to
{N1 ↦ S(r), N2 ↦ S(b), N3 ↦ S(g)} =
{N1 ↦ b, N2 ↦ g, N3 ↦ r}
Variable Symmetry
- A group of symmetries on variables that induces a
group of symmetries on assignments.
- Example: “Assign 0,…,9 to X, Y, Z such that X,
Y, Z are all different and sum to 4” has variable
symmetry.
S = {X ↦ Y, Y ↦ Z, Z ↦ X}.
- Induces a symmetry on assignments that maps
{X→0, Y→1, Z→3} to
{S(X) ↦ 0, S(Y) ↦ 1, S(Z) ↦ 3} =
{Y ↦ 0, Z ↦ 1, X ↦ 3}
Matrix Models are Prevalent
- Commonly used to implement sets, subsets,
partitions, relations, functions,
permutations…
- Of first 31 problems in CSPlib (www.csplib.org),
27 have natural matrix models, most already
published and arguably the most natural
models.
- Many have row and column symmetries.
8
Partial Assignment Search
0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 X X 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 X ! 0 0 0 1 0 X 0 1 0 1 0 1 !! !! ! Find a 2x3 matrix of 0/1 such that
- rows are different
- cols are different (^) forward checking
10
Where Does Symmetry Originate?
- Naturally : Chessboard is symmetric in n-queens.
- Formulation :
- Find 3 distinct digits summing to 4
- Find S subset {0, 1, …, 9}, |S| = 3, Sum(S) = 4
- X, Y, Z in {0, 1, …, 9} X ≠ Y, Y Z, X ≠ Z X + Y + Z = 4
- Add X ≤ Y ≤ Z Infer (GAC): X, Y , Z in {0, 1, 2, 3, 4}
- Infer: X < Y < Z Infer (GAC): X in {0, 1, 2}, Y in {1, 2, 3}, Z in {2, 3, 4}
Index Symmetry in One Dimension
A B C
D E F
G H I
Symmetry breaking constraint
[A B C] ≤
lex
[D E F] ≤
lex
[G H I]
(consistent and complete)
Incompleteness of Lex
2 1 0
Swap 2 columns Swap row 1 and 3
Lex
2
- Identified different conditions under which it is
complete.
- Extended it to n dimensions and partial symmetry.
- Developed linear-time algorithm for enforcing GAC
on a lex ordering constraint between 2 vectors of
variables.
- Shown experimentally on a range of problems that
breaking symmetry by imposing lex/lex
2
and
enforcing it with our algorithm is highly effective.
Transforming Value Symmetry to
Index Symmetry
- a, b, c, d are indistinguishable values a c {b, d} 0 0 1
a 1 0 0 b c d Now the rows are indistinguishable X Y Z (set) X Y Z (set)
Breaking Value Symmetry with Value Precedence Constraints
- Consider colouring a 4-node graph with 3 colours.
- Calling the colours 1, 2, 3 introduces value .symmetry. All the values are interchangeable. {1,2,3} {1,2,3} {1,2,3} {1,2,3} C:
- Can break all the value symmetry with the constraint 1 ≤ C
C
where v1 ≤ C v2 means that if v2 occurs in C then so does v1 and the first occurrence of v2 is after the first occurrence of v1.
Important Open Problems for
Symmetry-Breaking Constraints
- Generality: generate effective constraints for any
symmetry group.
- Understand interaction with problem constraints.
- Understand interaction with search strategies.
- Understand interaction with dynamic methods.
- Automatically introduce symmetry breaking during
refinement.
- Do all this for problem classes, not just problem
instances.