24.01.2015 Views

Simulation multi-agents basée sur des mécanismes de marché pour ...

Simulation multi-agents basée sur des mécanismes de marché pour ...

Simulation multi-agents basée sur des mécanismes de marché pour ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MOSIM’01 — du 25 au 27 avril 2001 — Troyes (France)<br />

<strong>Simulation</strong> <strong>multi</strong>-<strong>agents</strong> basée <strong>sur</strong> <strong><strong>de</strong>s</strong> mécanismes <strong>de</strong> marché<br />

<strong>pour</strong> la distribution <strong>de</strong> ressources<br />

Jaroslaw Kozlak, Edward Nawarecki<br />

Yves Demazeau<br />

Institut d’Informatique<br />

Académie <strong><strong>de</strong>s</strong> Mines et <strong>de</strong> la Métallurgie<br />

Al. Mickiewicza 30, 30-059 Kraków, Pologne<br />

Mél : {kozlak, nawar}@agh.edu.pl<br />

Jean-Luc Koning<br />

INPG-ESISAR-LEIBNIZ<br />

46, avenue Félix Viallet<br />

38031 Grenoble ce<strong>de</strong>x, France<br />

Mél : Jean-Luc.Koning@esisar.inpg.fr<br />

LEIBNIZ-IMAG<br />

46, avenue Félix Viallet<br />

38031 Grenoble ce<strong>de</strong>x, France<br />

Mél : Yves.Demazeau@esisar.inpg.fr<br />

RÉSUMÉ : Cet article est consacré au problème <strong>de</strong> la répartition <strong>de</strong> ressources entre <strong>agents</strong> dans un système <strong>multi</strong><strong>agents</strong><br />

selon une approche <strong>de</strong> marché. Nous passons rapi<strong>de</strong>ment en revue l’utilisation <strong>de</strong> cette approche et présentons le<br />

simulateur SMAORR (système <strong>multi</strong>-<strong>agents</strong> ouvert à ressources renouvelables), et particulièrement ses trois éléments :<br />

les <strong>agents</strong> <strong>de</strong> tâches, les marchés et les <strong>agents</strong> contrôleurs <strong>de</strong> ressources. Nous donnons aussi <strong>de</strong>ux exemples d’expériences<br />

effectuées à l’ai<strong>de</strong> <strong>de</strong> ce simulateur. L’article conclut <strong>sur</strong> les perspectives <strong>de</strong> travaux futurs.<br />

MOTS-CLÉS : intelligence artificielle distribuée, systèmes <strong>multi</strong>-<strong>agents</strong>, marché, ressources renouvelables<br />

1. INTRODUCTION<br />

1.1. Systèmes <strong>multi</strong>-<strong>agents</strong><br />

Les systèmes auxquels l’homme est confronté aujourd’hui<br />

peuvent avoir une telle complexité que leur examen analitique<br />

<strong>de</strong>vient difficile à réaliser. Cependant, classiquement,<br />

on les abor<strong>de</strong> sous l’angle <strong>de</strong> la simulation. L’approche<br />

<strong>multi</strong>-<strong>agents</strong> (dont on peut trouver la <strong><strong>de</strong>s</strong>cription<br />

dans (Ferber, 1995) par exemple) modélise <strong><strong>de</strong>s</strong> systèmes<br />

constitués d’<strong>agents</strong> autonomes agissant <strong>de</strong> façon rationelle.<br />

Leur architecture est propice <strong>pour</strong> investiguer tout<br />

problème composés d’éléments qui agissent en vue <strong>de</strong> réaliser<br />

leurs propres buts.<br />

Les systèmes <strong>multi</strong>-<strong>agents</strong> font partie d’un sous-domaine<br />

<strong>de</strong> l’intelligence artificielle que l’on appelle intelligence<br />

artificielle distribuées. Ce qui la différencie <strong>de</strong> l’intelligence<br />

artificielle classique, c’est le fait qu’elle s’occupe<br />

<strong>de</strong> recherches non <strong>sur</strong> une entité mais <strong>sur</strong> plusieurs entités<br />

intelligentes qui collaborent entre elles, et dont la <strong>multi</strong>plicité<br />

engendre du nouvelles fonctionnalités.<br />

Au niveau <strong>de</strong> la réalisation, les systèmes <strong>multi</strong>-<strong>agents</strong> peuvent<br />

s’appuyer <strong>sur</strong> <strong><strong>de</strong>s</strong> domaines <strong>de</strong> l’informatique comme<br />

les systèmes d’exploitation, les systèmes décentralisés et<br />

distribués (<strong>pour</strong> la création <strong><strong>de</strong>s</strong> systèmes à base <strong>de</strong> logiciels)<br />

et aussi <strong>sur</strong> <strong><strong>de</strong>s</strong> domaines proches comme la robotique<br />

(dans le cas <strong>de</strong> création <strong>de</strong> systèmes à base <strong>de</strong> robots<br />

mobiles).<br />

Il existe plusieurs approches <strong>pour</strong> concevoir un système<br />

sous forme <strong>multi</strong>-<strong>agents</strong>. Celle que nous avons retenue<br />

<strong>pour</strong> nos travaux est l’approche VOYELLES<br />

(Demazeau, 1995) qui décompose un système <strong>multi</strong><strong>agents</strong><br />

selon quatre composantes : les <strong>agents</strong>, l’environnement,<br />

l’interaction et l’organisation. Ces éléments génériques<br />

sont regroupés dans une bibliothèque universelle<br />

permettant ainsi la construction <strong>de</strong> différentes sortes <strong>de</strong><br />

systèmes <strong>multi</strong>-<strong>agents</strong>.<br />

Dans cet article, nous présentons le simulateur SMAORR,<br />

qui est mis à profit <strong>pour</strong> analyser un système où les éléments<br />

agissent d’une façon rationelle et executent <strong><strong>de</strong>s</strong><br />

échanges <strong>de</strong> ressources. Le transfert peut être effectué <strong>sur</strong><br />

la base <strong><strong>de</strong>s</strong> principes <strong>de</strong> marchés ou par consommation <strong><strong>de</strong>s</strong><br />

ressources libres <strong>de</strong> l’environnement.<br />

1.2. Marchés<br />

L’utilisation <strong>de</strong> la notion <strong>de</strong> marchés dans les systèmes<br />

<strong>multi</strong>-<strong>agents</strong> a été proposé par Wellman (voir par exemple<br />

(Wellman, 1993, Cheng etWellman, 1997)) et est basée<br />

<strong>sur</strong> la notion <strong>de</strong> marché économique qui détermine le coût<br />

d’équilibre <strong>pour</strong> tous les biens (c’est le coût lorsque la <strong>de</strong>man<strong>de</strong><br />

et l’offre sont en équilibre).<br />

Dans notre système nous distinguons les éléments suivants<br />

:<br />

Les <strong>agents</strong>-producteurs possè<strong>de</strong>nt un ensemble <strong>de</strong> techniques<br />

<strong>de</strong> production (la transformation d’un ensemble<br />

<strong>de</strong> ressources d’entrée en un ensemble <strong>de</strong><br />

ressources <strong>de</strong> sortie) et ils transforment un type <strong>de</strong><br />

