1 / 27

Klee’s Measure Problem Made Easy

Klee’s 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.

keahi
Download Presentation

Klee’s Measure Problem Made Easy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Klee’s Measure Problem Made Easy Timothy Chan U of Waterloo & HKUST

  2. Beginning of Story… • Victor Klee, “Can the measure of U1n [ai,bi] be computed in less than O(n log n) steps?”, Amer. Math. Monthly, 84:284-285, 1977

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

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

  5. Bentley’s Algorithm in 2D • Idea: sweep!  dynamicdata structure problem in 1D

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

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

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

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

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

  11. New Algorithm in 2D: First Attempt • Given set B of n rectangles inside cell C: 1. divide C into Cleft & Cright 2. recurseinside Cleft & inside Cright

  12. New Algorithm in 2D: How to Divide? • … by median-x • Problem: “bad”rectangles! C Cright Cleft

  13. New Algorithm in 2D • Given set B of n rectangles inside cell C: 0. simplify B new twist! 1. divide C into Cleft & Cright 2. recurseinside Cleft & inside Cright

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

  15. 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 Cleft & Cright … by median-x 2. recurse inside Cleft & inside Cright • Let N = # vertices inside C T(N) = 2 T(N/2) + O(N)  O(N log N)

  16. 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 Cleft & Cright …by weighted median-x 2. recurseinside Cleft & inside Cright

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

  18. New Algorithm in 3D:How to Divide? y • … by weightedmedian-x x z

  19. New Algorithm in 3D:How to Divide? y • … by weightedmedian-x • Define weight of an edge: • Total weight of edges intersecting Cleft(or Cright) = … after factoring out 2-2/3 x z 21/3 1 22/3 21/3 /2 1 22/3 /2 2-2/3 22/3 2-1/3 1 21/3

  20. New Algorithm in 3D: Analysis • Let N = total weight of edges intersecting C  Nleft, Nright≤2-2/3 N after renaming axes T(N) = 2 T(N / 22/3) + O(N)  O(N3/2)

  21. 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 / 22/d) + O(N)  O(Nd/2)

  22. FINAL REMARKS

  23. 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.

  24. Lower Bounds? • C'08: Finding cliques of size d in a graph with V=n1/2 vertices reduces to the cover/depth/ measure problem  hard to beat O(Vd) = O(nd/2) time (ignoring log factors) by “purely combinatorial” algorithms • Open question: can matrix multiplication help??

  25. Log Factor Speedups • Cover/depth problem: O**(nd/2/ logd/2 n) by table lookup • Weighted depth problem: O**(nd/2/ logd/2 - 5n) by linear decision trees [Meyer auf der Heide’84,Meiser’93] • Measure problem: O**(nd/2 / logd/2 - 2n) by Chinese remainder theorem for integer input • Open question: speedup for measure problem for real input?

  26. Special Case: Hypercubes(or “Fat” Boxes) • Union may have Ω(nd/2) boundary faces • Agarwal,Kaplan,Sharir'07: O(n4/3 log2n) time (d=3) • Agarwal'10: O(n log4n) 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?

More Related