Presentation (PowerPoint File)

advertisement
IPAM Workshop
on
Swarming by Nature and by Design
thanks to the organizers:
A. Bertozzi
D. Grunbaum
P. S. Krishnaprasad
I . Schwartz
UCLA
March 2, 2006
IPAM Workshop
on
Swarming by Nature and by Design
Reaching a Consensus
in a
Dynamically Changing Environment
A. S. Morse
Yale University
M. Cao
&
B. D. O. Anderson
UCLA
March 2, 2006
CRAIG REYNOLDS - 1987
leader - follower
queue
CRAIG REYNOLDS - 1987
neighborhood
separation
alignment
cohesion
Motivated by simulation results reported in the paper:
Vicsek et al. simulated a flock of n agents {particles} all moving in
the plane at the same speed s, but with different headings 1, 2, …. n
s
s = speed
i
i = heading
Each agent’s heading is updated at the same time as the rest using a local rule
based on the average of its own current heading plus the headings of its
“neighbors.”
Vicsek’s simulations demonstrated that these nearest neighbor rules can
cause all agents to eventually move in the same direction despite the
absence of a leader and/or centralized coordination and despite the fact
that each agent’s set of neighbors changes with time.
A theoretical explanation for this observed behavior can be found in
Jadbabaie, Lin & Morse, IEEE TAC, June 2003
L. Moreau
W. Ren and R. Beard
D. Angeli and P. A. Bliman
V. D. Blondell, J. M. Hendrichx, A. Olshevsky, and J. N. Tsitsiklis
each agent is a neighbor of itself
ri
neighbors of
agent i
agent i
HEADING UPDATE EQUATIONS
s
s = speed
i
 i = heading
Ni (t) = set of indices of agents i’s “neighbors” at time t
ni(t) = number of indices in Ni(t)
Average at time t of headings of neighbors of agent i.
Neighbor Graphs
V = agent index set ={1, 2, …, n}
N (t) = {V, A(t)} - a directed graph with vertex set V and arc set A(t)
(j, i) 2 A(t) if j is a neighbor of i in Ni(t)
i
j
1
All vertices have self-arcs
(1,2)
2
Gsa = set of all directed graphs
with vertex set V and self-arcs at
all vertices
3
4
5
7
6
Matrix Representation of N = {V, A } 2Gsa
adjacency matrix A =[aij]n£ n
aij = 1 if i is a neighbor of j
aij = 0 otherwise
D = diagonal {d1, d2, …., dn}n£n
di = in-degree of vertex i
1
(1,2)
2
3
4
5
7
6
in-degree = 1
in-degree = 2
State Space Equation
adjacency matrix A =[aij]n£ n
aij = 1 if i is a neighbor of j
aij = 0 otherwise
D = diagonal {d1, d2, …., dn}n£n
1
(1,2)
2
3
4
5
7
6
D(t) and A(t) are respectively
the in-degree matrix and adjacency
matrix of N(t).
A switched
linear system
Induced infinity norm of
n£n nonnegative
matrix Q, written ||Q||,
is largest of Q’s row sums
||F|| = 1
1. non-negative entries
2. row sums all = 1
stochastic
F1 = 1
1
Problem reduces to determining conditions under which
where
For if this is so, then
where
and so
Problem reduces to determining conditions under which
S = set of all n £ n stochastic matrices with positive diagonal elements.
S is closed under multiplication.
All n £ n flocking matrices F are in S
Therefore its sufficient to determine conditions on sequence of matrices
S1, S2, .... in S for
S = set of all n £ n stochastic matrices.
Therefore its sufficient to determine conditions on sequence of matrices
S1, S2, .... in S for
S = set of all n £ n stochastic matrices.
Therefore its sufficient to determine conditions on sequence of matrices
S1, S2, .... in S for
This is a well studied problem in the theory of non-homogeneous Markov Chains
For any S 2 S one can write
S = 1bSc + uSv
wherebSc = the largest row vector c1£ n for which S - 1c is non-negative and
uSv = S - 1bSc
One can also write S = 1dSe - wSx where dSe is the smallest row vector for c
which 1c – S is non-negative and wSx = 1dSe – S.
Let
[S] = uSv + wSx
Then
uSv · [S]
It can be shown for any pair of n£n stochastic matrices S1 and S2 that
[S2S1] · (S2)[S1]
scrambling constant
For any S 2 S one can write
S = 1bSc + uSv
wherebSc = the largest row vector c1£ n for which S - 1c is non-negative and
uSv = S - 1bSc
Thus for any sequence of matrices S1,S2,.... in S
 Sj  S2S1 = 1b  Sj  S2S1c + u  Sj  S2S1 v
