Système multi-agents
Un système multi-agents est un système de composé de multiples agents (processus, bots, agents).
Les systèmes multi-agents peuvent résoudre des problèmes difficiles ou impossibles à résoudre pour un agent individuel ou un système monolithique. Ce type de système peut comprendre méthodiques, fonctionnels, de procédure approches algorithmiques se arc ou d’apprentissage par renforcement.
En dépit de leur proximité, le système multi-agents ne doit pas être confondus le modèle à base d'agents (ABM). Le but d'un ABM est de rechercher des explications sur le comportement collectif d'agents (qui n'ont pas nécessairement besoin d'être "intelligents") en obéissant à de simples règles, généralement dans des systèmes naturels, plutôt qu'en résolvant des problèmes pratiques ou techniques spécifiques.
On peut relever cinq problématiques principales lors de la création de systèmes multi-agents:
- D'abord, la problématique de l'action : comment un ensemble d'agents peut agir de manière simultanée dans un environnement partagé, et comment cet environnement interagit en retour avec les agents ? Les questions sous-jacentes sont entre autres celles de la représentation de l'environnement par les agents, de la collaboration entre agents, de la planification multi-agent.
- Ensuite la problématique de l'agent et de sa relation au monde, qui est représentée par le modèle cognitif dont dispose l'agent. L'individu d'une société multi-agent doit être capable de mettre en œuvre les actions qui répondent au mieux à ses objectifs. Cette capacité à la décision est liée à un "état mental" qui reflète les perceptions, les représentations, les croyances et un certain nombre de paramètres "psychiques" (désirs, tendances…) de l'agent. La problématique de l'individu et de sa relation au monde couvre aussi la notion d'engagement de l'agent vis-à-vis d'un agent tiers.
- Les systèmes multi-agents passent aussi par l'étude de la nature des interactions, comme source de possibilités d'une part et de contraintes d'autre part. La problématique de l'interaction s'intéresse aux moyens de l'interaction (quel langage ? quel support ?), et à l'analyse et la conception des formes d'interactions entre agents. Les notions de collaboration et coopération (en prenant coopération comme collaboration + coordination d'actions + résolution de conflits) sont ici centrales.
- On peut évoquer ensuite la problématique de l'adaptation en termes d'adaptation individuelle ou apprentissage d'une part et d'adaptation collective ou évolution d'autre part.
- Enfin, il reste la question de la réalisation effective et de l'implémentation des SMA, en structurant notamment les langages de programmation en plusieurs types allant du langage de type L5, ou langage de formalisation et de spécification, au langage de type L1 qui est le langage d'implémentation effective. Entre les deux, on retrouve le langage de communication entre agents, de description des lois de l'environnement et de représentation des connaissances.
Architecture des systèmes multi-agents
En reprenant les cinq problématiques précédentes, on peut décrire quelques éléments de l'architecture d'un système multi-agent.
- Les agents doivent être dotés de systèmes de décisions et de planification à plusieurs. Les théories de la décision sont un domaine à part entière d'étude à ce sujet. Dans la catégorie des interactions avec l'environnement, un autre problème récurrent des systèmes d'agents est celui du pathfinding (avec son algorithme le plus connu, l'algorithme A*).
- Les agents doivent être dotés d'un modèle cognitif : Là aussi, plusieurs modèles existent, l'un des plus classiques étant le modèle BDI (Beliefs-Desires-Intentions). Il considère d'une part l'ensemble de croyances (Beliefs) de l'agent sur son environnement, qui sont le résultat de ses connaissances et de ses perceptions, et d'autre part un ensemble d'objectifs (Desires). En croisant ces deux ensembles, on obtient un nouvel ensemble d'intentions (Intentions) qui peuvent ensuite se traduire directement en actions.
- Les agents doivent être dotés d'un système de communication. Plusieurs langages spécialisés ont vu le jour à cette fin : le Knowledge Query and Manipulation Language (KQML), et plus récemment, le standard FIPA-ACL (ACL pour Agent Communication Language) créé par la Foundation for Intelligent Physical Agents FIPA. Ce dernier standard repose en particulier sur la théorie des actes de langage, chère à John Searle.
- La problématique de l'adaptation est un sujet épineux, objet de recherches nombreuses à l'heure actuelle. On pourrait toutefois citer l'exemple de certains virus, aussi bien biologiques qu'informatiques, capables de s'adapter à leur environnement en mutant.
- Enfin, l'implémentation effective du système multi-agents, si elle ne fait pas à proprement parler partie de l'architecture du système, mérite d'être évoquée à travers l'exemple des nombreux langages de programmation qui ont été développés à des fins de recherche en intelligence artificielle. On citera en particulier le langage LISP.