La semaine dernière, je vous ai raconté comment un petit malin avait réussi à hacker un jeu télé basé sur le principe du dilemme du prisonnier (ici). L’histoire était amusante mais difficilement généralisable.

Cette semaine, nous allons voir comment récemment, deux chercheurs ont véritablement réussi à hacker le dilemme du prisonnier, et ce d’une manière totalement inattendue [1].

Ils ont en effet mis en évidence des stratégies nouvelles aux résultats assez incroyables. Tellement incroyables d’ailleurs, que je n’y ai pas cru ! Et j’ai dû les programmer moi-même dans une rapide simulation pour me convaincre qu’elles marchaient vraiment comme annoncé.

Le dilemme du prisonnier répété

Pour comprendre ces stratégies découvertes par William Press et Freeman Dyson [1], il faut tout d’abord planter un peu le décor du problème qu’ils ont étudié. Il s’agit de ce qu’on appelle le dilemme du prisonnier répété.

Deux joueurs participent à un grand nombre de tours de jeu, et doivent à chaque tour choisir s’il collaborent ou trahissent. Le gain de chaque joueur dépend des choix effectués. Pour avoir une situation de dilemme du prisonnier classique, on prend par exemple les valeurs suivantes :

S’ils collaborent tous les deux, ils gagnent chacun 3 points;

Si l’un trahit et l’autre collabore, le traître gagne 5 et l’autre 0;

Si les deux trahissent, ils gagnent 1 chacun.

Pour maximiser leurs gains sur le long terme, les joueurs doivent mettre en place une stratégie qui favorise la collaboration, tout en punissant l’autre joueur si celui-ci s’avise de trop souvent trahir.

Puisque le jeu est répété, à chaque tour un joueur peut prendre en compte ce qu’il s’est passé dans les tours précédents pour décider de son coup. Cela permet en principe des stratégies très sophistiquées, mais Press et Dyson se sont placés dans le cas le plus simple : celui où les joueurs ne prennent en compte que ce qu’il s’est passé au tour précédent (je reviendrai plus loin sur cette apparente limitation.)

En pratique, avec ces hypothèses, la stratégie d’un joueur est complètement caractérisée par la donnée de 4 probabilités p1, p2, p3 et p4, telles que :

si au tour précédent les deux ont collaboré, le joueur collaborera avec une probabilité p1;

s’il a collaboré et l’autre a trahi, il collaborera avec une probabilité p2;

s’il a trahi et l’autre a collaboré, il collaborera avec une probabilité p3;

si les deux ont trahit, il collaborera avec une probabilité p4.

La magie du déterminant nul

Voici planté le cadre. Nous avons donc un premier joueur (appelons le « A ») dont la stratégie est décrite par des probabilités p1, p2, p3 et p4, et un deuxième joueur « B » dont la stratégie est différente et donnée par q1, q2, q3 et q4. La question que chacun se pose est donc : comment choisir au mieux ces 4 nombres ?

C’est là qu’intervient la découverte incroyable de Press et Dyson. Appelons \(G_A\) le gain moyen du joueur A après un grand nombre de tours, et \(G_B\) le gain moyen du joueur B. Prenons 3 nombres \(\alpha, \beta, \gamma\) quelconques, les deux auteurs ont démontré qu’il existait une relation

\(\alpha G_A + \beta G_B – \gamma = \Delta\)

où \(\Delta\) est le déterminant d’une matrice 4×4, matrice qui dépend de \(\alpha, \beta, \gamma\) et des probabilités \(p_i\) et \(q_i\) choisies par les 2 joueurs.

La belle affaire, vous allez me dire !

Mais là où ça devient croustillant, c’est qu’il est possible de rendre nul ce déterminant, en jouant uniquement sur les 4 nombres p1, p2, p3 et p4. Imaginons que le joueur A choisisse effectivement des probabilités permettant d’annuler \(\Delta\), on a alors :

\(\alpha G_A + \beta G_B – \gamma = 0\)

Cela veut dire que le joueur A, à lui tout seul, est capable d’imposer une relation linéaire entre son gain et celui du joueur B. Et rappelez vous : \(\alpha, \beta, \gamma\) peuvent être quelconques, donc A est en mesure d’imposer n’importe quelle relation linéaire ! … ou presque, voyons dans le détail ce qu’il est réellement possible de faire avec ces stratégies dites « de déterminant zéro ».

