1 / 29

Reverse Furthest Neighbors in Spatial Databases

Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu. Reverse Furthest Neighbors in Spatial Databases. OUTLINE. Introduction Related Work Algorithms PFC (Progressive Furthest Cell) CHFC (Convex Hull Furthest Cell) Experiment Discussion. INTRODUCTION.

skule
Download Presentation

Reverse Furthest Neighbors in Spatial Databases

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. Bin Yao, Feifei Li, Piyush Kumar Presenter: Lian Liu Reverse Furthest Neighbors in Spatial Databases

  2. OUTLINE • Introduction • Related Work • Algorithms • PFC (Progressive Furthest Cell) • CHFC (Convex Hull Furthest Cell) • Experiment • Discussion

  3. INTRODUCTION • Assume you live at p1 (p2, p3), where would you prefer to build a chemical factory among q1~q3?

  4. INTRODUCTION

  5. INTRODUCTION • Let P={p1, p2, p3} • Q={q1, q2, q3} • fn(p1, Q)=q3 • fn(p2, Q)=q1 • fn(p3, Q)=q1 • BRFN(q1,Q,P)={p2, p3} • BRFN(q2,Q,P)={} • BRFN(q3,Q,P)={p1} Build the chemical factory here

  6. INTRODUCTION • Problem: Given query point q, data set P (and Q), Compute MRFN(q, P) and BRFN(q, Q, P).

  7. RELATED WORK • MBR • MBR (Minimum Bounding Rectangles) has 3 important distances to a point: • Min Distance • Max Distance • Minmax Distance

  8. RELATED WORK • R-tree • R-tree is an index data structure. • In R-trees, points are grouped into MBRs, which are recursively grouped into MBRs in higher levels of the tree.

  9. RELATED WORK • Range query • Range query: retrieves all points that locates within the query window. • R-tree based algorithms proves to be efficient to deal with range queries.

  10. MRFN • How to compute the MRFN of a given query point? • BFS (Brute-Force Search) • PFC (Progressive Furthest Cell) • Main Idea: • Find the cell (region) in which all reverse furthest neighbors of the query point located • Perform a range query with the cell How to compute?

  11. PFC • FVC (Furthest Voronoi Cell)

  12. PFC • FVC Example: query point = q1 fvc(q1, P) fvc(q1, P)

  13. PFC • PFC (Progressive Furthest Cell) Algorithm • Points and MBRs are stored in a priority queue L with their minmaxdist sorted in decreasing order. • Two vectors Vc and Vp are also maintained: • Vc: Furthest neighbor candidates • Vp: Disqualifying points

  14. PFC • PFC – mechanism fvc(q)={} e is a point e∈fvc(q) c∩fvc(q)≠{} e∩fvc(q)={} e is an MBR e∩fvc(q)≠{} At last, we update fvc(q) using Vp and then filter points in Vc using fvc(q) c∩fvc(q)={}

  15. PFC • Example: fvc(q) L={p1, R1} Vc={} Vp={} L={R1} Vc={p1} Vp={}

  16. PFC • Example: fvc(q) fvc(q) L={p3} Vc={p1} Vp={p2} L={} Vc={p1, p3} Vp={p2}

  17. PFC • Example: Finally, we use all points in Vp (i.e. p2) to update fvc(q). Then, we perform a range query using the updated fvc(q). The result is {p3}。 fvc(q) MRFN(q)={p3}

  18. PFC • Efficiency of PFC • PFC makes fvc(q) quickly shrink. If the query point does not have any reverse furthest neighbors, Φwill quickly be reported. • However, it is still not efficient enough. • Improvement: CHFC algorithm.

  19. CHFC • Convex Hull • The Convex Hull of a set of points P is the smallest convex polygon that fully contains P. • Denoted as CP.

  20. CHFC • Lemma: Given a point set P and its convex hull Cp, for a point q, let p*=fn(q, P), then p*∈CP. • fvc(p, P)=fvc(p, CP)

  21. CHFC • CHFC (Convex Hull Furthest Cell) • Given a set of points P and a query point p:

  22. CHFC • BRFN • BRFN (Bichromatic Reverse Furthest Neighbor) can be found in the same way as MRFN. • The only one difference is, we compute fvc(q, Q, P) will Q, can perform range query in P.

  23. CHFC • Efficiency of CHFC: • For most (but not all) cases, |CP| << |P|. That is, the number of points considered are likely to be greatly reduced. • Difficulty: How to compute and updateCP when |P| is very large and even |CP| cannot fit into memory.

  24. CHFC • Computing Convex Hull • Convex hulls can be found in either a distance-first or a depth-first manner. • Distance-first approach is optimal in the number of page accesses, and the complexity is O(nlogn). • Depth-first algorithms can run in O(n) time for worst case, but not optimal in disk accessing.

  25. CHFC • Updating Convex Hull • Inserting new points: • Lemma: P is a point set. • If point q is contained by CP,CP∪{q} =CP • Otherwise, • CP∪{q} =CCp∪{q}

  26. CHFC • Updating Convex Hull • Deleting points: • Points or MBRs with the largest perpendicular distance to plpr are added into CP first, untilthere is no points outside the current convex hull.

  27. CHFC • External Convex Hull Computing • Existing algorithms can found 2-Dimensional convex hulls with I/Os. • However, when convex hulls are still too large to fit into memory, we use Dudley’s approximate convex hull.

  28. EXPERIMENT • CPU time & number of IOs

  29. DISCUSSION • Thank You! • Questions?

More Related