# OpTopNET: A Learning Optimal Topology Synthesizer for Ad-hoc Robot Networks

Matin Macktoobian, Zhan Shu, and Qing Zhao
Department of ECE
University of Alberta
Edmonton, AB, Canada
Corresponding author<EMAIL_ADDRESS>
###### Abstract

In this paper, we synthesize a machine-learning stacked ensemble model a
vector of which predicts the optimal topology of a robot network. This problem
is technically a multi-task classification problem. However, we divide it into
a class of multi-class classification problems that can be more efficiently
solved. For this purpose, we first compose an algorithm to create ground-truth
topologies associated with various configurations of a robot network. This
algorithm incorporates a complex collection of nonlinear optimality criteria
that our learning model successfully manages to learn. Then, we propose a
stacked ensemble model whose output is the topology prediction for the
particular robot associated with it. Each stacked ensemble instance
constitutes three low-level estimators whose outputs will be aggregated by a
high-level boosting blender. The results of the simulations, applying our
model to a network of 10 robots, represents over %80 accuracy in the
prediction of optimal topologies corresponding to various configurations of
this complex optimal topology learning problem.

keywords: Ad-hoc robot networks, Topology learning, Stacked ensemble learning

##  1 Introduction

The integration of robotics and communication networks has been led to the
realization of unprecedented technologies without which many wide-spread
applications of robot networks could not be achieved. Robot networks
contribute to a multitude of critical missions such as surveillance [16],
search and rescue [18], explorations [15], collaborative communications [1],
and mobilization of sensor networks [2]. Mobile networks are inherently ad-
hoc, meaning one may exploit their communicational utilities without almost
any need for immobile infrastructures. A robot network, similar to classical
networks, requires a setting of communicational routes between its robots
using which the passage of information can be feasible. The overall
characterization of robots and their links involved in such routes is known as
the topology of their network. A robot network shall constantly constitute a
topology through which its robots are, either directly or indirectly,
connected to each other. Topology dramatically impacts various aspects of
communications in robot networks such as delay, fault tolerance, computation
distribution, and connection reliability [3]. Thus, finding the optimal
topology, based on specific criteria, associated with a particular
configuration of a robot network is often of utmost importance.

Robot networks often enjoy high degrees of freedom associated with their
robots which provide enough collective dexterity to perform their tasks.
However, the cited rich dynamism must not jeopardize the connectivity of a
their network. In particular, topology synthesis is essential in every motion
planning step associated with the agents of a robot network. Accordingly, when
some robots of a network need to move, their final locations have to be
checked so that there is at least a topology that can cover their
connectedness in the new configuration of their network. So, topology
synthesis is a continual requirement of robot networks in the course of their
operations. However, analytical syntheses of optimal topologies demand labor-
intensive computations which are inefficient, should one take a massive
network or complicated optimality criteria into account. In this regard,
computational complexity of topology checking can exponentially grow in the
case of particular topology formations [26, 10, 14, 23, 11], especially cycle
topologies.

Chain topologies are a class of formations suitable for robot networks with a
single actor robot while the remainder of its peers, except a base robot,
solely contribute to the maintenance of the communication flow between the
actor and the base robots [9]. However, chain topologies are too restrictive
in view of mission dexterity in many applications. Instead, cycle topologies
are legit options for various missions including surveillance, search and
rescue, exploration/excavation, and so on. Nonetheless, online computation of
a cycle topology corresponding to a robot network essentially entails the
computation of the largest cycle, known as backbone, available among the
robots of that network. This problem is indeed equivalent to checking whether
the graph of the network is Hamiltonian, which is an NP-hard problem [8, 13].
So, for a robot network with even a couple of robots, their optimal topology
cannot be analytically achieved efficiently, assuming a set of optimality
measures.

To relax the necessity of direct cycle topology computation, we alternatively
seek the synthesis of a data-driven predictor trained by the data of various
configurations of a robot network in addition to the optimal topology
information associated with those configurations. Given a new configuration of
robots, one can efficiently feed that configuration to the predictor to yield
a predicted cycle topology of the network. We stress that such a topology
prediction process may be extremely useful in the motion planning of a robot
network in a communicational perspective. Namely, when a motion step is
planned for the robots of a network, the result of those steps as a new
configuration, can be assessed by the topology predictor. If the predictor
returns any (optimal) topology, then the maneuvers of the robots may be
allowed. Otherwise, such a set of maneuvers shall be avoided as it would be
highly probable that their execution leads to various detachments of the
robots from their network. Put differently, we seek the solution to the
following problem.

###### Problem 1.

Suppose an algorithm, associated with a set of optimality criteria, using
which one can yield the optimal topology corresponding to an ad-hoc robot
network. Then, given a dataset comprising the ground-truth results of the
presupposed algorithm, synthesize a data-driven model which can predict the
optimal topology of an unknown configuration of the intended ad-hoc robot
network.

In the next section, we review the major results in topology learning for ad-
hoc networks. Meanwhile, we highlight their advantages and disadvantages in
the context of robot networks.

###  1.1 Related Work

Various data-driven strategies have been employed to learn topological
information of ad-hoc networks. As the first class of methods, convolutional
graph networks exhibit remarkable potential to learn graph structures in
fully-connected networks using convolutional graph layers [5]. However, these
convolutional layers are not capable of properly learning topologies in
incomplete graphs which, are common in general robot networks. These layers
are also not ideal artifacts to systematically apply optimality constraints to
learning models.

Unsupervised learning strategies have also been used to perform learning
processes without any pre-defined topological information. For example, in
[6], an online incremental method was introduced in which agents are
sequentially clustered, but the efficiency of this scheme in the case of
larger networks seems to be questionable. Moreover, due to the unsupervised
nature of this method, it only minimizes a distance-based error term
associated with network nodes. In this regard, imposing arbitrary optimality
measures is not a strength of this algorithm. A more versatile unsupervised
algorithm [20] extends detectable topologies to the class of non-stationary
network data. This technique, although, is mostly useful for the memory-driven
networks whose dynamics follow the adaptive resonance theory [4]. As well, its
results are inherently sub-optimal due to the fuzzy nature of its algorithm.

