Download presentation
Presentation is loading. Please wait.
Published byImogene Chapman Modified over 9 years ago
1
Reverse Furthest Neighbors in Spatial Databases Bin Yao, Feifei Li, Piyush Kumar Florida State University, USA
2
A Novel Query Type Reverse Furthest Neighbors (RFN) Given a point q and a data set P, find the set of points in P that take q as their furthest neighbor Two versions : Monochromatic Reverse Furthest Neighbors (MRFN) Bichromatic Reverse Furthest Neighbors (BRFN)
3
Motivation and Related works Motivation: inspired by RNN Reverse Nearest Neighbor Set of points taking query point as their NN. Monochromatic & Bichromatic RNN Many applications that are behind the studies of the RNN have the corresponding “furthest” versions.
4
MRFN Application P: a set of sites of interest in a region For any site, it could find the sites that take itself as their furthest neighbors This has an implication that visitors to the RFN of a site are unlikely to visit this site because of the long distance. Ideally, it should put more efforts in advertising itself in those sites.
5
BRFN Application P: a set of customers Q: a set of business competitors offering similar products A distance measure reflecting the rating of customer(p) to competitor(q)’s product. A larger distance indicates a lower preference. For any competitor in Q, an interesting query is to discover the customers that dislike his product the most among all competing products in the market.
6
BRFN Example : customer : product
7
MRFN and BRFN MRFN for q and P: BRFN for a point q in Q and P are:
8
Outline MRFN Progressive Furthest Cell Algorithm Convex Hull Furthest Cell Algorithm Dynamically updating to dataset BRFN
9
MRFN: Progressive Furthest Cell Algorithm (first algorithm) Lemma: Any point from the furthest Voronoi cell(fvc) of p takes p as its furthest neighbor among all points in P.
10
Progressive Furthest Cell Algorithm (PFC) PFC(Query q; R-tree T) Initialize two empty vectors and ; priority queue L with T’s root node; fvc(q)=S; While L is not empty do Pop the head entry e of L If e is a point then, update the fvc(q) If fvc(q) is empty, return; If e is in fvc(q), then Push e into ; else If e fvc(q) is empty then push e to ; Else for every child u of node e If u fvc(q) is empty, insert u into ; Else insert u into L ; Update fvc(q) using points contained by entries in ; Filter points in using fvc(q);
11
Outline MRFN Progressive Furthest Cell Algorithm Convex Hull Furthest Cell Algorithm Dynamically updating to dataset BRFN
12
MRFN: Convex Hull Furthest Cell Algorithm(second algorithm) Lemma: the furthest point for p from P is always a vertex of the convex hull of P. (i.e., only vertices of CH have RFN.) Find the convex hull of P; if, then return empty; else Compute using ; Set fvc(q,P*) equal to fvc(q, ); Execute a range query using fvc(q,P*) on T; CHFC(Query q; R-tree T (on P)) // compute only once
13
Outline MRFN Progressive Furthest Cell Algorithm Convex Hull Furthest Cell Algorithm Dynamically updating to dataset BRFN
14
Dynamically updating to dataset PFC: update R-tree CHFC: update R-tree& re-compute CH (expensive) Qhull algorithm
15
Dynamically Maintaining CH: insertion
16
Dynamically Maintaining CH: deletion The qhull algorithm
17
Dynamically Maintaining CH Adapt qhull to R-tree
18
Outline MRFN Progressive Furthest Cell Algorithm Convex Hull Furthest Cell Algorithm Dynamically updating to dataset BRFN
19
After resolving all the difficulties for the MRFN problem, solving the BRFN problem becomes almost immediate. Observations: all points in P that are contained by fvc(q,Q) will have q as their furthest neighbor. Only the vertexes of the convex hull have fvc.
20
BRFN algorithm BRFN(Query q, Q; R-tree T) Compute the convex hull of Q; If then return empty; Else Compute fvc(q, ); Execute a range query using fvc(q, ) on T;
21
BRFN: Disk-Resident Query Group Limitation: query group size may not fit in memory Solution: Approximate convex hull of Q (Dudley’s approximation)
22
Experiment Setup Dataset: Real dataset (Map: USA, CA, SF) Synthetic dataset (UN, CB, R-Cluster) Measurement Computation time Number of IOs Average of 1000 queries
23
MRFN algorithm CPU computation Number of IOs
24
BRFN algorithms CPU: vary A, Q=1000 IOs: vary A, Q=1000
25
Scalability of various algorithms MRFN number of IOs BRFN number of IOs
26
Conclusion Introduced a novel query (RFN) for spatial databases. Presented R-tree based algorithms for both versions of RFN that feature excellent pruning capability. Conducted a comprehensive experimental evaluation.
27
Thank you! Questions?
28
Datasets: San Francisco
29
Datasets: California
30
Datasets: North America
31
Datasets : uncorrelated uniform
32
Datasets : correlated bivariate
33
Datasets : random clusters
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.