37
Well Separated Well Separated Pair Decomposition Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Embed Size (px)

Citation preview

Page 1: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Well Separated Pair Well Separated Pair DecompositionDecomposition

16 GigaYears and 3.3 Million Light Years Playing

Page 2: 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

Page 3: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

N-Body Simulation

How do I do it Provably Fast??

Trees!! Trees!! Trees!!

A Simple, Provable and Powerful Algorithm

(Callahan-Kosaraju, FMM)

Page 4: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Andromeda from Earth

Page 5: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

The Galactic Empire

Enough of Sci-Fi

Page 6: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 7: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Well Separated Pair

Dumbbells !!

Page 8: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

An Example of WSPD

100 pointsOn a Circle

Page 9: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Another Picture

An Output of myimplementationthat computesD-dimensional

WSPD’s

Page 10: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 11: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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)

}

Page 12: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 13: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 14: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

WSPD Algorithm

On Each Internal node of FST Call Find_Pairs(Node->Left,Node->Right)

Page 15: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 16: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Time for a pic

Page 17: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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?

Page 18: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Another Picture

Not too many disjoint

“good/big” rectangles

can intersect a cube

Page 19: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Packing cubes

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

d

l

ClS )2

'

)((||

Page 20: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Proof by picture!!!

Page 21: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Canonical Realization

)()( BpApB

)()( ApBpA

If A,B are well separated

(Notation for Lmax(A) < Lmax(B))

Page 22: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 23: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Where did that 3 come from?

3

))(())(ˆ( max

min

AplARl

Hint for Imagination: Think in 1D , use Induction for d-dimension

Page 24: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 25: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Rewriting

))(()2

()),(( max Apld

sdBApdR

Intuitively, means a constant factor enlargement ofR(p(A)) intersects with all B well separated from A.

Page 26: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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

Page 27: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Closest Pair

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

kABbAa ||&

Page 28: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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.

Page 29: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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.

Page 30: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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.

Page 31: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Applications II

Nearest Neighbour queriesAnswering what is close in a r-radius ballClustering ApplicationsDynamic Nearest Neighbor queriesApproximate Voronoi diagramsMesh GenerationCombinatoricsMST Approximations/SpannersN-Body Simulation…

Page 32: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Voronoi Diagrams

Page 33: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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!

Page 34: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Another Nice Picture

Courtesy Sariel Har Pelad

Page 35: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

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)

Page 36: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

Medial Axis Approximation

Lfs Approximation isnt so easy!!

Page 37: Well Separated Pair Decomposition 16 GigaYears and 3.3 Million Light Years Playing

That’s All Folks!

--Piyush