Vous êtes sur la page 1sur 12

Chapitre 03

Notion d’Agent
Notion d’Agents

3.1. INTRODUCTION :
De nos jours, les systèmes multi-agents sont devenus une discipline d'ingénierie
dont le but est de procurer des solutions à des problèmes de la vie réelle. Ils sont
maintenant couramment utilisés en économie, en médecine, en ingénierie et dans de
nombreuses autres disciplines, et ils sont intégrés à de nombreuses applications courantes
de logiciels d'ordinateurs domestiques, aux jeux de stratégie traditionnels, comme les
échecs sur ordinateur et d'autres jeux vidéo.

Ces systèmes sont de plus en plus aptes à résoudre des problèmes très complexes
par des procédés relativement simples à mettre en œuvre et de simuler le fonctionnement
des organisations les plus complexes.

Les apports les plus importants des systèmes multi-agents sont résumés comme
suit :

 L'automatisation et l'amélioration des processus de prise de décisions ;


 La découverte et la représentation des connaissances d’une manière distribuée
 La simulation des fonctionnements des organisations, comme ils sont utilisés
pour simuler de nombreux mécanismes afin de vérifier les hypothèses des nombreuses
recherches
Tout au long de ce présent chapitre nous allons progressivement cerner les systèmes
multi-agents et leurs axes principaux. Pour ce faire, nous commençons par définir les
concepts d’agent et son fonctionnement puis on présente les caractéristiques et les
différents modèles d’un système multi-agents ainsi que les différents types d’interactions
entre agents dans de tels systèmes.

3.2. LE CONCEPT D’AGENT :

3.2.1. Définition :
Plusieurs définitions ont été proposées pour la notion d’agent. D’après Ferber « 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-agent, 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 » [TOUAF 05].

24
Notion d’Agents

Ou encore, « un agent est tout ce qui peut être compris comme percevant son
environnement à travers des senseurs et comme agissant sur cet environnement par
l'intermédiaire d'effecteurs » [THOMAS 05].

Et en plus « l'agent doit être capable de comportements qualifiables de spontanés,


avoir une certaine initiative, proactivité, dans son action, le tout dans le but de satisfaire
son utilisateur, ou, plus globalement, de remplir sa tâche ». [CHICOISNE 02]

3.2.2. Les caractéristiques d’un agent :


Tout agent doit posséder au moins quelques-unes de ces caractéristiques qui le
marquent d’un degré plus ou moins important [STRATULAT 02] :

a) Autonomie : les agents contrôlent leurs actions et leurs états internes. Le


système dans son ensemble est capable de réagir sans l’intervention d’un humain ou d’un
autre agent. l’autonomie est considérée comme la notion centrale de l’agent. Il possède
certains états inaccessibles aux autres agents ;
b) Réactivité : ils perçoivent leur environnement et réagissent aux changements
qui s’y produisent dans le temps requis ;
c) Proactivité : ils ont un comportement proactif et opportuniste pour ne pas agir
uniquement par réaction à leur environnement mais prendre des initiatives selon leurs
buts individuels ;
d) Sociabilité : ils sont capables d’interagir les uns avec les autres quand la
situation l’exige afin d’accomplir leurs tâches ou d’aider les autres agents à accomplir
leurs buts.
e) Apprentissage : ils peuvent évoluer et améliorer leurs connaissances, ainsi
adapter ou changer leurs comportements faces à des situations similaires et cela en
fonction de leurs expériences passées. Cette caractéristique est principalement réservée
aux agents qualifiés « d’intelligents ».

3.3. Typologie des agents :


Il existe deux grandes tendances dans la communauté des agents. Ces deux types
d’agents sont [TOUAF 05] :

3.3.1. Agents réactifs : Les agents réactifs, sont des entités extrêmement simples
qui ne disposent pas presque d’une capacité de raisonnement, n’ayant pas de mémoire,

25
Notion d’Agents

sont de plus bas niveau, ils disposent d’un protocole et d’un langage de communication
réduit, et qui sont situés très localement. (Voir la figure 2.)
Les agents réactifs sont souvent qualifiés de « non-intelligents » qui perçoivent
l’environnement et sont capables d’agir sur celui-ci mais ils n’ont pas une représentation
symbolique de l’environnement ou des connaissances et ils ne possèdent pas de
croyances, pas de mécanisme d’envoi de messages. Leurs capacités répondent
uniquement au mode stimulus/action qui peut être considéré comme une forme de
communication.

Un SMA constitué d’agents réactifs possède généralement un grand nombre


