mirror of
https://github.com/NotXia/unibo-ai-notes.git
synced 2025-12-14 18:51:52 +01:00
Add DAS Laplacian dynamics + containment
This commit is contained in:
@ -5,14 +5,47 @@
|
||||
\def\lastupdate{{PLACEHOLDER-LAST-UPDATE}}
|
||||
\def\giturl{{PLACEHOLDER-GIT-URL}}
|
||||
|
||||
\newtheorem{privatetheorem}{Theorem}[section]
|
||||
\newtheorem{privatecorollary}[theorem]{Corollary}
|
||||
\newtheorem{privatelemma}[theorem]{Lemma}
|
||||
|
||||
\renewenvironment{theorem}{%
|
||||
\begin{marginbar}{gray}{0}{thick}
|
||||
\begin{privatetheorem}
|
||||
}{%
|
||||
\end{privatetheorem}
|
||||
\end{marginbar}
|
||||
}
|
||||
|
||||
\renewenvironment{corollary}{%
|
||||
\begin{marginbar}{gray}{0}{thick}
|
||||
\begin{privatecorollary}
|
||||
}{%
|
||||
\end{privatecorollary}
|
||||
\end{marginbar}
|
||||
}
|
||||
|
||||
\renewenvironment{lemma}{%
|
||||
\begin{marginbar}{gray}{0}{thick}
|
||||
\begin{privatelemma}
|
||||
}{%
|
||||
\end{privatelemma}
|
||||
\end{marginbar}
|
||||
}
|
||||
|
||||
|
||||
\newcommand{\indeg}[1][]{\ensuremath{\text{deg}_{#1}^\text{IN}}}
|
||||
\newcommand{\outdeg}[1][]{\ensuremath{\text{deg}_{#1}^\text{OUT}}}
|
||||
\def\stf{{\texttt{stf}}}
|
||||
\def\lap{{\matr{L}}}
|
||||
\def\x{{\vec{x}}}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\makenotesfront
|
||||
\include{./sections/_graphs.tex}
|
||||
\include{./sections/_averaging_systems.tex}
|
||||
\include{./sections/_leader_follower.tex}
|
||||
|
||||
\end{document}
|
||||
BIN
src/year2/distributed-autonomous-systems/img/_containment.pdf
Normal file
BIN
src/year2/distributed-autonomous-systems/img/_containment.pdf
Normal file
Binary file not shown.
@ -1,164 +1,10 @@
|
||||
\chapter{Averaging systems}
|
||||
|
||||
|
||||
\section{Graphs}
|
||||
|
||||
|
||||
\subsection{Definitions}
|
||||
|
||||
\begin{description}
|
||||
\item[Directed graph (digraph)] \marginnote{Directed graph}
|
||||
Pair $G = (I, E)$ where $I=\{1, \dots, N\}$ is the set of nodes and $E \subseteq I \times I$ is the set of edges.
|
||||
|
||||
\item[Undirected graph] \marginnote{Undirected graph}
|
||||
Digraph where $\forall i,j: (i, j) \in E \Rightarrow (j, i) \in E$.
|
||||
|
||||
\item[Subgraph] \marginnote{Subgraph}
|
||||
Given a graph $(I, E)$, $(I', E')$ is a subgraph of it if $I' \subseteq I$ and $E' \subset E$.
|
||||
\begin{description}
|
||||
\item[Spanning subgraph] Subgraph where $I' = I$.
|
||||
\end{description}
|
||||
|
||||
\item[In-neighbor] \marginnote{In-neighbor}
|
||||
A node $j \in I$ is an in-neighbor of $i \in I$ if $(j, i) \in E$.
|
||||
|
||||
\begin{description}
|
||||
\item[Set of in-neighbors] \marginnote{Set of in-neighbors}
|
||||
The set of in-neighbors of $i \in I$ is the set:
|
||||
\[ \mathcal{N}_i^\text{IN} = \{ j \in I \mid (j, i) \in E \} \]
|
||||
|
||||
\item[In-degree] \marginnote{In-degree}
|
||||
Number of in-neighbors of a node $i \in I$:
|
||||
\[ \indeg[i] = | \mathcal{N}_i^\text{IN} | \]
|
||||
\end{description}
|
||||
|
||||
\item[Out-neighbor] \marginnote{Out-neighbor}
|
||||
A node $j \in I$ is an out-neighbor of $i \in I$ if $(i, j) \in E$.
|
||||
|
||||
\begin{description}
|
||||
\item[Set of out-neighbors] \marginnote{Set of in-neighbors}
|
||||
The set of out-neighbors of $i \in I$ is the set:
|
||||
\[ \mathcal{N}_i^\text{OUT} = \{ j \in I \mid (i, j) \in E \} \]
|
||||
|
||||
\item[Out-degree] \marginnote{Out-degree}
|
||||
Number of out-neighbors of a node $i \in I$:
|
||||
\[ \outdeg[i] = | \mathcal{N}_i^\text{OUT} | \]
|
||||
\end{description}
|
||||
|
||||
|
||||
\item[Balanced digraph] \marginnote{Balanced digraph}
|
||||
A digraph is balanced if $\forall i \in I: \indeg[i] = \outdeg[i]$.
|
||||
|
||||
\item[Periodic graph] \marginnote{Periodic graph}
|
||||
Graph where there exists a period $k > 1$ that divides the length of any cycle.
|
||||
|
||||
\begin{remark}
|
||||
A graph with self-loops is aperiodic.
|
||||
\end{remark}
|
||||
|
||||
\item[Strongly connected digraph] \marginnote{Strongly connected digraph}
|
||||
Digraph where each node is reachable from any node.
|
||||
|
||||
\item[Connected undirected graph] \marginnote{Connected undirected graph}
|
||||
Undirected graph where each node is reachable from any node.
|
||||
|
||||
\item[Weakly connected digraph] \marginnote{Weakly connected digraph}
|
||||
Digraph where its undirected version is connected.
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Weighted digraphs}
|
||||
|
||||
\begin{description}
|
||||
\item[Weighted digraph] \marginnote{Weighted digraph}
|
||||
Triplet $G=(I, E, \{a_{i, j}\}_{(i,j) \in E})$ where $(I, E)$ is a digraph and $a_{i,j} > 0$ is a weight for the edge $(i,j)$.
|
||||
|
||||
\begin{description}
|
||||
\item[Weighted in-degree] \marginnote{Weighted in-degree}
|
||||
Sum of the weights of the inward edges:
|
||||
\[ \indeg[i] = \sum_{j=1}^N a_{j, i} \]
|
||||
\item[Weighted out-degree] \marginnote{Weighted out-degree}
|
||||
Sum of the weights of the outward edges:
|
||||
\[ \outdeg[i] = \sum_{j=1}^N a_{i, j} \]
|
||||
\end{description}
|
||||
|
||||
|
||||
\item[Weighted adjacency matrix] \marginnote{Weighted adjacency matrix}
|
||||
Non-negative matrix $\matr{A}$ such that $\matr{A}_{i,j} = a_{i,j}$:
|
||||
\[
|
||||
\begin{cases}
|
||||
\matr{A}_{i,j} > 0 & \text{if $(i, j) \in E$} \\
|
||||
\matr{A}_{i, j} = 0 & \text{otherwise}
|
||||
\end{cases}
|
||||
\]
|
||||
|
||||
\item[In/out-degree matrix] \marginnote{In/out-degree matrix}
|
||||
Matrix where the diagonal contains the in/out-degrees:
|
||||
\[
|
||||
\matr{D}^\text{IN} = \begin{bmatrix}
|
||||
\indeg[1] & 0 & \cdots & 0 \\
|
||||
0 & \indeg[2] \\
|
||||
\vdots & & \ddots \\
|
||||
0 & \cdots & 0 & \indeg[N] \\
|
||||
\end{bmatrix}
|
||||
\qquad
|
||||
\matr{D}^\text{OUT} = \begin{bmatrix}
|
||||
\outdeg[1] & 0 & \cdots & 0 \\
|
||||
0 & \outdeg[2] \\
|
||||
\vdots & & \ddots \\
|
||||
0 & \cdots & 0 & \outdeg[N] \\
|
||||
\end{bmatrix}
|
||||
\]
|
||||
|
||||
\begin{remark}
|
||||
Given a digraph with adjacency matrix $\matr{A}$, its reverse digraph has adjacency matrix $\matr{A}^T$.
|
||||
\end{remark}
|
||||
|
||||
\begin{remark}
|
||||
It holds that:
|
||||
\[
|
||||
\matr{D}^\text{IN} = \text{diag}(\matr{A}^T \vec{1})
|
||||
\quad
|
||||
\matr{D}^\text{OUT} = \text{diag}(\matr{A} \vec{1})
|
||||
\]
|
||||
where $\vec{1}$ is a vector of ones.
|
||||
\end{remark}
|
||||
|
||||
\begin{remark}
|
||||
A digraph is balanced iff $\matr{A}^T \vec{1} = \matr{A} \vec{1}$.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Laplacian matrix}
|
||||
|
||||
\begin{description}
|
||||
\item[(Out-degree) Laplacian matrix] \marginnote{Laplacian matrix}
|
||||
Matrix $\matr{L}$ defined as:
|
||||
\[ \matr{L} = \matr{D}^\text{OUT} - \matr{A} \]
|
||||
|
||||
\begin{remark}
|
||||
The vector $\vec{1}$ is always an eigenvector of $\matr{L}$ with eigenvalue $0$:
|
||||
\[ \matr{L}\vec{1} = (\matr{D}^\text{OUT} - \matr{A})\vec{1} = \matr{D}^\text{OUT}\vec{1} - \matr{D}^\text{OUT}\vec{1} = 0 \]
|
||||
\end{remark}
|
||||
|
||||
\item[In-degree Laplacian matrix] \marginnote{In-degree Laplacian matrix}
|
||||
Matrix $\matr{L}^\text{IN}$ defined as:
|
||||
\[ \matr{L}^\text{IN} = \matr{D}^\text{IN} - \matr{A}^T \]
|
||||
|
||||
\begin{remark}
|
||||
$\matr{L}^\text{IN}$ is the out-degree Laplacian of the reverse graph.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
\section{Distributed algorithm}
|
||||
|
||||
\begin{description}
|
||||
\item[Distributed algorithm] \marginnote{Distributed algorithm}
|
||||
Given a network of $N$ agents that communicate according to a (fixed) digraph $G$ (each agent receives messages from its in-neighbors), a distributed algorithm computes:
|
||||
\[ x_i^{k+1} = \stf_i(x_i^k, \{ x_j^k \}_{j \in \mathcal{N}_i^\text{IN}}) \quad i \in \{ 1, \dots, N \} \]
|
||||
\[ x_i^{k+1} = \stf_i(x_i^k, \{ x_j^k \}_{j \in \mathcal{N}_i^\text{IN}}) \quad \forall i \in \{ 1, \dots, N \} \]
|
||||
where $x_i^k$ is the state of agent $i$ at time $k$ and $\stf_i$ is a local state transition function that depends on the current input states.
|
||||
|
||||
\begin{remark}
|
||||
@ -178,7 +24,8 @@
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Discrete-time averaging algorithm}
|
||||
|
||||
\section{Discrete-time averaging algorithm}
|
||||
|
||||
\begin{description}
|
||||
\item[Linear averaging distributed algorithm (in-neighbors)] \marginnote{Linear averaging distributed algorithm (in-neighbors)}
|
||||
@ -192,7 +39,7 @@
|
||||
\[ x_i^{k+1} = \sum_{j=1}^N a_{ij} x_j^k \quad i \in \{ 1, \dots, N \} \]
|
||||
|
||||
In matrix form, it becomes:
|
||||
\[ x^{k+1} = \matr{A}^T x^k \]
|
||||
\[ \vec{x}^{k+1} = \matr{A}^T \vec{x}^k \]
|
||||
where $\matr{A}$ is the adjacency matrix of $G^\text{comm}$.
|
||||
|
||||
\begin{remark}
|
||||
@ -204,7 +51,7 @@
|
||||
Given a fixed sensing digraph with self-loops $G^\text{sens} = (I, E)$ (i.e., $(i, j) \in E$ indicates that $j$ sends messages to $i$), the algorithm is defined as:
|
||||
\[ x_i^{k+1} = \sum_{j \in \mathcal{N}_i^\text{OUT}} a_{ij} x_j^k = \sum_{j=1}^{N} a_{ij} x_j^k \]
|
||||
In matrix form, it becomes:
|
||||
\[ x^{k+1} = \matr{A} x^k \]
|
||||
\[ \vec{x}^{k+1} = \matr{A} \vec{x}^k \]
|
||||
where $\matr{A}$ is the weighted adjacency matrix of $G^\text{sens}$.
|
||||
\end{description}
|
||||
|
||||
@ -225,38 +72,46 @@
|
||||
\end{description}
|
||||
|
||||
\begin{lemma}
|
||||
An adjacency matrix $\matr{A}$ is doubly stochastic if it is row stochastic and the graph $G$ associated to it is weight balanced and has positive weights.
|
||||
\end{lemma}
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:strongly_connected_eigenvalues}
|
||||
Given a digraph $G$ with adjacency matrix $\matr{A}$, if $G$ is strongly connected and aperiodic, and $\matr{A}$ is row stochastic, its eigenvalues are such that:
|
||||
\begin{itemize}
|
||||
\item $\lambda = 1$ is a simple eigenvalue (i.e., algebraic multiplicity of 1),
|
||||
\item All others $\mu$ are $|\mu| < 1$.
|
||||
\end{itemize}
|
||||
|
||||
\indenttbox
|
||||
\begin{remark}
|
||||
For the lemma to hold, it is necessary and sufficient that $G$ contains a globally reachable node and the subgraph of globally reachable nodes is aperiodic.
|
||||
\end{remark}
|
||||
\end{lemma}
|
||||
|
||||
\begin{theorem}[Consensus] \marginnote{Consensus}
|
||||
|
||||
\subsection{Consensus}
|
||||
|
||||
\begin{theorem}[Discrete-time consensus] \marginnote{Discrete-time consensus}
|
||||
Consider a discrete-time averaging system with digraph $G$ and weighted adjacency matrix $\matr{A}$. Assume $G$ strongly connected and aperiodic, and $\matr{A}$ row stochastic.
|
||||
|
||||
It holds that there exists a left eigenvector $\vec{w} \in \mathbb{R}^N$, $\vec{w} > 0$ such that the consensus converges to:
|
||||
\[
|
||||
\lim_{k \rightarrow \infty} x^k
|
||||
= \vec{1}\frac{\vec{w}^T x^0}{\vec{w}^T\vec{1}}
|
||||
= \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix} \frac{\sum_{i=1}^N w_i x_i^0}{\sum_{i=1}^N w_i}
|
||||
\lim_{k \rightarrow \infty} \vec{x}^k
|
||||
= \vec{1}\frac{\vec{w}^T \vec{x}^0}{\vec{w}^T\vec{1}}
|
||||
= \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix} \frac{\sum_{i=1}^N w_i x_i^0}{\sum_{j=1}^N w_j}
|
||||
= \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix} \sum_{i=1}^N \frac{w_i}{\sum_{j=1}^N w_j} x_i^0
|
||||
\]
|
||||
where $\tilde{w}_i = \frac{w_i}{\sum_{i=j}^N w_j}$ are all normalized and sum to 1 (i.e., they produce a convex combination).
|
||||
|
||||
Moreover, if $\matr{A}$ is doubly stochastic (e.g., $G$ weight balanced with positive weights), then it holds that the consensus is the average:
|
||||
Moreover, if $\matr{A}$ is doubly stochastic, then it holds that the consensus is the average:
|
||||
\[
|
||||
\lim_{k \rightarrow \infty} x^k = \vec{1} \frac{1}{N} \sum_{i=1}^N x_i^0
|
||||
\lim_{k \rightarrow \infty} \vec{x}^k = \vec{1} \frac{1}{N} \sum_{i=1}^N x_i^0
|
||||
\]
|
||||
|
||||
\begin{proof}[Sketch of proof]
|
||||
Let $\matr{T} = \begin{bmatrix} \vec{1} & \vec{v}^2 & \cdots & \vec{v}^N \end{bmatrix}$ be a change in coordinates that transforms an adjacency matrix into its Jordan form $\matr{J}$:
|
||||
\[ \matr{J} = \matr{T}^{-1} \matr{A} \matr{T} \]
|
||||
As $\lambda=1$ is a simple eigenvalue, it holds that:
|
||||
As $\lambda=1$ is a simple eigenvalue (\Cref{th:strongly_connected_eigenvalues}), it holds that:
|
||||
\[
|
||||
\matr{J} = \begin{bmatrix}
|
||||
1 & 0 & \cdots & 0 \\
|
||||
@ -267,18 +122,18 @@
|
||||
\]
|
||||
where the eigenvalues of $\matr{J}_2 \in \mathbb{R}^{(N-1) \times (N-1)}$ lie inside the open unit disk.
|
||||
|
||||
Let $x^k = \matr{T}\bar{x}^k$, then we have that:
|
||||
Let $\vec{x}^k = \matr{T}\bar{\vec{x}}^k$, then we have that:
|
||||
\[
|
||||
\begin{split}
|
||||
x^{k+1} &= \matr{A} x^{k} \iff \\
|
||||
\matr{T} \bar{x}^{k+1} &= \matr{A} (\matr{T} \bar{x}^k) \iff \\
|
||||
\bar{x}^{k+1} &= \matr{T}^{-1} \matr{A} (\matr{T} \bar{x}^k) = \matr{J}\bar{x}^k
|
||||
&\vec{x}^{k+1} = \matr{A} \vec{x}^{k} \\
|
||||
&\iff \matr{T} \bar{\vec{x}}^{k+1} = \matr{A} (\matr{T} \bar{\vec{x}}^k) \\
|
||||
&\iff \bar{\vec{x}}^{k+1} = \matr{T}^{-1} \matr{A} (\matr{T} \bar{\vec{x}}^k) = \matr{J}\bar{\vec{x}}^k
|
||||
\end{split}
|
||||
\]
|
||||
Therefore:
|
||||
\[
|
||||
\begin{gathered}
|
||||
\lim_{k \rightarrow \infty} \bar{x}^k = \bar{x}_1^0 \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} \\
|
||||
\lim_{k \rightarrow \infty} \bar{\vec{x}}^k = \bar{x}_1^0 \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} \\
|
||||
\bar{x}_1^{k+1} = \bar{x}_1^k \quad \forall k \geq 0 \\
|
||||
\lim_{k \rightarrow \infty} \bar{x}_i^{k} = 0 \quad \forall i = 2, \dots, N \\
|
||||
\end{gathered}
|
||||
@ -299,6 +154,10 @@
|
||||
\end{example}
|
||||
|
||||
|
||||
|
||||
\section{Discrete-time averaging algorithm over time-varying graphs}
|
||||
|
||||
|
||||
\subsection{Time-varying digraphs}
|
||||
|
||||
\begin{description}
|
||||
@ -330,10 +189,13 @@
|
||||
\begin{description}
|
||||
\item[Linear time-varying (LTV) discrete-time system] \marginnote{Linear time-varying (LTV) discrete-time system}
|
||||
In matrix form, it can be formulated as:
|
||||
\[ x^{k+1} = \matr{A}(k) x^k \]
|
||||
\[ \vec{x}^{k+1} = \matr{A}(k) \vec{x}^k \]
|
||||
\end{description}
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Consensus}
|
||||
|
||||
\begin{theorem}[Discrete-time consensus over time-varying graphs] \marginnote{Discrete-time consensus over time-varying graphs}
|
||||
Consider a time-varying discrete-time average system with digraphs $\{G(k)\}_{k \geq 0}$ (all with self-loops) and weighted adjacency matrices $\{\matr{A}(k)\}_{k \geq 0}$. Assume:
|
||||
\begin{itemize}
|
||||
@ -343,12 +205,136 @@
|
||||
|
||||
It holds that there exists a vector $\vec{w} \in \mathbb{R}^N$, $\vec{w} > 0$ such that the consensus converges to:
|
||||
\[
|
||||
\lim_{k \rightarrow \infty} x^k
|
||||
= \vec{1}\frac{\vec{w}^T x^0}{\vec{w}^T\vec{1}}
|
||||
\lim_{k \rightarrow \infty} \vec{x}^k
|
||||
= \vec{1}\frac{\vec{w}^T \vec{x}^0}{\vec{w}^T\vec{1}}
|
||||
\]
|
||||
|
||||
Moreover, if each $\matr{A}(k)$ is doubly stochastic, it holds that the consensus is the average:
|
||||
\[
|
||||
\lim_{k \rightarrow \infty} x^k = \vec{1} \frac{1}{N} \sum_{i=1}^N x_i^0
|
||||
\lim_{k \rightarrow \infty} \vec{x}^k = \vec{1} \frac{1}{N} \sum_{i=1}^N x_i^0
|
||||
\]
|
||||
\end{theorem}
|
||||
|
||||
|
||||
|
||||
\section{Continuous-time averaging algorithm}
|
||||
|
||||
\subsection{Laplacian dynamics}
|
||||
|
||||
\begin{description}
|
||||
\item[Network of dynamic systems] \marginnote{Network of dynamic systems}
|
||||
Network described by the ODEs:
|
||||
\[ \dot{x}_i(t) = u_i(t) \quad \forall i \in \{ 1, \dots, N \} \]
|
||||
with states $x_i \in \mathbb{R}$, inputs $u_i \in \mathbb{R}$, and communication following a digraph $G$.
|
||||
|
||||
\item[Laplacian dynamics system] \marginnote{Laplacian dynamics system}
|
||||
Consider a network of dynamic systems where $u_i$ is defined as a proportional controller (i.e., only communicating $(i, j)$ have a non-zero weight $a_{ij}$):
|
||||
\[
|
||||
\begin{split}
|
||||
u_i(t)
|
||||
&= - \sum_{j \in \mathcal{N}_i^\text{OUT}} a_{ij} \Big( x_i(t) - x_j(t) \Big) \\
|
||||
&= - \sum_{j=1}^{N} a_{ij} \Big( x_i(t) - x_j(t) \Big)
|
||||
\end{split}
|
||||
\]
|
||||
|
||||
\begin{remark}
|
||||
With this formulation, consensus can be seen as the problem of minimizing the error defined as the difference between the states of two nodes.
|
||||
\end{remark}
|
||||
|
||||
\begin{remark}
|
||||
A definition with in-neighbors also exists.
|
||||
\end{remark}
|
||||
|
||||
% \[
|
||||
% \dot{x}_i(t) =
|
||||
% -\sum_{j \in \mathcal{N}_i^\text{OUT}} a_{ij} (x_i(t) - x_j(t))
|
||||
% -\sum_{j=1}^N a_{ij} (x_i(t) - x_j(t))
|
||||
% \]
|
||||
% $a_{ij} = 0$ if $(i, j) \notin E$.
|
||||
|
||||
\begin{theorem}[Linear time invariant (LTI) continuous-time system] \phantomsection\label{th:lti_continuous} \marginnote{Linear time invariant (LTI) continuous-time system}
|
||||
With $\vec{x} = \begin{bmatrix} x_1 & \dots & x_N \end{bmatrix}^T$, the system can be written in matrix form as:
|
||||
\[ \dot{\vec{x}}(t) = - \matr{L} \vec{x}(t) \]
|
||||
where $\matr{L}$ is the Laplacian associated with the communication digraph $G$.
|
||||
|
||||
\begin{proof}
|
||||
The system is defined as:
|
||||
\[
|
||||
\dot{x}_i(t) = - \sum_{j=1}^{N} a_{ij} \Big( x_i(t) - x_j(t) \Big)
|
||||
\]
|
||||
By rearranging, we have that:
|
||||
\[
|
||||
\begin{split}
|
||||
\dot{x}_i(t)
|
||||
&= - \left( \sum_{j=1}^{N} a_{ij} \right) x_i(t) + \sum_{j=1}^{N} a_{ij} x_j(t) \\
|
||||
&= -\outdeg[i] x_i(t) + (\matr{A}\vec{x}(t))_i
|
||||
\end{split}
|
||||
\]
|
||||
Which in matrix form is:
|
||||
\[
|
||||
\begin{split}
|
||||
\dot{\vec{x}}(t)
|
||||
&= - \matr{D}^\text{OUT} \vec{x}(t) + \matr{A} \vec{x}(t) \\
|
||||
&= - (\matr{D}^\text{OUT} - \matr{A}) \vec{x}(t)
|
||||
\end{split}
|
||||
\]
|
||||
By definition, $\matr{L} = \matr{D}^\text{OUT} - \matr{A}$. Therefore, we have that:
|
||||
\[ \dot{\vec{x}}(t) = - \matr{L} \vec{x}(t) \]
|
||||
\end{proof}
|
||||
\end{theorem}
|
||||
|
||||
\begin{remark}
|
||||
By \Cref{th:lti_continuous}, row/column stochasticity is not required for consensus. Instead, the requirement is for the matrix to be Laplacian.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsection{Consensus}
|
||||
|
||||
\begin{lemma}
|
||||
It holds that:
|
||||
\[
|
||||
\matr{L}\vec{1}
|
||||
= \matr{D}^\text{OUT} \vec{1} - \matr{A}\vec{1}
|
||||
= \begin{bmatrix} \outdeg[1] \\ \vdots \\ \outdeg[i] \end{bmatrix} - \begin{bmatrix} \outdeg[1] \\ \vdots \\ \outdeg[i] \end{bmatrix}
|
||||
= 0
|
||||
\]
|
||||
\end{lemma}
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:weighted_laplacian_eigenvalues}
|
||||
The Laplacian $\matr{L}$ of a weighted digraph has an eigenvalue $\lambda=0$ and all the others have strictly positive real part.
|
||||
\end{lemma}
|
||||
|
||||
\begin{lemma}
|
||||
Given a weighted digraph $G$ with Laplacian $\matr{L}$, the following are equivalent:
|
||||
\begin{itemize}
|
||||
\item $G$ is weight balanced.
|
||||
\item $\vec{1}$ is a left eigenvector of $\matr{L}$: $\vec{1}^T\matr{L} = 0$ with eigenvalue $0$.
|
||||
\end{itemize}
|
||||
\end{lemma}
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:connected_simple_eigenvalue}
|
||||
If a weighted digraph $G$ is strongly connected, then $\lambda = 0$ is a simple eigenvalue.
|
||||
\end{lemma}
|
||||
|
||||
\begin{theorem}[Continuous-time consensus] \marginnote{Continuous-time consensus}
|
||||
Consider a continuous-time average system with a strongly connected weighted digraph $G$ and Laplacian $\matr{L}$. Assume that the system follows the Laplacian dynamics $\dot{\vec{x}}(t) = - \matr{L}\vec{x}(t)$ for $t \geq 0$.
|
||||
|
||||
It holds that there exists a left eigenvector $\vec{w}$ of $\matr{L}$ with eigenvalue $\lambda=0$ such that the consensus converges to:
|
||||
\[
|
||||
\lim_{t \rightarrow \infty} \vec{x}(t) = \vec{1} \left( \frac{\vec{w}^T \vec{x}(0)}{\vec{w}^T \vec{1}} \right)
|
||||
\]
|
||||
|
||||
Moreover, if $G$ is weight balanced, then it holds that the consensus is the average:
|
||||
\[
|
||||
\lim_{t \rightarrow \infty} \vec{x}(t) = \vec{1} \frac{\sum_{i=1}^N x_i(0)}{N}
|
||||
\]
|
||||
|
||||
% \begin{proof}
|
||||
|
||||
% \end{proof}
|
||||
\end{theorem}
|
||||
|
||||
\begin{remark}
|
||||
The result also holds for unweighted digraphs as $\vec{1}$ is both a left and right eigenvector of $\matr{L}$.
|
||||
\end{remark}
|
||||
151
src/year2/distributed-autonomous-systems/sections/_graphs.tex
Normal file
151
src/year2/distributed-autonomous-systems/sections/_graphs.tex
Normal file
@ -0,0 +1,151 @@
|
||||
\chapter{Graphs}
|
||||
|
||||
|
||||
\section{Definitions}
|
||||
|
||||
\begin{description}
|
||||
\item[Directed graph (digraph)] \marginnote{Directed graph}
|
||||
Pair $G = (I, E)$ where $I=\{1, \dots, N\}$ is the set of nodes and $E \subseteq I \times I$ is the set of edges.
|
||||
|
||||
\item[Undirected graph] \marginnote{Undirected graph}
|
||||
Digraph where $\forall i,j: (i, j) \in E \Rightarrow (j, i) \in E$.
|
||||
|
||||
\item[Subgraph] \marginnote{Subgraph}
|
||||
Given a graph $(I, E)$, $(I', E')$ is a subgraph of it if $I' \subseteq I$ and $E' \subset E$.
|
||||
\begin{description}
|
||||
\item[Spanning subgraph] Subgraph where $I' = I$.
|
||||
\end{description}
|
||||
|
||||
\item[In-neighbor] \marginnote{In-neighbor}
|
||||
A node $j \in I$ is an in-neighbor of $i \in I$ if $(j, i) \in E$.
|
||||
|
||||
\begin{description}
|
||||
\item[Set of in-neighbors] \marginnote{Set of in-neighbors}
|
||||
The set of in-neighbors of $i \in I$ is the set:
|
||||
\[ \mathcal{N}_i^\text{IN} = \{ j \in I \mid (j, i) \in E \} \]
|
||||
|
||||
\item[In-degree] \marginnote{In-degree}
|
||||
Number of in-neighbors of a node $i \in I$:
|
||||
\[ \indeg[i] = | \mathcal{N}_i^\text{IN} | \]
|
||||
\end{description}
|
||||
|
||||
\item[Out-neighbor] \marginnote{Out-neighbor}
|
||||
A node $j \in I$ is an out-neighbor of $i \in I$ if $(i, j) \in E$.
|
||||
|
||||
\begin{description}
|
||||
\item[Set of out-neighbors] \marginnote{Set of in-neighbors}
|
||||
The set of out-neighbors of $i \in I$ is the set:
|
||||
\[ \mathcal{N}_i^\text{OUT} = \{ j \in I \mid (i, j) \in E \} \]
|
||||
|
||||
\item[Out-degree] \marginnote{Out-degree}
|
||||
Number of out-neighbors of a node $i \in I$:
|
||||
\[ \outdeg[i] = | \mathcal{N}_i^\text{OUT} | \]
|
||||
\end{description}
|
||||
|
||||
|
||||
\item[Balanced digraph] \marginnote{Balanced digraph}
|
||||
A digraph is balanced if $\forall i \in I: \indeg[i] = \outdeg[i]$.
|
||||
|
||||
\item[Periodic graph] \marginnote{Periodic graph}
|
||||
Graph where there exists a period $k > 1$ that divides the length of any cycle.
|
||||
|
||||
\begin{remark}
|
||||
A graph with self-loops is aperiodic.
|
||||
\end{remark}
|
||||
|
||||
\item[Strongly connected digraph] \marginnote{Strongly connected digraph}
|
||||
Digraph where each node is reachable from any node.
|
||||
|
||||
\item[Connected undirected graph] \marginnote{Connected undirected graph}
|
||||
Undirected graph where each node is reachable from any node.
|
||||
|
||||
\item[Weakly connected digraph] \marginnote{Weakly connected digraph}
|
||||
Digraph where its undirected version is connected.
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
\section{Weighted digraphs}
|
||||
|
||||
\begin{description}
|
||||
\item[Weighted digraph] \marginnote{Weighted digraph}
|
||||
Triplet $G=(I, E, \{a_{i, j}\}_{(i,j) \in E})$ where $(I, E)$ is a digraph and $a_{i,j} > 0$ is a weight for the edge $(i,j)$.
|
||||
|
||||
\begin{description}
|
||||
\item[Weighted in-degree] \marginnote{Weighted in-degree}
|
||||
Sum of the weights of the inward edges:
|
||||
\[ \indeg[i] = \sum_{j=1}^N a_{j, i} \]
|
||||
\item[Weighted out-degree] \marginnote{Weighted out-degree}
|
||||
Sum of the weights of the outward edges:
|
||||
\[ \outdeg[i] = \sum_{j=1}^N a_{i, j} \]
|
||||
\end{description}
|
||||
|
||||
|
||||
\item[Weighted adjacency matrix] \marginnote{Weighted adjacency matrix}
|
||||
Non-negative matrix $\matr{A}$ such that $\matr{A}_{i,j} = a_{i,j}$:
|
||||
\[
|
||||
\begin{cases}
|
||||
\matr{A}_{i,j} > 0 & \text{if $(i, j) \in E$} \\
|
||||
\matr{A}_{i, j} = 0 & \text{otherwise}
|
||||
\end{cases}
|
||||
\]
|
||||
|
||||
\item[In/out-degree matrix] \marginnote{In/out-degree matrix}
|
||||
Matrix where the diagonal contains the in/out-degrees:
|
||||
\[
|
||||
\matr{D}^\text{IN} = \begin{bmatrix}
|
||||
\indeg[1] & 0 & \cdots & 0 \\
|
||||
0 & \indeg[2] \\
|
||||
\vdots & & \ddots \\
|
||||
0 & \cdots & 0 & \indeg[N] \\
|
||||
\end{bmatrix}
|
||||
\qquad
|
||||
\matr{D}^\text{OUT} = \begin{bmatrix}
|
||||
\outdeg[1] & 0 & \cdots & 0 \\
|
||||
0 & \outdeg[2] \\
|
||||
\vdots & & \ddots \\
|
||||
0 & \cdots & 0 & \outdeg[N] \\
|
||||
\end{bmatrix}
|
||||
\]
|
||||
|
||||
\begin{remark}
|
||||
Given a digraph with adjacency matrix $\matr{A}$, its reverse digraph has adjacency matrix $\matr{A}^T$.
|
||||
\end{remark}
|
||||
|
||||
\begin{remark}
|
||||
It holds that:
|
||||
\[
|
||||
\matr{D}^\text{IN} = \text{diag}(\matr{A}^T \vec{1})
|
||||
\quad
|
||||
\matr{D}^\text{OUT} = \text{diag}(\matr{A} \vec{1})
|
||||
\]
|
||||
where $\vec{1}$ is a vector of ones.
|
||||
\end{remark}
|
||||
|
||||
\begin{remark}
|
||||
A digraph is balanced iff $\matr{A}^T \vec{1} = \matr{A} \vec{1}$.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
\section{Laplacian matrix}
|
||||
|
||||
\begin{description}
|
||||
\item[(Out-degree) Laplacian matrix] \marginnote{Laplacian matrix}
|
||||
Matrix $\matr{L}$ defined as:
|
||||
\[ \matr{L} = \matr{D}^\text{OUT} - \matr{A} \]
|
||||
|
||||
\begin{remark}
|
||||
The vector $\vec{1}$ is always an eigenvector of $\matr{L}$ with eigenvalue $0$:
|
||||
\[ \matr{L}\vec{1} = (\matr{D}^\text{OUT} - \matr{A})\vec{1} = \matr{D}^\text{OUT}\vec{1} - \matr{D}^\text{OUT}\vec{1} = 0 \]
|
||||
\end{remark}
|
||||
|
||||
\item[In-degree Laplacian matrix] \marginnote{In-degree Laplacian matrix}
|
||||
Matrix $\matr{L}^\text{IN}$ defined as:
|
||||
\[ \matr{L}^\text{IN} = \matr{D}^\text{IN} - \matr{A}^T \]
|
||||
|
||||
\begin{remark}
|
||||
$\matr{L}^\text{IN}$ is the out-degree Laplacian of the reverse graph.
|
||||
\end{remark}
|
||||
\end{description}
|
||||
@ -0,0 +1,196 @@
|
||||
\chapter{Leader-follower networks}
|
||||
|
||||
|
||||
\begin{description}
|
||||
\item[Leader-follower network] \marginnote{Leader-follower network}
|
||||
Consider agents partitioned into $N_f$ followers and $N-N_f$ leaders.
|
||||
|
||||
The state vector can be partitioned as:
|
||||
\[ \x = \begin{bmatrix} \x_f \\ \x_l \end{bmatrix} \]
|
||||
where $\x_f \in \mathbb{R}^{N_f}$ are the followers' states and $\x_l \in \mathbb{R}^{N-N_f}$ the leaders'.
|
||||
|
||||
The Laplacian can also be partitioned as:
|
||||
\[
|
||||
\lap = \begin{bmatrix} \lap_f & \lap_{fl} \\ \lap_{fl}^T & \lap_l \end{bmatrix}
|
||||
\]
|
||||
where $\lap_f$ is the followers' Laplacian, $\lap_l$ the leaders', and $\lap_{fl}$ is the part in common.
|
||||
|
||||
Assume that leaders and followers run the same Laplacian-based distributed control law (i.e., an normal averaging system), the system can be formulated as:
|
||||
\[
|
||||
\begin{bmatrix} \dot{\x}_f(t) \\ \dot{\x}_l(t) \end{bmatrix} =
|
||||
- \begin{bmatrix} \lap_f & \lap_{fl} \\ \lap_{fl}^T & \lap_l \end{bmatrix}
|
||||
\begin{bmatrix} \x_f(t) \\ \x_l(t) \end{bmatrix}
|
||||
\]
|
||||
|
||||
\begin{example}
|
||||
Consider a path graph with four nodes:
|
||||
\[ 0 \leftrightarrow 1 \leftrightarrow 2 \leftrightarrow (3) \]
|
||||
The nodes $0, 1, 2$ are followers and $3$ is a leader. The system is:
|
||||
\[
|
||||
\begin{bmatrix}
|
||||
\dot{x}_1(t) \\ \dot{x}_2(t) \\ \dot{x}_3(t) \\ \dot{x}_4(t)
|
||||
\end{bmatrix} =
|
||||
\begin{bmatrix}
|
||||
\begin{tabular}{ccc|c}
|
||||
1 & -1 & 0 & 0 \\
|
||||
-1 & 2 & -1 & 0 \\
|
||||
0 & -1 & 2 & -1 \\
|
||||
\hline
|
||||
0 & 0 & -1 & 1 \\
|
||||
\end{tabular}
|
||||
\end{bmatrix}
|
||||
\begin{bmatrix}
|
||||
x_1(t) \\ x_2(t) \\ x_3(t) \\ x_4(t)
|
||||
\end{bmatrix}
|
||||
\]
|
||||
\end{example}
|
||||
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
\section{Containment}
|
||||
|
||||
\begin{description}
|
||||
\item[Containment] \marginnote{Containment}
|
||||
Task where leaders are stationary and the goal is to drive followers within the convex hull enclosing the leaders. Followers can communicate with agents of any type while leaders do not communicate.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=0.3\linewidth]{./img/_containment.pdf}
|
||||
\end{figure}
|
||||
|
||||
\item[Containment control law] \marginnote{Containment control law}
|
||||
Given $N_f$ followers and $N-N_f$ leaders, the control law to solve the containment task have:
|
||||
\begin{itemize}
|
||||
\item Followers running Laplacian dynamics.
|
||||
\item Leaders being stationary.
|
||||
\end{itemize}
|
||||
|
||||
The system is:
|
||||
\[
|
||||
\begin{aligned}
|
||||
\dot{x}_i(t) &= - \sum_{j \in \mathcal{N}_i} a_{ij} \big( x_i(t) - x_j(t) \big) & & \forall i \in \{ 1, \dots, N_f \} \\
|
||||
\dot{x}_i(t) &= 0 & & \forall i \in \{ N_f + 1, \dots, N \}
|
||||
\end{aligned}
|
||||
\]
|
||||
In matrix form, it becomes:
|
||||
\[
|
||||
\begin{split}
|
||||
\dot{\x}(t) &= - \lap \x(t) \\
|
||||
\begin{bmatrix} \dot{\x}_f(t) \\ \dot{\x}_l(t) \end{bmatrix} &=
|
||||
- \begin{bmatrix} \lap_f & \lap_{fl} \\ 0 & 0 \end{bmatrix}
|
||||
\begin{bmatrix} \x_f(t) \\ \x_l(t) \end{bmatrix} \\
|
||||
\dot{\x}_f(t) &= - \lap_f \x_f(t) - \lap_{fl} \x_l
|
||||
\end{split}
|
||||
\]
|
||||
where $\lap_f$ can be seen as the state matrix and
|
||||
$\lap_{fl}$ as the input matrix. The input $\x_l = \x_l(0) = \x_l(t)$ is constant.
|
||||
\end{description}
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:laplacian_positive_definite}
|
||||
If the interaction graph $G$ between leaders and followers is undirected and connected, then the followers' Laplacian $\lap_f$ is positive definite.
|
||||
|
||||
\begin{proof}
|
||||
We need to prove that:
|
||||
\[ \x_f^T \lap_f \x_f > 0 \quad \forall \x_f \neq 0 \]
|
||||
|
||||
As $G$ is undirected, it holds that:
|
||||
\begin{itemize}
|
||||
\item The complete Laplacian $\lap$ is symmetric and thus have real-valued eigenvalues.
|
||||
\item By \Cref{th:weighted_laplacian_eigenvalues}, all its non-zero eigenvalues are positive.
|
||||
\item By \Cref{th:connected_simple_eigenvalue}, as $G$ is connected, the eigenvalue $\lambda=0$ is simple.
|
||||
\end{itemize}
|
||||
Therefore:
|
||||
\begin{itemize}
|
||||
\item $\x^T \lap \x \geq 0$ as all eigenvalues are non-negative.
|
||||
\item $\x^T \lap \x = 0 \iff \vec{x} = \alpha\vec{1}$ for $\alpha \in \mathbb{R}$, as $\lambda=0$ is simple.
|
||||
\end{itemize}
|
||||
|
||||
The following two arguments can be made:
|
||||
\begin{enumerate}
|
||||
\item By choosing $\bar{\x} = \begin{bmatrix} \x_f & 0 \end{bmatrix}^T$, it holds that:
|
||||
\[
|
||||
\begin{aligned}
|
||||
\bar{\x}^T \lap \bar{\x} &\geq 0 & & \forall \bar{\x} \\
|
||||
\begin{bmatrix} \x_f & 0 \end{bmatrix}
|
||||
\begin{bmatrix}
|
||||
\lap_f & \lap_{fl} \\
|
||||
\lap_{fl}^T & \lap_{l} \\
|
||||
\end{bmatrix}
|
||||
\begin{bmatrix} \x_f \\ 0 \end{bmatrix} &\geq 0 & & \forall \x_f \\
|
||||
\x_f^T \lap_f \x_f &\geq 0 & & \forall \x_f
|
||||
\end{aligned}
|
||||
\]
|
||||
\item The only case when $\x^T \lap \x = 0$ for $\x \neq 0$ is with $\x = \alpha\vec{1}$ for $\alpha \neq 0$. As $\forall \x_f: \bar{\x} \neq \alpha\vec{1}$, it holds that $\forall \x_f: \x_f^T \lap_f \x_f \neq 0$.
|
||||
\end{enumerate}
|
||||
Therefore, $\lap_f$ is positive definite as $\forall \x_f \neq 0: \x_f^T \lap_f \x_f > 0$.
|
||||
\end{proof}
|
||||
\end{lemma}
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:laplacian_globally_exponentially_stable}
|
||||
It holds that $\dot{\x}_f = -\lap_f \x_f$ is globally exponentially stable (i.e., converges to $0$ exponentially).
|
||||
|
||||
\begin{proof}
|
||||
As $\lap_f$ is symmetric and positive definite by \Cref{th:laplacian_positive_definite}, its eigenvalues are real and positive. Therefore, $-\lap_f$ have real and negative eigenvalues, which is the condition of a globally exponentially stable behavior.
|
||||
\end{proof}
|
||||
\end{lemma}
|
||||
|
||||
\begin{theorem}[Containment] \phantomsection\label{th:containment_optimality}
|
||||
Given a leader-follower network such that:
|
||||
\begin{itemize}
|
||||
\item Followers run Laplacian dynamics,
|
||||
\item Leaders are stationary,
|
||||
\item The interaction graph $G$ is fixed, undirected, and connected.
|
||||
\end{itemize}
|
||||
It holds that all followers asymptotically converge to a state (not necessarily the same) within the convex hull containing the leaders.
|
||||
|
||||
\begin{proof}
|
||||
The proof is done in two parts:
|
||||
\begin{descriptionlist}
|
||||
\item[Unique globally asymptotically stable equilibrium]
|
||||
We want to prove that the followers' state $\x_f(t)$ converges to some value $\x_{f,E}$ for any initial state. The equilibrium can be found by solving:
|
||||
\[ 0 = -\lap_f \x_{f,E} - \lap_{fl} \x_l \]
|
||||
where $\dot{\x}_f = 0$ (i.e., reached convergence) and $\x_{f,E}$ is the equilibrium state.
|
||||
|
||||
By \Cref{th:laplacian_positive_definite}, $\lap_f$ is positive definite and thus invertible, therefore, we have that:
|
||||
\[ \x_{f,E} = -\lap_f^{-1} \lap_{fl} \x_l \]
|
||||
|
||||
Let $\vec{e}(t) = \x_f(t) - \x_{f,E}$ (intuitively, the distance to equilibrium). As the rate of change of $\vec{e}(t)$ depends only on $\x_f(t)$ (i.e., $\dot{\vec{e}}(t) = \dot{\x}_f(t)$), we have that:
|
||||
\[
|
||||
\begin{split}
|
||||
\dot{\vec{e}}(t) &= \dot{\x}_f(t) \\
|
||||
&= -\lap_f \x_f(t) - \lap_{fl} \x_l \\
|
||||
&= -\lap_f (\vec{e}(t) + \x_{f,E}) - \lap_{fl} \x_l \\
|
||||
&= -\lap_f \vec{e}(t) + \cancel{\lap_f \lap_f^{-1} \lap_{fl} \x_l} - \cancel{\lap_{fl} \x_l} \\
|
||||
\end{split}
|
||||
\]
|
||||
|
||||
\begin{lemma} \phantomsection\label{th:lti_stability_equilib_traj}
|
||||
Any equilibrium or trajectory based on an LTI system enjoys the same stability property of that system.
|
||||
\end{lemma}
|
||||
|
||||
As \Cref{th:laplacian_globally_exponentially_stable} states that $\dot{\x}_f = -\lap_f \x_f$ is globally asymptotically stable, by \Cref{th:lti_stability_equilib_traj}, it holds that $\dot{\vec{e}}(t) = -\lap_f \vec{e}(t)$ is also a globally asymptotically stable system and $\x_{f,E}$ is the unique globally stable equilibrium of the followers' dynamics.
|
||||
|
||||
\item[Equilibrium within convex hull]
|
||||
We want to prove that each element of $\x_{f,E}$ falls within the convex hull of the leaders.
|
||||
|
||||
For simplicity, let us denote the states vector as $\x_E = \begin{bmatrix} \x_{f,E} & \x_l \end{bmatrix}^T$ and its $i$-th component as $x_{E,i}$.
|
||||
|
||||
The dynamics at convergence of the $i$-th follower is:
|
||||
\[ 0 = - \sum_{j=1}^N a_{ij} (x_{E,i} - x_{E,j}) \quad \forall i \in \{ 1, \dots, N_f \} \]
|
||||
Therefore, we have that:
|
||||
\[
|
||||
\begin{aligned}
|
||||
\left( \sum_{j=1}^N a_{ij} \right) x_{E,i} &= \sum_{j=1}^N a_{ij} x_{E,j} & & \forall i \in \{ 1, \dots, N_f \} \\
|
||||
x_{E,i} &= \sum_{j=1}^N \frac{a_{ij}}{\sum_{k=1}^N a_{ik}} x_{E,j} & & \forall i \in \{ 1, \dots, N_f \} \\
|
||||
\end{aligned}
|
||||
\]
|
||||
As $\frac{a_{ij}}{\sum_{k=1}^N a_{ik}}$ define a convex combination (i.e., sum of all of them is $1$), each follower's equilibrium $x_{E,i}$ belongs to the convex hull of all the other agents (both leaders and followers). As leaders are stationary, they are not affected by this constraint and it can be concluded that followers' equilibria fall within the convex hull of the leaders.
|
||||
\end{descriptionlist}
|
||||
\end{proof}
|
||||
\end{theorem}
|
||||
|
||||
\begin{remark}[Leader-follower containment weakness]
|
||||
The final part of the proof of \Cref{th:containment_optimality} also shows that if there is an adversarial follower that does not change its state, all others will converge towards it.
|
||||
\end{remark}
|
||||
Reference in New Issue
Block a user