1 / 17

Algorithms on grids

Algorithms on grids. Natasha Gelfand. Geometry Seminar Fall 2006. Grids in computer science. Graphics and vision Collision detection, point location. Simulation. Grids in computer science. Grids for geometric proximity. Isolate and localize interesting events Proximity is local

harken
Télécharger la présentation

Algorithms on grids

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. Algorithms on grids Natasha Gelfand Geometry Seminar Fall 2006

  2. Grids in computer science Geometry Seminar: Algorithms on Grids

  3. Graphics and vision Collision detection, point location Simulation Grids in computer science Geometry Seminar: Algorithms on Grids

  4. Grids for geometric proximity • Isolate and localize interesting events • Proximity is local • “Uniform” grids • Closest pair, k-Minimum enclosing disk • Adaptive grids • quadtrees Geometry Seminar: Algorithms on Grids

  5. Closest pair • Given: n points in the plane • Return pair of pointsrealizing Geometry Seminar: Algorithms on Grids

  6. Grids for points • Computing the grid takes linear time Geometry Seminar: Algorithms on Grids

  7. r Sub-problem • Given a set P and a distance r, verify in linear time if CP(P)<r or CP(P) > r • Insert points sequentially • If CP(P) < r, p, qare in the same orneighboring cells • Can we search a cellin constant time? Geometry Seminar: Algorithms on Grids

  8. Algorithm • If some cell contains more than 9 points, then CP(P)<r • Algorithm: • Insert points into the grid • If cell(p) contains more than 9 points, return CP(P) < r Geometry Seminar: Algorithms on Grids

  9. Algorithm • If some cell contains more than 9 points, then CP(P)<r • Algorithm: • Insert points into the grid • If cell(p) contains more than 9 points, return CP(P) < r • Otherwise, compute • Constant time per point,running time O(n) r Geometry Seminar: Algorithms on Grids

  10. Closest pair • Permute points P=<p1, p1, … , pn> • Let ri = CP({p1, …, pi}) • Can check if ri<ri-1in linear time • Good case: ri = ri-1 • Grid is already built, check in O(1) time • Bad case: ri < ri-1 • Rebuild grid, O(i) time • Trivial bound: O(nk), when closest pair changes k times Geometry Seminar: Algorithms on Grids

  11. Analysis • Let Xi = 1 if ri· ri-1, and 0 otherwise • Running time: Geometry Seminar: Algorithms on Grids

  12. Analysis • Bound Pr[Xi = 1] = Pr[ri < ri-1] • Likelihood that pirealizes CP(Pi) • Expected running time Geometry Seminar: Algorithms on Grids

  13. k-Enclosing minimum disk • Disk of minimum radius that contains k points • Brute forceO(nk) • 2-Opt algorithm: r(P,k) · 2ropt(P,k) k=4 k=3 Geometry Seminar: Algorithms on Grids

  14. Non-uniform grid • Partition P into horizontal strips with at most k/4 points in each strip • Recursive median partitioning • O(n/k) strips Running time: T(n) = n + 2T(n/2) Stop at n < k/4 O(nlog(n/k)) G Geometry Seminar: Algorithms on Grids

  15. Finite centers • Claim: Dopt(P,k) contains at least one intersection point of G • Pf: By contradiction: k/4points k/4points Dopt(P,k) k points At most k/2 points Geometry Seminar: Algorithms on Grids

  16. Algorithm • For each grid intersection point g2G • Compute smallest circle centered at p with k points • k-th order statistic of{||p, g||} • Expected timeO(n) • Return the best of(n/k)2 candidates • Running time: O(n(n/k)2) Geometry Seminar: Algorithms on Grids

  17. Correctness • 2-Opt: r(P,k) · 2ropt(P,k) Geometry Seminar: Algorithms on Grids

More Related