Le dilemme du prisonnier
Dans le jeu du dilemme du prisonnier, deux détenus sont emprisonnés dans des cellules séparées. La police fait à chacun des deux le même marché:
« Tu as le choix entre dénoncer ton complice ou non. Si tu le dénonces et qu’il te dénonce aussi, vous aurez une remise de peine d’un an tous les deux. Si tu le dénonces et que ton complice te couvre, tu auras une remise de peine de 5 ans, mais ton complice tirera le maximum. Mais si vous vous couvrez mutuellement, vous aurez tous les deux une remise de peine de 3 ans. »
Dans cette situation, il est clair que si les deux s’entendent, ils s’en tireront globalement mieux que si l’un des deux dénonce l’autre. Mais alors l’un peut être tenté de s’en tirer encore mieux en dénonçant son complice. Craignant cela, l’autre risque aussi de dénoncer son complice pour ne pas être le dindon de la farce. Le dilemme est donc: « faut-il accepter de couvrir son complice (donc de coopérer avec lui) ou le trahir ? »
Le tableau standard est le suivant :
|
![]() |
Ce genre de situation se rencontre fréquemment dans la vie: concurrence entre deux entreprises, conflits de personnes, comportement social de certains animaux, guerre des tranchées durant la guerre 14-18 (Axelrod 1992), etc.
Ce modèle très simple de la théorie des jeux semble appréhender en miniature les tensions entre cupidité individuelle et intérêts de la coopération collective. Pour cette raison, il est devenu un des modèles les plus utilisés en sociologie, biologie et économie.
Le dilemme du prisonnier itéré
Le dilemme du prisonnier devient plus intéressant et plus réaliste lorsque la durée de l’interaction n’est pas connue. On peut alors envisager de se souvenir du comportement d’un joueur à son égard et développer une stratégie en rapport. Par exemple, si je sais que mon adversaire ne coopère jamais, mon intérêt sera de ne pas coopérer non plus, sous peine d’être systématiquement grugé. Par contre si je sais que mon adversaire coopérera toujours quoi qu’il arrive, j’aurai intérêt à être vicieux et ne jamais coopérer pour maximiser mon gain.
La stratégie appelée « Donnant donnant« , qui consiste à coopérer au premier coup puis à systématiquement copier le comportement de son interlocuteur à la rencontre précédente, s’avère particulièrement robuste (Axelrod 1992).
|
Choix du complice | ||
---|---|---|---|
![]() |
Tour | ![]() |
Votre score: Score du complice:
Résultat du tour de jeu:
Boutons pour jouer une partie interactive:
Intervention du hasard (%): | 1 | 2 | 5 | 10 | 20 | 30 | 40 |
Vitesse de simulation (secs / tour): | 0.05 | 0.20 | 0.50 | 1 | 2 | 5 | 10 |
Nombre de tours: | 50 | 100 | 200 | 500 | 1000 | 5000 |
Évaluation des résultats (%) | |||
---|---|---|---|
Votre résultat | Résultat du complice | ||
Résultat commun | |||
Évaluation des stratégies du complice (%) | |||
Donnant donnant | Donnant donnant / Aléatoire | ||
Donnant pour 2 donnants / Aléatoire | Donnant pour 2 donnants | ||
Sondeur naïf | Sondeur repentant | ||
Pacificateur naïf | Vrai pacificateur | ||
Aléatoire | Toujours trahir | ||
Toujours coopérer | Rancunier | ||
Pavlov | Pavlov / Aléatoire | ||
Adaptatif | Graduel | ||
Donnant donnant soupçonneux | Rancunier doux |
Travail: le dilemme du prisonnier itéré avec Mathematica
Il est relativement simple d’implémenter le dilemme du prisonnier itéré sous Mathematica; il s’agit essentiellement de manipuler des listes, un domaine où Mathematica est particulièrement performant. Des notions de programmation modulaire sont aussi requises.
L’idée est que chaque élève programme quelques stratégies et qu’il choisisse celle qui lui semble la meilleure. Chaque stratégie doit être écrite dans un module. Ensuite, les élèves s’affronteront deux à deux dans un tournoi (il s’agira donc de rassembler les modules dans un même programme). Chaque stratégie affrontera toutes les autres (y compris elle-même). Toutes les stratégies participeront ainsi que cinq « joueurs » invités: « Bonne Poire », « Toujours seul », « Calculateur », « Aléatoire » et « Donnant donnant », ainsi que le maître qui participera sous le nom de « Coyote ».
![]() |
Cliquez sur le nom du fichier ci-dessus puis enregistrez sur votre disque dur ce fichier en format Texte en allant dans le menu Fichier/Enregistrer sous… Ouvrez ensuite ce fichier depuis Mathematica (version 3 ou supérieure), et complétez-le. |
Pour les élèves:
|
Pour le maître:
|
Les anciens tournois
Deux tournois ont déjà eu lieu.
Le tournoi 1997:
|
Le tournoi 2000:
|
Note: Si vous n’avez pas Mathematica, vous pouvez télécharger le logiciel gratuit MathReader pour visualiser (mais pas exécuter) ces fichiers.
Références
- Axelrod R., Donnant Donnant, Théorie du comportement coopératif, Ed. Odile Jacob, 1992
- Delahaye J.-P., « L’altruisme récompensé ? », Pour la Science No 181, Novembre 1992, pp. 150-156
- Delahaye J.-P., Mathieu Ph., « L’altruisme perfectionné », Pour la Science No 187, mai 1993, pp. 102-107
- Delahaye J.-P., Mathieu Ph., « Le monde agité de la coopération », Pour la Science No 227, septembre 1996, pp. 100-104
- Nowak M., May R., Sigmund K., « L’arithmétique de l’entraide », Pour la Science No 214, Août 1995, pp. 56-61
- Projet PRISON, http://www.lifl.fr/IPD/
- Prisoner’s Dilemma, http://serendip.brynmawr.edu/playground/pd.html
- The Localisation of Interaction and Learning in the Repeated Prisoner’s Dilemma