d’agents et présente un comportement global intelligent. Les agents réactifs ne sont pas
intelligents individuellement, mais ils le sont au niveau du groupe. Le comportement
intelligent devrait émerger de l’interaction entre ces agents réactifs et l’environnement qui
les entoure. Chaque agent réactif comporte plusieurs modules, chaque module étant
responsable de la réalisation d'une tâche simple. Ces modules correspondent à des
comportements spécifiques pour accomplir une tâche particulière, et s'appellent modules
de compétence.

Figure2 : Architecture un agent réactif [TOUAF 05]

3.3.2. Agents cognitifs : ils sont plus « intelligents ». Plus complexes, ils peuvent se
construire une représentation de l’environnement, ils possèdent une base de connaissances
et ils sont capables de raisonner, ils peuvent tenir compte de leur passé et ainsi anticiper
sur l’avenir pour planifier leurs actions. Ils peuvent aussi connaître les états des autres
agents.

26
Notion d’Agents

De nombreux travaux de recherche peuvent se classer dans ce type d’approche,


notamment l’approche BDI qui repose sur le modèle « Croyance-Désir-Intention », en
anglais « Belief-Desire-Intention ». Il existe plusieurs architectures d’agents cognitifs, la
figure 3 suivante donne une représentation générale de ce type d’agent :

Figure 3 : Architecture d’un agent cognitif.

L’agent doit élaborer un plan d’action en fonction des connaissances et des


croyances dont il dispose, et des buts qu’il se fixe suite à une perception ou à une
interaction avec le monde extérieur (l’environnement ou les autres agents). Pour cela, il
doit décider du but à retenir et à satisfaire en premier, planifier en fonction de ce but et
passer à l’exécution.

Leur structure fonctionnelle, comme l’illustre la figure 4, est axée autour de trois
fonctions principales qui sont la perception, la communication, la décision [TOUAF 05] :

27
Notion d’Agents

Figure 4 : Structure de fonctionnement de l’agent cognitif

3.3.3. Comparaisons entre agents cognitifs et agents réactifs : le tableau 3


résume les principales différences entres les deux types d’agents.
Agents cognitifs Agents réactifs

Petit nombre d’agents Grand nombre d’agents

Représentation explicite de Pas de représentation


l’environnement

Peut tenir compte de son passé Pas de mémoire de son historique

Connaissances individuelles Pas de connaissances individuelles

Agents complexes Fonctionnement Stimulus/Réponse

Tableau 3 : Comparaison entre agents cognitifs et agents réactifs

Toutefois, pour avoir le meilleur des deux solutions, à savoir architectures


cognitives et réactives, les chercheurs ont conçu des architectures hybrides qui combinent
les caractéristiques de ces deux architectures. Il est possible de concevoir des systèmes
hétérogènes comportant les deux types d’agents. Il est aussi possible de doter les agents
cognitifs de capacités de réactions aux événements : on parlera alors d’agents hybrides.

3.4. LES SYSTEMES MULTI-AGENTS (SMA) :


Contrairement à la description d’un agent qui donne une vision locale, la description
des systèmes multi-agents offre une vue globale et externe, et s’intéresse aux moyens et
méthodes permettant aux agents d’avoir un comportement collectif.

3.4.1. Définition :
Un système multi-agents est « un ensemble d’entités qui coordonnent leurs
connaissances, buts, expériences et plans pour agir ou résoudre des problèmes, incluant
le problème de la coordination inter-agent lui-même ». [TOUAF 05]

Les systèmes multi-agents consistent à « gérer une société d’entités autonomes


appelées agents qui peuvent s’organiser de façon à résoudre des problèmes, réaliser des
tâches et d’une manière générale produire des phénomènes globaux qu’aucun agent ne

28
Notion d’Agents

peut réaliser ou pas avec la même efficacité individuellement. Les SMA utilisent la
métaphore sociale que ce soit celle des insectes dits sociaux quand les agents sont

réactifs (SMA réactifs) ou des organisations humaines quand les agents sont
cognitifs ». [MULLER 02]

Un système multi-agents peut donc être défini comme un ensemble d’agents,


cognitifs ou réactifs, qui adaptent des comportements coopératifs afin de résoudre des
problèmes et d’atteindre leurs buts et de réaliser leurs objectifs.

D’après Ferber, un système multi-agents est constitué de [FERAND 98]:

 Un environnement E, c’est-à-dire un espace disposant généralement d’une


métrique.
Un ensemble d’objets O. Ces objets sont situés, c’est-à-dire que, pour tout objet,

 il est possible, à un moment donné, d’associer une position dans E. Ces objets
sont passifs, c’est-à-dire qu’ils peuvent être perçus, créés, détruits et modifiés par les
agents.
 Un ensemble A d’agents, qui sont des objets particuliers (A С O), lesquels
représentent les entités actives du système.
 Un ensemble de relations R qui unissent des objets (et donc des agents) entre
