Split Packing: An Algorithm for Packing Circles with up to ... · Packing squares in a square The...
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