Calculadora do dilema do prisioneiro
Pontue uma rodada do dilema do prisioneiro: escolha cooperar ou trair para cada jogador e receba os dois resultados. Com a tabela clássica, se os dois cooperam cada um ganha 3, e quem trai um cooperador leva 5 e deixa o outro com 0. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Escolha de A
- Cooperate
- Escolha de B
- Cooperate
- Tentação
- 5
- Recompensa
- 3
- Punição
- 1
- Prêmio do otário
- 0
O dilema do prisioneiro é o jogo canônico de dois jogadores em que cada pessoa escolhe sozinha cooperar ou desertar, e as duas pontuações saem de uma única matriz de pagamentos 2 por 2. A cooperação mútua paga a recompensa a cada lado; a deserção mútua paga a punição a cada lado; um par misto paga a tentação a quem deserta e o pagamento do otário a quem coopera.
O que a matriz de quatro células significa e como as duas pontuações aparecem
O dilema do prisioneiro não é um relato sobre culpa; é uma bimatrix 2 por 2 em que dois jogadores escolhem ao mesmo tempo no mesmo conjunto de ações, cooperate ou defect, e cada um recebe um número de uma tabela de pagamentos de quatro células. A convenção nomeia esses quatro números segundo a história que contam. Reward, escrito R, é o que cada jogador ganha quando ambos cooperam.
Temptation, escrito T, é o que ganha quem deserta diante de quem coopera. Sucker, escrito S, é o que ganha quem coopera diante de quem deserta. Punishment, escrito P, é o que cada um ganha quando ambos desertam.
Lendo a tabela do ponto de vista do jogador A, as células são portanto o par (R, R) na cooperação mútua, o par (S, T) quando A coopera e B deserta, o par (T, S) quando A deserta e B coopera, e o par (P, P) na deserção mútua.
Uma matriz é um dilema do prisioneiro, no sentido estrito de livro usado aqui, quando a tentação supera de forma estrita a recompensa, a recompensa supera de forma estrita a punição, a punição supera de forma estrita o pagamento do otário, e o dobro da recompensa supera de forma estrita a tentação mais esse pagamento. Essas desigualdades tornam desertar a única estratégia estritamente dominante e a deserção mútua o único equilíbrio de Nash puro do jogo de um único disparo, embora a cooperação mútua seja melhor para o par.
Esta calculadora localiza a célula que combina com as duas ações enviadas, devolve as duas pontuações e também informa se os números fornecidos ainda satisfazem essas desigualdades e se o perfil enviado é um equilíbrio de Nash. Não simula jogo repetido, estratégias mistas, conversa barata nem tit-for-tat; pontua uma rodada simultânea e para ali para o contrato continuar determinístico.
Casos de uso
Checagens de sala e de lição de casa
Deixe o aluno enviar cooperate ou defect para os dois jogadores e conferir as duas pontuações, o desfecho nomeado e se a deserção mútua é o equilíbrio de Nash na matriz da tarefa.
Correção automática de prova e LMS
Marque itens de um único disparo do dilema do prisioneiro com um oráculo determinístico que recusa ações desconhecidas e nunca inventa uma célula de pagamento.
Pontuação 2 por 2 em laboratório e produto
Pontue uma matriz T,R,P,S fixa num experimento, numa demo de bens públicos ou num caderno de preço de duas firmas sem copiar fórmulas de planilha.
Perguntas frequentes
Como os pontos são distribuídos no dilema do prisioneiro?
Se os dois cooperam, cada um recebe a recompensa; se os dois traem, cada um recebe a punição. Se só um trai, ele leva a tentação e quem cooperou fica com o pagamento do ingênuo, o pior da tabela.
Que valores a tabela usa se eu não informar nenhum?
Os do torneio de Axelrod: tentação 5, recompensa 3, punição 1 e pagamento do ingênuo 0. Com eles, se A trai enquanto B coopera, A fica com 5 e B com 0. Você pode mudar qualquer um dos quatro valores.
Por que trair dos dois lados é o equilíbrio de Nash?
Porque trair rende mais, faça o outro o que fizer: 5 em vez de 3 contra quem coopera, e 1 em vez de 0 contra quem trai. Nenhum dos dois ganha mudando sozinho, embora cooperar juntos desse mais aos dois.
Quando uma tabela é um verdadeiro dilema do prisioneiro?
Quando a tentação supera a recompensa, a recompensa supera a punição e a punição supera o pagamento do ingênuo, e o dobro da recompensa supera a soma de tentação e ingênuo. A calculadora mostra se seus valores cumprem as quatro condições.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"choice_a": "cooperate",
"choice_b": "cooperate"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.prisoners_dilemma",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Esta calculadora aceita a ação do jogador A, a do jogador B e os quatro pagamentos de livro temptation, reward, punishment e sucker, e devolve as duas pontuações daquela rodada simultânea. Uma escolha que não seja cooperate nem defect falha com invalid_input em vez de inventar uma célula.
Contrato de entrada, forma da resposta e comportamento de erro
Abreviações comuns de livro são aceitas quando a palavra canônica fica de fora: c ou coop por cooperate, e d ou def por defect. Exemplo: ambos cooperam na matriz padrão produz as pontuações 3 e 3. Exemplo: A deserta e B coopera produz 5 e 0. Envie por POST um corpo JSON com duas ações obrigatórias e, se quiser, quatro pagamentos finitos. choice_a é a ação do jogador A e choice_b a do jogador B; cada uma deve ser cooperate ou defect depois de aparar espaços e ignorar maiúsculas. Os alias player_a, player1 e a resolvem para choice_a; player_b, player2 e b resolvem para choice_b. Ações ausentes, strings vazias e qualquer outro token como attack, stay silent, yes ou o inteiro 1 falham com invalid_input que nomeia o campo e declara que os valores esperados são cooperate ou defect; essas falhas não são cobradas. A matriz de pagamentos usa por padrão os números do torneio de Axelrod: temptation 5, reward 3, punishment 1 e sucker 0. Você pode substituir qualquer um desses quatro por um número JSON finito ou uma string numérica; valores não finitos falham nomeando o campo. Em sucesso o corpo ecoa as ações normalizadas e os quatro pagamentos, devolve score_a e score_b como resultado principal, nomeia o desfecho como mutual_cooperation, a_defects, b_defects ou mutual_defection, e informa social_welfare como a soma das duas pontuações. Também marca is_prisoners_dilemma quando os quatro números satisfazem as desigualdades do livro, marca is_nash quando nenhum dos dois pode melhorar trocando sozinho, reitera o mapa de células em formula e inclui um message de uma linha que você pode imprimir ao lado de uma matriz. Combine a carga com o seu próprio desenho da tabela 2 por 2; este endpoint não emite gráficos nem prosa de sala passo a passo além dos campos message e formula.
Onde uma API do dilema do prisioneiro de uma rodada se paga
Salas de aula e plataformas de tutoria usam uma calculadora do dilema do prisioneiro para que o aluno confira as duas pontuações de cada par de ações sem inverter T e S à mão nem confundir a soma social com o pagamento de um só jogador. Experimentos de laboratório e de sala em economia e ciência política costumam fixar uma matriz de antemão e depois precisam de um anotador independente que não desvie quando uma fórmula de planilha é copiada uma célula além. Validação falha não consome saldo. Geradores de prova precisam de um oráculo determinístico que marque uma ação inválida como invalid_input em vez de mapear em silêncio uma string desconhecida para cooperate. Equipes de produto, preço e bens públicos reutilizam a mesma história 2 por 2 quando duas firmas escolhem anunciar ou ficar quietas, quando dois países escolhem abater emissões ou poluir, ou quando dois usuários escolhem compartilhar ou se aproveitar; chamar uma API parse pequena evita reimplementar o mapa de células em cada linguagem de servidor. Como a implementação é parse de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída. Mantenha os pedidos pequenos, fixe score_a e score_b nos testes e você obtém pontuações de uma rodada reproduzíveis para tarefa, plugins LMS e workers na borda sem levantar uma biblioteca própria de teoria dos jogos.
Perguntas técnicas
Como se calculam os pagamentos do dilema do prisioneiro numa rodada?
Envie choice_a e choice_b como cooperate ou defect. temptation, reward, punishment e sucker são opcionais e valem por padrão 5, 3, 1 e 0. A API devolve score_a e score_b daquela célula da matriz.
O que acontece se um jogador envia uma escolha diferente de cooperate ou defect?
A tarefa falha com invalid_input nomeando o campo. Só cooperate e defect (e os alias curtos c, coop, d, def) são válidos; tokens desconhecidos não são mapeados para uma célula.
Posso alterar os valores de temptation, reward, punishment e sucker?
Sim. Substitua qualquer um dos quatro pagamentos finitos. A matriz padrão é o torneio de Axelrod (5, 3, 1, 0). is_prisoners_dilemma é true só quando T>R>P>S e 2R>T+S.
Qual desfecho é o equilíbrio de Nash?
Numa matriz de livro do dilema do prisioneiro, a deserção mútua é o único equilíbrio de Nash puro porque defect domina de forma estrita cooperate. is_nash é true só quando nenhum dos dois consegue subir a própria pontuação trocando sozinho.
Quanto custa a calculadora do dilema do prisioneiro?
A ferramenta do navegador é grátis. Pedidos à API usam saldo pré-pago de KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.