Il y a un nombre important d'ouvrages offrant des
définitions des agents et des systèmes multi-agents. Les
difficultés sont semblables en quelque sorte à celles
rencontrées par les scientifiques qui ont essayé de
définir la notion d'intelligence artificielle. Pourquoi a-t-il
été si difficile de définir l'intelligence artificielle et
pourquoi est-il si difficile de définir les systèmes d'agents,
quand d'autres concepts de l'informatique, tels que l'objet et l'orienté
objet, le calcul distribué, etc., n'ont pas rencontré une si
grande résistance à être définis.
Une réponse possible est que la notion d'agent, ainsi
que la notion d'intelligence artificielle, ont émergé des humains
et de la société humaine. Il est évidement difficile de
modéliser ou de simuler le comportement spécifique humain au
moyen de programmes informatiques.
Il y'a plus de 30 ans, les scientifiques ont essayé
d'écrire des programmes 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.
Il n'y a pas une définition acceptée en
unanimité pour la notion d'agent. Dans ce qui suit, on présente
les définitions les plus importantes.
10
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 [FER 95].
Nous pouvons identifier deux tendances principales en
comparant les définitions données ci-dessus pour les agents et
les agences. Quelques chercheurs considèrent que nous pouvons
définir un agent en isolation, alors que d'autres
considèrent les agents principalement comme entités agissant dans
une société d'autres agents, à savoir le paradigme des
systèmes multi-agents (SMA).
Les deux tendances ont déjà donné des
résultats. C'est vrai qu'on pense que c'est le paradigme des
SMA2 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 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, ils ne pourront pas réaliser leurs
tâches en isolation. Par conséquent, les chercheurs
considèrent la dimension sociale d'un agent comme une de ses
caractéristiques essentielles.
D'autres considèrent la mobilité en tant qu'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é des agents d'interagir avec
l'environnement.
En partant de l'ouvrage de [WOO 95a], et des définitions
citées, on peut identifier les caractéristiques suivantes pour la
notion d'agent:
12
Par exemple, dans la FIG 01, les
propriétés telles que la coopération, l'apprentissage et
l'autonomie permettent de définir quatre types particuliers d'agents:
16
l'objet. Les agents sont aussi des entités
informatiques qui possèdent un état interne (privé), qui
sont capables d'agir et de communiquer par échanges de messages. Ce qui
différencie les objets des agents, c'est que ces derniers reposent sur
un concept très fort d'autonomie leur permettant d'agir de
manière très flexible. La négociation, processus par
lequel différents groupes arrivent à un accord, est un concept
étranger au monde objet. La démarche en vue d'une
négociation requiert un comportement flexible afin de pouvoir faire
certaines concessions de part et d'autre.
De plus, les agents contrôlent d'une certaine
façon leur état interne. Par exemple, si un objet O1 invoque une
méthode M1 sur l'objet O2, cette méthode sera
exécutée si aucune erreur ne survient. Cependant, si un agent A1
effectue une requête R1 à l'agent A2, c'est ce dernier qui
décidera si la requête sera effectuée ou non. Toute la
différence se situe dans les termes invocation et requête.
Le tableau Tab 01 présente un
récapitulatif des éléments de base de l'approche
orientée objet versus l'approche orientée agent
présenté par Shoham [SHO 93].