A Pruning Algorithm for Reverse Nearest Neighbors in Directed Road Networks
International Journal of Networked and Distributed Computing, Vol. 3, No. 4 (November 2015), 261-272
A Pruning Algorithm for Reverse Nearest Neighbors in Directed Road
Networks
Rizwan Qamar 1 , Muhammad Attique 2 , Tae-Sun Chung 3
1 Computer Engineering, Ajou University,
Paldal Hall 913-2,
Suwon, Gyeonggi-do 443-749, South Korea
E-mail:
2 Computer Engineering, Ajou University,
Paldal Hall 913-2,
Suwon, Gyeonggi-do 443-749, South Korea
E-mail:
3 Computer Engineering, Ajou University,
Paldal Hall 913-2,
Suwon, Gyeonggi-do 443-749, South Korea
E-mail:
Abstract
In this paper, we studied the problem of continuous reverse k nearest neighbors (RkNN) in directed road
network, where a road segment can have a particular orientation. A RNN query returns a set of data
objects that take query point as their nearest neighbor. Although, much research has been done for RNN
in Euclidean and undirected network space, very less attention has been paid to directed road network,
where network distances are not symmetric. In this paper, we provided pruning rules which are used to
minimize the network expansion while searching for the result of a RNN query. Based on these pruning
rules we provide an algorithm named SWIFT for answering RNN queries in continuous directed road
network.
Keywords: reverse nearest neighbors, spatial query, directed road network, continuous.
1.
Introduction
Spatial databases offer large number of services such
as nearest neighbor, resource allocation, and preferential search etc. These services have not only
changed peoples daily life but also scientific research. For example, people now rely on locationbased services to plan and manage their trips. This
new demand for location-aware services has resulted
in development of efficient algorithms and many
novel query types for spatial databases. One of them
is reverse nearest neighbor (RkNN). While a lot of
attention has been given to this problem because of
its practical applicability [1–3], most of it exclusively focuses on Euclidian space or undirected road
network. In this paper, we study safe region of a reverse nearest neighbor query for a moving query and
static data objects in a directed road network(i.e.,
Published by Atlantis Press
Copyright: the authors
261
R. Qamar et al.
each road is either directed or undirected). A safe region is a region in which result of the query doesn’t
change when the query object moves within safe region.
p3
p1
q
crease the frequency of updates. However, just increasing the frequency of queries doesn’t not guarantee freshness of result and the it may become invalid in between two timestamps. Moreover this not
only increases the load on server but also increases
the use of communication channel between client
and the server. The contributions of this paper are
as following:
• We present an algorithm for calculation of moving
p2
RkNN in a directed road networks.
• We provide a pruning rule that minimizes the net-
Fig. 1. Example Road Network
Consider a query point q and a set O of points
of interest (POIs) e.g. offices, universities, schools
etc. We use d(q, o) to denote network distance from
query object q to data object o. Given a query point
q, RkNN query returns a set of data points o ∈ O
such that q is one of there k nearest neighbor i.e.
RkNN(q) = o ∈ d(o, q) d(o, ok ) where ok is the
kth nearest neighbor of data point o. Many reallife scenarios exist to illustrate the importance of
continuous reverse nearest neighbor queries. Consider a first person shooting game in which the goal
of each player is to shoot the other player. Naturally, all players try to avoid getting shot and for this
they continuously monitor their own reverse nearest
neighbor as chances of getting shot from the reverse
nearest neighbor are highest. Fig. 1 illustrates such
game, where p1 is closest to q but RNN of q is p2 as
nearest neighbor of p1 is p3 .
RkNN has received a lot of attention [4–6] from
the research community for applications like emergency response team and taxi providing services. In
general, RkNN query can further be classified into
two groups monochromatic and biochromatic. Our
example above is of monochromatic RkNN query
where all objects belong to the same set of objects.
Consider the example of taxi and customers where
they belong to the set of taxis and customers respectively.
In general, the main problem in continuous reverse nearest neighbor query is how to maintain the
freshness of the query result, as the query object is
moving freely and arbitrarily. A naı̈ve technique for
finding RkNN of a moving query object q is to in-
work expansion for finding RkNN in directed road
networks.
• We discuss why RkNN algorithm for undirected
road is not applicable to directed road networks.
• We conduct experiments to study the effects
of various parameters and show superiority of
SWIFT over naı̈ve algorithm.
The remainder of this paper is structured as follows. Section 2 surveys related work and limitation
of undirected algorithms. Section 3 explains terms
and definitions used in this paper as well as gives explanation about the problem and some pruning rules.
Section 4 explains the working of SWIFT algorithm.
Section 5 discusses SWIFT in continuous road network. Section 6 discusses the experimental results.
Section 7 gives concluding remarks and future way
through.
2.
Related Work
Section 2.1 surveys RkNN in spatial databases and
Section 2.2 discusses why undirected algorithms are
not applicable to directed road networks.
2.1. Reverse Nearest Neighbor in Euclidean and
Road Networks
RkNN was first introduced by Korn et al. [1] where
they used pre-computations to answer the RNN for
a query object q. Drawback of this technique was
that they were only able to answer RkNN query for
a fixed value of k. Stanoi et al. [7] proposed an algorithm that did not require preprocessing. They proposed partitioning algorithm that divides the whole
Published by Atlantis Press
Copyright: the authors
262
Instructions for Typesetting Manuscripts Using LATEX
n4
o2
2
2
n4
1
q
1
o1
o2
2
2
1
n2
n3
1
2
2
1
n1
n3
1
1
q
n1
(a)
1
o1
n2
(b)
Figure 2: Examples (a) undirected road network (b) directed road network
space into six equal regions of 60◦ . It can be verified
that the possible RNN of q can only be the nearest
point to q found in each of the six regions. This
proves that in 2D space, there can be at most six
RNNs for a query point q.
Sun et al. [3] presented a continuous monitoring
in bichromatic RkNN queries. They used multiway
tree with each query to assign it a monitoring region
and only updates in the monitoring region affects the
result. However, it is only applicable to bichromatic
queries and can only answer queries when k = 1.
Cheema et al. [5] presented continuous reverse
nearest neighbor queries for both Euclidian and spatial road network and suggested pruning rules for
road networks. Similarly, Man L Yiu. [4] proposed a
method for finding RkNN in an undirected (...truncated)