well separated pair decomposition 16 gigayears and 3.3 million light years playing

Post on 24-Dec-2015

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

top related