Yu et al. [YPK05] proposed a method for continuous monitoring of exact kNN queries hereafter
referred as YPK-CNN. The new query is evaluated in two steps.
First the algorithm searches for
objects around
in
iteratively enlarged square
centered at cell
, the resident cell of query. Fig.
shows an example of 1-NN query where in first step
is found with distance
from q. To guarantee
the correctness of results, YPK-CNN processes all the cells intersected by a square SR centered at
with side length
and updates the answer if necessary. Fig. shows that the actual
answer
is found when all the cells within square of each side
(shaded cells) are visited.
YPK-CNN processes all objects from
to
in the running example.
Figure:
YPK-CNN
[initial NN computation]
[Update Handling]
|
Upon receiving the object updates, YPK-CNN uses the previous result of query to update the new result.
Let
be the maximum distance of the object
from
that is one of the previous nearest neighbors
and has now moved farthest from
, YPK-CNN updates the results as follows. Algorithm visits all the cells
within square SR with side length
.
Fig. shows that object
issues an update to location
so
is set to
dist(
,q). YPK-CNN visits all objects (
to
) in the shaded cells of the figure
and identifies
as the new NN. When a query point changes its location, it is deleted and then
handled as new query (i.e., its answer is computed from scratch).
Muhammad Aamir Cheema
2007-10-11