Reverse Furthest Neighbors in Spatial Databases - PowerPoint PPT Presentation

Reverse furthest neighbors in spatial databases
1 / 31

Reverse Furthest Neighbors in Spatial Databases. Bin Yao , Feifei Li, Piyush Kumar Florida State University . 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 :

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

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

Presentation Transcript

Reverse furthest neighbors in spatial databases

Reverse Furthest Neighbors in Spatial Databases

Bin Yao, Feifei Li, Piyush Kumar

Florida State University

A novel query type

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)

Rfn example

RFN Example

: P

: Q

Rfn application

RFN 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.

Furthest neighbor

Furthest Neighbor

  • Furthest Neighbor:

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

Mrfn and brfn


  • MRFN for q and P:

  • BRFN for a point q in Q and P are:

Mrfn progressive furthest cell algorithm first algorithm

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

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

        • Else insert u into ;

Mrfn convex hull furthest cell algorithm second algorithm

MRFN: Convex Hull Furthest Cell Algorithm(second algorithm)

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.

Chfc query q r tree t on p

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;

Dynamically updating to dataset

Dynamically updating to dataset

  • PFC: update R-tree

  • CHFC:

    • update R-tree (expensive)

    • Qhull algorithm

Dynamically maintaining ch insertion

Dynamically Maintaining CH: insertion

Dynamically maintaining ch deletion

Dynamically Maintaining CH: deletion

The qhull algorithm

Dynamically maintaining ch

Dynamically Maintaining CH

Adapt qhull to R-tree

Reverse furthest neighbors in spatial databases


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

Disk resident query group

Disk-Resident Query Group

Limitation: query group size may not fit in memory

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

Experiment setup

Experiment Setup

  • Dataset:

    • Real dataset

    • Synthetic dataset

  • Measurement

    • Computation time

    • Number of IOs

    • Average of 1000 queries

Mrfn algorithm

MRFN algorithm

CPU computation

Number of IOs

Brfn algorithms

BRFN algorithms

CPU: vary A, Q=1000

IOs: vary A, Q=1000

Scalability of various algorithms

Scalability of various algorithms

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

Thank you!Questions?

Datasets san francisco

Datasets: San Francisco

Datasets california

Datasets: California

Datasets north america

Datasets: North America

Datasets u ncorrelated u niform

Datasets : uncorrelated uniform

Datasets c orrelated b ivariate

Datasets : correlated bivariate

Datasets r andom c lusters

Datasets : random clusters



  • 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!

Brfn algorithms1

BRFN algorithms

IOs: vary Q,A=3%

CPU: vary |Q|,A=3%

  • Login