Presentation is loading. Please wait.

Presentation is loading. Please wait.

Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive1 Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems.

Similar presentations


Presentation on theme: "Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive1 Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems."— Presentation transcript:

1 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive1 Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems Yaling Zheng Constraint Systems Laboratory

2 11/22/2005Zheng – Comprehensive2 Outline Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation Techniques of symmetry detection Summary & future research directions

3 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive3 Definition of a CSP [from Dr. Choueiry's slides for CSCE421] Given P = ( V, D, C ) –V is a set of variables, –D is a set of variable domains (domain values) –C is a set of constraints, Query: can we find a value for each variable such that all constraints are satisfied?

4 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive4 5-queens problem Rotate 90  Q Q Q Q Q A solution Q Q Q Q Q Q Q Q Q Q Rotate 180  Rotate 270  Q Q Q Q Q Flip horizontally Q Q Q Q Q Flip vertically Flip \ diagonally Q Q Q Q Q Flip / diagonally Q Q Q Q Q Q Q Q Q Q

5 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive5 Round robin tournaments Given: –8 teams over 7 weeks –4 periods per week –2 slots per period Constraints: –Every team plays each week –Every team plays at most twice in each period –Every team plays every other team Query: Can we find a schedule which assigns a team for every slot?

6 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive6 A schedule to the tournament Week 1Week2Week 3Week 4Week 5Week 6Week 7 Period 1 0 v 10 v 24 v 73 v 63 v 71 v 52 v 4 Period 2 2 v 31 v 70 v 35 v 71 v 40 v 65 v 6 Period 3 4 v 53 v 51 v 60 v 42 v 62 v 70 v 7 Period 4 6 v 74 v 62 v 51 v 20 v 53 v 41 v 3 Every permutation of the week is a solution (7!) Every permutation of the period is a solution (4!) Every permutation of the slot is a solution (2 28 ) Total: (7!)  (4!)  (2 28 ) such permutations

7 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive7 Motivation of exploiting symmetry From the viewpoint of the backtrack search 1234 1234 1234 12341234 1234 1234 V1 V2 V3 V4 …… a state solution 1 solution 2

8 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive8 Question: 1.What is the formal definition of symmetry in a CSP? 2.How do we exploit the symmetries within a CSP to solve it? 3.How do we detect the symmetries within a given CSP so that we can exploit them?

9 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive9 Outline Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation Techniques of symmetry detection Summary & future research directions

10 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive10 Definitions of symmetry Functional interchangeability [Freuder’91] Solution symmetry [Cohen et al.’05] Defined as a bijective mapping between solutions (i.e., complete assignments of values to variables)  : {  V i,a j  |V i  V, a j  D V i }  {  V i,a j  |V i  V, a j  D V i } Maps –solutions to solutions –non-solutions to non-solutions

11 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive11 Relationship of symmetry concepts Solution SymmetryInterchangeability Partial Interchangeability Constraint Symmetry Full Interchangeability Neighborhood Interchangeability Value Symmetry Variable Symmetry Matrix Symmetry Row SymmetryColumn Symmetry Row and Column Symmetry [Freuder’91, Puget’02, Flenner’02, Cohen et al.’05]

12 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive12 Outline Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation –CSP remodeling, propagation, bundling, static symmetry breaking, dynamic symmetry breaking, heuristic symmetry breaking Techniques of symmetry detection Summary & future research directions

13 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive13 Techniques of exploiting symmetries 1.Remodeling a given CSP to a model with fewer symmetries 2.Exploiting symmetries during constraint propagation 3.Using bundling techniques (group symmetrical values together)

14 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive14 4.Adding static symmetry breaking constraints before search 5.Dynamic symmetry breaking during search 6.Using symmetry-breaking heuristic to guide search Techniques of exploiting symmetries

15 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive15 Remodeling Remove a subset of dimensions from a multi-dimensional model [Freuder’97] Model a CSP as a set domain CSP which can be solved by Conjunto [Gervet’97] –As far as I know, Conjunto is the only existing constraint logic programming language for solving set domain CSPs Automation of remodeling (CGRASS) by condition-action rules [Frisch et al.’02]

16 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive16 Remodeling 4-queens prob. Original model (search space 4 16 ) Variables: 4 queens Q 1, Q 2, Q 3, Q 4 on 4  4 board Domains: D Q1 =D Q2 =D Q3 =D Q4 = {  1,1 , …,  4,4  } Constraints : no two queens in the same row/column/diagonal New model (search space 4 4 ) Variables: 4 queens Q 1, Q 2, Q 3, Q 4 in 4 rows Domains: D Q1 =D Q2 =D Q3 =D Q4 = {1,2,3,4} Constraints : no two queens in the same column/diagonal

17 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive17 Constraint propagation Constraint propagation is to remove values from variable domains by enforcing consistency techniques Exploit symmetry during constraint propagation –symAC2001 [Gent and MacDonald’03] symPC2001/3.1 [Gent et al.’05] –When a value of a variable is consistent (inconsistent), its symmetrical values of the variable is also consistent (inconsistent).

18 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive18 Bundling Techniques Group neighborhood interchangeable values together –before search [Benson and Freuder’92, Haselbock’93] –during search [Beckwith et al.’01, Lal and Choueiry’03] Technique: –discrimination tree, domain partition Find solution bundles Dynamic bundling performs better than static bundling

19 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive19 Symmetry-breaking constraints Add constraints over symmetrical variables before search Examples of such constraints –Symmetry breaking predicates [Crawford’96] –Lexicographical ordering constraints [Flener’02] –Multiset ordering constraints [Kiziltan’04] Good for finding all solutions by BT search Sometimes not good for finding 1 solution Use some (not all) symmetry-breaking constraints before search [Puget’03]

20 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive20 Dynamic symmetry breaking Symmetry excluding search (SES) [Backofen and Will’99,’02] Symmetry-breaking during search (SBDS) [Gent and Smith’00] Symmetry-breaking via dominance detection (SBDD) [Fahle et al.’01] CGT+SBDS [Gent et al.’02] CGT+SBDD [Gent et al.’03]

21 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive21 SES, SBDS, short SBDS Q1  2 Q1  2 Q2 = 1 Q2  1  (Sym(Q1  2)) (Sym(Q1  2)   (sym(Q2 = 1)) SES: inserting symmetry breaking constraints (expressed by logic formulae) at the right branch of the binary search tree. SBDS is similar to SES. Good for CSPs with few symmetries Impractical for CSPs with millions of symmetries. Short SBDS choose partial symmetries.

22 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive22 SBDD Good for solving CSPs with millions of symmetries For every CSP, SBDD needs a special dominance checker 12 1 1 1234 Q1 Q2 Q3 Q4 …… Is current state dominated by previously visited states?

23 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive23 CGT+SBDS/SBDD CGT: Computational Group Theory By CGT, a small set of symmetries can generate a huge number of symmetries CGT+SBDS do not need to explicitly list all the symmetries (GAP-ECL i PS e SBDS) CGT+SBDD do not need a specific dominance checker any more (GAP- ECL i PS e SBDD)

24 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive24 Symmetry-breaking heuristic dddd

25 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive25 Outline Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation Techniques of symmetry detection –Discrimination tree (neighborhood interchangeability) –CGRASS –Graph automorphism Summary & future research directions

26 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive26 Symmetry detection 1.Discrimination tree (to detect NI) –Before search [Benson and Freuder’92, Haselbock’93] –During search [Beckwith et al.’01, Lal and Choueiry’03] 2.CGRASS: for every pair of variables, check whether exchanging these two variables in all occurrences of these two variables does not change the problem [Frisch et al.’02]

27 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive27 Symmetry detection 3.First construct a graph –SAT problem [Crawford’96] –0-1 ILP problem [Aloul’04] –Problem whose constraints declared in C-like specification language [Ramani and Markov’04] –CSP [Puget’05] Then use automorphism algorithms: –NAUTY [McKay’81] –SAUCY [Darga et al.’04] –AUTOM [Puget’05]

28 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive28 Outline Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation Techniques of symmetry detection Summary & future research directions

29 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive29 Summary Definitions of symmetry Techniques of exploiting symmetries –Bundling technique (group NI values together) –Symmetry breaking (Only visit one of the symmetrical states) Static or dynamic Techniques of detecting symmetries –Discrimination tree –Graph construction + graph automorphism

30 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive30 Future Research Directions Lattice domain CSPs [Gervet’97] Exploit symmetries in sub CSPs after structural decomposition of a CSP Propagation in non-binary CSPs Dynamically detect symmetries (besides neighborhood interchangeability) during search

31 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive31 Future Research Directions Develop criteria for systematically selecting subsets of static symmetry breaking constraints Study whether degree-maximization xxx can also be integrated with symmetry- breaking heuristic Investigate the possibility of exploiting symmetries for a heuristic function (such as in local search)

32 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive32 Thank you Thank you for your time and patience to –read my paper and –attend my presentation Questions?

33 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive33 Additional Slides

34 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive34 Computation Group Theory (CGT) Geometric symmetry of 2  2 square Two symmetries p1= [3, 1, 4, 2] (denote a rotation by 90  ) and p2= [3, 4, 1, 2] (denote a flip through horizontal axis) can be used to generate other 5 symmetries. For example, p1◦p1◦p1 = [4, 3, 2, 1] (rotation by 270  ) p2 ◦p1 = [4, 2, 3, 1] (rotation by 90  and then filp) p1◦p1◦p2 = [2, 1, 4, 3] (flip through vertical axis) ……

35 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive35 Bundling Techniques Use discrimination tree to find neighborhood interchangeable values [Freuder’91] blue red white blue green yellow blue green yellow blue WY Z X     blue|X green|X yellow|X green|Y yellow|Y green|X yellow|X green|Y yellow|Y {red, white} {blue} Joint discrimination tree [Choueiry and Noubir’98] Non-binary discrimination tree [Lal and Choueiry’03]

36 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive36 Detecting symmetries Example of graph construction for a SAT problem [Crawford’96] C1 x1x2x3 I1 I2 C2C3 x1’ x3’  (x1, x2, x3) = (x1  x2  x3)  (  x1  x4)  (  x3  x4) Implied clauses: x1   x1 x3   x3 x4

37 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive37 Detecting symmetries Example of graph construction for a 0-1 ILP problem [Aloul et al.’04] x1x2x3  (x1, x2, x3) = P1: 2 x1 + x2 + x3  2 P2: x1 + 2 x2 + x3  2 Y2 Y1 X2,1X1,1 X1,2X2,2

38 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive38 Detecting symmetries Example of graph construction for a C-like specification language [Ramani and Markov’04] int3 x1, x2; x1*x1 + x2*x2 == 25; x1 >= 1; x2 >= 1; 25 == + * x1 >= 1 * x2 >= 1

39 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive39 Detecting symmetries Example of graph construction for an extensional constraint C xy = {(1, 2), (1, 3), (2, 3)} [Puget’05] 2 1 A3 A2 C xy 3 x A1 2 1 3 y

40 Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive40 Detecting symmetries Example of graph construction for two in tensional constraints [Puget’05] <d x 10 y + xyz = x < y x + y + z = 10


Download ppt "Constraint Systems Laboratory 11/22/2005Zheng – Comprehensive1 Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems."

Similar presentations


Ads by Google