Peter Gibbons - PowerPoint PPT Presentation

About This Presentation
Title:

Peter Gibbons

Description:

Important contributions over past 30 years. Settled many existence and enumeration questions ... By-product - automorphism group of D. Orderly algorithm ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 68
Provided by: peterg69
Category:

less

Transcript and Presenter's Notes

Title: Peter Gibbons


1
Computational ConstructionsofCombinatorial
Structures
  • Peter Gibbons
  • Department of Computer Science
  • University of Auckland
  • New Zealand
  • p.gibbons_at_auckland.ac.nz

2
Introduction
  • Important contributions over past 30 years
  • Settled many existence and enumeration questions
  • Improved understanding of combinatorial
    structures
  • Formed basis for numerous mathematical results
  • More powerful / innovative techniques still being
    developed

3
Introduction
  • Tutorial, not research update
  • Limited set of examples, to illustrate concepts
  • Exhaustive and non-exhaustive techniques
  • Reading material
  • Gibbons Ostergard, Computational methods in
    design theory, VII.5, CRC Handbook of
    Combinatorial Designs (2006).
  • Kaski Ostergard, Classification algorithms
    for codes and designs, Springer (2006)
  • Kreher Stinson, Combinatorial algorithms
    Generation, enumeration, and search, CRC Press
    (1999).
  • Denny, Search and enumeration techniques for
    incidence structures, MSc thesis, U. of
    Auckland, 1998. Available as Research Report 85
    (1998) at http//www.cs.auckland.ac.nz/CDMTCS.
  • Denny Gibbons, Case studies and new results
    in combinatorial enumeration, JCD 8 (2000),
    239-260.
  • Cohen, Designing test suites for software
    interaction testing, PhD thesis, U. of Auckland
    (2004).

4
Topics
  • Backtracking
  • Hill climbing
  • Simulated annealing
  • Ingredients
  • Validity of search results
  • Related techniques

5
Backtracking
  • builds up feasible solutions step-by-step
  • reject unpromising partial feasible
    solutions
  • represent process by search tree

6
Incidence structures
  • TTS(9)
  • 1 2
  • 012345678901234567890123
  • 0 111111110000000000000000
  • 1 110000001111110000000000
  • 2 110000000000001111110000
  • 3 001100001100001100001100
  • 4 001100000011000011000011
  • 5 000011001100000000110011
  • 6 000010100000111010001010
  • 7 000000110011000000111100
  • 8 000001010000110101000101

7
2-level backtrack
TTS(9) 1 2
01 23 4567 89 01 23 45 6789 01 23 0 11 11
1111 00 00 00 00 0000 00 00 1 11 00 0000 11 11
11 00 0000 00 00 2 11 00 0000 00 00 00 11 1111
00 00 3 00 11 0000 11 00 00 11 0000 11 00 4
00 11 0000 00 11 00 00 1100 00 11 5
--------------------------------- 6
--------------------------------- 7
--------------------------------- 8
---------------------------------
8
Results - distinct designs

9
Look ahead
0
b-1
0
r
Packing constraint
v-1
10
Isomorph rejection
b-1
0
b-1
0
0
0
?
Qr
Pr
lt
r
r
v-1
v-1
11
Partial isomorph rejection
?
Gr
0
b-1
0
?
Pr
r
v-1
12
Partial isomorph rejection
0
b-1
0
b-1
0
0
Pr
Pr
??
r
r
lt
?(rowr1)
rowr1
v-1
v-1
13
Partial isomorph rejection
0
b-1
0
b-1
??
Pq
0
0
Pq
lt
q1
rowq1
?(rowr1)
q1
r
r
rowr1
v-1
v-1
14
Optimisation
0
b-1
0
b-1
??
Pq
0
0
Pq
lt
q1
rowq1
?(rowr1)
q1
r
r
r1
v-1
v-1
LEFT
15
Canonicity check
0
b-1
0
??
D
?
v-1
Completed structure
16
Canonicity check
0
b-1
0
b-1
0
?(0)
Qk
Pk
?(1)
?(2)
k
?(k)
v-1
v-1
Completed structure D
By-product - automorphism group of D
17
Orderly algorithm
Only extend canonical partial configurations Princ
iple Extension of non-canonical partial
configuration is non-canonical cf. Principle of
Optimality for dynamic programming
18
Parallelization
Canonical starter configurations
Processor
P1
P2
P3
P1
P2
P3
b-1
b-1
b-1
b-1
b-1
b-1
0
0
0
0
0
0
0
0
0
0
0
0
D4
D3
D6
D1
D5
D2
k
k
k
k
k
k
19
Mendelsohn triple systems
Mendelsohn triple system (MTS)
Twofold triple system (TTS)
x y z
x y z
(x y)
x y
(y x)
w y x
w y x
20
Mendelsohn triple systems
x y z
??
D2
w y x
?
D1
??
y x z
Converse D2
MTS D1 equivalent to MTS D2 iff D1 isomorphic to
D2 or converse (D2)
y w x
21
Mendelsohn triple systems
Step 1 Enumerate underlying orientable TTS
T1
T2
Ti
Tn
22
Mendelsohn triple systems
Step 1 Enumerate underlying orientable TTS
T1
T2
Ti
Tn
O1
O2
Oj
Om
Step 2 Generate all orientations of Ti
? in Aut(Ti) ?
23
Steiner triple systems of order 19
  • 1 2
  • 0 12345678 90123456 78901234
  • 0 1 11111111 00000000 00000000
  • 1 1 00000000 11111111 00000000
  • 2 1 00000000 00000000 11111111
  • 3 0 10000000
  • 4 0 10000000
  • 5 0 01000000
  • 6 0 01000000
  • 7 0 00100000
  • 8 0 00100000
  • 9 0 00010000
  • 10 0 00010000
  • 11 0 00001000
  • 12 0 00001000
  • 13 0 00000100
  • 14 0 00000100

