• Aucun résultat trouvé

Partie I Deux domaines 11

1.3 Conception

1.3.2 Système multi-agents

1.3.2.1 Problème posé

On a vu que, pour un agent seul, une fois les aspects “matériels” réglés (choix de capteurs et effec-teurs), on peut voir les aspects logiciels subsistants comme la mise au point d’un algorithme ayant pour fonction de maximiser une mesure de performance.

Pour un groupe d’agents, dont on souhaiterait qu’ils coopèrent, de nouvelles questions se posent. Il ne suffit pas de dire qu’on peut simplement se ramener à la conception de n agents. L’utilisation de méthodes spécifiques va donc s’avérer indispensable.

1.3.2.2 Bio-inspiration

L’inspiration biologique peut être une première approche, de même que pour la conception d’agents seuls, comme on l’a vu en section 1.3.1.4.

La conception de systèmes multi-agents en s’inspirant de phénomènes biologiques est d’ailleurs un domaine de recherche très important, comme le montrent les nombreux travaux sur l’exemple des colonies de fourmis vu en section 1.2.2 [Bonabeau et al., 1999], sur les araignées sociales [Bourjot et al., 2003] ou encore le comportement social des rats [Thomas et al., 2002]. Ces travaux s’attachent à analyser et comprendre les mécanismes mis en jeu dans des exemples de comportements de groupe émergents, pour essayer soit simplement de les reproduire pour résoudre les problèmes qui s’y prêtent, soit d’en tirer une meilleure compréhension de tels phénomènes et donc une connaissance bien plus “générale”.

Néanmoins, nous ne faisons pas ici le choix d’adopter une telle démarche, souhaitant plutôt mettre au point des méthodes de conception directement dirigées par les buts assignés au groupe d’agents.

1.3.2.3 Quelques questions

Revenons donc au problème de départ : obtenir d’agents qu’ils coopérent à une tâche commune. Travailler sur la base d’un objectif (exprimé à travers des récompenses) n’est pas évident. Etant donnée une mesure de la performance du groupe, il est difficile d’en déduire les comportements individuels que les agents doivent adopter pour que, de leur interaction, émerge un comportement de groupe satisfaisant. De fait, les outils théoriques manquent dans ce domaine.

Conception centralisée/décentralisée ?

Une première question est de savoir si l’on veut centraliser la conception (un seul programme mono-lithique produisant les comportements des différents agents) ou pas. L’intérêt d’un processus centralisé est en général qu’il maîtrise mieux les données du problème, et ainsi peut aboutir à de meilleurs résul-tats. Il s’agit alors qu’un unique programme optimise n× m paramètres si l’on manipule un groupe de m agents définis chacun par n paramètres.

Une telle approche amène deux remarques :

1. On doit, avec une conception centralisée, nécessairement distinguer une première phase de pure conception de la phase ultérieure d’utilisation normale du SMA. Mais cette seconde phase n’exclut

pas la possibilité que les agents continuent à s’adapter, qu’il s’agisse d’affiner les comportements élaborés ou de répondre à des modifications de l’environnement.

2. Du fait de cette centralisation et de ce que la conception requière en général une expérimentation, il faut pouvoir travailler en gardant contact avec tous les agents (puisque ce sont eux qui vivent ces expériences). Une telle situation amène logiquement à considérer le passage par une simulation (donc la nécessité d’un modèle de l’environnement).

L’approche décentralisée, elle, consiste à doter chaque agent de capacités d’adaptations propres, éventuellement en étant capable de “raisonner” sur ce que veulent faire les autres agents (c’est ce qui est fait par exemple à travers la notion d’empathie [Chadès, 2003]) , et de laisser évoluer le groupe. Le problème qui apparaît est que l’amélioration ne se situe plus alors nécessairement au niveau du groupe, mais au niveau de chaque agent. En effet, les mesures de performances accessibles aux différents agents ne refléteront pas de manière sûre les performances du groupe complet (à moins de se placer dans des situations particulières).

Notre préférence ira aux approches décentralisées, en sorte que les apprentissages des agents soient indépendants : que chacun apprenne de son côté. Ce choix est principalement guidé par le souhait que les agents soient toujours capables de s’adapter (si certains aspects de l’environnement changeaient par exemple), ne distinguant pas strictement phases de conception et d’apprentissage : on ne cherche pas à obtenir des automates. Toutefois, nous mettrons en œuvre dans nos travaux des outils d’aide à l’appren-tissage qui requièrent une “certaine” centralisation, ce dont nous rediscuterons le moment venu.

Perception partielle/totale ?

