Calculadora de valor de Shapley para dois jogadores
Esta calculadora de valor de Shapley para dois jogadores distribui o valor da cooperação conforme a contribuição de cada participante nas duas ordens possíveis de entrada.
Executar grátis
Informe quanto cada jogador produz sozinho e quanto ambos produzem juntos. O resultado mostra a alocação de cada um, o excedente ou déficit da cooperação e o valor da grande coalizão. Ela é útil para dividir receitas, alocar custos, analisar parcerias, preparar negociações e resolver exercícios de teoria dos jogos cooperativos.
Defina os três valores de coalizão de modo consistente
Um jogo cooperativo com dois jogadores precisa de três valores, pois o valor da coalizão vazia é normalizado como zero. Informe o valor do jogador um como aquilo que ele consegue gerar sem o jogador dois e defina o valor do segundo participante com o mesmo critério. Depois, informe o valor da grande coalizão, criado quando ambos participam. As três quantias devem representar o mesmo resultado, moeda, período e escopo contábil. Por exemplo, não compare o lucro mensal de uma parte com a receita anual da parceria, nem use vendas brutas nos valores individuais e lucro líquido no valor conjunto. Os números podem ser positivos, zero ou negativos; assim, benefícios, custos, perdas ou obrigações podem ser representados, desde que os sinais sejam interpretados consistentemente. A ferramenta pressupõe que todo o valor conjunto será distribuído. Ela não estima valores a partir de contratos, previsões, esforço, participação societária ou poder de negociação: você deve fornecer essas informações.
Como a alocação de Shapley é calculada
O método de Shapley mede quanto cada jogador acrescenta quando os participantes entram na coalizão em todas as ordens possíveis e calcula a média dessas contribuições marginais. Com dois jogadores, existem somente duas ordens. Quando o jogador um chega primeiro, sua contribuição é o valor individual v({1}); quando chega depois, ela corresponde ao valor conjunto v({1,2}) menos o valor individual do jogador dois v({2}). A média dessas contribuições produz seu valor de Shapley, e o cálculo do outro jogador é simétrico. Um atalho equivalente parte dos valores individuais, calcula o excedente de cooperação como v({1,2}) - v({1}) - v({2}) e entrega metade a cada participante. Portanto, as duas alocações somam exatamente o valor da grande coalizão antes da normalização de exibição. Se a cooperação gerar déficit, a mesma regra divide igualmente o valor negativo. Não se trata de dividir todo o valor meio a meio: as capacidades individuais permanecem, e apenas o ganho ou a perda adicional da cooperação é compartilhado.
Interprete o resultado e avalie a adequação do modelo
Use cada valor de Shapley como referência fundamentada de alocação, não como direito jurídico automático nem como resultado completo de uma negociação. O método atende à eficiência porque distribui integralmente o valor da grande coalizão e trata de maneira simétrica jogadores com contribuições idênticas. Ele também reconhece a capacidade isolada: quem produz mais sozinho geralmente recebe mais, embora o excedente cooperativo seja dividido igualmente. Um excedente positivo indica que a produção conjunta supera a soma das produções separadas; um resultado negativo indica desempenho conjunto inferior, fazendo cada alocação absorver metade do déficit. Antes de adotar o resultado, confirme se o valor é transferível entre os jogadores e se as três coalizões incluem todos os efeitos relevantes. Contratos podem impor pagamentos mínimos, direitos de propriedade, ajustes de risco, tributos ou outras restrições ausentes no jogo básico. A calculadora abrange exatamente dois jogadores; jogos maiores exigem valores para coalizões adicionais e pesos combinatórios diferentes. Registre entradas e premissas para que os revisores distingam a justiça aritmética do julgamento usado para valorar cada coalizão.
Casos de uso
Dividir a receita de uma parceria
Distribua o valor de um projeto conjunto preservando aquilo que cada parceiro conseguiria gerar de forma independente.
Compartilhar economias cooperativas
Divida a economia adicional de um acordo bilateral de compras, logística ou infraestrutura.
Conferir um exercício de teoria dos jogos
Verifique as duas alocações, o excedente cooperativo e a eficiência de uma solução com dois jogadores.
Perguntas frequentes
Qual fórmula a calculadora usa?
A alocação do jogador um é [v({1}) + v({1,2}) - v({2})] / 2, e a do jogador dois é [v({2}) + v({1,2}) - v({1})] / 2.
Por que o excedente de cooperação é dividido igualmente?
Nas duas ordens possíveis, cada jogador fica uma vez em primeiro e uma vez em segundo. A média das contribuições marginais atribui metade do valor adicional a cada um.
O excedente de cooperação pode ser negativo?
Sim. Um resultado negativo significa que a grande coalizão vale menos que a soma dos valores individuais, e a regra de Shapley divide esse déficit igualmente.
As duas alocações somam o valor da grande coalizão?
Sim. A alocação de Shapley para dois jogadores é eficiente e distribui integralmente o valor conjunto informado.
A calculadora aceita mais de dois jogadores?
Não. Um jogo maior requer valores de outras coalizões e médias de contribuições marginais em ordens adicionais.
Quanto custa um cálculo pela API?
Cada solicitação à API custa US$ 0,002. Você também pode executar gratuitamente no navegador o mesmo cálculo determinístico.
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/econ/shapley-value-two-player \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"grand_coalition_value":140,"player_one_value":40,"player_two_value":60}'const res = await fetch("https://api.kit.forhosting.com/econ/shapley-value-two-player", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"grand_coalition_value": 140,
"player_one_value": 40,
"player_two_value": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/shapley-value-two-player",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"grand_coalition_value": 140,
"player_one_value": 40,
"player_two_value": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/shapley-value-two-player", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"grand_coalition_value":140,"player_one_value":40,"player_two_value":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"grand_coalition_value":140,"player_one_value":40,"player_two_value":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/shapley-value-two-player", 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
{
"grand_coalition_value": 140,
"player_one_value": 40,
"player_two_value": 60
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.shapley_value_two_player",
"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. |