8.3 Système
multi-agents (SMA)
De la notion de système multi-agents, se dégage
immédiatement l'idée d'un système qui est fait de
plusieurs agents. Le concept d'agent reste donc le pivot de ce domaine et
l'interprétation qu'on a de ce terme, doit être le premier dans
l'exploitation de l'univers multi-agents [Bakam, 2002].
8.3.1 Notion
d'agent
8.3.1.1 Agent &
Objet
La notion d'agent s'apparente beaucoup au concept classique
d'objet qui est une structure encapsulant les données (attributs) et les
procédures (méthodes). La programmation objet, basée sur
le paradigme « Objet = données + méthodes »,
se distingue clairement de la programmation structurée, traduite par
« Programme = données + procédures » [Bakam,
2002].
L'agent étend un objet en y ajoutant son autonomie et
ses objectifs propres. Ceci dit, lorsqu'un agent reçoit un message, il
met en oeuvre avec son contexte interne et sa perception un véritable
protocole de communication, contrairement à un objet qui active
simplement une méthode associée si elle a été
implémentée lors de sa définition. On se demande à
savoir qu'est ce qu'un agent ?
8.3.1.2
Définition d'agent
Répondre à cette question est aujourd'hui encore
quelque peu embarrassant car il n'existe pas de dé?nition formelle
relative à l'implémentation. La programmation orientée
agent est donc aujourd'hui beaucoup plus une manière de penser un
système informatique qu'une technique d'implémentation
particulière. Ainsi, la plupart des dé?nitions qui ont
été proposées pour le terme agent s'attachent à
décrire des principes généraux liés à cette
approche ([Ferber, 1995], [Russell & Norvig, 2003], [Briot & Demazeau,
2001]).
L'une des dé?nitions les plus célèbres de
la notion d'agent a été formulée par [Russell &
Norvig, 2003], ils considèrent un agent comme « Tout ce qui
peut être vu comme percevant son environnement à l'aide de
capteurs et agissant sur cet environnement à l'aide d'effecteurs, de
façon autonome». Cette dé?nition très
générale et volontairement minimaliste dans sa formulation
(uniquement). Elle est étendue par Ferber pour, en outre, accentuer
l'importance de l'environnement (qui demeurait rarement spéci?é).
Pour [Ferber, 1995], « On appelle agent une entité
physique ou virtuelle
a. qui est capable d'agir dans un environnement,
b. qui peut communiquer directement avec d'autres
agents,
c. qui est mue par un ensemble de tendances (sous la forme
d'objectifs individuels ou d'une fonction de satisfaction, voire de survie,
qu'elle cherche à optimiser),
d. qui possède des ressources propres,
e. qui est capable de percevoir (mais de manière
limitée) son environnement,
f. qui ne dispose que d'une représentation partiel
le de cet environnement (et éventuellement aucune),
g. qui possède des compétences et o?re des
services,
h. qui peut éventuellement se reproduire,
i. dont le comportement tend à satisfaire ses
objectifs, en tenant compte des ressources et des compétences dont elle
dispose, et en fonction de sa perception, de ses représentations et des
communications qu'elle reçoit. »
Cette dé?nition énonce les
propriétés minimales dont disposent un agent pour qu'il soit
considéré en tant que tel. Ces caractéristiques se
résument en quatre mots [Wooldridge, 1997] :
Ø l'autonomie :
capacité à évoluer selon un comportement propre sans
intervention de l'extérieur ;
Ø la réactivité :
capacité à réagir en fonction d'évènements
extérieurs ;
Ø la pro-activité :
capacité à prendre des décisions de manière plus ou
moins élaborée a?n d'accomplir des objectifs ;
Ø la sociabilité :
capacité à interagir avec d'autres agents.
De cette autre définition, il est facile de voir qu'un
agent possède un état interne qui change en fonction de ses
perceptions (entrées) et on parle du comportement d'un agent pour
quali?er la manière dont il réagit à son environnement
(relation E/S). On le représente d'ailleurs souvent de manière
abstraite à l'aide du schéma suivant (?gure 2.4) [Wooldridge,
2000]:
Figure 2.4 : Représentation classique d'un
agent et de son environnement [Wooldridge, 2000].
Comme le montre cette ?gure, un agent est dé?ni par un
ensemble de perceptions (entrées), un ensemble d'actions (sorties) et on
parle de l'architecture interne de l'agent pour désigner les
mécanismes qui dé?nissent sa dynamique intrinsèque
[Michel, 2004]. On utilise aussi fréquemment les termes
senseurs et e?ecteurs pour désigner les moyens par
lesquels un agent interagit avec son environnement. L'architecture interne d'un
agent est perçue comme un processus cyclique comportant trois phases
successives : perception, délibération et
action [Ferber, 1995] (figure 2.5) :
Figure 2.5 : L'agent, un processus cyclique
à trois phases : perception,
délibération puis action [Ferber,
1995].
|