1. Introduction aux agents et systèmes multi-agents
1.1 Agents et systèmes multi-agents

1.1.1 Essai de définition

Il y a un nombre important d'ouvrages sur les agents, les définitions des agents et systèmes multi-agents. La situation est comparable en quelque sort avec celle rencontrée quand les scientifiques ont essayé de définir la notion d'intelligence artificielle. Pourquoi a-t-il été si difficile de définir l'intelligence artificielle (et nous nous doutons même maintenant d'avoir réussi à donner une définition exacte) et pourquoi est-il si difficile de définir les systèmes d'agents, quand d'autres concepts de l'informatique, comme ceux d'objet et orienté-objet, calcul distribué, etc., n'ont rencontré pas une si grande résistance à être définis.

Une réponse possible est celle que la notion d'agent, ainsi que celle d'intelligence artificielle, sont émergées des humains et de la société humaine. Il est évidement difficile de modéliser ou de simuler le comportement spécifique humain dans des programmes informatiques. Il y a plus de 30 ans, les scientifiques se sont proposés de créer des programmes d'intelligence artificielle pour mimer le comportement humain intelligent, dont le but était de créer un système artificiel ayant les mêmes capacités qu'une personne intelligente. Maintenant nous rencontrons la provocation de simuler comment les gens se comportent ensemble dans leur environnement, comment ils réagissent, comment ils ressoudent des problèmes de plus en plus complexes par la distribution des tâches ou comment ils élargissent leurs performances par la coopération ou la compétition.

La résolution coopérative de problèmes prend une place prépondérante dans les recherches en intelligence artificielle distribuée (IAD). Un domaine de recherche relativement complexe, dérivé de l'IAD, est celui des systèmes multi-agents (SMA). La thématique SMA se focalise sur l'étude des comportements collectifs et sur la répartition de l'intelligence sur des agents plus ou moins autonomes, capables de s'organiser et d’interagir pour résoudre des problèmes.

A la différence de l'Intelligence Artificielle (IA) qui modélise le comportement intelligent d'un seul agent, l'intelligence artificielle distribuée (IAD) s'intéresse à des comportements intelligents qui résultent de l'activité coopérative de plusieurs agents.Suite à la distribution de l'expertise sur un ensemble de composants qui communiquent pour atteindre un objectif global ou résoudre un problème, il est nécessaire de diviser le problème en sous-problèmes. Cette division n'est pas toujours aisée car beaucoup de problèmes ne peuvent être divisés. Ainsi une extension des systèmes d'IAD est proposée : les composants doivent être capables de raisonner sur les connaissances et les capacités des autres dans le but d'une coopération effective. Pour ce faire, ils doivent être dotés de capacités de perception et d'action sur l'environnement et doivent posséder une certaine autonomie de comportement, on parle alors d'agents et par conséquent de système multi-agents (Durfee et al., 1987).

Il n'y a pas une définition acceptée en unanimité pour la notion d'agent. En ce qui suit, on pressente quelques définitions plus importantes.

  • Un agent est une entité qui perçoit son environnement et agisse sur celui-ci" (Russell, 1997)
  • Un agent est un système informatique, situé dans un environnement, et qui agit d'une façon autonome pour atteindre les objectifs (buts) pour lesquels il a été conçu (Wooldrige et Jennings, 1995).
  • Les agents intelligents sont des entités logiciels qui réalisent des opérations à la place d'un utilisateur ou d'un autre programme, avec une sorte d'indépendance ou d'autonomie, et pour faire cela ils utilisent une sorte de connaissance ou de représentation des buts ou des désires de l'utilisateur." (L'agent IBM);
  • Un agent est une entité qui fonctionne continuellement et de manière autonome dans un environnement où d'autres processus se déroulent et d'autres agents existent." (Shoham, 1993);
  • Un agent est une entité autonome, réelle ou abstraite, qui est capable d'agir sur elle-même et sur son environnement, qui, dans un univers multi-agents, peut communiquer avec d'autres agents, et dont le comportement est la conséquence de ses observations, de ses connaissances et des interactions avec les autres agents (Ferber, 1995).

Comparant les définitions ci-dessus, nous pouvons identifier deux tendances principales quand nous définissions les agents et les agences. Quelques chercheurs considèrent que nous pouvons parler et définir un agent en isolation, alors que certains d'autres considèrent les agents principalement comme entités agissant dans une société d'autres agents, donc le paradigme des systèmes multi-agents (SMA). Les deux tendances ont déjà porté des résultats. C'est vrai qu'on pense que c'est le paradigme des SMA qui va s'imposer comme prépondérant car il est plutôt difficile de compter qu'un agent existe seulement comme une entité pour lui seul et ne rencontrera pas d'autres agents (soit  artificiels ou humains) dans son environnement. Les agents personnels, ou les agents d'information, qui ne sont pas censés principalement de travailler collectivement pour résoudre des problèmes, auront certainement beaucoup à gagner s'ils agissent par interaction avec d'autres agents et bientôt, avec la diffusion large de la technologie multi-agents, ne pourront pas réaliser leurs tâches en isolation. Par conséquent, on va considérer la dimension sociale d'un agent comme une de ses caractéristiques essentielles.

Quelques chercheurs considèrent la mobilité en tant qu'étant une des caractéristiques des agents informatiques. On a des réserves sur cette opinion parce que la mobilité est un aspect relié principalement à la mise en place ou à la réalisation des agents, soient-ils logiciels (agents mobiles sur la toile) ou matériels (robots qui se déplacent dans le monde physique) et peut être comprise dans la capacité d'agents d'interagir avec l'environnement.

En partant de l'ouvrage de Wooldrige et Jennings, 1995, et des définitions citées, on peut identifier les caractéristiques suivantes pour la notion d'agent:

  • situé – l'agent est capable d'agir sur son environnement à partir des entrées sensorielles qu'il reçoit de ce même environnement;
  • autonome – l'agent est capable d'agir sans l'intervention d'un tiers (humain ou agent) et contrôle ses propres actions ainsi que son état interne;
  • proactif – l'agent doit exhiber un comportement proactif et opportuniste, tout en étant capable de prendre l'initiative au bon moment;
  • capable de répondre à temps – l'agent doit être capable de percevoir son environnement et d'élaborer une réponse dans le temps requis;
  • social – l'agent doit entre capable d'interagir avec des autres agents (logiciels ou humains) afin d'accomplir des tâches ou aider ces agents à accomplir les leurs.

Bien que presque toutes les caractéristiques ci-dessus des agents puissent être considérées en tant que partage de quelque chose avec le comportement intelligent, les chercheurs ont essayé de donner une différence nette entre les agents logiciels (software) et les agents logiciels intelligents, glissant dans le monde des agents la différence si recherchée entre les programmes et les programmes intelligents. D'un point de vue, il est clair que, si dans la conception d'un système agent ou multi-agents, nous utilisons des méthodes et des techniques spécifiques à l'intelligence artificielle, alors ces agents peuvent être considérés comme étant  intelligents, évidemment dans le sens de l'intelligence artificielle.

Table de matières Section suivante >>

Politechnica University of Bucharest - 2002