Download presentation

Presentation is loading. Please wait.

Published byScarlett Isaacs Modified over 2 years ago

1
Klees Measure Problem Made Easy Timothy Chan U of Waterloo & HKUST

2
Beginning of Story… Victor Klee, Can the measure of U 1 n [a i,b i ] be computed in less than O(n log n) steps?, Amer. Math. Monthly, 84: , 1977

3

4
The Problem Given n rectangular boxes in d dimensions, compute the measure of the union

5
Known Result in 2D Union may have (n 2 ) boundary edges Bentley'77: O(n log n) time

6
Bentleys Algorithm in 2D Idea: sweep! dynamic data structure problem in 1D

7
Known Results in d 3 Dimensions Union may have (n d ) boundary faces Bentley'77: O(n d-1 log n) time Van Leeuwen,Wood'81: O(n d-1 ) time Overmars,Yap [FOCS'88] : O(n d/2 log n) time C.'08: O(n d/2 loglog n) time

8
Known Results in d 3 Dimensions Union may have (n d ) boundary faces Bentley'77: O(n d-1 log n) time Van Leeuwen,Wood'81: O(n d-1 ) time Overmars,Yap [FOCS'88] : O(n d/2 log n) time C.'08: O(n d/2 logloglog n)

9
Known Results in d 3 Dimensions Union may have (n d ) boundary faces Bentley'77: O(n d-1 log n) time Van Leeuwen,Wood'81: O(n d-1 ) time Overmars,Yap [FOCS'88] : O(n d/2 log n) time C.'08: O(n d/2 loglogloglog n)

10
Known Results in d 3 Dimensions Union may have (n d ) boundary faces Bentley'77: O(n d-1 log n) time Van Leeuwen,Wood'81: O(n d-1 ) time Overmars,Yap [FOCS'88] : O(n d/2 log n) time C.'08: O(n d/2 2 O(log * n) ) time Today: O(n d/2 ) time

11
New Algorithm: Warm-Up in 2D Idea: good old divide&conquer!

12
New Algorithm in 2D: First Attempt Given set B of n rectangles inside cell C: 1. divide C into C left & C right 2. recurse inside C left & inside C right

13
New Algorithm in 2D: How to Divide? … by median-x Problem: bad rectangles! C C left C right

14
New Algorithm in 2D Given set B of n rectangles inside cell C: 0. simplify B new twist! 1. divide C into C left & C right 2. recurse inside C left & inside C right

15
New Algorithm in 2D: How to Simplify? … by removing all bad rectangles that don't have vertices inside C

16
New Algorithm in 2D: Summary & Analysis Given set B of n rectangles inside cell C: 0. simplify B … by removing all bad rectangles that don't have vertices inside C 1. divide C into C left & C right … by median-x 2. recurse inside C left & inside C right Let N = # vertices inside C T(N) = 2 T(N/2) + O(N) O(N log N)

17
Extending New Algorithm to 3D Given set B of n boxes inside cell C: 0. simplify B … by removing all bad boxes that don't have edges intersecting C 1. divide C into C left & C right … by weighted median-x 2. recurse inside C left & inside C right

18
New Algorithm in 3D: How to Simplify? … by removing all bad boxes that don't have edges intersecting C

19
New Algorithm in 3D: How to Divide? … by weighted median-x x y z

20
New Algorithm in 3D: How to Divide? … by weighted median-x Define weight of an edge: Total weight of edges intersecting C left (or C right ) = … after factoring out 2 -2/3 x y z 1 2 1/3 2 2/ /3 /2 2 2/3 /2 2 -2/3 2 -1/3 2 2/3 2 1/3 1

21
New Algorithm in 3D: Analysis Let N = total weight of edges intersecting C N left, N right 2 -2/3 N after renaming axes T(N) = 2 T(N / 2 2/3 ) + O(N) O(N 3/2 )

22
Extending New Algorithm to d Dimensions Define weight of a (d-2)-dimensional face f = 2 (i+j)/d if f is orthogonal to axis i & j T(N) = 2 T(N / 2 2/d ) + O(N) O(N d/2 )

23
FINAL REMARKS

24
Other Applications Cover problem: given n boxes in d dimensions, does their union completely cover C? Depth problem: given n boxes in d dimensions, find a point q minimizing # of boxes containing q Weighted depth problem: given n weighted boxes in d dimensions, find a point q minimizing total weight of boxes containing q Etc.

25
Lower Bounds? C'08: Finding cliques of size d in a graph with V=n 1/2 vertices reduces to the cover/depth/ measure problem hard to beat O(V d ) = O(n d/2 ) time (ignoring log factors) by purely combinatorial algorithms Open question: can matrix multiplication help??

26
Log Factor Speedups Cover/depth problem: O**(n d/2 / log d/2 n) by table lookup Weighted depth problem: O**(n d/2 / log d/2 - 5 n) by linear decision trees [Meyer auf der Heide84,Meiser93] Measure problem: O**(n d/2 / log d/2 - 2 n) by Chinese remainder theorem for integer input Open question: speedup for measure problem for real input?

27
Special Case: Hypercubes (or Fat Boxes) Union may have (n d/2 ) boundary faces Agarwal,Kaplan,Sharir'07: O(n 4/3 log 2 n) time (d=3) Agarwal'10: O(n log 4 n) time (d=3) Bringman'10: O(n (d+2)/3 ) New: O(n (d+1)/3 polylog n) by more complicated additional ideas… Open question: faster algorithms for hypercubes?

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google