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