Un système multi-agents coopératif (ou SMA coopératif) est un
système qui dispose:
Nous divisons de manière logique l'organisation des systèmes
multi-agents coopératifs en sociétés non cloisonnées, dont la nature dépend de la
somme des agents qui y sont situés: des micro-sociétés (regroupement
de deux agents) ou des macro-sociétés (amalgame important
d'agents ou de micro-sociétés). Cette séparation est architecturelle
et fractale: ce que nous appelons macro-société est un agencement
structurel d'entités (ressources) distinctes, qu'il s'agisse d'agents
ou de sociétés d'agents.
Une des propriétés émergentes des micro-sociétés est de produire des
fonctionnalités (actions de groupe, perceptions locales du problème,
etc.) qu'une macro-société peut utiliser pour résoudre un problème
global: les agents d'un système se regroupent dans le contexte d'un
but plus global poursuivi par « l'entité » groupe. En revanche, les
macro-sociétés produisent des contraintes (explicitement décrites ou
émergentes elles aussi) à destination des agents et
des micro-sociétés qui les composent (contraintes des coordination,
conflits, etc.). Ces contraintes tendent à encadrer les agents vers
la résolution du problème global et à utiliser leurs capacités de
manière coordonnée avec les autres agents du groupe. De telles
contraintes décrivent la structure organisationnelle d'une
macro-société d'agents.
Les agents sociaux composant un système multi-agents sont en interaction
régulière, mais cette interaction peut se révéler conflictuelle: les
buts et les moyens des agents peuvent être différents et antagonistes. Ainsi, on
dégagera plusieurs formes d'interactions au sein d'un système
multi-agents: la collaboration (addition simple des compétences des
agents), la coopération (collaboration coordonnée), la compétition (les
agents ont des buts antagonistes ou doivent se partager trop peu de
ressources), encombrement (les agents se gênent les uns les autres,
mais ne sont pas en compétition).
Sous réserve de résolution des coûts supplémentaires induits par la coopération (synchronisation, partage, etc.), la coopération est une attitude que les agents ont tout intérêt à adopter pour plusieurs raisons: les problèmes peuvent être trop complexes ou distribués pour être résolus localement, certaines actions peuvent être trop coûteuses ou trop importantes pour les ressources d'un seul agent, certains agents sont potentiellement plus spécialisés que d'autres pour résoudre un problème, etc. Pour conserver une motivation suffisante à la coopération, les systèmes multi-agents doivent donc garantir un bénéfice supérieur à l'investissement pour les agents qui coopèrent (la théorie de jeux prouve par ailleurs que le bénéfice de la coopération est d'autant plus important que le nombre de participants coopérant est important). Un des points clefs de la recherche en intelligence artificielle distribuée est le nécessaire besoin de trouver des organisations sociales dont l'appartenance impacte le moins possible sur l'accomplissement des buts individuels des agents les composant.