
/ Accueil / Jeux / MiniMax / Dilemme itéré du prisonnier
Dilemme itéré des prisonniers
Dilemme itéré
Stratégies
Cumul de gains
Vous êtes confronté plusieurs fois de suite à un même adversaire. À chaque rencontre vous avez la possibilité de coopérer ou de trahir. Les gains indiqués dans le tableau ci-dessous dépendent des deux attitudes (coopération ou trahison).
En prévoyant ou en provoquant les réactions de votre adversaire, vous essayerez de cumuler tout au long du jeu, des gains les plus importants possibles et de limiter les gains adverses.
Pour d'autres rétributions S, P, R, T, le jeu est différent..
On choisit toujours S < P < R < T et aussi S+T < 2R pour inciter à la coopération.
(Pour mémoriser, R : récompense, S : salaire, T : tentation, P : punition).
| GAINS de A | B Coopère | B Trahit |
| A Coopère |
R = 3 |
S = 0 |
| A Trahit |
T = 5 |
P = 1 |
R : reward récompense, S : sucker's payoff salaire, T : temptation tentation, P : punishment punition
Vous êtes en mesure de coopérer ou de trahir, non plus une seule fois mais un nombre fini et indéterminé de fois n. Votre gain sera la somme de tous les n gains individuels.
Les deux choix sont simultanés, sans entente commune, vous ne connaissez que les choix des étapes précédentes, pas celui qu'effectue votre adversaire au même moment.
Comportements
Vous pouvez adapter vos choix successifs en fonction de l'analyse que vous faites du comportement de votre adversaire.
Différentes stratégies simples ou complexes ont été étudiées et testées.
Parmi les plus simples à décrire, la 'gentille' coopère à tous les coups et la 'méchante' trahit chaque fois, la 'lunatique' effectue des choix au hasard.
Vous ne connaissez pas non plus la longueur de la suite de coups, elle s'arrête sans que vous n'en ayez été informé auparavant.
Évolution d'une population
Compétition et variation des effectifs
Même nombre d'individus dans chaque type. Au départ on a une population composée d'individus classés suvant les types de stratégies qu'ils utiliseront. Les effectifs sont de 1000 individus dans chaque type (gentil, méchant ...). L'effectif total sera n x 1000 où n est le nombre de stratégies en compétition.
Longueur inconnue des séquences. À chaque génération la durée des compétitions peut être modifiée, mais elle sera la même pour toutes les compétitions de cette génération.
Chaque individu rencontre tous les autres (du même type aussi bien que d'un type différent)
Effectifs des types proportionnels aux gains.
Pour la génération suivante, les effectifs des types sont calculés proportionnellement à leurs gains cumulés, l'effectif de la population devant rester inchangé.
Le gain total de chaque individu est la somme de ses gains lors des compétitions. Pour une stratégie donnée, le gain est la somme des gains des individus de ce type.
Stratégies définies par un code génétique
Alors que les stratégies classiques (gentille, méchante, lunatique ...) sont immuables dans leur comportement, sept autres stratégies sont définies par un code génétique qui programme leur comportement en fonction des (p, q) derniers choix de coopération ou de trahison d'elles-mêmes ou de l'adversaire.
Après un nombre donné n de générations (qui correspond à une simulation), en fonction de l'évolution des effectifs, les quatre meilleures stratégies sont conservées, les trois autres sont remplacées par des enfants des meilleures. (Une simulation = une évolution des effectifs sur n générations = une seule génération-génétique)
Cochez les cases F1 à F7 pour réaliser cette évolution génétique.
Stratégie définie par l'utilisateur
Vous pouvez utiliser si vous le désirez, la stratégie définie sous la forme d'une fonction javascript ou modifier celle-ci.
Cochez alors la case UTILISATEUR dans la liste des stratégies.
Simulation des générations
Mode d'emploi
Les quatre onglets [ Stratégies], [ Paramètres], [ Simulations], [ Graphiques], permettent de concentrer l'application sur un espace restreint, à tout moment on peut passer de l'une à l'autre de ces parties.
- Cliquez sur l'onglet [Stratégies] et choisissez quelques stratégies seulement pour la compétition (l'application sera plus rapide si le nombre de stratégies est peu élévé)
- Cliquez sur l'onglet [Paramètres] et changez les paramètres, si vous le désirez.
- Si vous utilisez des stratégies génétiques, vous pouvez modifier les valeurs "2 3" indiquées, celles ci correspondent aux nombres des derniers comportements à prendre en compte (x d'elle-même, y de l'adversaire), n'oubliez pas de valider en cliquant sur le bouton [Réinitialiser].
Les effectifs des joueurs dans chaque stratégie sont identiques au début de chaque simulation et évoluent au long des n = 25 générations (valeur n modifiable à votre gré), en fonction des gains réalisés par les joueurs qui utilisent ces stratégies.
Cliquez si c'est nécessaire sur le troisième onglet [Simulations] puis démarrez les simulations en cliquant sur le bouton rouge [Simulations] qui lance l'application. (Pour arrêter momentanément, après la série d'évolution des effectifs, cliquez sur [Pause])
- Après chaque simulation des n = 25 générations d'évolution, les courbes des effectifs des stratégies sont affichées. Vous verrez ces courbes après avoir cliqué sur l'onglet [Graphique].
Durant cette simulation de n = 25 évolutions des effectifs, les stratégies génétiques n'ont pas changé, (y compris les stratégies F1 à F7), ce sont uniquement les effectifs correspondant aux différentes stratégies qui ont évolué. Les changements génétiques des stratégies F1 à F7, n'ont lieu qu'après chaque série de n = 25 évolutions des effectifs des populations, (et les effectifs sont rééquilibrés).
Application
À chaque génération, selon les cases cochées, vous obtenez
1) un récapitulatif des effectifs,
2) un tableau des gains des couples de stratégies,
3) un graphique d'évolution des effectifs.
Autres résultats de l'évolution
- Si vous avez coché la case "gains", la matrice des gains moyens des stratégies est affichée à la fin de chaque simulation.
- Lorsque vous cliquez sur le bouton "Afficher les codes génétiques" dans le panneau "Simulations", vous obtenez l'affichage des stratégies sous la forme de codes génétiques ou de fonctions javascript (simplifiées en partie ou non, au choix).
En cliquant alors sur le lien "[F1-> utilisateur]", la fonction javascript F1 est copiée dans l'aire UTILISATEUR où vous pouvez l'utiliser telle quelle ou la modifier. (Idem avec F2 ... F7).
Liens Références Documentation
Pour des références et de la documentation, vous pouvez vous reporter à ma page de liens consacrée au :
Dilemme des prisonniers
La librairie javascript utilisée pour le tracé des courbes après simulation, immédiatement après la simulation.
High Performance JavaScript VectorGraphics library by Walter Zorn at www.walterzorn.com.
DHTML, JavaScript Draw Line, Circle, Ellipse (Oval), Polyline, Polygon, Rectangle.
Une librairie de fonctions graphiques construite par Walter Zorn. La mise en oeuvre est d'une étonnante simplicité.
|