uSv · [S]
It can be shown for any pair of n£n stochastic matrices S1 and S2 that
[S2S1] · (S2)[S1]
[Sj  S2S1] · (Sj)(Sj - 1)(S2)[S1]
uSj  S2S1 v · (Sj)(Sj - 1)(S2)[S1]
||uSj  S2S1 v|| · (Sj)(Sj - 1)(S2)||[S1]||
Thus for any sequence of matrices S1,S2,.... in S
 Sj  S2S1 = 1b  Sj  S2S1c + u  Sj  S2S1 v
Therefore the product Sj  S1 converges to 1c where
if and as fast as the product (Sj)(Sj - 1)(S2) converges to 0.
||uSj  S2S1 v|| · (Sj)(Sj - 1)(S2)||[S1]||
RE-CAP
The state  of
converges to SS1 as t ! 1 as fast as the product
(F(t))(F(t -1)) (F(0))
converges to 0 where for any n£n flocking matrix F = [fij ], (F) is the scrambling
constant
Transitioning from Matrices to Graphs
For S 2 S, graph(S) is that graph whose adjacency matrix is the
transpose of the matrix which results when all non-zero entries in S
are replaced by 1s.
In general, graph(F) = N,
N 2Gsa
Convergence {and worst case convergence rates} can be decided completely
in terms of graphs without any reference at all to stochastic matrices, linearity or
the like.
This is especially important because it allows one to consider flocking {consensus}
problems which are nonlinear – e.g., the work of Tanner, Jadbabaie &
Pappas which explains Reynold’s academy award winning animation algorithms.
Neighbor-Shared Directed Graph
A neighbor shared graph is a directed graph in which each pair of distinct vertices
share a common neighbor
3
2
1
1 and 2 share 2
1 and 3 share 2
1 and 4 share 4
2 and 3 share 2
2 and 4 share 4
3 and 4 share 1
4
Worst Case Convergence Rate for Products of Flocking Matrices
F = D¡1 A0
A = [aij]
D = diagonal {d1, d2, …, dn}n£ n
graph(F) = N
aij = 1
aij = 0
if i is a neighbor of j
otherwise
di = in-degree of vertex i
Since all di · n, all non-zero fij satisfy
Worst Case Convergence Rate for Products of Flocking Matrices
F = D¡1 A0
graph(F) = N
Suppose N neighbor shared
A = [aij]
D = diagonal {d1, d2, …, dn}n£ n
aij = 1
aij = 0
if i is a neighbor of j
otherwise
di = in-degree of vertex i
Since all di · n, all non-zero fij satisfy
Fix distinct i and j and let k be a shared neighbor. Then fik  0  fjk.
Worst Case Convergence Rate for Products of Flocking Matrices
F = D¡1 A0
Suppose N neighbor shared
graph(F) = N
n¸3
Vertex 1 has only itself as a neighbor
Vertex 2 has every vertex as a neighbor
For i > 2, vertex i has only itself and vertex 1 as neighbors
3
4
2
1
How tight is this bound?
Summary
Neighbor-Shared Graphs
Every infinite product of n £ n flocking matrices with neighbor-shared graphs
converges to a rank-one matrix product 1c at a rate no slower than
There exist infinite product of n £ n flocking matrices with neighbor-shared graphs
which actually converge to a rank-one matrix product 1c at this rate.
Rooted Graph
A root of a directed graph is a vertex i for which, for each other vertex j in the
graph, there is a directed path from i to j.
3
4
2
1
A rooted graph is a directed graph with at least one root.
Any neighbor-shared graph is rooted.
By the composition of a graph G1 with a graph G2, written G2 ±G1,
is meant that graph which has an arc from i to j just in case there is a vertex k
for which G1 has an arc from i to k and G2 has an arc from k to j.
graph(S2S1) = graph(S2) ± graph(S1)
The composition of n – 1 or more rooted graphs in Gsa is neighbor shared.
Need Some Facts About Stochastic Matrices
 (S) = smallest nonzero entry in S
