• Aucun résultat trouvé

Protocole de consensus

N/A
N/A
Protected

Academic year: 2022

Partager "Protocole de consensus "

Copied!
38
0
0

Texte intégral

(1)

Institute for Design and Control of Mechatronical Systems

Systèmes Robotiques

Hétérogènes et Coopératifs

UPJV, Département EEA

Fabio MORBIDI

Laboratoire MIS

Équipe Perception Robotique E-mail : fabio.morbidi@u-picardie.fr

Master 2 3EA, EC35 - Parcours RoVA

(2)

Protocole de consensus

Réseaux orientés

(3)

  Considérons le graphe orienté (digraphe) pondéré dans la figure ci-dessous, qui correspond aux dynamiques du premier ordre :

1

2

Vers le consensus: réseaux orientés

(4)

  Nous pouvons réécrire de façon compacte le système

précédent comme suit:

1

2

3 4

Si on utilise la définition de matrice laplacienne pour des graphs orientés pondérés (avec degré entrant), on peut réécrire les dynamiques du réseau de la façon suivante:

où réprésente la connexion orientée sous-jacente entre les sommets

Vers le consensus: réseaux orientés

(5)

Un autre exemple:

•  Trois robots coordonnent leurs vitesses selon la chaîne de commande dans la figure

•  On peut exprimer les dynamiques du système résultant comme suit:

Vers le consensus: réseaux orientés

1

3 2

1 1/2

1/2 1

(6)

L‘équation précédente peut être réécrite de façon compacte:

La matrice dans le système ci-dessus correspond à “moins“ la matrice laplacienne (degré entrant) du réseau, ainsi:

où est le graph orienté pondéré qui décrit la chaîne de commande

Vers le consensus: réseaux orientés

1

3 2

1 1/2

1/2 1

(7)

  Y a-t-il des conditions nécessaires et suffisantes sur le graphe qui

garantissent la convergence du système vers l‘ensemble de consensus ?

  Comme pour les graphes non orientés, le rang de la matrice laplacienne et sa relation avec la structure du graphe, joue un rôle crucial

La notion suivante correspond à celle d‘arbre couvrant vue pour un graphe non orienté

Un graphe orienté est un arbre orienté enraciné, si:

a)  Il ne contient pas de cycles orientés

Définition (Arbre orienté enraciné ou graphe enraciné à ramification sortante)

Vers le consensus: réseaux orientés

(8)

Exemple d‘arbre orienté enraciné

racine

Vers le consensus: réseaux orientés

(9)

Un digraphe avec sommets contient un arbre orienté enraciné comme sous-graphe si et seulement si:

Proposition

Vers le consensus: réseaux orientés

Rappel:

Le vecteur est un vecteur propre à gauche associé à la valeur propre de la matrice si:

(10)

Un digraphe avec sommets contient un arbre orienté enraciné comme sous-graphe si et seulement si:

Proposition

Vers le consensus: réseaux orientés

Exemple:

Valeurs propres:

Vecteurs propres à droite:

Vecteurs propres à gauche:

Rappel:

Le vecteur est un vecteur propre à gauche associé à la valeur propre de la matrice si:

(11)

Théorème (Résultat principal)

Pour un digraphe contenant un arbre orienté enraciné, la trajectoire d‘état générée par avec condition initiale , satisfait:

où et sont respectivement, les vecteurs propres à droit et à gauche associés à la valeur propre zéro de , normalisés tels que . Par conséquent, nous avons que

pour toute condition initiale si et seulement si contient un arbre orienté enraciné

Vers le consensus: réseaux orientés

(12)

Exemple:

racine

contient un arbre orienté enraciné (bleu). Il n‘est pas unique !

Vers le consensus: réseaux orientés

(13)

Soit le vecteur propre à gauche associé à la valeur propre zéro de la matrice laplacienne (avec degré entrant) d‘un digraphe .

Alors la quantité suivante:

reste inchangée par rapport à la dynamique de consensus, Proposition (Constant de mouvement)

Vers le consensus: remarque I

(14)

Vers le consensus: remarque II, digraphes balancés

On dit qu‘un digraphe est balancé si, pour chaque sommet, le degré entrant et le degré sortant sont identiques

Définition (Digraphe balancé)

Digraphe balancé Digraphe non balancé