ressources donné en un autre en utilisant une technique<br />

<strong>de</strong> production qui leurs garantie le gain le plus<br />

grand.


Les <strong>agents</strong>-consommateurs informent les <strong>agents</strong>producteurs<br />

<strong>de</strong> leur besoins en ressources <strong>sur</strong> la<br />

base <strong>de</strong> leur propre fonction d’utilité.<br />

Les ven<strong>de</strong>urs aux enchères ai<strong>de</strong>nt à la détermination du<br />

prix <strong><strong>de</strong>s</strong> ressources. Ils proposent les prix et les<br />

changent tant que l’équilibre entre la <strong>de</strong>man<strong>de</strong> et<br />

l’offre n’est pas établi.<br />

Le principe du système consiste en une définition <strong>de</strong> la<br />

valeur <strong><strong>de</strong>s</strong> ressources <strong>pour</strong> que le marché soit en équilibre.<br />

Ci-<strong><strong>de</strong>s</strong>sous nous présentons les conditions <strong>de</strong> base du<br />

fonctionnement <strong>de</strong> l’algorithme d’adjudication <strong>de</strong> prix<br />

appelé tâtonnement (Sandholm, 1999).<br />

Le commissaire priseur :<br />

Répéter<br />

Envoyer les prix actuels aux producteurs et aux<br />

consommateurs<br />

Prendre le plan <strong>de</strong> production y j <strong>de</strong> chaque producteur<br />

j<br />

Envoyer les plans <strong>de</strong> production y j aux consommateurs<br />

Prendre les plans <strong>de</strong> consommation x i <strong>de</strong> chaque<br />

consommateur i<br />

Calculer les nouveaux prix<br />

Jusqu’à ce que l’état d’équilibre soit atteint<br />

Informer les producteurs et les consommateurs que l’état<br />

d’équilibre a été atteint<br />

Consommateur i :<br />

Répéter<br />

Prendre les prix du commissaire priseur<br />

Prendre les plans <strong>de</strong> productions <strong>de</strong> chaque producteur<br />

j <strong><strong>de</strong>s</strong> ven<strong>de</strong>urs aux enchères<br />

Informer du plan <strong>de</strong> consommation (max px) le<br />

commissaire priseur<br />

Jusqu’à ce que l’état d’équilibre soit atteint<br />

Effectuer le transfert <strong>de</strong> biens<br />

Producteur j :<br />

Répéter<br />

Prendre les prix du commissaire priseur<br />

Informer le commissaire priseur du plan <strong>de</strong> production<br />

(max py)<br />

Jusqu’à ce que l’état d’équilibre soit atteint<br />

Effectuer le transfert <strong>de</strong> biens<br />

On peut distinguer <strong>de</strong>ux princiales procédures d’établissement<br />

<strong><strong>de</strong>s</strong> prix :<br />

Procédure <strong>de</strong> tâtonnement : l’idée est présentée dans<br />

les algorithmes précé<strong>de</strong>nts. La caractéristique essentielle<br />

est que l’échange <strong>de</strong> biens se produit seulement<br />

après l’établissement <strong>de</strong> l’équilibre.<br />

Procédure <strong>de</strong> non-tâtonnement : l’échange <strong>de</strong> biens ne<br />

se produit pas seulement quand le prix se trouve en<br />

état d’équilibre, mais est possible avant l’établissement<br />

<strong>de</strong> l’équilibre.<br />

L’algorithme <strong>de</strong> marché <strong>de</strong> WALRAS (qui utilise<br />

la procédure <strong>de</strong> tâtonnement) décrit dans<br />

(Cheng etWellman, 1997) a <strong>de</strong>ux caractéristiques :<br />

1. il fonctionne <strong>de</strong> manière asynchrone,<br />

2. on n’envoie pas aux personnes prenant part aux enchères<br />

les quantités <strong>de</strong> biens offertes/obtenues <strong>pour</strong><br />

un prix donné, mais toutes les fonctions <strong>de</strong> l’offre<br />

et <strong>de</strong> la <strong>de</strong>man<strong>de</strong> dans lesquelles les quantités offertes/obtenues<br />

sont dépendantes <strong><strong>de</strong>s</strong> prix <strong><strong>de</strong>s</strong> biens.<br />

Dans le modèle SMAORR qui sera décrit dans<br />

la <strong>de</strong>uxième partie on utilise l’algorithme <strong>de</strong> nontâtonnement<br />

<strong>pour</strong> la définition <strong><strong>de</strong>s</strong> prix du marché. Son action<br />

est synchronisée comme dans les algorithmes <strong>de</strong> marché<br />

traditionnels (cf. exemple proposé par Walras). Ceci<br />

est la conséquence <strong>de</strong> la construction du modèle complet<br />

et entre autres du fait que certains types <strong>de</strong> ressources<br />

peuvent se renouveler dans un intervalle <strong>de</strong> temps donné.<br />

L’algorithme d’équilibre <strong><strong>de</strong>s</strong> prix (donné au paragraphe<br />

3.3.2) qui est utilisé dans le système SMAORR rappelle<br />

la première version <strong>de</strong> l’algorithme, cependant l’échange<br />

<strong>de</strong> biens <strong>sur</strong>vient avant l’établissement <strong>de</strong> l’équilibre <strong><strong>de</strong>s</strong><br />

prix (non-tâtonnement).<br />

2. LES PRINCIPES<br />

Supposons que nous menions une analyse <strong>sur</strong> un système<br />

<strong>multi</strong>-<strong>agents</strong> ouverts, c’est-à-dire un système dans lequel<br />

le nombre d’<strong>agents</strong> change en fonction <strong>de</strong> leur entrée ou<br />

<strong>de</strong> leur sortie du système. Nous ne prenons pas en compte<br />

le phénomène <strong>de</strong> génération d’<strong>agents</strong> à l’intérieur même<br />

du système. C’est la population hétérogène d’<strong>agents</strong> qui<br />

est étudiée. L’hétérogénéité <strong>de</strong> la population <strong><strong>de</strong>s</strong> <strong>agents</strong><br />

peut se manifester par :<br />

– différents ensembles d’actions que les <strong>agents</strong> sont<br />

en me<strong>sur</strong>e d’effectuer,<br />

– différents ensembles <strong>de</strong> buts que les <strong>agents</strong> peuvent<br />

réaliser.<br />

Les <strong>agents</strong> agissent <strong>sur</strong> l’environnement en effectuant <strong><strong>de</strong>s</strong><br />

actions. Les actions consistent en une consommation <strong>de</strong><br />

ressources, en une transformation <strong><strong>de</strong>s</strong> ressources, en un<br />

envoi <strong>de</strong> ressources entre les <strong>agents</strong> ou bien en une migration<br />

<strong>de</strong> l’agent entre plusieurs systèmes <strong>multi</strong>-<strong>agents</strong><br />

ouverts. L’agent effectue <strong><strong>de</strong>s</strong> actions <strong>pour</strong> lui-même (actions<br />

privées), ou bien <strong>pour</strong> d’autres <strong>agents</strong> (services). Il<br />