Contrôler le gain de l’adversaire

Reprenons le calcul précédent. Imaginons que l’on choisisse \(\alpha=0\) et qu’on calcule p1,…,p4 pour annuler le déterminant. Cela veut dire qu’on impose la relation

\(G_B = \gamma/\beta\)

En clair, le joueur A, en agissant uniquement sur sa propre stratégie est capable de fixer le gain moyen du joueur B. Relisez bien ça car c’est pour moi incroyable : quelle que soit la stratégie de B, quelles que soient les probabilités q1, …, q4 qu’il choisisse, son gain est entièrement sous le contrôle du joueur A ! J’ai dû le programmer moi-même pour le croire, et ça marche !

En pratique toutefois, le joueur A ne peut pas faire complètement n’importe quoi. Il peut toujours choisir p1, … p4 qui annulent le déterminant, mais la solution n’est pas toujours telle que les 4 nombres soient entre 0 et 1. Si on fait le calcul dans le détail, on trouve qu’il existe des solutions telles que A peut imposer à B n’importe quel score entre 1 et 3 (c’est-à-dire entre le gain de la trahison mutuelle et celui de la collaboration mutuelle).

Le joueur A peut donc contrôler le gain du joueur B, très bien; mais est-ce qu’il ne pourrait pas plutôt essayer de contrôler son propre gain ? Ce qui serait quand même plus intéressant. Malheureusement ça ne marche pas ! Dans le cas général il n’existe pas de solutions p1,…,p4 entre 0 et 1 qui permettent à A de fixer son propre gain. Dommage !

Un inconvénient de cette stratégie, c’est donc qu’on contrôle le gain de l’adversaire mais pas le sien, et qu’on peut donc se retrouver à gagner moins que lui ! Heureusement il existe une solution : l’extorsion.

Extorquer l’adversaire

Si on reprend la formule faisant intervenir le déterminant, on peut aussi choisir les 3 nombres \(\alpha, \beta, \gamma\) de manière à imposer que le gain de A soit strictement supérieur au gain de B. En pratique, Press et Dyson ont montré que pour tout nombre \(\chi\), le joueur A pouvait toujours choisir ses probabilités de manière à imposer :

\(G_A-1 = \chi (G_B-1)\)

Le nombre \(\chi\) est appelé facteur d’extorsion. Le -1 vient du fait que 1 est le en quelque sorte le minimum syndical correspondant au gain en cas de trahison mutuelle, mais tout ce qui est au-delà, le joueur A peut l’extorquer avec un facteur \(\chi\).

Là aussi, il faut le voir pour le croire : ça marche ! Quoi que B choisisse de faire, son gain (au-delà de 1) sera toujours inférieur à celui de A d’un facteur \(\chi\) ! En pratique, les choix de B vont quand même fixer le niveau global des gains, mais le ratio entre les deux est totalement contrôlé par A.

Axelrod revisité

Si vous connaissez un peu le dilemme du prisonnier répété, vous savez peut-être qu’on considère traditionnellement que la meilleure stratégie est celle du « donnant-donnant », qui consiste simplement à répéter le coup de l’adversaire au tour précédent. Il a collaboré au tour précédent ? Vous collaborez. Il vous a trahit ? Vous trahissez !

Cette stratégie est notamment fameuse pour avoir gagné le tournoi informatique organisé par Robert Axelrod dans les années 80, et qui faisait s’affronter tout un tas de stratégies proposées par différents spécialistes. (voir mon billet détaillé sur le tournoi d’Axelrod).

La stratégie « donnant-donnant » est à la fois très simple et intrinsèquement juste : elle ne trahit pas si l’autre collabore, et elle punit la trahison de l’autre mais sans rancœur, puisque sa mémoire ne va pas au-delà du tour précédent. La découverte de cette stratégie comme étant la meilleure a donc fait dire que finalement pour réussir, il valait mieux être juste et bienveillant que fourbe et manipulateur.

Eh bien figurez vous que deux chercheurs ont répété le tournoi d’Axelrod en incluant des stratégies de déterminant nul [2], et l’une d’elles (ZDGTFT-2) a battu toutes les autres, y compris « donnant-donnant » (TFT), voir le tableau ci-contre extrait de [2]. Cette stratégie gagnante est une stratégie d’extorsion généreuse, mais une stratégie d’extorsion quand même ! Morale de l’histoire : être machiavélique est quand même finalement plus lucratif !

