• Aucun résultat trouvé

Résultats de [Hogg et Huberman, 1993]

Le rapport temps indique le rapport moyen entre le temps mis par un système non coopérant et un système coopérant à trouver une solution. On voit clairement que plus la complexité augmente, plus le rapport temps augmente malgré la difficulté grandissante à trouver une solution. Même si le pour-

5.2. QUELQUES EXEMPLES 103 centage des astuces utiles à une solution diminue, la coopération par distribution d’astuces entre les agents semble pourtant très efficace. En fait, les astuces permettent non seulement de trouver des com- binaisons de valeurs utiles mais également d’éliminer rapidement les solutions inutiles. L’utilisation d’un tableau noir pour communiquer une partie du savoir acquis semble être une bonne méthode.

Leur deuxième expérimentation a consisté à étudier un problème de coloriage de graphes. La catégorie de problème étudié est considérée comme NP. Il s’agit de colorier un graphe composé de noeuds et d’arcs avec un minimum de couleurs de telle sorte qu’aucun noeud ne soit en contact par les arcs avec un noeud de même couleur. L’originalité de l’expérimentation vient de l’échange de savoir entre les agents. Cet échange consiste à écrire avec une probabilité q son état d’avancement dans le tableau noir et à lire avec une probabilité p une astuce compatible postée lorsque l’agent est bloqué et doit revenir en arrière dans sa recherche (backtrack). Une astuce compatible est donc un état de coloriage compatible avec celui en cours d’étude par l’agent qui lit l’astuce.

Lors de cette expérimentation, le gain en temps est moins significatif : il ne dépasse pas 2 en moyenne par rapport à une méthode heuristique classique de recherche (Brelaz). Les astuces pos- tées ne sont qu’à 5% maximum des sous-ensembles de solutions finales. Pourtant les astuces postées ont permis encore une fois d’éviter des branches inutiles de recherche et ont permis d’améliorer la performance de la méthode Brelaz de manière significative.

Cette deuxième expérimentation montre encore une fois que pour échanger des connaissances, il faut qu’elles soient, ou bien interprétées de manière externe, ou bien compatibles avec l’agent.

En conclusion du travail de [Hogg et Huberman, 1993], on peut dire que l’utilisation d’un tableau noir symbolise un support de communication au travers duquel les agents communiquent et semble être une idée intéressante pour échanger de la connaissance. Toutefois, le savoir échangé peut être transformé comme dans la solution cryptarithmétique où on interprète ce qui est utile ou pas, à savoir une colonne d’addition juste. Cette solution est peu envisageable avec des agents simples car l’inter- prétation du savoir est indépendante d’eux. La deuxième solution consiste à rechercher des solutions compatibles ; c’est à dire à regarder si l’on peut faire évoluer l’état d’avancement de l’agent dans sa recherche sans pour autant le changer de branche de recherche. Cette solution, bien que plus dépen- dante de l’agent, oblige encore une entité extérieure au système multi-agents à contrôler que l’astuce fournie ne va pas éliminer une branche de recherche prometteuse.

Nous allons voir maintenant comment la communication par tableau noir peut également com- penser un système de récompense local à travers l’étude de [Bull et al., 1995b, Bull et al., 1995a]. Il s’agit d’un robot équipé de quatre pattes appelé Gait qui doit apprendre à marcher à l’aide de système de classeurs de type Pittsburgh et d’un tableau noir. Chaque système de classeurs a en charge l’ap- prentissage de chaque patte. L’algorithme génétique sert à l’évolution. Les quatre pattes sont évaluées en parallèle et ne sont récompensées que lorsqu’elles réussissent à avancer. Pour cela la partie condi- tion reçoit en entrée l’information sur la distance restant à parcourir et sait donc si cette distance a diminué ou non. Chaque patte dispose d’un tableau noir et chaque classeur qui compose le système de classeurs de chaque patte a une partie communication qui sert de marqueur. Ce marqueur indique

104 CHAPITRE 5. COMMUNIQUER AVEC DES SMA HOMOGÈNES le numéro de patte pour lequel l’information est destinée. Le message est posté dans le tableau noir correspondant et le marqueur est alors remplacé par le numéro de celui qui a envoyé l’information. Cette dernière consiste à indiquer à la patte receveuse, l’action qu’envisage de faire la patte émettrice afin que la première puisse adapter son action lors du prochain pas de temps. Les pattes sont évaluées pendant 20 pas de temps et l’on considère qu’il y a succès lorsque deux pattes au moins restent sur le sol afin d’assurer la stabilité du robot et que les autres donnent un coup d’avant en arrière pour faire avancer le robot. Il faut savoir qu’une patte du robot peut soit monter ou descendre, soit avancer ou reculer ou bien encore ne rien faire dans l’un des deux axes.