existe certaines actions spécifiques (que l’on appelle <strong><strong>de</strong>s</strong><br />

services du système) qui doivent être effectuées <strong>pour</strong> que


le système fonctionne correctement. La possession <strong>de</strong> ressources<br />

adéquates par l’agent peut avoir une influence <strong>sur</strong><br />

leur possibilité d’effectuer une action donnée, <strong>de</strong> même<br />

que <strong>sur</strong> la qualité <strong>de</strong> leur réalisation. L’agent choisit les<br />

actions à effectuer qui favorisent la réalisation <strong>de</strong> ses buts.<br />

Les buts <strong>de</strong> l’agent sont présentés comme <strong><strong>de</strong>s</strong> fonctions<br />

dont les prises <strong>de</strong> valeur dépen<strong>de</strong>nt <strong><strong>de</strong>s</strong> ressources dont<br />

l’agent est en possession.<br />

Pour garantir la réalisation <strong><strong>de</strong>s</strong> services du système à un<br />

niveau acceptable, on introduit <strong>de</strong>ux mécanismes. Le premier<br />

est le mécanisme <strong>de</strong> marché, qui règle les relations<br />

réciproques <strong>de</strong> coût entre les actions. À cette fin, on introduit<br />

une ressource particulière, qui joue le rôle <strong>de</strong> me<strong>sur</strong>e<br />

<strong><strong>de</strong>s</strong> coûts <strong><strong>de</strong>s</strong> actions. Le <strong>de</strong>uxième mécanisme est la limitation<br />

(ou l’interdiction) d’effectuer certaines actions par<br />

les <strong>agents</strong> au moyen <strong>de</strong> l’introduction <strong>de</strong> règlements que<br />

les <strong>agents</strong> doivent respecter.<br />

Le modèle analysé dans le travail rapporté ici s’appelle<br />

SMAORR - Système Multi-Agents Ouvert à Ressources<br />

Renouvelables.<br />

Le système est analysé à <strong><strong>de</strong>s</strong> intervalles <strong>de</strong> temps T<br />

appelés “étapes majeures”. Les étapes majeures sont<br />

appelées ainsi <strong>pour</strong> les différencier <strong><strong>de</strong>s</strong> “étapes <strong>de</strong> base” <strong>de</strong><br />

l’analyse en <strong><strong>de</strong>s</strong>cription interne. Au début d’une étape majeure,<br />

on <strong>de</strong>man<strong>de</strong> au système <strong>de</strong> réaliser les services du<br />

système (SSN), qu’il doit accomplir jusqu’à la fin d’une<br />

étape donnée. Le système décrit est un système ouvert,<br />

c’est-à-dire que les <strong>agents</strong> peuvent à tout moment entrer<br />

ou quitter le système. Ce système peut gérer <strong><strong>de</strong>s</strong> utilisateurs<br />

connectés. Il peut également être un élément d’un<br />

système <strong>de</strong> <strong>de</strong>gré supérieur qui <strong>de</strong>man<strong>de</strong> à réaliser <strong><strong>de</strong>s</strong> services<br />

du système.<br />

3. DESCRIPTION DU SYSTÈME<br />

Cette section contient la présentation du système :<br />

– la <strong><strong>de</strong>s</strong>cription <strong><strong>de</strong>s</strong> états dans lesquels peut se trouver<br />

le système,<br />

– la <strong><strong>de</strong>s</strong>cription <strong>de</strong> l’environnement où se trouvent les<br />

<strong>agents</strong> et les ressources,<br />

– la <strong><strong>de</strong>s</strong>cription <strong><strong>de</strong>s</strong> modèles <strong><strong>de</strong>s</strong> <strong>agents</strong> (<strong><strong>de</strong>s</strong> <strong>agents</strong> <strong>de</strong><br />

tâches et <strong><strong>de</strong>s</strong> <strong>agents</strong>–marché)<br />

On trouvera une <strong><strong>de</strong>s</strong>cription plus détaillée dans<br />

(Koźlak, 2000a).<br />

3.1. Dynamique du système<br />

Le fonctionnement du système basé <strong>sur</strong> le modèle<br />

SMAORR consiste en la construction <strong><strong>de</strong>s</strong> étapes majeures<br />

au cours <strong><strong>de</strong>s</strong>quelles les <strong>agents</strong> effectuent <strong><strong>de</strong>s</strong> actions (<strong><strong>de</strong>s</strong><br />

services du système qui ont été <strong>de</strong>mandés). Une étape majeure<br />

se compose d’un certain nombre d’étapes <strong>de</strong> base<br />

(les mêmes <strong>pour</strong> toutes les étapes majeures).<br />

Une étape <strong>de</strong> base se compose <strong><strong>de</strong>s</strong> phases suivantes :<br />

où<br />

– la phase où les <strong>agents</strong> entrent dans le système (ps),<br />

– la phase <strong>de</strong> publication par les <strong>agents</strong> <strong>de</strong> leurs besoins<br />

en services à d’autres <strong>agents</strong> où à l’agentmarché<br />

(ps),<br />

– la phase d’offre <strong><strong>de</strong>s</strong> services,<br />

– la phase <strong>de</strong> liaison <strong><strong>de</strong>s</strong> <strong>agents</strong> offrants et <strong><strong>de</strong>s</strong> <strong>agents</strong><br />

<strong>de</strong>man<strong>de</strong>urs,<br />

– la phase <strong>de</strong> réalisation <strong><strong>de</strong>s</strong> actions,<br />

– la phase <strong>de</strong> négociation,<br />

– la phase <strong>de</strong> régénération <strong><strong>de</strong>s</strong> ressources et du calcul<br />

<strong><strong>de</strong>s</strong> nouveaux coûts <strong><strong>de</strong>s</strong> services,<br />

– la phase où les <strong>agents</strong> sortent du système (ds),<br />

– ps est la première étape <strong>de</strong> base d’une étape majeure,<br />

et<br />

– ds est la <strong>de</strong>rnière étape <strong>de</strong> base d’une étape majeure.<br />

3.2. L’environnement et les ressources<br />

L’environnement a un caractère virtuel et constitue une<br />

partie du système <strong>multi</strong>-<strong>agents</strong>. L’environnement joue les<br />

rôles suivants :<br />

– c’est un lieu ou séjournent les <strong>agents</strong>,<br />

– il contient les ressources qui peuvent être renouvelables.<br />

On peut classer les ressources <strong>de</strong> différentes façons en<br />

prenant en compte leurs propriétés. Dans l’analyse du<br />

système, on peut distinguer les ressources privatives ou<br />

communes, et les ressources libres ou occupées.<br />

Les ressources peuvent avoir les propriétés suivantes :<br />

Régénération : si la quantité <strong>de</strong> ressources donnée<br />

est supérieure à zéro, on peut avoir une autorégénération.<br />

Prix du stockage : si l’agent a une ressource donnée, il<br />

paie le prix <strong>de</strong> son stockage .<br />

À chacune <strong><strong>de</strong>s</strong> ressources correspon<strong>de</strong>nt les paramètres<br />

suivants :<br />

