Solving the Kirkmans Schoolgirl Problem in a Few Seconds Nicolas - - PowerPoint PPT Presentation

solving the kirkman s schoolgirl problem in a few seconds
SMART_READER_LITE
LIVE PREVIEW

Solving the Kirkmans Schoolgirl Problem in a Few Seconds Nicolas - - PowerPoint PPT Presentation

Solving the Kirkmans Schoolgirl Problem in a Few Seconds Nicolas Barnier & Pascal Brisset CENA/ENAC, Toulouse, France September 9th, 2002 Solving the Kirkmans Schoolgirl Problem in a Few Seconds Nicolas Barnier & Pascal Brisset


slide-1
SLIDE 1

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds

Nicolas Barnier & Pascal Brisset CENA/ENAC, Toulouse, France September 9th, 2002

slide-2
SLIDE 2

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds

Nicolas Barnier & Pascal Brisset CENA/ENAC, Toulouse, France September 9th, 2002

CP’2002

slide-3
SLIDE 3

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 1

The Kirkman’s Schoolgirl Problem (1850)

A school mistress has fifteen girl pupils and she wishes to take them on a daily walk. The girls are to walk in five rows of three girls each. It is required that no two girls should walk in the same row more than once per week. Can this be done? Monday 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-4
SLIDE 4

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 1

The Kirkman’s Schoolgirl Problem (1850)

A school mistress has fifteen girl pupils and she wishes to take them on a daily walk. The girls are to walk in five rows of three girls each. It is required that no two girls should walk in the same row more than once per week. Can this be done? Monday 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tuesday 0 3 6 1 4 9 2 5 12 7 10 13 8 11 14

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-5
SLIDE 5

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 1

The Kirkman’s Schoolgirl Problem (1850)

A school mistress has fifteen girl pupils and she wishes to take them on a daily walk. The girls are to walk in five rows of three girls each. It is required that no two girls should walk in the same row more than once per week. Can this be done? Monday 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tuesday 0 3 6 1 4 9 2 5 12 7 10 13 8 11 14 Wednesday 0 4 13 1 3 14 2 7 11 5 8 10 6 9 12 ...

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-6
SLIDE 6

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 1

The Kirkman’s Schoolgirl Problem (1850)

A school mistress has fifteen girl pupils and she wishes to take them on a daily walk. The girls are to walk in five rows of three girls each. It is required that no two girls should walk in the same row more than once per week. Can this be done? Monday 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tuesday 0 3 6 1 4 9 2 5 12 7 10 13 8 11 14 Wednesday 0 4 13 1 3 14 2 7 11 5 8 10 6 9 12 ... Constraint community reformulation (10 in CSPLib): the Social Golfer Problem 32 golfers want to play in 8 groups of 4 each week, in such way that any two golfers play in the same group at most once. How many weeks can they do this for? Generalization to w weeks of g groups, each one containing s golfers : g-s-w

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-7
SLIDE 7

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 2

Symmetries

  • Players can be exchanged inside groups: φP ∈ P3 for 35 groups;
  • Groups can be exchanged inside weeks: φG ∈ P5 for 7 weeks
  • Weeks can be ordered arbitrarily: φW ∈ P7;
  • Players can be renamed among 15! permutations: φX ∈ P15;
  • ... and combinations of previous ones.

Problem: finding all non-isomorphic solutions Kirkman found the 7 unique solutions for 5-3-7 instance in 1850!

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-8
SLIDE 8

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 3

Outline

  • Related Work
  • Model
  • Isomorphism Checking
  • Deep Pruning
  • SBDD+
  • Results

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-9
SLIDE 9

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 4

Related Work

  • [Gervet, Constraints 97]: Modelisation with set variables for Steiner Systems,
  • [Smith, CPAIOR’01]: Modelisation, symmetry breaking (SBDS)
  • [Fahle, Schamberger, Sellmann, CP’01]: symmetry breaking (SBDD); 2 hours for 5-3-7
  • [Preswitch, CPAIOR’02]: Randomised Backtracking; new results
  • [Harvey, Sellmann, CPAIOR’02]: Heuristic Propagation; 6 minutes for 5-3-7
  • [Puget, CP’02]: Symmetry Breaking; 8 seconds for 5-3-7
  • Combinatorics community:

– Social Golfer Problem ≡ Resolvable Steiner System – Solutions found for 7-3-10, 7-4-9 ... – 8-4-10 is not pure enough (one player cannot meet all others)

  • Solutions found with constraints: Warwick Harvey’s page (www.icparc.ac.ac.uk)

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-10
SLIDE 10

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 5