Le bilan de l’expérimentation de [Bull et al., 1995b] est intéressant :

The amount of communication varies but we have found legs at the same end of the robot, both the front and the back, passing messages to each other. These strings are then used by the receiver in the satisfaction of the conditions of its effector on the next time step. That is “contralateral” connections have been seen to emerge in the quadruped, which matches the biologists observations of natural quadrupedal systems...1

La communication d’un savoir évolué a permis à un système multi-agents d’anticiper et de prévoir des actions pour mieux répondre au problème posé. En effet le robot arrive en moyenne à avancer dans 70% du temps et on dépasse les 87% du temps pour le meilleur apprentissage.

Au travers d’un problème prédateur-proies, [Edwin De Jong, 1999b] nous permet d’étudier com- ment le signalement des proies aux autres agents peut les aider à éviter des prédateurs. Cette commu- nication s’effectue entre agents homogènes. Lorsqu’un agent voit un prédateur, il émet un signal qui va servir à la prise de décision des autres agents. Ce signal sert d’entrée supplémentaire dans l’établis- sement de situations type par chaque agent. Les agents vont apprendre à reconnaître, pour un signal émis, la position d’un prédateur en fonction de la leur, et ainsi éviter d’être capturés. Il est intéressant de noter que si on laisse suffisamment de temps aux agents pour apprendre à reconnaître la position des prédateurs, la communication est utile. Par contre, en dessous d’un certain seuil de visibilité du prédateur, la communication n’apporte rien. Il semble donc que la communication n’ait pas le temps d’améliorer le comportement des proies si elles ne peuvent apprendre à reconnaître les prédateurs. La proie ne s’est alors pas améliorée dans son comportement local habituel et ne bénéficiera pas d’une technique éventuellement apprise par une des autres proies pour éviter les prédateurs. Pour que la communication existe et récompense, il faut qu’elle soit utile. Ce constat peut sembler simpliste mais pose les limites de l’utilité de la communication. En effet, pour qu’il y ait communication, il faut qu’il y ait un phénomène répété qui doit être utile au groupe d’agents qui veulent communiquer. Si le phénomène, lié ici à un besoin de survie, ne se produit pas assez souvent, il ne justifie pas qu’on dépense de l’énergie pour l’identifier et modifier sa conduite. Nous avons déjà parlé de cela dans le chapitre 2, il est toutefois intéressant de noter que c’est la communication telle que nous venons de la

1La part de communication fluctue mais nous avons pu constater que les pattes situées à la même extrémité du robot, à la

fois l’avant et l’arrière, se passaient des messages entre elles. Ces chaînes sont alors utilisées par le receveur afin de satisfaire les conditions de ces effecteurs lors du prochain pas de temps. Ainsi, des connections “contralatérales” sont apparues dans le quadrupède, ce qui correspond aux observations faites par les biologistes sur des quadrupèdes naturels...

5.3. DISTRIBUER LA CONNAISSANCE 105 voir avec cet exemple qui rentre dans la catégorie des communications n’existant que ponctuellement. Pourtant cette communication apprise peut gagner à être incluse dans le comportement des agents si elle persiste.

Comme le souligne [Mataric, 1996] :

A group of agents learning in parallel creates a non-stationary world : as the agents learn, their behavior changes, resulting in inconsistencies.2

Nos expérimentations sur un groupe d’agents important l’ont confirmé : le comportement des agents qui se coordonnent n’est pas statique et par conséquent le monde qui est modifié ne peut l’être (cf. chapitre 4).

[Mataric, 1996] poursuit avec une autre difficulté :

Furthermore, multi-agent systems also face the credit assignment problem both at the level of the individual and at the level of the group. At the individual level, the inter- action with other agents often delays an agent’s payoff, aggravating the temporal credit assignment problem. At the group level, local individual behavior must be appropriately associated with global outcomes.3

Quelle que soit la solution que nous allons apporter pour distribuer la connaissance entre agents d’un système multi-agents, nous devrons nous assurer tout d’abord que la connaissance transmise est utile au système aussi bien au niveau de l’agent que du groupe sans pour autant devoir interpréter et trans- former la connaissance pour les agents. Le tableau noir semble être une solution pratique pour com- muniquer, il remplace avantageusement la description d’un médium de communication. Ensuite nous devrons nous assurer que les agents s’améliorent aussi bien au niveau individuel que global.