– r j (t) – la quantité <strong>de</strong> la ressource à l’étape t,<br />

– rj<br />

max – la quantité maximale <strong>de</strong> la ressource,<br />

– rj v – la vitesse <strong>de</strong> régénération <strong>de</strong> la ressource,<br />

– rj c – le prix <strong>de</strong> stockage <strong>de</strong> la ressource.<br />

La quantité <strong>de</strong> ressource régénérée au cours d’une étape<br />

( r j ) est exprimée par la formule suivante (appliquée<br />

dans les recherches environnementales) :<br />

r j = R(t) rj v (1 r ; j(t)<br />

)j =1:::N (1)<br />

rmax où N est le nombre <strong>de</strong> types <strong>de</strong> ressources dans le<br />

système. Cette formule est la plus connue <strong><strong>de</strong>s</strong> lois <strong>de</strong> la<br />

logistique (Proton et al., 1997).


3.3. Description <strong><strong>de</strong>s</strong> modèles d’<strong>agents</strong><br />

Ce paragraphe est consacré aux modèles internes d’<strong>agents</strong><br />

apparaissants dans le système. On présente le modèle<br />

<strong>de</strong> l’agent <strong>de</strong> tâches, le modèle <strong>de</strong> l’agent-marché et le<br />

modèle <strong>de</strong> l’agent contrôleur.<br />

3.3.1 Agent <strong>de</strong> tâches<br />

L’agent contient les éléments suivants : un vecteur <strong><strong>de</strong>s</strong> actions/services,<br />

une base <strong>de</strong> connaissance, un vecteur <strong>de</strong><br />

connaissance, un état <strong><strong>de</strong>s</strong> ressources possédées, un ensemble<br />

<strong>de</strong> buts et un ensemble <strong>de</strong> plans (Koźlak, 2000b).<br />

Interactions Les interactions avec l’entourage concernent<br />

les classes d’activités suivantes <strong>de</strong> l’agent :<br />

– réalisation <strong><strong>de</strong>s</strong> actions (agir en commun avec l’environnement<br />

ou les autres <strong>agents</strong>),<br />

– <strong>de</strong>man<strong>de</strong> et offre <strong>de</strong> réalisation d’actions,<br />

– négociations dans le but d’établir les lois gouvernants<br />

les <strong>agents</strong> dans le système.<br />

Capacités À chaque agent est relié un vecteur <strong>de</strong> possibilités<br />

définissant quelles actions un agent donné peut réaliser.<br />

Le vecteur possibilités <strong>de</strong> l’agent A i est défini par<br />

AC i et a la structure suivante :<br />

AC i =(ac i1 :::ac ij :::ac iJ ) (2)<br />

où :<br />

ac ij prend la valeur<br />

1, si l’agent peut effectuer une action donnée,<br />

0, si l’agent ne le peut pas.<br />

J est la quantité d’actions dans le système.<br />

État <strong><strong>de</strong>s</strong> ressources possédées L’agent A i possè<strong>de</strong> une<br />

certaine configuration <strong>de</strong> ressources décrite par le vecteur<br />

ressources R i :<br />

R i =(r i1 ::::r ij :::r iJ ) (3)<br />

À chaque ressource sont liées <strong><strong>de</strong>s</strong> données (i<strong>de</strong>ntiques<br />

<strong>pour</strong> tous les <strong>agents</strong>) concernant les coûts <strong>de</strong> leur stockage<br />

par l’agent.<br />

Connaissances La connaissance K i <strong>de</strong> l’agent A i comprend<br />

les informations que l’agent possè<strong>de</strong> <strong>sur</strong> ses propres<br />

propriétés, celles <strong><strong>de</strong>s</strong> autres <strong>agents</strong> et <strong>de</strong> l’environnement.<br />

La connaissance se compose <strong><strong>de</strong>s</strong> parties suivantes :<br />

– Ki d – le connaissance dynamique (variable),<br />

– Ki s – la connaissance statique (constante pendant<br />

tout le fonctionnement <strong>de</strong> l’agent).<br />

La connaissance <strong>de</strong> l’agent contient <strong><strong>de</strong>s</strong> informations <strong>sur</strong> :<br />

– les ressources (Ki d ) : la quantité <strong>de</strong> ressources<br />

possédée par un agent donné, par d’autres <strong>agents</strong><br />

ou se trouvant dans l’environnement; la quantité<br />

maximale <strong>de</strong> ressources dans l’environnement; la<br />

vitesse <strong>de</strong> régénération <strong><strong>de</strong>s</strong> ressources dans l’environnement<br />

; le coût <strong>de</strong> stockage <strong><strong>de</strong>s</strong> ressources par<br />

les <strong>agents</strong><br />

– les actions : quelles actions sont effectuées ; quels<br />

sont les prix actuels <strong>de</strong> leur réalisation par d’autres<br />

<strong>agents</strong> (Ki s)<br />

– les ressources possédées par l’agent et leur état,<br />

ainsi que les valeurs <strong><strong>de</strong>s</strong> fonctions <strong>de</strong> but (Ki d ). Les<br />

états sont mémorisés dans chaque étape <strong>de</strong> base au<br />

cours <strong>de</strong> la simulation. (Pour le moment, <strong><strong>de</strong>s</strong> mécanismes<br />

simples d’extractions <strong>de</strong> résultats sont utilisés<br />

: seules l’étape <strong>de</strong> base en cours et la précé<strong>de</strong>nte<br />

sont prises en considération. Les états <strong><strong>de</strong>s</strong><br />

autres ne sont utilisés qu’a <strong><strong>de</strong>s</strong> buts statistiques.).<br />

L’agent n’a pas une information complète <strong>sur</strong> la quantité<br />

générale <strong><strong>de</strong>s</strong> ressources, leur nombre maximal dans l’environnement<br />

et les prix actuels <strong>de</strong> leur réalisation.<br />

Les buts Les actions effectuées par les agent doivent les<br />

conduire à la réalisation <strong>de</strong> leurs buts. Le but <strong>de</strong> l’agent A i<br />

(G i ) est décrit par une expression dépendant <strong>de</strong> l’état <strong><strong>de</strong>s</strong><br />

ressources qu’il possè<strong>de</strong>. La réalisation du but <strong>de</strong> l’agent<br />

repose <strong>sur</strong> la maximisation <strong>de</strong> la valeur <strong>de</strong> cette expression.<br />

L’agent peut avoir différents buts g ip . À chaque but<br />

est attribué sa priorité ij (un nombre réel). On peut donc<br />

écrire :<br />

G i =(g i1 g i2 :::g in :::g iP ) (4)<br />

où<br />

g ip (avec p 2f1 :::Pg) est une expression décrivant les<br />

différents buts.<br />

La valeur <strong>de</strong> chaque fonction <strong>de</strong> but g ip dépend <strong>de</strong> la<br />

quantité <strong>de</strong> ressources possédée par l’agent, <strong>de</strong> la variation<br />

<strong>de</strong> cette quantité <strong>de</strong> ressources et <strong>de</strong> l’intervalle <strong>de</strong> temps<br />

