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.
![]() |
Recall that the shadow region is the set of all points not visible
from some ; this is expressed as
. 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.
![]() |
Consider decomposing 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
on different occasions but with different knowledge about which
components are cleared and contaminated. A directed graph,
, can
be constructed as follows. For each 2D cell in
and each possible
labeling of shadow components, a vertex is defined in
. For
example, if the shadow region of a cell has three components, then
there are
corresponding vertices in
. An edge exists
in
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
is directed
because many motions in the
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
, 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
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
gives the sequence of cells that must be visited to solve
the problem. The actual path through
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 edges. There can be as many as
inflections and
bitangents. The number of cells is
bounded by
[412]. Unfortunately,
has an
exponential number of vertices because there can be as many as
shadow components, and there are
possible labelings if there
are
components. Note that
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
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
from a 2D region in
to two rotatable rays that emanate
from
and dramatically reduces the complexity of the I-space.
Steven M LaValle 2020-08-14