5.3

Distribuer la connaissance

5.3.1 Cloner

[Quinn, 2000], à l’aide de robots Khepera, nous propose d’étudier une solution simple pour échan- ger de la connaissance. Il s’agit en effet ici de comparer deux approches pour communiquer un savoir entre deux robots afin qu’ils arrivent à se déplacer puis se suivre à la même vitesse pour éviter les col- lisions. La première approche consiste à littéralement cloner le meilleur comportement tandis que la seconde laisse évoluer séparément les deux robots. L’apprentissage se fait à l’aide de réseaux de neu- rones. Finalement c’est la deuxième solution qui triomphe de la première avec une majorité écrasante. En effet, cette solution obtient une performance de 95% tandis que la première approche obtient un

2Un groupe d’agents qui apprend en parallèle crée un environnement dynamique : tandis que les agents apprennent, leur

comportement évolue, amenant à des inconsistances.

3De plus, les systèmes multi-agents se trouvent confrontés au problème de la récompense aussi bien au niveau de l’indi-

vidu qu’à celui du groupe. Au niveau de l’individu, les interactions entre agents retardent la plupart du temps la récompense ce qui aggrave le problème de la répartition de la récompense dans le temps. Au niveau du groupe, le comportement local de l’individu doit être associé avec les buts du groupe de manière appropriée.

106 CHAPITRE 5. COMMUNIQUER AVEC DES SMA HOMOGÈNES peu moins de la moitié de ces évaluations comme meilleur score. Pourtant cloner le meilleur semblait être une approche intéressante. Toutefois lorsque le problème de coordination spontanée est lié à une faible imprécision et une faible inertie apportée par le réseau de neurones, ce résultat semble cohérent. Le clonage du meilleur aurait plutôt tendance à augmenter l’inertie du système et progressivement la précision diminue comme nous l’avons vu au chapitre 4.

5.3.2 Application à un contrôle de carrefours routiers

Nous avons voulu définir un cadre homogène afin d’étudier comment échanger la connaissance. Ce cadre, nous l’avons trouvé en étudiant [Mikami et Kakazu, 1993, Mikami et Kakazu, 1994] qui nous ont permis de voir que le contrôle de carrefours routiers simples permettait d’étudier un sys- tème multi-agents homogène communicant tel que nous l’avons défini. Le problème du contrôle de carrefours routiers a été également et diversement abordé, nous ne citerons que l’approche Genetic

Programming de[Montana et Czerwinski, 1996] et [Escazut et Fogarty, 1997] pour leur approche co-

évolutionnaire. Leurs résultats sont encourageants mais ne permettent pas de répondre à la question de l’échange de connaissance dans un système multi-agents.

Le système multi-agents est composé de plusieurs carrefours routiers identiques connectés les uns aux autres et formant une grille. Le problème consiste à empêcher les embouteillages sur les carrefours tout en permettant aux automobilistes de traverser le plus rapidement possible le système vers leur destination. [Mikami et Kakazu, 1994] utilise une grille 3 3 pour leurs expérimentations. Chaque carrefour de la grille est contrôlé par un agent. Les agents sont homogènes i.e. ils sont phy- siquement identiques et ont le même rôle puisqu’ils doivent tous permettre aux voitures de traverser leur croisement le plus rapidement possible. Les carrefours ont une forme de croix et sont contrôlés par des feux bicolores synchronisés verticalement et horizontalement. Les voitures arrivent par les différentes routes des points cardinaux nord, est, sud et ouest. Lorsque les voitures s’approchent du croisement elle passe sur un premier capteur situé à distance du feu puis sur un second situé devant le feu (cf. figure 5.1).

