Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The...

131
Split Packing: An Algorithm for Packing Circles with up to Critical Density Sebastian Morr 2016-06-09 Sebastian Morr Split Packing 2016-06-09 1 / 57

Transcript of Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The...

Page 1: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Split Packing:An Algorithm for Packing Circles

with up to Critical Density

Sebastian Morr

2016-06-09

Sebastian Morr Split Packing 2016-06-09 1 / 57

Page 2: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 2 / 57

Page 3: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 3 / 57

Page 4: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 5: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 6: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 7: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 8: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 9: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 10: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 11: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 12: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing squares in a square

The critical density for packing squares is 1/2 [Moon & Moser, 1967]

Sebastian Morr Split Packing 2016-06-09 4 / 57

Page 13: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Outline

1 Packing circles in a square

2 Other container types

3 Other object types

4 Future work

Sebastian Morr Split Packing 2016-06-09 5 / 57

Page 14: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

What about circles?

Critical density for packing circles into a square

What is the largest a so that any set of circles with a combined area of acan be packed into the unit square?

→ Now: Constructive proof!

Sebastian Morr Split Packing 2016-06-09 6 / 57

Page 15: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

What about circles?

Critical density for packing circles into a square

What is the largest a so that any set of circles with a combined area of acan be packed into the unit square?

→ Now: Constructive proof!

Sebastian Morr Split Packing 2016-06-09 6 / 57

Page 16: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 7 / 57

Page 17: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

1

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 18: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

12

12

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 19: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

12

14

14

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 20: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

12

14

18

18

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 21: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

12

14

18

116

116

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 22: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Observation: Splitting in half is easy

12

14

116

116

?

Sebastian Morr Split Packing 2016-06-09 8 / 57

Page 23: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 9 / 57

Page 24: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 10 / 57

Page 25: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 26: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 27: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 28: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 29: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 30: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 31: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 32: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 33: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 34: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 35: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

Sebastian Morr Split Packing 2016-06-09 11 / 57

Page 36: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

An (a, b)-hat

bb

b

a

Sebastian Morr Split Packing 2016-06-09 12 / 57

Page 37: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 13 / 57

Page 38: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 39: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 40: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 41: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 42: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 43: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 44: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 45: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 46: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 47: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 48: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 49: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 14 / 57

Page 50: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 15 / 57

Page 51: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 16 / 57

Page 52: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 17 / 57

Page 53: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 54: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 55: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 56: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 57: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 58: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 59: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 60: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 61: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 62: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 63: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 64: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Packing hats in a hat

Sebastian Morr Split Packing 2016-06-09 18 / 57

Page 65: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 19 / 57

Page 66: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 20 / 57

Page 67: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 68: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 69: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 70: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 71: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 72: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 21 / 57

Page 73: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 22 / 57

Page 74: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 23 / 57

Page 75: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Sebastian Morr Split Packing 2016-06-09 24 / 57

Page 76: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 77: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 78: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 79: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 80: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 81: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

AnalysisTwo perspectives:

Deciding packability

A tight sufficient density condition:Every instance with up to critical density d can be packed!

Minimizing the container’s size

A constant-factor approximation algorithm:The ratio between the approximated and the optimal container area is atmost 1/d.

Runtime:

At most O(n2) numeric operationsI Worst-case greedy split: n + (n − 1) + (n − 2) + · · ·+ 1 operations

Exactly 3n − 2 geometric constructionsI Full binary recursion tree with n leaf nodes

Sebastian Morr Split Packing 2016-06-09 25 / 57

Page 82: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a square

Critical density:π

3 + 2√

2≈ 53.90%

Approximation factor:3 + 2

√2

π≈ 1.8552

Sebastian Morr Split Packing 2016-06-09 26 / 57

Page 83: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a square: Examples

Sebastian Morr Split Packing 2016-06-09 27 / 57

Page 84: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Outline

1 Packing circles in a square

2 Other container types

3 Other object types

4 Future work

Sebastian Morr Split Packing 2016-06-09 28 / 57

Page 85: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Splitting for asymmetric triangles

Sebastian Morr Split Packing 2016-06-09 29 / 57

Page 86: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a right/obtuse triangle

b a

c

Condition: a2 + b2 ≤ c2

Critical density:

√−(a− b − c)(a + b − c)(a− b + c)

(a + b + c)3π < 53.91%

Approximation factor: Larger than 1.8552

Sebastian Morr Split Packing 2016-06-09 30 / 57

Page 87: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a right/obtuse triangle: Examples

Sebastian Morr Split Packing 2016-06-09 31 / 57

Page 88: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a thick isosceles triangle

c

b

Condition:c√2≤ b ≤ c

Critical density: 48.60% <(c − 2b +

√4b2 − c2)2π

2c√

4b2 − c2< 53.91%

Approximation factor: Between 1.8552 and 2.0576Sebastian Morr Split Packing 2016-06-09 32 / 57

Page 89: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a thick isosceles triangle: Examples

Sebastian Morr Split Packing 2016-06-09 33 / 57

Page 90: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

The problem with acute triangles

