Handbook of Constraint Programming 10.7 – 10.10
description
Transcript of Handbook of Constraint Programming 10.7 – 10.10
1
Handbook of Constraint Programming 10.7 – 10.10
Presented by: Shant KarakashianSymmetries in CP, Sprint 2010
2
Outline• Successful Applications• Need for Symmetry Expressions
– Manually Providing Symmetries– Easier Symmetry Presentation– Automatic Identification of Symmetry Group
• Success in Automatic Symmetry Identification
• Symmetry and Inference• Symmetry and Implied Constraints• Symmetry and Local Search• Dominance• Almost Symmetries• Symmetry in Other Problems• Conclusion
3
Successful Applications
• Many of symmetry breaking methods have been successfully applied to a variety of problems:– Balanced Incomplete Block Design– Steel Mill Slab Design– Maximum Density Still Life– Social Golfers Problem – Peaceable Coexisting Armies of Queens– Fixed Length Error Correcting Codes– Peg Solitare– Alien Tiles
4
Balanced Incomplete Block Design
• Design theory problem• Uses: Statistical experiment design &
Cryptography• Special case of Block Design (e.g. Latin Square)• Easily modeled using matrices • Used as a test bed for STAB & GAP-SBDD
5
Steel Mill Slab Design
• Simplification of a real industry problem• Schedule the production of steel in a factory• Conditional symmetry breaking [Gent e. al ‘05]
6
Maximum Density Still Life
• Problem arises from John H. Conway’s Game of Life
• Find the densest possible still-life pattern• Still-life: stable pattern that is not changed by the
rules that iterate the game• Densest: pattern with the largest number of live
cells that fit in an n x n section of the board• Modeling and symmetry breaking [Smith ‘02] [Bosch & Trick ‘02]
• Dynamic symmetry breaking [Petrie et al. ‘04]
7
Social Golfers Problem
• 32 golfers once a week play golf in groups of 4• Find a schedule for as many weeks as possible• Such that any two golfers play in the same
group at most once• Most efficient algorithm includes symmetry
breaking [Harvey & Winterer ‘05]
8
Peaceable Coexisting Armies of Queens
• Introduced by Robert Bosch in 1999• Find the maximum number of black and white
queens on 8x8 chessboard • Such that the queens do not attach each other• Various models with dynamic symmetry
breaking considered [Smith et al. ‘04]
9
Fixed Length Error Correcting Codes
• C: Set of strings of length n on alphabet F• Minimum distance of C is the minimum of the
distances between distinct pairs of strings from C
• Studied in conjunction with symmetry breaking constraints [Frisch et al. ‘03]
10
Peg Solitare• A board with a number of holes• Pegs arranged on the board with at least one
hole• Goal state: no more moves possible for
checkers-like moves• Study on solving with various AI paradigms
including symmetry breaking given in [Jefferson et al. ‘03]
11
Need for Symmetry Expressions
• Most research on symmetry constraints assumes that the symmetries are provided by the programmer:– SBDS: list of functions of symmetries– SBDD: a dominance checker function– lex-leader & GAP-SBDS: symmetry groups
12
Manually Providing Symmetries
• Two ways to overcome the requirement to provide the symmetries manually: – Make the writing of the symmetries easier for the
programmers – Detect the symmetries automatically
13
Easier Symmetry Presentation
• Create a system which produces the required group for the methods
• System achieved by using computational group theory• The user does not need to understand how the group is
generated• Provide a set of functions to map expressions of the
symmetry to group generators• Is limited to the most commonly occurring kinds of
symmetry• Does not allow users to express arbitrary groups
14
Automatic Identification of Symmetry Group
• Possible through determining the automorphism group of the graph associated with the constraint problem
• Can be done in connection with the microstructure graph
• This method may not scale• Even small problems may have big graphs due to non-
binary constraints• Automorphism could not be calculated in reasonable
time
15
Success in Automatic Symmetry Identification
• Puget introduced a method that considers a graph related to intensional representation of each constraint
• Found that symmetry can be detected efficiently on a variety of problems
• Similarly an incomplete method had some successful results in practice [Ramani & Markov ‘04]
• Outstanding results reported in SAT community even on large problems
16
Symmetry and Inference• Symmetry can be used to:
– Reduce the size of the problem– Change inference & propagation algorithms
• If can deduce that a value can be removed, no need to do additional work to remove all symmetric equivalents of it
• If can deduce that a value can not be removed, no need to try to propagate the symmetric equivalents
• AC-6 makes use of this idea• Gent et al. introduced symmetric variants of (i,j)-consistency
and singleton consistency with algorithms for their enforcement
17
Symmetry and Implied Constraints
• Constraints added before search can be used to derive ‘implied’ constraints
• May greatly reduce search in ways not possible only with the original problem constraints
• In general dynamic symmetry breaking does not allow implied constraint to be added
• No automatic technique for adding effective implied constraints
18
Symmetry and Local Search
• Prestwich pointed out that it is dissadvantageous to add symmetry breaking constraints when local search is used
• Local search suffers when solutions are removed• It is hard to guide the stochastic search away from
parts of the search space where solutions have been excluded
• Excluded solutions become local optimum• Prestwich proposed an idea to use symmetry with local
search with some success [Prestwich ‘92, 93]
19
Dominance
• `Dominances` in constraint problems studied in [Beck & Prestwich ‘04]
• A dominance is a transition between assignments which is guaranteed to improve some notion of a cost function
• Symmetries are special cases of dominances where the cost is kept the same
20
Almost Symmetries
• Constraints can be removed or added to create certain symmetries
• Case of relaxing constraints on a problem to get new symmetries: – If relaxed problem is highly symmetric, reduced search
space helps search– If no solution, then the original problem has no
solution– If has solution, need to check if applies to the original
problem
21
Symmetry in Other Problems
• Symmetry is also used in other areas such as:– Integer Programming– Planning– Automated Theorem Proving– Model Checking– Graph Isomorphism– Group Theory
22
Conclusion
• The study of symmetry is group theory• Considered in this chapter:– Reformulation– Adding symmetry breaking constraints before
search– Dynamic symmetry breaking