degré entrant ≠ degré sortant degré entrant = degré sortant

Exemple (Digraphes non pondérés):

(15)

Digraph balancé Digraphe non balancé

2

3 5

2

5

5

1

2 4

3

1/2 2

Vers le consensus: remarque II, digraphes balancés

Exemple (Digraphes pondérés):

(16)

Si le digraph est balancé, en plus de , nous avons aussi la propriété que la somme des éléments sur chaque colonne de est zéro,

Le protocole de consensus sur le digraphe parvient au consensus en moyenne pour toute condition initiale si et seulement si le digraphe est faiblement connexe et balancé

Théorème

Donc, si le digraphe contient un arbre orienté enraciné et il est balancé, le protocole de consensus converge vers une valeur commune qui est la moyenne des états initiaux, c‘est-à-dire le consensus en moyenne, car:

à savoir

Vers le consensus: remarque II, digraphes balancés

(17)

Protocole de consensus

Quelques extensions pour graphes

non orientés

(18)

1.  Protocole de consensus avec délais temporels uniformes

“Consensus problems in networks of agents with switching topology and time-delays”, R. Olfati-Saber, R.M. Murray, IEEE Trans. Automat. Contr., vol. 49, n. 9, pp. 1520-1533, 2004

On considère la dynamique de consensus uniformément retardée sur un graphe non orienté pondéré, décrite par l’équation:

pour quelque Ce protocole retardé parvient au consensus en moyenne si et seulement si:

où est la valeur propre la plus forte de la matrice laplacienne pondérée du graphe

•  Compromis entre le taux de convergence et la tolerance aux délais uniformes dans les exchanges d’information sur le réseau

Extensions du protocole de consensus

(19)

2.  Protocole de consensus pour des agents double intégrateur

On considère la dynamique du second ordre suivante pour l’agent :

où et sont, respectivement, la position et la vitesse de l’agent par rapport au repère absolu, et est l’entrée de commande (accélération), avec .

•  Inspirés par le protocole de consensus, on peut définir l’entrée de commande suivante pour l’agent :

ou de manière équivalente

(représentation d’état)

Extensions du protocole de consensus

(20)

3.  Protocole de consensus à temps discret

On peut introduire la forme itérative suivante du protocole de consensus en temps discret:

où est l’incrément et est le degré maximum du graphe

On peut écrire de façon compacte les dynamiques collectives des agents comme suit:

où et

Extensions du protocole de consensus

(21)

•  est dite matrice de Perron du graphe avec paramètre

•  est une matrice stochastique (à droite), c’est-à-dire la somme des éléments sur chaque ligne est égale à :

•  Les conditions pour parvenir au consensus en temps discret sont les mêmes que en temps continu

•  La vitesse de convergence vers l’ensemble de consensus est dictée cette fois-ci par:

la deuxième valeur propre la plus forte de

Pour plus de détails sur le protocole de consensus à temps discret et ses liens avec la théorie des

Extensions du protocole de consensus

3.  Protocole de consensus à temps discret

(22)

On peut modéliser des interactions antagonistes (par ex. amis vs adversaires dans un réseau social), avec des poids negatifs dans le graphe de communication (“graphe signé”)

4.  Protocole de consensus avec interactions antagonistes

Extensions du protocole de consensus

1490 blogs (sommets) et 19025 arêtes entre les blogs

Exemple: Visualisation de blogs politiques aux États-Unis (2014):

(rouge) parti républicain, (bleu) parti démocrate

(23)

•  Sur des graphes signés, tous les agents peuvent converger vers la valeur de consensus. Cette valeur

est la même pour tous à l’exception du signe:

on parle donc de “consensus biparti”

•  On peut parvenir au consensus biparti si le graphe est structurellement balancé. Ca veut dire que tous

les cycles dans le graphe sont positifs, à savoir ils contiennent un nombre pair de poids negatifs sur les arêtes

4.  Protocole de consensus avec interactions antagonistes

Consensus biparti

(par ex. polarisation des opinions dans deux groupes )

time [s]

Groupe 1

Groupe 2

Extensions du protocole de consensus

(24)

Exemple (graphes signés avec ):

-2 -4

1

-2 4

1

2 4

1

Structurellement balancé

4.  Protocole de consensus avec interactions antagonistes

Extensions du protocole de consensus

