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

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Symmetry Definitions for Constraint Satisfaction Problems Dave Cohen, Peter Jeavons, Chris Jefferson, Karen Petrie and Barbara Smith.
Constraint Satisfaction Problems Russell and Norvig: Chapter
Constraint Satisfaction Problems
Interchangeability in Constraint Programming Shant Karakashian, Robert J. Woodward, Berthe Y. Choueiry, Steven D. Prestwich and Eugene C. Freuder 1.
Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
1 CMSC 471 Fall 2002 Class #6 – Wednesday, September 18.
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Exploiting Symmetry in Planning Maria Fox Durham Planning Group University of Durham, UK.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
Leeds: 6 June 02Constraint Technology for the Masses Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Collaborators:
Introduction to Symmetry Handbook of Constraint Programming, Chapter 10 Presentation by: Robert Woodward Advanced CP, Fall
A Partial Taxonomy of Substitutability & Interchangeability Shant Karakashian Robert J. Woodward Berthe Y. Choueiry Steven D. Prestwich Eugene C. Freuder.
Constraint Models for the Covering Test Problems Authors: Brahim Hnich, Steven D. Prestwich, Evgeny Selensky, Barbara M. Smith Speaker: Pingyu Zhang CSE.
Constraint Processing Techniques for Improving Join Computation: A Proof of Concept Anagh Lal & Berthe Y. Choueiry Constraint Systems Laboratory Department.
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Constraint Satisfaction CSE 473 University of Washington.
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables, a set of domain values for these variables,
Efficient Techniques for Searching the Temporal CSP Lin Xu and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science and Engineering.
Constraint Satisfaction Problems
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables, a set of domain values for these variables,
Constraint Satisfaction Problems Russell and Norvig: Chapter 3, Section 3.7 Chapter 4, Pages Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm.
Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan.
Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Co-authors Ian Miguel, Toby Walsh, Pierre Flener, Brahim.
Constraint Systems Laboratory December 9, 2005ISI AI Seminar Series1 Symmetry Detection in Constraint Satisfaction Problems & its Application in Databases.
Chapter 5 Outline Formal definition of CSP CSP Examples
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Global Constraints for Lexicographic Orderings Alan Frisch, Ian Miguel (University of York) Brahim Hnich, Toby Walsh (4C) Zeynep Kiziltan (Uppsala University)
Constraint Satisfaction Problems
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Modelling for Constraint Programming Barbara Smith CP 2010 Doctoral Programme.
Chapter 5 Section 1 – 3 1.  Constraint Satisfaction Problems (CSP)  Backtracking search for CSPs  Local search for CSPs 2.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Fall 2006 Jim Martin.
Constraint Systems Laboratory Presented by: Robert J. Woodward, Amanda Swearngin 1 Berthe Y. Choueiry 2 Eugene C. Freuder 3 1 ESQuaReD Laboratory, University.
1 Constraint Symmetry and Solution Symmetry Presented by Beau M. Christ Symmetry in CSP’s Spring 2010 Presented by Beau M. Christ Symmetry in CSP’s Spring.
Chapter 5 Constraint Satisfaction Problems
Constraint Satisfaction Problems (Chapter 6)
CP Summer School Modelling for Constraint Programming Barbara Smith 3. Symmetry, Viewpoints.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
CHAPTER 5 SECTION 1 – 3 4 Feb 2004 CS Constraint Satisfaction 1 Constraint Satisfaction Problems.
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
Foundations of Constraint Processing, Fall 2004 October 3, 2004Interchangeability in CSPs1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
1. 2 Outline of Ch 4 Best-first search Greedy best-first search A * search Heuristics Functions Local search algorithms Hill-climbing search Simulated.
Robust Planning using Constraint Satisfaction Techniques Daniel Buettner and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Lecture 5: Constraint Satisfaction Problems
Constraint Satisfaction CSE 473 University of Washington.
Faster Symmetry Discovery using Sparsity of Symmetries Paul T. Darga Karem A. Sakallah Igor L. Markov The University of Michigan.
Tractable Symmetry Breaking for CSPs with Interchangeable Values P. Van Hentenryck, P. Flener, J. Pearson and M. Agren IJCAI 2003 Presented by: Shant Karakashian.
10.3 Reformulation The Lex-Leader Method Shant Karakashian 1.
1 Constraint Satisfaction Problems (CSP). Announcements Second Test Wednesday, April 27.
Constraint Satisfaction Problems (CSPs)
Constraint Satisfaction
Lecture 7 Constraint Satisfaction Problems
CS 188: Artificial Intelligence
Constraint satisfaction problems
Generic SBDD using Computational Group Theory
Constraint Satisfaction Problems
Constraint satisfaction problems
Constraint Satisfaction Problems (CSP)
Presentation transcript:

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

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

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?

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

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?

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

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

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?

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

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

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]

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

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)

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

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]

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

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).

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

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]

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]

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.

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 Q1 Q2 Q3 Q4 …… Is current state dominated by previously visited states?

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)

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

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

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]

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]

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

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

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

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)

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?

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

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) ……

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]

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

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

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

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 A y

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