There are several alternatives for maintaining the cells. The main operation that needs to be performed efficiently is point location [264]: determine which cell contains a given state. The original method in [73] preallocates an -dimensional array. The collision-checking is even performed in advance. Any cell that contains at least one point in can be labeled as occupied. This allows cells that contain collision configurations to be avoided without having to call the collision detection module. For a fixed dimension, this scheme finds the correct cell and updates the labels in constant time. Unfortunately, the space requirement is exponential in dimension.
An alternative is to use a hash table to maintain the collection of cells that are labeled as visited. This may be particularly valuable if optimality is not important and if it is expected that solutions will be found before most of the cells are reached. The point location problem can be solved efficiently without explicitly storing a multi-dimensional array.
Suppose that the cubical decomposition is not necessarily used. One general approach is to define as the Voronoi regions of a collection of samples in . The ``name'' of each cell corresponds uniquely to a sample in . The cell that contains some is defined as the nearest sample in , using some predetermined metric on . As a special case, the cubical decomposition defines the cells based on a Sukharev grid (recall Figure 5.5a). If the dimension of is not too high, then efficient nearest-neighbor schemes can be used to determine the appropriate cell in near-logarithmic time in the number of points in (in practice, Kd-trees, mentioned in Section 5.5.2, should perform well). For maintaining a cubical decomposition, this approach would be cumbersome; however, it works for any sample set . If no solution is found for a given , then the partition could be improved by adding more samples. This allows any dense sequence to be used to guide the exploration of while ensuring resolution completeness, which is discussed next.
Steven M LaValle 2020-08-14