12.4.2 A Complete Algorithm

Now consider designing a complete algorithm that solves the problem in the case of a single pursuer. To be complete, it must find a solution if one exists; otherwise, it correctly reports that no solution is possible. Recall from Figure 12.38 that the nondeterministic I-state changed in an interesting way only after a critical boundary was crossed. The pursuit-evasion problem can be solved by carefully analyzing all of the cases in which these critical changes can occur. It turns out that these are exactly the same cases as considered in Section 12.3.4: crossing inflection rays and bitangent rays. Figure 12.38 is an example of crossing an inflection ray. Figure 12.41 indicates the connection between the gaps of Section 12.3.4 and the parts of the environment that may contain the evader.

Figure 12.41: Recall Figure 11.15. Beyond each gap is a portion of the environment that may or may not contain the evader.
\begin{figure}\begin{tabular}{cc}
\psfig{figure=figs/gaps3_color.idr,width=2.5in...
...fig{figure=figs/gaps2.idr,width=2.3in} \\
(a) & (b)
\end{tabular}
\end{figure}

Recall that the shadow region is the set of all points not visible from some $ p(t)$; this is expressed as $ R \setminus V(p(t))$. Every critical event changes the number of shadow components. If an inflection ray is crossed, then a shadow component either appears or disappears, depending on the direction. If a bitangent ray is crossed, then either two components merge into one or one component splits into two. To keep track of the nondeterministic I-state, it must be determined whether each component of the shadow region is cleared, which means it certainly does not contain the evader, or contaminated, which means that it might contain the evader. Initially, all components are labeled as contaminated, and as the pursuer moves, cleared components can emerge. Solving the pursuit-evasion problem amounts to moving the pursuer until all shadow components are cleared. At this point, it is known that there are no places left where the evader could be hiding.

If the pursuer crosses an inflection ray and a new shadow component appears, it must always be labeled as cleared because this is a portion of the environment that was just visible. If the pursuer crosses a bitangent ray and a split occurs, then the labels are distributed across the two components: A contaminated shadow component splits into two contaminated components, and a cleared component splits into two cleared components. If the bitangent ray is crossed in the other direction, resulting in a merge of components, then the situation is more complicated. If one component is cleared and the other is contaminated, then the merged component is contaminated. The merged component may only be labeled as cleared if both of the original components are already cleared. Note that among the four critical cases, only the merge has the potential to undo the work of the pursuer. In other words, it may lead to recontamination.

Figure 12.42: The environment is decomposed into cells based on inflections and bitangents, which are the only critical visibility events.
\begin{figure}\begin{center}
\begin{tabular}{cc}
\psfig{file=figs/ex10.idr,width...
...} \\
Bitangent rays & Cell decomposition
\end{tabular}\end{center}
\end{figure}

Consider decomposing $ R$ into cells based on inflection rays and bitangent rays, as shown in Figure 12.42. These cells have the following information-conservative property: If the pursuer travels along any loop path that stays within a 2D cell, then the I-state remains the same upon returning to the start. This implies that the particular path taken by the pursuer through a cell is not important. A solution to the pursuit-evasion problem can be described as a sequence of adjacent 2D cells that must be visited. Due to the information-conservative property, the particular path through a sequence of cells can be chosen arbitrarily.

Searching the cells for a solution is more complicated than searching for paths in Chapter 6 because the search must be conducted in the I-space. The pursuer may visit the same cell in $ R$ on different occasions but with different knowledge about which components are cleared and contaminated. A directed graph, $ {\cal G}_I$, can be constructed as follows. For each 2D cell in $ R$ and each possible labeling of shadow components, a vertex is defined in $ {\cal G}_I$. For example, if the shadow region of a cell has three components, then there are $ 2^3 = 8$ corresponding vertices in $ {\cal G}_I$. An edge exists in $ {\cal G}_I$ between two vertices if: 1) their corresponding cells are adjacent, and 2) the labels of the components are consistent with the changes induced by crossing the boundary between the two cells. The second condition means that the labeling rules for an appear, disappear, split, or merge must be followed. For example, if crossing the boundary causes a split of a contaminated shadow component, then the new components must be labeled contaminated and all other components must retain the same label. Note that $ {\cal G}_I$ is directed because many motions in the $ {\cal I}_{ndet}$ are not reversible. For example, if a contaminated region disappears, it cannot reappear as contaminated by reversing the path. Note that the information in this directed graph does not improve monotonically as in the case of lazy discrete localization from Section 12.2.1. In the current setting, information is potentially worse when shadow components merge because contamination can spread.

To search $ {\cal G}_I$, start with any vertex for which all shadow region components are labeled as contaminated. The particular starting cell is not important. Any of the search algorithms from Section 2.2 may be applied to find a goal vertex, which is any vertex of $ {\cal G}_I$ for which all shadow components are labeled as cleared. If no such vertices are reachable from the initial state, then the algorithm can correctly declare that no solution exists. If a goal vertex is found, then the path in $ {\cal G}_I$ gives the sequence of cells that must be visited to solve the problem. The actual path through $ R$ is then constructed from the sequence of cells. Some of the cells may not be convex; however, their shape is simple enough that a sophisticated motion planning algorithm is not needed to construct a path that traverses the cell sequence.

The algorithm presented here is conceptually straightforward and performs well in practice; however, its worst-case running time is exponential in the number of inflection rays. Consider a polygonal environment that is expressed with $ n$ edges. There can be as many as $ O(n)$ inflections and $ O(n^2)$ bitangents. The number of cells is bounded by $ O(n^3)$ [412]. Unfortunately, $ {\cal G}_I$ has an exponential number of vertices because there can be as many as $ O(n)$ shadow components, and there are $ 2^n$ possible labelings if there are $ n$ components. Note that $ {\cal G}_I$ does not need to be computed prior to the search. It can be revealed incrementally during the planning process. The most efficient complete algorithm, which is more complicated, solves the pursuit-evasion problem in time $ O(n^2)$ and was derived by first proving that any problem that can be solved by a pursuer using the visibility polygon can be solved by a pursuer that uses only two beams of light [770]. This simplifies $ V(p(t))$ from a 2D region in $ R$ to two rotatable rays that emanate from $ p(t)$ and dramatically reduces the complexity of the I-space.

Steven M LaValle 2020-08-14