constraint systems laboratory 11/22/2005zheng – comprehensive1 survey of techniques for detecting...
Post on 22-Dec-2015
218 views
TRANSCRIPT
11/22/2005 Zheng – Comprehensive 1
Constraint Systems Laboratory
Survey of Techniques for Detecting and Exploiting
Symmetry in Constraint Satisfaction Problems
Yaling Zheng
Constraint Systems Laboratory
11/22/2005 Zheng – Comprehensive 2
Constraint Systems Laboratory
Outline• Definition of a CSP• Motivation of the study of symmetry in C
SP• Definitions of symmetry in a CSP• Techniques of symmetry exploitation• Techniques of symmetry detection• Summary & future research directions
11/22/2005 Zheng – Comprehensive 3
Constraint Systems Laboratory
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?
nVVV ,,, 21 V
nVVV DDD ,,, 21 D
iVbVaVVVV DDDzyxiba
),,,(,...,,C with
lCCC ,,, 21 C
11/22/2005 Zheng – Comprehensive 4
Constraint Systems Laboratory
5-queens problemRotate 90
Q
A solution
Q
Q
Rotate 180 Rotate 270
Q
Flip horizontally
Q
Q
Q
Flip vertically Flip \ diagonally
Q
Flip / diagonally
Q
Q
Q
Q
Q
Q
11/22/2005 Zheng – Comprehensive 5
Constraint Systems Laboratory
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?
11/22/2005 Zheng – Comprehensive 6
Constraint Systems Laboratory
A schedule to the tournament
Week 1 Week2 Week 3 Week 4 Week 5 Week 6 Week 7Period 1 0 v 1 0 v 2 4 v 7 3 v 6 3 v 7 1 v 5 2 v 4Period 2 2 v 3 1 v 7 0 v 3 5 v 7 1 v 4 0 v 6 5 v 6Period 3 4 v 5 3 v 5 1 v 6 0 v 4 2 v 6 2 v 7 0 v 7Period 4 6 v 7 4 v 6 2 v 5 1 v 2 0 v 5 3 v 4 1 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 (228)• Total: (7!)(4!)(228) such permutations
11/22/2005 Zheng – Comprehensive 7
Constraint Systems Laboratory
Motivation of exploiting symmetry• From the viewpoint of the backtrack search
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4 1 2 3 4
1 2 3 4
1 2 3 4
V1
V2
V3
V4
……
……
a state solution 1 solution 2
11/22/2005 Zheng – Comprehensive 8
Constraint Systems Laboratory
Question:1. What is the formal definition of symmet
ry in a CSP?2. How do we exploit the symmetries withi
n a CSP to solve it? 3. How do we detect the symmetries withi
n a given CSP so that we can exploit them?
11/22/2005 Zheng – Comprehensive 9
Constraint Systems Laboratory
Outline• Definition of a CSP• Motivation of the study of symmetry in C
SP• Definitions of symmetry in a CSP• Techniques of symmetry exploitation• Techniques of symmetry detection• Summary & future research directions
11/22/2005 Zheng – Comprehensive 10
Constraint Systems Laboratory
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
11/22/2005 Zheng – Comprehensive 11
Constraint Systems Laboratory
Relationship of symmetry concepts
Solution SymmetryInterchangeability
Partial Interchangeability
ConstraintSymmetry
FullInterchangeability
NeighborhoodInterchangeability
ValueSymmetry
VariableSymmetry
Matrix Symmetry
Row Symmetry Column Symmetry
Row and Column Symmetry[Freuder’91, Puget’02, Flenner’02, Cohen et al.’05]
11/22/2005 Zheng – Comprehensive 12
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
– CSP remodeling, propagation, bundling, static symmetry breaking, dynamic symmetry breaking, heuristic symmetry breaking
• Techniques of symmetry detection• Summary & future research directions
11/22/2005 Zheng – Comprehensive 13
Constraint Systems Laboratory
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)
11/22/2005 Zheng – Comprehensive 14
Constraint Systems Laboratory
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
11/22/2005 Zheng – Comprehensive 15
Constraint Systems Laboratory
Remodeling• Remove a subset of dimensions from a multi-dimen
sional 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 prog
ramming language for solving set domain CSPs• Automation of remodeling (CGRASS) by condition-a
ction rules [Frisch et al.’02]
11/22/2005 Zheng – Comprehensive 16
Constraint Systems Laboratory
Remodeling 4-queens prob.Original model (search space 416)Variables: 4 queens Q1, Q2, Q3, Q4 on 44 boardDomains: DQ1=DQ2=DQ3=DQ4= {1,1, …, 4,4}Constraints: no two queens in the same row/colu
mn/diagonalNew model (search space 44)Variables: 4 queens Q1, Q2, Q3, Q4 in 4 rowsDomains: DQ1=DQ2=DQ3=DQ4= {1,2,3,4}Constraints: no two queens in the same column/di
agonal
11/22/2005 Zheng – Comprehensive 17
Constraint Systems Laboratory
Constraint propagation • Constraint propagation is to remove values f
rom 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 (inconsis
tent), its symmetrical values of the variable is also consistent (inconsistent).
11/22/2005 Zheng – Comprehensive 18
Constraint Systems Laboratory
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
11/22/2005 Zheng – Comprehensive 19
Constraint Systems Laboratory
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]
11/22/2005 Zheng – Comprehensive 20
Constraint Systems Laboratory
Dynamic symmetry breaking• Symmetry excluding search (SES)
[Backofen and Will’99,’02]
• Symmetry-breaking during search (SBDS) [G
ent and Smith’00] • Symmetry-breaking via dominance detectio
n (SBDD) [Fahle et al.’01]
• CGT+SBDS [Gent et al.’02]
• CGT+SBDD [Gent et al.’03]
11/22/2005 Zheng – Comprehensive 21
Constraint Systems Laboratory
SES, SBDS, short SBDSQ1 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.
11/22/2005 Zheng – Comprehensive 22
Constraint Systems Laboratory
SBDD
• Good for solving CSPs with millions of symmetries
• For every CSP, SBDD needs a special dominance checker
1 2
1
1
1 2 3 4
Q1
Q2
Q3
Q4
……
Is current state dominated by previously visited states?
11/22/2005 Zheng – Comprehensive 23
Constraint Systems Laboratory
CGT+SBDS/SBDD• CGT: Computational Group Theory• By CGT, a small set of symmetries can g
enerate 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 domi
nance checker any more (GAP-ECLiPSe
SBDD)
11/22/2005 Zheng – Comprehensive 24
Constraint Systems Laboratory
Symmetry-breaking heuristic
• dddd
11/22/2005 Zheng – Comprehensive 25
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• Techniques of symmetry detection
– Discrimination tree (neighborhood interchangeability)
– CGRASS– Graph automorphism
• Summary & future research directions
11/22/2005 Zheng – Comprehensive 26
Constraint Systems Laboratory
Symmetry detection1. 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]
11/22/2005 Zheng – Comprehensive 27
Constraint Systems Laboratory
Symmetry detection3. First construct a graph
– SAT problem [Crawford’96]– 0-1 ILP problem [Aloul’04]– Problem whose constraints declared in C-like specificati
on language [Ramani and Markov’04]– CSP [Puget’05]
Then use automorphism algorithms: – NAUTY [McKay’81] – SAUCY [Darga et al.’04]– AUTOM [Puget’05]
11/22/2005 Zheng – Comprehensive 28
Constraint Systems Laboratory
Outline• Definition of a CSP• Motivation of the study of symmetry in C
SP• Definitions of symmetry in a CSP• Techniques of symmetry exploitation• Techniques of symmetry detection• Summary & future research directions
11/22/2005 Zheng – Comprehensive 29
Constraint Systems Laboratory
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
11/22/2005 Zheng – Comprehensive 30
Constraint Systems Laboratory
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 (beside
s neighborhood interchangeability) during search
11/22/2005 Zheng – Comprehensive 31
Constraint Systems Laboratory
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)
11/22/2005 Zheng – Comprehensive 32
Constraint Systems Laboratory
Thank you • Thank you for your time and patience to
– read my paper and – attend my presentation
• Questions?
11/22/2005 Zheng – Comprehensive 34
Constraint Systems Laboratory
Computation Group Theory (CGT)Geometric symmetry of 2 2 square• Two symmetries p1= [3, 1, 4, 2] (denote a rotat
ion 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) ……
11/22/2005 Zheng – Comprehensive 35
Constraint Systems Laboratory
Bundling Techniques• Use discrimination tree to find neighborhood i
nterchangeable values [Freuder’91]bluered
white
bluegreenyellow
bluegreenyellow
blue
W Y
ZX
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]
11/22/2005 Zheng – Comprehensive 36
Constraint Systems Laboratory
Detecting symmetries • Example of graph construction for a SAT
problem [Crawford’96]
C1
x1 x2 x3
I1 I2
C2 C3
x1’ x3’
(x1, x2, x3)= (x1 x2 x3) (x1 x4) (x3 x4)Implied clauses: x1 x1 x3 x3
x4
11/22/2005 Zheng – Comprehensive 37
Constraint Systems Laboratory
Detecting symmetries• Example of graph construction for a 0-1 I
LP problem [Aloul et al.’04]
x1 x2 x3 (x1, x2, x3)= P1: 2 x1 + x2 + x3 2 P2: x1 + 2 x2 + x3 2
Y2 Y1
X2,1 X1,1
X1,2 X2,2
11/22/2005 Zheng – Comprehensive 38
Constraint Systems Laboratory
Detecting symmetries• Example of graph construction for a C-like spec
ification language [Ramani and Markov’04]
int3 x1, x2;x1*x1 + x2*x2 == 25;x1 >= 1;x2 >= 1;
25
==
+
*
x1
>=
1
*
x2
>=
1
11/22/2005 Zheng – Comprehensive 39
Constraint Systems Laboratory
Detecting symmetries• Example of graph construction for an extensiona
l constraint Cxy = {(1, 2), (1, 3), (2, 3)} [Puget’05]
2
1
A3
A2
Cxy
3
x
A1
2
1
3
y