400 likes | 555 Vues
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
E N D
Survey of Techniques for Detecting and Exploiting Symmetry in Constraint Satisfaction Problems Yaling Zheng Constraint Systems Laboratory Zheng – Comprehensive
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
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
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
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
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
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
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
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
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, ajDVi} {Vi,aj|ViV, aj DVi} • Maps • solutions to solutions • non-solutions to non-solutions Zheng – Comprehensive
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
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
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
Techniques ofexploiting symmetries • Adding static symmetry breaking constraints before search • Dynamic symmetry breaking during search • Using symmetry-breaking heuristic to guide search Zheng – Comprehensive
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
Remodeling 4-queens prob. Original model (search space 416) Variables: 4 queens Q1, Q2, Q3, Q4 on 44 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
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
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
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
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
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
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
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
Symmetry-breaking heuristic • dddd Zheng – Comprehensive
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
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
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
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
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
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
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
Thank you • Thank you for your time and patience to • read my paper and • attend my presentation • Questions? Zheng – Comprehensive
Additional Slides Zheng – Comprehensive
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
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
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
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
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
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
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