Download presentation
Presentation is loading. Please wait.
Published byScarlett Isaacs Modified over 10 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:284-285, 1977
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 1 2 1/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
© 2025 SlidePlayer.com. Inc.
All rights reserved.