Kramer contre Kramer

Tel que je l’ai décrit jusqu’ici, A fait un peu ce qu’il veut de B. Oui mais le jeu est symétrique ! Que se passe-t-il si B décide lui aussi de jouer une stratégie du déterminant nul ?

Première possibilité, les joueurs essayent mutuellement de fixer le gain de l’autre. Eh bien dans ce cas il n’y a pas de contradiction : le gain de A est entièrement déterminé par B, et celui de B entièrement déterminé par A ! C’est même une situation fort intéressante, car les deux joueurs peuvent passer un traité et se fixer mutuellement leurs gains à une valeur identique et maximale. Ce qu’il y a de bien, c’est qu’un joueur n’a aucune incitation à ne pas respecter le traité, puisqu’en le violant cela n’aurait aucune incidence sur son propre gain !

Autre cas de figure, les deux joueurs décident chacun d’extorquer l’autre d’un facteur \(\chi\). Là évidemment, ça coince. Si on regarde le détail, on voit que dans ce cas les deux joueurs vont vers leur ruine mutuelle. En effet selon les calculs de Press et Dyson, la stratégie d’extorsion nécessite de fixer p4=0. C’est-à-dire que si j’ai trahi et l’autre aussi, au tour suivant je choisirai systématiquement de trahir. Vous voyez que si les deux joueurs appliquent cette stratégie, il vont rapidement se trouver dans une spirale infernale de trahison mutuelle.

Cela transforme le jeu de manière intéressante. Si le joueur A commence à appliquer une stratégie d’extorsion et que le joueur B s’en rend compte, il n’a que deux options : jouer le jeu et se laisser extorquer, ou faire de même et entraîner les deux dans la ruine mutuelle. Ce principe ramène le dilemme du prisonnier à ce qu’on appelle un jeu de l’ultimatum. Si le joueur B suit son propre intérêt uniquement, il doit accepter l’injustice pour maximiser son score; mais il a la possibilité de s’infliger lui-même des pertes, dans le seul but de faire pression sur A pour qu’il change de stratégie. Comme le font remarquer Press et Dyson, cela dépend si A a effectivement la possibilité de changer de stratégie, ou bien s’il a programmé sa stratégie et est parti ailleurs manger ou jouer au foot…

Billets reliés

Pour aller plus loin…

Si vous êtes curieux je vous invite à aller lire le papier directement. Un premier point intéressant à mentionner concerne le fait qu’avec cette stratégie on peut toujours manipuler un joueur « évolutionnaire », que les auteurs définissent comme un joueur capable de modifier sa stratégie (donc ses probabilités q1, …, q4) mais uniquement en fonction de son propre intérêt (c’est-à-dire en maximisant son gain, mais sans tenir compte de celui de l’adversaire).

Le second point à remarquer concerne l’apparente limitation à des stratégies n’ayant la mémoire que d’un seul tour. Press et Dyson (au fait, c’est bien le physicien Freeman Dyson !) montrent que même si un joueur A possède une stratégie élaborée prenant en compte les 42 tours précédents, alors si son adversaire B ne regarde lui que le dernier tour, tout se passe comme si A jouait une stratégie plus simple ne considérant que le dernier tour. En gros, le joueur ayant la mémoire la plus courte fixe les stratégies possibles. Rien ne sert d’avoir la mémoire longue si votre adversaire a la mémoire courte ! Je ne suis pas sûr de comprendre complètement leur démonstration, mais cela revient à dire que se limiter aux stratégies à mémoire à un tour…n’est pas une limitation !

Enfin pour ceux qui – comme moi – ont du mal à croire au fait que les stratégies de déterminant nul marchent vraiment, je vous invite à coder ça rapido. Ci-dessous mon bout de code Python…

https://gist.github.com/anonymous/14e40dc51d541be3daf9

Références

[1] Press, William H., and Freeman J. Dyson. « Iterated Prisoner’s Dilemma contains strategies that dominate any evolutionary opponent. » Proceedings of the National Academy of Sciences 109.26 (2012): 10409-10413.

[2] Stewart, Alexander J., and Joshua B. Plotkin. « Extortion and cooperation in the Prisoner’s Dilemma. » Proceedings of the National Academy of Sciences 109.26 (2012): 10134-10135.

Crédits

Billets de monopoly, Anil Mohabir, Flicker CC