Reachability and Coverage Planning for Connected Agents:
Extended Version
Tristan Charrier1
Arthur Queffelec1
Ocan Sankur2&François Schwarzentruber1
Univ Rennes, CNRS, IRISA1
Univ Rennes, Inria, CNRS, IRISA2
[email protected],
[email protected]
Abstract
Motivated by the increasing appeal of robots in information-gathering missions,
we study multi-agent path planning problems in which the agents must remain
interconnected. We model an area by a topological graph specifying the movement
and the connectivity constraints of the agents. We study the theoretical
complexity of the reachability and the coverage problems of a fleet of connected
agents on various classes of topological graphs.
We establish the complexity of these problems on known classes, and introduce a new class
called sight-moveable graphs
which admit efficient algorithms.
1 Introduction
A number of use cases of planning rose in information-gathering missions from
the development of unmanned autonomous vehicles (UAVs). For instance, in search
and rescue missions, a fleet of drones can cover a lot of ground in a short
amount of time and report any finding to a mission supervisor to narrow the
search for the rescue team. Other examples are the analysis of terrain for smart
farms and in hazardous locations. For this kind of missions, the information
gathered is used for decision making at a supervising station. Thus, the drones
need to be constantly in communication with the station to report the gathered information
during the mission. The use of multiple UAVs to cover an area not only reduces the time
required to complete the mission but can also enable reaching locations which would
not be reachable with a single drone due to connection constraints.
The original multi-agent path planning problem asks for a plan to reach a
configuration of agents in a graph. However, an important problem for search and
rescue missions or terrain analysis is the coverage of an area. We thus study
both the coverage problem and the reachability problem under a connection
constraint over the agents which requires them to be connected to the base
either directly or via another agent, who can relay its data. We establish the
computational complexity of the connected coverage in its general case and for a
practical subclass introduced recently Tateo et al. (2018) in
which the UAVs can communicate with others located within one step, called the
neighbor-communicable topological graphs. We show that the coverage is
PSPACE-complete in the general case, and remains so for neighbor-communicable
topological graphs. Thus, restricting to neighbor-communicable graphs does not
render the problem feasible, and the relatively high complexity unfortunately
remains. Note that this is in line with the PSPACE-completeness of the
reachability problem recently reported in Tateo et al. (2018).
Our main result in this paper is the definition of a class of topological graphs
which is well adapted and realistic for UAV missions, and for which the coverage
and reachability problems admit efficient solutions. Our subclass, called
sight-moveable graphs, is defined assuming that the UAVs cannot
communicate through obstacles and are restricted to line-of-sight communication.
This class emerged from an ongoing case study for a drone assisted search and
rescue project in which the authors take part. For this class, we prove that
both the reachability and coverage problems are in LOGSPACE while the existence
of a bounded execution is in NP. This drastically changes the status of this
problem since by LOGSPACE ⊆ NC (this is the class of problems solvable
in polylogarithmic time in a parallel machine with a polynomial number of
processors),
one can build an efficient parallel algorithm Cook (1979).
The NP upper bound is also useful since this means efficient SAT solvers can be used directly
to compute bounded executions.
We prove that our algorithms for the bounded variants are optimal by showing NP-hardness
in each case.
In this work, we consider all agents to be anonymous in both cases (reachability
and coverage). Furthermore, we consider the collisions to be handled by the
agents themselves, hence are not considered along the results of this paper. We
depicted a covering execution of a topological graph by 3 UAVs in Figure
1. In this example, the UAVs need to gather
information at each node of the graph while staying connected to the base (red
node) during the whole mission.
In Section
2, we present the typical notions used in MAPP and their extension
for our case and the known results in connected planning. In Sections
3 to 6, we study the complexity of our problems from the general case
to the most restrictive one. We describe the related works in Section 7.
We conclude in Section 8.
2 Preliminaries
We first present the topological graphs and the subclasses we consider on which
we study the complexity of our problems. Then, we give definitions of plans and
executions, and formally define problems we consider.
In most applications of path planning, the space is discretized
in order to generate a graph of movements on which algorithms are executed.
For instance, regular grids which decompose the space
in square, triangular or hexagonal cells, irregular grids with techniques
such as quadtree Finkel and Bentley (1974); Knoll:06 or Voronoï diagram
comprehensively discussed in the survey Aurenhammer (1991).
Our work is independent of the particular method used to obtain the discretization.
We only work under the hypothesis that a feasible plan on the graph generated by
the discretization is also feasible in the continuous space.
2.1 Topological graph
Compared to the graphs used in MAPP, we also consider communication edges
which specify whether agents at two different locations can communicate. We call
graphs with this additional information topological graphs. The formal
definition is the following.
Definition 1** (Topological graph).**
A topological graph is a tuple G=⟨V,→,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⟩, with V a finite set of nodes containing
a distinguished element B, →⊆V×V a set of
movement edges and \scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⊆V×V a set of undirected
communication edges.
The node B symbolizes the supervision station from which the agents
start the mission. A topological graph is undirected if ⟨V,→⟩ is an undirected graph.
We will now consider three subclasses of interest.
In most situations, if an agent can move to a location in one step, it can also
communicate with an agent at that location. This class has been discussed in
Tateo et al. (2018). We call topological graphs satisfying this
requirement neighbor-communicable. An example is given in
Figure 2(b).
Definition 2** (Neighbor-Communicable topological graph).**
A
neighbor-communicable topological graph is a topological graph such that v→v′ implies v\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturev′.
Another class of graphs is that of sight-moveable and is the main one for
which we give efficient algorithms. First, this class requires the movement
edges to be undirected and reflexive. Second, whenever an agent can communicate
with another node, then it can also move to that node while maintaining the communication.
This intuitively means that we disallow communication through obstacles.
The formal
definition follows, and an example is depicted in Figure 2(c).
Definition 3** (Sight-Moveable topological graph).**
A sight-moveable topologic
graph is an undirected neighbor-communicable topological graph in
which for all v∈V, v→v and whenever v\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturev′, there exists a
sequence ρ=⟨ρ1,…,ρn⟩ of nodes such that
v=ρ1, v′=ρn, v\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpictureρi and ρi→ρi+1 for
all i∈{1,n}.
Last, we define the complete-communication topological graphs which are
simply sight-moveable topological graphs with a complete communication topology.
This subclass can model the use of a hovering connected agent which allows a
constant communication for all the agents in the area. An example of such a
graph is depicted in Figure 2(d), and the formal definition is
the following.
Definition 4** (Complete-Communication topological graph).**
A
complete-communication topological graph is a sight-moveable topological
graph such that \scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture=V×V.
Observe that complete-communication graphs are reflexive, undirected, connected
graphs with \scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture=V×V.
2.2 Execution
A plan or execution, in MAPP, is a list of configurations which
describes the placement of the agents during the mission. The formal definition
of a configuration is the following.
Definition 5** (Configuration).**
A configuration c of n agents in a
topological graph G is an element of Vn denoted c=⟨c1,…,cn⟩ in which ci is the location of the agent i such
that the graph ⟨Va,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∩Va×Va⟩ is connected
with Va={B,c1,…,cn}. We extend our notation
and denote c→c′ when ci→ci′ for all 0<i≤n.
Furthermore, in the literature, MAPP asks to associate an agent to a specific
goal. However, given that we are interested in covering an area with a fleet of
agents, the anonymity is useful to get more efficient plans.
Anonymity. In the rest of this paper, we consider the agents to be
anonymous. In other words, a configuration c is equivalent to a
configuration c′ iff c is a reordering of c′.
Moreover, an important notion in MAPP is the computation of collision-free
plans. In the drone case, in which we are particularly interested, one can place
drones at different heights to avoid collisions. Additionally, most drones are,
nowadays, equipped with local collision avoidance systems.
Collisions. We do not deal with meet- or head-on-collisions
of agents, i.e. we allow two agents to be located
in a same node,
and to move in opposite directions of an edge within a step.
An execution e of length ℓ with n agents
in a graph G is a sequence of configuration ⟨c1,…,cℓ⟩ such that for ci→ci+1 for all 0<i<ℓ.
A covering execution e=⟨c1,…cℓ⟩ of length ℓ with n agents in a graph G is an
execution such that c1=cℓ=⟨B,…,B⟩ and for all
v∈V, there exists i∈{1,…,ℓ} with v∈ci.
2.3 Decision problems
We define the MAPP problems, the Reachability problem along with its
bounded version, bReachability, for the makespan optimization of the
plan. In addition, we define the Coverage problem and the bounded
coverage, bCoverage.
Definition 6** (Reachability).**
Given a topological graph G and a configuration c,
decide if there is an execution ⟨c1,…,cℓ⟩ in G such that c1=⟨B,…,B⟩ and
cℓ=c.
Definition 7** (Coverage).**
Given a topological graph G and n∈\mathdsN written in unary,
decide if there exists a covering execution with n agents.
Definition 8** (bReachability).**
Given a topological graph G, configuration c and
ℓ∈\mathdsN written in unary,
decide if there is an execution ⟨c1,…,cℓ′⟩ in G s.t. ℓ′≤ℓ and cℓ′=c.
Definition 9** (bCoverage).**
Given a topological graph G, n,ℓ∈\mathdsN written in unary,
decide if there exists a covering execution of length ℓ′ such
ℓ′≤ℓ.
We study the restrictions of the above problems to
classes of topological graphs. We denote by Bc , with B one of the four
above problems restricted to the class of topological graph c (c can either
be dir for directed, nc for neighbor-communicable, sm for sight-moveable
or cc for complete-communication topological graphs).
2.4 Known results
The complexity of the decision problem associated to the minimization of the
makespan is known to be NP-hard since Ratner and Warmuth (1986). Throughout the study of
MAPP, NP-hardness was shown to hold on planar graphs Yu (2016)
and, later, on 2D grid graphs Banfi et al. (2017). Variants
of MAPP have been studied such as the package-exchange
robot-routing problem Ma et al. (2016) where the robots are anonymous but not
the package they exchange, is shown to be NP-hard. A class
of grid graphs was shown to be solvable in polynomial time
Wang and Botea (2009).
The connected version of MAPP was introduced in Hollinger and Singh (2012), in
which a topological graph discretizes the space and it is proved that the
existence of a plan for the reachability of a configuration of agents in a
bounded amount of steps is NP-hard:
Theorem 10**.**
bReachability* restricted to undirected topological graphs is NP-hard
Hollinger and Singh (2012).*
In Tateo et al. (2018), it is shown that deciding the existence of
a feasible plan is PSPACE-complete:
Theorem 11**.**
Reachability* restricted to undirected topological graphs is PSPACE-complete
Tateo et al. (2018).*
Authors prove this result for graphs with self-loops and a
base Tateo et al. (2018) as in our setting (see Discussion
following Theorem 1). The only difference with our setting is that the agents
start at a specific configuration in Tateo et al. (2018).
Nevertheless, it can be shown easily that our problem is equivalent by
duplicating the base and adding edges so that the agents reach the initial
configuration at the second step.
In the rest of the paper, we study the upper bounds and the lower bounds
complexity of the defined decision problems on the previously defined
topological graphs. The following sections present our results, respectively,
for the general case, the neighbor-communicable graphs, sight-moveable graphs,
and complete-communication graphs.
3 Directed Topological Graphs
We start with the following upper bound which is obtained
by a straightforward guess and check algorithm:
Proposition 12**.**
bCoveragedir* and bReachabilitydir are in NP.*
In both cases, we can guess and check a path of bounded length in NP since the
input is encoded in unary.
We furthermore establish the following results:
Theorem 13**.**
Coveragedir* and Reachabilitydir are PSPACE-complete.*
The upper bounds are obtained by a straightforward NPSPACE algorithm
that guesses an execution by keeping in memory the last configuration,
and, for Coveragedir , the set of visited regions. We conclude with
Savitch’s Theorem (NPSPACE=PSPACE)Savitch (1970).
The lower bound on Reachabilitydir was proven in Theorem 11. We
now concentrate on Coveragedir .
Lemma 14**.**
Coveragedir* is PSPACE-hard.*
Proof.
The proof is by reduction from Reachabilitydir in which the base node has a
self-loop. As noted in the remark following Theorem 11,
this problem remains PSPACE-hard.
We map an instance (G,c) of Reachabilitydir to the instance G′ of Coveragedir where G′ is depicted in
Fig. 3. Let k denote the number
of agents in the instance (G,c). G′ contains G as a subgraph, plus fresh
nodes v1,…,vk and s1,…,sk. An agent can move from any node
of G to v1 and back.
Node s1 can communicate with the base B, and node vk can communicate
with all nodes of G′. Furthermore, we have the communication edges
(si,si+1) and (vi,vi+1) for all 1≤i≤k−1.
Now we prove that the k agents can progress to the
configuration (c1,…,ck) in G if and only if there exists a
covering execution in G′.
(⇒) If the agents are in the configuration (c1,…,ck)
then they can progress in one step to configuration (s1,…,sk). Then,
they have no choice but progress to the configuration (v1,…,vk).
Once in this configuration, the agent placed on the node vk
communicates with the base and with all other agents. This agent stays at vk. Meanwhile the agent placed on the
node v1 will visit all unvisited nodes of G and come back to v1
while keeping communication to the base through the agent placed on vk.
Meanwhile, agents placed on v2,…,vk−1 come back to B. Finally,
when all the nodes have been visited, both agents on v1 and vk come
back to B.
(⇐) If there exists a covering execution of the whole graph G′,
it means all nodes have been visited. In particular, node sk has been
visited and let us consider the first time tsk when sk is visited.
Time tsk−1 denotes the time just before tsk.
Fact 15**.**
At time tsk−1, no node vi and no node si were visited.
Proof.
Suppose by contradiction that a node vi was visited by some agent
before tsk, then the only possibility such an agent to communicate
to the base is that there is also an agent at vk at time tsk.
But then, it means that sk was visited strictly before tsk,
leading to a contradiction. Thus, no node vi were visited at time
tsk (thus at time tsk−1).
As no node vi are visited before tsk, no node si are visited
before tsk−1.
∎
Fact 16**.**
At time tsk−1, the configuration is ⟨c1,…,ck⟩.
Proof.
At time tsk, as the agent at sk needs to communicate with the base,
the only
possibility is that the configuration is ⟨s1,…,sk⟩. Thus, the
only possibility is that configuration is ⟨c1,…,ck⟩.
∎
Facts 15 implies that the prefix from
time 0 to time tsk−1 of the covering execution is an execution in G.
Fact 16 implies that sub-execution reaches ⟨c1,…,ck⟩.
∎
4 Neighbor-Communicable Topological Graphs
In this subsection, we show that our problems remain hard
for neighbor-communicable graphs.
Theorem 17**.**
Coveragenc* is PSPACE-complete.*
Proof.
The upper bound is given by Theorem 13.
For the lower bound on Coveragenc , the reduction given in
Figure 3 is not adapted
for neighbor communicable graphs.
Indeed, all nodes may be visited although c1,…,ck
is not reached: v1 and vk can be reached by two lines of agents
connected to the base, making the coverage of the full graph possible.
We nevertheless give a similar reduction by adapting the previous reduction.
The corrected construction is given in Figure
4. When
configuration ⟨c1,...,ck⟩ is reached, the agents go through
a first layer of length k+1 in which the first agent can communicate with
B. Then they go through another layer of length k+1 in which the
kth agent can communicate with B. This way, it is mandatory that all
agents move at the same time to visit ⟨v1,…,vk⟩. Once
the kth agent is at vk, all agents can communicate with B wherever
they are, so they can visit remaining states in the copy of G. Now let us
prove that ⟨c1,…,ck⟩ is reachable in G iff it is
possible to cover all nodes in G′.
(⇒) If ⟨c1,…,ck⟩ is reachable in G,
then we extend the execution to reach ⟨v1,…,vk⟩) and
by the same trick as in Figure 3,
the agent that reaches v1 visits all the remaining unvisited nodes in
G. Thus, we extend the execution for covering all nodes in G′.
(⇐) Suppose all nodes are visited in G′. In particular, v1
and vk are visited. Let us consider the first moment tvi when a
node vi is visited.
Fact 18**.**
At the first moment, the configuration of the agents is ⟨v1,…,vk⟩.
Proof.
Let us prove that there is an agent at vk. Suppose that at that
moment there is no agent at vk. Due to the topological graph G′, the
agent at vi is disconnected from the base since nodes that
communicate directly to B are too far from vi: indeed, the top
k+1-grid is too long and, for i=1, the path on left between v1
and the copy of G is too long. Contradiction.
The agent at vk came from the unique 2k+2-long path from ck to
vk. Actually, k+1 steps before - let us call this moment tsk,
she was on sk. But at that time, due to the topological graph, there
are k agents on the row containing sk, otherwise the agent at sk
would have been disconnected from the base (the bottom k+1-grid is too
long).
So k+1 times later tsk, all the k agents are at ⟨v1,…,vk⟩.
∎
Taking Fact 18 as granted, we consider time t that is
2k+2 steps before and we clearly have the following fact.
Fact 19**.**
At time t, the configuration is ⟨c1,…,ck⟩.
Moreover, the following fact holds.
Fact 20**.**
At time t, no node outside G were visited.
Proof.
By contradiction, if some node outside G were visited, it means that
some agent went out the copy of G. By definition of G′, it would
mean that a node vi would have been visited, before time t, hence
strictly before tvi. Contradiction.
∎
To sum up, the prefix of the execution from ⟨B,…,B⟩ to
⟨c1,…,ck⟩ is fully inside the copy of G. So
⟨c1,…,ck⟩ is reachable in G.
∎
5 Sight-Moveable Topological Graphs
In this subsection, we show that Reachabilitysm and Coveragesm are in LOGSPACE while the bounded version bReachabilitysm is
NP-complete.
5.1 Upper bounds
The results in this subsection are based on a result of Reingold Reingold (2008), who
proved that the problem of checking the connectivity of two nodes s and t in an
undirected graph, namely USTCONN, is in LOGSPACE.
Theorem 21**.**
USTCONN is in LOGSPACE Reingold (2008).
Proposition 22**.**
Reachabilitysm* is in LOGSPACE.*
Proof.
The idea of the proof is to reduce Reachabilitysm to UCONN, that is the problem
of deciding whether an undirected graph is connected. From
Theorem 21, we can reduce UCONN to USTCONN
by simply looping over all pairs of nodes (s,t) and
checking for a path from s to t. Therefore, UCONN
is in LOGSPACE.
Now we describe the logarithmic space reduction of Reachabilitysm
to UCONN. Let G=⟨V,→,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⟩ a sight-moveable
topological graph and c a configuration. Let V′={c1,…,cn,B}. The configuration c is reachable iff the
restriction of G′:=(V,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture) to the nodes in
V′ is
-connected. Indeed, if it is, then c is reachable:
each agent follows some →-path from B to ci contained in
a
-path from B to ci. In other words, (G,c) is a
positive Reachabilitysm -instance iff G′ is a positive
UCONN-instance. The reduction is in logarithmic space: we compute
G′ by enumerating all (u,v)
-edges in G, and
we output (u,v) when u,v∈V′. We recall that we only take
into account the working memory for computing G′; the
output – G′ itself – is not taken into account in the
used space (see e.g. Sipser (1997), Ch. 8, Def. 8.21).
∎
Proposition 23**.**
Coveragesm* is in LOGSPACE.*
Proof.
First we prove that the bounded version of the connectivity in undirected
graphs is also in LOGSPACE.
Lemma 24**.**
Bounded-USTCONN, that is the problem, giving an undirected graph
G, two nodes s,t, an
integer n written in binary, of deciding whether there is a path of
length at most n from s to t in G is in
LOGSPACE.
Proof.
We reduce Bounded-USTCONN to USTCONN in logarithmic space as
follows. From a Bounded-USTCONN instance (G,s,t,n) we construct in logarithmic space a
USTCONN instance (G′,s′,t′):
-
The nodes of G′ are pairs (v,j) where v
is a node of G and j is an integer in
{0,n} but smaller than the number of nodes in
G′;
-
G′contains an edge between (v,j) and
(v′,j+1) when there is an edge between v and v′ in
G or when v=v′;
-
s′=(s,0)and t′=(t′,n).
∎
Now let G=⟨V,→,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⟩ be a sight-moveable topologic
graph and n an integer written in binary. To test whether (G,n) is a
positive instance of Coverage, it suffices to check that there is a path
from any node v to the base B with at most n communication edges. To
do that, we test sequentially, for all v, that ((V,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture),v,B,n) is
a positive instance of Bounded-USTCONN . Thus, we obtain an algorithm in
logarithmic space to decide Coverage.
∎
5.2 Lower bounds
We now focus on the NP lower bound of bReachabilitysm .
Proposition 25**.**
bReachabilitysm* is NP-hard for a fixed execution length ℓ≥3.*
Proof.
The proof is by polynomial time reduction from 3-SAT problem (see Karp (1972)).
Given a 3-SAT instance, set of clauses c1,…,cm with variables x1,…,xn,
we describe the
construction of an instance (G,c) of bReachabilitysm with k=n+m agents.
The topological graph G=⟨V,→,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⟩ is constructed
as follows. We start by placing the base B from which the agents start
their mission.
Please recall that a sight-moveable graph is also a neighbor-communicable graph so
all movements edges are also communication edges in the construction below
even if not explicitly stated.
For each variable x, we construct a gadget composed of
5 nodes connected to the base depicted in Figure 6(a): nodes
x, ¬x, staging nodes
nx, n¬x and a
goal node gx. We add movement edges from B
to nx, from nx to
x and from x to
gx (resp. from B to n¬x, from n¬x to ¬x and from ¬x to
gx). As for the communication, the node
x (res. ¬x) communicates
with the base.
For each clause c, we construct a gadget composed of 3
nodes depicted in Figure 6(b). We create a node c, a
staging node nc and a goal node gc. We add
movement edges from B to nc, from nc to c
and from c to gc.
The communication between a clause c and a literal
x or ¬x is dictated by the
existence of the literal in the clause: ci\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicturexj if and only if xj∈ci; and ci\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture¬xj
if and only if ¬xj∈ci.
We add movement edges from
gxi to gxi+1,
and from gci to gci+1 for all 1≤i<n,
as well as we from
gxn to gc1.
Last, we add a fully connected path containing 3 fresh nodes from gx1 to the base such that gx1\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpictureB,
in the sense that all nodes of this path have communication edges between them.
This translation is polynomial in the number of clauses and variables.
The construction is depicted in Figure 5.
The snake-like path from gx1 to B is the
fully connected path.
From a 3-SAT instance, one can construct the graph G and ask for an
execution of length 3 to reach the configuration ⟨gx1,…,gxn,gc1,…,gcm⟩.
Fact 26**.**
G* is a sight-moveable topological graph.*
Proof.
One can see that the single communication edges created by the construction,
apart from the ones induced by the movement, are the communication between
the base B and the nodes xi and ¬xi. Hence, a path does exist under the communication
of B to reach xi.
∎
Now let us prove that a 3-SAT instance is satisfiable iff there exists an
execution of at most 3 steps in the graph G.
(⇒) We show that if a 3-SAT instance is satisfiable then there
exists an execution of at most 3 steps in the graph G built from it. Let
val be a truth assignment which satisfies the instance.
Recall that there are n+m agents.
The first step of the execution consists in moving an agent in each nci,
and for each variable xj, moving one agent to nxj if the val(xj)=1
and to n¬xj otherwise.
Note that all staging nodes communicate with B since the graph
is neighbor-communicable.
In the second step, all agents progress to their unique successors other than B.
While all nodes xj and ¬xj are connected to B,
a node ci is connected to B if and only if there is an
agent in one of its literals. This is the case since val satisfies the formula.
In the third step of the execution, agents go to states gxj and gci.
Here, the connection with the base is ensured since gx1 is connected
to it, and gx2 is connected to gx1, gx3 is connected to gx2 and
so on.
This execution is thus a solution of bReachabilitysm with bound ℓ=3.
(⇐) We now show that if there exists an execution of at most 3
steps in the graph G constructed from a 3-SAT instance, then the instance is
satisfiable. Assume we have an execution e of at most 3 steps with the last
configuration being ⟨gx1,…,gxn,gc1,…,gcm⟩.
The only shortest path from B to gci is of length 3 and goes through
nci. For states gxj, the only shortest paths are also of length 3
and go through either nxj or n¬xj. Thus, in order to reach the given
target configuration, at the initial step, agents must cover the states nci
and either nxj or n¬xj for all i,j. At the second step,
following the above mentioned shortest paths, agents will be at states ci
and either xj or ¬xj depending on the staging nodes they were occupying.
The last step is the target configuration.
Since the agents are connected at the second, it follows that for each clause ci,
the state corresponding to some literal of ci is occupied by an agent.
Thus the valuation on variables encoded by the choices of the agents satisfies the
3-SAT instance.
∎
From Propositions 12 and 25, we have:
Theorem 27**.**
bReachabilitysm* is NP-complete.*
6 Complete-Communication Topological Graphs
The following result relies on the fact that the communication constraints are
trivial this class.
Proposition 28**.**
bReachabilitycc* is in LOGSPACE.*
Proof.
From Lemma 24, one can construct an
algorithm in LOGSPACE for bReachabilitycc . Indeed, given a configuration c and
ℓ∈\mathdsN, the straightforward iteration on the locations ci
followed by the verification of a path of at most ℓ (given in unary) steps from
B to ci yields a sound and complete algorithm for bReachabilitycc .
∎
Our NP lower bound proof of the bCoveragecc problem is by reduction from
the grid Hamiltonian cycle (G-HC) problem which is the Hamiltonian cycle problem
restricted to grid graphs and is NP-complete Itai et al. (1982).
Theorem 29**.**
bCoveragecc* is NP-complete.*
Proof.
The upper bound follows from Proposition 12.
We give a polynomial-time reduction from the G-HC problem.
Consider a graph G=⟨V,E⟩, an instance of G-HC.
Consider the sight-moveable topological graph G′=⟨V,→,\scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture⟩ with → =E and \scalebox0.5\leavevmodeto27.52pt\vboxto7.03pt\pgfpicture\makeatletter\lower-5.60927ptto0.0pt\pgfsys@beginscope\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@setlinewidth0.4pt\pgfsys@invoke \nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@setdash3.0pt,3.0pt0.0pt\pgfsys@invoke \pgfsys@setlinewidth2.84528pt\pgfsys@invoke \pgfsys@moveto0.0pt0.0pt\pgfsys@lineto22.76228pt0.0pt\pgfsys@stroke\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke \pgfsys@beginscope\pgfsys@invoke \pgfsys@transformcm1.00.00.01.00.0pt-2.27626pt\pgfsys@invoke \definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke \pgfsys@color@rgb@fill000\pgfsys@invoke \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope \pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture=V×V and associate a
single agent and the bound ∣V∣ to the bCoveragecc instance.
We call a simple cycle containing all vertices a tour.
We prove that there exists a tour t in G iff there exists a
covering execution of length ∣V∣ in G′.
(⇒) Any tour of G is a valid execution satisfying
bCoveragecc since the communication edges form a complete graph,
and the bound is ∣V∣.
(⇐) Let us suppose that we have an execution of length ∣V∣
which covers the graph G′. The execution starts and ends at B
and
visits all nodes in ∣V∣ steps. Hence, the execution visits all nodes only
once and is a cycle in the graph.
∎
7 Related Work
The coverage planning is an interesting approach to path planning. Indeed, a
covering plan can be used for fields such as floor cleaning, lawn mowing, etc. A
survey of this field appears in Choset (2001). This multi-agent extension has
the ability to reduce the length of the overall mission and also reach parts of
the area a single agent would not able to. This problem was studied in
Rekleitis et al. (1997) for two agents. As shown in the survey by Chen et al.
Chen et al. (2014), many coverage problems have been addressed by using analytic
techniques. For instance, in Yanmaz (2012) and
Teacy et al. (2010), they consider UAVs that should cover an area
while staying connected to the base, but only empirically study some path planning
algorithms without proving their algorithms formally.
We advocate formal methods that give formal guarantees and have already been applied to
generate plans for robots and UAVs. Model checking has been
applied to robot planning (see Lacerda et al. (2014)) and to UAVs Webster et al. (2011).
Humphrey Humphrey (2013) shows how to use LTL (linear-temporal logic) model
checking for capturing response and fairness properties in cooperation (for
instance, if a task is requested then it is eventually performed).
Bodin et al. Bodin et al. (2018) treat a similar problem except that the
UAVs cover the graph without returning to the base. Without the return-to-the-base
constraint, we claim that all our hardness results still hold, except
for bCoveragecc . They provide an implementation by describing the problem in
Planning Domain Description Language and then run the planner
Functional Strips Francès et al. (2017).
Murano et al. Murano et al. (2015) advocate for a
graph-theoretic representations of states, that is, by assigning locations to
agents as in Definition 5. In
Aminof et al. (2016); Rubin (2015), a general formalism is given to specify LTL and monadic second-order logic properties,
which are expressive enough to describe the connectivity constraint.
They provide an
algorithm for parametrized verification in the sense that they check a temporal
property in a class of graphs. This is relevant for partially-known
environments. The algorithm described is
non-elementary (i.e. the running time cannot bounded by any tower of exponentials)
and therefore not
usable in practice. We believe that this is an important problem
and our paper identifies an efficient and relevant fragment.
The multiple traveling salesman problem (mTSP) is a generalization of the
traveling salesman problem (TSP) in which multiple salesmen are located at a
depot Anbuudayasankar et al. (2016). mTSP asks for the coverage of all cities so as to minimize the total plan cost by visiting each city exactly once.
An overview of TSP and its extensions are presented
Matai et al. (2010). The Coverage problem is related to mTSP, since we use
results on Hamiltonian cycle to prove the NP-hardness of bCoveragecc .
However, we wish to minimize the length of the execution and not the cost of the
execution. Those problems are equivalent on unit graphs, but it is not trivial
to use general results on mTSP in order to solve Coverage . Furthermore, to
the best of our knowledge, connected versions of mTSP and VRP have not been
studied.
8 Conclusion
Sight-moveable topological graphs we introduced in this work only constrain
the communication graph. One can be interested to constrain the movement graph
to a planar graph or a 2D grid given the common usage of grid modelling of the
environment. Given the intractability of MAPP on planar graphs Yu (2016)
and on general 2D grid graphs Banfi et al. (2017), it is likely that this
problem is intractable as well. Furthermore, in
Tateo et al. (2018), the decision is proved to stay
PSPACE-complete on planar graphs and grids as well. However, one can study this
problem on solid grid graphs, given that the Hamiltonian cycle is tractable on
such graphs Umans and Lenhart (1997).
One can note that our NP lower bound reductions hold without the
anonymity of the agents. Indeed, the bCoverage case is straightforward and for bReachability case, each agent can be associated to a clause or variable, so the reduction would still hold.
We do not know if Coverage remains hard when the
→-relations become symmetric, depicted in Figure 7
as a question mark. We think this open issue is important since symmetric
→-relations (if UAVs can go from v to v′, they can also come
back from v′ to v) are relevant for practical applications. We plan to
study the parametrized complexity Downey and
Fellows (1999) of our
problems - parameters could be the treewidth of the topological graph, the
number of UAVs.