Kaski and Ostergards algorithm
Seeds Sets of 24 blocks that intersect 0 1 2
in 1 point
P A union two 1-factors of K16 7 isomorphism
classes
A
B
P A B cubic graph order 16. 14,648
isomorphism classes
P
24
Steiner triple systems of order 19
Search tree
14,648 seeds
Completion to STS(19) using exact cover algorithm
(Knuth)
B?
A?
Isomorph rejection test on completed STS(19)
25
Steiner triple systems of order 19
Isomorph rejection
Represent STS(19) by block intersection graph
B?
A?
Use nauty to generate graphs canonical labelling
Isomorph rejection test on completed STS(19)
Note partial configurations not isomorph checked
here
Note In orderly algorithm only canonical partial
configurations extended at each level
26
Steiner triple systems of order 19
Canonical augmentation
Insist that designated block 0,1,2 lies in
first orbit in canonical ordering of orbits
Right parent?
27
Steiner triple systems of order 19
Pasch configurations
0 2 3 0 4 5 1 2 4 1 3 5
Right parent?
Provides invariant
Designated block must lie in maximum number of
Pasch configurations
28
Steiner triple systems of order 19
Family isomorphism check
S
For all f in Aut(S) B f(B)
?
B
Seed groups pre-computed and stored if 200 If gt
200, use hash table isomorph rejection strategy
29
Steiner triple systems of order 19
Results
11,084,874,829 pairwise non-isomorphic
STS(19) 1,348,410,350,618,155,344,199,680,000
distinct STS(19) 2 years of CPU
time Distributed on 80 workstations
30
Non-exhaustive search
Local search
T(S)
N(S)
S
Search space ?
31
Hill climbing
Search space ?
t(S)
N(S)
S
Select t(S) such that cost(t(S)) cost(S)
32
Hill climbing
33
Steiner triple systems
y z w
potential conflict
S
x y z
live pairs
cost(S)
live point
34
Other applications
Latin squares (Dinitz, Stinson) Enclosings of
triple systems (Bigelow, Colbourn) Howell designs
(Dinitz, Lamken) Leaves of partial triple systems
(Colbourn, Mathon) GDDs (Gibbons,
Colbourn) 1-factorisations (Seah,
Stinson) Orthogonal STSs (Dinitz, Dukes,
Ling) Room squares, Room frames (Dinitz,
Stinson) Sequencing groups (Anderson) Covering
arrays (Cohen) Quadrilateral-free STSs (Griggs,
Murphy)
35
Restricted STS
Cyclic STS(v)
0 y-x w
Construct (v-1)/6 base blocks containing 0
potential conflict
S
0 x y
Cover differences 1 to v-1
cost(S)
live differences
36
Restricted STS
Other structures
m-cyclic STS k-rotational STS
37
Orthogonal STS
Base
Mate
Orthogonality constraint
r ? t
x y z x u w
r y z t u w
  • Thresholds
  • advance tries
  • (2) conflict tries
  • (3) restart tries