Model

Using “set” variables [Gervet, 97] automatically removes symmetries inside groups: Gi,j with i indexing weeks and j indexing groups. Constraints: cardinal, partition inside weeks, no common couples Redundant constraints: specialized “atmost1” for sets of cardinal s [Gervet, 01] Ordering groups inside weeks: min Gi,j < min Gi,j+1 Ordering weeks: min(Gi,1 \ {0}) < min(Gi+1,1 \ {0}) Symmetry among players cannot be removed by constraints. However

  • First week is fixed
  • First group of second week is fixed (with smallest players)
  • "First" players are put in "First" groups: j ∈ Gi,j′ for j′ ≤ j ≤ g
  • Players together in the first week are in ordered groups in second week
  • Order of groups in first week is kept in second week.

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-11
SLIDE 11

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 6

Efficient Isomorphism Checking

  • Looking for pairs
  • Discovering the non-isomorphism as soon as possible

1 2 3 4 5 6 1 2 3 4 5 6 1 4 7 2 5 8 P P’ 1 4 7 2 6 7 5 2 8 6 1 10

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-12
SLIDE 12

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 6

Efficient Isomorphism Checking

  • Looking for pairs
  • Discovering the non-isomorphism as soon as possible

1 2 3 4 5 6 1 2 3 4 5 6 1 4 7 2 5 8 P P’ 1 4 7 2 6 7 5 2 8 6 1 10 Partial φ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-13
SLIDE 13

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 6

Efficient Isomorphism Checking

  • Looking for pairs
  • Discovering the non-isomorphism as soon as possible

1 2 3 4 5 6 1 2 3 4 5 6 1 4 7 2 5 8 P P’ 1 4 7 2 6 7 5 2 8 6 1 10 Partial φ

Week 2 is mapped to week 2

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-14
SLIDE 14

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 6

Efficient Isomorphism Checking

  • Looking for pairs
  • Discovering the non-isomorphism as soon as possible

1 2 3 4 5 6 1 2 3 4 5 6 1 4 7 2 5 8 P P’ 1 4 7 2 6 7 5 2 8 6 1 10 Partial φ

Week 2 is mapped to week 2 Week 2 is mapped to week 3: Failure

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-15
SLIDE 15

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 7

First results to find the 7 non-isomorphic solutions of 5-3-7

Choice points Fails Solutions CPU(s) 20062206 19491448 20640 5925 (using FaCiLe on a PIII 700MhZ) Comparable with CPU-time announced in [Sellmann, CP’01] using symmetry breaking.

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-16
SLIDE 16

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 8

MC KAY Pruning

Suggested in [Mc Kay, 81] for search for graph isomorphism

s n

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-17
SLIDE 17

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 8

MC KAY Pruning

Suggested in [Mc Kay, 81] for search for graph isomorphism

s n P

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-18
SLIDE 18

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 8

MC KAY Pruning

Suggested in [Mc Kay, 81] for search for graph isomorphism

s n P γ (P) If P’=

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-19
SLIDE 19

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 8

MC KAY Pruning

Suggested in [Mc Kay, 81] for search for graph isomorphism

s n P γ (P) If P’= Then s’= (s) γ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-20
SLIDE 20

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 8

MC KAY Pruning

Suggested in [Mc Kay, 81] for search for graph isomorphism

s n P γ (P) If P’= Then s’= (s) γ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-21
SLIDE 21

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 9

MC KAY Pruning for Golfer Problem

“Mc Kay property” requires a “compatibility” between

  • Symmetry structure
  • Search tree structure

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-22
SLIDE 22

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 9

MC KAY Pruning for Golfer Problem

“Mc Kay property” requires a “compatibility” between

  • Symmetry structure
  • Search tree structure

For the Golfer Problem:

  • Symmetry among golfer’s “name”
  • Labeling per golfers

Necessary but not enough: set of golfers above the choice point must be stable through the symmetry γ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-23
SLIDE 23

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 10

MC KAY Pruning Revisited

P s

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-24
SLIDE 24

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 10

MC KAY Pruning Revisited

P s P’= (P) γ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-25
SLIDE 25

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 10

MC KAY Pruning Revisited

P s P’= (P) γ 6 5 4 3 2 1

1,2,...,6 is the smallest set which is stable for

6 5 4 γ

=1 <−> 4, 2 <−> 5, 3 <−> 6, ...

γ

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-26
SLIDE 26

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 10

MC KAY Pruning Revisited

P s P’= (P) γ 6 5 4 3 2 1

