For the nondeterministic case, we implemented and tested the
algorithms for a single robot that moves in a simply connected
polygonal region in
using an omnidirectional visibility
sensor. For such environment, the shadows are completely characterized
by bitangents and inflections. When the environment is known and the
robot can localize itself, efficient 2D cell decomposition algorithms
can be readily applied to obtain the sequence of shadows for each
location of the robot, allowing the shadows to be continuously
tracked. This setup also enables us to construct an oracle (not
available to the algorithm) for distributing targets inside the free
space to simulate their nondeterministic behavior. For max-flow, we
implemented the
-time Edmonds-Karp max-flow algorithm
[8], in which
and
are the numbers of vertices and
edges in the flow graph, respectively.
![]() |
For the environment in Figure 15(a), the trajectory
generates
component events. Our oracle randomly distributed
targets in the free space as the component events occur. This
setting yields a bipartite graph that has
vertices and
edges. Calculating the lower and upper bounds for the
final
shadow components for a single team took
seconds. The second
free space, shown in Figure 15(b), has
component
events,
total shadow components,
vertices in the bipartite
graph with
edges. The example involves a million targets with
teams that intersperse. The bounds on the
final shadow
components for all
teams were computed under one second.
The inputs to the base algorithm (single attribute, no FOV events)
are: 1) A sequence of
shadows, and 2) The initial condition which
takes the form of a pair of lower and upper bounds for each shadow at
. In the worst case, there are
vertices and
edges in the bipartite graph. Edmonds-Karp max-flow then gives us
running time in the worst case. Applying push-relabel
algorithm with FIFO vertex selection rule will cut the running time to
[11]. Adding FOV events does not increase time
complexity asymptotically, as discussed in subsection
V-E. Adding partial distinguishability, on the other
hand, will introduce another input parameter
, the number of teams,
that contributes linearly to time complexity. The typical worst case
running time for the nondeterministic case is then
. The
number of targets in the system does not directly affect the
performance.