eux.
 Un ensemble d’opérations Op permettant aux agents de A de percevoir, produire
consommer, transformer et manipuler des objets de O.
 Des opérateurs chargés de représenter l’application de ces opérations et la
réaction du monde à cette tentative de modification, que l’on appellera les lois de
l’univers.

3.4.2. Caractéristique d’un système multi-agents :


Les systèmes multi-agents, possèdent généralement les caractéristiques suivantes :

 Les agents agissent et travaillent indépendamment les uns des autres ;


 Chaque agent est une partie intégrante du système ;
 Chaque agent travaille dans le but d’accomplir ses taches ;
 Chaque agent est capable de communiquer et d’interagir avec d’autres agents ;
 Un agent coopère avec les autres agents lorsque nécessaire ;

29
Notion d’Agents

 Un agent est capable de coordonner ses activités avec les autres agents pour
accéder à des ressources et à des services dont il a besoin pour réaliser ses taches ;
 Les agents peuvent avoir des buts communs ;
 Chaque agent a une vue partielle du système ;

3.4.3. Les modèles de systèmes multi-agents :


On distingue trois types de systèmes multi-agents qui sont [TOUAF 05] :

3.4.3.1. Les systèmes à tableaux noirs (Système centralisé) : Dans ce type de


système, le tableau noir est le seul moyen de coopération entre les agents, elle est alors
indirecte et les agents s’ignorent totalement. Chacun des agents, appelés aussi « sources
de connaissances », renferme une partie de la connaissance du domaine.
Les agents n’ont pas une vue globale du problème, ni de l’état global de la solution.
Ils réagissent uniquement aux informations auxquelles ils ont accès et ne peuvent pas
raisonner sur leurs coopérations avec les autres.

Tout système basé sur ce modèle est constitué de trois entités :

 Les sources de connaissances (KS) : qui sont l’ensemble des agents du système ;


 Tableau noir (blackboard) : contient une description de l’état de la résolution
sous formes d’entités appelées faits, hypothèses ou noeuds. Il sert à partager les données
entre les agents ;
 Le mécanisme de contrôle : il gère les conflits d’accès où ressources contenues
dans le tableau noir entres les agents ;
3.4.3.2. Les systèmes d’acteurs : Ils sont des systèmes dont les connaissances et les
contrôles sont totalement distribués sur l’ensemble des acteurs, un acteur est un agent
actif, autonome et communiquant librement avec ses semblables pour se déléguer des
tâches et se transmettre des résultats (figure 5). Ces systèmes se caractérisent par :
 Un traitement local qui veut dire qu’un agent ne peut manipuler que sa base de
connaissance locale et envoyer des messages aux autres agents qu’il connaît. De ce fait,
les connaissances des uns et des autres sont distribuées parmi les agents, qui effectuent
des tâches en parallèle et de manière indépendante.
 La seule structure de contrôle dans se type de système est l’envoi de message.

30
Notion d’Agents

Figure 5 : Les systèmes d’acteur.

3.4.3.3. Les systèmes distribués : Les systèmes distribués sont composés d’agents
plus complexes que précédemment, dotés de capacités de raisonnement avancées.
Généralement, ces agents sont localisés sur des sites physiquement différents. Cela
implique la mise en œuvre de stratégies de coordinations très élaborées entres les agents.
Ces derniers doivent en effet être capables de planifier intelligemment leurs activités
locales en fonction de celles des autres.

3.5. Les interactions dans les SMA :


La notion d'interaction constitue l'essence d'un système multi-agents puisque c'est
grâce à elle que les agents vont pouvoir produire des comportements collectifs complexes
et dépendants les uns des autres. Toutefois, le terme d'interaction recouvre plusieurs
aspects.

3.5.1. Définition : d’après Ferber « On appellera situation d'interaction un


ensemble de comportements résultant du regroupement d'agents qui doivent agir pour
satisfaire leurs objectifs en tenant compte des contraintes provenant des ressources plus
ou moins limitées dont ils disposent et de leurs compétences
individuelles. »[THOMAS05]
Ferber a proposé une classification des situations d'interaction selon plusieurs
critères en distinguant trois situations :

 La présence d'objectifs communs ou compatibles ;


 L'accès à des ressources communes ;
 La répartition des compétences au sein des agents.
3.5.2. Types d’interactions : les agents utilisent plusieurs types d’interactions pour
coordonner leurs actions. Parmi ces types on peut citer :

31
Notion d’Agents

3.5.2.1. Coordination : Les résultats des travaux de certains agents (les solutions)
sont utiles pour les autres agents. Donc à un certain moment (temps) ils doivent
coordonner leurs taches. La coordination permet aux agents d’une part de traiter toutes les
tâches et d’autre part elle évite aux agents de refaire un travail qui a été fait par l’un des
agents. Elle est la colle qui lie les activités séparées des agents en un ensemble.

