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.
|