Calcolatore del dilemma del prigioniero
Calcoli il punteggio di un turno del dilemma del prigioniero: scelga cooperare o tradire per ogni giocatore e ottenga i due punteggi. Con la tabella classica, due cooperanti prendono 3 ciascuno, e chi tradisce un cooperante prende 5 e gli lascia 0. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Scelta di A
- Cooperate
- Scelta di B
- Cooperate
- Tentazione
- 5
- Ricompensa
- 3
- Punizione
- 1
- Payoff dell'ingenuo
- 0
Il dilemma del prigioniero è il gioco canonico a due giocatori in cui ciascuno sceglie da solo se cooperare o tradire, e entrambi i punteggi escono da una sola matrice di pagamenti 2 per 2. La cooperazione reciproca versa la ricompensa a ciascun lato; il tradimento reciproco versa la punizione a ciascun lato; una coppia mista versa la tentazione a chi tradisce e il pagamento dello sprovveduto a chi coopera.
Che cosa significa la matrice a quattro celle e come compaiono entrambi i punteggi
Il dilemma del prigioniero non è un racconto sulla colpa; è una bimatrix 2 per 2 in cui due giocatori scelgono insieme nello stesso insieme di azioni, cooperate o defect, e ciascuno riceve un numero da una tabella di pagamenti a quattro celle. La convenzione nomina quei quattro numeri secondo la storia che raccontano. Reward, scritto R, è ciò che ciascun giocatore ottiene quando entrambi cooperano.
Temptation, scritto T, è ciò che ottiene chi tradisce di fronte a chi coopera. Sucker, scritto S, è ciò che ottiene chi coopera di fronte a chi tradisce. Punishment, scritto P, è ciò che ciascuno ottiene quando entrambi tradiscono.
Letta dal punto di vista del giocatore A, la tabella dà dunque la coppia (R, R) nella cooperazione reciproca, la coppia (S, T) quando A coopera e B tradisce, la coppia (T, S) quando A tradisce e B coopera, e la coppia (P, P) nel tradimento reciproco.
Una matrice è un dilemma del prigioniero, nel senso stretto da manuale usato qui, quando la tentazione supera in modo stretto la ricompensa, la ricompensa supera in modo stretto la punizione, la punizione supera in modo stretto il pagamento dello sprovveduto, e il doppio della ricompensa supera in modo stretto la tentazione più quel pagamento. Quelle disuguaglianze rendono il tradimento l'unica strategia strettamente dominante e il tradimento reciproco l'unico equilibrio di Nash puro del gioco a un solo colpo, anche se la cooperazione reciproca è migliore per la coppia.
Questo calcolatore cerca la cella che corrisponde alle due azioni inviate, restituisce entrambi i punteggi e riferisce anche se i numeri forniti soddisfano ancora quelle disuguaglianze e se il profilo inviato è un equilibrio di Nash. Non simula il gioco ripetuto, le strategie miste, il cheap talk né tit-for-tat; assegna il punteggio di un turno simultaneo e si ferma lì perché il contratto resti deterministico.
Casi d'uso
Controlli in aula e sui compiti
Consenta agli studenti di inviare cooperate o defect per entrambi i giocatori e di verificare i due punteggi, l'esito nominato e se il tradimento reciproco è l'equilibrio di Nash sulla matrice assegnata.
Correzione automatica di esami e LMS
Valuti voci a un solo colpo del dilemma del prigioniero con un oracolo deterministico che rifiuta azioni sconosciute e non inventa mai una cella di pagamento.
Punteggio 2 per 2 in laboratorio e prodotto
Assegni il punteggio di una matrice T,R,P,S fissa in un esperimento, in una dimostrazione di beni pubblici o in un taccuino di prezzi a due imprese senza copiare formule di foglio.
Domande frequenti
Come si distribuiscono i punti nel dilemma del prigioniero?
Se entrambi cooperano, ciascuno riceve la ricompensa; se entrambi tradiscono, ciascuno riceve la punizione. Se tradisce uno solo, quello prende la tentazione e chi ha cooperato riceve il guadagno dell'ingenuo, il più basso della tabella.
Quali valori usa la tabella se non ne inserisco nessuno?
Quelli del torneo di Axelrod: tentazione 5, ricompensa 3, punizione 1 e guadagno dell'ingenuo 0. Con questi, se A tradisce mentre B coopera, A ottiene 5 e B ottiene 0. Può modificare ciascuno dei quattro valori.
Perché il tradimento reciproco è l'equilibrio di Nash?
Perché tradire rende di più qualunque cosa faccia l'altro: 5 invece di 3 contro chi coopera, e 1 invece di 0 contro chi tradisce. Nessuno guadagna cambiando da solo, anche se cooperare insieme darebbe di più a entrambi.
Quando una tabella è un vero dilemma del prigioniero?
Quando la tentazione supera la ricompensa, la ricompensa supera la punizione e la punizione supera il guadagno dell'ingenuo, e inoltre il doppio della ricompensa supera la somma di tentazione e ingenuo. Il calcolatore le dice se i suoi valori rispettano le quattro condizioni.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"choice_a": "cooperate",
"choice_b": "cooperate"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.prisoners_dilemma",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questo calcolatore accetta l'azione del giocatore A, quella del giocatore B e i quattro pagamenti da manuale temptation, reward, punishment e sucker, poi restituisce i due punteggi di quel turno simultaneo. Una scelta che non sia cooperate né defect fallisce con invalid_input invece di inventare una cella.
Contratto di ingresso, forma della risposta e comportamento in errore
Le abbreviazioni comuni da manuale sono accettate quando manca la parola canonica: c o coop per cooperate, e d o def per defect. Esempio: entrambi cooperano sulla matrice predefinita produce i punteggi 3 e 3. Esempio: A tradisce e B coopera produce 5 e 0. Abbini il carico al Suo disegno della tabella 2 per 2; questo estremo non emette grafici né prosa d'aula passo dopo passo oltre i campi message e formula. Invii per POST un corpo JSON con due azioni obbligatorie e, se lo desidera, quattro pagamenti finiti. choice_a è l'azione del giocatore A e choice_b quella del giocatore B; ciascuna deve essere cooperate o defect dopo il taglio degli spazi e ignorando le maiuscole. Gli alias player_a, player1 e a si risolvono in choice_a; player_b, player2 e b si risolvono in choice_b. Azioni assenti, stringhe vuote e qualunque altro token come attack, stay silent, yes o l'intero 1 falliscono con invalid_input che nomina il campo e dichiara che i valori attesi sono cooperate o defect; quei fallimenti non sono fatturati. La matrice di pagamenti assume per impostazione predefinita i numeri del torneo di Axelrod: temptation 5, reward 3, punishment 1 e sucker 0. Lei può sostituire uno qualsiasi di quei quattro con un numero JSON finito o una stringa numerica; i valori non finiti falliscono nominando il campo. In caso di successo il corpo ripete le azioni normalizzate e i quattro pagamenti, restituisce score_a e score_b come risultato principale, nomina l'esito come mutual_cooperation, a_defects, b_defects o mutual_defection, e riferisce social_welfare come la somma dei due punteggi. Segna anche is_prisoners_dilemma quando i quattro numeri soddisfano le disuguaglianze da manuale, segna is_nash quando nessuno dei due può migliorare cambiando da solo, ripete la mappa delle celle in formula e include un message di una riga che Lei può stampare accanto a una matrice.
Dove un'API del dilemma del prigioniero a un turno rende
Le aule e le piattaforme di tutoraggio usano un calcolatore del dilemma del prigioniero perché chi impara possa controllare entrambi i punteggi di ogni coppia di azioni senza invertire T e S a mano né confondere la somma sociale con il pagamento di un solo giocatore. Gli esperimenti di laboratorio e d'aula in economia e scienza politica fissano spesso una matrice in anticipo e poi necessitano di un segnapunti indipendente che non derivi quando una formula di foglio viene copiata una cella troppo in là. La convalida fallita non consuma il saldo. I generatori di esami hanno bisogno di un oracolo deterministico che segni un'azione non valida come invalid_input invece di associare in silenzio una stringa sconosciuta a cooperate. I gruppi di prodotto, prezzo e beni pubblici riutilizzano la stessa storia 2 per 2 quando due imprese scelgono se pubblicizzare o tacere, quando due Paesi scelgono se ridurre le emissioni o inquinare, o quando due utenti scelgono se condividere o approfittare; chiamare una piccola API parse evita di riscrivere la mappa delle celle in ogni linguaggio di server. Poiché l'implementazione è parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello né rete in uscita. Tenga le richieste piccole, fissi score_a e score_b nelle prove e otterrà punteggi di un turno riproducibili per i compiti, i plugin LMS e i worker al bordo senza montare una biblioteca propria di teoria dei giochi.
Domande tecniche
Come si calcolano i pagamenti del dilemma del prigioniero per un turno?
Invii choice_a e choice_b come cooperate o defect. temptation, reward, punishment e sucker sono facoltativi e valgono per impostazione predefinita 5, 3, 1 e 0. L'API restituisce score_a e score_b di quella cella della matrice.
Che succede se un giocatore invia una scelta diversa da cooperate o defect?
L'attività fallisce con invalid_input nominando il campo. Sono validi solo cooperate e defect (e gli alias brevi c, coop, d, def); i token sconosciuti non vengono associati a una cella.
Posso modificare i valori di temptation, reward, punishment e sucker?
Sì. Sostituisca uno qualsiasi dei quattro pagamenti finiti. La matrice predefinita è il torneo di Axelrod (5, 3, 1, 0). is_prisoners_dilemma è true solo quando T>R>P>S e 2R>T+S.
Quale esito è l'equilibrio di Nash?
Su una matrice da manuale del dilemma del prigioniero, il tradimento reciproco è l'unico equilibrio di Nash puro perché defect domina in modo stretto cooperate. is_nash è true solo quando nessuno dei due può alzare il proprio punteggio cambiando da solo.
Quanto costa il calcolatore del dilemma del prigioniero?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; un ingresso non valido non è fatturato.