3.3.2
Environnement
Un environnement est un espace représentant le monde
dans lequel les agents évoluent. On fait généralement une
distinction entre les agents qui sont les entités actives, et les objets
passifs qui se situent dans l'environnement. Lorsque ce dernier dispose d'une
métrique (cas général), la capacité de perception
d'un agent et sa capacité à reconnaître les objets
situés (position, relations entre objets) et la capacité d'action
d'un agent et celle de transformer l'état du système en modifiant
les positions et relations qui existent entre les objets. Par exemple dans un
univers de robots, l'environnement est l'espace géométrique
euclidien dans lequel se déplacent les robots (agents) et où sont
situés des objets physiques que les robots peuvent manipuler ou doivent
éviter.
Cependant, Boissier distingue l'environnement du
système multi-agents et l'environnement de l'agent. L'environnement du
système multi-agents est l'environnement physique support des actions
des agents et disposant de ressources. L'environnement de l'agent est
l'environnement du système multi-agents et les autres agents. C'est la
source des données du problème et le lieu où l'agent peut
trouver des ressources.
Russel et Norvig définissent les principales
propriétés de l'environnement [Querrec 02] :
·
Accessibilité : l'agent dispose de capteurs lui
permettant d'accéder à l'état de l'environnement (en
général localement).
·
Déterminisme : le prochain état de l'environnement
est fonction de son état courant et de l'action de l'agent.
·
Episodisme : les prochaines évolutions ne
dépendent pas des actions déjà réalisées.
·
Dynamisme : l'environnement peut changer pendant la
réflexion de l'agent.
·
Discret : le nombre de percepts et d'actions de l'agent est
limité.
·
Concurrence d'accès : d'autres agents souhaitant
interagir existent dans l'environnement.
3.3.3
Interactions
Le principe d'implémentation des systèmes
multi-agents est localisé, c'est-à-dire que le concepteur ne se
soucie pas du comportement global du système, mais uniquement des
différentes entités autonomes en décrivant leur
comportement localement. Pour obtenir un comportement global cohérent,
il faut alors décrire la manière dont les entités vont
interagir entre elles et avec l'environnement.
Selon Ferber [Ferber 95], l'interaction est définit
comme étant la mise en relation dynamique de deux ou plusieurs agents
par le biais d'un ensemble d'actions réciproques. Les agents peuvent
interagir soit en accomplissant des actions linguistiques (en communiquant
entre eux), soit en accomplissant des actions non-linguistiques (en modifiant
leur environnement).
Boissier [Zeguida 03] définit une interaction comme une
mise en relation dynamique de deux ou plusieurs agents par le biais d'un
ensemble d'actions réciproques. Il rajoute : il y a interaction lorsque
la dynamique propre d'un agent est perturbée par les influences des
autres. Cela sous-entend différentes formes d'interactions selon les
agents et les systèmes.
Le premier type d'interaction s'opère sans
communication et sans contact direct entre les agents, ils n'ont donc pas
besoin d'avoir conscience des autres. L'agent utilise l'environnement comme
média d'interaction en le modifiant à travers ses actions. Le
principal exemple d'interaction de ce type est : les applications faisant
intervenir des agents réactifs ; tel qu'en éthologie ou en
traitement d'images. Le deuxième cas d'interaction sans communication
fait intervenir un mécanisme d'un niveau de cognition beaucoup plus
élevé. L'agent doit avoir conscience des autres agents, mais
comme il n'y a toujours pas de contact direct, il doit inférer sur ces
actions. L'agent doit alors disposer d'un modèle des autres agents
(grâce aux cartes cognitives floues par exemple) [Querrec 02].
Le second type d'interaction est le plus fréquent dans
les applications des systèmes multi-agents. Il s'agit d'envoi de
messages dont le type est connu à l'avance par les agents. Ces messages
peuvent être diffusés, ou être destinés à un
agent en particulier. Ce genre de communication est considéré
comme la capacité minimum de communication d'un agent. C'est ce qui doit
au minimum différencier un agent d'un objet. La réception d'un
message par un agent s'apparente à un appel de méthode sur un
objet. C'est l'agent lui même qui traite le message et décide (ou
non) d'invoquer une méthode. C'est ce qui fait en partie son autonomie.
Enfin les actes de langage constituent la forme d'interaction
la plus évoluée. Pour pouvoir faire interagir des agents
hétérogènes dans une même application, il a fallu
définir un protocole de communication. De plus, dans certaines
applications, l'utilisateur doit interagir avec les agents de la manière
la plus naturelle possible. Il a donc fallu définir un type de
communication de plus haut niveau et plus évolué. Les recherches
se sont alors portées sur la définition de concepts de
communication d'un point de vue social. Ces recherches ont donné lieu
aux actes de langage.
3.3.4
Organisation
Les agents qui ont un comportement à tendance «
individuelle » résultant des règles de fonctionnement
interne, ont aussi un comportement à tendance « sociale »,
tourné vers la collectivité, régit par les règles
de participation d'un individu à la vie d'un groupe. Ces règles
correspondent dans une organisation, aux relations qui existent ou peuvent
exister entre les différents agents. Ainsi dans un système
multi-agents, on distingue essentiellement deux niveaux d'organisation : les
groupes et les populations. C'est vers ces aspects sociaux de la connaissance
et de l'action que s'orientent désormais les recherches par rapport
à l'attention qui était portée jusqu'alors aux
architectures individuelles des agents.
On peut définir une organisation comme une structure
(pattern) décrivant comment les membres d'une organisation sont en
relation et interagissent afin d'atteindre un but commun. Cette structure peut
être statique, donc conçue a priori par le programmeur du
système ou dynamique, comme on peut en trouver dans les systèmes
multi-agents ouverts [Baeijs 98].
Dans un système multi-agents, il existe de nombreuses
interrelations entre les agents, par le biais de délégation de
tâches, de transfert d'information, d'engagements, de synchronisations
d'actions, etc. Ces interrelations ne sont possibles qu'à
l'intérieur d'une organisation qui constitue le support et la
manière dont se passent ces interrelations (la façon de
répartir les tâches, les informations et les ressources, et de
coordonner les actions). Elle désigne aussi à la fois le
processus d'élaboration d'une structure et le résultat même
de ce processus. C'est d'ailleurs ce qui rend ce terme difficile à
cerner.
Une organisation peut être [Querrec 02]:
·
Explicite : les rôles sont définis à priori.
Avant la simulation, le concepteur connaît la structure
organisationnelle.
·
Emergente : les rôles sont observés à
posteriori. Aucune structure organisationnelle n'est connue du concepteur.
C'est en observant les interactions entre les agents qu'il se fait une
représentation de l'organisation.
·
Statique : la structure ou les entités organisationnelles
sont fixées à priori et ne peuvent pas évoluer
durant la simulation.
·
Dynamique : la structure ou les entités
organisationnelles peuvent évoluer au cours de l'exécution.
En pratique, il est difficile de véritablement
dissocier les aspects interaction et organisation dans les systèmes
multi-agents. Une organisation n'a pas de raison d'existence si elle est
découplée des interactions entre agents et réciproquement,
une interaction entre deux agents ne peut s'exprimer qu'à
l'intérieur d'une organisation.
|