Literature also includes learning strategies that are hybrid in terms of the
used data structures in the course of topology learning. Namely, a sensor
network topology learning approach [12] assumes the availability of a
Markovian model describing the communicational interactions between its nodes.
This model infers a topology based on the Monte Carlo maximization of the
attachment of its nodes to each other. However, the strongly-restrictive
assumption of this scheme, say, assuming agents’ coordinates are all fixed,
makes it practically inapplicable to robot networks.

Learning network topologies based on computationally-affordable procedures
have been studied, e.g., [7, 22], at the cost of targeting sub-optimal
topologies. Using reinforcement learning to converge to optimal topologies
gave rise to slow and fluctuating convergence to other sub-optimal solutions
[25]. Topology analysis in high-frequency networks may safely assume very
dense but limited clusters of agents [19]. Thus, the number of clusters in
topologies are trivial, and the communication ranges are relatively longer
than the distance of agents. In the sequel, despite the ease of computation,
there are many optimal solutions which are noticeably different in view of
their node adjacency characteristics. So, such methods cannot be extended to
the cases where communications are critical in view of link quality similar to
robot networks.

Given the review above, we argue that the current topology learning approaches
lack sufficient flexibility and generality to be applied to the optimal
topology prediction for ad-hoc robot networks. Thus, in the next section, we
elucidate our contributions in this paper to fill those gaps, thereby solving
Problem 1.

###  1.2 Contributions

The contributions of this article, systematically aiming at solving Problem 1,
are fivefold as follows.

  1. 1.

The general topology prediction problem is a multi-task classification with
which is difficult to deal in terms of achieving high prediction accuracies.
So, we transform that problem to a set of multi-class classification problems
based on the divide-and-conquer paradigm. So, the topology prediction is
distributed among all robots by differently-tuned instances of our learning
architecture.

  2. 2.

We embed the topological information of a robot network in a scalable manner
in such a way that the dimensions of the multi-class classification problems
are fully specified only based on the number of robots in a network.

  3. 3.

Topology is generally a complex graph-based notion which cannot be easily
expressed without graph data structures. Such graph data structures may not be
processed in machine-learning pipelines as efficient as simple vectors of
data. Thus, we partition a topology to a backbone cycle and a branch set, so
that their information can be efficiently encoded to integer vectors.

  4. 4.

We preserve topological correlations of robots in the course of distributed
topological cluster predictions for each robot despite the distribution of the
main multi-task classification problem to a set of multi-class ones associated
with different robots.

  5. 5.

Our learning model successfully predicts the results of the optimal
topological label generator procedure of ours which includes complex non-
linear structural optimality criteria. So, our learning model exhibits
remarkable capabilities of learning different optimality templates in deep
representations of robot network data.

To summarize, we collect the spatial coordinates of the robots of a network
and the data associated with the optimal topologies of some already-checked
configurations of that network. Then, we generate local datasets each of which
corresponds to one of the robots and its topological correlations with its
peers. We synthesize (train, validate, and test) a set of stacked ensembles of
classifiers to solve the multi-class classification tasks associated with all
of the robots. This model is capable of predicting the optimal topology of a
new unexplored configuration of that robot network given the coordinate of its
robots in that configuration.

###  1.3 Organization

This article is organized as follows. In Section 2, we establish the grounds
of the required data which will be later used to synthesize an optimal
topology predictor. For this purpose, Section 2.1 includes the definitions
associated with the formalism based on which we model different entities of
optimal topology computation and their relations. Using those definitions,
Section 2.2 illustrates an algorithm to compute the optimal topology of a
given configuration of an ad-hoc robot network. Section 2.3 embeds the
topological information of that algorithm’s output to structure a dataset for
our further machine learning processing. In Section 3, we illustrate our
approach to solve the problem of optimal topology learning for robot networks.
To be specific, Section 3.1 covers the methodology of ours to resolve the
cited problem statement in the realm of machine learning. Then in Section 3.2,
we propose a stacked ensemble network of multi-class classifiers to solve this
multi-task problem in a divide-and-conquer manner. Section 4 displays the
promising results of the application of our model to a typical ad-hoc robot
network. We discuss the challenges and limitations of this research, and
future trends of research stemmed from our contributions in Section 5.
Finally, our conclusions are drawn in Section 6.

##  2 Data Engineering Methodologies

###  2.1 Ground-Truth Optimal Topology Establishment

The area around a typical robot may be radially partitioned into three
different regions according to the quality of its communication with other
peers which reside in those regions. In particular, communication quality of a
robot is maximum with respect to its peers which are located at a distance not
farther than a connectivity threshold $\delta>0$. The quality of communication
then decreases when the robot is supposed to communicate with a peer whose
location is outside of the aforesaid region but closer than the distance
$\delta+\epsilon$, where $0<\epsilon<\delta$ is a tension bound factor.
Finally, the robot cannot communicate with its peers whose locations are
beyond the boundary of the described region. In view of the discussion, we
employ $\delta$ and $\epsilon$ to define a robot network.

###### Definition 1 [Robot Network].

Let $\delta$ and $\epsilon$ be connectivity threshold and tension bound
factor, respectively, associated with a set of robots

$\mathcal{R}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\biggl{\\{}\mathcal{R}_{i}\mathrel{\Big{|}}i\in\mathcal{I}\biggr{\\}},$
(1)

where $\mathcal{I}$ is an index set to differentiate the elements of
$\mathcal{R}$. Then, 3-tuple $\mathcal{N}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(\mathcal{R},\delta,\epsilon)$
represents a robot network. We overload the notation
$\mathcal{R}_{i}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(x_{i},y_{i})$
to also denote the planar coordinate of robot $\mathcal{R}_{i}$.

The two definitions below specify the robots which are candidates for reliable
connections or critical ones to a typical robot. Critical connections are
those whose quality is not ideal.

###### Definition 2 [Reliable Set].

Let $\mathcal{N}=(\mathcal{R},\delta,\epsilon)$ be a robot network. Then,
given a robot $\mathcal{R}_{i}\in\mathcal{R}$, the reliable set
$\mathcal{R}_{i}^{+}$ is defined as follows.

