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

## Presentation on theme: "Klees Measure Problem Made Easy Timothy Chan U of Waterloo & HKUST."— Presentation transcript:

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

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

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

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

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

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

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)

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)

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

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

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

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

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

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

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)

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

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

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

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

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 )

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 )

FINAL REMARKS

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.

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??

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?

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?