Sebastian Morr Split Packing 2016-06-09 34 / 57

Page 91: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

The problem with acute triangles

Sebastian Morr Split Packing 2016-06-09 34 / 57

Page 92: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

The problem with acute triangles

Sebastian Morr Split Packing 2016-06-09 34 / 57

Page 93: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a long rectangle

w

h

Condition: w ≥ 2 + 3√

2

4h ≈ 1.5607h

Critical density:πh

4w< 50.33%

Approximation factor:4w

πh> 1.9870

Sebastian Morr Split Packing 2016-06-09 35 / 57

Page 94: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Circles in a long rectangle: Examples

Sebastian Morr Split Packing 2016-06-09 36 / 57

Page 95: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Outline

1 Packing circles in a square

2 Other container types

3 Other object types

4 Future work

Sebastian Morr Split Packing 2016-06-09 37 / 57

Page 96: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in a square?

Sebastian Morr Split Packing 2016-06-09 38 / 57

Page 97: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in a square?

Sebastian Morr Split Packing 2016-06-09 38 / 57

Page 98: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in a square?

Sebastian Morr Split Packing 2016-06-09 38 / 57

Page 99: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Rubies!

Sebastian Morr Split Packing 2016-06-09 39 / 57

Page 100: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Rubies!

Sebastian Morr Split Packing 2016-06-09 39 / 57

Page 101: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Rubies in a square

Critical density: 8√

2(√

2− 1) + 6√

2− 15 ≈ 76.67%

Approximation factor: ≈ 1.3043

Sebastian Morr Split Packing 2016-06-09 40 / 57

Page 102: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Rubies in a square: Examples

Sebastian Morr Split Packing 2016-06-09 41 / 57

Page 103: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Squares in a square

Critical density: 50%

Approximation factor: 2

Sebastian Morr Split Packing 2016-06-09 42 / 57

Page 104: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Octagons in a square

Critical density: 8(5√

2− 7) ≈ 56.85%

Approximation factor: ≈ 1.7589

Sebastian Morr Split Packing 2016-06-09 43 / 57

Page 105: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in an isosceles right triangle?

Sebastian Morr Split Packing 2016-06-09 44 / 57

Page 106: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in an isosceles right triangle?

Sebastian Morr Split Packing 2016-06-09 44 / 57

Page 107: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in an isosceles right triangle?

Sebastian Morr Split Packing 2016-06-09 44 / 57

Page 108: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Other shapes in an isosceles right triangle?

Sebastian Morr Split Packing 2016-06-09 44 / 57

Page 109: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

“Sharp rubies” in an isosceles right triangle

Critical density: 4√

2(√

2− 1) + 3√

2− 7 ≈ 88.34%

Approximation factor: ≈ 1.1320

Sebastian Morr Split Packing 2016-06-09 45 / 57

Page 110: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

“Sharp rubies” in an isosceles right triangle: Examples

Sebastian Morr Split Packing 2016-06-09 46 / 57

Page 111: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Outline

1 Packing circles in a square

2 Other container types

3 Other object types

4 Future work

Sebastian Morr Split Packing 2016-06-09 47 / 57

Page 112: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: More container types

Sebastian Morr Split Packing 2016-06-09 48 / 57

Page 113: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Acute triangles

Sebastian Morr Split Packing 2016-06-09 49 / 57

Page 114: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: More object types

Ovals

Rectangles

General convex polygons?

What do the critical instances look like?

Sebastian Morr Split Packing 2016-06-09 50 / 57

Page 115: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Maximum object size

Sebastian Morr Split Packing 2016-06-09 51 / 57

Page 116: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Online

Current best achievable density for packing squares into a square in anonline setting: 2/5

[Brubach 2015]

Sebastian Morr Split Packing 2016-06-09 52 / 57

Page 117: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Circle/river packing

Sebastian Morr Split Packing 2016-06-09 53 / 57

Page 118: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: 3D

Sebastian Morr Split Packing 2016-06-09 54 / 57

Page 119: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Covering

Sebastian Morr Split Packing 2016-06-09 55 / 57

Page 120: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Covering

Sebastian Morr Split Packing 2016-06-09 55 / 57

Page 121: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Covering

Sebastian Morr Split Packing 2016-06-09 55 / 57

Page 122: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Future work: Covering

Sebastian Morr Split Packing 2016-06-09 55 / 57

Page 123: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 124: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squares

I circles into non-acute triangles, thick isosceles triangles, and longrectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 125: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 126: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 127: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 128: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 129: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 130: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Contributions1 Algorithms for packing. . .

I circles, squares, and octagons into squaresI circles into non-acute triangles, thick isosceles triangles, and long

rectangles

. . . with critical density!

2 Constant-factor approximation algorithms for these problems

3 Interactive visualization, at https://morr.cc/split-packing/

4 Promising future work

Thanks!

Sebastian Morr Split Packing 2016-06-09 56 / 57

Page 131: Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The critical density for packing squares is 1=2 [Moon & Moser, 1967] Sebastian Morr Split

Bonus slide: Applications

Sebastian Morr Split Packing 2016-06-09 57 / 57