new block
38
Simulated annealing
Search space ?
t(S)
N(S)
S
Select t(S) such that cost(t(S)) cost(S) or
cost(t(S)) gt cost(S) subject to controlled
probability
39
Simulated annealing
40
Simulated annealing
Metropolis condition Accept uphill move with
probability e-?/T
Design decisions (cooling schedule) (1) Value
of T0 (2) Generating Tk from Tk-1 (3) Length
of Markov chain Lk (4) Stopping condition
41
Simulated annealing
0
1
2
3
4
5
6
7
8
9
10
11
12
Queens domination ?(Qn)
0
1
2
3
4
5
?(Q4k1) 2k1
6
7
8
9
10
11
12
42
Simulated annealing
0
1
2
3
4
5
6
7
8
9
10
11
12
0
1
2
3
4
5
6
7
8
9
10
11
12
43
Simulated annealing
0
1
2
3
4
5
6
7
8
9
10
11
12
0
1
2
3
4
5
6
7
8
9
10
11
12
44
Simulated annealing
cost 10
cost 2
45
Simulated annealing
Cooling schedule
Results Solutions for k 7, 10, 11 and
14.
46
Simulated annealing
Diagonal patterns
47
Simulated annealing
More diagonal patterns
48
Simulated annealing
Results Optimal coverings for k 21.
e.g. k 20
49
Covering arrays
Components
CA(52,4,2)
Tests
50
Covering arrays
Components
MCA(122,413221)
Component values 1 0,1,2,3 2 4,5,6 3
7,8,9 4 10,11
Tests
51
Covering arrays
Components
VCA(122,312231,CA(3,3122))
Component values 1 0,1,2 2 3,4 3 5,6 4
7,8,9
Tests
52
Covering arrays
Random component
Cost uncovered t-sets
Change value
Random test
53
Covering arrays
Binary search for best solution
Lower bound L
(LU)/2
Upper bound U
54
Simulated annealing
Other applications Subsquare free Latin squares
(Webb, Gibbons) Antipodal triple systems
(Gibbons, Mendelsohn, Shen) Covering designs
(Numrela, Ostergard) Equitable resolvable
coverings (van Dam, Haemers, Peek) Lotto designs
(Li) Transversal covers (Stevens, Mendelsohn)
55
Hybrid schemes
Augmented annealing, or seeding Use
ingredients to build desired structure.
Ingredients constructed mathematically or by
computer search, and combined mathematically, or
joined or augmented by computer search.
56
Hybrid schemes
E.g. CA(3,6,6)
6 components
Construct OD(3,6,6)
OD(3,q1,q1) exists for q a prime power
Every 3 columns contains all ordered 3-tuples
with distinct entries
120 tests
Missing triples of form (a,a,a), (a,a,b), (a,b,a)
and (a,b,b)
57
Hybrid schemes
6 components
Construct CA(3,6,2) for each of 15 pairs a,b,
a?b to cover triples (a,a,a), (a,a,b), (a,b,a)
and (a,b,b)
120
OD(3,6,6)
CA(3,6,2)
12
CA(3,6,2)
12
1512180
CA(3,6,2)
12
Total 300
58
Hybrid schemes
6 components
Re-label each CA(3,6,2) to create constant row
(a,a,a,a,a,a) such that triples covered
elsewhere. Remove this row from each CA(3,6,2)
120
OD(3,6,6)
CA(3,6,2)
12
CA(3,6,2)
12
1511165
CA(3,6,2)
12
Total 285
59
Hybrid schemes
6 components
Improvement Use CA(3,6,2)s with disjoint
rows. Map to (a,a,a,a,a,a) and (b,b,b,b,b,b) and
remove. Add back 6 rows of form (a,a,a,a,a,a)
120
OD(3,6,6)
CA(3,6,2)
12
CA(3,6,2)
12
1510150
CA(3,6,2)
12
Total 276
Constant rows
6
60
Hybrid schemes
k components
(2,1)-covering array TOCA(N3,k,v?) At least ?
disjoint constant rows (a,a,a),(a,a,b), (a,b,a),
(b,a,a) covered
TOCA(N3,k,v?)
N tests
61
Hybrid schemes
6 components
Back to CA(3,6,6)
120
OD(3,6,6)
TOCA(1403,6,60) Annealing construction
140
Total 260
62
Hybrid schemes
10 components
MCA(3,664222)
Method 1 Straight annealing
MCA(3,664222)
317
63
Hybrid schemes
10 components
MCA(3,664222)
Method 2 Seeded with OD(3,6,6)
OD(3,6,6)
120
283
Complete by annealing
64
Hybrid schemes
10 components
MCA(3,664222)
Method 3 Seeded with CA(3,6,6)
CA(3,6,6)
260
272
Complete by annealing
65
Validity of search results
Path redundancy Internal consistency
checking Independent enumerations Best
practice software engineering techniques Validat
ion of mathematical basis for isomorph
rejection Check on smaller design
families Tailoring vs general
purpose Software reuse
66
Search-related techniques
Isomorphism (nauty) Invariants Group
maintenance, e.g. - compute orbit of point -
update orbit partition - construct group from
generators - check whether permutation belongs
to G Distributed search (autoson) Fine
tuning Efficient data structures Efficient
catalogue storage Software reuse
67
Not covered
Construction of t-designs with specified group
structures (Lauer et al) Other probabilistic
search methods (great deluge, evolutionary
algorithms, tabu search, threshold accepting,
record-to-record travel, reactive local
search) Counting techniques
Write a Comment
User Comments (0)
About PowerShow.com