1 / 22

Handbook of Constraint Programming 10.7 – 10.10

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

nessa
Download Presentation

Handbook of Constraint Programming 10.7 – 10.10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Handbook of Constraint Programming 10.7 – 10.10 Presented by: Shant Karakashian Symmetries 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

More Related