Nous avons simplifié le modèle réel en donnant aux voitures une vitesse constante. Les voitures sont soit arrêtées au feu rouge, soit en train de rouler à vitesse constante : il n’y a ni accélération, ni décélération. Chaque route située sur le pourtour de la grille a une probabilité de flux de voitures qui indique la probabilité qu’une voiture apparaisse sur la route lors d’une évaluation. La file des voitures est limitée à 10 véhicules. A chaque début de cycle, le contrôleur décide si la couleur des feux doit changer ou non. Un cycle est composé de plusieurs pas de temps appelés tics. A chaque pas de temps, les véhicules qui peuvent avancer se mettent en mouvement, les autres attendent. Pour nos expérimentations, un cycle est composé de 5 tics. Un véhicule qui arrive à un croisement peut aller tout droit ou encore choisir de tourner à gauche ou à droite avec une probabilité de 10%. Une voiture qui traverse un croisement en tournant ou non arrive soit au croisement connecté correspondant, soit sort de la grille de carrefours. Nous supposons également qu’il n’y a jamais de collisions entre véhicules. Les routes sont à double-sens et les routes qui sont connectées à une autre intersection du système,

5.3. DISTRIBUER LA CONNAISSANCE 107

FIG. 5.1 – Grille 3 3 de carrefours.

reçoivent les voitures depuis cette intersection voisine i.e. il n’y a pas de probabilité de flux sur ces routes. Regle n Regle 1 Feu Nord Action

L

L

L

L

Nord Est Sud Ouest

Rouge Regle i

C

C

C

C

FIG. 5.2 – Un individu.

Les agents sont donc des contrôleurs composés chacun d’un système de classeurs de type Pitts- burgh simplifié. Ils apprennent localement à résoudre le problème espérant ainsi améliorer la perfor- mance de l’ensemble. Les règles qui composent les individus de l’agent sont représentées dans la figure 5.2. Il y a donc quatre routes par croisement qui servent de signal d’entrée. Chaque route est elle-même composée de deux capteurs indiquant la présence (vrai ou f aux) d’une voiture sur celui- ci : le capteur lointain (L) et le capteur proche du feu bicolore (C). Le dernier capteur utilisé est celui indiquant si le feu bicolore qui est sur la route nord est au rouge (vrai) ou au vert ( f aux). La couleur

108 CHAPITRE 5. COMMUNIQUER AVEC DES SMA HOMOGÈNES des autres feux n’est pas utile puisque la couleur des trois autres feux peut se déduire directement de la couleur du feu bicolore qui est au nord. D’après notre description des capteurs, une règle de produc- tion est composée de 4 2 1 soit 9 bits pour la partie condition et de 1 bit pour la partie action qui consiste à savoir si le contrôleur change (vrai ou f aux) la couleur des feux bicolores de l’intersection. Ainsi, la règle 11 00 11 00 1 : 1 exprime le fait que lorsqu’il n’y a pas de voiture sur l’axe est-ouest du carrefour (xx 00 xx 00 x : x) et que l’axe nord-sud est saturé (11 xx 11 xx x : x) et de plus que le feu de l’axe nord-sud est rouge (xx xx xx xx 1 : x), il est souhaitable de changer sa couleur (xx xx xx xx x : 1).

La récompense des agents est directement dépendante du temps d’attente moyen des voitures au croisement : Recompense exp ln  0 7  Delai_Actuel Premier_Delai 

Cette récompense est distribuée à la fin de chaque période d’évaluation et permet d’obtenir les courbes d’évolution qui se trouvent dans la figure 5.3.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Recompense normalisee

Delai moyen actuel

Fonction de Fitness (Basee sur des premiers delais d’attente de 20, 30, 50 tics) 20 tics 30 tics 50 tics Premiere recompense

FIG. 5.3 – Fonction de Fitness.

Les agents de la première génération ont donc une fitness moyenne de 0 7 qui va évoluer en fonc- tion des progrès qu’ils peuvent faire. La fonction exponentielle permet d’augmenter artificiellement l’attraction du système vers une diminution du délai.

Les paramètres de l’algorithme génétique se trouvent dans la table 5.3. Ils décrivent des paramètres toujours proches des valeurs rencontrées dans la littérature.

Le nombre de générations est faible à cause des réglages présentées dans la table 5.5 qui sont propres aux agents. 50 générations représentent en réalité :

5.3. DISTRIBUER LA CONNAISSANCE 109

Paramètre Réglage

P# 40%

PCroisement 60%

PMutation 1%

Mécanisme de Sélection Roulette Wheel Sélection des règles (cf. § 4.3.3) Aléatoire

Croisement Monopoint

Nombre de Générations 50

TAB. 5.3 – Paramètres de l’algorithme génétique.

50 100 5 25000 tics.

Paramètre Réglage

Nombre d’agents 9

Nombre d’individus (NombreIndividus) 20 Nombre de règles par individu (NombreRegles) 15

Nombre d’essais entre générations 100 cycles

Durée d’un cycle 5 tics