It is immediately verified that only the queries recorded in the influence
lists of cell
or cell
may be affected by the
update
, where
(
) is the cell containing
(
). Therefore, after
receiving an update
, continuous
monitoring module checks these queries
only and takes the necessary action as described
above. Note that a new point registered at system can be treated
as an object update assuming
be at infinite distance from
. Similarly, a point
deletion can be considered as an object moved to a location at infinite distance from
(
).
After all the updates are handled as described above, we update the results of each
affected query
as follows.
Case 1: if
. We keep only
closest points to
and delete all others. Then,
is updated accordingly. After updating the results,
may become smaller. So, we have to remove
from the influence lists of cells
whose
is greater than current
. The update of influence lists
is discussed in section
.
Case 2: if
. The recomputation is similar to initial
NN computation but we only need to find the new
nearest neighbors
of
instead of all
NNs. The only difference is that, we set the radius of the first
circle
as
and then initialize
to be
. Similar to
Algorithm
, we repeatedly collect cells round by round and examine
them in ascending order of their minimum distance to
till all
NNs are found.
When accessing a cell, we only consider data points
which do not already belong to
.
Muhammad Aamir Cheema 2007-10-11