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 ...
- 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.