well separated pair decomposition 16 gigayears and 3.3 million light years playing
TRANSCRIPT
Well Separated Pair Well Separated Pair DecompositionDecomposition
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
How do I do it Provably Fast??
Trees!! Trees!! Trees!!
A Simple, Provable and Powerful Algorithm
(Callahan-Kosaraju, FMM)
Andromeda from Earth
The Galactic Empire
Enough of Sci-Fi
Well Separated Pair Decomposition
A Decomposition of the complete EucledianGraph into O(n) pairs.
The Curse of Dimensionality/Constants
Can be used to do Surface ReconstructionIn O(nlogn) theoretically!
Practically????
Well Separated Pair
Dumbbells !!
An Example of WSPD
100 pointsOn a Circle
Another Picture
An Output of myimplementationthat computesD-dimensional
WSPD’s
The Fair Split Tree
The tree on which the Well Separated PairsAre computed.
An adaptation of QuadTrees to give theoreticalGuarantees
Notion: R(P) minimum bounding hyper-rectangleThat encloses the point set P
The FST, breaks R(P) in the longest dimension
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 CutP2 = Points on right of CutNode-> left = CreateTree(P1)Node->right= CreateTree(P2)
}
The Fair Split Tree
Guarantees that at least one point is splitO( ) by Trivial AlgorithmO( ) by pre-sorting in every dimension
For O(nlogn) uses Partial Fair Split TreeComputation.<Double Sided pointer chasing>
nn 2log
2n
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
)()()(1
nOnTnTk
ii
nniki 3
2)(max 1
WSPD Algorithm
On Each Internal node of FST Call Find_Pairs(Node->Left,Node->Right)
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)
ElseFind_Pairs(N1,N2->left)Find_Pairs(N1,N2->right)
endif
Time for a pic
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?
Another Picture
Not too many disjoint
“good/big” rectangles
can intersect a cube
Packing cubes
Lemma: A hypercube C which overlaps with a set S of disjoint hypercubes of length l’ follows:
d
l
ClS )2
'
)((||
Proof by picture!!!
Canonical Realization
)()( BpApB
)()( ApBpA
If A,B are well separated
(Notation for Lmax(A) < Lmax(B))
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:
dcdcKS )23(),(||
If u recall here l(C)/l’ is replaced by 3c here
Where did that 3 come from?
3
))(())(ˆ( max
min
AplARl
Hint for Imagination: Think in 1D , use Induction for d-dimension
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) canonicalpairs of the form (A,B)
Proof: We know that p(A) and B are not well separated , so
))(()2
())(()()),(( maxmax Apld
sApldBApdR
Rewriting
))(()2
()),(( max Apld
sdBApdR
Intuitively, means a constant factor enlargement ofR(p(A)) intersects with all B well separated from A.
Bounding the size of Canonical Realization
We know that Lmax(p(B)) > Lmax(p(A))We know that all B are disjointWe know that B overlaps an enlargement of R(p(A))
We know that |SB| is bounded in these conditionsby a constant K(c,d)
Implies there can only be O(1) B’s well separatedfrom A’s, which in turn implies there are onlyO(n) WS-Pairs!!!
Closest Pair
Theorem: Suppose that there is a k-nearest neighbor pair (a,b) such that
kABbAa ||&
Closest Pair
By the previous theorem, putting k = 1the Closest pair :
{{a},{b}}
is a well separated pair in the WSPD. HenceGiven the WSPD, we can find the closest Pair of a d-dimensional point set in O(n) time.
K-nearest neighbors
Put Yao’s cones on every point, anduses inheritance on the FST in these cones. In one cone, only k-neighborsneeds to be maintained.
Then a selection algorithm picks thenearest k-neighbors in O(nk) time.
General Idea of Applications
Any application where one object affectsevery other object in a set of objects, issusceptible to WSPD paradigm. N-Bodysimulation is a glaring example.
If there is a lower bound of O(n^2) forthe problem, it might be susceptible to an Approximation algorithm using WSPD paradigm.
Applications II
Nearest Neighbour queriesAnswering what is close in a r-radius ballClustering ApplicationsDynamic Nearest Neighbor queriesApproximate Voronoi diagramsMesh GenerationCombinatoricsMST Approximations/SpannersN-Body Simulation…
Voronoi Diagrams
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!
Another Nice Picture
Courtesy Sariel Har Pelad
Open Problems
•Is there a way to sort the edges of a completegraph in O(n^2) time?
•Is there a way to compute LFS(p) on a manifoldin O(nlogn) using WSPD’s?
•How practical is it for k-nearest neighbour queries?•How about dimensions >= 5??•Compute Medial Axis in O(nlogn)
Medial Axis Approximation
Lfs Approximation isnt so easy!!
That’s All Folks!
--Piyush