donné. L’un <strong><strong>de</strong>s</strong> buts <strong>de</strong> l’agent doit être la conservation <strong>de</strong><br />

son énergie E i à un niveau élevé. En rapport avec les buts<br />

partiels <strong>de</strong> l’agent et leur signification courante on définit<br />

une fonction décrivant le but principal <strong>de</strong> l’agent g i :<br />

g i =<br />

PX<br />

p=1<br />

ip g ip (5)


La valeur <strong>de</strong> la somme i1 +...+ ip +...+ i:P est<br />

constante <strong>pour</strong> tous les <strong>agents</strong> à chaque instant. On pose<br />

que ce total est égal à 100.<br />

Les lois Les lois s’appliquent aux actions <strong>de</strong> prise <strong>de</strong><br />

ressources. La loi l k est définie par :<br />

où :<br />

id – l’i<strong>de</strong>ntifiant <strong>de</strong> la loi,<br />

l k =(id id a val k R p k ) (6)<br />

id a – l’i<strong>de</strong>ntifiant <strong>de</strong> l’action <strong>sur</strong> laquelle elle s’applique,<br />

val k – la force admissible <strong>de</strong> la réalisation <strong>de</strong> l’action ,<br />

R p k<br />

– la pénalité en cas <strong>de</strong> violation <strong>de</strong> la loi.<br />

La loi modifie les préférences <strong><strong>de</strong>s</strong> <strong>agents</strong> <strong>pour</strong> la réalisation<br />

d’une action. On considère que <strong>pour</strong> leur réalisation<br />

l’agent doit subir les coûts exprimés en ressources. La loi<br />

change donc les opérations <strong>sur</strong> les ressources liées à l’exécution<br />

<strong>de</strong> l’action et en conséquence, change la valeur <strong>de</strong><br />

la fonction <strong>de</strong> but liée à une action donnée.<br />

Les lois ont une influence <strong>sur</strong> le résultat <strong>de</strong> la réalisation<br />

<strong>de</strong> l’action, par la modification <strong>de</strong> la quantité <strong>de</strong> ressources<br />

utilisées par l’agent pendant leur réalisation (en pratique<br />

ces modifications concernent seulement le prix <strong>de</strong> la ressource),<br />

<strong>sur</strong> l’énergie et <strong>sur</strong> la pénalité que l’agent paye en<br />

entravant la loi (rupture du contrat). L’ensemble <strong><strong>de</strong>s</strong> lois<br />

que l’agent A i doit respecter est nommé L i .<br />

Plan Le plan P i <strong>de</strong> l’agent A i est une séquence d’actions<br />

qui mène à la réalisation <strong><strong>de</strong>s</strong> buts <strong>de</strong> l’agent par<br />

la maximalisation <strong>de</strong> la valeur g i . L’agent bâtit son plan<br />

à chaque étape. Les services qu’il doit effectuer doivent<br />

être marqués dans le plan et l’agent doit possé<strong>de</strong>r les ressources<br />

nécessaires à la réalisation du plan (c’est-à-dire<br />

<strong><strong>de</strong>s</strong> actions).<br />

Actuellement le plan a une forme très simplifiée et se compose<br />

<strong><strong>de</strong>s</strong> parties suivantes :<br />

P =(a real f real a oer f oer a <strong>de</strong>mand f <strong>de</strong>mand ) (7)<br />

où :<br />

f <strong>de</strong>mand est la force <strong>de</strong> l’action a <strong>de</strong>mand .<br />

Le mécanisme <strong>de</strong> synchronisation repose <strong>sur</strong> le marquage<br />

<strong><strong>de</strong>s</strong> ressources nécessaires à la réalisation <strong>de</strong> l’action que<br />

l’agent a offert <strong>de</strong> réaliser. Ces ressources sont marquées<br />

comme “occupées” jusqu’au moment <strong>de</strong> la réalisation <strong>de</strong><br />

l’action, ou jusqu’à la fin d’une étape <strong>de</strong> base donnée et<br />

du blocage <strong><strong>de</strong>s</strong> ressources (l’énergie) en cas <strong>de</strong> <strong>de</strong>man<strong>de</strong><br />

<strong>de</strong> réalisation d’action (pendant d’une étape majeure).<br />

Migration Si l’agent estime que les conditions dans le<br />

système ne sont pas favorables à la réalisation <strong>de</strong> ses plans,<br />

il peut prendre la décision d’émigrer. Les conditions défavorables<br />

apparaissent quand la valeur du but général diminue<br />

indépendamment <strong>de</strong> l’action qu’aurait choisie l’agent.<br />

Dans cette situation l’agent envoie une <strong>de</strong>man<strong>de</strong> d’un service<br />

concret dont il a besoin aux systèmes <strong>multi</strong>-<strong>agents</strong><br />

voisins. La <strong>de</strong>man<strong>de</strong> concerne :<br />

– le prix du service,<br />

– le besoin <strong>de</strong>mandé en services,<br />

– les services restants à réaliser.<br />

L’agent choisit le système en se basant <strong>sur</strong> les critères suivants<br />

:<br />

–ledéficit ou non <strong><strong>de</strong>s</strong> offres d’<strong>agents</strong>-serveurs dans<br />

la réalisation d’un service donné,<br />

– le prix.<br />

La migration intervient si le prix du service permet à<br />

l’agent la réalisation <strong>de</strong> sa <strong>de</strong>man<strong>de</strong> et lui apporte une<br />

amélioration <strong>de</strong> la valeur globale <strong>de</strong> sa fonction <strong>de</strong> but.<br />

Description du modèle statique On regroupe ici les<br />

<strong><strong>de</strong>s</strong>criptions <strong><strong>de</strong>s</strong> éléments introduits dans les paragraphes<br />

précé<strong>de</strong>nts dans le but <strong>de</strong> présenter le modèle interne <strong>de</strong><br />

l’agent <strong>de</strong> tâche. On différencie <strong>de</strong>ux parties dans l’agent :<br />

M S : le modèle statique. Il contient les éléments qui ne<br />

changent pas pendant l’action <strong>de</strong> l’agent<br />

M D : le modèle dynamique. Il contient les éléments qui<br />

changent pendant l’action <strong>de</strong> l’agent.<br />

Le modèle <strong>de</strong> l’agent A utilisé dans ce travail est défini<br />

comme suit :<br />

M Int (A i )=(M S M D ) (8)<br />

a real est l’action qu’on a décidé <strong>de</strong> réaliser au cours<br />

d’une étape <strong>de</strong> base donnée,<br />

f real est la force <strong>de</strong> l’action a real ,<br />

a oer est l’action qu’on a proposé <strong>de</strong> réaliser pendant<br />

une étape majeure donnée,<br />

f oer est la force <strong>de</strong> l’action a oer ,<br />

est l’action <strong>pour</strong> la réalisation <strong>de</strong> laquelle<br />

l’agent proclame ses besoins (à réaliser au cours<br />

d’une étape majeure donnée),<br />

a <strong>de</strong>mand<br />

La partie statique <strong>de</strong> l’agent (M S ) comprend<br />

M S (A i )=(AC i AA i K s i iG i e i ) (9)<br />

où :<br />

