220 likes | 339 Views
Handbook of Constraint Programming 10.7 – 10.10. Presented by: Shant Karakashian Symmetries in CP, Sprint 2010. Outline. Successful Applications Need for Symmetry Expressions Manually Providing Symmetries Easier Symmetry Presentation Automatic Identification of Symmetry Group
E N D
Handbook of Constraint Programming 10.7 – 10.10 Presented by: Shant Karakashian Symmetries in CP, Sprint 2010
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
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
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
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]
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]
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]
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]
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]
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]
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
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
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
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
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
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
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
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]
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
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
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
Conclusion • The study of symmetry is group theory • Considered in this chapter: • Reformulation • Adding symmetry breaking constraints before search • Dynamic symmetry breaking