1,2,...,6 is the smallest set which is stable for

6 5 4 γ

=1 <−> 4, 2 <−> 5, 3 <−> 6, ...

γ s’=γ (s)

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-27
SLIDE 27

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 11

Results

Strong reduction of the search tree and the CPU-time. Leaves McKay Choice points 20 062 206 1 845 543 Fails 19 491 448 1 803 492 Solutions 20 640 934 CPU(s) 5 925 484

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-28
SLIDE 28

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function.

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-29
SLIDE 29

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function. → A state which is dominated by an already explored one can be discarded.

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-30
SLIDE 30

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function. → A state which is dominated by an already explored one can be discarded. → Explored nodes must be stored

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-31
SLIDE 31

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function. → A state which is dominated by an already explored one can be discarded. → Explored nodes must be stored If P dominates P ′ then father of P dominates P ′

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-32
SLIDE 32

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function. → A state which is dominated by an already explored one can be discarded. → Explored nodes must be stored If P dominates P ′ then father of P dominates P ′ → If all sons of P have been explored (and stored), they can be removed from the store and replaced by P

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-33
SLIDE 33

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 12

SBDD [Sellmann, CP’01]

Symmetry Breaking via Dominance Detection: A (new) state P ′ is dominated by an (old) state P if P ′ is subsumed by φ(P ) where φ is a symmetry mapping function. → A state which is dominated by an already explored one can be discarded. → Explored nodes must be stored If P dominates P ′ then father of P dominates P ′ → If all sons of P have been explored (and stored), they can be removed from the store and replaced by P → “Only” gsgw states to store for the g-s-w instance in our case (12 890 625 for 5-3-7)

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-34
SLIDE 34

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 13

SBDD for Golfer Problem

Dominance checking remains expensive

  • Check only symmetries which map first week on itself
  • Check frequency must be related to the structure of the problem

– Store nodes only after all choices for one golfer are made; – Check dominance for nodes only against stored nodes of smaller depth; – Check dominance only for nodes at depth multiple of s (size of groups) → Never more than 15 nodes in the store.

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-35
SLIDE 35

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 14

SBDD+: SBDD + McKay

2 5 4 3 1 4 6 5

n

P is stored, P ′ is compared with P {1, 2, 3, 4} is the smallest set which is stable for γ

s P γ(P) ⊆ P ′

Dark subtree is pruned

s′ = γ(s)

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-36
SLIDE 36

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 15

Results

Leaves McKay SBDD SBDD+ Choice points 20062206 1845543 107567 29954 Fails 19491448 1803492 104134 28777 Solutions 20640 934 11 11 Dominance checks 5373 456 CPU(s) 5925 484 24 7.8

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-37
SLIDE 37

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 15

Results

Leaves McKay SBDD SBDD+ Choice points 20062206 1845543 107567 29954 Fails 19491448 1803492 104134 28777 Solutions 20640 934 11 11 Dominance checks 5373 456 CPU(s) 5925 484 24 7.8 “New Results”: 6-4-6, 7-3-9, 8-3-7, 7-4-6, 6-5-7

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-38
SLIDE 38

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 16

Less Choice-Points

A player plays only once per week: 1 ≤ i ≤ w, 1 ≤ p ≤ n

  • 1≤j≤g

(p ∈ Gi,j) = 1 (1) Players of a group appear in exactly s groups in other weeks (W. Harvey): 1 ≤ i = i′ ≤ w, 1 ≤ j ≤ g

  • 1≤j′≤g

(Gi,j ∩ Gi′,j′ = ∅) = s (2) SBDD+ +(1) +(2) Choice points 29954 18705 18470 Fails 28777 16370 16169 Solutions 11 11 11 Dominance checks 456 456 443 CPU(s) 7.8 9.4 36

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-39
SLIDE 39

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 17

Conclusion

Improving CPU-time requires:

  • The right model
  • Redundant constraints
  • Breaking statically symmetries with constraints
  • Breaking dynamically symmetries:

– Efficient detection – Dominance detection – Analysis of the search tree for deep pruning

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×

slide-40
SLIDE 40

Solving the Kirkman’s Schoolgirl Problem in a Few Seconds 17

Conclusion

Improving CPU-time requires:

  • The right model
  • Redundant constraints
  • Breaking statically symmetries with constraints
  • Breaking dynamically symmetries:

– Efficient detection – Dominance detection – Analysis of the search tree for deep pruning Future work

  • 8-4-10 instance
  • Application of SBDD+ to “real” problems

CP’2002

◭ ◭ ◭ ⋄ ◮ ◮ ◮ ×