AC i est le vecteur connaissance définissant quelles actions<br />

l’agent peut réaliser,<br />

AA i est la <strong><strong>de</strong>s</strong>cription <strong>de</strong> l’action,<br />

K s i<br />

est la base <strong>de</strong> connaissances statique <strong>de</strong> l’agent,


i est l’ensemble <strong><strong>de</strong>s</strong> buts primaires actuels,<br />

G i est l’ensemble <strong><strong>de</strong>s</strong> buts <strong>de</strong> l’agent,<br />

e i est le niveau critique d’énergie au <strong><strong>de</strong>s</strong>sous duquel<br />

l’agent meurt.<br />

La partie dynamique <strong>de</strong> l’agent M D comprend :<br />

M D (A i )=(K d i P iL i R i ) (10)<br />

où :<br />

Ki d est la base <strong>de</strong> connaissances dynamique <strong>de</strong> l’agent,<br />

P i est le plan <strong>de</strong> l’agent,<br />

L i est l’ensemble <strong><strong>de</strong>s</strong> lois régissant l’agent,<br />

Ri est l’ensemble <strong><strong>de</strong>s</strong> ressources possédées par l’agent.<br />

Description du modèle dynamique Comme dans le cas<br />

du modèle du système <strong>multi</strong>-<strong>agents</strong>, le modèle <strong>de</strong> l’agent<br />

considéré est dynamique. Le fonctionnement <strong>de</strong> l’agent<br />

est rythmé par les étapes <strong>de</strong> base pendant lesquelles est<br />

effectuée une suite d’actions qui se répètent. Dans chaque<br />

étape l’agent A i effectue dans l’ordre chronologique les<br />

actions suivantes :<br />

1. observation <strong>de</strong> l’entourage et actualisation <strong>de</strong> la<br />

base <strong><strong>de</strong>s</strong> connaissances,<br />

2. définition <strong>de</strong> l’état <strong>de</strong> réalisation <strong><strong>de</strong>s</strong> buts et calcul<br />

<strong>de</strong> la fonction intégrale <strong>de</strong> but g i ,<br />

3. analyse <strong><strong>de</strong>s</strong> changements <strong>de</strong> l’ensemble <strong><strong>de</strong>s</strong> buts G i<br />

et <strong>de</strong> la nouvelle valeur g i du résultat dans le cas<br />

<strong>de</strong> la réalisation d’actions (privées ou offertes). Au<br />

cours <strong>de</strong> l’analyse <strong><strong>de</strong>s</strong> conséquences <strong><strong>de</strong>s</strong> actions potentiellement<br />

effectuées on met en évi<strong>de</strong>nce l’influence<br />

<strong><strong>de</strong>s</strong> lois L i . On choisit les actions <strong>pour</strong> lesquelles<br />

la nouvelle valeur <strong>de</strong> g i est la meilleure.<br />

4. appel en besoin <strong>de</strong> services (si c’est une étape<br />

convenable, c’est-à-dire, début d’une étape majeure)<br />

citation <strong><strong>de</strong>s</strong> services que l’agent se propose<br />

<strong>de</strong> remplir,<br />

5. réalisation <strong>de</strong> services privés et obtention <strong><strong>de</strong>s</strong> résultats<br />

<strong><strong>de</strong>s</strong> services réalisés par d’autres <strong>agents</strong>,<br />

6. observation <strong>de</strong> l’environnement et actualisation du<br />

modèle du mon<strong>de</strong>,<br />

7. définition du nouvel état <strong>de</strong> réalisation <strong><strong>de</strong>s</strong> buts g i ,<br />

8. changement éventuel <strong><strong>de</strong>s</strong> valeurs <strong><strong>de</strong>s</strong> éléments décrivant<br />

l’importance <strong><strong>de</strong>s</strong> buts.<br />

3.3.2 Agent-marché<br />

Description du modèle L’agent-marché a les propriétés<br />

suivantes : le service dont s’occupe le marché (S j ), le coût<br />

actuel du service (s c j ), l’algorithme <strong>de</strong> liaison <strong><strong>de</strong>s</strong> <strong>agents</strong><br />

<strong>de</strong>mandant et offrant <strong><strong>de</strong>s</strong> services à effectuer (ALA), l’algorithme<br />

<strong>de</strong> définition <strong><strong>de</strong>s</strong> prix <strong><strong>de</strong>s</strong> services (ADC), la liste<br />

<strong><strong>de</strong>s</strong> propositions <strong>de</strong> services à effectuer SO j et la liste<br />

d’appels d’offres <strong>de</strong> services SN j . On suppose que les<br />

algorithmes sont i<strong>de</strong>ntiques <strong>pour</strong> tous les <strong>agents</strong>-marchés<br />

dans le système.<br />

Métho<strong>de</strong> <strong>de</strong> liaison <strong><strong>de</strong>s</strong> <strong>agents</strong> <strong>de</strong>mandant et <strong><strong>de</strong>s</strong> <strong>agents</strong><br />

offrant <strong><strong>de</strong>s</strong> services (ALA) Chaque agent ayant besoin<br />

<strong>de</strong> services envoie au marché les données suivantes :<br />

– le nombre <strong>de</strong> services <strong>de</strong>mandés, et<br />

– le prix maximal qu’il est prêt à payer <strong>pour</strong> leur réalisation.<br />

L’agent offrant ses services envoie au marché les données<br />

suivantes :<br />

– le nombre requis <strong>de</strong> services, et<br />

– le prix minimal auquel il est prêt à les réaliser.<br />

Le marché lie les <strong>agents</strong> <strong>de</strong>mandant et offrant <strong>de</strong> sorte à<br />

maximiser le nombre d’actions réalisées. De cette façon,<br />

<strong>sur</strong> la base <strong><strong>de</strong>s</strong> prix offerts par les <strong>agents</strong>, on choisit un prix<br />

qui permette <strong>de</strong> réaliser le plus grand nombre <strong>de</strong> services.<br />

Après on trie les offres et les <strong>de</strong>man<strong><strong>de</strong>s</strong> selon la <strong>de</strong>man<strong>de</strong><br />

et on essaie d’abord <strong>de</strong> repartir la réalisation maximum<br />

<strong>de</strong> <strong>de</strong>man<strong><strong>de</strong>s</strong> en services qu’un agent-offrant donné peut<br />

réaliser.<br />

Définition du coût <strong><strong>de</strong>s</strong> services (ADC) Dans notre travail,<br />

nous considérons que les coûts <strong>de</strong> réalisation <strong><strong>de</strong>s</strong> services<br />

seront définis par le marché <strong>sur</strong> la base <strong><strong>de</strong>s</strong> offres.<br />

Au début du fonctionnement du système on considère la<br />

première valeur du vecteur coût SC. Le prix <strong><strong>de</strong>s</strong> services<br />

dans le système est établi comme prix d’équilibre entre<br />

le besoin <strong><strong>de</strong>s</strong> <strong>agents</strong> en services et les services réalisés.<br />

Les <strong>agents</strong> envoient leur besoin en services SN et l’offre<br />

