330 likes | 427 Views
Reverse Furthest Neighbors in Spatial Databases. Bin Yao , Feifei Li, Piyush Kumar Florida State University, USA. 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 :
E N D
Reverse Furthest Neighbors in Spatial Databases Bin Yao, Feifei Li, Piyush Kumar Florida State University, USA
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)
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.
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.
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.
BRFN Example : customer : product
MRFN and BRFN • MRFN for q and P: • BRFN for a point q in Q and P are:
Outline • MRFN • Progressive Furthest Cell Algorithm • Convex Hull Furthest Cell Algorithm • Dynamically updating to dataset • BRFN
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.
Progressive Furthest Cell Algorithm (PFC)PFC(Query q; R-tree T) • Update fvc(q) using points contained by entries in ; • Filter points in using fvc(q); • 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 ;
Outline • MRFN • Progressive Furthest Cell Algorithm • Convex Hull Furthest Cell Algorithm • Dynamically updating to dataset • BRFN
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.) CHFC(Query q; R-tree T (on P)) // compute only once • 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;
Outline • MRFN • Progressive Furthest Cell Algorithm • Convex Hull Furthest Cell Algorithm • Dynamically updating to dataset • BRFN
Dynamically updating to dataset • PFC: update R-tree • CHFC: • update R-tree& re-compute CH (expensive) • Qhull algorithm
Dynamically Maintaining CH: deletion The qhull algorithm
Dynamically Maintaining CH Adapt qhull to R-tree
Outline • MRFN • Progressive Furthest Cell Algorithm • Convex Hull Furthest Cell Algorithm • Dynamically updating to dataset • BRFN
BRFN • 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.
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;
BRFN: Disk-Resident Query Group Limitation: query group size may not fit in memory Solution: Approximate convex hull of Q (Dudley’s approximation)
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
MRFN algorithm CPU computation Number of IOs
BRFN algorithms CPU: vary A, Q=1000 IOs: vary A, Q=1000
Scalability of various algorithms BRFN number of IOs MRFN number of IOs
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.