Structurellement balancé Non structurellement

balancé

5 5 -3

(25)

Problème: contrôler un groupe de robots mobiles pour parvenir à une formation invariante aux rotations, définie par:

•  Le graphe de formation

•  Un ensemble associé de positions cibles

  Soit la position du robot . L‘objectif du contrôleur de formation est que pour quelque

  On décrit la structure du réseau de communication entre les robots avec le graphe qu‘on appelle graphe d‘interaction

Objectif: contrôler les robots de telle sorte que converges

Extensions du protocole de consensus

5.  Contrôle de formations de robots

(26)

Théorème

Soit le graphe connexe de formation et l‘ensemble des positions cibles. Si le graphe d‘interaction satisfait la condition , alors le protocole de consensus,

permettra aux robots de converger asymptotiquement vers un déplacement constant par rapport aux positions cibles, c‘est-à-dire, pour tout nous

aurons:

Extensions du protocole de consensus

5.  Contrôle de formations de robots

(27)

Extensions du protocole de consensus

Exemple: Contrôle de formation dans l‘espace 2D ( )

  Ensemble de positions cibles : 10 points equispacés sur le circle unitaire   Pour plus de simplicité, on a choisit

(28)

Bleu: position initiale Rouge: position finale

Extensions du protocole de consensus

Exemple: Contrôle de formation dans l‘espace 3D ( )

  Ensemble de positions cibles : 81 points equispacés sur la surface de la sphère unitaire

a

(29)

  Le modèle de Kuramoto pour oscillateurs couplés en interaction sur un réseau est défini par:

où est la phase de l’oscillateur et est la force de couplage entre les oscillateurs

Extensions du protocole de consensus

6.  Protocoles de consensus non linéaires (I)

Analogue mécanique:

(30)

  On peut ré-écrire de façon compacte les lois d‘interaction non linéaires précédentes comme:

où , est la matrice d’incidence du graphe et étant donné un vecteur on définit:

Pour plus de détails, voir:

•  “On the Stability of the Kuramoto Model of Coupled Nonlinear Oscillators”, A. Jadbabaie, N. Motee, M. Barahona, in Proc. American Control Conf., pp. 4296-4301, 2004

•  “From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators”, S.H. Strogatz, Physica D: Nonlinear Phenomena, vol. 143, n. 1, pp. 1-20, 2000

On peut montrer (par ex. avec des outils de théorie de la passivité) que pour un graphe connexe , pour tout et presque pour toute condition initiale , le mouvement des oscillateurs sera synchronisé. En outre, le taux de convergence vers l’état de synchronisation dépend de la

valeur de Fiedler

Extensions du protocole de consensus

θ(0)

(31)

Pour plus de détails, voir:

Avec un groupe de robots de type unicycle, on peut utiliser ce mécanisme de synchronisation pour le flocking, à savoir pour aligner leurs vecteurs de vitesse

Configuration initiale Flocking (le vecteurs de vitesse, en rouge, sont alignés)

Extensions du protocole de consensus

G

(32)

  La moyenne pondérée d‘ordre de nombres réels positifs est définie comme suit:

où les poids positifs sont tels que

Minimum

Moyenne harmonique Moyenne géométrique

Moyenne arithmétique: en particulier, si

Moyenne quadratique (RMS) Maximum

6.  Protocoles de consensus non linéaires (II)

Extensions du protocole de consensus

  Selon la valeur de , nous avons:

(33)

  On peut définir alors le protocole de consensus à moyenne pondérée d‘ordre comme:

Pour plus de détails sur les propriétés de convergence de ce protocole non linéaire, voir:

•  “Nonlinear protocols for optimal distributed consensus in networks of dynamic agents”, D. Bauso, L. Giarré, R. Pesenti, Systems & Control Letters, vol. 55, n. 11, pp. 918-928, 2006

6.  Protocoles de consensus non linéaires (II)

Extensions du protocole de consensus

(34)

Graphe de communication variable dans le temps:

Communication asynchrone (event-triggered, gossip, etc.) Communication quantifiée

Communication imparfaite: défaillance des arêtes et bruit dans le canal de commun.

Graphes aléatoires

Consensus dynamique (“dynamic average consensus“) D‘autres extensions ...

Extensions du protocole de consensus

G = G(t)