(S2S1) ¸ (S2)(S1)
If graph(S) = neighbor - shared
(S) · 1 - (S)
If S1, S2, …. Sm are stochastic matrices for which (Si) ¸ b, i 2 {1, 2, …, m},
then (SmSm-1 S1) ¸ bm.
The composition of n – 1 or more rooted graphs in Gsa is neighbor shared.
If m ¸ n – 1 and each Si has a rooted graph, then the graph of SmSm-1 S1
is neighbor - shared.
Thus if m ¸ n – 1 and each Si is rooted and satisfies (Si) ¸ b, then
¹(Sm Sm¡1 ¢ ¢ ¢ S1 ) · 1 ¡ bm
Each ocking matrix F is stochastic and satises Á(F ) ¸ 1
n
Thus if F1, F2, …, Fm are m = n – 1 flocking matrices with rooted graphs N1, N2, …, Nm
respectively, then Nm±Nm-1±±N1 is neighbor – shared³and
´ ¡
¹(Fm Fm¡1 ¢ ¢ ¢ F1 ) · 1 ¡
1 n 1
n
This implies that an infinite product of n £ n flocking matrices whose graphs
are all rooted must converge at a rate no slower than
n
1
¡¡ ¢
¡
1 n 1
n
o
1
n¡1
Thus if m ¸ n – 1 and each Si is rooted and satisfies (Si) ¸ b, then
¹(Sm Sm¡1 ¢ ¢ ¢ S1 ) · 1 ¡ bm
Summary
Rooted Graphs
Every infinite product of n £ n flocking matrices with rooted graphs
converges to a rank-one matrix product 1c at a rate no slower than
n
1
¡¡ ¢
¡
1 n 1
n
o
1
n¡1
While there no not exist infinite products of n £ n flocking matrices with rooted graphs
which actually converge at this rate, there do exist infinite products of n £ n
stochastic matrices with rooted graphs which do.
Strongly Connected Graphs
Main Results
A strongly connected graph is a graph for which for each distinct pair of vertices
i and j, there is a directed path from i to j.
A strongly connected graph is a rooted graph in which every vertex is a root.
Every infinite product of n £ n flocking matrices with strongly connected graphs
converges to a rank-one matrix product 1c at a rate no slower than
© ¡¡ ¢ ª1
1 m m
1
n
where m is the unique integer quotient of n divided by 2.
While there no not exist infinite products of n £ n flocking matrices with
strongly connected graphs which actually converge at this rate, there do exist infinite
products of n £ n stochastic matrices with strongly connected graphs which do.
Agreeing Asynchronously
Vicsek et al. simulated a flock of n agents {particles} all moving in
the plane at the same speed s, but with different headings 1, 2, …. n
s
s = speed
i
i = heading
at the
the same
same time
time as
as the
the rest
rest using a local rule
Each agent’s heading is updated at
based on the average of its own current heading plus the headings of its
“neighbors.”
What happens if each agent updates independent of the rest according to its
own clock?
How might one go about analyzing such an asynchronous system?
Update Rule for Agent i’s Heading i
Agent i’s event times = 0, ti1, ti2, ti3, …
assumed to satisfy
Event times not nec. evenly spaced or synchronized with other agents’ event times.
At tik agent i computes its ith way-point
number of labels in Ni(tik)
labels of agent i’s
neighbors at tik
and updates its heading on (tik, ti(k+1)]
i(tik)
i(ti(k+1)) = wi(tik)
waypoint
i
ti1
i
1
0
ti2
ti3
ti4 ti5
Can combine agent i’s two update equations to get the familiar update equation
This formula tells how i evolves only on agent i’s event time set.
But to use this formula we need to know values of the j at agent i’s event times
In the synchronous case where event times are the same for all agents,
the tik are independent of i, and the preceding update equations are sufficient.
For the asynchronous case a common time scale is needed …..
A Common Time Scale
T = set of all event times tik of all n agents
Re-label the elements of T as t0, t1, t2, … where t0 = 0 and t < t +1 for  2 {0, 1, 2, …}
agent
1
t11
t12
t13
t14
t15
t16
interacting
agent
2
t21 t22
t23
t24
t25
t26 t27
agent
1
T=
agent
2
t21
t22
1
2
t11
3
t23
4
t12
5
t24
t13
6
7
t14
8
t25
9
t15
12 t16
11 t27
10 t26
13
A Common Time Scale
T = set of all event times tik of all n agents
Relabel the elements of T as t0, t1, t2, … where t0 = 0 and t < t +1 for  2 {0, 1, 2, …}
Define Agent i’s Neighbor Between its Event times
Ti = set of t 2T for which t is an event time of agent i
Neighbor Graphs
V = agent index set ={1, 2, …, n}
N () = {V, A()} - a directed graph with vertex set V and arc set A()
(j, i) 2 A() if j is a neighbor of i in
1
All vertices have self-arcs
(1,2)
2
3
4
5
7
6
A Few Thing About Directed Graph
A directed graph G is rooted at vertex i if for each other vertex j in the graph,
there is a directed path from i to j.
A directed graph G is strongly rooted at vertex i if for each other vertex j in the
graph, there is a directed arc from i to j.
A directed graph is rooted if it is rooted at least one vertex.
A directed graph is strongly rooted if it is strongly rooted at least one vertex.
strongly rooted at
3 roots
Compositions of Directed Graph
It is easy to show that every arc in either of two given graphs G1 and G2 is in
their composition provided G1 and G2 have self-arcs at all vertices.
Thus the set of all directed graphs on n vertices with self arcs at each vertex,
namely Gsa, is closed under composition.
Two more definitions…
A finite sequence of graphs G1, G2, ….,Gm is jointly rooted if Gm ±± G1 is
a rooted graph.
An infinite sequence of graphs G1, G2, …. is repeatedly jointly rooted if there is a
finite integer m such that each sequence G1+mk, G2 +mk, …,G(m+1)k, k ¸ 0, is
jointly rooted.
The Update Equations Again
Combining the two gives
In the synchronous case event times tik are independent of i so setting tk = tik gives
CONVERGENCE
Synchronous Case: For any trajectory of the synchronous system
along which the sequence of neighbor graphs N(0), N(1), …. is repeatedly jointly rooted,
there is a constant ss to which each agent’s heading i converges exponentially fast.
Asynchronous Case: For any trajectory of the asynchronous system
i 2 {1, 2, … ,n}
along which the sequence of neighbor graphs N(0), N(1), …. is repeatedly jointly rooted,
there is a constant ss to which each agent’s heading i converges exponentially fast.
Analytic Synchronization
The n mutually unsynchronized processes below, P1, P2, …Pn together constitute
the asynchronous system to be analyzed via “analytic synchronization.”
Merge all event time sequences into a single ordered sequence T.
Define the neighbor of each agent to be itself between its event times
Define the “synchronized state” of Pi at event times t 2 to be the original
unsynchronized state of Pi at these times plus possibly some additional variables.
At times in T between two successive event times in Ti, define the state
of Pi to be constant at the same value as at the first of these two event times.
Analyze the synchronous system S comprised of the n synchronized Pi
i 2 {1, 2, … ,n}
Synchronizing Pi
For each event time tq 2Ti, define
where for t 2 Ti
where tq0 is the first event time in Ti after tq
Can show that these variable evolve on all of T as
i 2 {1, 2, … ,n}
Defining the Synchronous System S Comprised of the n Synchronized Pi
stochastic matrix
Asynchronous Flocking Matrices
R= set of all lists of n real numbers r = {r1, r2, …., rn} where ri 2 [0, 1]
B= set of all lists of n integers b = {b1, b2, …., bn} where bi 2 {0, 1}
It is possible to construct a function,
 :Gsa £ R £ B ! set of all 2n £ 2n stochastic matrices
