1 / 40

Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems

Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems Yaling Zheng Constraint Systems Laboratory. Outline. Definition of a CSP Motivation of the study of symmetry in CSP Definitions of symmetry in a CSP Techniques of symmetry exploitation

alida
Download Presentation

Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems Yaling Zheng Constraint Systems Laboratory Zheng – Comprehensive

  2. 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 Zheng – Comprehensive

  3. Definition of a CSP[from Dr. Choueiry's slides for CSCE421] • GivenP = (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? Zheng – Comprehensive

  4. Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q 5-queens problem A solution Rotate 90 Rotate 180 Rotate 270 Flip horizontally Flip vertically Flip \ diagonally Flip / diagonally Zheng – Comprehensive

  5. 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? Zheng – Comprehensive

  6. A schedule to the tournament • 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 (228) • Total: (7!)(4!)(228) such permutations Zheng – Comprehensive

  7. Motivation of exploiting symmetry • From the viewpoint of the backtrack search V1 1 2 3 4 …… …… V2 1 2 3 4 1 2 3 4 V3 1 2 3 4 1 2 3 4 V4 1 2 3 4 1 2 3 4 solution 1 solution 2 a state Zheng – Comprehensive

  8. Question: • What is the formal definition of symmetry in a CSP? • How do we exploit the symmetries within a CSP to solve it? • How do we detect the symmetries within a given CSP so that we can exploit them? Zheng – Comprehensive

  9. 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 Zheng – Comprehensive

  10. 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) : {Vi,aj|Vi V, ajDVi}  {Vi,aj|ViV, aj  DVi} • Maps • solutions to solutions • non-solutions to non-solutions Zheng – Comprehensive

  11. Relationship of symmetry concepts Interchangeability Solution Symmetry Partial Interchangeability Constraint Symmetry Value Symmetry Variable Symmetry Full Interchangeability Matrix Symmetry Row Symmetry Column Symmetry Neighborhood Interchangeability Row and Column Symmetry [Freuder’91, Puget’02, Flenner’02, Cohen et al.’05] Zheng – Comprehensive

  12. 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 Zheng – Comprehensive

  13. Techniques ofexploiting symmetries • Remodeling a given CSP to a model with fewer symmetries • Exploiting symmetries during constraint propagation • Using bundling techniques (group symmetrical values together) Zheng – Comprehensive

  14. Techniques ofexploiting symmetries • Adding static symmetry breaking constraints before search • Dynamic symmetry breaking during search • Using symmetry-breaking heuristic to guide search Zheng – Comprehensive

  15. Remodeling • Remove a subset of dimensions from a multi-dimensional model [Freuder’97] • Model a CSPas 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] Zheng – Comprehensive

  16. Remodeling 4-queens prob. Original model (search space 416) Variables: 4 queens Q1, Q2, Q3, Q4 on 44 board Domains: DQ1=DQ2=DQ3=DQ4= {1,1, …, 4,4} Constraints: no two queens in the same row/column/diagonal New model (search space 44) Variables: 4 queens Q1, Q2, Q3, Q4 in 4 rows Domains: DQ1=DQ2=DQ3=DQ4= {1,2,3,4} Constraints: no two queens in the same column/diagonal Zheng – Comprehensive

  17. 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). Zheng – Comprehensive

  18. 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 Zheng – Comprehensive

  19. 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] Zheng – Comprehensive

  20. 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] Zheng – Comprehensive

  21. SES, SBDS, short SBDS (Sym(Q1  2)) Q1  2 Q1  2 Q2 = 1 Q2  1 (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 similarto SES. • Goodfor CSPs with few symmetries • Impracticalfor CSPs with millions of symmetries. • Short SBDS choose partial symmetries. Zheng – Comprehensive

  22. SBDD • Good for solving CSPs with millions of symmetries • For every CSP, SBDD needs a special dominance checker Q1 1 2 …… Q2 1 2 3 4 Q3 1 Q4 Is current state dominated by previously visited states? 1 Zheng – Comprehensive

  23. 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-ECLiPSe SBDS) • CGT+SBDD do not need a specific dominance checker any more (GAP-ECLiPSe SBDD) Zheng – Comprehensive

  24. Symmetry-breaking heuristic • dddd Zheng – Comprehensive

  25. 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 Zheng – Comprehensive

  26. Symmetry detection • Discrimination tree (to detect NI) • Before search [Benson and Freuder’92, Haselbock’93] • During search[Beckwith et al.’01, Lal and Choueiry’03] • 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] Zheng – Comprehensive

  27. Symmetry detection • 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] Zheng – Comprehensive

  28. 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 Zheng – Comprehensive

  29. 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 Zheng – Comprehensive

  30. 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 Zheng – Comprehensive

  31. 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) Zheng – Comprehensive

  32. Thank you • Thank you for your time and patience to • read my paper and • attend my presentation • Questions? Zheng – Comprehensive

  33. Additional Slides Zheng – Comprehensive

  34. 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) …… Zheng – Comprehensive

  35. Bundling Techniques • Use discrimination tree to find neighborhood interchangeable values [Freuder’91] W Y green|X blue|X  blue red white blue green yellow green|X yellow|X  green|Y yellow|X   blue green yellow yellow|Y green|Y blue {blue} yellow|Y Z X {red, white} • Joint discrimination tree [Choueiry and Noubir’98] • Non-binary discrimination tree [Lal and Choueiry’03] Zheng – Comprehensive

  36. Detecting symmetries • Example of graph construction for a SAT problem [Crawford’96] C1 (x1, x2, x3) = (x1  x2  x3)  (x1  x4)  (x3  x4) Implied clauses: x1 x1 x3 x3 x1 x2 x3 I1 I2 C2 C3 x4 x3’ x1’ Zheng – Comprehensive

  37. Detecting symmetries • Example of graph construction for a 0-1 ILP problem [Aloul et al.’04] x1 x2 x3 (x1, x2, x3) = P1: 2 x1 + x2 + x3  2 P2: x1 + 2 x2 + x3  2 X2,1 X1,1 X1,2 X2,2 Y2 Y1 Zheng – Comprehensive

  38. Detecting symmetries • Example of graph construction for a C-like specification language [Ramani and Markov’04] 25 int3 x1, x2; x1*x1 + x2*x2 == 25; x1 >= 1; x2 >= 1; == + >= >= * * x1 x2 1 1 Zheng – Comprehensive

  39. Detecting symmetries • Example of graph construction for an extensional constraint Cxy = {(1, 2), (1, 3), (2, 3)} [Puget’05] Cxy 3 A3 3 A2 x 2 2 y A1 1 1 Zheng – Comprehensive

  40. Detecting symmetries • Example of graph construction for two in tensional constraints [Puget’05] = < d + 10 y x x y z x < y x + y + z = 10 Zheng – Comprehensive

More Related