Algorithmes Naturels et Systèmes d’Influence Bernadette Charron-Bost CNRS, Ecole Polytechnique, France 12 septembre 2013 1/29 Le monde du vivant s’exprime dans le langage des algorithmes 2/29 Le monde du vivant s’exprime dans le langage des algorithmes Pourquoi le ciel est bleu ? vs. Pourquoi les tomates sont rouges ? 2/29 Partie I : algorithmes de consensus Partie II : systèmes d’influence 3/29 Consensus dans un système multiagents 4/29 Consensus dans un système multiagents I N agents notés 1, · · · , N 5/29 Consensus dans un système multiagents I N agents notés 1, · · · , N I Une horloge globale à tic discret, à valeurs dans N 5/29 Consensus dans un système multiagents I N agents notés 1, · · · , N I Une horloge globale à tic discret, à valeurs dans N I Une suite infinie de graphes dirigés : G0 , G1 , . . . , Gt , . . . Gt = [N ] , Et 5/29 Consensus dans un système multiagents I N agents notés 1, · · · , N I Une horloge globale à tic discret, à valeurs dans N I Une suite infinie de graphes dirigés : G0 , G1 , . . . , Gt , . . . Gt = [N ] , Et I L’état de l’agent i est capturé par une variable xi dont la valeur à l’instant t est noté xi (t) ∈ Rd 5/29 Consensus dans un système multiagents I N agents notés 1, · · · , N I Une horloge globale à tic discret, à valeurs dans N I Une suite infinie de graphes dirigés : G0 , G1 , . . . , Gt , . . . Gt = [N ] , Et I L’état de l’agent i est capturé par une variable xi dont la valeur à l’instant t est noté xi (t) ∈ Rd=1 5/29 Consensus dans un système multiagents I N agents notés 1, · · · , N I Une horloge globale à tic discret, à valeurs dans N I Une suite infinie de graphes dirigés : G0 , G1 , . . . , Gt , . . . Gt = [N ] , Et I L’état de l’agent i est capturé par une variable xi dont la valeur à l’instant t est noté xi (t) ∈ Rd=1 I À chaque instant t ≥ 1, chaque agent i échange sa valeur avec ses voisins dans Gt et met à jour xi à partir des valeurs dont il vient de prendre connaissance 5/29 Consensus dans un système multiagents (suite) X xi (t + 1) = Ai j (t) xj (t) j∈Outi (Gt ) avec P j∈Outi (Gt ) Ai j (t) = 1 6/29 Consensus dans un système multiagents (suite) xi (t + 1) = X Ai j (t) xj (t) j∈Outi (Gt ) avec P j∈Outi (Gt ) Ai j (t) = 1 et Ai j (t) ≥ α 6/29 Consensus dans un système multiagents (suite) xi (t + 1) = X Ai j (t) xj (t) j∈Outi (Gt ) avec P j∈Outi (Gt ) Ai j (t) = 1 et Ai j (t) ≥ α x(t + 1) = A(t) x(t) avec A matrice stochastique à coefficients dans {0} ∪ [α, 1] 6/29 Consensus dans un système multiagents (suite) x(t + 1) = A(t) x(t) avec A matrice stochastique à coefficients dans {0} ∪ [α, 1] xi (t + 1) ∈ (1 − α)mi (t) + αMi (t) , αmi (t) + (1 − α)Mi (t) avec mi (t) = min{xj (t) : j ∈ Outi (Gt )} Mi (t) = max{xj (t) : j ∈ Outi (Gt )} 6/29 Objectif : Théorème : L’algorithme EC réalise parmi les agents un consensus asymptotique 7/29 Objectif : Théorème : L’algorithme EC réalise parmi les agents un consensus asymptotique x(t + 1) = P(t) x(0) P(t) = A(t) . . . A(0) 7/29 Objectif : Théorème : L’algorithme EC réalise parmi les agents un consensus asymptotique x(t + 1) = P(t) x(0) P(t) = A(t) . . . A(0) Théorème : La suite des matrices (stochastiques) P(t) t≥0 converge vers une matrice (stochastique) de rang 1 7/29 Partie I.a : Convergence et consensus 8/29 Hypothèses A1: Chaque matrice A(t) est stochastique A2: Pour chaque agent agent i et à tout instant t, Ai i (t) > 0 A3: Les coefficients non nuls des matrices A(t) sont uniformément bornés inférieurement par un certain α>0 Ai j (t) ∈ {0} ∪ [α, 1] 9/29 Graphe de communication La matrice A(t) est une matrice d’adjacence du graphe Gt : Ai j (t) > 0 ssi (i, j) ∈ Et 10/29 Graphe de communication La matrice A(t) est une matrice d’adjacence du graphe Gt : Ai j (t) > 0 ssi (i, j) ∈ Et NB1 : attention au sens des arcs ! 10/29 Graphe de communication La matrice A(t) est une matrice d’adjacence du graphe Gt : Ai j (t) > 0 ssi (i, j) ∈ Et NB1 : attention au sens des arcs ! NB2 : L’hypothèse A2 correspond à l’existence d’auto-boucle à chaque nœud 10/29 Des résultats I Théorème de Perron-Frobenius ∀t ∈ N, A(t) = A où A est ergodique 11/29 Des résultats I Théorème de Perron-Frobenius ∀t ∈ N, A(t) = A où A est ergodique I Théorème de Wolfowitz 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz ∀t ∈ N, A(t) ∈ M où M est fini et chaque produit fini de matrices de M est ergodique 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz I Modèle d’interactions bornées [Tsitsiklis 84] ∀t ∈ N, A(t + Φ) · · · A(t) > 0 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz I Modèle d’interactions bornées [Tsitsiklis 84] 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz I Modèle d’interactions bornées [Tsitsiklis 84] I Modèle coordonné [Cao, Spielman, Morse 05] ∀t ∈ N, Gt est orienté 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz I Modèle d’interactions bornées [Tsitsiklis 84] I Modèle coordonné [Cao, Spielman, Morse 05] I Modèle bidirectionnel connecté [Moreau 05] 1. ∀t ∈ N, Gt est bidirectionnel 2. ∀s ∈ N, ∪t≥s Gt est fortement connexe 11/29 Des résultats I Théorème de Perron-Frobenius I Théorème de Wolfowitz I Modèle d’interactions bornées [Tsitsiklis 84] I Modèle coordonné [Cao, Spielman, Morse 05] I Modèle bidirectionnel connecté [Moreau 05] I Modèle décentralisé [Touri, Nedic̀ 11] et [Hendrickx, Tsitsiklis 11] 1. ∀t ∈ N, Gt est semi-simple 2. ∀s ∈ N, ∪t≥s Gt est fortement connexe Peut-on se dispenser de la condition 2 de connexité ? 11/29 Le rôle des auto-boucles (A2) 12/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Le rol̂e des auto-boucles (A2) 13/29 Partie I.b : Vitesse de convergence 14/29 Vitesse de convergence 15/29 Vitesse de convergence Un petit calcul dans le cas constant (où A(t) = A) : kx(t) − x ∗ k 15/29 Vitesse de convergence Un petit calcul dans le cas constant (où A(t) = A) : kx(t) − x ∗ k = kAt x(0) − A∞ x(0)k 15/29 Vitesse de convergence Un petit calcul dans le cas constant (où A(t) = A) : kx(t) − x ∗ k = kAt x(0) − A∞ x(0)k ≤ kAt − A∞ k kx(0)k 15/29 Vitesse de convergence Un petit calcul dans le cas constant (où A(t) = A) : kx(t) − x ∗ k = kAt x(0) − A∞ x(0)k ≤ kAt − A∞ k kx(0)k ≤ kAt k kI − A∞ k kx(0)k 15/29 Vitesse de convergence Un petit calcul dans le cas constant (où A(t) = A) : kx(t) − x ∗ k = kAt x(0) − A∞ x(0)k ≤ kAt − A∞ k kx(0)k ≤ kAt k kI − A∞ k kx(0)k Théorème de Gelfand : kAt k∼ (ρA )t où ρA est le rayon spectral de la restriction de A à un supplémentaire de R 1 15/29 Vitesse de convergence I Taux de convergence : ρ= sup (kx(t) − x ∗ k)1/t x(0) ∈ / R1 ∧ x(0) ∈ B 16/29 Vitesse de convergence I Taux de convergence : ρ= sup (kx(t) − x ∗ k)1/t x(0) ∈ / R1 ∧ x(0) ∈ B I Temps de convergence : T () = inf{τ : ∀t ≥ τ, ∀x(o) ∈ B, kx(t) − x ∗ k≤ } 16/29 Le cas constant réversible 17/29 Le cas constant réversible En particulier : 1. G est bidirectionnel 2. Ai j = 1/δi , ∀i ∈ [N], ∀j ∈ Ni 17/29 Le cas constant réversible En particulier : 1. G est bidirectionnel 2. Ai j = 1/δi , ∀i ∈ [N], ∀j ∈ Ni Théorème [Olshevsky, Tsitsiklis 11] : Si λ1 = 1 > λ2 ≥ · · · ≥ λN sont les valeurs propres de A, alors ρ = max(|λ2 | , |λN |) et TN () = Ω(N 3 log N ) 17/29 Le cas général Deux problèmes : 1. A(t) non réversible, non constant 18/29 Le cas général Deux problèmes : 1. A(t) non réversible, non constant 2. Paliers de longueur arbitraires où il n’y a pas de progression A(t) = · · · = A(t + θ) = I 18/29 Le cas général Deux problèmes : 1. A(t) non réversible, non constant 2. Paliers de longueur arbitraires où il n’y a pas de progression A(t) = · · · = A(t + θ) = I [Chazelle 11] : Pour chaque x(0) ∈ B, X X E (s) = |xi (t) − xj (t)|s t≥0 (i,j)∈Et 18/29 Le cas général Théorème [Chazelle 11] : L’énergie pour l’algorithme EC dans un système bidirectionnel avec N agents et un état initial x(0) ∈ B vérifie −O(N) si s = 1 α E (s) ≤ 1−N −N 2 +O(1) s α si 0 < s < 1 19/29 Le cas général Théorème [Chazelle 11] : L’énergie pour l’algorithme EC dans un système bidirectionnel avec N agents et un état initial x(0) ∈ B vérifie −O(N) si s = 1 α E (s) ≤ 1−N −N 2 +O(1) s α si 0 < s < 1 Corollaire [Chazelle 11] : Le nombre de pas -significatif de l’algorithme EC dans un système bidirectionnel avec N agents et un état initial x(0) ∈ B vérifie TN∗ () ≤ 1 1−N α N et cette borne est optimale 19/29 Le cas général Théorème [Chazelle 11] : L’énergie pour l’algorithme EC dans un système bidirectionnel avec N agents et un état initial x(0) ∈ B vérifie −O(N) si s = 1 α E (s) ≤ 1−N −N 2 +O(1) s α si 0 < s < 1 20/29 Le cas général Théorème [Chazelle 11] : L’énergie pour l’algorithme EC dans un système bidirectionnel avec N agents et un état initial x(0) ∈ B vérifie −O(N) si s = 1 α E (s) ≤ 1−N −N 2 +O(1) s α si 0 < s < 1 Notion de preuve algorithmique (s = 1) 20/29 Une preuve algorithmique élémentaire µ 6= µOPT ≡ ∃i ∈ [6], ∃j ∈ [7] : j > i ∧ µi 6= Mi ∧ µj 6= 0 21/29 Une preuve algorithmique élémentaire FOR i = 1 to 6 DO IF µi 6= Mi THEN j ←i +1 WHILE j ≤ 7 DO IF µi + µj ≤ Mi THEN (µi , µj , j) ← (µi + µj , 0 , j + 1) ELSE (µi , µj , j) ← (Mi , µj − Mi + µi , 8) 21/29 Une preuve algorithmique élémentaire I Nombre fini d’itérations ( ≤ 21) 22/29 Une preuve algorithmique élémentaire I Nombre fini d’itérations ( ≤ 21) I À chaque itération, la rentabilité augmente 22/29 Une preuve algorithmique élémentaire I Nombre fini d’itérations ( ≤ 21) I À chaque itération, la rentabilité augmente I L’algorithme se termine avec µ = µOPT 22/29 Une preuve algorithmique élémentaire I Nombre fini d’itérations ( ≤ 21) I À chaque itération, la rentabilité augmente I L’algorithme se termine avec µ = µOPT C.Q.F.D. 22/29 Partie II : Systèmes d’influence 23/29 Systèmes d’influence I algorithme de communication: chaque agent détermine ses voisins sortants (ceux dont il veut dépendre) N x ∈ Rd −→ Ni+ (x) 24/29 Systèmes d’influence I algorithme de communication: chaque agent détermine ses voisins sortants (ceux dont il veut dépendre) N x ∈ Rd −→ Ni+ (x) I Ni+ (x) i=1...N G (x) = ([N], E (x)) (système endogène) 24/29 Systèmes d’influence I algorithme de communication: chaque agent détermine ses voisins sortants (ceux dont il veut dépendre) N x ∈ Rd −→ Ni+ (x) I I Ni+ (x) i=1...N G (x) = ([N], E (x)) (système endogène) algorithme distribué, éventuellement compliqué qui s’exprime en logique du 1er ordre 24/29 Systèmes d’influence I un algorithme de communication: N x ∈ Rd −→ G (x) 25/29 Systèmes d’influence I un algorithme de communication: N x ∈ Rd −→ G (x) I une action: chaque agent effectue une action locale qui ne dépend que de l’état de ses voisins sortants N fi : x ∈ Rd −→ fi (x1 , . . . , xj , . . . , xk , . . . , xk , . . . , xN ) où Ni+ (x) = {j, i, k} 25/29 Systèmes d’influence I un algorithme de communication: N x ∈ Rd −→ G (x) I une action: chaque agent effectue une action locale qui ne dépend que de l’état de ses voisins sortants N fi : x ∈ Rd −→ fi (x1 , . . . , xj , . . . , xk , . . . , xk , . . . , xN ) où Ni+ (x) = {j, i, k} I toutes les fonctions fi peuvent être différentes (6= physique) 25/29 Systèmes d’influence I un algorithme de communication: N x ∈ Rd −→ G (x) I une action: chaque agent effectue une action locale qui ne dépend que de l’état de ses voisins sortants N fi : x ∈ Rd −→ fi (x1 , . . . , xj , . . . , xk , . . . , xk , . . . , xN ) où Ni+ (x) = {j, i, k} I toutes les fonctions fi peuvent être différentes (6= physique) I algorithmes généralement très simples 25/29 Systèmes d’influence I un algorithme de communication: N x ∈ Rd −→ G (x) I une action: chaque agent effectue une action locale qui ne dépend que de l’état de ses voisins sortants N fi : x ∈ Rd −→ fi (x1 , . . . , xj , . . . , xk , . . . , xk , . . . , xN ) où Ni+ (x) = {j, i, k} I toutes les fonctions fi peuvent être différentes (6= physique) I algorithmes généralement très simples systèmes diffusifs : chaque fi est une combinaison linéaire convexe 25/29 Le modèle (diffusif) de Hegselmann-Krause “Nous sommes principalement influencés par nos semblables” [French, de Groot, Lehrer, Wagner, Cohen, Friedkin, Johnsen, Weisbuch, Dittmer, Hegselmann, Krause] 26/29 Le modèle (diffusif) de Hegselmann-Krause “Nous sommes principalement influencés par nos semblables” [French, de Groot, Lehrer, Wagner, Cohen, Friedkin, Johnsen, Weisbuch, Dittmer, Hegselmann, Krause] Formellement, j ∈ Ni+ (x) ⇔ |xi − xj |< r 26/29 Le modèle (diffusif) de Hegselmann-Krause “Nous sommes principalement influencés par nos semblables” [French, de Groot, Lehrer, Wagner, Cohen, Friedkin, Johnsen, Weisbuch, Dittmer, Hegselmann, Krause] Formellement, j ∈ Ni+ (x) ⇔ |xi − xj |< r tous les graphes de communication sont bidirectionnels 26/29 Le modèle (diffusif) de Hegselmann-Krause “Nous sommes principalement influencés par nos semblables” [French, de Groot, Lehrer, Wagner, Cohen, Friedkin, Johnsen, Weisbuch, Dittmer, Hegselmann, Krause] Formellement, j ∈ Ni+ (x) ⇔ |xi − xj |< r tous les graphes de communication sont bidirectionnels Théorème [Blondel, Hendrickx, Tsitsiklis 09] : Le modèle HK converge vers x ∗ en temps fini. De plus, ou bien xi∗ = xj∗ ou bien |xi∗ − xj∗ |≥ r 26/29 Flocking 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r I action : chaque oiseau aligne sa vitesse sur ses voisins 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r I action : chaque oiseau aligne sa vitesse sur ses voisins z(t + 1) = z(t) + v (t) v (t + 1) = P(t) v (t) 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r I action : chaque oiseau aligne sa vitesse sur ses voisins z(t + 1) = z(t) + v (t) v (t + 1) = P(t) v (t) système non diffusif 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r I action : chaque oiseau aligne sa vitesse sur ses voisins z(t + 1) = z(t) + v (t) v (t + 1) = P(t) v (t) [Vicsek, Cucker, Smale] 27/29 Flocking I algorithme de communication : celui du modèle HK (i, j) ∈ E (x) ⇔ |xi − xj |< r I action : chaque oiseau aligne sa vitesse sur ses voisins z(t + 1) = z(t) + v (t) v (t + 1) = P(t) v (t) [Vicsek, Cucker, Smale] Théorèmes [Cucker, Smale 07], [Chazelle 09] : Énoncé de conditions sous lesquelles le système réalise un consensus asymptotique parmi les agents 27/29 Systèmes d’influence Exemples : 1. modèle HK 2. Flocking 3. Chimiotaxie, modèle d’Ising, réseaux neuronaux, dynamique des population, ... 28/29 Systèmes d’influence Exemples : 1. modèle HK 2. Flocking 3. Chimiotaxie, modèle d’Ising, réseaux neuronaux, dynamique des population, ... Théorème [Chazelle 13] : Les systèmes diffusifs sont presque surement asymptotiquement périodiques 28/29 Merci ! 29/29