Understanding and Overcoming Symmetry in Constraint Satisfaction Problems, Study notes of Computer Numerical Control

Symmetry in constraint satisfaction problems (csps) and its impact on solving these problems. It covers value symmetry, variable symmetry, index symmetry in one and two dimensions, and methods to break symmetry, such as forward checking and symmetry breaking constraints. The document also mentions the lex2 algorithm and its limitations.

Typology: Study notes

2010/2011

Uploaded on 09/10/2011

myohmy
myohmy 🇬🇧

4.8

(10)

297 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

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 :
    1. Find 3 distinct digits summing to 4
    2. Find S subset {0, 1, …, 9}, |S| = 3, Sum(S) = 4
    3. X, Y, Z in {0, 1, …, 9} X ≠ Y, Y Z, X ≠ Z X + Y + Z = 4
    4. Add X ≤ Y ≤ Z Infer (GAC): X, Y , Z in {0, 1, 2, 3, 4}
    5. 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

  • Indistinguishable Rows

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.