1 / 37

Well Separated Pair Decomposition

Well Separated Pair Decomposition. 16 GigaYears and 3.3 Million Light Years Playing. Applications. Astronomy Molecular Dynamics Fluid Dynamics Plasma Physics And Guess What: Surface Reconstruction. N-Body Simulation.

jtenney
Download Presentation

Well Separated Pair Decomposition

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. Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

  2. Applications • Astronomy • Molecular Dynamics • Fluid Dynamics • Plasma Physics • And Guess What: Surface Reconstruction

  3. N-Body Simulation How do I do it Provably Fast?? Trees!! Trees!! Trees!! A Simple, Provable and Powerful Algorithm (Callahan-Kosaraju, FMM)

  4. Andromeda from Earth

  5. The Galactic Empire Enough of Sci-Fi 

  6. Well Separated Pair Decomposition A Decomposition of the complete Eucledian Graph into O(n) pairs. The Curse of Dimensionality/Constants Can be used to do Surface Reconstruction In O(nlogn) theoretically! Practically????

  7. Well Separated Pair Dumbbells !!

  8. An Example of WSPD 100 points On a Circle

  9. Another Picture An Output of my implementation that computes D-dimensional WSPD’s

  10. The Fair Split Tree The tree on which the Well Separated Pairs Are computed. An adaptation of QuadTrees to give theoretical Guarantees Notion: R(P) minimum bounding hyper-rectangle That encloses the point set P The FST, breaks R(P) in the longest dimension

  11. FST Algorithm CreateTree(vector<points> P){ if( P.size() == 1) return Leaf(P); Cut = Plane that cuts the longest dim of R(P) P1 = Points on left of Cut P2 = Points on right of Cut Node-> left = CreateTree(P1) Node->right= CreateTree(P2) }

  12. The Fair Split Tree Guarantees that at least one point is split O( ) by Trivial Algorithm O( ) by pre-sorting in every dimension For O(nlogn) uses Partial Fair Split Tree Computation.<Double Sided pointer chasing>

  13. Partial Fair Split Tree • Keep points d- list<points> sorted in every dimension • In selected dimension, walk from both sides • Remove cut elements and recurse till the largest • size of the set is less than (2/3)n • Create subsets and make recursive call

  14. WSPD Algorithm • On Each Internal node of FST • Call Find_Pairs(Node->Left,Node->Right)

  15. Find_Pairs(N1,N2) If Well-Separate(N1,N2) return pair<> If Lmax(N1) > Lmax(N2) Find_Pairs(N1->left,N2) Find_Pairs(N1->right,N2) Else Find_Pairs(N1,N2->left) Find_Pairs(N1,N2->right) endif

  16. Time for a pic

  17. Existence Does a WSPD for a point set always Exist?? Yes!!! Just take all pairs of points in P, they are well separated by definition What about Linear Size?? O(n) pairs?

  18. Another Picture  Not too many disjoint “good/big” rectangles can intersect a cube

  19. Packing cubes Lemma: A hypercube C which overlaps with a set S of disjoint hypercubes of length l’ follows:

  20. Proof by picture!!!

  21. Canonical Realization If A,B are well separated (Notation for Lmax(A) < Lmax(B))

  22. Lemma 4.1 If C be a d-cube, and S={Ai} be a set of disjoint nodes in T and Lmax(p(Ai))>=l(C)/c and R(Ai) overlaps C, then: If u recall here l(C)/l’ is replaced by 3c here

  23. Where did that 3 come from? Hint for Imagination: Think in 1D , use Induction for d-dimension

  24. Bounding the size of Canonical Realization Lemma: Let P={p1,p2,…,pn} with FST T , For any node A in T , there are O(1) canonical pairs of the form (A,B) Proof: We know that p(A) and B are not well separated , so

  25. Rewriting Intuitively, means a constant factor enlargement of R(p(A)) intersects with all B well separated from A.

  26. Bounding the size of Canonical Realization We know that Lmax(p(B)) > Lmax(p(A)) We know that all B are disjoint We know that B overlaps an enlargement of R(p(A)) We know that |SB| is bounded in these conditions by a constant K(c,d) Implies there can only be O(1) B’s well separated from A’s, which in turn implies there are only O(n) WS-Pairs!!! 

  27. Closest Pair Theorem: Suppose that there is a k-nearest neighbor pair (a,b) such that

  28. Closest Pair By the previous theorem, putting k = 1 the Closest pair : {{a},{b}} is a well separated pair in the WSPD. Hence Given the WSPD, we can find the closest Pair of a d-dimensional point set in O(n) time.

  29. K-nearest neighbors Put Yao’s cones on every point, and uses inheritance on the FST in these cones. In one cone, only k-neighbors needs to be maintained. Then a selection algorithm picks the nearest k-neighbors in O(nk) time.

  30. General Idea of Applications Any application where one object affects every other object in a set of objects, is susceptible to WSPD paradigm. N-Body simulation is a glaring example. If there is a lower bound of O(n^2) for the problem, it might be susceptible to an Approximation algorithm using WSPD paradigm.

  31. Applications II Nearest Neighbour queries Answering what is close in a r-radius ball Clustering Applications Dynamic Nearest Neighbor queries Approximate Voronoi diagrams Mesh Generation Combinatorics MST Approximations/Spanners N-Body Simulation…

  32. Voronoi Diagrams

  33. Approximate Voronoi • May not be a perfect Voronoi Diagram but each cell is some kind of Approximation • May not be a decomposition of the entire space. • Of Theoretical Interest • Till date no Implementation exists!

  34. Another Nice Picture Courtesy Sariel Har Pelad

  35. Open Problems • Is there a way to sort the edges of a complete • graph in O(n^2) time? • Is there a way to compute LFS(p) on a manifold • in O(nlogn) using WSPD’s? • How practical is it for k-nearest neighbour queries? • How about dimensions >= 5?? • Compute Medial Axis in O(nlogn)

  36. Medial Axis Approximation Lfs Approximation isnt so easy!!

  37. That’s All Folks!  --Piyush

More Related