Notions sur les Agents
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 28 / 95
Différentes définitions:
*On appelle agent un système mécanique, biologique ou logiciel
qui interagit avec son environnement.
* Par exemple :
– Une imprimante peut être vue comme un agent mécanique qui
réagit à des commandes et produit des actions en retour.
– Les plantes, les animaux, les humains sont des agents biologiques
ayant plus d ’autonomie, qui absorbent des nutriments, qui
respirent, qui se transforment et qui transforment leur
environnement.
– Les agents logiciels sont des programmes autonomes, mis en
route sur une machine, qui perçoivent certains éléments de leur
environnement par les flots d ’entrée (clavier, souris, capteurs) et
agissent par leur flot de sortie (affichages sur l ’écran, commande
de machine physique, contrôle de processus).
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2
Les agents : quelques définitions
Entité physique ou virtuelle mue (qui bouge) par un ensemble de
tendances (objectifs individuels, fonction de satisfaction ou de survie
à optimiser), qui possède des ressources propres, ne dispose que d’une
représentation partielle (éventuellement aucune) de son
environnement, son comportement tendant à satisfaire ses
objectifs, en tenant compte de ses ressources et de ses
compétences, et en fonction de sa perception, ses représentations et ses
communications [ Ferber 91].
Un agent intelligent est une entité logicielle qui réalise des opérations
pour le compte d’un usager (ou d’un autre programme) avec un certain
degré de liberté et d’autonomie et qui, pour ce faire, exploite des
connaissances ou des représentations des désirs et des objectifs
[IBMWhite paper, 95].
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 30 / 95
Les agents : quelques définitions
Un agent autonome est un système calculatoire qui, placé
dans un environnement complexe et dynamique, perçoit et agit de
manière autonome dans cet environnement et, ce faisant, réalise
les objectifs ou les tâches pour lesquels il est conçu [P. Maes, 95].
Un agent est un système informatique situé dans un
environnement, capable d’actions flexibles et autonomes dans cet
environnement, pour atteindre le but pour lequel il a été conçu
[Wooldridge 97].
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 31 / 95
Positionnement d’un agent par rapport à certaines
disciplines
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 32 / 95
Comparaison AGENT vs OBJET
Différences entre objet et agent
*les objets n’ont ni but ni recherche de satisfaction et le
mécanisme d’envoi de message se résume à un simple appel
de procédure.
* Dans un objet, il n’y a pas de langage de communication
à proprement parler. Les mécanismes d'interaction sont donc
à la charge du programmeur.
- Un objet est défini par l'ensemble des services qu'il offre
(ses méthodes) et qu'il ne peut refuser d'exécuter si un autre
objet le lui demande. En revanche les agents disposent
d'objectifs qui leur donnent une autonomie de décision vis à
vis des messages qu'ils reçoivent. D'autre part, ils établissent
des interactions complexes qui font intervenir des
communications de haut niveau
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept 2 0 2 2 37 / 95
Différences entre objet et agent
les agents sont autonomes alors que les objets ne le sont pas ; un agent va
décider par son propre processus de décision s’il exécute ou non une action
requise ;
les agents ont leurs propres buts et ils agissent d’une manière pro-active pour
atteindre leurs buts (par exemple, ils saisissent des opportunités) alors que les
objets ne le font pas ;
les agents sont capables d’un comportement social : ils peuvent s’engager dans
des interactions complexes, par exemple coopération, compétition, négociation,
avec d’autres agents ; ce n’est pas le cas des objets ;
un système multi-agents est, normalement, un système dans lequel les agents
correspondent à des chemins d’exécution séparés ; chaque agent a son propre
chemin d’exécution alors que les objets, ne présentent pas cette
caractéristique.
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 35 / 95
Différences entre objet et agent
Donc on peut dire que:
* un agent peut être considéré comme un objet ayant
des capacités supplémentaires: recherches de
satisfaction (intentions, pulsions) communications à
base de langages plus évolués (actes de langages pour
les agents cognitifs, propagation de stimuli pour des
agents réactifs)
* Inversement un objet peut être considéré comme
un agent « dégénéré » devenu un simple exécutant, tout
message étant considéré comme une requête.
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2 36 / 95
PROPRIETES DES AGENTS
Propriétés clés des agents
Autonomie : Un agent a un certain degré d’autonomie.
un agent peut agir sans l’intervention directe d’un
tiers (agent ou humain) et contrôler ses actions ainsi que son
état interne.
Un agent possède certains états non accessibles aux autres agents
et composants du système.
Situé : l’agent est situé dans son environnement (physique ou
virtuel) . L’agent est capable d’agir sur son environnement à partir des
entrées sensorielles qu’il reçoit de ce même environnement ;
Réactivité : un agent perçoit son environnement, via des senseurs,
et répond aux changements qui s’y produisent, via des effecteurs,
en un temps raisonnable. L’environnement peut être le monde
physique, un utilisateur via une interface graphique, d’autres agents,
un système d ’information , …
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2
Propriétés clés des agents
Social : l’agent doit être capable d’interagir et de communiquer avec les
autres agents (logiciels et humains) quand la situation l’exige afin de
compléter ses tâches, résoudre des problèmes ou aider ces agents à
accomplir les leurs.
Pro-activité : l ’agent est capable, sur sa propre initiative, de se
fixer des buts pour atteindre ses objectifs (opportuniste), en adoptant les
comportements appropriés.
Actif: Un agent est toujours actif. Il s’exécute donc nécessairement dans un
thread (processus léger) ou un processus indépendant.
Communiquant : un agent peut communiquer avec d’autres
agents .
Flexible : l’agent dans ce cas est Capable de répondre à temps : il doit
être capable de percevoir son environnement et élaborer une réponse ;
Propriétés clés des agents
Agent Intelligent : un agent est « intelligent » s ’il est capable
de réaliser des actions flexibles et autonomes pour atteindre les
objectifs qui lui ont été fixés. La flexibilité correspond aux
propriétés de Réactivité, Pro-activité, Aptitudes sociales.
Propriétés additionnelles des agents
Apprentissage : un agent peut mémoriser ses expériences et
adapter son comportement en conséquence. Il est capable
d’apprendre et d’évoluer en fonction de cet apprentissage. Il est
capable de changer de comportement (en fonction des expériences
passées).
Mobilité : un agent peut se déplacer d ’une machine à une autre
et éventuellement se dupliquer.
Dr. D j e m a m e S. Les Systèmes Multi-Agents Sept. 2 0 2 2
Exemple d’agent mobile
Prenons l'exemple de la recherche d'un billet d'avion sur le net
[Charton03].
L'utilisateur interagit avec les différentes compagnies aériennes
afin de leur demander le prix d'un billet respectant ses
exigences. Les informations sur ses billets sont envoyées a
travers le réseau sur la machine cliente. L'utilisateur effectue un
tri sur les différentes offres afin de choisir le billet le moins
cher. Une fois son tri effectué, les autres informations lui sont
devenues inutiles. Dans le but de diminuer les échanges
intermédiaires, nous pouvons envisager d'utiliser la technologie
d'agents mobiles.
Exemple d’agent mobile
Ainsi l'utilisateur crée un agent dont le but est de visiter les
sites des principales compagnies aériennes et de lui ramener le
meilleur tarif. Ainsi en envoyant les agents sur les sites des
compagnies, les messages échanges deviennent locaux et
libèrent d'autant la charge du réseau. En plus de la taille de son
code, l'agent mobile transporte avec lui les informations sur le
billet le moins cher. Bien que dans la communication par
agents mobiles la taille de l'agent ajoute une surcharge lors de
la communication, cet
inconvénient se transforme en avantage par le fait que l'agent
effectue des interactions locales diminuant d'autant la quantité
d'information échangée.