Un cas dans lequel une conception décentralisée, comme nous venons d’en faire le choix, pose de moindres problèmes pour que les différents agents soient informés des performances du groupe est celui d’agents dotés d’une perception totale. Celà ne résoudrait pas pour autant le problème de la coordination des agents puisque, même si chacun sait quelles “actions jointes” du groupe sont optimales, encore faut-il se mettre d’accord sur l’action jointe suivie.

Mais, comme nous l’avons déjà exprimé, les agents sur lesquels nous travaillons n’ont qu’une

per-ception partielle de leur environnement. Ce choix est lié d’une part au souhait d’être réaliste en ayant

des agents qui souffrent d’un manque d’informations, et d’autre part à la simplification de la tâche qui peut en découler, puisque l’espace de recherche en sera considérablement réduit.

Distinction des autres agents ?

Un dernier point que nous évoquerons ici n’est en fait qu’un des aspects des capacités perceptives restreintes des agents. Il s’agit de savoir si un agent A est capable de distinguer d’autres agents B et C l’un de l’autre. Cette question a son importance puisqu’une telle incapacité a l’avantage de simplifier les observations de l’agent, mais nuit aux possibilités de spécialisation des agents. Cette forme de per-ception partielle (où l’on ne sait pas distinguer deux agents l’un de l’autre) est intéressante parce que particulièrement liée aux capacités sociales des agents.

Deux exemples simples mettant en jeu nos trois agents A, B et C vont permettre de montrer le désavantage que constitue une non-différenciation d’autrui (figure1.16). Dans les deux cas, les agents ont pour soucis de savoir se croiser dans un monde plan. Les deux problèmes se différencient par l’orientation des mondes plans dans lesquels ils se situent :

– Dans le cas (a), le plan est horizontal. Les agents peuvent alors apprendre, par exemple, à se contourner par la droite.

– Dans le cas (b), le plan est en revanche vertical. Dans cette situation, si A voulait passer au-dessus de tout autre agent et donc B au-dessous (ne sachant pas distinguer autrui, un comportement

déterministe suivrait de telles règles), C ne saurait quelle attitude adopter face à un agent qu’il n’identifierait pas.

Note : Au moins 3 agents sont nécessaires pour qu’existe ce problème de coordination.

Nord Sud Ouest Est A B C Haut Bas Droite Gauche A B C ?

a) Plan horizontal : pas de problème. b) Plan vertical : pas de comportement déterministe optimal.

FIG. 1.16 – Problème de croisement d’agents qui ne se différencient pas dans un monde plan. Par la suite, et malgré les inconvénients que cela apporte, nous supposerons que les agents ne savent

pas se distinguer les uns des autres, à moins qu’ils ne soient explicitement de “types” différents. Ce

choix vient d’une part du fait qu’une telle capacité de distinction est assez complexe pour un agent, et d’autre part cela ferait croître de manière inconsidérée le nombre de situations possibles aux yeux d’un agent (alors que ce nombre est déjà naturellement grand).

1.3.2.4 Point de vue adopté

Cette section 1.3.2 a rapidement discuter de quelques points de la conception de systèmes multi-agents. Il ne s’agissait que de préciser certains choix dans notre approche, et non de réellement s’attaquer aux difficultés de conception d’agents coopérants (ce qui viendra au chapitre 3).

Pour récapituler, notons d’abord que ce qui a été dit sur notre point de vue au niveau mono-agent (en section 1.3.1.5) reste ici valable. L’aspect incrémental qui apparaîtra dans nos approches jouera d’ailleurs un rôle aussi bien à l’échelle d’un agent qu’à l’échelle du groupe. Pour ce qui est des spécificités du cadre multi-agents, elles se résument par le choix d’une conception “semi-centralisée”, de perceptions partielles et d’une incapacité à distinguer les autres agents entre eux.

1.4 Bilan

Nous nous sommes attachés dans ce premier chapitre à aborder le monde des agents à la fois pour développer notre vision de l’intelligence artificielle, laquelle passe par le point de vue “agent”, et pour faire une introduction au domaine des systèmes multi-agents, en montrant ce qu’ils permettent et les problèmes que leur utilisation soulève.

Ce chapitre peut paraître assez hétéroclite, du fait qu’il est l’occasion à la fois de présenter tout un ensemble de concepts dont les définitions ne font pas l’unanimité, et d’exposer pour partie l’optique dans laquelle nous travaillons. Nous reviendrons sur certains aspects et préciserons certains points le moment venu dans la suite de ce mémoire.

Le chapitre suivant va revenir au point de vue d’un agent seul, de manière à présenter des outils d’apprentissage par renforcement répondant aux souhaits que nous avons exprimés quant à ce que doit être un agent.

Apprentissage par Renforcement

Sommaire

2.1 Origines de l’apprentissage par renforcement . . . . 42

2.1.1 Point de départ . . . . 42