• Aucun résultat trouvé

Nous avons défini dans la section précédente les concepts d’agent, de système multi- agent, d’interactions (pour les agents), et d’émergence. Dans cette section, nous présentons les concepts et les notions sur lesquels le travail de cette thèse porte : la théorie Adaptive Multi-Agent System (AMAS).

Tel que nous l’avons défini dans la section 6.1.5, un système complexe n’a pas la capa- cité de s’observer lui-même, et par conséquent il est impossible du point de vue du sys- tème de juger si la tâche pour laquelle il a été conçu est satisfaite. Ainsi, le rôle du juge revient à un observateur externe qui peut observer l’ensemble et indiquer si le système est fonctionnellement adéquat (c’est-à-dire s’il réalise la fonction pour laquelle il a été conçu). L’auto-organisation est le processus permettant à un système logiciel de modifier dynamique- ment son organisation interne (structure et fonctionnalité) pendant son temps d’exécution sans aucun mécanisme de direction externe explicite [Georgé et al., 2011]. Cependant, pour s’auto-organiser, le système doit s’évaluer lui-même. Dans le cas d’auto-organisation des systèmes multi-agents, les agents ne connaissent pas la fonction globale, mais n’en pos- sèdent que des perceptions locales.

La clé est alors de trouver un moyen pour produire une bonne auto-organisation, afin de permettre au système de réaliser une fonction adéquate. La théorie AMAS propose la co- opération comme moyen. En effet, la définition de l’adéquation fonctionnelle indique qu’un système fonctionnellement adéquat n’a pas d’interactions antinomiques avec son environ- nement. Ainsi, tous les systèmes à milieu intérieur coopératif sont fonctionnellement adé- quats.

"Pour tout système fonctionnellement adéquat, il existe au moins un système coopératif qui soit fonctionnellement adéquat dans le même environnement." [Glize, 2001]

Un système à milieu intérieur coopératif est un système où toutes les parties inter- agissent de façon coopérative. Ainsi, un système multi-agent où tous les agents sont dans un état coopératif (c’est-à-dire un système à milieu intérieur coopératif) existe pour chaque problème calculable.

Une démonstration informelle de ce théorème peut être trouvée dans [Glize, 2001]. Cette démonstration s’appuie sur l’inclusion de trois catégories différentes de systèmes : Systèmes Fonctionellement Adéquats (SFA), Systèmes à Etats Coopératifs (SEC) et Systèmes à Milieu Intérieur Coopératif (SMIC). La figure 6.2 illustre ces inclusions (SFA⊃SEC ⊃SMIC)

Nous présentons donc dans ce qui suit la coopération comme définie dans la théorie AMAS.

6.2. L’approche AMAS

Figure 6.2 – Adéquation fonctionnelle des systèmes à milieu intérieur coopératif

6.2.1 Coopération

Dans la théorie AMAS, les agents ont un comportement nominal, c’est-à-dire un com- portement normal qui assure l’adéquation fonctionnelle quand l’agent est dans un état co- opératif. Les agents ont aussi un comportement coopératif, qu’ils adoptent lorsqu’ils sont en situation de non coopération (SNC) afin de revenir dans un état coopératif.

Une Situation de Non Coopération (SNC) est une situation dans laquelle un agent, de par son comportement, ou simplement l’état dans lequel il se trouve, ne peut atteindre son but, ou empêche d’autres agents d’atteindre leur but.

La théorie AMAS identifie 7 situations génériques de non coopération (SNC) pour un agent, réparties selon les trois étapes du cycle de vie d’un agent [Georgé et al., 2011]. Nous trouvons, associées à la perception, les situation de non coopération d’incompréhension et d’ambiguïté, puis, associées à la décision, les SNC d’incompétence et d’improductivité, et enfin, associés à l’action, les SNC de concurrence, de conflit et d’inutilité (voir figure 6.3) :

— Incompréhension : un agent est incapable d’extraire de l’information de ce qu’il perçoit. — Ambiguïté : un agent peut interpréter de différentes manières ce qu’il perçoit.

— Incompétence : un agent est incapable de prendre une décision à partir de ses connais- sances.

— Improductivité : l’agent est incapable de proposer une action à faire pendant l’action. — Concurrence : l’agent perçoit qu’un autre agent est en train d’agir et que les consé-

quences de son action seront les mêmes que sa propre action.

— Conflit : les conséquences de l’action seront incompatibles avec le comportement d’un autre agent.

— Inutilité : l’action d’un agent n’a pas d’impact et n’est pas intéressante pour les autres agents.

Figure 6.3 – Situations de non coopération (SNC) d’un agent

La résolution des situations de non coopération (SNC) se fait localement par les agents, en modifiant l’organisation du système multi-agent, par conséquent en s’auto-organisant. Un agent dispose de trois moyens génériques pour modifier cette organisation :

— Réorganisation : changer ses relations avec les autres agents, c’est-à-dire prendre contact avec d’autres agents, arrêter d’interagir avec un agent donné, ou bien modifier l’importance qu’il accorde aux relations existantes.

— Ajustement : modifier son comportement en ajustant ses paramètres internes. — Ouverture : Décider de créer un nouvel agent, ou bien de se supprimer.

C’est au concepteur que revient la tâche de définir les règles de résolution des SNC. Elles se présentent sous la forme de règles comportementales qui décrivent la détection de la SNC et sa méthode de résolution. A ses règles s’ajoutent les règles d’interactions coopératives précédentes (section 6.1.4) : sincérité, bienveillance, réciprocité et volonté.

La règle de bienveillance implique un degré de satisfaction des différents agents. Dans la théorie AMAS, ce degré de non satisfaction d’un agent est appelé criticité. L’évaluation de la criticité et sa forme est spécifique à chaque type d’agent. La criticité peut être un réel, un entier, ou tout espace (discret ou continu) totalement ordonné. Dans la pratique, la criticité est souvent un réel, ou un n-uplet de réels.

La conception d’un AMAS, est différente de la conception d’approches traditionnelles. La méthode Atelier de Développement de Logiciels à Fonctionnalité Emergente (ADELFE) [Bonjean et al., 2014] guide le développement d’AMAS à travers 5 étapes que nous ne décri- rons pas ici.