which is continuous on R, such that
S( ) = (N(), (), b())
where
Note that the set of all asynchronous flocking matrices, namely image of ,
is compact because R is closed.
To prove that all i converge to a common heading ss can be shown to be
equivalent to proving that call 2n entries xi in x converge to ss.
Thus as before the problem reduces to determining conditions under which
Basic Convergence Result
Any product of stochastic matrices from a closed set converges exponentially fast to
a matrix of the form 1c provided all matrices in the set have strongly rooted graphs.
This result can be applied to the consensus problem under consideration if we
can find an integer m for which the graphs of the matrices
are all strongly rooted.
This is because
But the product of m stochastic matrices will have a strongly rooted graph iff
the composition of the graphs of the m matrices in the product is rooted.
So when is the composition of m graphs rooted?
Let G1, G2,…, Gm be a finite sequence of rooted graphs with the same vertex set.
If each vertex of each graph has a self arc and m ¸ (n - 1)2, then Gm±Gm-1± ± G1
is strongly rooted.
The graph of a typical asynchronous flocking matrix for a 4 agent system
might look like this:
7
3
1
5
4
2
8
6
This graph would be encountered along a trajectory at a time 
coinciding with event times of agents 1 and 3, but not agents 2 or 4.
Note that vertices 1 and 3 do not have self-arcs.
Thus the above result is not directly applicable to the asynchronous problem
7
3
1
5
4
2
6
8
7
S8£8
3
N
1
5
4
2
8
6
quotient graph
3
1
4
2
=N
Vicsek Model
Bifurcation
Leader Follower
Red Leader
Download