Problèmes d’allocation de ressources
et bien-être de Nash
Résolution par négociation entre agents
Antoine Nongaillard – Philippe Mathieu – Patricia Everaere
Laboratoire d’Informatique Fondamentale de Lille
Bât. M3, 59655 Villeneuve d’Ascq, France
prénom.nom@lifl.fr
RÉSUMÉ. Allouer m ressources entre n agents, de façon à optimiser leur bien-être, est un problème qui peut souvent être résolu de manière centralisée. Cependant, pour certaines fonctions
de bien-être social, une résolution centralisée n’est pas envisageable. Par exemple, le bien-être
de Nash est une fonction qui a d’indéniables qualités mais qui ne peut être optimisée de manière
classique. De plus, de nombreuses applications reposent sur des hypothèses qui ne peuvent pas
être prises en compte par ces techniques centralisées alors que d’autres méthodes le permettent,
comme les approches multi-agents. Après une présentation du problème multi-agents d’allocation de ressources, nous mettons en évidence les difficultés liées aux techniques centralisées et
distribuées existantes. Nous proposons une méthode s’appuyant sur la notion de transaction sociale que nous revendiquons être la seule méthode « anytime » capable de résoudre efficacement
le problème d’allocation de Nash.
ABSTRACT. Solving the allocation of m resources between n agents is a problem which has been
mainly studied in a centralized way. However, some welfare functions cannot be addressed by
such approaches. The Nash welfare, which has interesting qualities cannot be solved in such
a way. Moreover, many real problems rely on aspects that cannot be handled by centralized
techniques whereas multiagent methods are efficient. After having presented the multiagent
allocation problem, we show the difficulties of centralized and distributed approaches. We
propose a solving method based on social transactions and we claim that our anytime solving
method is the only one able to effectively address this problem of obvious practical interests.
MOTS-CLÉS :
allocation de ressources, négociation, simulation, bien-être de Nash.
KEYWORDS:
multiagent resource allocation, negotiation, simulation, Nash welfare.
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux, pages 681 à 709
682
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
1. Introduction
Les problèmes d’allocation de ressources se retrouvent souvent dans la vie courante au travers de très nombreuses applications, et suscitent donc un intérêt croissant.
Leur but est de déterminer la meilleure manière de distribuer un ensemble de ressources aux membres d’une population afin d’optimiser un objectif donné. Cette apparente simplicité cache en réalité un problème très riche et complexe, dont la résolution
se heurte à des problèmes de complexité caculatoire exponentielle. De nombreuses
études ont été réalisées aussi bien de manière centralisée (Sandholm, 2002; Cramton
et al., 2006; Peters et al., 2010) que distribuée (Sandholm, 1998; Chevaleyre et al.,
2006a; Endriss et al., 2006; Chevaleyre et al., 2010; Nongaillard et al., 2010) sous des
hypothèses et des objectifs très variés.
Dans cet article, nous nous intéressons en particulier au bien-être de Nash (Kaneko
et al., 1979; Moulin, 1988; Arrow et al., 2002). Cette fonction de bien-être permet
de prendre en compte à la fois la satisfaction moyenne de la société, mais aussi les
inégalités au sein d’une population. Dans (Moulin, 2003), l’auteur montre que cette
notion possède des propriétés intéressantes sur la distribution des ressources comme
l’indépendance des agents non impliqués, le principe des transferts de Pigou-Dalton
ou encore l’indépendance vis-à-vis des échelles de valeurs.
En dépit de ses qualités, cette notion a été rarement étudiée jusqu’à maintenant.
Nous montrons dans cet article que les méthodes constructives mènent à l’énumération explicite de toutes les allocations possibles, et qu’elles ne sont donc pas utilisables
pour résoudre un problème d’allocation de Nash en un temps raisonnable. En effet, un
problème d’allocation de m ressources à n agents mène à nm allocations différentes.
Leur énumération explicite n’est donc pas envisageable. Il est nécessaire de concevoir des méthodes alternatives afin de trouver un global-optimum pour les problèmes
d’allocation de Nash.
Après une description du contexte d’étude en section 2, la section 3 énumère les
idées préconçues et les difficultés liées à la résolution des problèmes d’allocation de
ressources, aussi bien de manière centralisée que distribuée. Enfin, la section 4 décrit la
méthode de résolution que nous proposons pour résoudre efficacement les problèmes
d’allocation de Nash de manière distribuée.
2. Définitions et notations
Un problème d’allocation de ressources est souvent défini à partir d’une population
P de n agents et d’un ensemble R de m ressources. Chaque agent i ∈ P possède un
panier Ri contenant les mi ressources qu’il possède. L’objectif est de trouver comment
distribuer les ressources de R entre les agents de P afin d’optimiser un objectif donné.
De nombreuses notions de bien-être existent dans la littérature, mais dans cet article,
nous cherchons à maximiser la valeur du bien-être de Nash.
Les problèmes d’allocation sont caractérisés par de nombreux paramètres qui influent sur leurs propriétés intrinsèques. La moindre différence dans les caractéristiques
MARA et bien-être de Nash
683
de deux problèmes peut mener à des techniques de résolution efficaces fondamentalement différentes, comme par exemple considérer des ressources divisibles ou non.
Les sections suivantes sont donc dédiées à la description de notre contexte de travail.
2.1. Allocations de ressources
La nature des ressources est une caractéristique essentielle qui modifie profondément les propriétés du problème. Dans cet article, nous ne nous intéressons qu’à des
ressources à la fois uniques et atomiques. Cela signifie qu’un agent ne peut ni diviser ni consommer les ressources de son panier. Dans ce contexte, les allocations de
ressources peuvent être définies et caractérisées de la manière suivante :
Définition 2.1 (Allocation de ressources). Soient une population de n agents P =
{1, . . . , n} et un ensemble de m ressources R = {r1 , . . . , rm }. Une allocation de
ressources est une liste ordonnée de n paniers de ressources Ri ⊆ R décrivant les
ressources possédées par chaque agent i ∈ P :
A = [R1 , . . . , Rn ],
1, . . . , n ∈ P,
A ∈ A,
oA est l’ensemble des allocations possibles. D’après la nature des ressources que l’on
choisit de considérer ici, une allocation vérifie également les propriétés suivantes :
\
[
Ri = ∅.
Ri = R et
i∈P
i∈P
Cette contrainte, peu restrictive, implique néanmoins que les ressources doivent
être discrétisées. La gestion d’une ressource en quantité continue (comme de l’électricité par exemple) n’est ici pas prise en compte.
2.2. Les préférences des agents
Un autre paramètre important est la représentation des préférences de chaque
agent. Un agent évalue sa satisfaction, aussi appelée son bien-être individuel (Sandholm, 1998), grâce à une fonction d’évaluation souvent basée sur divers éléments
comme, par exemple, une fonction d’utilité ou un porte-monnaie.
Cependant, au lieu de considérer des porte-monnaie infinis comme dans beaucoup
d’études de la littérature (par exemple (Chevaleyre et al., 2005)), nous avons choisi
de restreindre la fonction d’évaluation à une fonction d’utilité. Ainsi, puisque l’argent
n’est pas considéré, la satisfaction d’un agent dépend uniquement des ressources qu’il
possède. Cette hypothèse peut sembler restrictive mais l’utilisation de paiements compensatoires infinis ne peut pas être considérée comme plausible. En effet, si un agent
est aussi riche que nécessaire, n’importe quelle condition peut être satisfaite : toute
perte d’utilité peut être compensée par de l’argent. Un tel contexte n’est pas réaliste
selon nous.
684
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Les préférences des agents peuvent être modélisées selon différentes représentations (Coste-Marquis et al., 2004; Doyle, 2004; Chevaleyre et al., 2006b; Bonzon et
al., 2009). Dans cet article, les agents expriment leurs préférences par une fonction
d’utilité additive ce qui implique que l’utilité correspondante à la possession de plusieurs ressources est calculée par la somme de l’utilité de chacune.
Définition 2.2 (Utility function). Un agent évalue son bien-être individuel grâce à
une fonction d’utilité additive ui : 2R → R. Si un agent i ∈ P possède un panier de
ressources Ri ⊆ R, son bien-être individuel peut être calculé par :
X
ui (r), i ∈ P, Ri ⊆ R.
ui (Ri ) =
r∈Ri
Exemple 2.1. Soient une population de 3 agents P = {ag1, ag2, ag3} et un ensemble
de 6 ressources R = {r1 , . . . , r6 }. Le tableau 1 décrit les préférences des agents : il
contient les valeurs d’utilité associées à chaque ressource par chaque agent.
ui (rj )
Population P
ag1
ag2
ag3
Ensemble de ressources R
r 1 r 2 r3 r 4 r 5 r 6
10 7 10 9
2
1
6 10 3
4
8
6
1
2
1
2
1
3
Tableau 1. Exemple de préférences d’agents
Supposons que les ressources soient allouées de la manière suivante : A =
[{r4 }{r1 , r2 , r6 }{r3 , r5 }]. L’agent ag1 ne possède que la ressource r4 . L’agent ag2
possède les ressources r1 , r2 et r6 et l’agent ag3 possède alors les ressources r3 et r5 .
D’après le tableau 1, le bien-être individuel de chaque agent peut être calculé de la
manière suivante :
uag1 ({r4 }) = 9
uag2 ({r1 , r2 , r6 }) = 6 + 10 + 6 = 22
uag3 ({r3 , r5 }) = 1 + 1 = 2
2.3. Intérêt du bien-être de Nash
La qualité d’une allocation de ressources est souvent évaluée globalement grâce à
des notions de la théorie du choix social (Kaneko et al., 1979; Moulin, 1988; Arrow
et al., 2002). Ces notions permettent l’évaluation du bien-être d’une population à partir du bien-être individuel des agents de cette population. Différentes notions existent
dans la littérature. Le bien-être utilitaire est la notion sociale la plus utilisée. Elle mesure le bien-être moyen d’une population (par la somme des bien-être individuels).
Le bien-être égalitaire mesure les inégalités au sein d’une population (en ne considérant que son agent ayant la plus faible satisfaction individuelle). Le bien-être de Nash
MARA et bien-être de Nash
685
ou produit de Nash considère ces deux aspects à la fois. Il peut être vu comme un
compromis entre les bien-être utilitaire et égalitaire. C’est celui sur lequel nous nous
focalisons dans cet article.
Définition 2.3 (Le bien-être de Nash). Le bien-être de Nash associé à une allocation
de ressources A ∈ A se calcule par le produit des bien-être individuels de tous les
agents de la population :
Y
ui (Ri ), A ∈ A.
swn (A) =
i∈P
Alors que les notions de bien-être utilitaire et égalitaire souffrent d’inconvénients
liés à la répartition des ressources, le bien-être de Nash possède des propriétés remarquables. En effet, cette notion est indépendante des échelles de valeurs : modifier les
échelles de valeurs des utilités ne modifie pas les comparaisons d’allocations par paire.
Aucun agent ne peut être négligé : tous les agents obtiennent au moins une ressource
(si n ≤ m) pour éviter un bien-être individuel nul et donc un bien-être social nul.
Cette notion a néanmoins ses limites : elle perd par exemple tout son sens dès que des
valeurs d’utilité sont négatives.
Exemple 2.2. Soient une population P = {ag1, ag2, ag3} et un ensemble ressources
R = {r1 , . . . , r6 }. Les préférences des agents sont décrites dans le tableau 1. On
peut alors déterminer une allocation de ressources optimale selon trois fonctions de
bien-être social différentes, comme décrit dans le tableau 2.
Fonction de bien-être social
Utilitaire
Égalitaire
Nash
Allocation optimale
[{r1 , r3 , r4 }, {r2 , r5 , r6 }, {}]
[{r1 }, {r5 }, {r2 , r3 , r4 , r6 }]
[{r1 , r3 }, {r2 , r5 }, {r4 , r6 }]
Tableau 2. Allocation optimale vs. fonction de bien-être
Le tableau 2 fournit les allocations optimales pour différents bien-être à partir des
préférences décrites dans le tableau 1. Il met en évidence l’une des propriétés intéressantes du bien-être de Nash : la répartition équitable. Avec les autres notions de
bien-être, certains agents peuvent être complètement négligés et n’obtenir aucune ressource comme dans le cas utilitaire. Dans le cas égalitaire, tous les agents obtiennent
au moins une ressource mais il arrive qu’un agent récupère la majorité des ressources
afin de compenser ses faibles préférences. Dans le cas du bien-être de Nash, aucun
agent n’est négligé et les ressources ne sont pas drainées pour autant. Cette notion
permet à la fois de maximiser le bien-être individuel moyen et de minimiser les inégalités entre les agents.
Le bien-être de Nash est donc une notion sociale évaluant différents aspects d’une
allocation de ressources. Il a d’indéniables qualités et évite aussi certains inconvénients rencontrés par d’autres notions. Mais pourquoi cette notion si intéressante estelle rarement utilisée en pratique ?
686
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
3. Un problème bien complexe
En dépit de nombreuses idées reçues, déterminer une allocation de ressources
maximisant le bien-être de Nash est un problème très complexe. Cette section présente les différents pièges liés aux techniques de résolution centralisées d’abord, puis
aux méthodes distribuées basées sur des négociations entre agents.
3.1. Idées reçues dans les techniques centralisées
Les problèmes d’allocation de ressources peuvent évidemment être résolus au
moyen de techniques centralisées, mais leurs utilisations nécessitent des conditions
particulières qui ne sont pas toujours satisfaites. Par exemple, une entité centrale
omnisciente doit exister : elle doit connaître les paniers de ressources et les préférences des agents pour chercher une solution. Les enchères combinatoires (Bachrach
et al., 2008; Cramton et al., 2006; Sandholm, 2002) remplissent ces conditions : le
commissaire-priseur représente l’entité centrale qui connaît les ressources et les préférences des agents. En revanche, dans le cadre d’applications distribuées comme celles
basées sur les réseaux pair-à-pair, ces hypothèses ne sont plus satisfaites. L’entité centrale omnisciente n’existe plus. En effet, un pair n’est même pas conscient de la taille
de la population et rassembler les informations nécessaires n’est pas plausible ni même
acceptable, en particulier dans le cadre de systèmes dynamiques.
Les techniques centralisées, qui visent à identifier une allocation des ressources
maximisant le bien-être de Nash, fournissent des solutions optimales que nous appelons optima globaux.
Définition 3.1 (Global-Optimum). Une allocation de ressources A ∈ A est un globaloptimum si il n’existe pas d’autre allocation A′ ∈ A(A 6= A′ ) fournissant une plus
grande valeur de bien-être social :
∄A′ ∈ A,
swn (A′ ) > swn (A)
A, A′ ∈ A,
A 6= A′ .
Les sections suivantes présentent quatre familles de techniques centralisées et leurs
limites dans le cadre de la résolution de Nash.
3.1.1. . Algorithme exact
Un algorithme exact déterminant une allocation socialement optimale existe toujours. En effet, puisqu’il n’existe qu’un nombre fini d’allocations distinctes, leur énumération explicite est toujours possible. Un tel algorithme peut être écrit de manière
très concise en Prolog (Colmerauer et al., 1981) comme décrit dans l’algorithme 1.
Cet algorithme permet de trouver l’allocation de ressources maximisant le bien-être
de Nash au moyen d’une énumération explicite de toutes les allocations possibles.
Le nombre d’allocations différentes augmente exponentiellement en fonction du
nombre de ressources et d’agents. Un tel algorithme devient vite inutilisable, même sur
des jeux de données de taille modeste. En effet, depuis la naissance du système solaire
MARA et bien-être de Nash
Algorithme 1. Algorithme d’énumération explicite
% détermination d’une allocation
alloc(_,[],[]).
alloc(Ag,[R|Res],[[A,R]|L]) :- alloc(Ag,Res,L),
member(A,Ag).
% bien-être individuel pour une allocation donnée
value(Ag,Alloc,T) :- util(Ag,U),
valueBis(U,Ag,Alloc,T).
valueBis(U,Ag,[],0).
valueBis(U,Ag,[[Ag,Re]|Aff],T) :- !,
valueBis(U,Ag,Aff,T1),
member([Re,V],U),
T is T1+V.
valueBis(U,Ag,[[_,_]|Aff],T) :- valueBis(U,Ag,Aff,T).
% Produit de Nash pour une allocation donnée
nash([],Affect,1).
nash([A|L],Affect,T) :- nash(L,Affect,T1),
value(A,Affect,V),
T is T1*V.
% détermination de la meilleure allocation
best(Alloc,R) :- ag(La),
res(Lr),
bagof(X,alloc(La,Lr,X),L),
bestBis(La,L,Alloc,R).
bestBis(La,[],[],0).
bestBis(La,[X|L],X,V) :- bestBis(La,L,_,V2),
nash(La,X,V),
V>V2, !.
bestBis(La,[_|L],X,V) :- bestBis(La,L,X,V).
% exemple de données
ag([a,b]).
res([r1,r2,r3]).
util(a,[[r1,10],[r2,5],[r3,8]]).
util(b,[[r1,5],[r2,8],[r3,6]]).
% commandes de lancement
ag(La),res(Lr),alloc(La,Lr,Aff), nash(La,Aff,R).
best(X,R).
687
688
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
(4.6 109 années), à l’aide d’un ordinateur déterminant un million d’allocations par
seconde, nous n’aurions résolu qu’un problème de Nash de 10 agents et 23 ressources.
Des techniques alternatives sont donc nécessaires pour trouver un global-optimum
pour les problèmes d’allocation de Nash.
3.1.2. Limites de la programmation linéaire
Les méthodes de résolution basées sur la programmation linéaire décrivent le problème sous la forme d’un modèle mathématique. Puisque les ressources que l’on
considère ne sont pas divisibles, notre modèle se base sur des variables booléennes
xir décrivant la possession d’une ressource par un agent : xir = 1 si la ressource r
appartient à l’agent i, xir = 0 sinon. Le problème de maximisation du bien-être de
Nash peut ainsi être formulé de la manière suivante :
Q P
max
ui (r)xir
i∈P r∈R
swn⋆ = t.q : P xir = 1
r∈R
i∈P
xir ∈ {0, 1}
r ∈ R, i ∈ P.
On peut voir que la fonction objectif de ce système n’a pas de propriétés intéressantes. En effet, cette fonction n’est ni concave, ni convexe, ni linéaire. Résoudre
des problèmes quadratiques (limité à deux agents) est déjà une tâche complexe et les
techniques d’optimisation classiques ne sont pas efficaces au-delà.
Afin de contourner ce problème, une idée répandue vise à transformer le produit
en somme pour obtenir une expression plus facile à manipuler. L’idée la plus intuitive
est d’utiliser une propriété de la fonction logarithme pour transformer la maximisation
d’un produit en maximisant d’une somme de logarithme.
log(a ∗ b) = log(a) + log(b).
Malheureusement, cette transformation ne facilite pas la résolution du problème ! En
effet, le logarithme n’est pas une fonction linéaire et il n’est pas plus aisé d’optimiser
une somme de fonctions non-linéaires. Les outils d’optimisation les plus répandus
comme C PLEX ou M ATLAB ne sont pas efficaces. Cette transformation change donc
un problème complexe en un autre tout aussi complexe.
3.1.3. Programmation dynamique
Puisque la programmation linéaire n’est pas efficace, certains se tournent vers les
approches constructives. Le principe est d’utiliser une solution optimale d’un sousproblème comme base pour trouver une solution optimale au problème complet.
Dans le cadre des problèmes d’allocation de ressources, trois types de sousproblèmes sont envisageables. Le premier considère toute la population mais seulement une partie des ressources. Le second considère toutes les ressources mais seulement une partie de la population. Le troisième type de sous-problème considère à la
MARA et bien-être de Nash
689
fois une partie des agents et une partie des ressources. Ne considérer qu’une partie de
la population est discutable. En effet, si toutes les ressources sont allouées de manière
optimale sur une partie de la population, son extension entraînera forcément la redistribution des ressources déjà allouées. Autrement, tout nouvel agent n’aurait aucune
ressource et nuirait ainsi au bien-être de la société (un bien-être individuel nul). Pour
toutes ces raisons, seul le premier type de sous-problème sera considéré dans la suite
de cette section.
Un sous-problème d’allocation de ressources ne considère qu’un sous-ensemble
de ressources R′ ⊂ R, qui est alloué de manière optimale entre les agents de la population P. Ensuite, un nouvel ensemble de ressources ρ ⊆ R \ R′ est ajouté au
sous-problème et il faut alors adapter la solution optimale du sous-problème initial
pour déterminer une solution optimale au problème élargi. Par exemple, une technique pourrait consister en l’utilisation de l’algorithme hongrois (Kuhn, 1955) pour allouer une ressource à chaque agent, avant d’allouer les ressources restantes aux agents
leur attribuant la plus grande d’utilité. Malheureusement, l’efficacité d’une telle méthode dépendrait fortement des n premières ressources choisies pour être allouées aux
agents.
Proposition 3.1 (Pas de méthode constructive). Il n’est pas possible de déterminer
un global-optimum du problème complet à partir d’une solution optimale d’un sousproblème.
Démonstration. Prouvons cette proposition en construisant un contre-exemple générique. Considérons pour cela une population P de n agents, un ensemble R de m
ressources et un sous-ensemble de ces ressources R′ = {r1 , . . . rk−1 } ⊂ R tel que
n < k ≤ m. Les préférences des agents peuvent être définies en utilisant seulement
trois coefficients x, y, z ∈ N tel que x < y < z de la manière suivante :
0 if n < j < k or k < j ≤ m
y if i = j or i = 1, j = n
ui (rj ) =
z if i = n, j = k
x sinon.
Une solution optimale A au sous-problème ne considérant que k − 1 ressources
peut être construite de la manière suivante :
(
rj ∈ Rj if 1 ≤ j ≤ n
A=
=⇒ swn (A) = y n .
rj ∈ R1 if n < j < k
Chaque agent obtient une ressource qu’il associe à une utilité y. Les ressources
rn+1 à rk−1 n’influent pas sur le résultat puisqu’elles sont associées à des utilités
nulles. Toute ressource rj (1 ≤ j ≤ n) qui n’est pas associée à l’agent j n’apporte
que x au bien-être individuel de son possesseur, ce qui mènera à une allocation dont
la valeur de Nash sera plus faible.
690
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Étendons maintenant le sous-problème en considérant une ressource supplémentaire à allouer rk ∈ R \ R′ .
S
Il faut donc trouver comment allouer les ressources de R ˇ = R′ {rk } à partir
de la solution optimale A au sous-problème précédent. Notons A′ , A ˇ ∈ A les deux
seules allocations possibles :
(
rk ∈ Rn
=⇒ swn (A′ ) = y n−1 (y + z)
rk ∈ Ri , i 6= n =⇒ swn (A ˇ) = y n−1 (x + y).
L’allocation A ˇ est associée au plus grand bien-être de Nash (par la relation liant
les coefficients x < y < z). Cependant, il existe toujours une meilleure allocation
Aopt ∈ A tel que swn (Aopt ) = 2y n−1 z :
rj ∈ R1 , if j = 1 or n ≤ j < k
opt
A = rj ∈ Rj , if 1 < j < n
rj ∈ Rn if j = k.
Les relations entre ces trois coefficients nous amènent à déduire que :
swn (Aopt ) > swn (A ˇ) > swn (A′ ) > swn (A).
Par conséquent, nous pouvons toujours trouver un contre-exemple montrant qu’il
n’est pas possible de trouver une solution socialement optimale à partir d’une allocation optimale d’un sous-problème.
Une autre solution serait d’utiliser un algorithme de branch-and-bound. Ces algorithmes peuvent être vus comme des arbres où les nœuds sont des solutions partielles
alors que les feuilles sont des allocations complètes. Chaque branche correspond à l’allocation d’une ressource à un agent. À partir de la racine, le processus de résolution
consiste à descendre dans l’arbre, en incluant les ressources petit à petit. Dans (Ramezani et al., 2009), les auteurs utilisent une borne supérieure pour couper certaines
branches. Cette borne supérieure est égale à la valeur du bien-être de Nash lorsque
toutes les ressources restantes sont allouées à tous les agents. Même si cette valeur
est effectivement une borne supérieure, sa valeur est si grande qu’elle ne permet pas
de couper des branches en pratique. L’algorithme de branch-and-bound entraîne alors
l’énumération explicite de toutes les allocations.
Exemple 3.1. Considérons 3 agents et 6 ressources. Supposons que tous les agents associent à toutes les ressources une utilité de 2. À la racine de l’arbre, aucune ressource
n’a encore été allouée, elles appartiennent donc virtuellement à tous.
[{r1 . . . r6 }{r1 . . . r6 }{r1 . . . r6 }] ⇒ swn = 12 × 12 × 12 = 1728
Descendons dans l’arbre des allocations possibles, en allouant une ressource à la
fois. Si d’abord r1 est allouée à ag1 , seules les autres ressources r2 à r6 appartiennent
virtuellement à tous. On obtient la borne supérieure :
r1 ∈ ag1 −→ [{r1 . . . r6 }{r2 . . . r6 }{r2 . . . r6 }] ⇒ swn = 12 × 10 × 10 = 1200
MARA et bien-être de Nash
691
Si r2 et r3 sont respectivement allouée à ag3 et ag1 , nous obtenons les bornes
supérieures suivantes :
r2 ∈ ag3 −→ [{r1 , r3 . . . r6 }{r3 . . . r6 }{r2 . . . r6 }] ⇒ swn = 10 × 8 × 10 = 800
r3 ∈ ag1 −→ [{r1 , r3 . . . r6 }{r4 . . . r6 }{r2 , r4 . . . r6 }] ⇒ swn = 10 × 6 × 8 = 480
On peut voir que les valeurs des bornes supérieures entre deux niveaux de l’arbre sont
si différentes qu’en pratique, elles ne permettent pas de couper des branches. Un tel
algorithme mènera donc à l’énumération explicite de toutes les allocations. Notons
que plus la valeur d’utilité moyenne est grande (valant ici 2), plus la différence entre
les bornes supérieures de niveaux de l’arbre est importante.
Puisqu’il n’y a pas de critère de branchement efficace dans ce contexte, ces algorithmes ne représentent pas une approche convaincante pour résoudre des problèmes
d’allocation de Nash.
La proposition 3.1 a ainsi des conséquences importantes sur la conception d’algorithmes de résolution. Notons que cette proposition est aussi valide dans le contexte
de société égalitaire mais pas dans le cadre de société utilitaire.
3.1.4. Efficacité des heuristiques
Puisque ni les algorithmes exacts, ni les techniques d’optimisation classiques ne
semblent efficaces, des heuristiques doivent être conçues pour estimer le bien-être de
Nash optimal. Nous avons utilisé différentes techniques et conçu plusieurs heuristiques que nous avons comparé au sein d’un tournoi pour déterminer celle donnant les
meilleurs résultats. Puisque le produit de Nash est un compromis entre l’augmentation du bien-être individuel moyen et la diminution des inégalités, les heuristiques que
nous avons conçu accordent plus ou moins d’importance à ces deux aspects.
Nous avons conçu 6 heuristiques différentes. La première heuristique se focalise
uniquement sur la satisfaction moyenne des agents et alloue chaque ressource à l’agent
lui associant la plus grande utilité. La seconde ne considère que les inégalités entre les
agents. Ils sont considérés séquentiellement par un mécanisme de round-robin où la
meilleure ressource restante leur est allouée. La troisième heuristique prend en compte
ces deux aspects par des étapes successives. D’abord, chaque ressource est allouée à
l’agent lui associant la plus grande utilité. Ensuite, on vérifie que chaque agent possède au moins une ressource, et si besoin est, on prend la ressource maximisant le
produit local des bien-être individuels. Les deux heuristiques suivantes sont basées sur
l’algorithme hongrois (Kuhn, 1955) qui peut résoudre un problème d’allocation de x
ressources entre x agents de manière optimale. La quatrième heuristique vise à maximiser la satisfaction moyenne alors que la cinquième vise à maximiser la richesse de
l’agent le plus pauvre. La sixième et dernière heuristique est basée sur du branch-andbound. Elle est basée sur l’allocation des ressources libres à tous les agents comme
décrit dans la section 3.1.3.
L’efficacité de ces heuristiques a été comparée dans un tournoi. Chaque duel a été
répétée 10 000 fois sur différentes instances. Ce tournoi met en évidence le fait qu’une
692
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
heuristique efficace doit prendre en compte aussi bien la richesse moyenne que les
inégalités entre les agents. L’heuristique la plus efficace est la troisième heurisitque
décrite dans cette section. Cette heuristique est décrite dans l’algorithme 2.
Algorithme 2. Heuristique d’estimation du bien-être de Nash optimal
Entrées : Population P, Ressources R
Sorties : Estimation de swn⋆
// Première étape centrée sur le bien-être individuel moyen
pour tous les r ∈ R faire
i ← arg max ui (r) ;
// détermine l’agent qui estime le plus r
i∈P
Ajouter r à A(i) ;
// alloue r à l’agent i
// Seconde étape centrée sur les inégalités
pour i ∈ P s.t. mi = 0 faire
val ← 0 ;
// cherche où prendre une ressource
pour j ∈ P s.t. mj > 1 faire
r′ ← arg max ui (r′ ) × uj (Rj \ {r′ }) ;
r ′ ∈Rj
si val < ui (r′ )uj (Rj \ {r′ }) alors
val ← ui (r′ )uj (Rj \ {r′ }) ;
r ← r′ ;
Ajouter r à A(i) ;
retourner swu (A) ;
// ré-alloue r à l’agent i
3.2. Idées reçues dans les méthodes distribuées
Puisque les techniques centralisées habituelles ne permettent pas la résolution des
problèmes d’allocation de Nash, nous nous penchons dans cette section sur les méthodes distribuées. À notre connaissance, seules des approches basées sur des agents
ont été étudiées, et c’est également à ces approches que nous avons choisi de nous
intéresser.
3.2.1. Caractéristiques des méthodes « agents »
Selon ces méthodes distribuées, des agents autonomes négocient les ressources de
leur panier au moyen de transactions qui modifient l’allocation de ressources. En effet,
tout au long du processus de négociation, l’allocation de ressources initiale évolue
transaction après transaction jusqu’à une allocation optimale.
Les méthodes « agents » partent d’une allocation initiale, qui évolue au travers de
transactions successives entre agents, alors que les techniques centralisées distribuent
directement les ressources. Pour atteindre un optimum grâce à ce type de méthodes
distribuées, il faut donc qu’il existe une suite de transactions entre agents qui permette
MARA et bien-être de Nash
693
de faire évoluer l’allocation de ressources jusqu’à cet optimum. Selon les transactions
autorisées dans la méthode distribuée, un chemin menant de l’allocation initiale à un
global-optimum peut ne pas exister.
Exemple 3.2. Soient une population de deux agents P = {ag1, ag2} et un ensemble
de trois ressources R = {r1 , r2 , r3 }. Les préférences des agents sont décrites dans le
tableau 3.
ui (rj )
Population P
ag1
ag2
Ensemble de ressources R
r1
r2
r3
5
5
1
1
1
5
Tableau 3. Caractéristique des méthodes distribuées – Préférences des agents
L’allocation de ressources initiale est A = {r1 }{r2 , r3 } . Autrement dit, l’agent
ag1 possède r1 alors que l’agent ag2 possède r2 et r3 . La valeur initiale du bien-être
de Nash est swn (A) = 30. Il est relativement facile de déterminer une allocation
optimale A′ = {r1 , r2 }{r3 } et la valeur sociale associée : swn (A′ ) = 50.
Or, il n’existe pas de chemin d’échange (une ressource contre une autre) permettant d’atteindre la solution optimale alors qu’un chemin de dons (une ressource sans
contrepartie) existe. En effet, l’utilisation exclusive d’échanges ne permet pas de modifier le nombre initial de ressources par agent. Ainsi, selon le type de transaction
autorisé, le global-optimum peut ne pas être atteignable.
Méthodes centralisées et distribuées n’amènent pas aux mêmes types d’optimum.
Les méthodes centralisées utilisent une notion d’optimum absolu alors que les méthodes distribuées utilisent une notion d’optimum réaliste basée sur les transactions.
Définition 3.2 (∆-optimum). Une allocation de ressources A ∈ A est un ∆-optimum
si aucun chemin de transactions, appartenant à l’ensemble des transactions autorisées
∆, ne mène à une allocation associée à un plus grand bien-être de Nash.
∀A′ ∈ A,
∄δ
swn (A′ ) > swn (A)
δ ∈ ∆, A ∈ A.
Un ∆-optimum est la meilleure allocation atteignable selon les transactions autorisées. Cet optimum ne peut donc jamais être associé à un plus grand bien-être de Nash
qu’un global-optimum, alors que l’inverse est généralement vrai. Dans l’exemple 3.2,
l’allocation A est un ∆-optimum lorsque seules les transactions « échange » (une ressource échangée contre une autre) sont autorisées, mais cette allocation n’est pas un
global-optimum.
Un ∆-optimum ne peut être déterminé par des techniques centralisées pour des
raisons de calculabilité. En effet, à chaque étape du chemin, le nombre de transactions
possibles peut être extrêmement grand selon ∆. Par exemple, si seuls les dons sont
autorisés, alors n × m transactions sont possibles à chaque étape du chemin menant
au global-optimum.
694
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Notons que les méthodes « agents » doivent satisfaire certaines caractéristiques
afin d’être utilisables en pratique. En effet, ces méthodes fournissent des chemins de
transactions menant jusqu’à une allocation ∆-optimale. Chaque transaction est déterminée par une négociation entre agents et le processus de négociation (c’est-à-dire
les négociations successives) doit cesser lorsque la population atteint une allocation
∆-optimale. Or, comme les agents sont autonomes, ils doivent à un moment donné
arrêter de négocier, afin de laisser le système dans une allocation de ressources optimale. L’allocation atteinte à la fin du processus de négociation peut être vue comme
un phénomène émergent. Les agents doivent ainsi être capables de déterminer localement si une transaction est profitable ou non. Leurs décisions doivent reposer sur un
critère d’acceptabilité garantissant la convergence du processus de négociation (choisi
de manière appropriée) et surtout l’arrêt de toute modification une fois le ∆-optimum
obtenu.
3.2.2. Transactions : complexité et restrictions
Différentes classes de transaction existent dans la littérature (Sandholm, 1998), les
restreignant plus ou moins. La transaction la plus générique est appelée transaction
multilatérale et peut impliquer autant d’agents et de ressources que nécessaire :
Définition 3.3 (Transaction). Une transaction est un couple d’allocation δ = (A, A′ )
telle que A, A′ ∈ A et A 6= A′ . Ce couple décrit l’évolution de l’allocation initiale A
en une autre A′ . Notons Pδ l’ensemble des nδ agents qui prennent part à la transaction
δ.
Cette définition est largement utilisée dans la littérature et plus particulièrement
dans le cadre d’études théoriques (par exemple (Endriss et al., 2006; Chevaleyre et
al., 2010)). Cependant, cette définition est basée sur la notion d’allocation qui est une
notion globale.
Seules quelques études ont été menées sur les transactions multilatérales. Certains
auteurs les ont étudiées d’un point de vue théorique (Endriss et al., 2005) et ont établi des bornes sur la longueur des chemins de transactions selon différents scénarios.
Dans (Hemaissia et al., 2007), les auteurs proposent un protocole de négociation pour
simuler des transactions multilatérales. En pratique, ces transactions ne sont pas utilisées pour des raisons de calculabilité. En effet, déterminer une transaction multilatérale acceptable est une tâche complexe, due à la taille exponentielle de l’espace des
possibilités.
Proposition 3.2 (Complexité des transactions multilatérales). Soit δ une transaction multilatérale impliquant nδ agents dans laquelle m′ ressources sont offertes.
Le
P
′
nombre total de transactions multilatérales est : #δ = (nδ )m avec m′ =
mi .
i∈Pδ
Démonstration. Une transaction multilatérale δ, impliquant nδ participants qui
peuvent offrir jusqu’à leur panier complet, peut être vue comme un sous-problème
d’allocation de ressources (P ′ , R′ ). La population est restreinte à l’ensemble des par-
MARA et bien-être de Nash
695
ticipants P ′ = Pδ et l’ensemble
S des ressources à allouer correspond à l’union des
paniers des participants R′ = i∈Pδ Ri . Le nombre de transactions multilatérales
correspond donc au nombre total d’allocations possibles du sous-problème.
Puisqu’il n’existe pas de technique fiable pour identifier efficacement les transactions multilatérales, nous choisissons de ne considérer que les transactions bilatérales
dans cet article, comme c’est le cas dans la majorité des études réalisées. Cependant,
même si cette restriction diminue la complexité liée à l’identification des transactions
acceptables, elle empêche également d’atteindre une allocation optimale.
Proposition 3.3 (Limite sur le nombre de participants). Limiter le nombre d’agents
pouvant être impliqués dans une même transaction peut empêcher le processus de
négociation d’atteindre une allocation optimale.
Corollaire 3.4. Une transaction impliquant tous les agents d’une population peut être
nécessaire pour qu’un processus de négociation atteigne une allocation socialement
optimale.
Démonstration. Prouvons cette propriété en concevant un contre-exemple. Soient une
population P = {ag1, ag2, ag3} et un ensemble de ressources R = {r1 , r2 , r3 }.
Nous supposons que les agents n’acceptent que des transactions augmentant leur bienêtre individuel. Leurs préférences sont décrites dans le tableau 4.
ui (rj )
Population P
ag1
ag2
ag3
Ensemble de ressources R
r1
r2
r3
2
1
5
5
2
1
1
5
2
Tableau 4. Limite sur le nombre de participants – Préférences des agents
Supposons l’allocation initiale A = {r1 }{r2 }{r3 } avec swn (A) = 8. Aucune transaction n’impliquant qu’un sous-ensemble de la population ne mène à une
meilleure allocation de ressources. En effet, les dons (une ressource donnée sans
contrepartie) laissent toujours un des agents sans ressources (et donc à un bien-être
individuel nul), et tous les échanges (une ressource contre une autre) mènent toujours
à la diminution du bien-être individuel d’au moins un des participants.
Or cette allo
cation initiale n’est pas un global-optimum puisqu’il existe A′ = {r3 }{r1 }{r2 } qui
est associée à un plus grand bien-être de Nash swn (A′ ) = 125.
La seule et unique manière d’atteindre l’optimum correspond à trois dons simultanés. En effet, si les trois agents donnent simultanément leur ressource à un des partenaires, ils augmentent tous les trois leur bien-être individuel. Par conséquent, limiter
le nombre d’agents impliqués dans une même transaction peut empêcher le processus
de négociation d’atteindre un global-optimum.
696
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Restreindre le nombre de participants à une transaction reste un moyen efficace
pour diminuer la complexité. Malheureusement, cela ne suffit pas. La détermination
d’une transaction bilatérale acceptable reste une tâche délicate dont la complexité dépend du nombre de ressources que les participants peuvent offrir.
Corollaire 3.5 (Complexité des transactions bilatérales). Considérons deux agents
i, j ∈ P qui possèdent respectivement mi et mj ressources. Le nombre total de transactions bilatérales possible entre les agents i est j est :
#δij = 2mi × 2mj − 1.
Démonstration. Cette formule est obtenue par une application directe de la proposition 3.2 avec nδ = 2, Pδ = {i, j}, et m = mi + mj .
Limiter la taille des offres faites par les agents (le nombre de ressources que les
participants peuvent offrir) est un moyen de simplifier l’identification de transactions
bilatérales acceptables. On peut cependant se demander quel est l’effet d’une telle
restriction sur l’efficacité des négociations.
Proposition 3.6 (Limite sur les offres des participants). Restreindre la taille des offres
des participants durant une transaction peut empêcher le processus de négociation
d’atteindre un global-optimum.
Corollaire 3.7 (Décomposition d’une transaction de Nash). Les transactions ne
peuvent pas toujours être décomposées en une séquence de transactions acceptables
de moindre cardinalité.
Démonstration. Soient P = {ag1, ag2} une population de deux agents et R =
{r1 , r2 } un ensemble de ressources. Les préférences des agents sont décrites dans
le tableau 5.
ui (rj )
Population P
ag1
ag2
Ensemble de ressources R
r1
r2
1
7
7
1
Tableau 5. Limite sur les offres des participants – Préférences des agents
L’allocation de ressources initiale est A = {r1 }{r2 } et vaut swn (A) = 1. Il
existe un échange acceptable pour les deux agents (leurs bien-être
individuels
res
pectifs augmentent). Cet échange mène à une allocation A′ = {r2 }{r1 } qui vaut
swn (A′ ) = 49.
Cette transaction acceptable ne peut en revanche pas être décomposée en une séquence de transactions acceptables de moindre cardinalité (impliquant chacune moins
de ressources). En effet, la seule décomposition possible est une séquence de deux
MARA et bien-être de Nash
697
dons. Or, aucun don n’est acceptable puisqu’il laisserait un agent sans aucune ressource. Par conséquent, une transaction acceptable ne peut pas toujours être décomposée en une séquence de transactions acceptables de moindre cardinalité.
La première conséquence de cette proposition est évidente. Les transactions de
grande cardinalité ne peuvent être décomposées en une séquence de transactions de
moindre cardinalité, et donc en une séquence de dons. Elles sont essentielles pour
garantir l’atteinte d’une allocation optimale.
Les types de transaction autorisés durant les négociations, noté ∆, définissent la
politique de négociation. Les agents peuvent par exemple être autorisés à offrir une
ou plusieurs ressources lors d’une même transaction. La politique de négociation basée uniquement sur des « dons » (une ressource sans contrepartie) sera notée « h1, 0i »
alors que celle basée uniquement sur des « échanges » (une ressource contre une autre)
sera notée « h1, 1i ». Un seul type de transaction est autorisé selon ces politiques de
négociation. Une politique de négociation selon laquelle les agents peuvent respectivement offrir jusqu’à n et m ressources sera notée « up to hn, mi ».
« up to {hn, mi} » ⇔ ∆ = {hx, yi|x ≤ n, y ≤ m}.
Proposition 3.8 (Complexité des politiques de négociation). Si les deux agents i, j ∈
P peuvent offrir respectivement jusqu’à u et v ressources (u ≤ mi , v ≤ mj ), le
nombre de transactions bilatérales possible entre eux deux est :
!
! v
u
X
X
j
x
x
Cmj .
C mi
#δi =
x=0
x=0
Démonstration. Une politique de négociation est basée sur la taille des offres qu’un
agent peut faire. Si un agent peut offrir « jusqu’à trois ressources », il peut offrir n’imk
porte quel sous-ensemble de son panier contenant au plus trois ressources. Cm
est le
i
nombre d’offres possibles contenant exactement k ressources que peut faire un agent
possédant mi ressources. Une simple somme permet de déterminer le nombre total
d’offres qu’un agent peut faire. Une fois ce nombre calculé pour chacun des deux
agents, déterminer le nombre de transactions possibles est alors trivial.
Exemple 3.3. Considérons deux agents i, j ∈ P impliqués dans une négociation
initiée par l’agent i. Ces agents possèdent respectivement 10 et 20 ressources dans
leur panier. Déterminons alors le nombre de transactions possibles selon différentes
stratégies de négociation.
∆ = {h1, 0i} ⇒ #δij = 10
∆ = {h1, 1i} ⇒ #δij = 200
∆ = {hx, yi|x ≤ 2, y ≤ 2} ⇒ #δij = 40500
698
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Lorsque seuls les dons de l’initiateur sont autorisés, 10 dons sont possibles puisque
l’initiateur ne possède que 10 ressources. Lorsque seuls les échanges sont autorisés,
les deux participants peuvent offrir une unique ressource ce qui rend 200 transactions
différentes possibles. Lorsque les participants peuvent offrir jusqu’à deux ressources,
le nombre de transactions possibles explose jusqu’à 40 500. Cet exemple met en évidence que, selon le type de transaction autorisé, une négociation peut très vite prendre
un temps considérable. Restreindre la cardinalité des transactions est ainsi essentiel
pour garantir l’exécution en temps raisonnable de la méthode.
3.2.3. Rationalité individuelle et efficacité
Dans les méthodes distribuées, les agents sont souvent autonomes. L’allocation
initiale évolue petit à petit grâce à des transactions locales entre les agents. Au lieu
d’avoir une entité centrale qui décide comment allouer les ressources, la décision
est distribuée entre les agents. Chaque agent doit alors déterminer localement quelles
transactions sont profitables. La prise de décision des agents est basée sur un critère
d’acceptabilité.
Dans la littérature ((Sandholm, 1998) par exemple), le critère le plus utilisé est la
rationalité individuelle : ce critère ne considère que le bien-être individuel de l’agent.
Définition 3.4 (Agent rationnel). Un agent est dit « rationnel » si et seulement si il
n’accepte que les transactions augmentant son bien-être individuel. Un agent rationnel
i ∈ P acceptera donc toute transaction δ(A, A′ ) satisfaisant la condition suivante :
ui (Ri′ ) > ui (Ri ), i ∈ P,
Ri , Ri′ ⊆ R,
où Ri et Ri′ sont respectivement les paniers de ressources de l’agent i dans les allocations A et A′ .
Ce critère d’acceptabilité n’est basé que sur des informations personnelles et peut
donc être calculé de manière locale. Cependant, un critère d’acceptabilité basé uniquement sur le bien-être individuel de l’agent est inefficace pour atteindre une allocation
socialement optimale. En effet, seules peu de transactions rationnelles peuvent être
appliquées en général, et la population reste dans une situation sous optimale.
Exemple 3.4. Soient une population P = {ag1, ag2} et un ensemble de ressources
R = {r1 , r2 }. Le tableau 6 décrit les préférences des agents.
ui (rj )
Population P
ag1
ag2
Ensemble des ressources R
r1
r2
1
4
10
5
Tableau 6. Rationalité individuelle – Préférences des agents
L’allocation de ressources initiale est A = {r1 }{r2 } et vaut swn (A) = 5. À
partir de cette allocation, aucune transaction rationnelle n’est possible. En effet, au-
MARA et bien-être de Nash
699
cun don n’est rationnel puisqu’un agent donnant une ressource diminuera son bienêtre individuel. Pareillement, le seul échange possible diminuerait le bien-être individuel de l’agent ag1 qui passerait de 5 à 4. Or, une meilleure allocation existe :
A′ = {r2 }{r1 } valant swn (A′ ) = 40. Ce global-optimum ne peut pas être atteint
par des agents individuellement rationnels.
Ainsi, les processus de négociation entre agents individuellement rationnels
peuvent se terminer prématurément sur des allocations sous-optimales.
3.2.4. Processus de négociation et graphe d’accointances
La plupart des études réalisées jusqu’à présent sur les problèmes d’allocation de
ressources ne considère pas de restrictions dans les communications entre les agents
(par exemple (Chevaleyre et al., 2006a; Endriss et al., 2006)). Un agent peut donc
négocier avec tous les autres agents de la population. Cette hypothèse ne nous semble
pas très réaliste car ce n’est pas le cas dans bien des applications. Par exemple, dans le
cas d’un réseau pair-à-pair, un pair ne connaît pas tous les autres pairs du réseau. Dans
un réseau social sur Internet, une personne ne connaît qu’un nombre limité d’autres
membres. Dans de tels cas, les agents ne sont même pas conscients de la taille du
système complet et ne disposent que d’informations locales.
Ces aspects ne sont souvent pas pris en compte lorsqu’on parle de problèmes d’allocation. Dans (Chevaleyre et al., 2007), les auteurs ont étudié l’élimination de l’envie
au sein d’une population d’agents. Ils ont établi des résultats sur la convergence et
la complexité des problèmes d’allocation sur graphes, sans donner les moyens d’atteindre les solutions optimales. Les problèmes d’allocation de tâches ont été étudiés
sans que les capacités de communication des agents ne soient restreintes (de Weerdt
et al., 2007). Seul le cas des sociétés utilitaires a été résolu au moyen d’algorithmes
exponentiels. D’autres auteurs se sont focalisés sur des questions topologiques, où le
comportement des agents et les performances des systèmes complexes ont été étudiés (Dekker, 2007). Puisque peu d’études ont considéré des restrictions sur les communications des agents, certains pourraient remettre en cause l’importance de telles
restrictions.
Proposition 3.9 (Impact du graphe d’accointances). Indépendamment de la fonction
objectif considérée, un graphe d’accointances restreint peut empêcher un processus
de négociation d’atteindre un global-optimum.
Démonstration. Soient une population P = {ag1, ag2, ag3} et un ensemble de ressources R = {r1 , r2 , r3 }. Les préférences des agents sont décrites dans le tableau
7.
Le graphe d’accointances décrivant les capacités de communication des agents
est représenté dans la figure 1. Les nœuds représentent les agents et les liens entre
les agents représentent les possibilités de communication. Selon la topologie de ce
graphe, l’agent ag2 peut communiquer avec les agents ag1 et ag3, tandis que ces
700
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
ui (rj )
Population P
ag1
ag2
ag3
Ensemble de ressources R
r1
r2
r3
3
1
9
1
4
1
10
2
3
Tableau 7. Impact du graphe d’accointances – Préférences des agents
derniers
ne peuvent pas
communiquer entre eux. L’allocation de ressources initiale est
A = {r1 }{r2 }{r3 } et vaut swn (A) = 36.
Figure 1. Exemple de graphe d’accointances
Seulement deux échanges sont possibles. Soit les agents ag1 et ag2 échangent les
ressources r1 et r2 , soit les agents ag2 et ag3 échangent les ressources r2 et r3 . Ces
deux échanges provoquent une diminution du bien-être individuel d’au moins un des
participants. Aucun échange n’est donc acceptable ici.
Cette allocation A n’est cependant pas un global-optimum. En effet, l’échange des
ressources
r1 et r3 entre
les agents ag1 et ag3 mènerait à une meilleure allocation
A′ = {r3 }{r2 }{r1 } valant swn (A′ ) = 360. La topologie du graphe d’accointances
(décrit figure 1) a suffisamment restreint les communications entre les agents, pour
empêcher le processus de négociation d’atteindre un global-optimum.
Dès que le graphe d’accointances est restreint, l’ordre dans lequel les agents négocient devient important.
Proposition 3.10 (Ordre des négociations). Indépendamment de la fonction objectif
considérée, l’ordre selon lequel les agents négocient empêche un processus de négociation d’atteindre un global-optimum.
Démonstration. Soient une population P = {ag1, ag2, ag3} et un ensemble de ressources R = {r1 , r2 , r3 }. Les préférences des agents sont décrites dans le tableau 8.
Le réseau d’accointances décrivant les capacités de communication
des agents est
représenté dans la figure 1. L’allocation de ressources initiale est A = {r1 }{r2 }{r3 }
et vaut swn (A) = 6. Supposons maintenant que l’agent ag2 initie une négociation.
D’après la topologie du graphe d’accointances, deux partenaires sont possibles. Selon
le choix de l’initiateur, le processus de négociation peut terminer sur une allocation
MARA et bien-être de Nash
701
sous-optimale. En effet, si l’agent ag2 négocie d’abord avec l’agent ag1, l’allocation
atteinte est A′ = {r2 }{r1 }{r3 } et vautswn (A′ ) = 50. En revanche, si l’agent ag3
est choisi, l’allocation atteinte est A ˇ = {r1 }{r3 }{r2 } et vaut swn (A ˇ) = 126.
ui (rj )
Population P
ag1
ag2
ag3
Ensemble des ressources R
r1
r2
r3
2
10
4
5
3
9
2
7
1
Tableau 8. Ordre des négociations – Préférences des agents
Par conséquent, l’ordre selon lequel les agents négocient devient un paramètre
important à prendre en compte lorsque le graphe d’accointances est restreint.
Dans cette section, nous avons montré qu’il était important de prendre en compte la
topologie du graphe d’accointances car cela intervient dans de très nombreuses applications. Ces restrictions de communication correspondent sans doute plus au monde
réel mais ont des conséquences importantes sur l’efficacité des processus de négociation. Elles peuvent d’ailleurs empêcher les processus de négociation d’atteindre un
global-optimum. De plus, nous avons également montré que l’ordre dans lequel les
agents négocient peut mener à des solutions sous-optimales. En dépit de leurs impacts
respectifs, ces paramètres ont été rarement pris en compte jusqu’à présent.
4. Notre approche distribuée
La section précédente était dédiée aux idées préconçues sur les problèmes d’allocations de Nash, sur les techniques centralisées, sur la conception d’heuristiques et
sur les négociations distribuées. Cette section décrit la solution distribuée que nous
proposons, basée sur des agents autonomes qui négocient et font émerger une solution
au problème d’allocation de Nash. Nous décrivons d’abord le paramétrage des négociations, et présentons ensuite une étude expérimentale pour étayer notre proposition.
4.1. Paramétrages des négociations
Puisque les transactions bilatérales sont les plus calculables en pratique, nous
avons choisi de ne considérer qu’elles. Elles peuvent être modélisées en utilisant le
nombre de ressources que chaque agent peut offrir.
Définition 4.1 (Transactions bilatérales). Une transaction bilatérale entre deux agents
i, j ∈ P, notée δij , est initiée par l’agent i qui choisit un partenaire j. C’est une paire
δij hu, vi = (ρi , ρj ) où l’initiateur i offre un ensemble ρi de u ressources (ρi ⊆ Ri )
alors que le partenaire j offre un ensemble ρj de v ressources (ρj ⊆ Rj ).
702
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
4.1.1. Le critère de sociabilité
Comme décrit dans la section 3.2.3, le critère de décision est essentiel afin de garantir la convergence des processus de négociation. Un agent utilise ce critère afin de
déterminer quelles sont les transactions profitables. Le critère le plus utilisé, la rationalité individuelle, mène le plus souvent les processus de négociation à des solutions
très sous-optimales. Nous proposons ici un nouveau critère plus flexible, qui devrait
mener à des solutions socialement meilleures.
Définition 4.2 (Transaction sociale). Une transaction sociale δ, changeant l’allocation
initiale A en une nouvelle A′ , est une transaction menant à une amélioration du bienêtre de la société :
swn (A′ ) > swn (A),
A, A′ ∈ A.
Le critère social est centré sur la notion de bien-être social, qui est une notion globale. Sa valeur ne peut être déterminée que grâce à la valeur du bien-être individuel
de tous les agents. Les agents devraient connaître le panier de ressources et les préférences de tous les agents de la population, afin de calculer la valeur du bien-être
social. Ces conditions ne peuvent être satisfaites puisque les agents ne disposent que
d’informations locales. La valeur du bien-être social n’est pas essentielle : en effet,
connaître son évolution est suffisant pour savoir si une transaction pénalise ou non la
société. De tels calculs peuvent alors être réduits à un contexte local, au niveau d’un
agent. En effet, si on ne considère que les deux agents impliqués dans une transaction,
l’évolution de la valeur sociale peut être calculée de manière locale.
swn (A) <swn (A′ )
Y
Y
uk (Rk′ )
uk (Rk ) <
⇒
k∈P
⇒
ui (Ri )uj (Rj )
Y
k∈P
uk (Rk ) <ui (Ri′ )uj (Rj′ )
k∈P\{i,j}
⇒
Y
uk (Rk′ )
k∈P\{i,j}
ui (Ri )uj (Rj ) <ui (Ri′ )uj (Rj′ )
C’est l’un des points forts de notre approche que de pouvoir ramener ce critère global
à un calcul local. C’est la condition nécessaire garantissant que les agents n’ont pas à
être omniscients.
4.1.2. Réseau d’accointances
Notre méthode permet de prendre en compte les notions de voisinage et de réseau
d’accointances. Le voisinage Ni d’un agent i ∈ P est un sous-ensemble de la population P avec laquelle il est capable de communiquer. Le graphe d’accointances est
le réseau de relations formé par l’agrégation du voisinage de tous les agents. Ce réseau décrit les capacités de communication des agents. Dans un tel graphe, les nœuds
représentent les agents et les liens entre les agents symbolisent les possibilités de communication.
MARA et bien-être de Nash
703
Différentes topologies peuvent ainsi être considérées : les graphes structurés où
tous les agents ont le même nombre de voisins (grilles ou graphes complets) et les
graphes aléatoires (classique (Erdős et al., 1959) et petit-monde (Albert et al., 2002))
où la topologie est irrégulière.
4.1.3. Le comportement des agents
Le comportement d’un agent le définit d’un point de vue externe, c’est-à-dire qu’il
décrit la manière dont l’agent interagit avec les autres. Une transaction bilatérale est
une combinaison d’offres venant de différents participants. Lorsqu’un agent initie une
négociation, il sélectionne un partenaire dans son voisinage, fait des offres et en reçoit,
puis vérifie leur acceptabilité selon son propre critère. Si une transaction est acceptable
pour les deux participants, alors elle est appliquée. Sinon, les agents doivent décider qui doit modifier son offre d’après son comportement et la négociation continue.
L’ordre dans lequel ces actions sont effectuées (si elles le sont) constitue un comportement.
Plusieurs comportements ont été implémentés et testés mais seul le plus efficace
est décrit dans cet article (c’est-à-dire celui menant aux meilleures solutions d’un point
de vue social). Nos simulations montrent que les agents doivent être capables de modifier leurs offres et de changer de partenaire durant la négociation. Il faut en effet que
les agents soient capables de faire des concessions et de proposer différentes offres
à différents partenaires si c’est nécessaire. Un tel comportement nécessite plus de
temps de calcul que lorsque les agents refusent de modifier leurs offres, mais il permet
aux processus de négociation d’atteindre de meilleures solutions. L’ordre dans lequel
les différentes actions sont effectuées affecte également l’efficacité des négociations.
Trois niveaux de priorité doivent être distingués : sur les partenaires, sur les offres de
l’initiateur et sur celles du partenaire. Nos expériences montrent que le comportement
décrit par l’algorithme 3 est le plus efficace. Dans cet algorithme, TEST D ’ ACCEP TABILITÉ dénote le test que doit faire l’agent pour déterminer si une transaction est
acceptable ou non selon son propre critère. Le test peut être formellement formulé
selon la définition 3.4 si l’agent est individuellement rationnel ou selon la définition
4.2 si l’agent est sociable.
Selon la politique de négociation (c’est-à-dire le type de transaction autorisé),
chaque agent peut offrir jusqu’à un certain nombre de ressources. Il commence par
constituer la liste des offres qu’il peut faire. Ensuite, il trie cette liste selon ses préférences afin de toujours proposer ce qui a le moins de valeur pour lui en premier lieu.
Un agent agissant suivant le comportement décrit dans l’algorithme 3, peut changer
de partenaire et d’offre durant la négociation. Il propose son offre à ses voisins avant
de faire des concessions et d’en proposer une autre.
704
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Algorithme 3. Recherche d’une transaction bilatérale acceptable
Entrées : Agent initiateur i
// génère la liste des offres possibles selon sa politique
Li ← génère (∆, Ri ) ;
// ordonne la liste d’offres pour offrir d’abord ce qui a le
moins de valeur
Trie Li selon ui ;
// mélange le voisinage pour éviter un biais de sélection
Mélange Ni ;
// Évolution de l’offre de l’initiateur en dernier recours
pour tous les ρi ∈ Li faire
// Changement du partenaire impliqué s’il ne peut
répondre de manière acceptable à l’offre de
l’initiateur
pour tous les j ∈ Ni faire
// Modification prioritaire de l’offre du partenaire
pour tous les ρj ∈ Lj faire
// Création d’une transaction
δ ← (ρi , ρj ) ;
si TEST D ’ ACCEPTABILITÉ alors
Application de la transaction δ ;
Fin de la négociation ;
4.2. Évaluation de notre méthode basée sur les agents
4.2.1. Le protocole d’évaluation
Durant ces expérimentations, différents aspects des processus de négociation ont
été évalués principalement grâce à deux paramètres.
Le premier paramètre est la cardinalité des transactions. Identifier une transaction
bilatérale acceptable peut devenir une tâche coûteuse et complexe selon le nombre
de ressources que les agents peuvent offrir en une fois (comme décrit dans la section
3.2.2). Afin de favoriser l’implémentation de notre approche, une limite sur la taille des
offres nous paraît essentielle. Le but est de déterminer si l’utilisation de transactions de
large cardinalité est inévitable pour atteindre des solutions socialement intéressantes.
Le second paramètre utilisé est l’efficacité sociale, qui mesure l’écart entre le
global-optimum (fourni par la meilleure heuristique décrite dans la section 3.1.4) et
la solution obtenue par négociation entre agents selon différents paramétrages. Le but
est de déterminer quel est le meilleur moyen de négocier et d’atteindre une solution
socialement optimale en un temps raisonnable.
MARA et bien-être de Nash
705
Les simulations ont été menées sur des populations de 50 agents où 250 ressources
étaient disponibles (n = 50, m = 250). Deux types de graphes structurés (des réseaux
complets et des grilles) et deux types de graphes aléatoires (Erdős-Rényi et petitmondes) ont été utilisés. Un grand nombre de simulations a été effectué : nous avons
généré 10 graphes de chaque classe, 10 ensembles de préférences d’agents par graphe,
et 100 négociations pour chacun des couples graphe-préférences à partir d’allocations
initiales différentes. Deux critères d’acceptabilité ont été évalués durant les simulations : la rationalité individuelle et la sociabilité. Les ressources sont distribuées de
manière aléatoire. De même, les utilités des agents ont été générées de manière aléatoire dans l’intervalle de valeurs {1..m}. Durant un processus de négociation, l’agent
initiateur est choisi de manière aléatoire et la distribution du tour de parole est uniforme : aucun agent ne peut parler deux fois si les autres agents n’ont pas parlé au
moins une fois. Lorsque personne ne peut plus trouver de transaction acceptable, le
processus de négociation s’arrête.
4.2.2. La cardinalité des transactions
Le premier paramètre à évaluer est la cardinalité des transactions. Une transaction
bilatérale δij hu, vi entre deux agents i, j ∈ P est caractérisée par la taille des offres
faites u et v. Les figures 2 et 3 montrent l’évolution du bien-être de Nash durant le
processus de négociation selon la cardinalité des transactions. Ces courbes sont des
moyennes obtenues sur les 100 processus de négociation de même paramétrage, qui
ont été menés à partir d’allocations initiales différentes.
Bien-Être de Nash (Log(swn ))
375
350
325
300
< 1, 0 >
< 1, 1 >
jusque < 1, 1 >
jusque < 2, 2 >
jusque < 3, 3 >
0
250
500
750
Nombre de transactions effectuées
1000
Figure 2. Efficacité des négociations vs. transaction effectuée en fonction de la
cardinalité
La figure 3 montre que les processus de négociation basés sur des dons (ie transactions h1, 0i) nécessitent moins de temps et de transactions. Plus les transactions autorisées sont larges, plus les processus de négociation prennent de temps. Cependant, selon la figure 2 représentant le nombre de transactions effectuées, les transactions plus
larges n’améliorent pas significativement la qualité des solutions. Les négociations reposant sur des échanges (ie transactions h1, 1i) se finissent après un faible nombre de
706
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
Bien-Être de Nash (Log(swn ))
375
350
325
300
< 1, 0 >
< 1, 1 >
jusque < 1, 1 >
jusque < 2, 2 >
jusque < 3, 3 >
10
100
1000
Temps de calcul (ms)
10000
Figure 3. Efficacité des négociations vs. temps de calcul en fonction de la cardinalité
transactions mais atteignent également des solutions beaucoup moins intéressantes.
Les autres processus de négociation se terminent après des séquences de transactions
de longueur similaire. L’expérience montre que l’utilisation de larges transactions bilatérales n’améliore pas significativement les solutions, et donc ne justifie pas les importants surcoûts engendrés.
4.2.3. L’efficacité des négociations
L’efficacité des négociations doit être évaluée. Nous proposons de le faire ici
par comparaison avec les heuristiques centralisées présentées précédemment (section
3.1.4). Le tableau 9 montre l’efficacité des processus de négociation selon le type de
graphe d’accointances, le critère d’acceptabilité et la cardinalité des transactions. Ce
tableau montre que certaines valeurs de bien-être peuvent être supérieures à 100 %.
Puisque les heuristiques ne donnent qu’une estimation du bien-être de Nash, une efficacité supérieure à 100 % signifie que le processus de négociation mène à des allocations plus intéressantes que celles fournies par les heuristiques.
Réseaux
d’accointances
Complet
Grille
Erdős-Rényi
Petit-monde
Rationalité individuelle
h1, 1i
up to h2, 2i
99.9
100.1
97.0
97.5
99.6
99.8
97.2
98.0
h1, 0i
101.6
99.6
101.4
100.2
h1, 1i
100.1
98.2
99.9
98.9
Sociabilité
up to h1, 1i
101.7
99.7
101.6
100.4
up to h2, 2i
101.7
99.7
101.6
100.4
Tableau 9. Efficacité des négociations de Nash (%) selon les réseaux d’accointances
Les négociations rationnelles aboutissent à des allocations socialement plus faibles
que les négociations sociales, ce qui indique une répartition plus inéquitable des ressources dans la population. La variation entre les valeurs sociales atteintes est égale-
MARA et bien-être de Nash
707
ment plus importante, montrant le manque de flexibilité des négociations entre agents
individuellement rationnels. Par ailleurs, que les négociations soient rationnelles ou
sociales, les politiques de négociation basées sur ∆ = {hu, vi|u ≤ 1, v ≤ 1} et sur
∆ = {hu, vi|u ≤ 2, v ≤ 2} mènent aux mêmes résultats. En conséquence, autoriser
les dons et les échanges est suffisant pour atteindre des allocations efficaces. En revanche, les négociations basées sur des échanges uniquement (sans autoriser les dons)
mènent à des allocations socialement très faibles. En effet, la répartition initiale des
ressources est plus difficile à modifier, et les négociations finissent rapidement dans
des optima locaux. De plus, dans ce cas, l’écart type est beaucoup plus élevé.
Les processus de négociation basés sur des grilles mènent à des allocations plus
faibles. La connectivité moyenne des réseaux d’accointances est une caractéristique
importante, affectant l’efficacité des négociations. Les capacités de communication
des agents sont trop restreintes pour permettre une circulation efficace des ressources,
et empêchent l’atteinte de solutions optimales. La comparaison entre les résultats obtenus sur des graphes Erdős-Rényi et sur des petits-mondes indique qu’un grand nombre
d’agents ayant un petit voisinage pénalise beaucoup les processus de négociation. En
effet, par définition, sur un graphe Erdős-Rényila probabilité de liens entre deux agents
est uniforme alors qu’elle dépend de la taille du voisinage dans le cas d’un petitmonde. Il y a alors beaucoup d’agents avec peu de voisins dans un petit-monde qui
pénalisent le processus de négociation.
Les expérimentations que nous avons menées nous permettent de clarifier les politiques les plus efficaces pour atteindre un bien-être global satisfaisant. Les négociations entre agents sociaux mènent à des allocations plus intéressantes que celles
atteintes par des agents rationnels. Autoriser à la fois les dons et les échanges (ie
∆ = {h1, 0i, h1, 1i}) peut être considéré comme la meilleure politique de négociation. Restreindre encore plus la cardinalité des transactions autorisées n’est pas efficace mais l’utilisation de transactions plus larges n’améliore pas significativement le
résultat alors que le coût explose. Cependant, l’utilisation des transactions bilatérales
n’est pas suffisante pour garantir l’atteinte d’un optimum global, mais mène tout de
même à des allocations socialement très proches.
5. Conclusion
Parmi les nombreuses possibilités permettant d’évaluer le bien-être d’une société
vis-à-vis d’une allocation de ressources en satisfaisant les préférences des agents, nous
nous sommes intéressés dans cet article au bien-être de Nash. En effet, cette évaluation
représente un bon compromis entre satisfaction individuelle des agents et satisfaction
globale de la société. Malgré ses bonnes propriétés, le bien-être de Nash est rarement
utilisé en pratique pour des raisons de calculabilité. Nous avons présenté dans cet article les idées reçues les plus répandues sur le problème d’allocation de Nash. Nous
avons montré l’inefficacité des techniques d’optimisation classiques et l’impossibilité
de décomposer le problème en sous-problèmes solubles. La seule solution pratique
pour tenter d’approcher l’optimal est donc une approche centrée individus de type
708
RSTI - RIA – 25/2011. Systèmes multi-agents: défis sociétaux
multi-agent. La seconde partie décrit la méthode que nous proposons afin de résoudre
efficacement le problème d’allocation de Nash, en utilisant des négociations entre
agents. Nous avons spécifié les paramètres à utiliser afin d’obtenir une séquence de
transactions menant à des solutions proches de l’optimum. N’importe quel type de réseau d’accointances peut être considéré, et le critère de décision des agents n’est basé
que sur des informations locales. De telles hypothèses correspondent à un contexte
bien plus réaliste que celui utilisé habituellement. Nous fournissons également le comportement, le critère d’acceptabilité, et le type de transaction à utiliser pour atteindre
des allocations ∆-optimales.
Une des limites de ces travaux vient du fait qu’il n’est pour l’instant pas possible de
garantir qu’un processus de négociation converge vers un optimum global, et ce même
si le réseau d’accointances est complet. Il pourrait alors être intéressant d’identifier
les restrictions à imposer sur l’expression des préférences des agents afin de garantir
l’atteinte d’une allocation optimale, au moins sur un réseau d’accointances complet.
Au lieu d’avoir des agents infiniment riches, nous avons choisi de ne pas considérer
d’argent dans notre système. Il nous semble intéressant de lever cette limitation, sans
pour autant tomber dans les travers des études que nous critiquons. Chaque agent
devra donc avoir un porte-monnaie fini et pourra utiliser de l’argent pour compenser
une transaction qui ne lui semblerait pas satisfaisante.
6. Bibliographie
Albert R., Barabási A., « Statistical Mechanics of Complex Networks », Reviews of Modern
Physics, vol. 74, n° 1, p. 47-97, 2002.
Arrow K., Sen A., Suzumura K., Handbook of social choice and welfare, vol. 1, Elsevier, 2002.
Bachrach Y., Rosenschein J., « Sequential auctions for the allocation of resources with complementarities », Proceedings of the international joint conference on autonomous agents and
multiagent systems, p. 1103-1110, 2008.
Bonzon E., Lagasquie-Schiex M., Lang J., Zanuttini B., « Compact Preference Representation
and Boolean Games », Autonomous Agents and Multi-Agent Systems, vol. 18, n° 1, p. 1-35,
2009.
Chevaleyre Y., Endriss U., Lang J., Maudet N., « Negotiating over Small Bundles of Resources », AAMAS’05 - Autonomous Agents and multiagent systems, ACM Press, EU, The
Netherlands, Utrecht, p. 296-302, July, 2005.
Chevaleyre Y., Dunne P., Endriss U., Lang J., Lemaitre M., Maudet N., Padget J., Phelps S.,
Rodriguez-Aguilar J., Sousa P., « Issues in Multiagent Resource Allocation », Informatica,
vol. 30, n° 1, p. 3, 2006a.
Chevaleyre Y., Endriss U., Lang J., « Expressive Power of Weighted Propositional Formulas for
Cardinal Preference Modelling », Proceedings of Principles of Knowledge Representation
and Reasoning, p. 145-152, 2006b.
Chevaleyre Y., Endriss U., Maudet N., « Allocating goods on a graph to eliminate envy »,
Proceedings of the national conference on artificial intelligence, vol. 22(1), p. 700-705,
2007.
MARA et bien-être de Nash
709
Chevaleyre Y., Endriss U., Maudet N., « Simple negotiation schemes for agents with simple
preferences : Sufficiency, necessity and maximality », Autonomous Agents and Multi-Agent
Systems, vol. 20, n° 2, p. 234-259, 2010.
Colmerauer A., Kanoui H., Van Caneghem M., « Last Steps Towards an Ultimate PROLOG »,
IJCAI, p. 947-948, 1981.
Coste-Marquis S., Lang J., Liberatore P., Marquis P., « Expressive Power and Succinctness
of Propositional Languages for Preference Representation », Proceedings of Principles of
Knowledge Representation and Reasoning, p. 203-212, 2004.
Cramton P., Shoham Y., Steinberg R., Combinatorial auctions, MIT Press, 2006.
de Weerdt M., Zhang Y., Klos T., « Distributed task allocation in social networks », Proceedings
of the international joint conference on Autonomous agents and multiagent systems), p. 1-8,
2007.
Dekker A., « Studying Organisational Topology with Simple Computational Models », Journal
of Artificial Societies and Social Simulation, vol. 10, n° 4, p. 6, 2007.
Doyle J., « Prospects for preferences », Computational Intelligence, vol. 20, n° 2, p. 111-136,
2004.
Endriss U., Maudet N., « On the Communication Complexity of Multilateral Trading : Extended
Report », Autonomous Agents and Multi-Agent Systems, vol. 11, p. 01-107, 2005.
Endriss U., Maudet N., Sadri F., Toni F., « Negotiating Socially Optimal Allocations of Resources », Journal of Artificial Intelligence Research, vol. 25, p. 315-348, 2006.
Erdős P., Rényi A., « On Random Graphs », Publicationes Mathematicae, vol. 6, p. 290-297,
1959.
Hemaissia M., El Fallah Seghrouchni A., Labreuche C., Mattioli J., « A Multilateral Multi-Issue
Negotiation Protocol », Proceedings of the international joint conference on autonomous
agents and multiagent systems, p. 1-8, 2007.
Kaneko M., Nakamura K., « The Nash social welfare function », Econometrica : Journal of the
Econometric Society, vol. 47, n° 2, p. 423-435, 1979.
Kuhn H., « The Hungarian method for the assignment problem », Naval research logistics
quarterly, vol. 2, n° 1-2, p. 83-97, 1955.
Moulin H., Axioms of cooperative decision making, Cambridge University, 1988.
Moulin H., Fair division and Collective Welfare, MIT press, 2003.
Nongaillard A., Mathieu P., Everaere P., « Nash Welfare Allocation Problems : Concrete Issues », Proceedings of IEEE/WIC/ACM International Conference on Intelligent Agent Technology, IEEE Computer Society, p. 32-39, 2010.
Peters H., Vermeulen D., « WPO, COV and IIA bargaining solutions for non-convex bargaining
problems », International Journal of Game Theory, vol. 1, p. 1-34, 2010.
Ramezani S., Endriss U., « Nash social welfare in multiagent resource allocation », Proceedings
of the International Workshop on Agent-Mediated Electronic Commerce, 2009.
Sandholm T., « Contract Types for Satisficing Task Allocation : I Theoretical Results », AAAI
Spring Symposium : Satisficing Models, vol. 99, p. 68-75, 1998.
Sandholm T., « Algorithm for optimal winner determination in combinatorial auctions », Artificial Intelligence, vol. 135, n° 1-2, p. 1-54, 2002.