Algorithmes Naturels et Systèmes d`Influence

publicité
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
Téléchargement