HAL Id: hal-01072209
https://hal.archives-ouvertes.fr/hal-01072209
Submitted on 3 Nov 2017
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Un Solveur Complet pour les Constraint Games
Thi-Van-Anh Nguyen, Arnaud Lallouet
To cite this version:
Thi-Van-Anh Nguyen, Arnaud Lallouet. Un Solveur Complet pour les Constraint Games. Journées
Francophones de Programmation par Contraintes, Jun 2014, Angers, France. pp.153-162. �hal-
01072209�
Actes JFPC 2014
Un Solveur Complet pour les Constraint Games
Thi-Van-Anh Nguyen Arnaud Lallouet GREYC, Normandie Universit´ e, Caen, France {thi-van-anh.nguyen | arnaud.lallouet}@unicaen.fr
R´ esum´ e
La Th´ eorie des Jeux ´ etudie des situations dans lesquelles de multiples agents ayant des objectifs en conflits recherchent une d´ ecision collectivement satis- faisante. La question d’une repr´ esentation compacte des utilit´ es des agents est d’une importance cruciale car la repr´ esentation classique d’un jeu ` a n joueurs est la don- n´ ee d’une matrice ` a n dimensions pour chaque joueur, ce qui est de taille exponentielle. Dans cet article, nous ´ etu- dions le cadre des Jeux avec Contraintes, ou Constraint Games, dans lesquels les utilit´ es sont repr´ esent´ ees par des CSP. La Programmation par Contraintes permet de don- ner un mod` ele compact et ´ el´ egant ` a de nombreux jeux.
Nous distinguons deux types de Constraint Games : les jeux de satisfaction et les jeux d’optimisation. De plus, en ajoutant des contraintes dures, il est possible d’inter- dire certaines situations globales. Dans cet article, nous
´
etudions une technique de recherche compl` ete et nous montrons que notre solveur utilisant la repr´ esentation compacte des Constraint Games se compare favorable- ment au solveur classique Gambit.
Introduction
La Th´ eorie des Jeux connaˆıt un immense succ` es pour la mod´ elisation de l’interaction entre multiples agents [21, 20]. Dans un jeu strat´ egique, chaque joueur doit choisir une action parmi un ensemble d’actions possi- bles et re¸ coit une r´ ecompense dont la valeur d´ epend aussi des actions choisies par les autres joueurs. Un des concepts de solution les plus connus est celui de l’´ equilibre de Nash en strat´ egies pures (PNE) dans lequel aucun joueur n’est en mesure d’am´ eliorer son utilit´ e en ne changeant que ses propres actions. Il y a de nombreux concepts de solution [24] mais les PNE ont l’avantage de pr´ eciser un choix de fa¸ con d´ etermin- iste pour les joueurs. En effet, les PNE pour les jeux sont l’analogue des solutions dans les Constraint Sat- isfaction Problems (CSP) : certains jeux n’ont pas de PNE, certains PNE peuvent ˆ etre pr´ ef´ er´ es ` a d’autres.
Ils sont n´ eanmoins un outil fondamental pour l’´ etude des jeux.
La repr´ esentation de base d’un jeu est donn´ ee par une multimatrice appel´ ee forme normale dont la taille est exponentielle dans le nombre de joueurs. La taille in- traitable de cette repr´ esentation est une s´ ev` ere limita- tion pour une utilisation large de mod` eles bas´ es sur les jeux. Ceci a motiv´ e plusieurs travaux sur les repr´ esen- tations compactes. Certaines sont bas´ ees sur une lim- itation des interactions entre joueurs, comme les jeux graphiques [18] ou les jeux graphe-action [17] tandis que d’autres sont bas´ ees sur des restrictions de langage comme les Boolean Games [14, 9, 3] ou les Constraint Games [22].
Ici nous ´ etudions les Constraint Games dans lesquels les utilit´ es sont repr´ esent´ ees par des CSP ou des Con- straint Optimization Problems (COP). Les Constraint Games poss` edent un langage de mod´ elisation tr` es riche permettant de repr´ esenter les buts des joueurs. En par- ticulier, ils permettent de repr´ esenter de fa¸ con com- pacte la plupart des jeux classiques tels que les jeux de congestion [26], les jeux de r´ eseaux [5], les probl` emes d’ordonnancement strat´ egiques [28], et bien d’autres.
De plus, il est facile d’exprimer des contraintes dures partag´ ees par tous les joueurs [25] permettant de lim- iter l’ensemble des strat´ egies conjointes possibles et ainsi d’exclure des ´ equilibres irr´ ealistes.
En d´ epit du grand int´ erˆ et consistant ` a mod´ eliser l’in- teraction strat´ egique multi-agents, il est tr` es difficile de trouver un solveur retournant les PNE. A notre connaissance, il n’y a que le solveur Gambit [19], qui est consid´ er´ e comme l’´ etat de l’art. Toutefois, des transformations logiques non-compactes ont ´ et´ e
´
etudi´ ees [8, 12], ainsi que les ASP [7]. Pour les Boolean Games, une technique a ´ et´ e propos´ ee pour les jeux ` a graphe d’interaction acyclique [2] ou en utilisant des techniques de marchandage [10]. Pour les Constraint Games, seul un solveur bas´ e sur la recherche locale a
´
et´ e propos´ e [22]. Sans surprise, il permet de r´ esoudre
de tr` es grands jeux mais au prix de l’incompl´ etude.
Cette situation est due en grande partie de la com- plexit´ e de la recherche d’un PNE [13, 3].
Peu d’autres travaux m´ elangent jeux et Programma- tion par Contraintes. Dans [4], il est propos´ e de trouver un ´ equilibre de Nash en strat´ egies mixte en utilisant les contraintes continues. D’autres cadres ont pour but de r´ esoudre un probl` eme combinatoire ` a l’aide de plusieurs agents, soit en attribuant les variables aux joueurs comme dans les DCOP [11] ou en laissant les agents choisir leurs variables ` a tour de rˆ ole comme dans Game-SAT [29] ou Adversarial CSP [6].
Dans cet article, nous prouvons que les Constraint Games sont Σ
p2-complets comme les Boolean Games et nous nous int´ eressons au probl` eme de la recherche exhaustive de tous les PNE d’un jeu donn´ e. Bien que la recherche d’un seul ´ equilibre soit d´ ej` a un probl` eme int´ eressant en soi, les trouver tous est une base qui per- mettra d’aller vers la recherche d’´ equilibres satisfaisant des conditions particuli` eres. Par exemple, la correction de la recherche des ´ equilibres de Nash Pareto-efficaces est directement cons´ equence de la compl´ etude de la recherche des PNE. Nous avons implant´ e notre algo- rithme dans le solveur ConGa. Ce solveur est bas´ e sur un calcul acc´ el´ er´ e des ´ equilibres bas´ e sur une condition que nous appelons consistance de Nash et une d´ etec- tion incompl` ete mais paresseuse de certains ´ etats tou- jours domin´ es (Never Best Responses, ou NBR). Nous d´ emontrons l’efficacit´ e de notre approche sur des jeux de la suite Gamut [23] ainsi que sur des applications r´ ealistes.
Constraint Games
Soit V un ensemble de variables et D = (D
x)
x∈Vla famille de leurs domaines (finis). Pour W ⊆ V , nous notons D
Wl’ensemble des n-uplets sur W , soit Π
x∈WD
x. La projection d’un n-uplet (ou d’un en- semble de n-uplets) sur une variable (ou un ensem- ble de variables) est not´ ee | : pour t ∈ D
V, t|
x= t
x, t|
W= (t
x)
x∈Wet pour E ⊆ D
V, E|
W= {t|
W| t ∈ E}.
Pour W, U ⊆ V , la jointure de A ⊆ D
Wet B ⊆ D
Uest A 1 B = {t ∈ D
W∪U| t|
W∈ A ∧ t|
U∈ B}.
Quand W ∩ U = ∅, nous notons la jointure des n- uplets t ∈ D
Wet u ∈ D
Upar (t, u). Une con- straint c = (W, T ) est un couple compos´ e d’un sous- ensemble W = var(c) ⊆ V de variables et une relation T = sol(c) ⊆ D
W(appel´ ee solutions). Un Constraint Satisfaction Problems (CSP) est un ensemble de con- traintes. Nous notons sol(C) = 1
c∈Csol(c) l’ensem- ble de ses solutions. Afin de simplifier l’exposition, nous identifions sol(C) avec son extension cylindrique
`
a toutes les variables de V (c.a.d avec n’importe quelle combinaisons de valeurs pour les variables qui n’appa-
raissent pas dans C).
Soit P un ensemble de n joueurs et V un ensemble fini de variables. L’ensemble des variables est partitionn´ e entre les variables contrˆ ol´ ees V
c= S
i∈P
V
io` u V
iest le sous-ensemble de variables contrˆ ol´ ees par le joueur i, et V
Eest l’ensemble des variables non-contrˆ ol´ ees ou existentielles (V
E= V \ V
c).
Definition 1 (Constraint Satisfaction Game) Un Constraint Satisfaction Game (ou CSG) est un 4-uplet (P , V, D, G) o` u P est un ensemble fini de joueurs, V est un ensemble fini de variables com- pos´ e d’une famille d’ensembles disjoints (V
i) pour chaque joueur i ∈ P et un ensemble V
Ede variables existentielles disjoint des variables des joueurs, D = (D
X)
X∈Vest la famille de leurs domaines et G = (G
i)
i∈Pest une famille de CSP sur V .
Le CSP G
iest appel´ e le but du joueur i. Dans un CSG, tandis que le joueur i ne contrˆ ole que ses variables V
i, sa satisfaction d´ epend aussi des variables contrˆ ol´ ees par les autres joueurs. Dans la plupart des cas, les variables existentielles sont utilis´ ees pour des calculs et sont d´ ependantes fonctionnellement des variables de d´ ecision, mais ceci n’a bien sˆ ur pas de caract` ere obligatoire.
Une strat´ egie pour le joueur i est une affectation de ses variables contrˆ ol´ ees V
i. Un profil de strat´ egies s = (s
i)
i∈Pest la donn´ ee d’une strat´ egie pour chaque joueur.
Definition 2 (Strat´ egie gagnante) Un profil de strat´ egies s est gagnant pour i s’il satisfait le but de i : s ∈ sol(G
i).
Un CSG peut ˆ etre interpr´ et´ e comme un jeu au sens classique avec une utilit´ e bool´ eenne dont la valeur vaut 1 quand le but du joueur est satisfait et 0 sinon.
Nous notons s
−ila projection de s sur V
−i= V \ V
i. Pour un profil de strat´ egies s, un joueur i a une d´ evi- ation b´ en´ efique si s 6∈ sol(G
i) et ∃s
0i∈ D
Vitel que (s
0i, s
−i) ∈ sol(G
i). Une d´ eviation b´ en´ efique corre- spond au fait qu’un joueur va tenter de modifier son affectation des variables qu’il contrˆ ole s’il pense pou- voir obtenir une meilleure utilit´ e. Un n-uplet s est une meilleure r´ eponse pour le joueur i si ce joueur n’est pas en mesure de trouver une d´ eviation b´ en´ efique.
Nous pouvons maintenant d´ efinir la notion de solu- tion d’un CSG par un ´ equilibre de Nash en strat´ egies pures (PNE) :
Definition 3 (PNE) Un profil de strat´ egies s est
un Equilibre de Nash en Strat´ egies Pures (ou PNE)
d’un CSG C si et seulement si aucun joueur n’a de
d´ eviation b´ en´ efique. Ou, ce qui revient au mˆ eme, si s
est une meilleure r´ eponse pour tous les joueurs.
Theorem 1 Les CSG sont Σ
p2-complets.
Proof 1 La preuve est similaire ` a la preuve de Σ
p2- compl´ etude des jeux bool´ eens [3].
Les buts des joueurs peuvent ˆ etre consid´ er´ es comme des contraintes molles ou des pr´ ef´ erences car il est pos- sible que le but d’un joueur ne soit pas satisfait dans un PNE si ce joueur ne peut de toutes fa¸ con pas le satisfaire. Au pire tous les joueurs peuvent ˆ etre dans ce cas. Mais il peut arriver que certaines r` egles inter- disent certaines situations de se produire. Il est donc naturel de rejeter ces profils de strat´ egies en posant des contraintes dures partag´ ees par l’ensemble des joueurs [25]. Il est facile de repr´ esenter ces contraintes dans les CSG en ajoutant simplement un CSP global au prob- l` eme :
Definition 4 (CSG avec Contraintes Dures) Un Constraint Satisfaction Game avec Contraintes Dures (ou CSG-HC) est un 5-uplet (P, V, D, C, G) o` u (P , V, D, G) est un CSG et C est un CSP sur V . Il est donc utile de distinguer un profil de strat´ egies qui ne satisfait le but d’aucun joueur d’un profil qui ne sat- isfait pas les contraintes dures. Le premier peut ˆ etre un PNE tandis que le second non. Les contraintes dures am´ eliorent l’expressivit´ e des CSG (sans en changer la complexit´ e).
En ajoutant un crit` ere d’optimisation, il est possible de repr´ esenter les jeux classiques. Un Constraint Opti- mization Game (ou COG) est une extension des CSG dans laquelle chaque joueur tente d’optimiser un ob- jectif. Pour cela, on donne un crit` ere d’optimisation pour chaque joueur i de la forme min(x) ou max(x) o` u x ∈ V est une variable devant ˆ etre optimis´ ee par le joueur i.
Definition 5 (Constraint Optimization Game) Un Constraint Optimization Game (ou COG) est un 5-uplet (P , V, D, G, opt) o` u (P , V, D, G) est un CSG et opt = (opt
i)
i∈Pest une famille de crit` eres d’optimisation pour chaque joueur de la forme min(x) ou max(x) o` u x ∈ V .
Une strat´ egie gagnante pour le joueur i est toujours un profil qui satisfait G
i. Toutefois, la notion de d´ evia- tion b´ en´ efique doit ˆ etre adapt´ ee. On note <
optil’ordre (partiel) sur les profils de strat´ egies tel que s <
optis
0si s
−i= s
0−iet s|
x< s
0|
xquand opt
i= min(x) (resp.
s|
x> s
0|
xquand opt
i= max(x)). Pour un profil s, un joueur i a une d´ eviation b´ en´ efique si ∃s
0i∈ D
Vitel que s
0= (s
0i, s
−i) ∈ sol(G
i) et s
0<
optis. Avec cette adap- tation, la notion de solution est la mˆ eme que pour les CSG. De plus, les COG peuvent ˆ etre ´ etendus avec des contraintes dures de la mˆ eme fa¸ con que les CSG, ce qui donne les COG-HC.
Exemples de Constraint Games
Dans cette section, nous montrons que des jeux com- plexes peuvent ˆ etre facilement exprim´ es avec les Con- straint Games.
Example 1 (Location Game) Dans cet exemple inspir´ e par [15], n vendeurs de glaces P = {1, 2, .., n}
d´ esirent choisir un emplacement num´ erot´ e de 1 ` a m pour installer leur stand dans une rue. Chaque vendeur i a fix´ e le prix d’une glace ` a p
iet on suppose qu’il y a un client ` a chaque emplacement. Il est impossible pour deux vendeurs de choisir le mˆ eme emplacement.
Les clients choisissent leur vendeur en minimisant la somme de la distance entre leur maison et le vendeur le plus proche et le prix de la glace.
Nous avons besoin des variables existentielles suiv- antes (dont la valeur est d´ etermin´ ee fonctionnellement par l’emplacement l
ichoisi par le vendeur i) : – cost
ic: d´ efinit le coˆ ut que le client c doit payer s’il
choisit le vendeur i.
– min
c: d´ efinit le coˆ ut minimal que le client c doit payer pour sa glace.
– choice
ic: variable bool´ eenne qui vaut 1 si le client c choisit le vendeur i.
– benefit
i: d´ efinit le b´ en´ efice du vendeur i.
The Location Game (LG) can be easily modelled by a COG-HC in which each seller wants to maximize her profit :
– P = {1, . . . , n}
– ∀i ∈ P, V
i= {l
i}
– ∀i ∈ P, D(l
i) = {1, . . . , m}
– les contraintes dures C sont les suivantes :
– les vendeurs occupent des emplacements dif- f´ erents : all different(l
1, l
2, . . . , l
n)
– ∀i ∈ P, ∀c ∈ [1..m], cost
ic= |c − l
i| + p
i– ∀c ∈ [1..m], min
c= min(cost
1c, . . . ,cost
nc) – ∀c ∈ [1..m], (min
c=cost
ic) ← (choice
ic= 1). On
utilise une implication et non une ´ equivalence car il peut arriver qu’un client obtienne le mˆ eme prix de deux vendeurs. La contrainte de somme suiv- ante assurera qu’un client n’ira que chez un seul vendeur.
– ∀c ∈ [1..m], P
i∈P
choice
ic= 1
– ∀i ∈ P, G
icontient la contrainte suivante : benefit
i= p
i. P
c∈[1..m]
choice
ic– ∀i ∈ P, le crit` ere d’optimisation est Opt
i= max(benefit
i)
Une caract´ eristique int´ eressante de cet exemple est qu’il utilise une contrainte globale (ici all different).
Cela montre l’int´ erˆ et des contraintes dures dans la
mod´ elisation de jeux r´ ealistes. Il est possible de trans-
former ce probl` eme en un CSG en fixant un profit
minimal mp
ipour chaque joueur i et en ajoutant la
contrainte que le joueur i est satisfait si son b´ en´ efice
d´ epasse mp
i: on ajoute
i≥ mp
ito G
i` a la place de la condition d’optimisation. Dans la version de ce jeu d´ efinie par Gamut [23], les vendeurs choisissent le prix des glaces et non leur emplacement car il n’y a aucun moyen d’exclure le fait que deux joueurs peuvent se mettre au mˆ eme endroit.
Example 2 (Cloud Resource Allocation Game) L’allocation de ressources est un ´ el´ ement central dans la gestion du calcul dans le nuage o` u les clients utilisent et payent des ressources de calcul ` a la demande. Afin de g´ erer les conflits d’int´ erˆ ets entre diff´ erents clients, [16] ont propos´ e le cadre du CRAG (Cloud Resource Allocation Game) dans lequel l’al- location de resosurces est d´ efinie par un ´ equilibre de Nash.
Un fournisseur d’informatique dans le nuage poss` ede un ensemble M = {M
1, . . . , M
m} de m machines, chaque machine M
jayant une capacit´ e c
jrepr´ esen- tant la quantit´ e de ressource disponible (par exemple heure-CPU, m´ emoire). Le coˆ ut d’utilisation d’une ma- chine j est donn´ e par l
j(x) = x × u
jo` u x est le nombre de ressources demand´ ees et u
jun coˆ ut uni- taire. Un ensemble de n clients P = {1, 2, .., n} veut utiliser simultan´ ement le nuage. Le client i ∈ P a m
itˆ aches {T
i1, ..., T
imi} ` a ex´ ecuter, de capacit´ e re- spective {d
i1, ..., d
imi}. Chaque client i ∈ P choisit de mani` ere ´ ego¨ıste une allocation r
ikpour sa tˆ ache T
ik(k ∈ 1..m
i) et souhaite minimiser son coˆ ut cost
i= P
k=1..mi
l
rik(d
ik). Nous supposons que le fournisseur poss` ede suffisamment de ressources pour satisfaire la demande de tous les clients : P
i∈[1..n]
P
k∈[1..mi]
d
ik≤ P
j∈[1,..m]
c
j. Ce probl` eme est mod´ elis´ e par le COG- HC suivant :
– P = {1, .., n}
– ∀i ∈ P, V
i= {r
i1, ..., r
imi}
– ∀i ∈ P, ∀k ∈ [1, ..., m
i], D(r
ik) = {1, . . . , m}
– C est compos´ e des contraintes dures suivantes : – contraintes de channelling pour les variables
bool´ eennes ´ etablissant que la machine j est de- mand´ ee par la tˆ ache t
ik: (r
ik= j) ↔ (choice
ijk= 1)
– contraintes de capacit´ e : ∀j ∈ [1, .., m], P
i∈[1..n]
P
k∈[1..mi]
choice
ijk× d
ik≤ c
j– ∀i ∈ P, G
iest compos´ e de :
cost
i= X
j=1..m
X
k=1..mi