•  “Consensus seeking in multiagent systems under dynamically changing interaction topologies”, W. Ren, R.W. Beard, IEEE Trans. Autom. Control, vol. 50, n. 5, pp. 655-661, 2005

•  "Distributed event-triggered control for multi-agent systems", D.V. Dimarogonas, E. Frazzoli, K.H. Johansson, IEEE Trans. Autom. Control, vol. 57, n. 5, pp. 1291-1297, 2011

•  “Average consensus on networks with quantized communication”, P. Frasca, R. Carli, F. Fagnani, S. Zampieri, Int. J. Robust Nonlinear, vol. 19, n. 16, pp. 1787-1816, 2009

•  “Distributed consensus algorithms in sensor networks with imperfect communication: link failures and channel noise”, S. Kar, J. Moura, IEEE Trans. Signal Proces., vol. 57, n. 1, pp. 355-369, 2009

•  “A necessary and sufficient condition for consensus over random networks”, A. Tahbaz-Salehi, A. Jadbabaie, IEEE Trans. Autom. Control, vol. 53, n. 3, pp. 791-795, 2008

•  “Tutorial on Dynamic Average Consensus: The Problem, its Applications, and the Algorithms”, S.S Kia, B. Van Scoy, J. Cortés, R.A. Freeman, K.M. Lynch, S. Martinez, IEEE Contr. Syst. Mag., vol. 39, n. 3, pp. 40-72, 2019

(35)

Toolbox de Matlab pour la théorie des graphes

À

partir de Matlab R2015b

(36)

Quelques commandes de la toolbox

G = graph(A) uses the square symmetric matrix A as an adjacency matrix and constructs a weighted graph with edges corresponding to the nonzero entries of A.

G = graph(S,T) constructs a graph with edges specified by the node pairs (S,T).

S and T must have the same number of elements or be scalars.

G = graph(S,T,WEIGHTS) also specifies edge weights with the numeric array WEIGHTS.

WEIGHTS must have the same number of elements as S and T, or can be a scalar.

G = graph(S,T,...,'OmitSelfLoops') does not add self-loops to the graph

graph properties:

Edges - Table containing edge information Nodes - Table containing node information

graph

(37)

graph methods:

numnodes - Number of nodes in a graph numedges - Number of edges in a graph addnode - Add nodes to a graph

rmnode - Remove nodes from a graph addedge - Add edges to a graph

rmedge - Remove edges from a graph degree - Degree of nodes in a graph neighbors - Neighbors of a node in a graph subgraph - Extract an induced subgraph adjacency - Adjacency matrix of a graph incidence - Incidence matrix of a graph

Quelques commandes de la toolbox

(38)

bfsearch - Breadth-first search (BFS) dfsearch - Depth-first search (DFS)

shortestpath - Compute shortest path between two nodes shortestpathtree - Compute single source shortest paths

distances - Compute all pairs distances

nearest - Compute nearest neighbors (at a distance D) of a node conncomp - Compute connected components of a graph

minspantree - Compute minimum spanning tree of a graph isisomorphic - Determine whether two graphs are isomorphic

plot - Plot an undirected graph

De la même façon pour les graphes orientés, il existe la fonction digraph

Quelques commandes de la toolbox

graph methods:

Références

Documents relatifs

Dire si les affirmations suivantes sont vraies ou fausses.. Justifiez vos

D´ eterminer l’´ equation de la tangente ` a la courbe repr´ esentative de f au voisinage de 0 et ´ etudier la position relative de la courbe et de la tangente au voisinage de

c) Expliquer comment s’applique le théorème de Fubini–Lebesgue en pratique.

Le théorème précedent nous donne une condition nécessaire et suffisante pour que le système parvient au consensus pour toute condition initiale : le digraphe

  On peut définir le protocole de consensus à moyenne pondérée d‘ordre sur le graphe comme suit:. 6.  Protocoles de consensus non

Le groupe de travail prioritaire de la SIFEM « santé et société », dont des membres participent à l’initia- tive internationale, s’est engagé à réfléchir sur la

Parce que les algorithmes d’indexation, les technologies de listes d’arrêt et de réduction des données, sont considérées par certains concepteurs d’objet d’indice comme

Si le résultat de la personne symptomatique est négatif, dans ce cas l’enfant ou encadrant.e suivra les recommandations de son médecin traitant et pourra dès