Upload
doannga
View
222
Download
0
Embed Size (px)
Citation preview
TOPOLOGY RECONFIGURATION FOR SYSTEMS OF NETWORKED AUTONOMOUSVEHICLES WITH NETWORK CONNECTIVITY CONSTRAINTS
By
LEENHAPAT NAVARAVONG
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOLOF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OFDOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
2013
c© 2013 Leenhapat Navaravong
2
To my beloved parents, Dr. Sompong Navaravong and Dr. Leen Navaravong
3
ACKNOWLEDGMENTS
I would like to express my sincerest gratitude to my academic advisor, Prof. John
M. Shea, for his invaluable guidance and continuous support throughout my graduate
studies at the University of Florida. I really appreciate his help and encouragement,
which put me on the right track towards my Ph.D. I have greatly benefitted from his
wisdom, expertise, and enthusiasm. Without his excellent advice, patience, and support,
this doctoral dissertation would not be possible.
I would like to thank Prof. Tan F. Wong for his help and guidance when I was
working in the WING Testbed group.
I would like to thank all of my committee members, Prof. Warren E. Dixon, Prof.
Cole Smith, and Prof. Prabir Barooah, for their academic suggestions and comments on
my work, which have helped to improve this dissertation.
I also extend my appreciation to my best seniors from the WING laboratory, Dr.
Byonghyok Choi and Dr. Chan Wong Wong. Both of them have always treated me as
their own brother. They always gave me valuable suggestions, fruitful discussions and
generous support during my graduate studies at the University of Florida. I would like to
thank another senior from the WING laboratory, Dr. Debdeep Chatterjee, for his useful
advice about coursework and his support during my Masters study.
I thank all of my WING labmates, including Xing Fang, Chen Zhang, Ke Tang, Bing
Gao, Sien Wu, Kareem Graham, Eric Graves, Gokul Bhat, Manish Bansal, Ravi Teja,
Shravan Bhat, Vivek Vijaya Kumar, Sudhamshu, Priyanka Sinha, David Green, Benjamin
Lander, and Tim Tang, in no particular order. All of them made my days in the WING
laboratory more enjoyable.
Last but not least, I would like to thank my parents, Dr. Sompong Navaravong, and
Dr. Leen Navaravong, for their love, support, and sacrifice. They have always been
my role models of hard work and a constant source of inspiration and encouragement
throughout my life.
4
TABLE OF CONTENTS
page
ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
CHAPTER
1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 Overview of Research from Controls Community . . . . . . . . . . . . . . 131.2 Networking Approaches to Formation Control . . . . . . . . . . . . . . . . 171.3 Organization of Dissertation . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 PHYSICAL- AND NETWORK-TOPOLOGY CONTROL FOR SYSTEMS OFNETWORKED AUTONOMOUS VEHICLES . . . . . . . . . . . . . . . . . . . . 24
2.1 Anonymous Network Topology Reconfiguration Algorithms . . . . . . . . 262.1.1 Basic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1.2 Simultaneous Transition (ST) Algorithm . . . . . . . . . . . . . . . 30
2.2 Relabeling Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.1 Branch Relabeling (BR) Algorithm . . . . . . . . . . . . . . . . . . 312.2.2 Neighbor Relabeling (NR) Algorithm . . . . . . . . . . . . . . . . . 33
2.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3 GRAPH MATCHING-BASED TOPOLOGY RECONFIGURATION ALGORITHMFOR SYSTEMS OF NETWORKED AUTONOMOUS VEHICLES . . . . . . . . 42
3.1 Initial Tree Selection (ITS) Algorithm . . . . . . . . . . . . . . . . . . . . . 433.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4 OPTIMIZING NETWORK TOPOLOGY TO REDUCE AGGREGATE TRAFFICIN A SYSTEM OF NETWORKED AUTONOMOUS VEHICLES UNDER ANENERGY CONSTRAINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.2 Network Topology Reconfiguration Algorithms . . . . . . . . . . . . . . . . 614.3 Network Topology Optimization Algorithms . . . . . . . . . . . . . . . . . 65
4.3.1 Network Tree Selection (NTS) Algorithm . . . . . . . . . . . . . . . 654.3.1.1 Optimal Algorithm . . . . . . . . . . . . . . . . . . . . . . 654.3.1.2 Simulated Annealing (SA) Algorithm . . . . . . . . . . . . 68
4.3.2 Network Topology Reconfiguration Optimization (NTRO) Algorithm 684.3.2.1 Optimal Algorithm . . . . . . . . . . . . . . . . . . . . . . 70
5
4.3.2.2 Simulated Annealing (SA) Algorithm . . . . . . . . . . . . 734.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5 ROUTING APPROACHES TO OPTIMIZE THE PHYSICAL TOPOLOGY OFA SYSTEM OF NETWORKED AUTONOMOUS VEHICLES TO REDUCE AGGREGATETRAFFIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.2 Advanced Network Topology Reconfiguration Algorithm . . . . . . . . . . 835.3 Physical Topology Reconfiguration Optimization (PTRO) Algorithms . . . 89
5.3.1 Optimal Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.3.2 Simulated Annealing (SA) Algorithm . . . . . . . . . . . . . . . . . 93
5.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6 CONCLUSIONS AND FUTURE WORK . . . . . . . . . . . . . . . . . . . . . . 97
6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6
LIST OF FIGURES
Figure page
1-1 An example of the artificial potential field generated for a disk-shaped workspacewith destination at the origin and an obstacle located at [1, 1]T . . . . . . . . . . 13
1-2 Network topology reconfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . 20
1-3 Conversion from linear configuration to star configuration. . . . . . . . . . . . . 21
1-4 Aggregate flow minimization by topology reconfiguration. . . . . . . . . . . . . 22
2-1 Network topology 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2-2 Basic algorithm example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2-3 Simultaneous transition algorithm example. . . . . . . . . . . . . . . . . . . . . 31
2-4 Network topology 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2-5 Branch Relabeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2-6 Neighbor Relabeling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2-7 Desired topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2-8 Average total hop over 100 random initial topologies for each link number. . . . 37
2-9 Average total time over 100 random initial topologies for each link number. . . . 38
2-10 Average of the minimum total hop among the number of root considerationover 100 random initial topologies. . . . . . . . . . . . . . . . . . . . . . . . . . 39
3-1 Network topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3-2 Initial network topology. Numbers outside (inside) parentheses represent thenode’s label in the initial topology (role to which that node is assigned in thefinal formation). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3-3 Initial tree selection algorithm example. . . . . . . . . . . . . . . . . . . . . . . 50
3-4 Average required total number of hops required to achieve desired networktopology for different methods of selecting the initial network tree Gti from theinitial network Gi , with relabeling algorithms. . . . . . . . . . . . . . . . . . . . . 53
3-5 Average running time required to achieve desired network topology for differentmethods of selecting the initial network tree Gti from the initial network Gi , withrelabeling algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4-1 Network topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7
4-2 Labeling network topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4-3 Network reconfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4-4 Minimum achievable aggregate traffic for network tree selection algorithms asa function of network size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4-5 Minimum achievable aggregate traffic for combined algorithms as a functionof network size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5-1 Physical topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5-2 Network topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5-3 Labeling network tree topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5-4 Network reconfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5-5 Minimum achievable aggregate traffic for combined algorithms as a functionof network size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8
Abstract of Dissertation Presented to the Graduate Schoolof the University of Florida in Partial Fulfillment of theRequirements for the Degree of Doctor of Philosophy
TOPOLOGY RECONFIGURATION FOR SYSTEMS OF NETWORKED AUTONOMOUSVEHICLES WITH NETWORK CONNECTIVITY CONSTRAINTS
By
Leenhapat Navaravong
May 2013
Chair: John M. SheaMajor: Electrical and Computer Engineering
Future systems of networked autonomous vehicles, such as unmanned aerial
or ground vehicles, may rely on peer-to-peer, wireless communication to coordinate
their actions. The physical formation of the network may need to be reconfigured at
times based on the specified missions. However, reconfiguring the physical formation
also impacts the link connectivity and, hence, the connectivity of the network. If the
network is partitioned, then the autonomous vehicles can no longer coordinate their
movements, and the mission may fail. In this dissertation, we develop techniques to
transform the formation of a system of autonomous vehicles while preserving network
connectivity. Several different approaches to address this problem are presented, with a
focus on a method that utilizes ideas from routing packets in networks. We also discuss
the problem of formation selection and give an example of formation optimization in
which communication costs are minimized under constraints on preserving network
connectivity and on the amount of movement required.
In this dissertation, we first consider the problem of how to transform the network
topology of a system of autonomous vehicles from an initial topology to a desired
topology while maintaining network connectivity throughout the topology transformation
process. We propose algorithms based on the concepts of prefix labeling and routing
from the computer networking community to solve this problem when the final network
topology is a tree. We present simulation results to evaluate the performance of our
9
algorithms in terms of the amount of movement and time required to achieve the desired
network topology. The algorithms we develop can be used to generate navigation
functions that can be used by control systems to achieve a desired physical topology.
Next, we consider a key unsolved subproblem, which is how the nodes in the initial
network topology should be mapped onto the nodes in the final network topology before
the network topology is reconfigured, while taking into account the needs to preserve
network connectivity. We develop algorithms to solve this problem based on optimal and
suboptimal graph-matching algorithms. We then apply these techniques with previously
developed techniques to plan node movement to reconfigure the network topology while
preserving network connectivity at all times. The performance of these techniques is
evaluated via simulation.
Afterward, we consider the problem of optimizing the network topology of a system
of networked autonomous vehicles to minimize the aggregate network traffic required to
support a given set of data flows under constraints on the total amount of movement by
the autonomous vehicles. We propose a solution to this problem consisting of two steps.
First, we develop algorithms to select a network tree topology from an arbitrary initial
connected network topology. Second, we develop optimization algorithms to reconfigure
the network tree topology found in the first step while preserving the connectivity to
minimize the aggregate traffic under constraints on the total number of hops that the
autonomous vehicles may move. Simulation results are presented to evaluate the
performance of the algorithms.
Finally, we apply networking concepts and optimization strategies to determine a
feasible physical formation that reduces aggregate data traffic under constraints on the
total amount of movement by the autonomous vehicles. We develop techniques that
provide waypoints for use by physical control algorithms, under which the network
connectivity will be ensured at all times if movement is on linear paths between
10
the waypoints. Simulation results are presented to demonstrate that our proposed
techniques can significantly reduce aggregate network traffic.
11
CHAPTER 1INTRODUCTION
Systems of autonomous vehicles under cooperative control, such as aerial,
underwater, surface, or space vehicles, provide versatile platforms for commercial and
military applications. For instance, [1] provides a list of “some of the main applications
for cooperative control of multivehicle systems”. This list includes:
• Military Systems: Formation Flight, Cooperative Classification and Surveillance,Cooperative Attack and Rendezvous, and Mixed Initiative Systems;
• Mobile Sensor Networks: Environmental Sampling and Distributed ApertureObserving; and
• Transportation Systems: Intelligent Highways and Air Traffic Control.
These types of tasks usually require that the vehicles coordinate their actions, and thus
the vehicles must be able to exchange information over some form of communications
network, such as an ad hoc wireless network [2–4]. Thus, in many applications,
maintaining network connectivity during formation control will be an important issue.
For most applications, communications will be over a wireless network, in which the
communications links between autonomous vehicles are dependent on the propagation
of electromagnetic signals between the autonomous vehicles. Because electromagnetic
power density decreases with distance, the network topology is highly dependent on the
physical formation of the system. Thus, formation control techniques must be designed
that can maintain network connectivity while achieving the desired formation goals.
In this chapter, we discuss the problem of formation control with network connectivity
(FC+NC) constraints or goals, hereafter referred to as FC+NC problems. We first
provide an overview of the prior research on this topic, which has primarily come from
the controls community. Then we provide an overview of our work, which applies ideas
from routing in computer networks and poses formation control problems to minimize
communication costs. Finally, we provide an outline of this dissertation.
12
−5
0
5 −5
0
5
0
0.5
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Destination(minimum)
Obstacle(maximum)
Figure 1-1.
An example of the artificial potential field generated for a disk-shapedworkspace with destination at the origin and an obstacle located at [1, 1]T .
1.1 Overview of Research from Controls Community
Overviews of techniques for formation control (without necessarily including network
considerations) are given in [1, 5, 6]. Some of the main approaches to formation control
are given in [5] as leader-follower, virtual structure, and behavior-based. Another list of
approaches is given in [1] as optimization based, potential-field solutions, string-stability
based, and swarming. One of the most widely used approaches in formation control is to
use artificial potential fields to guide the movement of the autonomous vehicles [1, 7, 8].
Attractive potential fields are centered at the goal locations, and repulsive potential fields
are generated around obstacles. Driven by the negative gradient of the potential field,
each autonomous vehicle will converge to a minimum of the potential field, which is
typically the desired final position. An example of the generated artificial potential field is
shown in Figure 1-1, in which the destination is assigned a minimum potential value and
the obstacle is assigned a maximum potential value.
In Section III of [5], Chen and Wang discuss the research (up to 2005) on the
impact of network connectivity on the analysis of the stability and controllability of
13
formations of autonomous vehicles. The papers cited in that section represent some of
the earliest work on FC+NC problems. Much of the work in this area, as well as later
work on FC+NC problems, utilizes tools from graph theory, and in particular, algebraic
graph theory. Because of the importance of this approach to FC+NC problems, we give
an overview of this topic here based on [5] and its references.
The network connecting the autonomous vehicles can be represented by a
time-varying graph G(t). For simplicity, we consider the case where the graph is
undirected and suppress the time dependence. Thus, G = (V, E), where V is the
set of vertices (representing the autonomous vehicles) and E is the set of edges
connecting the vertices in V. An edge (x , y) ∈ E is an unordered pair that specifies
that a communication link exists between x and y ; x and y are said to be adjacent or
neighbors, and this relation is denoted by x ∼ y .
The relation between the physical positions of the autonomous vehicles and the
network connectivity depends on the nature of the communication links connecting
the autonomous vehicles. Most of the work on FC+NC problems assumes that the
communication links follow a homogeneous protocol model, in which two autonomous
vehicles can communicate if they are within a specified maximum communication range
and cannot communicate if they are outside of that range. We assume the use of this
homogeneous protocol model in this dissertation. This model may accurately model
communications in many systems of unmanned aerial vehicles (UAVs) working above
obstructions; however, shadowing and multipath fading make this model inaccurate in
many scenarios involving ground vehicles or operations in urban environments.
The edge connection information can be collected into a matrix called the adjacency
matrix, A(G), which is defined by
Aij(G) =
1, i ∼ j
0, otherwise.
14
The connectivity of the graph G can be determined from A(G) by computing eigenvalues
of the graph Laplacian, L(G). Let ∆(G) be a diagonal matrix, in which the (i , i) entry
is the number of neighbors of vertex i (also known as the degree or valency of vertex
i ); the (i , i) entry is the sum of the elements in the i th row or column of A(G). Then
L(G) = ∆(G) − A(G). In some works, such as [9, 10], L(G) is defined differently, where
L(G) = I − ∆−1(G)A(G).
The Laplacian is symmetric and positive semidefinite. Let λi(L) be the i th smallest
eigenvalue. Then λ1(L) = 0, and the multiplicity of the eigenvalue zero is equal to the
number of connected components in the graph (i.e., the number of connected subgraphs
that do not share connections with each other). Thus, for a network to be connected,
there must be only one zero eigenvalue. The second smallest eigenvalue, λ2(L), is
called the Fiedler value [11–14] and gives a quantitative measure of how connected
the graph is. The associated eigenvector can be used to determine a set of links that if
removed will cause the network to partition [11].
In the early work on FC+NC problems, the network graph was assumed fixed,
and the impact of the network on the stability or controllability under particular control
strategies was evaluated. For instance (again see [5, 15]), consider systems that can be
modeled using first order dynamics, where the dynamics of agent i are given by
xi = ui ,
where xi is the state of agent i , and the control law at agent i averages the values from
its neighbors,
ui = − 1
∆ii
∑j∼i
(xi − xj).
Then the controllability of the system of autonomous vehicles is determined by
the interconnection graph. Moreover, the algebraic representation of the graph’s
interconnections can be used to give a simple form for the whole system’s dynamics
15
as
x = −∆−1/2L∆−1/2x .
Perhaps surprisingly, connectivity can decrease controllability, and a complete graph
with this update law can be shown to be uncontrollable [15]. On the other hand, results
using algebraic graph theory indicate that formation stability may be easily achievable for
the complete graph [9].
Although the earliest work that identified connectivity as a control objective
was published in 1999, most of the work on formation control with connectivity
constraints or goals has been published in 2005 and later (cf. [6, 12, 16–27]). Much
of the control-theory work on FC+NC problems focuses on formation control with
maintenance of existing communication links (cf. [1, 22, 23, 28]). This can be achieved
in formation control systems using the artificial potential field approach by treating
network connectivity as an artificial obstacle [28].
Another branch of work on FC+NC problems focuses on the design of controllers
to enhance some measure of network connectivity or to maintain network connectivity
(which is less restrictive than maintaining link connectivity) during formation control. The
Introduction of [6] gives a good overview of this work. Here, we give a brief overview of
how algebraic graph theory is used in these works.
As previously discussed, the Fiedler value, λ2(L) gives an indication of the
connectivity of a network. Thus, optimization techniques can be used to maximize λ2(L).
However, “the Fiedler value is a nondifferentiable function of the Laplacian matrix” [6],
which makes it difficult to use in control strategies. However, several approaches have
been developed, as discussed in [6]. One alternative to using the Fiedler value as a
measure of network connectivity is to use a sum of powers of the adjacency matrix,
SK(G) =
K∑k=0
A(G)k .
16
The i , j th entry of SK is the number of paths of length ≤ K between every pair of
nodes in the graph. Thus, if G is connected, every entry of Sn−1(G) will be non-zero,
and Sn−1(G) will be positive definite, where n is the total number of agents in the
system. This sum-of-powers of the adjacency matrix can then be used to develop
optimization-based controllers for connectivity maintenance, which are generally
centralized. Changes in the topology can be accommodated through a controller that
utilizes global techniques, such as gossip and auctions, to guarantee that link breakages
will not disconnect the network [19].
These works develop an important principle that make these problems more
accessible to network researchers: the overall FC+NC problem can be decomposed
such that network connectivity control is performed in the discrete space over the
network graph, while motion control is performed in the continuous space using
conventional control techniques, such as potential fields. Thus, networking researchers
can contribute to the problems of formation control without having to become experts in
motion control. This approach is demonstrated in the next section.
1.2 Networking Approaches to Formation Control
The approaches described in Section 1.1 have several limitations. The approaches
presented in [5] are primarily focused on the impact of a given network connectivity
graph on the control algorithm. Those described in [1] are mostly focused on maintaining
network connectivity during formation control. The approaches in [6] are designed to
optimize connectivity or only allow limited reconfiguration of the formation. In these
previous works, the absolute or relative poses of the agents are pre-specified. Thus,
additional work on FC+NC problems is needed to address the following FC+NC
problems:
1. Techniques are needed to reconfigure a systems of autonomous vehicles fromarbitrary initial connected formations to arbitrary final connected formations, withno break in connectivity during the reconfiguration.
17
2. Many systems may use autonomous vehicles that have identical capabilities.Such systems should use anonymous formation reconfiguration, in which theautonomous vehicles are identical and can take any position in the final topology1 .
3. Techniques are needed that allow optimization of a final, connected formation tooptimize measures such as communication costs or task-specific utility functions,while maintaining network connectivity and obeying constraints on the amounts ofmovement.
In Chapter 2 and Chapter 3, we propose a networking-based approach that can
be used to address all three problems listed above. In this section, we present an
overview of the work in Chapter 2 and Chapter 3 and explain how it can be used to
simultaneously address problems 1 and 2. In this section, we give an example that
illustrates how these techniques can be used to address problem 3; our example
application minimizes communication costs under constraints on the amount of
movement.
The key idea from Chapter 2 and Chapter 3 is that autonomous vehicles can be
treated as packets that are then routed through the network2 . An example of this
approach is shown in Figure 1-2. There are several issues that have to be solved in
implementing this concept. The first is that autonomous vehicles can only be moved
if they will not cause the network to partition and if they can be moved along paths
that preserve their connectivity to the network. The second is that we wish to perform
anonymous formation reconfiguration. That is, we do not wish to specify which nodes
in the initial topology will take which positions in the final topology; rather, we only care
that there is an autonomous vehicle in each position specified in the final topology.
To address these issues, we first invoke the separation principle described in [6]: the
1 Semi-anonymous techniques should be created for general heterogeneousnetworks in which some autonomous vehicles are identical.
2 Our approach to reconfiguring the network topology can be considered to be pathplanning. Considerations like vehicle dynamics and collision avoidance need to behandled by the physical control algorithms.
18
problems of network topology control and physical position are treated separately.
Utilizing the navigation function of the controller developed in [28], the desired physical
formation can be achieved once the network topology is a superset of the network
topology in the desired physical formation. Thus, in this dissertation, we assume that the
goal is to specify topology changes as sequences of node positions specified by vertices
in the initial topology graph and that there are physical position-control techniques that
can move autonomous vehicles to positions that correspond to the edges and vertices of
the initial topology.
In general, we can divide formation reconfiguration problems into two classes based
on how the final formation is determined:
1. For some applications, the formation to be achieved is specified by the application.For instance, for landing UAVs on a small runway, a linear formation may berequired, while monitoring a fixed area may require a grid formation.
2. In other applications, the formation may be selected during operations to optimizeperformance of the system. For example, the formation of UAVs may be adaptedbased on the positions of mobile ground vehicles being tracked or may be adaptedto minimize the communication costs needed to exchange information.
In each of these classes of formation control problems, networking constraints
may play an important role. For example, in a search operation, a grid formation may
be desired. However, if the vehicles’ separation is too large, then network connectivity
may break. Thus, another autonomous vehicle may be used to help maintain network
connectivity across the system. An example of this scenario is illustrated in Figure 1-3,
in which a group of UAVs takes off from a launch area, causing them to initially be in a
linear formation. To conduct a grid search while maintaining network connectivity, the
formation is transformed to a star formation, with the center UAV acting as a network
router. When the final formation is known, then the network topology reconfiguration
approach in Chapter 2 and Chapter 3 can be coupled with the physical formation control
approach in [28] to achieve the desired formation while maintaining network connectivity.
19
(c) Robot 0111 and 0211 send message including its prefix label and
Robot 01 and 02 send requesting message to a root (mobile robot 0).(d) Root assigns the destination for mobile robot 0111, 0211 and send
a message including destination prefix label to each of them.
(e) Mobile robot 0111 and 0211 start moving to the destination by
first moving toward mobile robot 011 and 021 respectively.(f) Mobile robot 0111 and 0211 are now able to communicate with
requesting mobile robot 01 and 02.
(g) Requesting mobile robot 01 and 02 relabel mobile robot 0111 and
0211 to be 012 and 022.
(h) Achieving the desired network topology.
0
01 02
021011011
0111
021
0211
0
01 02
021011 0111 0211
M.RelabelM.Relabel
0
01 02
021011 012 022
0
021
0111 0211
012 022
M.Prefix
M.Prefix
M.Prefix
M.Req
M.Req
M.Prefix
M.Prefix
M.Prefix011
0201
0
01 02
021011
0111 0211
012 022
0
0
M.Dest
M.Dest
M.Dest
M.Dest
M.Dest
M.Dest
(b) Desired network topology(a) Initial network topology
0
01 02
021011
0111 0211
022012
0
01 02
021011
0
011
01
011
0111 02
021
02
021
02110111
Figure 1-2.
Network topology reconfiguration.
20
(a) UAV with linear network configuration due to consecutive launch.
(b) Converting UAV with linear configuration to a star configuration to
achieve the desired task.
01101 01110 01111
0
01 02
0304
Figure 1-3.
Conversion from linear configuration to star configuration.
Examples of formation optimization are given in Chapter 4 and Chapter 5. In the
scenario considered, the flow of traffic among the autonomous vehicles is nonuniform:
some pairs of autonomous vehicles have much higher traffic flows than other pairs
of autonomous vehicles. This situation may arise during processes such as sensor
fusion or data dissemination in peer-to-peer networks. Generally, messages sent from
one autonomous vehicle to another autonomous vehicle in the network will have to be
relayed by intermediate autonomous vehicles. We call the total amount of transmission
and retransmission the aggregate traffic. Clearly, the aggregate traffic will be highly
dependent on the network topology, and thus the network topology can be optimized
to minimize the aggregate traffic. For example, consider the system of UAVs shown
in Figure 1-4(a). The UAVs with labels 011 and 02 are exchanging messages, but
because of the network topology, their traffic has to be relayed by every other node in
the network. As shown in Figure 1-4, node 011 can be repositioned to be a neighbor of
21
0
01 02
011
M
M M
M
M M0
01 02
011
0
01 02
021
0
01 02
021
M
M
(b) Mobile robot 011 move close to mobile robot 02.(a) Mobile robot 011 always communicates with mobile robot 02 then
the same message will be reproduced at all intermediate node between
them.
(c) Mobile robot 011 is relabeled as 021. (d) The aggregate data flow is now reduced since mobile robot with
original prefix 011 is now just one hop away from mobile robot 02.
Figure 1-4.
Aggregate flow minimization by topology reconfiguration.
node 02. Upon achieving its new position in the network topology, node 011 is relabeled
as node 021, and the aggregate traffic is minimized – see Figure 1-4(c) and (d).
1.3 Organization of Dissertation
The rest of the dissertation is organized as follows. In Chapter 2, we propose
algorithms to solve the problem of how to transition the networked autonomous vehicle’s
system from one topology to another topology with a different network configuration
while maintaining the network connectivity. We then evaluate the performance in
terms of the amount of movement and time required to achieve the desired network
configuration. In Chapter 3, we develop graph-matching based algorithms to solve
the problem of how the nodes in the initial network topology should be mapped onto
22
the nodes in the desired network topology to minimize the amount of movement of
the autonomous vehicles before we reconfigure the network. We also evaluate the
performance of our developed algorithms via simulation. In Chapter 4, we propose
algorithms to solve the problem of optimizing the network topology to minimize the
total traffic in a network required to support a given set of data flows under constraints
on the total amount of movement possible of the autonomous vehicles. We present
simulation results to evaluate the performance of our algorithms. In Chapter 5, we
develop optimization algorithms to solve the problem of optimizing the physical formation
of a system of networked autonomous vehicles to reduce aggregate data traffic under
constraints on the total amount of movement by the autonomous vehicles. We present
simulation results to demonstrate that our proposed techniques can significantly reduce
aggregate network traffic. Finally, the conclusions are drawn and the future direction of
this work are given in Chapter 6.
23
CHAPTER 2PHYSICAL- AND NETWORK-TOPOLOGY CONTROL FOR SYSTEMS OF
NETWORKED AUTONOMOUS VEHICLES
In this chapter and Chapter 3, we consider the problem of how to transition the
autonomous vehicles from one topology to another topology with a different network
configuration while maintaining network connectivity. At the highest level, we partition
this problem into two sub-problems:
I. how to transition the group of autonomous vehicles from one network topology toanother while preserving network connectivity, and
II. how to move the group of autonomous vehicles to achieve the desired physicalformation once I. is completed.
Previous work on formation control addresses related problems. In [29] and [30],
a centralized navigation function based on potential fields is used to control a group
of autonomous vehicles to achieve a desired physical formation and orientation, with
obstacle and collision avoidance. However, in [29, 30] it is assumed that all autonomous
vehicles can communicate with each other at all times, and thus no effort is made to
ensure network connectivity while achieving the desired physical formation.
In this dissertation, we consider formation control in which network connectivity
must be preserved at all times. We use a protocol model to determine the mapping
between the physical formation and the network topology. In this model, a communications
link exists whenever two nodes are within a specified maximum communication
distance. Such a scenario is a reasonably accurate model for coded communication
over an exponential path-loss channel with additive white Gaussian noise at the
receiver. For this model, previous work in the controls community has solved the
problem of reconfiguring the physical formation of the network while maintaining network
connectivity when: [14, 28, 31–33, 38, 39]
• the mapping between nodes in the initial formation and those in the final formationis given, and
24
• the initial network topology is a superset of the desired network topology.
If the nodes are identical, then in many applications, any node in the initial topology
may be assigned to take any position in the specified final formation. We call this the
anonymous reconfiguration problem, and use the term roles to refer to the nodes in the
final formation. To do anonymous reconfiguration efficiently, we need techniques to
(1) find a good mapping of the nodes in the initial topology to the roles in the finalformation, and
(2) reconfigure the initial network topology so that it is a superset of the desirednetwork topology.
Both of these are still open research problems.
Because the best choice of initial mapping will depend on how the nodes will be
repositioned, we focus on problem (2) first in this chapter and then propose techniques
to solve problem (1) in Chapter 3. In this chapter, we propose a solution to problem (2)
for the special case where the specified final network topology is constrained to be a
tree. By forming a tree from the initial network topology, prefix routing and labeling [34]
can then be used to “route” each autonomous vehicle through the initial network to
achieve the desired network tree topology, while the network connectivity of a system is
always preserved.
In this chapter, we develop algorithms to transform an arbitrary connected
network topology into a desired network topology by moving nodes in the network
and performing other tasks, such as relabeling nodes. Our algorithms are based on
the concepts of prefix labeling and prefix routing from [34–36]. We believe our work
is unique in the field of formation control in that it is only concerned with achieving a
desired topology (while maintaining network connectivity) and not in placing particular
autonomous vehicles into particular locations in the topology. We evaluate the
performance of our algorithm in terms of the amount of movement and time required
to achieve the desired topology.
25
2.1 Anonymous Network Topology Reconfiguration Algorithms
We consider a system of networked autonomous vehicles that communicate over
wireless links. For the purposes of adapting the network topology, we can represent the
network as a simple graph G = (V, E), where the vertices V represent the autonomous
vehicles, and an edge e ∈ E between vertices u and v indicates that u and v can
communicate over a wireless link, In this chapter, we assume that all of the autonomous
vehicles are identical. Let Gi denote the initial network topology, and let Gtf denote
the desired final topology. The vertices in G represent specific vehicles in the initial
formation, and we refer to these as nodes. On the other hand, the vertices in Gtf
represent desired positions for the vehicles. Since the vehicles are assumed to be
identical, we consider anonymous topology reconfiguration, in which it is acceptable
for the desired positions of the vehicles to be filled by any of the vehicles in Gi . Thus,
we refer to the vertices in Gtf as roles, and the roles will be filled by the nodes from Gi .
We assume that Gtf is distributed to all of the nodes in Gi before our algorithms begin.
We consider the case that Gtf is a tree [37], and we label Gtf as a prefix tree, which is
commonly called a trie.
Our key observation is that we can reorganize the network topology by “routing”
autonomous vehicles through the existing topology as needed. We first select an initial
prefix tree, Gti , from the initial graph topology Gi that includes all the vertices in Gi . The
problem of how to select a good mapping between the nodes in the initial topology Gi
and the desired final formation Gtf is itself a challenging problem, and the solution of this
problem will depend on how the nodes in the topology will move to achieve the desired
formation once the initial mapping is selected. Thus, in this chapter we focus on the
problem of how to move the nodes to reorganize the formation given a specific mapping
from the nodes in the initial formation to the roles in the desired formation. As previously
mentioned, an approach to optimize this mapping is given in Chapter 3.
26
01
0
011 021
0111
01111
02
0211
011111
012
02111
A Initial network topology.
01
0
011 021
0111
01111
02
0211
01112 0211202111
B Desired network topology.
Figure 2-1.
Network topology 1.
In this chapter, we assume that the mapping between the nodes in the initial
formation and the roles in the final formation is performed by first selecting a node in
Gi to map to the role of the root node in Gtf . The root node then assigns prefix labels to
each node in Gi in breadth-first fashion. Whenever prefix labeling is done, each node
only maintains an edge e ∈ Ei that corresponds to a prefix tree to form Gti . The prefix
label assigned to each node serves as its network address. Nodes that are chosen to
change position in the topology use maximum prefix matching logic [34–36] to route
themselves through the network. In this section, we use the initial trie topology and
desired trie topology shown in Figure 2-1, as examples to explain our basic approach.
All the nodes are assumed to know the desired network topology.
2.1.1 Basic Algorithm
We begin by identifying nodes in Gti that do not match the topology of Gtf . A node
that is missing children is called a requesting node. A node that does not match a role
in Gtf (i.e., whose label does not exist in the desired network topology) is called an extra
node. Each requesting node will send the root a message, M.Req, that includes a list of
the addresses of all its missing children. A copy of this message will also be stored at all
nodes who are located along the path to the root. At the same time, each extra node will
also send a message, M.Label, including its own label to the root.
27
After the root obtains all the messages from these nodes, the root will then send a
message, M.Move, to each extra node, one-by-one, starting from an extra node who has
the longest label (i.e., the extra node that is deepest in the trie) to indicate to that node
that it should move up toward the root. This extra node will check for cached M.Req
messages in the nodes located along the way to the root. Whenever it first discovers
a cached message, it searches through this cache for the missing node destination
address. If there exists more than one missing node destination, an extra node will
decide to move to the closest missing node by comparing the prefix label of the missing
node destination with the node address of the node to which the extra node is currently
connected.
Whenever this extra node reaches the requesting node that is its parent in Gtf , the
requesting node will check the destination address of the extra node and then send a
message, M.RCM, to the root. This message will tell the root that it has received an
extra node, and the next extra node can now be moved. This message also tells all
the nodes along the path to the root to delete this missing node destination address
from their cache. At the same time, the extra node will move and be relabeled to take
the role of the formerly missing node in the desired topology. When the root obtains
M.RCM, it will initiate the process again by sending another M.Move to the next deepest
extra node. This process will continue until the desired network topology is achieved.
An example to illustrate this algorithm is shown in Figure 2-2. The gray-shaded nodes
represent extra nodes, and the nodes with dashed lines represent missing nodes.
There are two reasons for first moving an extra node with the longest prefix label.
First, we must maintain network connectivity throughout the topology transformation
process. If an extra node is a parent of other extra nodes, the other extra nodes will be
orphaned and thus may lose network connectivity if the parent node moves first. The
second reason is more subtle and is related to how our algorithm assigns extra nodes to
fill in missing vertices in Gtf . The problem is that if nodes that are closer to the root are
28
01
0
011 021
0111
01111
02
0211
011111
012
0211101112 02112
M.Req
M.Req
M.Req
M.Label
M.Label
M.Label
M.Label
M.Label
M.Label
M.Req
M.Req
M.Req
A Requesting nodes and extra nodes send mes-sages to the root.
01
0
011 021
0111
01111
02
0211
011111
012
0211101112 02112
M.Move
M.Move
M.Move
M.Move
M.Move
B Root send message to 011111.
01
0
011 021
0111
01111
011111
02
0211
012
0211101112 02112
M.RCM
M.RCM
M.RCM
C 011111 reaches 0111 and 0111 then sendsmessage to the root.
01
0
011 021
0111
01111
02
0211
012
0211101112 02112
D 011111 is relabeled as 01112 and for-warded to the destination.
Figure 2-2.
Basic algorithm example.
moved first, then the overall amount of movement by nodes may increase. This is best
illustrated by an example. Consider again the Gti and Gtf shown in Figure 2-1, but now
assume that the root sends M.Move to extra node 012 first. Referring to Figure 2-2A,
node 012 will find a cached message from requesting node 0111 at node 01 and thus
will travel down the tree to become node 01112. Then node 011111 will have to travel all
the way up to the root before finding the M.Req from 0211, after which it will route down
the 02 branch to become node 02112. The total number of levels in the tree that the two
nodes must move is 9, compared to 5 when the extra node that is deepest in the tree is
moved first.
29
2.1.2 Simultaneous Transition (ST) Algorithm
The time required to transition to the final topology can be reduced by allowing
some extra nodes to move simultaneously. We modify the basic algorithm as follows
to allow simultaneous movement. The requesting nodes and extra nodes send M.Req
and M.Label to the root as they do in the basic algorithm. M.Req will include both the
requesting node destination address and the missing child node address. The root
assigns each missing node a destination according to Algorithm 1, and informs each
such node of its destination address by sending it an M.Dest message, which includes
the requesting node address.
An extra node that is a leaf node can move whenever it receives a message
M.Dest, but other nodes have to wait for their children to move up the tree before the
parent can move. The extra node who reaches the destination first will be immediately
relabeled and forwarded by the requesting node to fulfill the desired network trie. If more
than one extra node reaches the destination requesting node at the same time, the
requesting node will check the hop number of each extra node by comparing the extra
node’s label with the shared prefix. Then the requesting node will assign those nodes
to its subtree to minimize the number of hops each node must travel. That is, nodes
that have already traveled the largest number of hops will be assigned as children of the
requesting node, whereas extra nodes that have traveled few hops will be assigned as
the leaf nodes of the deepest part of the subtree. An example that illustrates ST is given
in Figure 2-3.
2.2 Relabeling Algorithms
The performance of the basic and ST algorithms are highly dependent on the
way that the initial trie is created from the initial connected graph topology, including
both which edges in Gi are removed and how the prefix labels are assigned. Thus, the
performance can be improved if we modify these algorithms to consider other labelings
of the trie and other ways to create a trie by deleting edges from Gi . Both of these can
30
01
0
011 021
0111
01111
02
0211
011111
012
0211101112 02112
M.Dest
M.Dest
M.Dest
M.Dest
M.Dest
M.Dest
M.Dest
A Root sends a message including destinationaddress to 012 and 011111.
01
0
011 021
0111
01111
02
0211
0211101112 02112
B Nodes 012 and 011111 arrive at the desireddestination and are relabeled as 02112 and01112 respectively to complete the desirednetwork topology.
Figure 2-3.
Simultaneous transition algorithm example.
Algorithm 1: Destination Assignment Algorithm
Input: Initial network tree, Gti = (Vti , Eti ); Desired final network tree, Gtf = (Vtf , Etf );AllExtraNodes = GetExtraNode(Gti ,G
tf );
AllMissingNodes = GetMissingNode(Gti ,Gtf );
foreach u ∈ AllExtraNodes doforeach v ∈ AllMissingNodes do
DistanceMatrix(u, v ) = GetHopDistance(u, v );/* Storing distance for all pairs of the extra nodes in Gti and the missing nodes in
Gtf in the matrix used for Hungarian method */
endendExtraNodeAndMissingNodePair = GetHungarianAssignment(DistanceMatrix);/* Using Hungarian method to obtain optimal pairs of the extra nodes in Gti and the missing
nodes in Gtf that minimizes the required total amount of movement */
foreach pair ∈ ExtraNodeAndMissingNodePair doExtraNode = GetExtraNode(pair);MissingNode = GetMissingNode(pair);RequestingNode = GetRequestingNode(MissingNode,Gti ,G
tf );
ExtraNode.DestinationAddress = GetPrefixLabel(RequestingNode);ExtraNode.MissingNodeAddress = GetPrefixLabel(MissingNode);
end
be considered ways of relabeling the nodes in Gti . In the discussion below, we use
the initial and final topologies in Figure 2-4 as examples to illustrate our relabeling
approaches.
2.2.1 Branch Relabeling (BR) Algorithm
In this section, we consider swapping the prefix labels of all the nodes in two or
more branches to reduce the total amount of node movement required to achieve the
31
02
0
03
021
031
01
032
A Initial network topology.
02
0
01
021011 022012
B Desired network topology.
Figure 2-4.
Network topology 2.
desired network topology. Before branch relabeling (BR), Gi is transformed into a tree
Gti , which is prefix-labeled in the usual way. Then each leaf node will send a message
including its label to the root. The root will then have the knowledge of all the node prefix
labels in the network. Starting from the root, nodes can then consider swapping the
prefix label associated with two branches of descendants.
In this work, we only apply branch labeling at the root, as that is most likely to
have the largest impact on the amount of movement required to achieve the desired
topology. The root evaluates the amount of movement that is required to perform the
topology transformation for each possible branch labeling, and selects the minimum
such labeling. The total number of hops for a given branch labeling can be easily found
from the destination assigned to each extra node by Algorithm 1. After BR is done, the
ST algorithm is used to transform the network topology.
An example that illustrates the BR algorithm is shown in Figure 2-5. In this example,
the prefix tree topology with initial prefix labeling is shown in Figure 2-5A. With this
initial prefix labeling, there are three extra nodes: 03, 031, and 032, and there are three
missing nodes: 011, 012, and 022. These extra nodes have to be repositioned to take
place of the missing nodes, and this can be done by using simultaneous transition
32
02
0
03
021
031
01
032
A Before performing BR (5 hops required).
02
0
01
021
011
03
012
B After performing BR (1 hops required).
Figure 2-5.
Branch Relabeling.
algorithm given in Section 2.1.2 to achieve the desired network topology shown in
Figure 2-4B. This requires a total of 5 hops to reposition all these extra nodes to achieve
the desired network topology shown in Figure 2-4B. On the other hand, if BR algorithm
is used in this scenario, it will swap the prefix labeling of the nodes in the left-most
branch with those in the right-most branch of the initial prefix tree topology shown
in Figure 2-5A. This results in the prefix tree shown in Figure 2-5B. With this prefix
labeling, there is only one extra node: 03, and one missing node: 022. Hence, only one
hop is required to reposition the extra node to achieve the desired network topology
shown in Figure 2-4B.
2.2.2 Neighbor Relabeling (NR) Algorithm
Reducing Gi to a tree according to the breadth-first approach described in 2.1
eliminates some connections that could reduce the number of nodes that have to be
moved. In this section, we propose a technique to reduce the amount of node movement
by taking advantage of those additional links in Gi . We present a neighbor relabeling
(NR) algorithm to achieve this goal. First an initial labeling is done, starting from the
root. All the nodes first check if they are an extra node. All extra nodes will reset their
label to null. Then all nodes that are missing children in Gtf will check if any of the extra
33
nodes are their neighbors in Gi . If so, the node that is missing a child will relabel the
neighboring extra node by sending it a message, M.Relabel. The node that is relabeled
will then repeat the same process. This process continues until no more relabeling is
possible or until a timer expires. All remaining extra nodes will then be labeled by their
neighbors to form Gti . ST will then be applied immediately after NR is done to achieve
the desired network trie.
An example of NR is illustrated in Figure 2-6. In this example, we start with the
initial network topology with prefix labeling assigned by the root shown in Figure 2-4A.
Three extra nodes are initially identified as extra noes: 03, 031, and 032; these nodes
set their prefix label to null. The requesting nodes are 01 and 02, who are missing
nodes 011, 012, and 022 respectively. After the extra nodes set their prefix labels to
null, the requesting nodes check if they have neighbors that are extra nodes. The
requesting node 02 finds two extra nodes connecting to it, and it sends a message
M.Relabel to relabel the prefix label of one of the two extra nodes to relabel it as its
missing node 022. However, there is no extra node as neighbor for the requesting node
01. Finally, the remaining extra nodes are relabeled by their neighbor nodes, and each
node disables some of their links to turn the initial network topology into a prefix tree.
Finally, the simultaneous transition algorithm is used to reposition the remaining extra
nodes to achieve the desired network topology.
For dense networks (in which the number of edges is high), NR may offer
advantages over BR because NR can take advantage of the many network connections.
To offer the greatest benefit across initial network topologies, NR and BR can be
combined, as follows. First, network connections among all nodes are utilized by NR.
After this is done, BR algorithm will be performed. The performances of these algorithms
are illustrated in the next section.
34
02
0
021
01
M.Relabel
A Relabeling an extra node to be 022 by node02.
02
0
022
021
01
M.RelabelM.Relabel
B The remaining extra nodes are relabeled.
02
0
022
021
0221
01
023
C Trie network topology.
Figure 2-6.
Neighbor Relabeling.
2.3 Simulation Results
In this section, we evaluate the performance of the proposed network topology
control algorithms. We consider a network of seven nodes, where the initial topology is
generated at random with different density of network connections, which we quantify in
terms of the total number of network links. We consider transforming the network into
the four different final tree topologies of varying depth shown in Figure 2-7.
We evaluate the performance of the relabeling algorithms by considering the
average total amount of movement (number of hops) and the total time required to
35
05
0
02 0401 0603
A Topology A.
0
031011 021
01 0302
B Topology B.
0
01 02
021011
02110111
C Topology C.
0
01
0111
1
0111
11
011
0111
111
0111
D Topology D.
Figure 2-7.
Desired topology.
achieve the desired formation. In this chapter, we assume that the time required for a
single hop is the same for every node in the network. We compare the performances of
the different algorithms for different amounts of connectivity in the initial graph, which is
measured in terms of the total number of communication links (|Ei |, the number of edges
in Gi ). For each value of |Ei |, 100 random topologies Gi were instantiated. For each Gi ,
the root of Gti is randomly selected and the prefix labels are assigned accordingly.
The results in Figure 2-8 show the total amount of required movement as a function
of the number of links in the network. It can be seen from Figure 2-8 that the relabeling
36
6 8 10 12 14 16 18 20 22 24 260
2
4
6
8
10
12
14
16
18
Total link number
AV
G t
ota
l m
ove
me
nt
(nu
mb
er
of
ho
ps)
A: (depth = 1)
B: (depth = 2)
C: (depth = 3)
D: (depth = 6)
No relabel
Branch
Neighbor
N+B
Figure 2-8.
Average total hop over 100 random initial topologies for each link number.
algorithms can reduce the amount of movement required, except for the case of the
desired network shown in Figure 2-7A. Since the network of Figure 2-7A has depth
of one, the only missing nodes will be the root’s child nodes, and the root labels all
of its neighbors as child nodes when forming Gti . Thus, there are no opportunities for
relabeling. For the other final network topologies, we observe that the BR algorithm
outperforms the NR algorithm when the network is very sparse, and vice versa. This
is because when the network is sparse, there will be fewer redundant links that the NR
algorithm can utilize.
It can also be seen that the density of the network affects the amount of movement
required to achieve the desired topology. For instance, in the case of no relabeling,
when the network is sparse, the desired topology in Figure 2-7A requires more node
movement than the topology shown in Figure 2-7B and Figure 2-7C because the root
37
6 8 10 12 14 16 18 20 22 24 260
1
2
3
4
5
6
7
Total link number
AV
G t
ota
l tim
e
A: (depth = 1)
B: (depth = 2)
C: (depth = 3)
D: (depth = 6)
No relabel
Branch
Neighbor
N+B
Figure 2-9.
Average total time over 100 random initial topologies for each link number.
may have fewer child nodes and there will be more extra nodes that have to come up
to the root to fulfill the place of the root’s missing child nodes. When the network is
very dense, the root will be able to assign all the nodes in the network as its children
to form the initial network. Hence, the initial topology will already be in the form of the
desired topology given in Figure 2-7A. Thus for a dense network, topology A requires no
node movement. As expected, the combined BR and NR algorithms provides the best
performance.
Next, we consider the average total time required to form the desired topologies
given in Figure 2-7. We use the ST algorithm, for which the amount of time required to
transform the topology is not always monotonic with the amount of movement required.
For example, if the Gi is sparse, the initial network is likely to be similar to a “narrow”
tree that is deep with few child nodes at each level. If topology A is desired, there will
38
1 2 3 4 5 6 70
0.5
1
1.5
2
2.5
Number of roots considered
AV
G o
f m
in t
ota
l m
ove
me
nt
(nu
mb
er
of
ho
ps)
A: (depth = 1)
B: (depth = 2)
C: (depth = 3)
D: (depth = 6)
Figure 2-10.
Average of the minimum total hop among the number of root considerationover 100 random initial topologies.
be many extra nodes, and the total amount of movement will be more than if the desired
topology had more depth, such as in topologies B or C. However, for topology A, since
the missing nodes are the root’s child nodes, which are only one level below the root,
the furthest any extra node has to move is up to the root. Thus, as seen in Figure 2-9,
the average time to transform the topology is smaller for topology A than for the other
topologies.
Finally, we consider the effect of the choice of root node (which node in Gi that
is chosen to be the root of Gti ) on the performance of the topology reconfiguration
algorithm. For each topology considered, we consider the performance if we select
multiple roots at random and choose the root that results in the minimum amount of
movement, where a combination of the BR and NR algorithms are used.
39
The average number of hops that nodes must move for 100 random initial
topologies is shown in Figure 2-10. As the number of roots considered increases, the
required amount of movement significantly decreases for all final topologies. Thus, the
choice of root significantly affects the amount of movement to reconfigure the network,
which motivates our study of this issue in Chapter 3.
2.4 Summary
In this chapter, we developed a new approach to reconfigure the network topology
of a system of networked autonomous vehicles. We develop new algorithms to “route”
nodes through the network by using prefix labeling and routing. We developed several
approaches to enhance the performance of the topology reconfiguration algorithm.
The results show that the simultaneous transition algorithm with the addition of
both relabeling algorithms, branch and neighbor relabeling, achieves a significant
improvement in terms of total movement and time required to form the desired network
tree. Finally, appropriate root selection from a set of nodes is possible to achieve better
performance in terms of the total number of hops required to achieve the desired
network trie configuration.
40
41
CHAPTER 3GRAPH MATCHING-BASED TOPOLOGY RECONFIGURATION ALGORITHM FOR
SYSTEMS OF NETWORKED AUTONOMOUS VEHICLES
As discussed in Chapter 2, to do anonymous reconfiguration efficiently, we need
techniques to
(1) find a good mapping of the nodes in the initial topology to the roles in the finalformation, and
(2) reconfigure the initial network topology so that it is a superset of the desirednetwork topology.
In Chapter 2, we propose a solution to problem (2) for the special case where the
specified final network topology is constrained to be a tree. By forming a tree from the
initial network topology, prefix routing and labeling [34] can then be used to “route” each
autonomous vehicle through the initial network to achieve the desired network tree
topology, while the network connectivity of a system is always preserved.
In this chapter, we propose techniques to solve problem (1). We wish to choose a
mapping between the nodes in the initial network topology and the roles in the specified
final network topology, such that the total amount of movement required to reposition the
nodes in the initial network to achieve the desired network topology is minimized. In the
case that the graphs are isomorphic, this is a graph-matching problem, which is known
to be NP-hard, and the optimal solution is provided by Ullmann’s algorithm [40].
When the graphs are not isomorphic, then we can find an approximate solution by
solving a weighted graph-matching problem, for which suboptimal solutions are possible
using algorithms that have reasonable computational complexity. In particular, we
apply an approach based on spectral graph theory to this problem. We then apply the
relabeling algorithms proposed in Chapter 2 to further reduce the total amount of node’s
movement required to reconfigure the initial network tree to achieve the desired network
tree topology. We evaluate the performance of the proposed algorithms in terms of
42
complexity and the required amount of movement to achieve the desired final topology,
which is evaluated through simulation.
3.1 Initial Tree Selection (ITS) Algorithm
We model the network topology of a system of autonomous vehicles by an ordinary
undirected graph G = (V, E), where V is a set of N = |V | vertices, which represent the
vehicles, and E ⊂ V2 = V × V is a set of edges that represent the communications links
between pairs of vehicles. The initial network topology of a system is represented by
Gi = (Vi , Ei). The desired network topology is represented by Gtf = (V tf , E tf ). We consider
the case where Gtf is a tree. We wish to choose a mapping Φ : V ti → V tf from the nodes
in Gti to the roles (vertices) in Gtf that minimizes the amount of movement (in terms of
number of edges that a nodes must traverse) that will be required to move the nodes
into the desired final topology. We utilize the approach in Chapter 2 to reconfigure the
topology around a tree that is a subgraph of the initial graph while maintaining network
connectivity. Let TS denote the set of trees that are subgraphs of the initial graph. Then
the best mapping between the nodes in the initial graph and the roles in the final graph
is given by
Φ = arg minφ:Vti →V
tf ,
G∈TS(Gi )
∑u∈Vi
dhopG→Gtf(u,φ(u)), (3–1)
where dhopG→Gtf (u, ) is a distance function which give the required amount of movement, in
terms of number of edges that must be traversed, to reposition node u from its position
in G to role v in Gtf .
The selection of Φ is similar to a graph matching problem, which is known to be
NP-hard [41, 42]. If there is a subtree Gti ⊂ Gi that is isomorphic to Gtf ; i.e., there exist
one-to-one correspondence ΦVti →Vtf such that (u, v) ∈ E ti ⇐⇒ (ΦVti →Vtf (u), ΦVti →Vtf (v)) ∈
E tf , then no movement will be required. In this case, Ullmann’s algorithm [40] can
be directly used to obtain Φ. However, if there does not exist a subtree of Gi that is
isomorphic to Gtf , Ullmann’s algorithm will absolutely fail to give Gti . In addition, the
43
complexity of Ullmann’s algorithm is O(NN). This motivates us to consider techniques
that can provide approximate solutions to (3–1) at lower complexity and that can provide
solutions when there is no subtree of Gi that is isomorphic to Gf . In these cases, the
distance computations in (3–1) depend on the choice of tree in T(Gi), and (3–1) does
not directly map onto a graph matching problem. Thus we propose a heuristic solution to
choosing Gti that can be solved as an approximate weighted graph-matching problem.
For the approximate weighted graph-matching approach, we propose to choose Φ
that minimizes a cost function based on the differences between the desired final graph
topology and the initial graph topology,
J(Φ) =∑
(u,v)∈V2i
{wi(u, v)− w tf [Φ (u) , Φ (v)]
}2. (3–2)
Here wi() and w tf () are weighting functions that take as input an edge (specified by
the vertices it connects) and that specify the importance of edges in the initial and final
graphs, respectively. This is the same form as in [43], in which a fast algorithm (that has
complexity O(N3)) is developed. The key is to reformulate (3–2) by replacing Φ with a
permutation matrix P, yielding [43]
J(P) = ‖PAiPT − Af‖, (3–3)
where Ai and Af are weighted adjacency matrices for Gi and Gtf . Note that if Φ
corresponds to a one-to-one isomorphism between Gi and Gtf , then J(P) = 0 and
PAiPT = Af . However, finding the optimal solution to (3–2) for other cases requires
exponential complexity.
By relaxing the domain of P from the set of permutation matrices to the set of
orthogonal matrices, (3–3) can be solved approximately using the graph spectra.
Let the eigendecompositions of Ai and Af be Ai = UiΛiUTi and Af = UfΛfU
Tf .
Furthermore, let Ui and Uf be matrices for which each element is the absolute value
of the corresponding element in Ui and Uf , respectively. Letting Π denote the set of
44
permutation matrices, the approximate solution to (3–3) is given by [43]
arg maxP∈Π
tr(
PTUfUT
i
), (3–4)
which can be solved by the Hungarian method in O(N3) time.
There are several problems that must be addressed in order to apply Umeyama’s
method [43] to find a good solution for (3–1). The choice of weight functions in (3–2)
(which determine the weighted adjacency matrices in (3–3)) greatly affect the solution
for Φ. In addition, the Φ may result in a graph Gi that does not preserve all of the edges
in Gtf , and depending on which edges in Gtf are missing, different amounts of movement
will be required in (3–1).
Consider the example network topology illustrated in Figure 3-2, based on Gi and
Gtf shown in Figure 3-1. The number in parenthesis on each node in Gi in Figure 3-2
represents the role in Gtf to which that node is mapped. We observe that in order to find
a mapping Φ that minimizes the amount of node movement required in (3–1), unequal
priorities should be assigned to the edges in Gtf . For instance, an edge in Gtf that is
closer to the root node and has many descendants should have a greater priority to be
in Gi than edges that are further down the tree and have fewer descendants. We achieve
this through the weighting functions wi and w tf .
We first define the weighting function w tf of the edges in Gtf , except for the edges
attached to leaf nodes in Gtf , as
w tf (u, v) = |cv | · [maxdepth(cv)− (depth(v)− 1)], (3–5)
where
• u, v ∈ V tf denote a parent node and child node, respectively, in V tf ,
• cv denotes a set of the children of node v in Gtf ,
• maxdepth(cv) denotes a function of the set cv of the descendants of node v thatprovides the maximum depth of the nodes in cv , and
45
• depth(v) denote a function of the node v ∈ V tf that provides the depth of nodev ∈ V tf .
Edges attached to leaf nodes in Gtf will be assigned a weight of 1.
After the edges in Gtf are all completely assigned the weight, the weight of edges in
Gi is assigned according to the weighting function
wi(u, v) = max(u,v)∈Etf
w tf (u, v), (3–6)
Hence, the weights of all edges in Gi are assigned the maximum weight of the edges in
Gtf .
Next, starting from the permutation Φ given from (3–4), we build the initial tree
Gti ⊂ Gi . The process starts from the node in vi ∈ Vi that maps onto the root node in
Gtf . Gti is grown in breadth-first fashion and works in parallel on Gti and Gtf , where we
try to grow edges for Gti in Gi wherever possible. The root node vf first checks if it has
children v cf ∈ V tf in Gtf . If it does, vi will also check if it has neighbor nodes v ni ∈ Vi in Gi .
If it does, vi will first select a neighbor node v ni with ΦVi→Vtf (vni ) = v cf to form the edge
(vi , vni ) ∈ Ei for Gti which corresponds to the edge (vf , v
cf ) ∈ E tf . However, a v ni that
satisfies ΦVi→Vtf (vni ) = v cf may not exist, in which case one of the unassigned neighbors
v ni will be assigned to form the edge (vi , vni ) ∈ Ei for Gti which corresponds to the edge
(vf , vcf ) ∈ E tf based on
min(v cf ,vni )
dGtf (vcf , ΦVi→Vtf (v
ni )). (3–7)
Here dGtf (u, v) is a function of the distance in terms of hop between node u ∈ V tf and
v ∈ V tf in Gtf . The distance between two nodes in Gtf could be found by applying the
breadth-first search algorithm [44].
The algorithm will proceed to map the neighbors v ni to all of the children of the root,
v cf in the same way, and then will proceed to mapping the nodes at consecutively deeper
levels of the tree. If it is no longer possible to keep forming edges for Gti in Gi and there
still exists a remaining node v ri ∈ Vi in Gi that is disconnected from the existing Gti , v ri
46
2
1
5
4
3
6
7
A Initial network topology.
2
1
4
3
5 6 7
B Desired network topology.
Figure 3-1.
Network topology.
will be connected to one of the nodes v ti ∈ V ti in the existing Gti by forming the edge
(v ri , v ti ) ∈ Ei in Gi one edge at a time. The edge (v ri , v ti ) ∈ Ei will be form for existing Gti
one edge at a time by connecting v ri with v ti in existing Gti based on
min(v ri ,v ti )∈Ei
dGtf (ΦVi→Vtf (vri ), ΦVi→Vtf (v
ti )). (3–8)
The pseudocode of the Initial Tree Selection (ITS) algorithm can logically be
partitioned into two parts, which are illustrated in Algorithm 1 and 2, where part I is
about initially forming Gti based on (3–7), and part II is about forming the completed Gti
after obtaining Gti from part I by connecting v ri to an existing Gti based on (3–8).
An example of how Gti is formed is illustrated in Figure 3-3 based on Gi and Gtf
shown in Figure 3-1, and also the node’s mapping between Vi and V tf , shown in
Figure 3-2. In this example, v ji ∈ Vi and v jf ∈ V tf the denote j th nodes in Gi and Gtf ,
respectively. The algorithm starts at the root node v 1f ∈ V tf and the corresponding role to
which that node is mapped, v 3i ∈ Vi .
In this example, node v 1f has two children, v 2
f and v 3f . Node v 3
i has three unmarked
neighbor nodes v 2i , v 5
i , and v 6i , whose mapping in Gtf are v 2
f , v 4f , and v 5
f respectively
as shown in Figure 3-3A. These nodes should be used to form edges in Gti that will
47
Algorithm 1: Initial Tree Selection Algorithm (Part I)
Input: Initial network, Gi = (Vi , Ei ); Desired final network tree, Gtf = (Vtf , Etf ); Node’s mapping obtained fromthe inexact graph matching algorithm, Φ
Output: Initial network tree, Gti = (Vti , Eti );Vti = ∅;Eti = ∅;DesiredTreeRootNode = GetRootNode(Gtf );InitialGraphRootNode = Φ−1(DesiredTreeRootNode);DesiredTreeQ = DesiredTreeRootNode;InitialGraphQ = InitialGraphRootNode;MarkNode(DesiredTreeRootNode);MarkNode(InitialGraphRootNode);Vti = InitialGraphRootNode;while (InitialGraphQ 6= ∅)&&(DesiredTreeQ 6= ∅) do
DesiredTreeQTemp = ∅; InitialGraphQTemp = ∅;QueueLength = GetQueueLength(DesiredTreeQ);for i = 1 : QueueLength do
DesiredTreeChildNodes = GetUnmarkedChildNodes(DesiredTreeQ[i],Gtf );InitialGraphNeighborNodes = GetUnmarkedNeighborNodes(InitialGraphQ[i],Gi );while (DesiredTreeChildNodes 6= ∅)&&(InitialGraphNeighborNodes 6= ∅) do
MinimumDistance =∞;foreach u ∈ DesiredTreeChildNodes do
foreach v ∈ InitialGraphNeighborNodes doDistance = GetDistance(u, Φ[v ],Gtf );if Distance < MinimumDistance then
MinimumDistance = Distance;BestPair = [u, v ];
endend
end[u, v ] = BestPair;foreach vi ∈ Vi do
if Φ[vi ] ≡ u thenΦ[vi ] = Φ[v ];
endendΦ[v ] = u;Union(Vti , v ); Union(Eti , (InitialGraphQ[i ], v));MarkNode(u); MarkNode(v );EnqueueNode(DesiredTreeQTemp,u); EnqueueNode(InitialGraphQTemp,v );DesiredTreeChildNodes = (DesiredTreeChildNodes\u);InitialGraphNeighborNodes = (InitialGraphNeighborNodes\v );
endendDesiredTreeQ = DesiredTreeQTemp;InitialGraphQ = InitialGraphQTemp;
end
correspond to the edges (v 1f , v 2
f ) and (v 1f , v 3
f ) in Gtf . Using (3–7), node v 2i will be used to
form an edge (v 3i , v 2
i ) in Gti , corresponding to (v 1f , v 2
f ) in Gtf , since ΦVi→Vtf (v2i ) = v 2
f and
dGtf (ΦVi→Vtf (v2i ), v 2
f ) is equal to zero. This is shown in Figure 3-3B.
Continuing to build out the tree from the root, node v 6i is used to form the edge
(v 3i , v 6
i ) in Gti , corresponding to the edge (v 1f , v 3
f ) in Gtf , since dGtf (ΦVi→Vtf (v6i ), v 3
f ) = 3
is the next minimum of (3–7). The edge (v 3i , v 6
i ) ∈ Ei now corresponds to the edge
48
Algorithm 1: Initial Tree Selection Algorithm (Part II)
Input: Initial network, Gi = (Vi , Ei ); Desired final network tree, Gtf = (Vtf , Etf ); Initial network tree (obtained frompart I), Gti ;
Output: Initial network tree, Gti = (Vti , Eti );UnMarkedNode = GetUnMarkedNode(Vi );while UnMarkedNode 6= ∅ do
MinimumDistance =∞;foreach u ∈ UnMarkedNode do
MarkedNeighborNodes = GetMarkedNeighborNodes(u,Gi );foreach v ∈ MarkedNeighborNodes do
Distance = GetDistance(Φ(u), Φ(v),Gtf );if Distance < MinimumDistance then
MinimumDistance = Distance;BestPair = [u, v ];
endend
end[u, v ] = BestPair;Union(Vti , u); Union(Eti , (u, v));MarkNode(u);UnMarkedNode = (UnMarkedNode\u);
end
2 (2)
1 (7)
5 (4)
4 (3)
3 (1)
6 (5)
7 (6)
A Gi with the node’s mapping betweennodes in Gi and Gtf .
2 (2)
1 (7)
5 (4)
4 (3)
3 (1)
6 (5)
7 (6)
B Only some edges of Gtf are preserved inGi .
Figure 3-2.
Initial network topology. Numbers outside (inside) parentheses represent thenode’s label in the initial topology (role to which that node is assigned in thefinal formation).
(v 1f , v 3
f ) ∈ E tf in Gtf . However, nodes v 6i and v 4
i were originally mapped to nodes v 5f and
v 3f , respectively. Hence, we swap the mapping of nodes v 6
i and v 4i : ΦVi→Vtf (v
6i ) = v 3
f and
ΦVi→Vtf (v4i ) = v 5
f , as illustrated in Figure 3-3C and Figure 3-3D.
Since there are no more edges under node v 1f in Gtf to form the corresponding edge
for the initial network tree Gti ⊂ Gi , the node v 2f , which is located at the next depth of the
49
2 (2)
1 (7)
5 (4)
4 (3)
3 (1)
6 (5)
7 (6)
A Gi with node’s mappingbetween nodes in Gi andGtf .
2 (2)
1 (7)
5 (4)
4 (3)
3 (1)
6 (5)
7 (6)
B The edge betweennodes 3 and 2 in Gi isformed for Gti corre-sponding to the edgebetween node 1 and 2 inGtf .
2 (2)
1 (7)
5 (4)
4 (3)
3 (1)
6 (5)
7 (6)
C The edge betweennodes 3 and 6 in Gi isformed for Gti .
2 (2)
1 (7)
5 (4)
4 (5)
3 (1)
6 (3)
7 (6)
D The mappings of thenodes, 6 and 4, in Giare swapped so that theedge between nodes 3and 6 in Gi is now cor-responding to the edgebetween the nodes, 1and 3, in Gtf .
2 (2)
1 (7)
5 (4)
4 (5)
3 (1)
6 (3)
7 (6)
E The edge betweenthe nodes, 2 and 5, inGi is formed for Gti thatcorresponds to the edgebetween the nodes, 2and 4, in Gtf .
2 (2)
1 (7)
5 (4)
4 (5)
3 (1)
6 (3)
7 (6)
F The edge between thenodes, 2 and 1, in Gi isformed for Gti .
2 (2)
1 (5)
5 (4)
4 (7)
3 (1)
6 (3)
7 (6)
G The mappings of thenodes, 1 and node 4, inGi , are swapped so thatthe edge between thenodes, 2 and 1, in Gi isnow corresponding to theedge between the nodes,2 and 5, in Gtf .
2 (2)
1 (5)
5 (4)
4 (7)
3 (1)
6 (3)
7 (6)
H The edge betweenthe nodes, 6 and 7, inGi is formed for Gti thatcorresponds to the edgebetween the nodes, 3and 6, in Gtf .
2 (2)
1 (5)
5 (4)
4 (7)
3 (1)
6 (3)
7 (6)
I Building the corre-sponding edge of Gtf forGti is no longer possible.The edge between thenodes, 4 and 7, in Gi isformed for Gti .
2 (2)
1 (5)
5 (4)
4 (7)
3 (1)
6 (3)
7 (6)
J Initial network tree Gtiis achieved.
Figure 3-3.
Initial tree selection algorithm example.
50
desired final network tree Gtf , is considered and it is mapped to the node v 2i ∈ Vi in the
initial network Gi . The node v 2f has two children, v 4
f and v 5f , in Gtf , and the mapped node
v 2i has two unmarked neighbor nodes, v 1
i and v 5i , in Gi whose mapping are the nodes,
v 7f and v 4
f , in Gtf respectively. Proceeding as before, we consider forming edges in Gti
that correspond to (v 2f , v 4
f ) and (v 2f , v 5
f ) in Gtf . Based on (3–7), the nodes v 5i and v 1
i are
used to form the edges (v 2i , v 5
i ) and (v 2i , v 1
i ), which correspond to (v 2f , v 4
f ) and (v 2f , v 5
f ),
respectively.
The algorithm then performs the necessary swaps in the mapping and proceeds to
the remaining levels, as illustrated in Figure 3-3G and Figure 3-3H. However, after the
creation of the edge (v 6i , v 7
i ) in Gti , which corresponds to (v 3f , v 6
f ) in Gtf , it is no longer
possible to form any corresponding edge e ∈ E tf of the desired final network tree Gtf for
the initial network tree Gti ⊂ Gi . However, there is still a remaining node v 4i ∈ Vi in the
initial network Gi that is disconnected from the initial network tree Gti . To complete Gti the
node v 4i considers forming the edge between itself to one of the nodes in the existing
Gti . Using (3–8), the best edge will be formed from v 4i to v 7
i , as illustrated in Figure 3-3I.
Finally, the initial network tree Gti is achieved. The initial network tree Gti ⊂ Gi and its
mapping are shown in Figure 3-3J.
Complexity of ITS Algorithm. The worst-case complexity occurs when Gtf has
depth one, which means that all nodes except the root node in Gtf are the children of
the root node, and also when all the nodes in Gi except the mapped root node are
connected to the mapped root node. This algorithm will try to match one of edges in
Gtf to one of the edges attached to the mapped root node in Gi one edge at a time until
all edges in both Gi and Gtf are uniquely matched. Each time the algorithm compares
all the edges in Gtf to all the edges attached to the mapped root node in Gi and decides
to match one pair of edges from both Gi and Gtf based on (3–7). Since the number of
nodes connecting to root node in Gtf and the number of nodes connecting to the mapped
root node in Gi are N − 1, where N is the total number nodes in Gi , then the number
51
of edges to be considered for matching in each topology is equal to N − 1. Hence, the
worst case running time T (N) for this algorithm is given by
T (N) =
N−1∑i=1
(N − i)2 <N−1∑i=1
(N)2 < N3, (3–9)
Hence, the complexity of ITS algorithm is given by O(N3).
3.2 Simulation Results
In this section, we first evaluate the performance of the ITS algorithm proposed in
Section 3.1 by comparing the total amount of movement required, in terms of number
of edges (hops) that nodes must travel, to reconfigure the network topology starting
from Gti obtained from ITS with other methods to obtain Gti . From each initial topology,
the topology reconfiguration algorithm proposed in Chapter 2 is used to reconfigure
Gti , where the Hungarian algorithm [45] is used to provide the optimal assignment in
matching the repositioning node in Gti with the destination in Gtf to minimize the total
amount of movement required to transform the selected Gti into Gtf .
We considered randomly generated networks with sizes ranging from 3 to 15
nodes. For each network size, we randomly generated 200 pairs of Gi and Gtf . For each
pair of Gi and Gtf , we generate Gti ⊂ Gi according to the ITS algorithm or one of the
comparison methods. Then we apply the network topology reconfiguration algorithm
based on Hungarian method to reconfigure Gti to achieve Gtf . We average the total
amount of nodes movement obtained across the 200 pairs of Gi and Gtf , and the results
are illustrated in Figure 3-4.
We first compare the performance of ITS algorithm with the method of choosing
Gti ⊂ Gi proposed in Chapter 2 by randomly choosing any node in Gi to be a root
node and growing Gti in breadth-first manner starting from that root node. We use the
abbreviation BFS to refer to this method in the figures. We observed that ITS algorithm
significantly outperforms BFS method, especially when the network size is large. Since
the BFS method obtains Gti based on random selection, most of the time the Gti obtained
52
3 4 5 6 7 8 9 10 11 12 13 14 150
5
10
15
20
25
30
35
40
45
50
Number of nodes
AV
G tota
l m
ovem
ent (n
um
ber
of hops)
BFS
BFS + NR + BR
ITS
ITS + NR + BR
Ullmann + ITS
Ullmann + ITS + NR + BR
Figure 3-4.
Average required total number of hops required to achieve desired networktopology for different methods of selecting the initial network tree Gti from theinitial network Gi , with relabeling algorithms.
from this method is dissimilar to Gtf and thus usually requires that more nodes in Gti be
repositioned to achieve Gtf . Thus, the total amount of node movement may be high.
We also considered combining Ullmann’s algorithm with the ITS algorithm by
first applying Ullmann algorithm to obtain Gti from Gi that is isomorphic to Gtf if there
exists such an isomorphism. If there is no subgraph that is isomorphic to Gtf in Gi , we
then apply the ITS algorithm to obtain Gti that is close to Gtf . The results of combining
Ullmann’s algorithm with the ITS algorithms are also shown in Figure 3-4. Note that
for this approach, we only obtained the results for the networks 10 or fewer nodes
because of the high computational complexity of Ulmann’s algorithm. We observed that
the combined algorithms can further reduce the total amount of movement required to
reposition the nodes in Gti to achieve Gtf in comparison to using ITS alone. However, the
53
relatively small additional advantage of the combined Ulmann’s and ITS algorithm may
not justify the additional O(NN) complexity over using the polynomial complexity ITS
algorithm.
Also shown in Figure 3-4 are results for combining the various algorithms previously
discussed with the the relabeling algorithms proposed in Chapter 2. In Chapter 2, we
proposed two relabeling algorithms, neighbor relabeling (NR) and branch relabeling
(BR) algorithms to relabel the prefix labeling of Gti to make its prefix labeling better
match that of Gtf (in terms of reducing the number of nodes that need to be moved to
transform Gti into Gtf ). However, BR algorithm proposed in Chapter 2 uses an exhaustive
search to obtain the optimal relabeling pattern that minimizes the total amount of node’s
movement required to transform Gti into Gtf , which has very high complexity. Thus, we
instead apply the simulated annealing algorithm [46], which is metaheuristic searching
algorithm that can be used to obtain an approximate solution that is close to the optimal
solution. The following parameters are used for BR algorithm based on simulated
annealing algorithm: initial temperature Ti = 1, final temperature Tf = 0.01, cooling rate
α = 0.97, Boltzmann constant Kc = 0.1, and neighborhood radius ε = 1. We apply both
relabeling algorithms, NR and BR algorithms, to Gti obtained from 3 different methods,
including BFS, ITS, and combining Ullmann with ITS, and the results are presented in
Figure 3-4. We observed that relabeling algorithms can further improve the total amount
of node’s movement to reconfigure Gti obtained from these three different methods.
To better illustrate the relative complexity of the algorithms, the results in Figure 3-5
show the average running time in seconds for each algorithm. Note that the y -axis is in
log scale because of the huge range in results, which is attributable to the exponential
complexity of Ullmmann’s algorithm. For all of the algorithms, the average running time
increases as the network size increases. The average running time of BFS method is
less than that of the ITS method, but the average running time of combining BFS with
NR and BR is comparable to ITS with NR and BR because the NR and BR algorithms
54
4 6 8 10 12 14
10−3
10−2
10−1
100
101
Number of nodes
AV
G tota
l ru
nnin
g tim
e (
seconds)
BFS
BFS + NR + BR
Spectral
Spectral + NR + BR
Ullmann + Spectral
Ullmann + Spectral + NR + BR
Figure 3-5.
Average running time required to achieve desired network topology fordifferent methods of selecting the initial network tree Gti from the initialnetwork Gi , with relabeling algorithms.
dominate the complexity. The average running time of combining Ullmann’s algorithm
with ITS is low when the network size is small because whenever the Ullmann algorithm
can find the subgraph in the initial tree Gti that is isomorphic to the desired tree Gtf , it
is not necessary to run the ITS algorithm (including the Hungarian algorithm to match
extra nodes with missing nodes). However, as the network size increases to eight or
more nodes, the average running time of Ullmann’s algorithm exceeds the complexity
of the other algorithms and eventually makes this approach impractical because of its
exponential complexity.
3.3 Summary
In this paper, we developed algorithms to efficiently perform anonymous reconfiguration
of the network topology of a system of networked autonomous vehicles. We partition the
55
problem into mapping the initial network topology onto the desired network tree topology,
selecting a corresponding initial tree topology, and then routing the nodes through the
network topology using the tree-based algorithms described in Chapter 2. The problem
of determining a mapping from the nodes in the initial topology to the roles in the final
topology is achieved by mapping onto a weighted graph matching problem, for which
an approximate solution can be found using graph spectra at relatively low complexity.
Weighting functions are provided that provide unequal weight across the graph to
minimize the amount of movement that will be required to transform between the initial
and final topologies. Then a breadth-first search is used to form an initial tree topology
that matches the desired tree topology before the tree-based topology reconfiguration
algorithms proposed in Chapter 2 are applied. The results show that the algorithms
developed in this chapter can significantly reduce the total amount of node movement
required to reconfigure the system from an arbitrary initial network topology to a desired
network tree topology.
56
CHAPTER 4OPTIMIZING NETWORK TOPOLOGY TO REDUCE AGGREGATE TRAFFIC IN A
SYSTEM OF NETWORKED AUTONOMOUS VEHICLES UNDER AN ENERGYCONSTRAINT
In this chapter, we consider reconfiguring the formation of a system of autonomous
vehicles to reduce the total amount of traffic generated in sending information across
the network. The total amount of traffic will depend both on the information flows to
be transmitted, as well as the topology of the network. The latter consideration is
because of the need for intermediate nodes to relay information between a source and
destination. Thus, the aggregate data traffic, which includes all of the data transmissions
from sources and relays will generally be much larger than the total traffic flow from the
sources. In this chapter, we focus on data traffic only and do not consider the impact of
control traffic. For convenience, we use the term aggregate traffic in place of aggregate
data traffic from here on. In this chapter, we consider traffic at the network layer and do
not consider the impact of the interaction among flows at the link layer.
Since the autonomous vehicles are mobile, the aggregate traffic can be reduced by
reconfiguring the network topology to move some of the communicating autonomous
vehicles closer together. We consider networks in which the network connectivity must
be maintained at all times, and any movement scheme must take this into account.
In Chapter 2 and Chapter 3, we presented techniques that allow the formation of a
system of vehicles to be reconfigured while preserving network connectivity based
on “routing” the vehicles through a tree topology. In those chapters, we consider the
problem of anonymous formation reconfiguration, in which each vehicle may take any
role in the final formation. The final formation is specified ahead of time. By contrast, in
this chapter, we consider a scenario in which some subset of the vehicles have unique
traffic flows, and hence these vehicles cannot be treated anonymously. However, we still
leverage the idea of routing the vehicles through a tree topology to ensure that network
connectivity is preserved during the formation reconfiguration.
57
We also assume that the autonomous vehicles may have finite energy that limits the
extent of their movement or may be otherwise constrained in their movement because
of their other duties, such as sensing. Thus, we consider the problem of optimizing
the network topology to minimize the aggregate traffic in a network to support a given
set of data flows, under constraints on the total amount of movement allowed by the
autonomous vehicles. In the case that the autonomous vehicles do not have any energy
constraints and the shape of the final network topology (a graph consisting of sets
of edges and vertices, but not the assignment of autonomous vehicles to vertices) is
already defined, this problem falls in the class of resource allocation problems known as
quadratic assignment problems [47, 48]. Unfortunately, even for this simpler subclass
of problems, the problem is NP-Hard, and thus there are no known solutions that run in
polynomial time.
In this chapter, we propose suboptimal strategies to reconfigure the network to
reduce traffic by again partitioning the problem into two steps, as was done in Chapter 2
and Chapter 3. In the first step, the initial graph is reduced to a tree topology in such
a way that the increase in traffic from eliminating some links is minimized. Then we
propose techniques to optimize the tree formation to reduce network traffic under the
movement constraints. The performance of the algorithms are compared and evaluated
using simulation.
4.1 Problem Formulation
We consider a system of networked autonomous vehicles that communicate over
wireless links with limited communication distance. We represent the induced network
topology as a simple graph G = (V, E), where vertices V represent the autonomous
vehicles, and an edge e ∈ E between vertices u and v indicates that u and v can
communicate over a wireless link. Let F = {f(u,v) : (u, v) ∈ G2} be the set of data flows,
where f(u,v) denote the amount of traffic from source u to destination v and G2 denotes
the Cartesian product of G with itself. Then the aggregate traffic over network topology G
58
is
∑(u,v)∈G2
f(u,v)dhopG (u, v), (4–1)
where the distance function dhopG (u, v) is the number of edges in the shortest path
between vertices u and v in G.
In this chapter, we consider the problem of repositioning autonomous vehicles to
transform their network topology while maintaining network connectivity and working
under a constraint on the total amount of movement allowed. To do this, we utilize
previous work on reconfiguring networked autonomous vehicles that are in a tree
topology given in Chapter 2 and Chapter 3 while maintaining network connectivity. In
this chapter, we allow the network to start from an arbitrary connected network topology.
Thus, we decompose the present problem into two sub-problems (the optimal solution
to the two sub-problems may not be optimal for the combined problem). First, we select
a tree topology from the initial connected network Gi by selecting a network tree Gt ⊂ Gi
such that its aggregate traffic (4–1) is minimum. Note that since some links in Gi are
eliminated in forming Gt , the aggregate traffic of Gt will be greater than or equal to the
aggregate traffic of Gi . Let T(Gi) be the set of all tree topologies that are subsets of Gi
and contain all vertices of Gi . Then the problem of choosing the network tree topology Gt
that minimizes the aggregate traffic can be formulated as:
Gtmin = arg minG∈T(Gi )
∑(u,v)∈G2
fuvdhopG (u, v).
(4–2)
After we obtain Gtmin from (4–2), a root node is chosen in Gtmin and prefix labeling
is applied starting at the root to give initial prefix tree Gti or trie. The distance between
two nodes in the trie can be simply determined from their prefix labels. We first find
the largest prefix that is common to the labels of both nodes. This is the prefix label
of a common parent of both nodes in the tree. Then the shortest path between two
nodes is up to the common parent and then back down to the other node. Hence the
59
total distance is sum of the distances from each of them to their common parent. Let
Λu denote the prefix label assigned to node u. Let L(Λu) denote the length of the prefix
label of node u, and L(Λu, Λv) denote the maximum length prefix in common to the prefix
labels of nodes u and v . Then
dhopGt (u, v) = [L(Λu)− L(Λu, Λv)] + [L(Λv)− L(Λu, Λv)]. (4–3)
Secondly, we consider optimizing the aggregate traffic by repositioning the
autonomous vehicles while preserving network connectivity and under the constraint
that an autonomous vehicles system has finite energy. As can be seen from (4–1),
the larger the distance between two nodes that share a data flow, the greater the
aggregate traffic in the network, since the same message will be relayed at every
intermediate node between them. To minimize the aggregate traffic in the absence of
any energy constraints, any final connected graph topology Gtf is possible. Let C(G)
be the connectivity function, which takes on the value 1 when the final topology is
connected and 0 otherwise. Then we wish to find Gtf that satisfies
Gtf = arg minG
∑(u,v)∈G2
fuvdhopG (u, v)
(4–4)
subject to
C(G) = 1.
Now, if we constrain that an autonomous vehicles system has limited energy, then
some final graph topologies may no longer be possible. Moreover, the constraint that the
network be connected at all times will also limit which final topologies are possible in this
scenario. For instance, if a node is to move up the tree, then all of its children must have
sufficient energy to at least move up to connect with that node’s parent. Let hT denote
the total number of vertices in the graph that all nodes may move before the total energy
budget is expended. Let F(Gti ,Gtf , hT ) be a feasibility function, which takes on the value
60
B
A
D E
C
F
A Initial network topology.
B
A
D E
C
F
B Desired network topology.
Figure 4-1.
Network topology.
1 when the final topology is feasible under the energy constraint and 0 otherwise. Then
the aggregate traffic minimization under the energy and network connectivity constraints
can be formulated as:
Gtf = arg minG
∑(u,v)∈G2
fuvdhopG (u, v)
(4–5)
subject to
C(G) = 1
F(Gti ,G, hT ) = 1.
We determine F(Gti ,G, hT ) based on transforming the topology using a prefix-routing
approach that is based on that in Chapter 2 and Chapter 3, as described in the next
section.
4.2 Network Topology Reconfiguration Algorithms
Before addressing techniques to solve both (4–2) and (4–5), we describe how the
network topology control method given in Chapter 2 and Chapter 3 can be utilized in this
application, in which nodes are not identical. In this section, we assume that both the
initial topology Gti and the final topology Gtf are known. We begin by choosing a node
61
01
0
011 021
02
0111
A Initial network topology.
01
0
011 021
02
0111
B Desired network topology.
Figure 4-2.
Labeling network topology.
in the initial topology to serve as the root of the tree. In this chapter, we assume that
the root is chosen at random. As an alternative, the root may also be chosen according
to some criteria; the design of root-selection algorithms is an area for future work.
As mentioned in Section 4.1, the root then assigns unique prefix labels to each of its
children, which assign unique prefix labels to their children, etc., until the entire tree has
prefix labels. In prefix labels, the label of a vertex’s parent node is a prefix of that node’s
label. The initial tree topology Gti becomes a prefix tree, or trie [37, 44, 49]. The prefix
label assigned to each node serves as its network address.
We explain the prefix-routing approach to network topology control using the
example topologies shown in Figure 4-1. Node A has been selected to be the root.
Prefix labels are then assigned to all nodes in the initial network starting from a root,
as shown in Figure 4-2A. After prefix label assignment is done for the initial network
tree, each node sends a message including its own prefix label and identity to the root.
After the root obtains all messages from each node, it will have a knowledge of the initial
network graph. The root will then label all the nodes in the desired network tree with the
prefix label assigned to the same node in the initial tree. The desired network tree after
label assignment is completed is shown in Figure 4-2B.
62
The root searches for nodes that need to move between the initial and final
topologies, starting from the top to the bottom of the tree, in a breadth-first manner.
The nodes that must move are those whose prefix label does not correspond to the
position where it is located in the desired tree. The label for a node should always be of
the form
Λ = Λparent � l , (4–6)
where Λ denote the prefix label of parent’s children, � is the concatenate operator, and
l is the unique suffix. Nodes that do not have the correct prefix label must move from
their position in the initial topology, and hence are called moving nodes. Nodes that have
the correct prefix label and that have not been previously assigned to be a moving node
(see more below) are nonmoving nodes.
For the example network, all of the nodes that are one edge away from the root
have the correct prefix label and thus are nonmoving nodes. Next, the root considers all
nodes that are two edges away (it’s children’s descendants). As shown in Figure 4-2B,
the node with label 021 has a correct prefix label, but the node with label 011 does not
have a correct prefix label. Thus, node 011 will be a moving node. If a parent moves, it
will cause network connectivity to break for its children, so all of the descendants of a
moving node must also be moving nodes. For instance, since 011 is a moving node, its
child 0111 must also be a moving node. So, even though 0111 initially has a prefix label
that matches its parent in Figure Figure 4-2B, it is still a moving node.
For each moving node, the root records two labels. (1) Its anchor-node label is the
label of the non-moving node that will be the moving node’s destination. (2) Its desired
label is the new label of the moving node upon arrival at the destination in the desired
topology. When the root has already considered all nodes in the desired tree, the root
will send a message M.Dest including both labels to each moving node. A moving node
then first moves to the node whose prefix label is the anchor-node label. When a moving
node arrives at a non-moving node, the non-moving node first checks the moving node’s
63
anchor-node label to see if it matches the non-moving node’s prefix label. If it does, the
non-moving node will serve as the anchor node for that moving node, and it then uses
the desired label of that moving node to forward the moving node to the right position in
the desired graph. The moving node will be relabeled to match the desired label once it
reaches its final position, which will make its prefix label correspond to its position in the
desired network topology.
The desired label of a moving node can be simply determined from its parent in the
desired topology as given in Figure 4-2B. If its parent is a moving node, its parent must
already be assigned the desired label by the root, and the moving node’s desired label
is determined from the desired label of its parent. If its parent is a nonmoving node, the
desired label is determined from its parent prefix label.
When the moving nodes 011 and 0111 receive M.Dest message from the root
including both the anchor-node and desired labels, they will move through the initial
network toward anchor node 02 by using maximum prefix matching logic [34–36]. When
moving nodes 011 and 0111 are able to connect to the anchor node 02, anchor node
02 will look at their anchor labels to check if 02 is their anchor node. Once node 02
determines that it is the anchor node for 011 and 0111, node 02 will check the desired
label of both of the nodes. The desired labels are 022 and 0221, respectively, and 02
will use these labels to forward nodes 011 and 0111 to the right positions in the desired
topology. After both nodes arrive at the desired position, their labels will be changed to
the desired labels, which will make their prefix labels correspond to their position in the
desired network topology.
Consider now how nodes should be move from their positions in the initial topology
to their positions in the desired topology without breaking network connectivity.
Generally, if there are multiple moving nodes in the initial topology, whenever they
receive a message from a root, they can start moving simultaneously. However, a
moving node that is not a leaf node has to wait for its descendants to move up to it
64
before it can start moving. Otherwise, the node’s descendants will be disconnected from
the network. For example, consider again nodes 011 and 0111 in Figure 4-2A. Node
011 cannot move first, since that would break network connectivity to node 0111; in
general, a parent node cannot move – all of its children must move first to make it a leaf
node. Thus, node 0111 first has to move up to node 011 until it is able to connect to
node 01. Then both nodes 011 and 0111 can continue moving up to the root, passing by
node 01, until they are able to connect with node 02. Once node 011 connects with 02
(at the time it reaches the root), it will be immediately relabeled as 022 to make the label
of the node 011 conform to the prefix tree. Then node 0111 will move toward node 02
until it is able to connect to node 011, which has already been relabeled as 022 . Finally,
node 0111 will be relabeled as 0221 to achieve the desired topology. An example of this
method is shown in Figure 4-3, and the pseudocode of a label assignment algorithm to
be executed at the root is given in Algorithm 1.
4.3 Network Topology Optimization Algorithms
In this section, we present techniques to solve both (4–2) and (4–5). We first
present methods to select the optimal network tree topology Gt in terms of aggregate
flow from Gi based on solving (4–2). We then provide approaches to reconfigure the
network to minimize the aggregate flow based on solving (4–5).
4.3.1 Network Tree Selection (NTS) Algorithm
4.3.1.1 Optimal Algorithm
To search for an optimal network tree topology from an initial network Gi , Char’s
algorithm [50] is used to enumerate all trees Gt ⊂ Gi . Char’s algorithm associates
each subgraph G ′c = {V ′c, E ′c} of Gi by vertex sequence c = {c1, c2, ..., cn−1}, where
ci denote a vertex adjacent to vertex i and n denote the number of vertices in Gi .
Each c can be translated into a subgraph G ′c, where V ′c = {1, 2, 3, ..., n}, and E ′c =
{(1, c1), (2, c2), ..., (n − 1, cn−1)}.
65
M.Dest
M.Dest
M.Dest
01
0
011 021
02
0111
A The root node, 0, sends messageM.Dest including the anchor-node anddesired labels to the moving nodes, 011and 0111.
01
0,
011,
0111
021
02
B Nodes 011 and 0111 use prefix routingto move through the tree until they are ableto connect to their designated anchor node,02.
01
0,
0111
022 021
02
C Node 011 is forwarded to an appropri-ate position in the desired topology andrelabeled as 022.
01
0
022 021
02,
0111
D Node 0111 moves toward the anchornode 02, which allows it to connect to node022.
01
0
022 021
02
0221
E Node 0111 is relabeled as 0221 toachieve the desired prefix tree topology.
Figure 4-3.
Network reconfiguration.
66
Algorithm 1: Label Assignment
Input: Gtf = {V, Ef }/* desired graph with corresponding prefix label from Gti */
Output: Gtf with moving indicators and anchor-node and desired labelsroot=GetRoot(V);root.moving = false;Q = {root};Qtmp = ∅;ConsideredNodes = Q;while |ConsideredNodes| < |V| do
foreach v∈Q doC = GetChildren(v);if C 6= ∅ then
Qtmp = Qtmp ∪ C;ConsideredNodes = ConsideredNodes ∪ C;if v.moving == false then
foreach c ∈ C doif ParentLabel(c)== Label(v) then
c.moving = false;else
c.moving = true;end
endforeach c ∈ C do
if c.moving == true thenc.anchorlabel = v .label ;c.desiredlabel = GetUniqueDesiredLabel();
endend
elseforeach c ∈ C do
c.moving = true;c.anchorlabel = v .anchorlabel ;c.desiredlabel = GetUniqueDesiredLabel();
endend
endendQ = Qtmp;
end
Char’s algorithm searches through all subgraphs G ′c ⊂ Gi including both tree and
non-tree subgraph of Gi for all spanning tree Gt ⊂ Gi . Hence, the optimal tree can be
founded by calculating the aggregate flow for all trees Gt obtained from Char’s algorithm.
To calculate the aggregate flow for each Gt , we apply breadth-first search algorithm to
obtain all pair shortest path [44], dhopGt (u, v) : ∀u, v ∈ Vi .
The complexity of this algorithm to search for a tree that minimizes aggregate flow
is O(m + n + n2t) where m is the number of edge in Gi , n is the total number of vertices
in Gi , and t is the number of both tree and non-tree subgraphs in Gi generated by Char’s
algorithm. This is because the complexity of Char’s algorithm is O(m+ n+ nt), O(n+m)
67
is the complexity of breadth-first search to obtain an initial tree sequence from Gi , and
the complexity of the aggregate flow calculation for each tree generated by Char’s
algorithm is O(n2).
4.3.1.2 Simulated Annealing (SA) Algorithm
The complexity of Char’s algorithm depends on the number of generated tree and
non-tree subgraphs in Gi which could be very high when Gi is large. This motivates us to
search for an optimization method that give a suboptimal solution with lower complexity.
Since Char’s algorithm associates each subgraph G ′c ⊂ Gi with a vertex sequence c,
simulated annealing [46] can be applied to search for the global solution with lower
complexity. Simulated annealing starts with an arbitrary initial tree sequence c and
searches through its neighbor for a tree that gives a better solution in terms of aggregate
flow and decides to move to the neighborhood probabilistically. Here, the neighborhood
of sequence c is defined by
Nε(c) = {cN : |cN | −∑i
|c[i ] ∩ cN [i ]| ≤ ε, |cN | = |c|}, (4–7)
where ε denotes a neighborhood radius. This process is done iteratively starting from a
predetermined initial temperature Ki until it reaches the predetermined final temperature
Kf . The complexity of simulated annealing mainly depends on the number of iterations,
which is determined by the choice of Ki , Kf , and the cooling rate α. The complexity is
O(n +m + n2 logα(Kf /Ki)) [46].
4.3.2 Network Topology Reconfiguration Optimization (NTRO) Algorithm
After selecting a network tree Gtmin to minimize aggregate flow, we can then consider
repositioning a node in Gtmin to form a new tree that minimizes aggregate flow by solving
(4–5). We apply the prefix-labeling-based network reconfiguration approach from
Section 4.2 to reconfigure the network around a selected root to minimize the aggregate
flow. The root first labels each node in Gtmin to obtain an initial prefix tree Gti or trie. The
root is now able to control the network topology and wishes to select a final topology that
68
minimizes the aggregate traffic, under a constraint on the total amount of movement of
the nodes. The distance that a node must move to transition from the initial to the final
topology is
dhopGti→G
tf
(v) = dhopGti(v , av) + dhopGtf
(v , av)− 2, (4–8)
where v is the moving node and av is the anchor node of v .
For instance in the example of Figure 4-1 and Figure 4-2, node D must move to
within one hop of its new parent, which is C or 02. Thus, node D moves up to the root,
at which point it is within one hop of 02 and can thus be relabeled 022 to achieve the
desired position by only moving two hops.
With the additional constraint that the topology reconfiguration occurs around
the root and using the constraints on the total amount of movement of all nodes, the
optimization problem can be formulated as
Gtf = arg minG
∑(u,v)∈G2
fuvdhopG (u, v)
(4–9)
subject to
C(G) = 1∑v∈Vi
dhopGti→G
(v) ≤ hT
dhopGti→G
(vroot) = 0.
Here dhopGti→G
(v) denotes the distance, in terms of number of edges in the graph, that a
node v must move to transition from Gti to G.
Before presenting algorithms to solve this problem, we first consider the necessary
scope of the search by evaluating which nodes may need be moved between Gti and
Gtf . The nodes are partitioned into active nodes, which have a data flow to or from
other nodes, and passive nodes, which do not have a data flow to or from other nodes.
However, passive nodes may still act as relays for other nodes’ data flows. Since there is
69
a constraint on the total amount of node movement, it is best not to move passive nodes
unless that is required to allow active nodes to move. All active nodes are considered for
repositioning and are placed in the active moving node set, AM . However a node cannot
move while it still has children. Hence, it is necessary to also move a passive node who
is a child of a node in AM , and such nodes are members of the passive moving node
set, PM . This node classification algorithm is formalized in Algorithm 2.
Algorithm 2: Moving Node Selection
Input: The initial graph, Gti = {V, Ei}Output: The active moving set, AM and the passive moving set, PMCheckFlow (v) ∆
=⋃u∈V\v (fuv > 0 ∪ fvu > 0);
AM = ∅;PM = ∅;foreach v ∈ V do
if (CheckFlow(v) == true) thenAM = AM ∪ v ;C = GetChildren(v);if C 6= ∅ then
foreach c ∈ C doif CheckFlow(c) == false then
PM = PM ∪ c ;end
endend
endend
Finally, after the root obtains both AM and PM , a subgraph G ′ ⊂ Gti is formed by
removing all vertices in AM and PM , along with all associated edges. All the nodes from
both sets can move and will become descendants of at least one node in G ′ according to
the algorithms described below.
4.3.2.1 Optimal Algorithm
For a root to achieve an optimal achievable topology, it essentially has to consider
all possible tree topologies and select the final topology based on the achievable tree
that gives the minimum aggregate data traffic. We provide details about how the optimal
solution can be found, subject to the constraint that the topology is reorganized around a
pre-selected root.
70
As described before, the root first obtains AM and PM , as well as the subgraph
G ′ of non-moving nodes. The root uses a brute-force solution to consider all nodes in
both AM and PM and to evaluate the aggregate data for all achievable tree topologies
Gt such that G ′ ⊂ Gt : (∀Gt). This can be done by applying the concept of Prufer code
sequences [51, 52] to obtain all achievable tree topologies. Each labeled tree with n
nodes can be encoded into code sequence p of length n − 2 called a Prufer sequence,
where each element in p is obtained from the set of the n node labels. There are nn−2
possible spanning trees with n labeled nodes and they all can be encoded into nn−2 code
sequences.
To search for all achievable tree topologies Gt such that G ′ ⊂ Gt : (∀Gt), we first
contract the subgraph G ′ to a single node V′. Next, we generate a set P containing all
possible Prufer sequences from a set of nodes including AM , PM , and V′. For each
p ∈ P, it can be decoded to obtain a unique tree Gtp. Nevertheless there may exist more
than one possible unique tree for each Prufer sequence p since a graph Gtp obtained
from decoding p always contains a node V′ and it has to be extracted as G ′ to achieve at
least one unique graph Gt ⊃ G ′.
To obtain all unique trees from each Gtp, we first consider an edge set EpV′ = {e =
{V′, v} : v ∈ (AM ∪ PM), e ∈ Ep} containing the edge that is incident to V′ in Gtp, and
therefore each v will denote a root of each subtree Gtsub ⊂ Gtp and each Gtsub is connected
to V′ in Gtp by its associated edge e ∈ EpV′. Hence, |Ep
V′ | denotes the number of subtrees
Gtsub ⊂ Gtp connected to V′ in Gtp. These subtrees have to be attached to at least one
node of the subgraph G ′ obtained from extracting a node V′ to form a unique spanning
tree by connecting a root of each Gtsub to any node v ∈ V ′, where V ′ denotes the set of
nodes of G ′. Hence, there are |V ′||Ep
V′ | possible ways to attach all subtrees Gtsub to G ′ and
hence each Prufer sequence p gives |V ′||Ep
V′ | unique tree topologies.
The branch-and-bound approach is used based on a depth-first tree search
across all possible unique tree topologies to reduce the complexity of the brute-force
71
Algorithm 1: Optimal Algorithm with Branch-and-Bound for |Vi \ V ′| = 2
Input:Non-moving node subgraph, G′ = {V ′, E ′}; initial tree, Gti = {Vi , Ei}
RemainingFlows(G) ∆=
∑u∈(Vi\VG)
∑v∈Vi (fuv + fvu)
Tmin = AggregateTraffic(Gti );Gtf = Gti ;P = GetAllPruferSequence(Gti ,G
′);foreach p ∈ P do
Gtp = PruferDecoding(p,V ′);Gtsub = GetAllSubTree(Gtp);foreach v ∈ V ′ do
G′1 = AttachSubTree(Gtsub[1], v ,G′);T = AggregateTraffic(G′1);if |Gtsub| = 2 then
BL = T + RemainingFlows(G′1);foreach v ∈ V ′ do
if (∑v∈G′1
dhopGti→G′1
(v) ≤ hT )&&(BL < Tmin) then
G′2 = AttachSubTree(Gtsub[2], v ,G′1);T = AggregateTraffic(G′2);if (
∑v∈G′2
dhopGti→G′2
(v) ≤ hT )&&(T < Tmin) then
Tmin = T ;Gtf = G′2;
endelse
break;end
endelse
if (∑v∈G′1
dhopGti→G′1
(v) ≤ hT )&&(T < Tmin) then
Tmin = T ;Gtf = G′1;
endend
endend
combinatorial search [53]. This method associates each partial and complete solution
with a node in the solution tree. The levels of this tree are indexed, where the root is
defined to be at level -1. The children of the root at level 0 represent all possible Gtp
obtained from all possible Prufer sequences. At level 1 are all possible locations in G ′
for the first subtree. At level n are all possible locations in G ′ for the nth subtree given all
the previous locations of subtrees 1, 2, ... , n − 1, which are determined by the nth node’s
parent. A complete solution Gtcomplete for a particular Gtp is represented by the leaves.
The search first starts from selecting one Prufer sequence and decoding it to
obtain Gtp and then by trying one allocation of all subtrees to G ′. The search proceeds in
72
depth-first manner. At each node the minimum aggregate traffic can be lower bounded
by the aggregate traffic from the subtrees that have already been assigned positions
plus the sum of the remaining data flows. One possible solution to the minimum
aggregate traffic is obtained once the depth-first search has reached a leaf node,
and this will be used as an upper bound on the best minimum aggregate traffic over
all nodes. Then as the search proceeds down other branches, a branch will be pruned
whenever the lower bound for that branch exceeds the upper bound on the optimal
solution, which is given by the best solution found so far, or whenever the required total
amount of movement at particular branch already exceeds hT . Whenever the search
reaches a leaf of the tree, the aggregate traffic will be checked and compared with the
best solution found. If this value is better than the best solution, it will then be recorded
as a new best feasible complete solution and this complete solution Gcomplete will also
be recorded as the best possible solution found. The optimal solution is found when all
nodes have been considered or pruned. The branch-and-bound approach is most easily
implemented using recursion, since it uses depth-first search, and we omit the detailed
algorithm here. To give an idea of how this algorithm works, we give a nonrecursive form
of the algorithm for |Vi \ V ′| = 2 in Algorithm 1.
If all nodes are moving nodes, there exist nn−2 possible unique tree topologies.
Hence, the complexity of this algorithm is O(nn) since the optimal algorithm to encode
and decode a Prufer sequence of a labeled tree is O(n) [52].
4.3.2.2 Simulated Annealing (SA) Algorithm
The complexity of searching for the optimal solution can still be very high even
though branch-and-bound is used to reduce the number of solutions that must be
evaluated. Again, simulated annealing can be applied to solve (4–9). The initial topology
Gti is first encoded into Prufer code p by considering G ′ as a single node V′. From
there, simulated annealing starts searching for other feasible solutions by considering
the neighborhood of p and decoding it to achieve one possible unique tree and finally
73
Algorithm 2: Simulated Annealing Algorithm
Input:Non-moving node subgraph, G′ = {V ′, E ′}; initial tree, Gti = {Vi , Ei}; Initial Temperature, Ki ; Fi-nal Temperature, Kf ; Boltzmann constant, Kc ; Cooling Rate, α; Neighborhood radius, εK = Ki ;Tmin = AggregateTraffic(Gti );Gtf = Gti ;Tcurrent = AggregateTraffic(Gti );pcurrent = PruferEncoding(Gti ,G
′);while K > Kf do
pnext = GetNeighborhood(pcurrent , ε);Gtpnext = PruferDecoding(pnext ,V ′);Gtsub = GetAllSubTree(Gtpnext );G′′ = G′;achiveable = true;foreach Gt ∈ Gtsub do
v = GetRandomNode(V ′);G′′ = AttachSubTree(Gt , v ,G′′);if (
∑v∈G′′ d
hop
Gti→G′′
(v) > hT ) then
Tnext = inf;achiveable = false;break;
endendif achiveable == true then
Tnext = AggregateTraffic(G′′);endif Tnext < Tmin then
Tmin = Tnext ;Gtf = G′′;
end
if (e−Tnext−Tcurrent
KcK > RandomNumber([0, 1])) thenpcurrent = pnext ;Tcurrent = Tnext ;
endK = αK ;
end
deciding whether to move to the neighborhood probabilistically. The neighborhood is
given by
Nε(p) = {pN : |pN | −∑i
|p[i ] ∩ pN [i ]| ≤ ε, |pN | = |p|} (4–10)
The complexity of this algorithm is again highly dependent on the initial and final
temperature Ki , Kf as well as the cooling rate α. Hence the complexity of this algorithm
is O(logα(Kf /Ki)n2). The simulated annealing algorithm is given in Algorithm 2.
4.4 Simulation Results
We simulated the performance of the proposed algorithms for randomly selected
graph topologies with three to fifteen nodes. For a network with n nodes, we selected
74
3 4 5 6 7 8 9 10 11 12 13 14 151
1.5
2
2.5
3
3.5
4
Number of nodes
Aggre
gate
Data
Tra
ffic
(M
Byte
s)
Initial
BFS
NTS − SA
NTS − Optimal
Figure 4-4.
Minimum achievable aggregate traffic for network tree selection algorithmsas a function of network size.
the number of pairs of nodes that share a flow at random uniformly from 1 to d(n2
)/2e,
and a total of 1 Mbps is randomly distributed among all these data flows. For each
size network, we randomly generate 150 different combinations of initial network
topologies and flow allocations. We present results for the optimal algorithms and for
the simulated annealing algorithms. For the optimal algorithms, the computational
complexity limited our searches to networks with 7 nodes or fewer. For the simulated
annealing algorithms, we used the following parameters: initial temperature Ki = 1,
final temperature Kf = 0.01, cooling rate α = 0.97, Boltzmann constant Kc = 0.1, and
neighborhood radius ε = 1.
We first investigate the performance, in terms of aggregate traffic, of the network
tree selection algorithms. We compare the performance of simulated annealing to that
75
of the true optimal solution, as well as a tree that is selected randomly in a breadth-first
fashion. The results are illustrated in Figure 4-4. Also included in this graph are the
aggregate traffic of the initial network, as well as aggregate traffic from selecting a tree
at random in a breadth-first fashion.
The aggregate flow of the initial network is smaller than for any of the network tree
selection methods, since there are more alternative paths for each traffic flow, especially
when the initial network is dense. It can be observed that when the network size
grows larger, the simple tree selection method by using breadth-first search gives the
worst performance. It also can be seen that the network tree selection with simulated
annealing offers significantly better performance than the breadth-first tree selection
technique and that the aggregate traffic from simulated annealing is close to optimal,
while requiring much lower complexity.
In Figure 4-5, we consider the aggregate traffic after selecting the network tree and
then optimizing the topology by repositioning nodes to reduce aggregate traffic. The
results for simulated annealing and the solution that is optimal to each sub-problem
are illustrated in Figure 4-5, along with the aggregate traffic for the initial network.
The results are shown for two values of the constraint on the total amount of node
movement, hT = n and hT = 3n, where n denotes the number of nodes in the network.
It can first be observed that both the optimal and simulated annealing combined
algorithms can improve the aggregate traffic significantly by reconfiguring a tree
obtained from the network tree selection algorithm. When the network size is small,
both algorithms provide similar performance, since there are a limited number of feasible
candidate tree topologies and the nodes in the small network are already close to each
other. Thus, it is difficult to reduce the aggregate traffic for a small network. As the
network size grows larger, the total amount of energy of a system that is available for
repositioning plays an important role in the final aggregate traffic. However, large hT
also translates into more feasible network tree topologies, which can slow the execution
76
3 4 5 6 7 8 9 10 11 12 13 14 15
1
1.5
2
2.5
3
3.5
Number of nodes
Aggre
gate
Data
Tra
ffic
(M
Byte
s)
Initial
NTS + NTRO − SA (hT = nodesize)
NTS + NTRO − Optimal (hT= nodesize)
NTS + NTRO − SA (hT = 3×nodesize)
NTS + NTRO − Optimal (hT= 3×nodesize)
Figure 4-5.
Minimum achievable aggregate traffic for combined algorithms as a functionof network size.
of the optimization algorithm. It can also be observed that the combined algorithm with
simulated annealing provides performance close to the optimal algorithm but with lower
complexity.
4.5 Summary
In this chapter, we developed approaches to reconfigure the topology of a group
of networked autonomous vehicles with the goal of reducing aggregate traffic, while
maintaining network connectivity and limiting the total amount of movement based on
an energy constraint. We partitioned this problem into two sub-problems. First, we
select from the initial connected graph a tree topology that minimizes aggregate traffic.
Second, we reposition the autonomous vehicles in the tree to reduce aggregate traffic
while maintaining network connectivity and limiting the total amount of movement to be
77
less than a given constraint. We investigate the complexity and performance for these
algorithms. The results show that the combination of network tree selection and network
topology reconfiguration optimization algorithms can reduce aggregate data traffic.
78
CHAPTER 5ROUTING APPROACHES TO OPTIMIZE THE PHYSICAL TOPOLOGY OF A SYSTEMOF NETWORKED AUTONOMOUS VEHICLES TO REDUCE AGGREGATE TRAFFIC
In this chapter, we aim to develop techniques that can guide the reconfiguration
of the physical formation of a system of networked autonomous vehicles to minimize
aggregate network traffic, under constraints on network connectivity and total autonomous
vehicle’s movement. In this scenario, the network topology can be determined and
controlled through the physical formation of the networked autonomous vehicles. We
consider the protocol model for communications, in which two autonomous vehicles can
communicate if they are within a certain communication range. This model is accurate
for most systems communicating over a channel that suffers from exponential path loss
and white Gaussian noise. Thus, the aggregate traffic can be reduced by reconfiguring
the physical formation of the autonomous vehicles so that sources and destinations are
closer to each other in the network topology.
Our approach to reconfiguring the formation while preserving network connectivity
utilizes the tree-based routing approach developed in Chapter 2 and Chapter 3. In
Chapter 4, we developed algorithms to reconfigure a network topology to reduce
aggregate network traffic. However, this work did not take into account the limitations
and advantages that come when the network topology is induced from a physical
formation.
Our approach provides a series of waypoints through which the autonomous
vehicles can move to achieve a new topology while preserving network connectivity,
under a constraint on the total amount of autonomous vehicle’s movement. The new
approach utilizes constraints on movement based on physical distance, and the full
network topology that is induced by the final physical topology is used to determine the
total aggregate network traffic after optimization. Simulation results are presented to
demonstrate the effectiveness of the proposed algorithms.
79
B
C
F
A
D
E
A Nodes are randomly deployed over a workspace.
c
c
c
c
cc
c
cc
cc
c
B
C
F
A
D
ER
B Links are formed between autonomous vehiclesthat are located within each other sensing range R.
B
C
F
A
D
E
1
1
0.8 0.8
0.3
0.4 0.4
0.7
1
0.8
C Graph representation of physical topology withedges between autonomous vehicles that sharea communications link. Edge weights correspondto physical distances for a system of networkedautonomous vehicles with communication linksdetermined by the protocol model
Figure 5-1.
Physical topology.
80
5.1 Problem Formulation
In this chapter, we consider a system of networked autonomous vehicles in
a n-dimensional space, where communication is over wireless links with limited
communication distance. Let qu ∈ Rn denote the position of the autonomous vehicle
u in a n dimensional space. Autonomous vehicles are able to communicate with each
other if they are no more than distance R apart. (Here R can be considered to be the
communication radius of the nodes.) We abstract some essential information about
the physical formation into a simple graph G = (V, E), where vertices V represent
the autonomous vehicles, and edges E = {(u, v) ∈ V × V|duv ≤ R}, represent
communications links between each autonomous vehicle u and v , where duv = ‖qu − qv‖
denote the distance between autonomous vehicles u and v that are located at position
qi and qj respectively. For convenience, we refer to this as a graph of the physical topol-
ogy. An example of how the graph of a physical topology is determined is shown in
Figure 5-1. This example shows how the physical topology of a system of networked
autonomous vehicles is determined from the physical formation of a system. There
are 6 nodes randomly distributed over a two-dimensional space. Each node will form a
communication link between each other if it is located within each other communication
range to form the physical topology of a system.
Now consider the aggregate traffic in G, where this traffic is evaluated as the
data traffic measured at the network layer. The set of data flows is given by F =
{f(u,v) : (u, v) ∈ G2}, where f(u,v) denotes the amount of traffic from source u to
destination v and G2 denotes the Cartesian product of G with itself. Then the aggregate
traffic over network topology G is
∑(u,v)∈G2
f(u,v)dhopG (u, v), (5–1)
where the distance function dhopG (u, v) is the number of edges in the shortest path
between vertices u and v in G.
81
In this chapter, we consider the problem of repositioning the autonomous vehicles
in the formation to minimize the aggregate network traffic while maintaining network
connectivity, under a constraint on the total amount of movement of the autonomous
vehicles. We then decompose this problem into two sub-problems, where the optimal
solution to the two sub-problems may not be optimal for the combined problem. First,
a network tree topology is obtained from an arbitrary initial physical topology Gi by
selecting a tree Gt ⊂ Gi such that its aggregate traffic (5–1) is minimum. The set of all
tree topologies that are subsets of Gi and contains all vertices of Gi is given by T(Gi).
Then we can formulate the problem of selecting the network tree topology Gt that
minimizes the aggregate traffic as:
Gtmin = arg minG∈T(Gi )
∑(u,v)∈G2
fuvdhopG (u, v).
(5–2)
A selected root will label each node in Gtmin to obtain initial prefix tree Gti after
Gtmin is obtained from (5–2). Secondly, we attempt to optimize the aggregate traffic by
repositioning the autonomous vehicles while maintaining network connectivity under the
constraint that a system of networked autonomous vehicles has finite energy. We let
C(G) be the connectivity function, which takes on the value 1 when G is connected and
0 otherwise. Let ET represent the total physical distance in Gti that all nodes may move
before the total energy budget is expended. Let F(Gti ,Gtf ,ET ) be a feasibility function,
which takes on the value 1 when the final tree topology Gtf can be achieved without
breaking network connectivity under the energy constraint and 0 otherwise. To reduce
the aggregate traffic in a system, we wish to find Gtf that minimizes the aggregate traffic.
Then we can formulate the aggregate traffic minimization under the energy and network
connectivity constraints as:
82
Gtf = arg minG
∑(u,v)∈G2
fuvdhopG (u, v)
(5–3)
subject to
C(G) = 1
F(Gti ,G,ET ) = 1.
F(Gti ,G,ET ) can be determined based on transforming the topology using an approach
that is based on that in Chapter 4, as described in the next section.
The aggregate traffic can be further improved by considering the physical topology
of a system. After Gtf is obtained by solving (4–5), nodes that are physically separated
by a distance of no more than R will form a communication link to obtain final physical
topology Gf . Thus, the aggregate traffic of Gf is given by
∑(u,v)∈G2
f(u,v)dhopGf (u, v), (5–4)
where dhopGf (u, v) denotes the number edges in the shortest path between vertices u and
v in Gf .
5.2 Advanced Network Topology Reconfiguration Algorithm
The initial prefix tree Gti can be obtained by utilizing the Network Tree Selection
(NTS) Algorithm proposed in Chapter 4 to solve (5–2). In this section we describe
how the network topology of a system of networked autonomous vehicles can be
reconfigured from the initial tree while maintaining the network connectivity. In this
section, we represent a novel method to reconfigure the network tree topology based
on the network topology reconfiguration algorithm in Chapter 4. First, a node in the
initial topology is randomly chosen to serve as the root of the tree. After the root is
selected, it then assigns unique prefix labels to each of its children until the entire tree
has prefix labels. The prefix label assigned to each node serves as its network address.
83
B
C
F
A
D
E
A Initial network topology.
B
A
D E
C
F
B Desired network topology.
Figure 5-2.
Network topology.
The initial tree topology Gi becomes a prefix tree, or trie [37, 44]. Example topologies
are given in Figure 5-2, where the initial network topology shown in Figure 5-2A is
obtained from the physical topology shown in Figure 5-1C by selecting a tree topology
using the NTS algorithm. For this example, node A is selected to be the root, and prefix
labels are assigned to all nodes in the initial network tree. Similarly, each node in a
desired network tree is labeled with a prefix label assigned to the same node in the initial
network tree. The prefix tree topologies are shown in Figure 5-3.
The searching for nodes that need to move between the initial and final topologies
can be done in both depth-first and breadth-first manner from the top to the bottom of
the desired tree topology starting from the root. The nodes that must move are those
whose prefix labels do not correspond to the positions where they are located in the
desired tree. All nodes in the topology are first classified into two categories, as in
Chapter 4. First, moving nodes are those nodes that do not have the correct prefix label
and must move from their position in the initial topology. Second, nonmoving nodes
are those nodes that have the correct prefix label and that have not been previously
84
01
02
0111
0
011
021
A Initial network topology.
01
0
011 021
02
0111
B Desired network topology.
Figure 5-3.
Labeling network tree topology.
assigned to be moving nodes. For instance, in Figure 5-3 all of the nodes except for 011
and 0111 are nonmoving nodes.
In this chapter, the root considers three labels for each moving node. (1) Its anchor-
node label is the label of the non-moving node who is the first parent of the moving
node in Gti . (2) Its destination-node label is the label of the node in Gti that will be the
moving node’s destination. (3) Its desired label is the new label of the moving node upon
arrival at the destination in the desired topology. The root will send a message M.Dest
including all these three labels to each moving node when the root has considered all
nodes in the desired tree. After each moving node obtains a message M.Dest, it starts
moving to the node whose prefix label is the destination-node label using maximum
prefix matching logic [35]. Note that each moving node will move toward a node whose
prefix label is its anchor-node label until it reaches the node whose prefix label is its
destination-node label.
When a moving node arrives at a destination node, it will maintain the network
connectivity with the neighboring node that is a moving node’s next node on the path to
85
the anchor node until it is able to connect with its parent node in the final tree topology
Gtf . Moving nodes can also not depend on network connections to other parts of the
network that are not on its path to the anchor node, as the nodes in these other parts
of the network may also be moving nodes whose movement would cause the moving
node to lose network connectivity. To overcome this issue, a moving node will not make
network connections with other nodes in the network that are not on its path to the
anchor node until it arrives at its destination node and confirms that the destination node
has achieved its position in the final tree topology, Gtf . To verify whether its neighbor
is its parent in Gtf , each moving node checks the desired label of its neighbor to see
if it matches the prefix label of its parent in the desired topology. The prefix label of a
moving node’s parent in the desired tree topology can be simply determined from the
moving node’s desired label. For a non-moving node, the desired label will be the same
as its initial prefix label.
After all the moving nodes arrive at their destinations and are able to connect with
their parents in the desired graph, their prefix label will be relabeled as their desired
label to achieve the desired prefix tree. Also note that moving nodes that are leaf nodes
can start moving simultaneously. To preserve network connectivity, a moving node that
is not a leaf node in the initial topology has to wait for its descendants to move up to it
before it can start moving. Otherwise, the node’s descendants will be disconnected from
the network. An example of this approach is shown in Figure 5-4. In this example, the
root node sends message M.Dest to each of moving nodes 011 and 0111, as shown
in Figure 5-4A. After both moving nodes receive this message, moving node 0111 is
first moving toward its destination node 01 since it is a leaf node while moving node
011 has to wait until moving node 0111 reaches it to preserve the network connectivity,
as shown in Figure 5-4B. Next, both moving nodes can move together toward their
destination, and both moving nodes now arrive at node 01 which is the destination
node of a moving node 0111 as shown in Figure 5-4C. Moving node 0111 will maintain
86
network connectivity with the root node, which is its next neighbor node along the path
to its anchor node 02. Moving node 011 now moves toward its destination node, 0, and
finally arrives at its destination as shown in Figure 5-4D. Now moving node 0111 will
connect with moving node 011, which is its parent in the final tree topology shown in
Figure 5-3B, and moving node 011 will also connect with its parent in the same final tree
topology. Finally, moving node 011 and 0111 will relabel their own initial prefix label to
022 and 0221, respectively, as shown in Figure 5-4E.
The destination-node label is an addition to the messages sent in our previous
work on Chapter 4 that can reduce the amount of movement required to achieve the
desired network topology. The introduction of the destination-node label is based on
the observation that a node achieves communication with another node whenever it
reaches any of that node’s one-hop neighbors. In Chapter 4, the moving nodes 011 and
0111 in Figure 5-4 move toward their anchor-node 02, as shown in Figure 5-4A through
Figure 5-4D. However, since moving node 0111 does not know its destination-node’s
label, it continues to move to its anchor node 02 to achieve communication with moving
node 011. In the algorithm proposed here, node 0111 does not need to move after it
achieves the position shown in Figure 5-4D because its desired parent node (011) is
in the desired position relative to node 02, and it has achieved communication with its
desired parent node.
It is easy to determine the desired label for each moving node since it can be
simply determined from its parent in the desired topology, as shown in Figure 5-3B.
For example, if its parent is a moving node, its parent must already be assigned the
desired label by the root, and the moving node’s desired label is determined from
the desired label of its parent. Nevertheless, if its parent is a non-moving node, the
desired label is determined from its parent’s prefix label. The desired label assignment
approach in Chapter 4 is used in this chapter. Thus, we provide the pseudocode for the
destination-node and anchor-node label assignment executed at the root in Algorithm 1.
87
Algorithm 1: Anchor-Node and Destination-Node Label Assignment Algorithm
Input: initial tree, Gti = {Vi , Ei} desired tree, Gtf = {Vf , Ef }
CheckNeighborhood(u.nodelabel,v .nodelabel,Gt ) ∆= {
true : (〈u, v〉 ∈ E) ∪ (u = v)
false : (〈u, v〉 /∈ E) ∩ (u 6= v)
Stack = ∅;Root = GetRootNode(Gti );Root.moving = false;Stack.push(Root);Root.visited = true;while Stack 6= ∅ do
v = Stack.GetTopNode;u = GetUnvisitedChildNode(v ,Gtf );if u 6= ∅ then
Stack.Push(u);u.visited = true;if v .moving == false then
v .destination-nodelabel = v .nodelabel;if u.ParentLabel == v .nodelabel then
u.moving = false;else
u.moving = true;u.anchornode = v ;
endelse
u.moving = true;u.anchornode = v .anchornode;
endif u.moving == true then
u.destination-nodelabel = u.nodelabel;while (CheckNeighborhood(u.destination-nodelabel,u.anchor-nodelabel,Gti ) == false do
if (CheckNeighborhood(u.destination-nodelabel,v .destination-nodelabel,Gti ) == true) thenbreak;
endu.destination-nodelabel = MoveOneHopCloserToAnchorNode(u.destination-nodelabel,u.anchor-nodelabel,Gti );
endif CheckNeighborhood(u.destination-nodelabel,v .destination-nodelabel,Gti ) == false then
Stack1 = Stack;u1 = GetTopNode(Stack1);v1 = GetSecondTopNode(Stack1);while v1 6= u.anchornode do
while CheckNeighborhood(v1.destination-nodelabel,u1.destination-nodelabel,Gti ) == false dov1.destination-nodelabel = MoveOneHopCloserToAnchorNode(v1.destination-nodelabel,v1.anchor-nodelabel,Gti );
endC = GetChildren(v1,Gtf );if |C| > 1 then
Stack2 = ∅;PushNode(v1,Stack2);V = u1;while Stack2 6= ∅ do
u2 = Stack2.GetTopNode;v2 = GetVisitedChildNode(u2,Gtf \ V);if v2 6= ∅ then
Pushnode(v2,Stack2);V = V ∪ v2;while CheckNeighborhood(v2.destination-nodelabel,u2.destination-nodelabel,Gti ) == false do
v2.destination-nodelabel = MoveOneHopCloserToAnchorNode(v2.destination-nodelabel,v2.anchor-nodelabel,Gti );
endelse
Stack2.Pop;end
endendStack1.Pop;u1 = Stack1.GetTopNode;v1 = Stack1.GetSecondTopNode;
endend
endelse
Stack.Pop;end
end
88
M.Dest
M.Dest
M.Dest
01
02
0111
0
011
021
A The root node, 0, sends mes-sage M.Dest to the movingnodes, 011 and 0111.
01
02
0
011,
0111
021
B Node 0111 move toward itsdestination node 01.
01,
011,
0111
02
0
021
C Node 0111 reaches its desti-nation node 01 while node 011moves toward its destinationnode 0.
01,
0111
02
0,
011
021
D Node 011 reaches its destina-tion node 0. It is able to connectwith its anchor-node 02 and thedesired tree topology is achieved.
01
02
0
021
0221
022
E Node 011 and 0111 relabeltheir own prefix label as 022 and0221 respectively to achieve thedesired prefix tree topology.
Figure 5-4.
Network reconfiguration.
5.3 Physical Topology Reconfiguration Optimization (PTRO) Algorithms
To minimize the aggregate traffic, we first select a network tree topology that has
minimum aggregate traffic from the initial connected network Gi by applying the Network
Tree Selection (NTS) Algorithms from Chapter 4 to solve (5–2) to obtain Gtmin ⊂ Gi . In
Chapter 4 two approaches are presented for NTS, the optimal and simulated annealing
algorithms.
89
After the NTS algorithm is used to obtain Gtmin, the root will label each node in
Gtmin to obtain the initial prefix tree Gti . We can not directly apply the Network Topol-
ogy Reconfiguration Optimization (NTRO) Algorithm proposed in Chapter 4 to solve
(5–3) to obtain the network tree topology that gives minimum aggregate traffic. This is
because the NTRO Algorithm does not consider the physical topology of the system
and assumes that the distance between neighboring vertices in Gti is uniform. In order
to solve (5–3) with the constraint on the limited amount of movement possible when the
distance between the neighbors in the initial prefix tree Gti is not uniform, we develop an
algorithm based on the NTRO Algorithm called the Physical Topology Reconfiguration
Optimization (PTRO) Algorithm. PTRO Algorithm is different from NTRO Algorithm
in that the PTRO Algorithm is used to reconfigure the physical topology of a system
of networked autonomous vehicles that take into account the constraint on the total
physical movement instead of the total amount of movement in terms of the number
of edges of the graph over which the autonomous vehicles must travel to achieve the
desired configuration. The details of the PTRO algorithm are provided below.
After we select a network tree Gtmin by using the NTS algorithm, we search for a
solution to (5–3) that repositions the nodes in Gtmin to minimize the aggregate traffic.
In this chapter, the NTR algorithm provided in Section 5.2 is used to reconfigure the
network around a selected root to minimize the aggregate traffic. The root first labels
each node in Gtmin to obtain an initial prefix tree Gti . The root is now able to control the
topology of the network and wishes to choose a final topology that gives minimum
aggregate traffic, under a constraint on the total amount of movement of the nodes.
Since there are constraints on the total amount of movement of all nodes and the
topology reconfiguration occurs around the root, the optimization problem can be
formulated as
90
Gtf = arg minG
∑(u,v)∈G2
fuvdhopG (u, v)
(5–5)
subject to
C(G) = 1∑v∈Vi
dGti→G
(v) ≤ ET
dGti→G
(vroot) = 0.
Here dGti→G
(v) denotes the distance that a node v must move to transition from Gti to
G, which is given by
dGti→G
(v) = dGti (v , vdest). (5–6)
Here vdest denotes the node whose label is the destination label of the node v , which
can be obtained from the advanced network topology reconfiguration algorithm given in
Section 5.2. dGti (v , vdest) denote the shortest distance between node v and vdest in Gti .
A node classification method is given in Section 4.3.2 to determine which nodes
may need to be moved between Gti and Gtf . The nodes are partitioned into active nodes,
which have a data flow to or from other nodes, and passive nodes, which do not have
a data flow to or from other nodes but which may still act as relays for other node’ data
flows. All active nodes are placed in the active moving node set, AM and are considered
for repositioning. Furthermore, it is best not to move passive nodes except as is required
to allow active nodes to move, since there is a constraint on the total amount of node
movement. However, it is necessary to also move a passive node who is a child of a
node in AM since a node cannot move while it still has children, and such nodes are
placed in the passive moving node set, PM .
91
Finally, a subgraph G ′ ⊂ Gti is formed by removing all vertices in AM and PM , along
with all associated edges after the root obtains both AM and PM . All the nodes from both
sets can move and will become descendants of at least one node in G ′ according to the
algorithms described below.
5.3.1 Optimal Algorithm
We develop an optimal algorithm based on that given in Chapter 4. The basic
approach is to consider all possible tree topologies and select the final tree topology
that is achievable and gives the minimum aggregate traffic. Prufer code sequences [52]
are used to obtain all achievable tree topologies. Each labeled tree with n nodes can
be represented by a code sequence p of length n − 2 called a Prufer sequence. In
Chapter 4, the achievability of the selected tree topology is verified by checking the total
amount of movement required to reposition all the nodes in Gti in terms of the number
of edges that nodes have to traverse in Gti to achieve the desired tree topology. Since
we consider the physical topology of a system in this chapter, we developed an optimal
algorithm to obtain the final tree topology that gives minimum aggregate traffic based
on the optimal algorithm in Chapter 4, except that the achievability of the tree topology
is verified by obtaining the amount of movement required to reposition all nodes in Gti
in terms of the physical distance that the node has to traverse through Gti , and this
can be obtained by running breadth-first search algorithm over all vertices in Gti . Since
our developed algorithm is based on that in Chapter 4 except that breadth-first search
algorithm is run over all vertices in Gti to obtain all pair shortest paths in Gti that will be
used to obtain the total amount of node’s movement. In Chapter 4, we find the total
amount of movement of the nodes in terms of the number of hops (i.e., vertices that
must be traversed) by the moving nodes. The number of hops can be calculated using
prefix labels, as given in (4–3). The complexity of running breadth-first search algorithm
over all vertices is O(n2), and thus the complexity of this optimal algorithm is the same
92
as that given in Chapter 4, which is given by O(nn), where n denote the number of
nodes in Gi .
5.3.2 Simulated Annealing (SA) Algorithm
Since the complexity of searching for the optimal solution is very high, we consider
developing an algorithm that has lower complexity but can find a solution close to the
optimal solution of (5–5). As in Chapter 4, we use a simulated annealing algorithm to
find an approximate solution to (5–5). The initial topology Gti is encoded into a Prufer
code sequence p. From there, the algorithm starts searching for other possible solutions
by considering the neighborhood of p and decoding it to obtain a feasible tree topology
Gt ⊃ G ′ and deciding whether to move to the neighborhood by probability based on
achievability and aggregate traffic that tree can achieve. The achievability is verified by
the physical distance that each node has to traverse through the initial prefix tree Gti to
achieve the desired tree topology.
The complexity of this algorithm is given by O(logα(Kf /Ki)n2 + n2), where n denotes
the number of vertices in Gti . This complexity is obtained because our algorithm is based
on a simulated annealing algorithm given in Chapter 4, which has the complexity of
O(logα(Kf /Ki)n2), and our algorithm initially runs breadth-first search algorithm for all
vertices in Gti in order to obtain all pair shortest path on the initial tree Gti that will be
used to verify the network tree’s achievability which leads to complexity of O(n2) .
To further improve the aggregate traffic of the system, the final physical topology Gf
is formed by letting nodes who are located within the communications range, R, form a
communications link after Gff that has minimum aggregate traffic is obtained from PTRO
algorithms.
5.4 Simulation Results
In this section, we present results for the combined algorithms that include the
NTS and PTRO algorithms with both the optimal and simulated annealing variants.
The performance of the combined algorithms was simulated for randomly selected
93
connected graph topologies with three to fifteen nodes. For a network with n nodes, the
number of pairs of nodes that share a flow was selected randomly from 1 to d(n2
)/2e,
and a total data flow of 1 Mbps is randomly distributed among all these data flows. 150
different combinations of initial connected network topologies and flow allocations are
randomly generated for each network size. We randomly generated each connected
network topology by randomly placing each node over a two-dimensional square region
with a length of√n meter. The sensing range for each node is set to be 1 meter. For
the combined optimal algorithm, we limited our searches to networks with 7 nodes or
fewer because of a very high computational complexity of the optimal algorithm. For the
combined algorithm with simulated annealing, the following parameters were used: initial
temperature Ki = 1, final temperature Kf = 0.01, cooling rate α = 0.97, Boltzmann
constant Kc = 0.1, and neighborhood radius ε = 1.
The performance is investigated for both combined algorithms in terms of aggregate
traffic under two values of the constraint on the total amount of node movement,
ET = n × R/3 and ET = n × R. For both combined algorithms, the NTS algorithm
was first used to select a tree topology that gives minimum aggregate traffic, and then
the PTRO algorithm was subsequently used to reposition nodes in the tree topology
obtained from the NTS algorithm to reduce aggregate traffic under the different values
of ET . The physical topology is then formed by letting nodes that are within distance R
of each other form communications links after the desired network topology that has
minimum aggregate traffic form is achieved.
It can be observed from Figure 5-5 that the aggregate traffic is improved significantly
by using the combined optimization algorithms. The optimal and simulated annealing
variants provide similar performance when the network size is small since the nodes
in the small network are already closer to each other and there are limited number of
candidate topologies for the root to be considered. Hence, it is difficult to reduce the
aggregate traffic in a small network. We observe that the total amount of energy of
94
3 4 5 6 7 8 9 10 11 12 13 14 15
1
1.5
2
2.5
3
Number of nodes
Aggre
gate
Data
Tra
ffic
(M
Byte
s)
Initial
NTS + PTRO − SA (ET = nodesize × radius/3)
NTS + PTRO − Optimal (ET= nodesize × radius/3)
NTS + PTRO − SA (ET = nodesize × radius)
NTS + PTRO − Optimal (ET= nodesize × radius)
Figure 5-5.
Minimum achievable aggregate traffic for combined algorithms as a functionof network size.
a system ET that is available for repositioning nodes plays a crucial role in the final
aggregate traffic as the network size grows larger since large ET translates into more
feasible network tree topologies. However, large ET can also slow down the execution
of the algorithms, especially for the optimal algorithms. It can also be observed that the
combined algorithm with simulated annealing provides similar performance to that of the
combined optimal algorithm but with lower complexity.
5.5 Summary
In this chapter, we considered the problem of optimizing the physical formation of
a system of networked autonomous vehicles to minimize the aggregate network traffic
under constraints on connectivity and total movement of the autonomous vehicles.
We use the concept of prefix trees and prefix routing to simplify the problem to moving
nodes along a tree structure in such a way that network connectivity is ensured when
95
the autonomous vehicles can move linearly between the positions of autonomous
vehicles. Then we apply optimization techniques to search for a final tree configuration
that is achievable under the given constraints. The performance and complexity of
optimal and simulated annealing variants of the proposed algorithms are compared, and
simulation results show that the formation reconfiguration algorithms can significantly
reduce the aggregate network traffic.
96
CHAPTER 6CONCLUSIONS AND FUTURE WORK
6.1 Conclusion
In this dissertation, we consider problems of formation control with network
connectivity (FC+NC) constraints or goals, with a special focus on the use of networking
techniques in formation reconfiguration with networking constraints. Solutions to FC+NC
problems may often be decomposed into parts that address network connectivity
maintenance and parts that control the physical positions. Network connectivity can be
treated using graphs. We presented our work on using the concepts of prefix routing to
reconfigure the network topology.
In Chapter 2, we developed a novel approach to route nodes through the network
while maintaining network connectivity by using the concepts of prefix routing to
reconfigure the network topology. In this chapter, an initial tree is built from a randomly
selected root node in the initial graph, and techniques are developed to move the nodes
from the initial tree formation to a desired tree formation. Since the initial tree is selected
randomly, we developed two techniques to provide better matches between the initial
and final topologies. These are the branch and neighbor relabeling algorithms, which
can reduce the amount of movement required to reconfigure the network formation.
The simulation results confirm that the network topology reconfiguration algorithm
together with the relabeling algorithms can further improve the performance in terms
of total movement and time required to achieve the desired network configuration. The
simulation results also confirm that selecting the appropriate root in the initial graph can
improve the performance significantly in terms of total number of movement required to
form the desired network configuration.
In Chapter 3, we developed a novel graph matching-based technique to further
improve the performance of the network topology reconfiguration algorithms proposed
in Chapter 2 in terms of the amount of node movement. We developed algorithms to
97
obtain the initial network tree topology from an arbitrary initial network that minimizes the
amount of movement required to reposition the nodes to achieve the desired network
tree topology. The simulation results showed that the algorithms we developed can
essentially improve the amount of node movement required to reconfigure an arbitrary
initial network to achieve the desired network tree topology.
In Chapter 4, we developed approaches to reduce the aggregate traffic in a
system by reconfiguring the network topology under constraints on the total amount
of movement of the networked autonomous vehicles while preserving the network
connectivity. We developed the network tree selection algorithm to select an initial
network tree with low aggregate traffic from an arbitrary initial connected network
topology. We then developed the network topology reconfiguration optimization
algorithm to reposition the autonomous vehicles in the tree obtained from network
tree selection algorithm to reduce the aggregate traffic while maintaining the network
connectivity under constraints on the total amount of movement of the autonomous
vehicles in terms of the number of edges in the graph that they traverse. We also
provided a comparison of our algorithms in terms of performance and complexity. The
simulation results showed that the combination of network tree selection and network
topology reconfiguration optimization algorithms can improve the aggregate traffic.
In Chapter 5, we proposed techniques to optimize the physical formation of a
system of networked autonomous vehicles to reduce the aggregate traffic under
constraints on the total amount of movement of the autonomous vehicles and network
connectivity. We developed formation reconfiguration algorithms based on that in
Chapter 4 to obtain a final tree configuration that achieves the minimum aggregate
traffic under constraints on the total amount of movement of autonomous vehicles.
The performance and complexity of our developed algorithms were also investigated.
Simulation results were presented to demonstrate the performance of our developed
algorithm in terms of how much they can improve the aggregate traffic from that in the
98
initial formation. Simulations results showed that formation reconfiguration algorithms
can significantly improve the aggregate traffic.
To conclude, the topology reconfiguration techniques that we developed based
on prefix routing have several nice features in comparison to previously proposed
techniques. They can achieve arbitrary transformation of the network topology, are
perfectly designed for anonymous reconfiguration, and are easily used in systems where
the final topology is to be optimized under constraints on connectivity and movement.
99
6.2 Future Work
One area of future work will focus on providing performance improvements (for
instance, minimizing the required movement) in the process of transforming from
one connected initial topology to another connected initial topology. Path-planning
techniques are needed that allow mobile vehicles to travel through the physical space
to places where there is no current autonomous vehicle but that maintain network
connectivity. This will require a coupling a more sophisticated graph-based algorithms
with a physical-position control algorithm to move the autonomous vehicles in an
efficient way.
Another area in which future work is needed is to incorporate more realism into the
physical and communications models, including taking into account the dynamics of the
autonomous vehicles and the effects of those on communications, and incorporating
more realistic channel models. For instance, it is desirable to extend this work to include
more realistic physical-layer models, such as those with fading and/or shadowing, which
may cause intermittent connectivity. In addition, the ability to utilize power control for
topology control [54–56] to reduce the amount of movement required or to overcome
fading or shadowing is another approach the should be investigated [57, 58].
100
REFERENCES
[1] R. M. Murray, “Recent research in cooperative control of multivehicle systems,” J.Dynamic Systems, Measurement, and Control, vol. 129, p. 571, 2007.
[2] J. A. Freebersyser and B. Leiner, “Ad hoc networking.” Boston, MA,USA: Addison-Wesley Longman Publishing Co., Inc., 2001, ch. A DoDperspective on mobile Ad hoc networks, pp. 29–51. [Online]. Available:http://dl.acm.org/citation.cfm?id=374547.374549
[3] F. Giulietti, L. Pollini, and M. Innocenti, “Autonomous formation flight,” IEEE ControlSyst. Mag., vol. 20, pp. 34–44, 2000.
[4] V. Kompella, J. Pasquale, and G. Polyzos, “Multicast routing for multimediacommunication,” IEEE/ACM Transactions on Networking (TON), vol. 1, 1993.
[5] Y. Q. Chen and Z. Wang, “Formation control: a review and a new consideration,”in Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Aug. 2005, pp.3181–3186.
[6] M. Zavlanos, M. Egerstedt, and G. Pappas, “Graph-theoretic connectivity controlof mobile robot networks,” Proc. of the IEEE, vol. 99, no. 9, pp. 1525–1540, Sept.2011.
[7] M. Zavlanos and G. Pappas, “Potential fields for maintaining connectivity of mobilenetworks,” IEEE Trans. Robotics, vol. 23, no. 4, pp. 812–816, Aug. 2007.
[8] N. Leonard and E. Fiorelli, “Virtual leaders, artificial potentials and coordinatedcontrol of groups,” in Decision and Control, 2001. Proceedings of the 40th IEEEConference on, vol. 3, 2001, pp. 2968 –2973 vol.3.
[9] J. A. Fax and R. M. Murray, “Graph Laplacians and stabilization ofvehicle formations,” CDS Technical Report 01-007. California Institute ofTechnology. Submitted to 2002 IFAC World Congress. [Online]. Available:http://resolver.caltech.edu/CaltechCDSTR:2001.01-007
[10] J. Fax and R. Murray, “Information flow and cooperative control of vehicle formations,”IEEE Trans. Autom. Control, vol. 49, no. 9, pp. 1465–1476, Sept. 2004.
[11] M. Fiedler, “Algebraic connectivity of graphs,” Czechoslovak Math. J., vol. 23, no. 98,pp. 298–305, 1973.
[12] S. Boyd, “Convex optimization of graph Laplacian eigenvalues,” in Proc. Int.Congress of Mathematicians, vol. 3, 2006, pp. 1311–1319.
[13] M. Fiedler, “Absolute algebraic connectivity of trees,” Linear and Multilinear Algebra,vol. 26, no. 1-2, pp. 85–106, 1990.
101
[14] M. Mesbahi and M. Egerstedt, Graph theoretic methods in multiagent networks.Princeton Univ Pr, 2010.
[15] H. Tanner, “On the controllability of nearest neighbor interconnections,” in Proc.IEEE Conf. on Decision and Control, vol. 3, Dec. 2004, pp. 2467–2472.
[16] A. Ghosh and S. Boyd, “Growing well-connected graphs,” in Proc. IEEE Conf. onDecision and Control, Dec. 2006, pp. 6605–6611.
[17] Y. Wan, S. Roy, X. Wang, A. Saberi, T. Yang, M. Xue, and B. Malek, “On the structureof graph edge designs that optimize the algebraic connectivity,” in Proc. IEEE Conf.on Decision and Control, Dec. 2008, pp. 805–810.
[18] M. De Gennaro and A. Jadbabaie, “Decentralized control of connectivity formulti-agent systems,” in Proc. IEEE Conf. on Decision and Control (CDC), Dec.2006, pp. 3628–3633.
[19] M. Zavlanos and G. Pappas, “Distributed connectivity control of mobile networks,”IEEE Trans. Robotics, vol. 24, no. 6, pp. 1416–1428, Dec. 2008.
[20] G. Notarstefano, K. Savla, F. Bullo, and A. Jadbabaie, “Maintaining limited-rangeconnectivity among second-order agents,” in Proc. Am. Control Conf., June 2006, p.6 pp.
[21] K. Srivastava and M. Spong, “Multi-agent coordination under connectivityconstraints,” in Proc. Am. Control Conf., June 2008, pp. 2648–2653.
[22] D. Dimarogonas and K. Kyriakopoulos, “Connectedness preserving distributedswarm aggregation for multiple kinematic robots,” IEEE Trans. Robotics, vol. 24,no. 5, pp. 1213–1223, Oct. 2008.
[23] F. Knorn, R. Stanojevic, M. Corless, and R. Shorten, “A framework for decentralisedfeedback connectivity control with application to sensor networks,” Int. J. Control,vol. 83, no. 11, pp. 2411–2411, Nov. 2009.
[24] P. Yang, R. Freeman, G. Gordon, K. Lynch, S. Srinivasa, and R. Sukthankar,“Decentralized estimation and control of graph connectivity in mobile sensornetworks,” in Am. Control Conf., June 2008, pp. 2678–2683.
[25] M. Zavlanos, A. Jadbabaie, and G. Pappas, “Flocking while preserving networkconnectivity,” in Proc. IEEE Conf. Decision and Control, Dec. 2007, pp. 2919–2924.
[26] A. Cornejo and N. Lynch, “Connectivity service for mobile ad-hoc networks,” in Proc.IEEE Int. Conf. on Self-Adaptive and Self-Organizing Syst., Oct. 2008, pp. 292–297.
[27] Z. Yao and K. Gupta, “Backbone-based connectivity control for mobile networks,” inProc. IEEE Int. Conf. on Robotics and Automation, May 2009, pp. 1133–1139.
102
[28] Z. Kan, A. Dani, J. M. Shea, and W. E. Dixon, “Ensuring network connectivity duringformation control using a decentralized navigation function,” in Proc. IEEE MilitaryCommun. Conf., San Jose, California, Nov. 2010, pp. 531–536.
[29] H. G. Tanner and A. Kumar, “Towards decentralization of multi-robot navigationfunctions,” in Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005IEEE International Conference on, Apr. 2005, pp. 4132–4137.
[30] A. De Gennaro, M.C.; Jadbabaie, “Formation control for a cooperative multi-agentsystem using decentralized navigation functions,” in Am. Control Conf., 2006,Minneapolis, MN, Jun. 2006, p. 6 pp.
[31] M. Meng Ji; Egerstedt, “Distributed coordination control of multiagent systems whilepreserving connectedness,” in IEEE Trans. Robotics, Aug. 2007, pp. 693–703.
[32] M. Hsieh and V. Kumar, “Pattern generation with multiple robots,” in Robotics andAutomation, 2006. ICRA 2006. Proceedings 2006 IEEE International Conferenceon, Orlando, FL, May. 2006, pp. 2442–2447.
[33] Z. Kan, A. P. Dani, J. M. Shea, and W. E. Dixon, “Network connectivity preservingformation stabilization and obstacle avoidance via a decentralized controller,” vol. 57,no. 7, pp. 1827–1832, 2012.
[34] J. J. Garcia-Luna-Aceves and D. Sampath, “Efficient multicast routing in MANETsusing prefix labels,” in Proc. IEEE Int. Conf. Computer Commun. and Networks(ICCCN), San Francisco, CA, Aug. 2009, pp. 1–8.
[35] D. Sampath and J. J. Garcia-Luna-Aceves, “PROSE:scalable routing in MANETsusing prefix labels and distributed hashing,” in Proc. IEEE Conf. on Sensor Mesh,and Ad Hoc. Commun. (SECON), Rome, Italy, Jun. 2009, pp. 1–9.
[36] J. J. Garcia-Luna-Aceves and D. Sampath, “Scalable integrated routing using prefixlabels and distributed hash tables for MANETs,” in Proc. IEEE Int. Conf. on MobileAd Hoc and Sensor Syst. (MASS), Macau SAR, P.R.C., Oct. 2009, pp. 188–198.
[37] A. Drozdek, Data Structures and Algorithms in C++, 2nd ed. Brooks/Cole, 2001.
[38] M. Ji and M. Egerstedt, “Distributed coordination control of multiagent systems whilepreserving connectedness,” IEEE Trans. Robotics, vol. 23, no. 4, pp. 693–703, Aug.2007.
[39] D. Dimarogonas and K. Johansson, “Bounded control of network connectivity inmulti-agent systems,” Control Theory Applications, IET, vol. 4, no. 8, pp. 1330–1338, august 2010.
[40] J. R. Ullmann, “An algorithm for subgraph isomorphism,” J. ACM, vol. 23, no. 1, pp.31–42, Jan. 1976. [Online]. Available: http://doi.acm.org/10.1145/321921.321925
103
[41] D. Conte, P. Foggia, C. Sansone, and M. Vento, “Thirty years of graph matching inpattern recognition,” IJPRAI, pp. 265–298, 2004.
[42] E. Bengoetxea, “Inexact graph matching using estimation of distribution algorithms,”Ph.D. dissertation, Ecole Nationale Superieure des Telecommunications, Paris,France, Dec 2002.
[43] S. Umeyama, “An eigendecomposition approach to weighted graph matchingproblems,” Pattern Analysis and Machine Intelligence, IEEE Transactions on,vol. 10, no. 5, pp. 695 –703, sep 1988.
[44] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms,2nd ed. McGraw-Hill, 2001.
[45] R. Burkard, M. Dell’Amico, and S. Martello, Assignment Problems. Philadelphia,PA, USA: Society for Industrial and Applied Mathematics, 2009.
[46] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi, “Optimization by simulated annealing,”Science, vol. 220, pp. 671–680, 1983.
[47] C. W. Commander and P. M. Pardalos, “A survey of the quadratic assignmentproblem, with applications,” The Morehead Electronic Journal of ApplicableMathematics, 2005.
[48] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theoryof NP-Completeness. W.H. Freeman, 1979.
[49] E. Horowitz, S. Shani, and D. P. Metha, Fundamentals of Data Structures in C++.Summit, New Jersey: Silicon Press, 2007.
[50] R. Jayakumar, K. Thulasiraman, and M. Swamy, “Complexity of computation of aspanning tree enumeration algorithm,” Circuits and Systems, IEEE Transactions on,vol. 31, no. 10, pp. 853 – 860, oct 1984.
[51] H.-C. Chen and Y.-L. Wang, “An efficient algorithm for generating Prufer codesfrom labelled trees,” Theory of Computing Systems / Mathematical Systems Theory,vol. 33, pp. 97–105, 2000.
[52] X. Wang, L. Wang, and Y. Wu, “An optimal algorithm for Prufer codes,” J. SoftwareEng. and Appl., vol. 2., pp. 111–115, 2009.
[53] A. H. Land and A. G. Doig, “An automatic method of solving discrete programmingproblems,” Econometrica, vol. 28, pp. 490–520, 1960.
[54] R. Ramanathan and R. Rosales-Hain, “Topology control of multihop wirelessnetworks using transmit power adjustment,” in Proc. IEEE INFOCOM, vol. 2, 2000,pp. 404 –413 vol.2.
104
[55] B. Chen, K. Jamieson, H. Balakrishnan, and R. Morris, “SPAN: An energy-efficientcoordination algorithm for topology maintenance in ad hoc wireless networks,” inProc. IEEE/ACM MOBICOM, 2001.
[56] P. Santi, “Topology control in wireless ad hoc and sensor networks,” ACM Comput.Surv., vol. 37, pp. 164–194, June 2005.
[57] S. Subramanian, J. Shea, and W. Dixon, “Power control for cellular communicationswith channel uncertainties,” in Proc. 2009 American Control Conference (ACC),June 2009, pp. 1569–1574.
[58] ——, “Prediction-based power control for distributed cellular communicationnetworks with time-varying channel uncertainties,” in Proc. IEEE Conf. on Decisionand Control, Dec. 2009, pp. 1998–2003.
[59] L. Navaravong, J. M. Shea, and W. E. Dixon, “Physical- and network-topologycontrol for systems of mobile robots,” in Proc. IEEE/AFCEA Military Commun.Conf. (MILCOM), Baltimore, MD, 2011, pp. 1079–1084. [Online]. Available:http://wireless.ece.ufl.edu/jshea/pubs/BomMILCOM2011.pdf
[60] L. Navaravong, J. M. Shea, E. L. Pasiliao, G. L. Barnette, and W. E.Dixon, “Optimizing network topology to reduce aggregate traffic in systems ofmobile agents,” in Models, Algorithms, and Technologies for Network Analysis, ser.Springer Proceedings in Mathematics & Statistics, B. Goldengorin, V. A. Kalyagin,and P. M. Pardalos, Eds., vol. 32. Springer New York, 2013, pp. 129–149. [Online].Available: http://dx.doi.org/10.1007/978-1-4614-5574-5 8
[61] L. Navaravong, J. M. Shea, E. L. P. Jr, and W. E. Dixon, “Optimizing networktopology to reduce aggregate traffic in a system of mobile robots under an energyconstraint,” in Proc. 2012 IEEE Communications Conf., Ottawa, Canada, Jun. 2012,pp. 16–20.
[62] L. Navaravong, Z. Kan, J. M. Shea, and W. E. Dixon, “Formation reconfiguration formobile robots with network connectivity constraints,” IEEE Network, vol. 26, no. 4,July 2012.
105
BIOGRAPHICAL SKETCH
Leenhapat Navaravong was born on October 11, 1985, in Bangkok, Thailand.
He received his bachelor’s degree in telecommunications engineering with first-class
honours from Shinawatra International University, Pathumthani, Thailand, in 2007,
and his master’s degree in electrical and computer engineering from the University of
Florida, Gainesville, USA, in May 2010. In May 2013, he received his Ph.D. degree in
electrical and computer engineering from the University of Florida, Gainesville, USA.
While pursuing his graduate degrees at the University of Florida, he worked as
a research and teaching assistant in the Wireless Information Networking Group
(WING) Laboratory in the Department of Electrical and Computer Engineering under
the supervision of Prof. John M. Shea. He also worked as a research intern with the Air
Force Research Laboratory (AFRL), Eglin Air Force Base, and the University of Florida
Research and Engineering Education Facility (UF-REEF) in Shalimar, Florida in the
summers of 2011 and 2012.
His research interests are wireless communications and networking with applications
to systems of autonomous vehicles.
106