<strong>de</strong> réalisation <strong><strong>de</strong>s</strong> services SO. On élève ensuite le prix <strong><strong>de</strong>s</strong><br />

services qui n’étaient pas réalisés à un <strong>de</strong>gré suffisant alors<br />

que ceux dont la réalisation est suffisante sont réduits.<br />

La croissance <strong><strong>de</strong>s</strong> prix <strong>pour</strong> la réalisation <strong><strong>de</strong>s</strong> services<br />

manquants et la baisse <strong><strong>de</strong>s</strong> prix <strong><strong>de</strong>s</strong> services en <strong>sur</strong>nombre<br />

font que les <strong>agents</strong> doivent montrer un plus grand souhait<br />

<strong>de</strong> réaliser les services déficitaires et une moindre envie<br />

<strong>pour</strong> réaliser les services excé<strong>de</strong>ntaires ce qui conduit en<br />

définitive à un état d’équilibre entre l’offre et la <strong>de</strong>man<strong>de</strong><br />

en services. Ce mécanisme simple <strong>de</strong> définition <strong><strong>de</strong>s</strong> prix<br />

est inspiré <strong>de</strong> la première solution <strong>de</strong> Walras (cf. <strong><strong>de</strong>s</strong>cription<br />

<strong>de</strong> l’algorithme d’équilibre <strong><strong>de</strong>s</strong> prix du marché étudié<br />

au paragraphe 1.2. et dans (Cheng etWellman, 1997)).<br />

Dans notre travail, nous considérons une fonction qui a<br />

<strong><strong>de</strong>s</strong> caractéristiques utiles : plus la différence entre le besoin<br />

planifié et réalisé est gran<strong>de</strong> et plus la date limite<br />

d’exécution <strong><strong>de</strong>s</strong> tâches est proche alors plus l’écart <strong>de</strong> prix<br />

est grand.<br />

On peut introduire dans le système <strong><strong>de</strong>s</strong> mécanismes supplémentaires<br />

corrigeant les prix <strong>de</strong> telle sorte qu’ils as<strong>sur</strong>ent<br />

un bon fonctionnement du système.<br />

3.3.3 Le contrôleur <strong>de</strong> ressources<br />

On peut arriver au contrôle <strong>de</strong> l’état <strong><strong>de</strong>s</strong> ressources dans le<br />

système par l’introduction d’un type spécial d’agent administrateur<br />

<strong><strong>de</strong>s</strong> ressources qui donne aux autres <strong>agents</strong><br />

l’accès aux ressources. Pour cela on peut introduire un<br />

agent contrôleur <strong>pour</strong> gérer l’accessibilité <strong><strong>de</strong>s</strong> ressources.


On peut décrire l’agent-contrôleur <strong>de</strong> la façon suivante :<br />

ModInt (A cont<br />

i )=(id a id r f max r max rp) (11)<br />

où :<br />

– id a est l’i<strong>de</strong>ntificateur <strong>de</strong> l’action,<br />

– id r est l’i<strong>de</strong>ntificateur <strong>de</strong> la ressource,<br />

– f max est la force maximale actuelle <strong>de</strong> réalisation<br />

<strong>de</strong> l’action tolérée,<br />

– r max est la quantité maximale <strong>de</strong> ressources dans<br />

l’environnement,<br />

– r est la quantité actuelle <strong>de</strong> ressources dans l’environnement,<br />

– p - fonction définissant la gran<strong>de</strong>ur <strong>de</strong> la pénalité<br />

(décompté en unité <strong>de</strong> la ressource différenciée —<br />

énergie).<br />

Nous supposons qu’une action ne peut conduire qu’à la<br />

prise d’un seul type <strong>de</strong> ressources.<br />

r 1<br />

800<br />

avec ag. contr.<br />

sans ag. contr.<br />

750<br />

700<br />

650<br />

600<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r <br />

<br />

r r<br />

<br />

<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

rrr<br />

r<br />

r<br />

r<br />

r r r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

r<br />

550<br />

0 5 10 15 20 25 30 35 40 45 50<br />

Etapes <strong>de</strong> base<br />

Figure 1. Ressource R 1 dans MAS 1<br />

r<br />

<br />

4. QUELQUES RÉSULTATS DE SIMULATION<br />

La configuration du système est la suivante :<br />

– trois systèmes <strong>multi</strong>-<strong>agents</strong>, chacun offrant un type<br />

<strong>de</strong> ressources.<br />

– quatre types <strong><strong>de</strong>s</strong> ressources – R 1 , R 2 , R 3 et énergie<br />

(e),<br />

– R 3 est le type <strong>de</strong> ressource dont est en possession<br />

l’agent et qui n’est pas accessible dans l’environnement.<br />

Il limite la force maximale <strong>de</strong> réalisation <strong><strong>de</strong>s</strong><br />

actions.<br />

– cinq types d’actions – <strong>de</strong>ux liées au prélèvement <strong><strong>de</strong>s</strong><br />

ressources <strong>de</strong> l’environnement, <strong>de</strong>ux liées au transfert<br />

<strong><strong>de</strong>s</strong> ressources, et une liée à la migration entre<br />

les systèmes,<br />

– au début <strong>de</strong> la simulation ilya22<strong>agents</strong> <strong>de</strong> tâche, 2<br />

<strong>agents</strong>-marchés et 2 <strong>agents</strong>-contrôleurs dans chaque<br />

système.<br />

Nous analysons les résultats selon que <strong><strong>de</strong>s</strong> <strong>agents</strong>contrôleurs<br />

sont présents ou non.<br />

La figure 1 présente les changements <strong>de</strong> quantité <strong>de</strong> ressource<br />

R 1 dans le système MAS 1 pendant la simulation<br />

avec <strong>agents</strong>-contrôleurs et pendant la simulation sans<br />

<strong>agents</strong>-contrôleurs. Dans ces <strong>de</strong>ux cas, nous voyons que<br />

la baisse immédiate au commencement est suivie d’une<br />

croissance lente et progressive <strong>de</strong> la quantité <strong><strong>de</strong>s</strong> ressources.<br />

La consommation <strong><strong>de</strong>s</strong> ressources a été diminuée :<br />

– en raison <strong>de</strong> l’introduction d’une taxe supplémentaire<br />

<strong>pour</strong> la consommation <strong><strong>de</strong>s</strong> ressources dans le<br />

cas utilisant <strong><strong>de</strong>s</strong> <strong>agents</strong>-contrôleurs,<br />

– car les <strong>agents</strong> ont constaté que la <strong>pour</strong>suite <strong>de</strong> la<br />

consommation n’était pas rentable.<br />

Des changements visibles <strong>de</strong> la quantité <strong>de</strong> ressources apparaissent<br />

au début <strong><strong>de</strong>s</strong> étapes majeures (composées <strong>de</strong><br />

5 étapes <strong>de</strong> base). Ces changements sont liés à la migration<br />

et à l’arrivée <strong>de</strong> nouveaux <strong>agents</strong> qui augmentent la<br />

consommation <strong>de</strong> ressources.<br />

Il est à noter qu’il y a :<br />

– une baisse plus importante <strong>de</strong> la quantité <strong>de</strong> ressources<br />

