Loading in 5 sec....

Reverse Furthest Neighbors in Spatial DatabasesPowerPoint Presentation

Reverse Furthest Neighbors in Spatial Databases

- 598 Views
- Uploaded on
- Presentation posted in: Sports / GamesEducation / CareerFashion / BeautyGraphics / DesignNews / Politics

Reverse Furthest Neighbors in Spatial Databases

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Reverse Furthest Neighbors in Spatial Databases

Bin Yao, Feifei Li, Piyush Kumar

Florida State University

- 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)

: P

: Q

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.

- Furthest Neighbor:
- Given a point p and a set of points Q, p’s furthest neighbor in Q is:

- MRFN for q and P:
- BRFN for a point q in Q and P are:

Lemma: Any point from the furthest Voronoi cell(fvc) of p takes p as its furthest neighbor among all points in P.

- 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) not empty, insert u into L;
- Else insert u into ;

Lemma: the furthest point for p from Q is always a vertex of

the convex hull of Q. In a reverse angle, only vertices of CH have RFN.

// 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;

- PFC: update R-tree
- CHFC:
- update R-tree (expensive)
- Qhull algorithm

The qhull algorithm

Adapt qhull to R-tree

- 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(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;

Limitation: query group size may not fit in memory

Solution: Approximate convex hull of Q (Dudley’s approximation: the core set idea)

- Dataset:
- Real dataset
- Synthetic dataset

- Measurement
- Computation time
- Number of IOs
- Average of 1000 queries

CPU computation

Number of IOs

CPU: vary A, Q=1000

IOs: vary A, Q=1000

BRFN number of IOs

MRFN number of IOs

- Introduced a novel query (RFN) for spatial databases.
- presented R-tree based algorithms for both version of RFN that feature with excellent pruning capability.
- Conducted a comprehensive experimental evaluation.

Thank you!Questions?

- MapQuest, Google Maps, etc. have become essential web services.
- Albeit, they provide simple driving directions given a start and an end point.
- The same is true for vehicle navigation systems, GPS devices, etc…
- It is time to support more advanced services!

IOs: vary Q,A=3%

CPU: vary |Q|,A=3%