Calculateur du dilemme du prisonnier
Notez un tour du dilemme du prisonnier : choisissez coopérer ou trahir pour chaque joueur et obtenez les deux scores. Avec la table classique, deux coopérants gagnent 3 chacun, et celui qui trahit un coopérant prend 5 et lui laisse 0. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Choix de A
- Cooperate
- Choix de B
- Cooperate
- Tentation
- 5
- Récompense
- 3
- Punition
- 1
- Gain du dupé
- 0
Le dilemme du prisonnier est le jeu canonique à deux joueurs où chacun choisit seul de coopérer ou de faire défection, et les deux scores sortent d'une seule matrice de gains 2 sur 2. La coopération mutuelle verse la récompense à chaque camp ; la défection mutuelle verse la punition à chaque camp ; un couple mixte verse la tentation au défecteur et le gain du dupe à celui qui coopère.
Ce que signifie la matrice à quatre cases et comment les deux scores apparaissent
Le dilemme du prisonnier n'est pas un récit sur la culpabilité ; c'est une bimatrix 2 sur 2 où deux joueurs choisissent en même temps dans le même ensemble d'actions, cooperate ou defect, et chacun reçoit un nombre d'une table de gains à quatre cases. La convention nomme ces quatre nombres d'après l'histoire qu'ils racontent. Reward, noté R, est ce que gagne chaque joueur lorsque les deux coopèrent.
Temptation, noté T, est ce que gagne celui qui fait défection face à un coopérateur. Sucker, noté S, est ce que gagne celui qui coopère face à un défecteur. Punishment, noté P, est ce que gagne chacun lorsque les deux font défection.
Lue du point de vue du joueur A, la table donne donc la paire (R, R) en coopération mutuelle, la paire (S, T) lorsque A coopère et B fait défection, la paire (T, S) lorsque A fait défection et B coopère, et la paire (P, P) en défection mutuelle.
Une matrice est un dilemme du prisonnier, au sens strict de manuel retenu ici, lorsque la tentation dépasse strictement la récompense, la récompense dépasse strictement la punition, la punition dépasse strictement le gain du dupe, et le double de la récompense dépasse strictement la tentation plus ce gain. Ces inégalités font de la défection l'unique stratégie strictement dominante et de la défection mutuelle l'unique équilibre de Nash pur du jeu en un coup, même si la coopération mutuelle est meilleure pour la paire.
Ce calculateur cherche la case qui correspond aux deux actions envoyées, renvoie les deux scores et indique aussi si les nombres fournis satisfont encore ces inégalités et si le profil envoyé est un équilibre de Nash. Il ne simule ni le jeu répété, ni les stratégies mixtes, ni le cheap talk, ni tit-for-tat ; il note une manche simultanée et s'arrête là pour que le contrat reste déterministe.
Cas d’usage
Vérifications de classe et de devoirs
Laissez les élèves envoyer cooperate ou defect pour les deux joueurs et vérifier les deux scores, l'issue nommée et si la défection mutuelle est l'équilibre de Nash sur la matrice assignée.
Correction automatique d'examens et LMS
Notez des items en un coup du dilemme du prisonnier avec un oracle déterministe qui refuse les actions inconnues et n'invente jamais une case de gain.
Notation 2 sur 2 en laboratoire et produit
Notez une matrice T,R,P,S fixe dans une expérience, une démo de biens publics ou un carnet de prix à deux firmes sans copier des formules de feuille de calcul.
Questions fréquentes
Comment les points sont-ils répartis dans le dilemme du prisonnier ?
Si les deux coopèrent, chacun reçoit la récompense ; si les deux trahissent, chacun reçoit la punition. Si un seul trahit, il prend la tentation et celui qui a coopéré reçoit le gain de la dupe, le plus faible de la table.
Quelles valeurs la table utilise-t-elle si je n'en saisis aucune ?
Celles du tournoi d'Axelrod : tentation 5, récompense 3, punition 1 et gain de la dupe 0. Avec elles, si A trahit pendant que B coopère, A obtient 5 et B obtient 0. Vous pouvez modifier chacune des quatre valeurs.
Pourquoi la trahison mutuelle est-elle l'équilibre de Nash ?
Parce que trahir rapporte plus quoi que fasse l'autre : 5 au lieu de 3 face à un coopérant, et 1 au lieu de 0 face à un traître. Aucun joueur ne gagne à changer seul, alors que coopérer ensemble leur rapporterait davantage à tous deux.
Quand une table forme-t-elle un vrai dilemme du prisonnier ?
Quand la tentation dépasse la récompense, la récompense dépasse la punition et la punition dépasse le gain de la dupe, et que le double de la récompense dépasse la somme tentation plus dupe. Le calculateur vous dit si vos valeurs respectent ces quatre conditions.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/prisoners-dilemma \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"choice_a":"cooperate","choice_b":"cooperate"}'const res = await fetch("https://api.kit.forhosting.com/math/prisoners-dilemma", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"choice_a": "cooperate",
"choice_b": "cooperate"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/prisoners-dilemma",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"choice_a": "cooperate",
"choice_b": "cooperate"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/prisoners-dilemma", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"choice_a":"cooperate","choice_b":"cooperate"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"choice_a":"cooperate","choice_b":"cooperate"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/prisoners-dilemma", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"choice_a": "cooperate",
"choice_b": "cooperate"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.prisoners_dilemma",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Ce calculateur accepte l'action du joueur A, celle du joueur B et les quatre paiements de manuel temptation, reward, punishment et sucker, puis renvoie les deux scores de cette manche simultanée. Un choix qui n'est ni cooperate ni defect échoue avec invalid_input au lieu d'inventer une case.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Les abréviations courantes du manuel sont acceptées lorsque le mot canonique est omis : c ou coop pour cooperate, et d ou def pour defect. Exemple : les deux coopèrent sur la matrice par défaut donne les scores 3 et 3. Exemple : A fait défection et B coopère donne 5 et 0. Associez la charge à votre propre dessin de la table 2 sur 2 ; ce point d'accès n'émet ni graphiques ni prose de cours pas à pas au-delà des champs message et formula. Envoyez par POST un corps JSON avec deux actions obligatoires et, si vous le souhaitez, quatre paiements finis. choice_a est l'action du joueur A et choice_b celle du joueur B ; chacune doit être cooperate ou defect après suppression des espaces et sans tenir compte de la casse. Les alias player_a, player1 et a se résolvent en choice_a ; player_b, player2 et b se résolvent en choice_b. Les actions manquantes, les chaînes vides et tout autre jeton tel que attack, stay silent, yes ou l'entier 1 échouent avec invalid_input qui nomme le champ et indique que les valeurs attendues sont cooperate ou defect ; ces échecs ne sont pas facturés. La matrice de gains prend par défaut les nombres du tournoi d'Axelrod : temptation 5, reward 3, punishment 1 et sucker 0. Vous pouvez remplacer n'importe lequel de ces quatre par un nombre JSON fini ou une chaîne numérique ; les valeurs non finies échouent en nommant le champ. En cas de succès le corps répète les actions normalisées et les quatre paiements, renvoie score_a et score_b comme résultat principal, nomme l'issue mutual_cooperation, a_defects, b_defects ou mutual_defection, et indique social_welfare comme la somme des deux scores. Il marque aussi is_prisoners_dilemma lorsque les quatre nombres satisfont les inégalités du manuel, marque is_nash lorsque aucun des deux ne peut s'améliorer en changeant seul, répète la carte des cases dans formula et inclut un message d'une ligne que vous pouvez imprimer à côté d'une matrice.
Où une API du dilemme du prisonnier en une manche trouve son utilité
Les salles de classe et les plateformes de tutorat utilisent un calculateur du dilemme du prisonnier pour que les apprenants vérifient les deux scores de chaque paire d'actions sans inverser T et S à la main ni confondre la somme sociale avec le gain d'un seul joueur. Les expériences de laboratoire et de classe en économie et en science politique fixent souvent une matrice à l'avance puis ont besoin d'un marqueur indépendant qui ne dérive pas lorsqu'une formule de feuille est copiée une case trop loin. Une validation échouée ne consomme pas le solde. Les générateurs d'examens ont besoin d'un oracle déterministe qui marque une action invalide comme invalid_input au lieu d'associer en silence une chaîne inconnue à cooperate. Les équipes produit, prix et biens publics réutilisent la même histoire 2 sur 2 lorsque deux firmes choisissent de publiciser ou de se taire, lorsque deux pays choisissent d'abattre leurs émissions ou de polluer, ou lorsque deux utilisateurs choisissent de partager ou de profiter ; appeler une petite API parse évite de réécrire la carte des cases dans chaque langage serveur. Comme l'implémentation est parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Gardez les requêtes petites, figez score_a et score_b dans les tests, et vous obtenez des scores d'une manche reproductibles pour les devoirs, les greffons LMS et les workers en bordure sans dresser une bibliothèque de théorie des jeux à vous.
Questions techniques
Comment calcule-t-on les gains du dilemme du prisonnier pour une manche ?
Envoyez choice_a et choice_b comme cooperate ou defect. temptation, reward, punishment et sucker sont facultatifs et valent par défaut 5, 3, 1 et 0. L'API renvoie score_a et score_b de cette case de la matrice.
Que se passe-t-il si un joueur envoie un choix autre que cooperate ou defect ?
La tâche échoue avec invalid_input en nommant le champ. Seuls cooperate et defect (et les alias courts c, coop, d, def) sont valides ; les jetons inconnus ne sont pas associés à une case.
Puis-je modifier les valeurs de temptation, reward, punishment et sucker ?
Oui. Remplacez n'importe lequel des quatre paiements finis. La matrice par défaut est le tournoi d'Axelrod (5, 3, 1, 0). is_prisoners_dilemma n'est true que lorsque T>R>P>S et 2R>T+S.
Quelle issue est l'équilibre de Nash ?
Sur une matrice de manuel du dilemme du prisonnier, la défection mutuelle est l'unique équilibre de Nash pur parce que defect domine strictement cooperate. is_nash n'est true que lorsque aucun des deux ne peut hausser son propre score en changeant seul.
Combien coûte le calculateur du dilemme du prisonnier ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.