dans le système avec ou sans <strong>agents</strong>contrôleurs.<br />

Ceci est dû au fait qu’après l’augmentation<br />

du coût <strong>de</strong> l’action exécutée <strong>sur</strong> l’environnement<br />

certains <strong>agents</strong> se déci<strong>de</strong>nt à réaliser d’autres<br />

services, ce qui influe <strong>sur</strong> le prix <strong>de</strong> la réalisation<br />

<strong><strong>de</strong>s</strong> services. Ce changement <strong>de</strong> coûts <strong><strong>de</strong>s</strong> services<br />

fait que dans les étapes suivantes les <strong>agents</strong> choisissent<br />

les opérations <strong>sur</strong> l’environnement.<br />

– une gran<strong>de</strong> différence entre les comportements <strong><strong>de</strong>s</strong><br />

<strong>de</strong>ux systèmes MAS 1 (cf. figure 1) et MAS 2 (cf.<br />

figure 2). Ceci est dû au manque initial d’informations<br />

<strong>sur</strong> l’état <strong><strong>de</strong>s</strong> ressources accessibles dans les<br />

systèmes. Les <strong>agents</strong> ignorent que la ressource R 2<br />

n’est pas accessible dans le système MAS 1 et la<br />

ressource R 1 n’est pas accessible dans le système<br />

MAS 2 . Les <strong>agents</strong> qui ont les mêmes préférences<br />

concernant les ressources R 1 et R 2 essaient <strong>de</strong><br />

prendre dans ces <strong>de</strong>ux systèmes la ressource R 1 ,<br />

ce qui n’apporte pas <strong><strong>de</strong>s</strong> résultats dans le système<br />

MAS 2 , ou après une petite baisse initiale, les <strong>agents</strong><br />

contrôleurs n’ont pas agi, ce qui mène à une baisse<br />

considérable <strong><strong>de</strong>s</strong> quantités <strong>de</strong> ressources dans les<br />

étapes qui suivent.<br />

5. CONCLUSIONS ET PERSPECTIVES<br />

Le modèle présenté permet l’analyse <strong>de</strong> la distribution <strong><strong>de</strong>s</strong><br />

ressources dans les systèmes avec <strong><strong>de</strong>s</strong> propriétés diffé-


entes (exprimées par la quantité d’<strong>agents</strong>, les types d’actions<br />

qu’ils peuvent exécuter, les préférences <strong><strong>de</strong>s</strong> <strong>agents</strong><br />

concernant la consommation <strong><strong>de</strong>s</strong> ressources, la quantité et<br />

la qualité <strong><strong>de</strong>s</strong> ressources). La version actuelle du système<br />

SMAORR offre les possibilités <strong>de</strong> configuration <strong>de</strong> la population<br />

<strong><strong>de</strong>s</strong> <strong>agents</strong> et peut servir à la simulation d’une population<br />

avec <strong><strong>de</strong>s</strong> propriétés différentes. La structure organisationnelle<br />

du marché constitue une limitation majeure,<br />

mais dans le futur nous prévoyons une généralisation <strong>de</strong><br />

ce modèle.<br />

r 2<br />

900<br />

r<br />

<br />

800<br />

700<br />

600<br />

500<br />

400<br />

300<br />

r<br />

<br />

r<br />

<br />

r r<br />

r<br />

avec ag. contr.<br />

sans ag. contr.<br />

200 <br />

r rrr rrrrrr rrr rr rrrrrr rrr rr rrrrrr rrr rrr rrrrr r<br />

100 <br />

<br />

0<br />

0 5 10 15 20 25 30 35 40 45 50<br />

Etapes <strong>de</strong> base<br />

Figure 2. Ressource R 2 dans MAS 2<br />

r<br />

<br />

Demazeau Y., 1995. From Interactions to Collective Behavior<br />

in Agent–Based Systems. In Proceedings of European<br />

Conference on Cognitive Science, Saint–Malo.<br />

Ferber J., 1995. Les Systèmes <strong>multi</strong>-<strong>agents</strong>. Vers une intelligence<br />

collective. InterEditions, Paris.<br />

Koźlak J., 2000a. Maintien <strong>de</strong> l’intégrité fonctionnelle<br />

dans les systèmes <strong>multi</strong>-<strong>agents</strong> ouverts à ressources renouvelables.<br />

Thèse <strong>de</strong> doctorat, Institut National Polytechnique<br />

<strong>de</strong> Grenoble. Aka<strong>de</strong>mia Górniczo-Hutnicza w<br />

Krakowie.<br />

Koźlak J., 2000b. Management of renewable resources<br />

in the open <strong>multi</strong>-agent system. In Proceedingd of the<br />

Second Conference on Management and Control of Production<br />

and Logistic MACPL’2000, Grenoble.<br />

Proton H., F. Bousquet, et P. Reitz, 1997. Un outil <strong>pour</strong><br />

observer l’organisation d’une sociét’e d’<strong>agents</strong>. le cas<br />

d’une société d’<strong>agents</strong> chasseurs agriculteurs. In Actes<br />

<strong><strong>de</strong>s</strong> 5e Journées Francophones d’Intelligence Artificielle<br />

et Systèmes Multi-Agents, pages 143–157, La Colle <strong>sur</strong><br />

Loup, Côte d’Azur.<br />

Sandholm T. W., 1999. Multiagent Systems. A Mo<strong>de</strong>rn<br />

Approach to Distributed Artificial Intelligence, chapitre<br />

Distributed Rational Decision Making, pages 201–258.<br />

The MIT Press.<br />

Wellman M., 1993. A Market-Oriented Programming<br />

Environment and its Application to Distributed Multicommodity<br />

Flow Problem. Journal of Artificial Intelligence<br />

Research, 1 :1–23.<br />

Les extensions du système SMAORR peuvent s’orienter<br />

dans plusieurs directions :<br />

– extension <strong><strong>de</strong>s</strong> algorithmes <strong>de</strong> décision <strong>de</strong> l’agentmarché<br />

et <strong>de</strong> l’agent <strong>de</strong> tâches,<br />

– ajout d’un mécanisme <strong>de</strong> négociation,<br />

– prise en considération <strong>de</strong> différentes structures d’organisation<br />

(en particulier les différents types <strong>de</strong><br />

groupe et <strong>de</strong> hiérarchie). Ces structures peuvent<br />

exister dans le système. Il peut simultanément y<br />

avoir plusieurs structures d’organisation avec <strong><strong>de</strong>s</strong><br />

caractéristiques différentes. Dans ce cadre, un agent<br />

doit pouvoir appartenir à différentes structures organisationnelles<br />

à la fois.<br />

– examen <strong>de</strong> l’effet <strong>de</strong> création <strong>de</strong> structures d’organisation,<br />

et <strong><strong>de</strong>s</strong> mécanismes d’entrée ou <strong>de</strong> sortie<br />

d’<strong>agents</strong> dans une organisation.<br />

RÉFÉRENCES<br />

Cheng J. Q. et M. P. Wellman, 1997. The WALRAS<br />

algorithm : A convergent distributed implementation of<br />

general equilibrium outcomes. Computational Economics.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!