M2

Introduction aux systèmes multi-agents

Éléments de définition des agents logiciels

Un agent est une intelligence artificielle légère et distribuée. L'utilisation d'un agent unique est inutile ; on utilise des agents en cas de besoin d'adaptation dans un système réparti ou pour la simulation d'entités adaptatives.

Définition : Un agent est une entit ́e adaptative, rationnelle, autonome, capable de communication et d’action.

Dans un système multi-agents, les entités en intéraction forment l'environnement. Le système multi-agents + l'environnement forment le "monde".

Un agent possède des croyances qui peuvent évoluer au cours du temps. Un agent possède également un ensemble d'actions faisant partie de stratégies. Le but est de choisir la bonne stratégie

Dimension conative

Un agent possède des désirs qui sont les objectifs qu'il cherche à atteindre. Un but est une étape d'un objectif.

Il possède également des contraintes qui le limitent (au niveau de l'espace, de ces capacités, etc.)

Les types d'agents

Agents cognitifs

Ils possèdent une représentation partielle du monde, élaborent des stratégies et communiquent avec les autres agents.

Ils sont utilisés pour la gestion, le contrôle d'entités distribuées (véhicules autonomes, robots, etc.).

Agents réactifs

Ils ont une perception limitée et fonctionnent par action/réaction.

Ils sont utilisés pour réaliser des simulations (trafic, incendie, etc.)


Certains simulateurs utilisent les deux types d'agents selon le niveau de simulation qu'ils souhaitent réaliser.

Certaines applications les combinent pour les différents niveaux de gestion (stratégique, tactique, opérationnel).

Par exemple, dans un véhicule autonome :

Couplage entre agents

Lorsque les agents doivent communiquer entre eux, chaque agent a un rôle particulier. Les 3 rôles sont :

Lorsque les agents communiquent entre eux, ils le font :

L'oganisation d'un système multi-agents peut être définie de base (i.e. a priori) ou se réaliser suite aux intéractions entre agents.

Agentification

Pour définir un système multi agents, il faut définir :

Il faut également ajouter les fonctions d'adaptations des agents ainsi que le(s) rôle(s) que chacun joue.

Selon l'application, le cycle de développement diffère :