3.5.2.2. Coopération : la coopération peut être considérée comme une attitude


adoptée par les agents qui décident de travailler ensemble, elle peut être vue comme la
détermination de : qui fait quoi?, quand?, où?, avec quel moyen? De quelle manière? et
avec qui?

3.5.2.3. La communication : Les communications dans les SMA sont l’essentiel


des interactions et un moyen d’organisation. Une communication peut être définie comme
une forme d’action locale d’un agent vers d’autres agents.
Toute communication suscite les interrogations suivantes : qui communique quoi, à
qui, quand, pourquoi, et comment.

Il existe plusieurs modes de communications entres agents, parmi ces types on peut
citer [TOUAF 05] :

a) Communication par envoi de message : Les agents sont en liaison directe et


envoient leurs messages directement et explicitement au destinataire. Ce mode de
communication est utilisé dans les systèmes d’acteurs.
La Communication par envoi de message se fait suivant deux modes de
transmissions qui sont :

 Transmission point à point : l’agent émetteur connaît et précise l’adresse de ou


des agent(s) destinataire(s).
 Transmission par diffusion : le message est envoyé à tous les agents du système.

b) Communication par partage d’information : Les agents ne sont pas en liaison


directe mais communiquent via une structure de données partagée où les agents accèdent
pour déposer des informations et / ou prendre celles qui leurs sont destinées. Le meilleur
exemple qui utilise ce type de communication est les systèmes à tableau noir, qui est
illustré dans la figure 6 suivante :

32
Notion d’Agents

Figure 6 : Communication par partage d’information.

c) Modèle hybride : Le principe est de concevoir des systèmes d’agents à base de


tableau noir qui communiquent par le mode d’envoi de message,

3.5.3. Les langages de communication agent (ACLs) :


Dans les SMA cognitifs, la tendance est à l’utilisation des langages explicite pour
coder les interactions entres les agents du système, cela permet d’améliorer
considérablement la coordination entres les agents et leurs efficacités

La propriété essentielle des ces langages et qui les rend très utiles, c'est que le sens
de leurs signes est partagé par l’ensemble des agents

Ces langages utilisent au minimum [PASQUIER 05]:

 Un dictionnaire de vocabulaire de signes communs ;


 Des actes de langage qui servent de briques de bases de la communication et
correspondent aux attitudes propositionnelles transmises entre les agents.
Il existe plusieurs types d’ACL (Agent Communication Language), les plus utilisés
sont :

3.5.3.1. KQML [KnowledgeQuery and Manipulation Language] : KQML est


issu d'un projet de la DARPA6, le KSE [Knowledge Sharing Initiative] en 1993,
initialement prévu comme moyen d'échange d'informations entre programmes à base de
connaissances. Toutefois, sa structure orientée message et la généricité de ses primitives
lui permettent d'être utilisé comme ACL.
Ses performatifs sont divisés en trois catégories :

6
Une agence américaine pour la recherche militaire.

33
Notion d’Agents

 Sept (7) performatifs de régulation de conversation traitent


quelques cas particuliers (sorry, error) et permettent quelques variantes de la
conversation (standby, ready, next, rest, discard) ;
 Dix-sept (17) performatifs de discours permettent l'échange
d'informations et de connaissances (ask-if, tell, deny, stream-all, ...) ;
 Onze (11) performatifs d'assistance et de réseau pour étendre la
conversation à plus de deux agents (forward, broker-all, ...).

3.5.3.2. FIPA-ACL (Foundation for Intelligent Physical Agents) : L'organisation


FIPA a défini un standard de langage basé sur la théorie des actes de langages. Les
spécifications de FIPA-ACL se composent d’un ensemble de types de message et de la
description. Elles fournissent également la description normative d’un ensemble de
protocoles d’interactions de haut niveau, y compris la demande d’action, l’établissement
de contrat (contract net) et plusieurs mécanismes d'enchère.
Sa syntaxe est identique à celle de KQML excepté différents noms pour quelques
primitifs réservés. FIPA-ACL possède 21 actes communicatifs, exprimés par des
performatives. En FIPA-ACL, il n'existe pas de primitives de gestion ni de facilitation.
Les actes communicatifs peuvent être primitifs c'est-à-dire qu'ils ne sont pas définis à
partir d'autres actes, ou composés d’un ensemble d’actes.

3.5.3.3. Les autres langages : Il existe une multitude d’autres langages comme :
 ARCOL (ARtimis Communication Language)
 ICL (InterAgent Communication Language).
 AOP (Agent OrientedProgramming).
 MAC (Mobile Agent Communication).

34

Vous aimerez peut-être aussi