2.4 Système multi agent
2.4.1 Définition
Un système multi agent est un système logiciel
distribué, composé d'un ensemble d'entités (de programmes)
relativement indépendantes des agents dont chacun est dotés de
son propre thread, de buts propres à remplir, et de moyens pour
communiquer et pour négocier avec les autres afin d'accomplir leurs
buts.
Les SMA sont conçus et implantés idéalement
comme un ensemble d'agents interagissant selon les modes de coopération,
de concurrence ou de coexistence
Les SMA peuvent être vus comme la rencontre de divers
domaines :
· L'intelligence artificielle pour les aspects prise de
décision de l'agent,
· L'intelligence artificielle distribuée pour la
distribution de l'exécution,
· Les systèmes distribués pour les
interactions,
· Le génie logiciel pour l'approche agents et
l'évolution vers des composants logiciels de plus en plus autonomes.
2.4.2 Caractéristiques principales
Un SMA est généralement caractérisé
ainsi :
· Chaque agent dispose d'informations ou de
capacités de résolution de problèmes limités
(ainsi, chaque agent a un point de vue partiel),
· Il n'y a aucun contrôle global du système
multi agent,
· Les données sont décentralisées,
· Le calcul est asynchrone.
2.4.3 Les domaines d'application
On distingue généralement trois types
d'utilisation :
· La simulation des phénomènes complexes,
· La résolution de problèmes,
· la conception des programmes.
On utilise les systèmes multi agents pour simuler des
interactions existantes entre agents autonomes. On cherche à
déterminer l'évolution de ce système afin de
prévoir l'organisation qui en résulte.
Notons bien que l'intelligence artificielle distribuée
est née pour résoudre les problèmes de complexité
des gros programmes monolithiques de l'intelligence artificielle :
l'exécution est alors distribuée, mais le contrôle reste
centralisé. Au contraire, dans les SMA, chaque agent possède un
contrôle total sur son comportement. Pour résoudre un
problème complexe, il est en effet parfois plus simple de concevoir des
programmes relativement petits (les agents) en interaction qu'un seul gros
programme monolithique. L'autonomie permet au système de s'adapter
dynamiquement aux changements imprévus qui interviennent dans
l'environnement. En même temps, le génie logiciel a
évolué vers des composants de plus en plus autonomes. Les SMA
peuvent être vus comme la rencontre du génie logiciel et de
l'intelligence artificielle distribuée, avec un apport très
important des systèmes distribués. Par rapport à un objet,
un agent peut prendre des initiatives, peut refuser d'obéir à une
requête, peut se déplacer, etc. Aussi l'autonomie permet au
concepteur de se concentrer sur une partie humainement appréhendable du
logiciel.
|