$\mathcal{R}_{i}^{+}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\biggl{\\{}r\in\mathcal{R}\\!\setminus\\!\\{\mathcal{R}_{i}\\}\mathrel{\Big{|}}\lVert\mathcal{R}_{i}-r\rVert\leq\delta\biggr{\\}}$
(2)

###### Definition 3 [Critical Set].

Let $\mathcal{N}=(\mathcal{R},\delta,\epsilon)$ be a robot network. Then,
given a robot $\mathcal{R}_{i}\in\mathcal{R}$, the critical set
$\mathcal{R}_{i}^{-}$ is defined as follows.

$\mathcal{R}_{i}^{-}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\biggl{\\{}r\in\mathcal{R}\\!\setminus\\!\\{\mathcal{R}_{i}\\}\mathrel{\Big{|}}\delta<\lVert\mathcal{R}_{i}-r\rVert\leq\delta+\epsilon\biggr{\\}}$
(3)

We define the auxiliary notions of link set, associated with a robot network,
and connection relation between two robots, as below.

###### Definition 4 [Link Set].

Given a robot network $\mathcal{N}$, its link set reads as the following:

$\mathcal{L}_{\mathcal{N}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\biggl{\\{}(x,y)\mathrel{\Big{|}}\bigl{(}\forall
i,j\in\mathcal{I}\bigr{)}\Bigl{[}x\in\bigl{(}\mathcal{R}_{i}^{+}\dot{\cup}\mathcal{R}_{i}^{-}\bigr{)}\wedge
y\in\bigl{(}\mathcal{R}_{j}^{+}\dot{\cup}\mathcal{R}_{j}^{-}\bigr{)}\Bigr{]}\biggr{\\}}.$
(4)

###### Definition 5 [Connection Relation].

If robots $\mathcal{R}_{i}$ and $\mathcal{R}_{j}$, belonging to robot network
$\mathcal{N}$, are connected via link $l\in\mathcal{L}_{\mathcal{N}}$, then
the binary connection relation $\mathcal{C}(i,j)$ (or symmetrically,
$\mathcal{C}(j,i)$) holds.

Based on these definitions, the graph of a robot network is formalized as
follows.

###### Definition 6 [Robot Network Graph].

Let $\mathcal{N}=(\mathcal{R},\delta,\epsilon)$ be a robot network. Then,
$\mathcal{G}_{\mathcal{N}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(V_{\mathcal{G}_{\mathcal{N}}},E_{\mathcal{G}_{\mathcal{N}}})$
is the robot network graph associated with $\mathcal{N}$ such that

$\begin{cases}V_{\mathcal{G}_{\mathcal{N}}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\mathcal{R},\\\
E_{\mathcal{G}_{\mathcal{N}}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\mathcal{L}_{\mathcal{N}},\end{cases}$
(5)

are the set of vertices and edges of the graph, respectively.

Now, we establish the definition of a backbone cycle of a robot network which
is one of the two elements shaping the definition of a robot network topology,
as we will later see.

###### Definition 7 [Backbone Cycle111In a graph, a cycle is a closed path of
successive vertices and links in which neither vertices (except the start/end
one) nor links may be repeated [24].].

Let $\mathcal{G}_{\mathcal{N}}$ be the graph of a robot network $\mathcal{N}$.
Then, $\psi_{\mathcal{N}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(V_{\psi_{\mathcal{N}}},E_{\psi_{\mathcal{N}}})$
is a backbone cycle of $\mathcal{G}_{\mathcal{N}}$ such that

$V_{\psi_{\mathcal{N}}}\subseteq\Biggl{\\{}\bigcup\limits_{i\in\mathcal{I}}\mathcal{R}_{i}^{+}\Biggr{\\}},$
(6)

meaning all vertices of the backbone cycle are reliable with respect to each
other.

The relation below paves the way for scoping the communicational reachability
of a robot in a backbone cycle by another peer which is not an immediate
neighbor of it outside of the backbone cycle.

###### Definition 8 [Indirect Reachability].

If robot $\mathcal{R}_{i}$ can communicationally reach backbone cycle vertex
$v$ via a succession of its neighboring vertices, then we say
$\mathcal{R}_{i}$ indirectly reaches $v$, i.e.,
$\mathcal{R}_{i}\mathrel{\leadsto}v$.

The second element of a robot network topology is a branch set the atomic unit
defined as follows.

###### Definition 9 [Branch].

Given a robot network $\mathcal{N}$, branch $b_{\psi_{\mathcal{N}}}$ with
respect to backbone cycle $\psi_{\mathcal{N}}$ is a link
$l\in\mathcal{L}_{\mathcal{N}}$ between
$\mathcal{R}_{i},\mathcal{R}_{j}\in\mathcal{R}$, i.e., preserving
$\mathcal{C}(i,j)$, if any of the following mutually-exclusive statements
holds.

$\displaystyle[left={\empheqlbrace}$ $\displaystyle\bigl{(}\mathcal{R}_{i}\in
V_{\psi_{\mathcal{N}}}\bigr{)}\wedge\bigl{(}\mathcal{R}_{j}\not\in
V_{\psi_{\mathcal{N}}}\bigr{)},$ (7a)
$\displaystyle\bigl{(}\mathcal{R}_{i}\not\in
V_{\psi_{\mathcal{N}}}\bigr{)}\wedge\bigl{(}\mathcal{R}_{j}\in
V_{\psi_{\mathcal{N}}}\bigr{)},$ (7b) $\displaystyle\bigl{(}\exists v\in
V_{\psi_{\mathcal{N}}}\bigr{)}\Bigl{[}\bigl{(}\mathcal{R}_{i}\mathrel{\leadsto}v\bigr{)}\vee\bigl{(}\mathcal{R}_{j}\mathrel{\leadsto}v\bigr{)}\Bigr{]}$
(7c)

###### Remark 1.

Relations (7a) and (7b) refer to the robots which are immediately adjacent to
a backbone cycle. However, (7c) addresses the orphan robots which can only
reach a backbone-cycle robot indirectly via their connections to other robots.

Given the required ingredients defined above, a robot network topology’s
definition may read as below.

###### Definition 10 [Robot Network Topology].

Let $\mathcal{I}$ be an index set whose cardinality determines the number of
the robots in its associated robot network $\mathcal{N}$. Given, backbone
cycle $\psi_{\mathcal{N}}$, fix a constant
$\mathcal{K}\leq|\mathcal{I}|-|V_{\psi_{\mathcal{N}}}|$. Then, considering the
branch set
$\mathcal{G}_{\mathcal{N}}\supset\mathcal{B}_{\mathcal{N}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\Bigl{\\{}b_{\psi_{\mathcal{N}}}^{k}\Bigr{\\}}_{k=1}^{\mathcal{K}}$,
the robot network topology $\mathcal{T}_{\mathcal{N}}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(\psi_{\mathcal{N}},\mathcal{B}_{\mathcal{N}})$
corresponds to $\mathcal{N}$ if both of the following conditions are
simultaneously fulfilled.

$\displaystyle[left={\empheqlbrace}]$ $\displaystyle
V_{\mathcal{B}_{\mathcal{N}}}\cup
V_{\psi_{\mathcal{N}}}=V_{\mathcal{G}_{\mathcal{N}}}$ (7ha)
$\displaystyle\bigl{(}\forall v\not\in
V_{\psi_{\mathcal{N}}}\bigr{)}\Bigl{(}\bigl{(}\exists
b_{\psi_{\mathcal{N}}}\in\mathcal{B}_{\mathcal{N}}\bigr{)}v\in
V_{b_{\psi_{\mathcal{N}}}}\Bigr{)}$ (7hb)

###### Remark 2.

Equation (7ha) mandates that the unification of the robots belonging to the
backbone cycle and all of the branches must cover all of the robots of the
network. Equation (7hb) requires that any robot which does not belong to the
backbone cycle must be a part of one of the branches of the topology.

The auxiliary notion of robot degree, defined below, is the last required
piece to formulate optimality for a robot network topology.

###### Definition 11 [Robot Degree].

Given a robot $\mathcal{R}_{i}$, its degree, denoted by $\mathcal{D}_{i}$, is
defined as the cardinality of the set

$\biggl{\\{}\forall
j\in\arg\bigl{\\{}\mathcal{R}\\!\setminus\\!\\{\mathcal{R}_{i}\\}\bigr{\\}}\mathrel{\Big{|}}\mathcal{C}(i,j)\biggr{\\}},$
(7i)

which refers to the number of the connections of $\mathcal{R}_{i}$ to other
robots.

###### Definition 12 [Optimal Robot Network Topology].

A robot network topology is optimal, represented by
$\mathcal{T}_{\mathcal{N}}^{\star}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=(\psi_{\mathcal{N}}^{\star},\mathcal{B}_{\mathcal{N}}^{\star})$,
if the following conditions are met.

  1. (i)

$\psi_{\mathcal{N}}^{\star}$ is the largest cycle of $\mathcal{N}$;

  2. (ii)

All branches of $\mathcal{B}_{\mathcal{N}}^{\star}$ are minimum spanning
trees, with respect to the distance between robots, over their robot sets;

  3. (iii)

Branch links of $\mathcal{B}_{\mathcal{N}}^{\star}$ are as reliable as
possible222The more reliable connections are embedded into a topology, the
more reliable it is.;

  4. (iv)

Branch links of $\mathcal{B}_{\mathcal{N}}^{\star}$ are as structurally-
distributed as possible, i.e.,

$\min\limits_{i,j\in(\arg{\mathcal{R}},\arg{\mathcal{R}})}|\mathcal{D}_{i}-\mathcal{D}_{j}|$
(7j)

###  2.2 Topology Computation Algorithm

In the previous section, we precisely defined what features characterize an
optimal robot network topology. In this section, we further develop an
algorithm, i.e., Algorithm 1, which computes the aforesaid desired topology
associated with a typical robot network. This algorithm particularly provides
the ground truth knowledge which we will later benefit from in the course of
dataset preparation and predictor synthesis to solve Problem 1.

One needs to feed a set of inputs to the algorithm: first, an index set which
distinguishes robots of a robot network; second, the configuration parameters
of a network which are its zone range, connectivity threshold, and tension
bound factor; and finally a random generator which uniformly generates the
locations of the network’s robot. In line 1, a variable is created to contain
the robots of the network. Namely, we assign two random numbers as the planar
coordinate to each robot, in line 2, followed by a location validation in line
3. Here, if the generated coordinate provides the robot (at least critical)
connectedness with respect to at least one of its neighboring peers, then we
add the robot to the robot network in line 4. Otherwise, the coordinate is
discarded, in line 5, and a new one has to be generated for the robot. Once
all robots are assigned to communicationally valid coordinates, reliable and
critical sets associated with them are computed, in line 6. In line 7, the
robots are sorted based on the cardinalities of their reliable sets. Any
equality of those measures, e.g., those expressed by Definition 12, between
any pairs of robots makes the cardinalities of their critical sets as the tie-
breaker in the course of the quoted sorting process. In the case of the
equality of the latter factors, those robots are randomly lined in the current
index of the sorted set. Then, the optimal robot network topology may be
achieved by computing its constituents. In particular, in lines 8 and 9, we
compute its backbone cycle and its branch set, respectively. In the end, we
yield the desired optimal robot network topology, in line 10.

Inputs: Robot network index set $\mathcal{I}$

Zone range $\mathcal{Z}$

Connectivity threshold $\delta$

Tension bound factor $\epsilon$

Uniform random generator $U(0,\mathcal{Z})$

Output: The optimal topology $\mathcal{T}_{\mathcal{N}}^{\star}$ of a robot
network considering $|\mathcal{I}|$ robots given $\mathcal{Z}$, $\delta$, and
$\epsilon$

1

2

3$\mathcal{R}\leftarrow\varnothing$

foreach  _$i\in\mathcal{I}$_ do

4 $\mathcal{R}_{i}\leftarrow(U(0,\mathcal{Z}),U(0,\mathcal{Z}))$

5 if  _$\mathcal{R}_{i}$ is communicationally connected to at least one of the
robots already generated_ then

6 $\mathcal{R}\leftarrow\mathcal{R}\dot{\cup}\mathcal{R}_{i}$

else

7 Regenerate $\mathcal{R}_{i}$

8 Compute $\mathcal{R}_{i}^{+}$ and $\mathcal{R}_{i}^{-}$

9$\mathcal{R}\leftarrow$ Sort $\mathcal{R}$ based on the cardinalities of
$\mathcal{R}_{i}^{+}$ and $\mathcal{R}_{i}^{-}$ in the priority according to
their order $(\forall i\in\mathcal{I})$

Given $\mathcal{N}=(\mathcal{R},\delta,\epsilon)$ and considering the
conditions of Definition 12:

10 Compute $\psi^{\star}_{\mathcal{N}}$ based on the condition (i)

11 Compute $\mathcal{B}^{\star}_{\mathcal{N}}$ fulfilling the conditions (ii),
(iii) (if not violating (ii)), and (iv) (if not violating (ii) and (iii))

return
$\mathcal{T}_{\mathcal{N}}^{\star}\leftarrow(\psi^{\star}_{\mathcal{N}},\mathcal{B}^{\star}_{\mathcal{N}})$

Algorithm 1 Optimal Topology Computer

###  2.3 Topology Embedding and Dataset Formation

Algorithm 1, described in the previous section, computes the optimal topology
associated with a particular configuration of a robot network. We need to
embed the minimum data corresponding to various optimal topology computation
scenarios in a dataset for the purpose of further machine-learning-based
topology prediction syntheses. In this regard, robot locations of an intended
network are the key pieces of information according to which topologies may
vary from one configuration of the robot network to another. So, given an
index set $\mathcal{I}$ associated with a robot set $\mathcal{R}$, the
following row-vector $\Xi^{d}$ represents the location information of
$\mathcal{R}$.

$\Xi^{d}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\begin{bmatrix}\mathcal{R}^{x}_{\operatorname*{\arg\\!\min}\mathcal{I}}&\mathcal{R}^{y}_{\operatorname*{\arg\\!\min}\mathcal{I}}&\cdots&\mathcal{R}^{x}_{\operatorname*{\arg\\!\max}\mathcal{I}}&\mathcal{R}^{y}_{\operatorname*{\arg\\!\max}\mathcal{I}}\end{bmatrix}_{1\times
2|\mathcal{I}|}$ (7k)

We also have to embed the topological information of the algorithm’s output as
the labels associated with a robot network configuration in
$(1\\!\times\\!|\mathcal{I}|)$-row-vector $\Xi^{t}$. Namely, we assign each
robot $\mathcal{R}_{i}$ to a cluster $\Xi^{t}_{i}$ such that the following
sentences hold.

$\displaystyle[left={\empheqlbrace}]$
$\displaystyle\bigl{(}\forall\mathcal{R}_{i}\in\mathcal{R}\bigr{)}\biggl{[}\bigl{(}\mathcal{R}_{i}\in
V_{\psi_{\mathcal{N}}}\bigr{)}\Rightarrow\bigl{(}\Xi_{i}^{t}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=i\bigr{)}\biggr{]}$
(7la)
$\displaystyle\bigl{(}\forall\mathcal{R}_{i}\in\mathcal{R}\bigr{)}\Biggl{[}\Bigl{\\{}\bigl{(}\mathcal{R}_{i}\not\in
V_{\psi_{\mathcal{N}}}\bigr{)}\wedge\bigl{(}\exists\mathcal{R}_{j}\in
V_{\psi_{\mathcal{N}}}\bigr{)}\bigl{(}\mathcal{R}_{i}\mathrel{\leadsto}\mathcal{R}_{j}\bigr{)}\Bigr{\\}}\Rightarrow\bigl{(}\Xi_{i}^{t}\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=j\bigr{)}\Biggr{]}$
(7lb)

In other words, if a robot belongs to the backbone cycle of its topology, its
cluster entry equals its index. Otherwise, its index is that of the backbone-
cycle robot which is indirectly reachable by the intended robot. Thus. an
augmented data record $\Xi$ may be obtained as follows.

$\Xi\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\begin{bmatrix}\Xi^{d}\mid\Xi^{t}\end{bmatrix}_{1\times
3|\mathcal{I}|}$ (7m)

Finally, the overall dataset is a $(n\\!\times\\!3|\mathcal{I}|)$-matrix
including $n$ records of $\Xi$ associated with different configurations of its
corresponding robot network.

##  3 Optimal Topology Predictor Synthesis

###  3.1 Approach

The problem of predicting the optimal topology of a robot network may be
transformed to a classification problem, in which each robot shall be assigned
to a particular cluster associated with the overall clusters of its network
topology. The dataset structure, introduced in Section 2.2, illustrates that
the cluster ID of each robot is its own ID if the robot belongs to the
backbone cycle of its topology. Otherwise, its cluster ID shall be that of its
nearest indirect neighbor which is a part of the backbone cycle. According to
this formulation, one notes that cluster values are non-binary and their
majority equals the number of robots in a desired robot network. In this
sense, this problem is inherently a multi-task classification problem which is
notoriously difficult when the number of labels and their possible values are
both relatively large [21]. The optimal topology learning problem belongs to
this class of problems because, assuming a robot network including $n$ robots,
its dataset has $n$ columns each of which may be occupied by any integer of
the range $[1,n]$. One also have to encode integer values of cluster IDs to
binary vectors before training any classifier. Such an encoding process by
itself multiplies the number of columns of the dataset. A multi-task problem
based on such a noticeable number of features may require a massive number of
records to cover various permutations of all those integer entries so that
under-fitting would be less likely to happen. Alternatively, we take a divide-
and-conquer strategy into account to transform the multi-task topology
prediction of robot network to a set of multi-class classification problems
each of which corresponds to the cluster prediction for only one of the robots
of a network.

Figure 1: Interrelated correlations among robot coordinates in the view of
each other’s classifiability. For example, the scattering dependency of the
classifiability of the horizontal coordinate component of robot 5, i.e., X5,
is displayed with respect to the coordinate components of robots 1 and 2. One
can observe that if the coordinates of a particular robot, say, X1-Y1, are
taken into account, the separation boundary to classify X5 is different than
the cases of considering correlated coordinates, such as X1-Y2 or X2-Y1. In
these cases, the classifiability of X5 exhibits more convoluted trends. As we
already discussed, optimal topology prediction includes various optimality
criteria which can impose complicated constraints to the validity of a
separation boundary. So, one can preserve the information regarding such
complicated patterns in the course of robot cluster classifications by
presenting the total robot network information to each robot’s multi-class
classifier. (The numerical specification of the dataset including the data of
this analysis is presented in Section 3.)

Based on this divide-and-conquer strategy, we replicate the main dataset of
the multi-task problem, as many as the number of the robots in a network, such
that each replicated dataset only includes the target label columns of the
main dataset, but the input data of the main dataset is totally copied to the
replicated datasets. We preserve the total input data of the main dataset in
all replica datasets because topology synthesis process has to consider the
correlations between the robots of a network. In particular, Fig. 1 shows a
sample set of correlations between coordinate components of two typical
robots. As we already observed in the formulation of Algorithm 1, a robot
cannot be efficiently assigned to a cluster solely based on its own
coordinate. In the sequel, all robot location data have to be incorporated
into the multi-class classifier syntheses for all of the robots of a robot
network. Overall, we seek the generation of $n$ multi-class classifiers each
of which associates with a particular robot of a network. Finally, the
accumulation of the predictions of all those distributed classifiers is known
as the solution to the topology prediction with respect to a configuration of
a robot network.

Ensemble learning is a technique to exploit the prediction power of various
types of estimators to predict a particular feature. The more complex a
machine learning problem is, the more significant the impact of ensemble
learning will be. Thus, we propose OpTopNET, a particular network of stacked
ensembles of multi-class classifiers each of which performs the optimal
topology prediction corresponding to one of the multi-class classification
problems described above.

###  3.2 Architecture

The architecture of OpTopNET is depicted in Fig. 2. This computational
pipeline first replicates the main dataset to $n$ local instances each of
which includes the full input data associated with the locations of robots.
However, they differ in that each one comprises the cluster labels of only one
robot of that network. The label IDs are inherently integers, nonetheless
there is no order-wise semantic relation between them. To address this issue,
binarized versions of label IDs of the main dataset are taken into account in
the local replicas. Then, each local dataset is used to train a particular
stacking ensemble of classifiers. In each instance of these aggregated
classifiers, the local dataset is, in parallel, fed into three diverse types
of classifiers such as a random forest classifier, a $k$-neighbors classifier,
and a deep neural network classifier. This type selection seeks a
sufficiently-diverse set of classifiers whose error types are potentially very
different. Thus, this diversity of error types may increase the overall
stacked ensemble’s accuracy [27, 17].

Given a classification step, the predictions of those low-level classifiers
are employed to train a XGBoost-based blender deep network at the top of each
stacked ensemble. Since each high-level blender collects and aggregates the
predictions of its low-level classifying peers in the course of a
classification task, one expects that the blender’s prediction outperforms
those of the low-level classifiers. The output of each stacked ensemble is a
predicted cluster associated with the robot which is represented by that
ensemble. So, the set including all those local cluster predictions
constitutes the overall predicted optimal topology of the network of those
robots. Moreover, the overall accuracy of OpTopNET is the average accuracy of
its underlying stacked ensembles.

The planned $k$-neighbors classifier, random forest classifier, and XGBoost
blender are standard artifacts of Scikit-Learn library whose optimally-tuned
hyper-parameters are specified in Section 4.2. The deep neural network models
of OpTopNET can be efficiently formulated by the sequential models Keras
library. The internal structure of the employed deep neural network is
rendered in Fig. 3. Namely, a series of dense layers are sequentially
connected to each other each of which is batch normalized. We also further
regularize the model by adding $l_{2}$ kernels to all of its dense layers. A
softmax layer, including 10 neurons, provides the output of each multi-class
classification subproblem of ours.

Figure 2: The architecture of OpTopNET

##  4 Simulations333The simulations are performed on a Windows 10 x64 machine
supported by a Core i7 1.80 GHz processor, 8GB RAM, and an Intel UHD Graphics
620. The following specific libraries are employed in the course of all
performed simulations on Python 3.7.3: Tensorflow and Keras 2.5.0, Scikit-
Learn 0.24.2, 444The implementation of the dataset generator routine, i.e.,
Algorithm 1, by which the dataset of this study is generated, may be found in
https://git.io/JXKSb.

We exhibit numerical simulations representing the effectiveness of OpTopNET in
the prediction of a robot network including 10 robots. For this purpose, we
first characterize the computational aspects of the dataset encompassing the
data of the intended robot network in Section 3. Section 4.2 elaborates on the
tuning procedures applied to the hyper-parameters of our model. Put
differently, we illustrate the optimization of the OpTopNET model in the
course of randomized $k$-fold cross-validations. We finally report the results
of our simulations in terms of prediction accuracies.

###  4.1 Dataset Characterization

Figure 3: The structure of the deep neural network used as a classifier
element of each OpTopNET’s stacked ensemble.

Our dataset includes 2000 records of various configurations of a 10-robot
network as well as their optimal topologies, computed by Algorithm 1, in the
format presented in Section 2.3. We set the zone range as 1, while the values
corresponding to connectivity threshold and tension bound factor are 0.5 and
0.1, respectively. We first shuffle the dataset before forking the local
datasets associated with each of the multi-class classification problems. As
already explained in Section 3.2, each local dataset is associated with the
target labels of a particular robot of the network. The label contents are
indeed integer cluster IDs which are encoded to binary vectors. We also
decrease the index of each robot by one unit so that the ID range [1,10] is
substituted with [0,9] to be compatible with the numbering convention of
output layers of deep neural networks under Keras framework.

We take separate disjoint splits of local datasets into account for training,
validation, and testing purposes of OpTopNET estimators, say, %72, %18, and
%10 of the overall number of the available records, respectively.

###  4.2 Results

Table 1: Hyperparameter settings and performance report associated with the
synthesized OpTopNET.

In the course of the optimization of the hyperparameters of OpTopNET, selected
batch size is 32. In the case of random forest classifiers and $k$-neighbors
classifiers, we use 10 splits of input data to randomly spot the
hyperparameters which maximize the accuracy metrics of those estimators. In
particular, we sweep the number of estimators and the depth corresponding to
random forest classifiers in integer ranges [100, 500] and [3, 10],
respectively. For $k$-neighbors classifiers, number of neighbors and the power
parameter p are swept within integer ranges [1, 10] and [1, 3], respectively.
Algorithm hyperparameter options are ball tree, kd tree, brute, and auto.
Moreover, we assess uniform and distance options for the weights
hyperparameter. After performing randomized cross-validations, as Table 1
expresses, the average accuracy performances of the optimally-tuned random
forest classifiers and $k$-neighbors classifiers are %76.2 and %76.4,
respectively.

Deep neural network elements of OpTopNET are initialized based on the
following specification. Batch normalization momentum associated with the
batch normalization layers is 0.999. We take two strategies into account to
properly regularize our model. First, for each deep neural network, we apply
an $l_{2}$ regularization factor of 0.01 to every dense layer of that model.
Second, we schedule the learning rate dynamics of that model based on the
following exponential decay profile

$\eta(t)\mathrel{\hbox
to0.0pt{\raisebox{1.29167pt}{$\cdot$}\hss}\raisebox{-1.29167pt}{$\cdot$}}=\eta_{0}\cdot
10^{-t/s},$ (7n)

where $s$ is the number of steps per epoch.

We employ scaled exponential linear unit as the activation function of each
deep neural network model, whose kernel is initialized by lecun_normal method
to maximize the compatibility between each pair of activation function and
kernel initializer. Our Adam optimizer is supported by momentum decay
parameter $\beta_{1}\\!=\\!0.9$ and scaling decay parameter $\beta_{2}=0.999$.
A sparse categorical cross entropy is considered as the loss function of each
deep neural network model. We perform cross-validation over 5 folds of data
within 10 iterations for 90 epochs within which hyperparameter optimization is
based on accuracy metric. In the course of the hyperparameter tuning, number
of hidden layers may very between 1 to 4. Number of the neurons in each dense
layer can be any integer between 1 and 300. The lower-bound and the upper
bound of the initial learning rate are 0.0001 and 0.03, respectively. Table 1
illustrates the found optimal hyperparameters as well as the overall average
accuracy of the optimally-tuned deep neural network which is %76.7.

Finally, we construct stacked ensembles of each multi-class classifier to
boost the performance of the single estimators investigated above. For this
purpose, we use the XGBoost library, each instance of which is fed by the
optimally-tuned estimators of a specific multi-class classification sub-
problem. Max depth hyperparameter may vary between 3 and 10. Booster elements
gbtree instances, and the learning rate range are from 0.0001 to 0.5. We then
cross-validate the ensemble classifiers over 5 folds of data in the course of
10 iterations. The results are reflected in Table 1 indicating that the
overall average accuracy of all stacked ensembles are boosted to %81.1.
Accordingly, Fig. 4 specifically demonstrates how the XGBoost-based blender
outperforms its low-level estimators in terms of accuracy.

Figure 4: Classification accuracy of stacking classifier and those of its
constituent classifiers. (The vertical dashed line represents the overall
average accuracy of the ensembles.)

One also observes that the applied regularizations to both deep neural network
models and the stacked ensembles are efficient. As an instance for the proper
regularization of the optimally-tuned deep neural networks, Fig. 5 renders the
validation loss and validation accuracy associated with the deep neural
network of robot 2, in which trends of validation loss and validation accuracy
are descending and ascending, as expected.

As a validation-based performance example of the synthesized stacked
ensembles, one may note Fig. 6 which shows the dynamics of loss and accuracy
associated with the stacked ensemble’s blender of robot 7 in the course of
both training and cross validation. In particular, the model exhibits no signs
of overfitting given the ascending performance dynamics of validation accuracy
and also the eventual reduction of validation loss.

Figure 5: Accuracy dynamics corresponding to the deep neural network model of
robot 2’s of the stacked ensemble.

We stress that the superior performance of the stacked ensembles compared to
deep neural network components may be concluded based on the observation of
the convergence of the validation accuracy metrics of stacked ensembles which
yield within less number of epochs compared to what deep neural networks need
to optimally converge. Also, the loss and accuracy trajectories of stacked
ensembles exhibit smoother trajectories compared to those of the deep neural
networks, as Fig. 6 typically illustrates. That is indeed because of the
constructive contributions of the other components of the stacked ensembles,
i.e., random forest classifiers and $k$-neighbors classifiers, to their
gradual convergence.

##  5 Discussion

In the previous section, we displayed the effectiveness of the proposed
solution of this paper in predicting optimal topology of ad-hoc robot networks
in a data-driven manner. However, it would be beneficial to further
investigate the solutions which may ameliorate the current challenges and the
limitations of our strategy.

First, as noted in Section 2.3, out method needs to assign a label column to a
network dataset as the container of the cluster ID’s of each robot associated
with different network configurations. In other words, the more the robots of
a network are, the larger the target column cardinality of its corresponding
dataset will be. Increasing the number of robots may, then, make the
prediction problem extremely challenging because correct topology predictions
of all robots in a particular configuration of theirs become practically
difficult. In that case, one may achieve sub-optimal topologies. So, a useful
improvement would be a topology encoding scheme whose impact on the size of a
final dataset less depends on the number of robots in a network. In a similar
point of view, one may explore the applicability of OpTopNET on the topology
predictions in higher-order spatial dimensions, particularly 3 dimensions.
Such a generalization, on the same footing as the increment of the number of
robots, increases the size of a dataset which may be a source of computational
complications.

Second, this research mainly takes cycle topologies into account because of
their prevalence in robotic applications. However, other topologies, in
particular those based on chain backbones, may also be beneficial to be
studied. Namely, the assessment of OpTopNET on predictions of those topologies
may give rise to some amendments to its current architecture.

Figure 6: Accuracy and loss dynamics corresponding to the blender of the
stacked ensemble of robot 7.

Third, our definition of optimal topology may be extended to the incorporation
of more constraints and/or different optimality criteria. Such a potential
variation may lead to new results regarding the adaptivity of OpTopNET with
various metrics governing the optimality of topologies.

##  6 Conclusion

Optimal topology prediction for ad-hoc robot network mandates the learning and
inference of complex spatial correlations between robots of a network and
intended optimality criteria. In this paper, this complex problem is
transformed into a multi-task classification problem in which each class is a
cluster ID associated with the topology of a network. Inspired by the divide-
and-conquer philosophy in algorithm design, we partition the total multi-task
prediction problem corresponding to a whole robot network into a set of multi-
class classification problems each of which associates with the prediction of
the topological characteristics of its corresponding robot. A stacked ensemble
architecture is proposed to solve each of those partitioned multi-class
classification problems. Our conducted simulations portrays the effectiveness
of the proposed learning methodology.

## Acknowledgments and Disclosure of Funding

This work was partially supported by the Huawei Research Initiative on
distributed systems, University of Alberta.

## References

  * [1] Saeed H Alsamhi and Brian Lee.  Blockchain-empowered multi-robot collaboration to fight covid-19 and future pandemics.  IEEE Access, 9:44173–44197, 2020.
  * [2] Maxim A Batalin, Gaurav S Sukhatme, and Myron Hattig.  Mobile robot navigation using a sensor network.  In IEEE International Conference on Robotics and Automation, 2004\. Proceedings. ICRA’04. 2004, volume 1, pages 636–641. IEEE, 2004.
  * [3] Alexander Bertrand and Marc Moonen.  Seeing the bigger picture: How nodes can learn their place within a complex ad hoc network topology.  IEEE Signal Processing Magazine, 30(3):71–82, 2013.
  * [4] Gail A Carpenter and Stephen Grossberg.  Adaptive resonance theory, 2010.
  * [5] Nima Dehmamy, Albert-László Barabási, and Rose Yu.  Understanding the representation power of graph neural networks in learning graph topology.  arXiv preprint arXiv:1907.05008, 2019.
  * [6] Shen Furao and Osamu Hasegawa.  An incremental network for on-line unsupervised classification and topology learning.  Neural networks, 19(1):90–106, 2006.
  * [7] Lahouari Ghouti, Tarek R Sheltami, and Khaled S Alutaibi.  Mobility prediction in mobile ad hoc networks using extreme learning machines.  Procedia Computer Science, 19:305–312, 2013.
  * [8] Mukkai S Krishnamoorthy.  An np-hard problem in bipartite graphs.  ACM SIGACT News, 7(1):26–26, 1975.
  * [9] Xiangpeng Li and Dong Sun.  Topology design for router networks to accomplish a cooperative exploring task.  In 2014 IEEE International Conference on Robotics and Biomimetics (ROBIO 2014), pages 884–889. IEEE, 2014.
  * [10] Xiangpeng Li, Dong Sun, and Jie Yang.  A bounded controller for multirobot navigation while maintaining network connectivity in the presence of obstacles.  Automatica, 49(1):285–292, 2013.
  * [11] Matin Macktoobian and Mahdi Aliyari Sh.  Optimal distributed interconnectivity of multi-robot systems by spatially-constrained clustering.  Adaptive Behavior, 25(2):96–113, 2017.
  * [12] Dimitri Marinakis, Gregory Dudek, and David J Fleet.  Learning sensor network topology through monte carlo expectation maximization.  In Proceedings of the 2005 IEEE International Conference on Robotics and Automation, pages 4581–4587. IEEE, 2005.
  * [13] Christoforos Mavrogiannis and Ross A Knepper.  Hamiltonian coordination primitives for decentralized multiagent navigation.  The International Journal of Robotics Research, 40(10-11):1234–1254, 2021.
  * [14] Alejandro R Mosteo, Luis Montano, and Michail G Lagoudakis.  Multi-robot routing under limited communication range.  In 2008 IEEE International Conference on Robotics and Automation, pages 1531–1536. IEEE, 2008.
  * [15] Anshika Pal, Ritu Tiwari, and Anupam Shukla.  Multi-robot exploration in wireless environments.  Cognitive Computation, 4(4):526–542, 2012.
  * [16] Andrea Pennisi, Fabio Previtali, Cristiano Gennari, Domenico D Bloisi, Luca Iocchi, Francesco Ficarola, Andrea Vitaletti, and Daniele Nardi.  Multi-robot surveillance through a distributed sensor network.  In Cooperative Robots and Sensor Networks 2015, pages 77–98. Springer, 2015.
  * [17] Robi Polikar.  Ensemble learning.  In Ensemble machine learning, pages 1–34. Springer, 2012.
  * [18] Joshua Reich and Elizabeth Sklar.  Robot-sensor networks for search and rescue.  In IEEE International Workshop on Safety, Security and Rescue Robotics, volume 22, 2006.
  * [19] Enrico Testi, Elia Favarelli, Lorenzo Pucci, and Andrea Giorgetti.  Machine learning for wireless network topology inference.  In 2019 13th International Conference on Signal Processing and Communication Systems (ICSPCS), pages 1–7. IEEE, 2019.
  * [20] Marko Tscherepanow.  Topoart: A topology learning hierarchical art network.  In International Conference on Artificial Neural Networks, pages 157–167. Springer, 2010.
  * [21] Grigorios Tsoumakas and Ioannis Katakis.  Multi-label classification: An overview.  International Journal of Data Warehousing and Mining (IJDWM), 3(3):1–13, 2007.
  * [22] Preetida Vinayakray-Jani.  Security within ad hoc networks.  In Position Paper, PAMPAS Workshop. Citeseer, 2002.
  * [23] Roger Wattenhofer and Aaron Zollinger.  Xtc: A practical topology control algorithm for ad-hoc networks.  In 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings., page 216. IEEE, 2004.
  * [24] Douglas Brent West et al.  Introduction to graph theory, volume 2.  Prentice hall Upper Saddle River, 2001.
  * [25] Celimuge Wu, Kazuya Kumekawa, and Toshihiko Kato.  Distributed reinforcement learning approach for vehicular ad hoc networks.  IEICE transactions on communications, 93(6):1431–1442, 2010.
  * [26] Li Xiangpeng, Huang Haibo, Yang Hao, and Sun Dong.  A unified controller for the connectivity maintenance of a robotic router networks.  In International Conference on Intelligent Autonomous Systems, pages 1117–1128. Springer, 2016.
  * [27] Zhi-Hua Zhou.  Ensemble learning.  In Machine Learning, pages 181–210. Springer, 2021.