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

Post on 11-Jun-2020

2 views 0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Observation: Splitting in half is easy

1

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

Observation: Splitting in half is easy

12

12

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

Observation: Splitting in half is easy

12

14

14

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

Observation: Splitting in half is easy

12

14

18

18

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

Observation: Splitting in half is easy

12

14

18

116

116

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

Observation: Splitting in half is easy

12

14

116

116

?

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

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

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

Greedy splitting

A

B

Split property:

All elements of larger group ≥ groups’ difference.

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

An (a, b)-hat

bb

b

a

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

Packing hats in a hat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Circles in a square: Examples

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

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

Splitting for asymmetric triangles

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

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

Circles in a right/obtuse triangle: Examples

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

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

Circles in a thick isosceles triangle: Examples

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

The problem with acute triangles

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

The problem with acute triangles

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

The problem with acute triangles

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

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

Circles in a long rectangle: Examples

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

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

Other shapes in a square?

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

Other shapes in a square?

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

Other shapes in a square?

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

Rubies!

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

Rubies!

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

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

Rubies in a square: Examples

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

Squares in a square

Critical density: 50%

Approximation factor: 2

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

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

Other shapes in an isosceles right triangle?

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

Other shapes in an isosceles right triangle?

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

Other shapes in an isosceles right triangle?

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

Other shapes in an isosceles right triangle?

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

“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

“Sharp rubies” in an isosceles right triangle: Examples

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

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

Future work: More container types

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

Future work: Acute triangles

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

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

Future work: Maximum object size

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

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

Future work: Circle/river packing

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

Future work: 3D

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

Future work: Covering

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

Future work: Covering

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

Future work: Covering

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

Future work: Covering

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

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

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

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

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

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

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

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

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

Bonus slide: Applications

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