• Aucun résultat trouvé

2.2 Méthodes de modélisation

2.2.3 Les systèmes Multi-Agents (SMA)

2.2.3.1 Définitions et concepts

Un SMA est un ensemble d’entités autonomes, rationnelles et interactives appelées agents. Un agent est une entité logicielle pouvant jouer un ou plusieurs rôles ayant un ou plusieurs comporte- ments. Il peut représenter un être humain (agent médical, par exemple), un robot (agent mobile) ou encore un agent virtuel (programme informatique). Un agent a un état interne qui évolue dans le temps en fonction de son raisonnement interne et de ses interactions avec son environnement conte- nant d’autres agents ou objets passifs [Macal et al., 2005]. L’environnement peut être le monde réel ou bien un univers virtuel modélisé de manière informatique. Les SMA sont proposés comme un paradigme innovant de conception pour concevoir, analyser et mettre en œuvre des systèmes informatiques complexes. Ils sont destinés à opérer dans des contextes dynamiques, distribués, imprévisibles. Ils sont situés à l’intersection entre l’intelligence artificielle (IA) et les systèmes distribués, d’où l’intelligence artificielle distribuée (IAD). Donc un SMA, permet la représentation décentralisée d’un système grâce aux agents [Ferber, 1999]. Il est également capable d’une part, de simuler les phénomènes complexes ou de résoudre un problème de manière distribuée, et d’autre part, de contribuer à la réduction de la complexité de la modélisation classique [Bousquet et al., 2002].

Selon l’étude de [Wooldridge et al., 1995], les principales propriétés des agents sont la réacti- vité (l’agent est capable de réagir avec l’évolution de son environnement), la proactivité (l’agent peut prendre des initiatives pour accomplir ses propres buts), la sociabilité (l’agent peut agir et

2.2. Méthodes de modélisation 27

Figure2.1 – Interaction de l’agent avec l’environnement [Afoutni, 2015]

échanger des informations avec les autres acteurs de son environnement), l’autonomie, l’adapta- bilité (apprentissage) et la mobilité. concernant la sociabilité de l’agent, ce dernier ne peut pas contrôler l’intégralité de son environnement car il a une vision limitée de celui-ci. D’où l’utilité de coopérer avec les différents acteurs de son environnent. La figure 2.1 montre l’interaction d’un agent avec son environnement grâce à ses propres éléments d’interactions (capteur, perception, action).

IL existe trois types d’agents [Kaddoussi, 2012]

Agent réactif : un agent est réactif quand il réagit aux changements de son environnement par une action programmée. L’exemple le plus célèbre est celui de la fourmilière [Drogoul, 2000] ;

Agent cognitif : il possède une mémoire et une connaissance propre de son environnement, des autres agents, ce qui lui permet de gérer ses interactions avec l’environnement et avec les autres agents. L’architecture agents cognitifs la plus connue est l’architecture BDI (Believes, Desires, Intentions) [Rao et al., 2000] ;

Agent hybride : c’est la possibilité de combiner les deux premier types d’agents.

Le comportement d’un agent dépend non seulement de ses mécanismes internes mais aussi de son interaction avec l’environnement [Teahan, 2010]. Il existe plusieurs types de formes d’in- teraction [Zgaya, 2007]. Les plus connues sont : la coopération, la collaboration et la négociation (cas de conflit). Une interaction entre deux agents est représentée généralement sous forme de séquences de messages utilisant un langage graphique tel que le langage UML (Unified Modeling Language) et le langage SySML (Systems Modeling Language), qui est une version avancée du langage UML, plus spécifique pour les applications d’ingénierie des systèmes. Les agents coopèrent lorsqu’ils sont collectivement motivés à atteindre le même objectif (agents non antagonistes). Dans ce cas, les agents ne sont pas en situation de concurrence, ils essaient donc de s’adapter entre eux sans se déranger. Pour coopérer, les agents travaillent ensemble pour partager les tâches et les ressources disponibles. La collaboration est donc une méthode de coopération qui permet la division du travail. La négociation correspond au cas où chaque agent est motivé individuellement

pour atteindre son propre objectif, malgré ceux des autres agents, tout en essayant de préserver une convergence rapide du système (agents antagonistes).

Nous pouvons conclure donc, qu’un SMA est un ensemble d’agents partageant un environne- ment commun, dans lequel chaque agent a ses propres caractéristiques. Ce dernier est en relation organisée avec les autres agents du système ainsi qu’avec son environnement. Par exemple, l’ap- proche VOYELLES dans [Pierre-Michel, 2001] est basée sur le fait que les SMA sont fondés sur quatre principaux aspects qui sont ; l’agent (les caractéristiques internes de chaque agent), l’environ- nement (où les agents interagissent et évoluent), l’interaction (les moyens permettant l’interaction entre les agents) et l’organisation (les moyens permettant la structuration de l’ensemble des entités). Concernant l’environnement agent, les auteurs dans [Russell et al., 2016] expliquent qu’ils peuvent être de natures différentes :

L’environnement accessible/non accessible : un agent a une connaissance complète de l’état d’un environnement accessible. Néanmoins, dans la plupart des environnements réels, les agents n’ont qu’une connaissance partielle de leur environnement ;

L’environnement déterministe/non déterministe : le prochain état d’un environnement déter- ministe est établi par l’état courant de ce dernier et par l’action de l’agent ;

L’environnement statique/dynamique : un environnement statique est caractérisé par un état qui ne change pas au cours du temps.

L’environnement discret/continu : un environnement est discret si l’agent a un ensemble d’actions et de perceptions fixe et fini.

Un environnement d’agent est donc complexe lorsqu’il est inaccessible, non-déterministe, dynamique et continu. Par conséquent, les principales conditions pour lesquelles l’adoption de l’approche agent peut être intéressante ; c’est quand le domaine d’application est géographiquement distribué, ou bien quand une partie du système en question appartient à un environnent dynamique, ou encore quand les sous-ensembles du système doivent interagir entre eux de manière efficace. C’est le cas des systèmes hospitaliers que nous pouvons classer comme étant un environnement complexe puisqu’il est à la fois inaccessible, non-déterministe, dynamique et continu [Daknou, 2011], [Zgaya et Hammadi, 2016]. L’approche SMA a été également utilisée pour résoudre des problèmes dans d’autre domaines tels que le transport [Dotoli et al., 2013], [Hammadi et al., 2013], [Scheltes et al., 2017], la gestion de crise [Kaddouci et al., 2009], [Kaddouci et al., 2010]. Par exemple, dans [Garćıa-Magariño et al., 2008], les auteurs présentent un modèle d’organisation orienté agent pour la gestion de crise optimisant les ressources humaines. Les auteurs précisent que le système a été mis en œuvre par la méthodologie INGENIAS dons l’objectif principal d’INGENIAS est de permettre une transition efficace de la spécification au code et de permettre à différents paramètres de tester le système à faible coût. Dans [Schoenharl, 2006], les auteurs proposent le système WIPER, basé sur une approche multi-agent, qui détecte les urgences et évalue les actions possibles liées à l’urgence. WIPER est conçu comme un système utilisant des services Web reposant sur une architecture orientée service.

2.3. Méthodes d’optimisation 29