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 satises Á(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