Handbook of Constraint Programming 10.7 – 10.10

22
Handbook of Constraint Programming 10.7 – 10.10 Presented by: Shant Karakashian Symmetries in CP, Sprint 2010 1

description

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 - PowerPoint PPT Presentation

Transcript of Handbook of Constraint Programming 10.7 – 10.10

Page 1: 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

Page 2: Handbook of Constraint Programming  10.7 – 10.10

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

Page 3: Handbook of Constraint Programming  10.7 – 10.10

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

Page 4: Handbook of Constraint Programming  10.7 – 10.10

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

Page 5: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 6: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 7: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 8: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 9: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 10: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 11: Handbook of Constraint Programming  10.7 – 10.10

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

Page 12: Handbook of Constraint Programming  10.7 – 10.10

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

Page 13: Handbook of Constraint Programming  10.7 – 10.10

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

Page 14: Handbook of Constraint Programming  10.7 – 10.10

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

Page 15: Handbook of Constraint Programming  10.7 – 10.10

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

Page 16: Handbook of Constraint Programming  10.7 – 10.10

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

Page 17: Handbook of Constraint Programming  10.7 – 10.10

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

Page 18: Handbook of Constraint Programming  10.7 – 10.10

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]

Page 19: Handbook of Constraint Programming  10.7 – 10.10

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

Page 20: Handbook of Constraint Programming  10.7 – 10.10

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

Page 21: Handbook of Constraint Programming  10.7 – 10.10

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

Page 22: Handbook of Constraint Programming  10.7 – 10.10

22

Conclusion

• The study of symmetry is group theory• Considered in this chapter:– Reformulation– Adding symmetry breaking constraints before

search– Dynamic symmetry breaking