Valores exatos de coalizão de Shapley
Calcule parcelas Shapley exatas para até oito jogadores a partir de valores inteiros de coalizões com magnitude até 1000000.
from fractions import Fraction
from math import comb
def shapley_values(values):
if type(values) not in (list, tuple) or not 1 <= len(values) <= 256 or len(values) & (len(values)-1):
raise ValueError("shapley.table")
if any(type(v) is not int or abs(v) > 10**6 for v in values) or values[0] != 0:
raise ValueError("shapley.value")
players = len(values).bit_length()-1
result = []
for player in range(players):
share = Fraction(0)
for subset in range(len(values)):
if not subset & (1 << player):
size = subset.bit_count()
weight = Fraction(1, players*comb(players-1, size))
share += weight*(values[subset | (1 << player)]-values[subset])
result.append(share)
return result| Projeto | Teste jogos aditivos e zero jogadores, rejeitando coalizão vazia não nula ou comprimento que não seja potência de dois. |
|---|---|
| Revise antes de aplicar | Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações. |
| Modelos | Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente. |
from fractions import Fraction
from math import comb
def shapley_values(values):
if type(values) not in (list, tuple) or not 1 <= len(values) <= 256 or len(values) & (len(values)-1):
raise ValueError("shapley.table")
if any(type(v) is not int or abs(v) > 10**6 for v in values) or values[0] != 0:
raise ValueError("shapley.value")
players = len(values).bit_length()-1
result = []
for player in range(players):
share = Fraction(0)
for subset in range(len(values)):
if not subset & (1 << player):
size = subset.bit_count()
weight = Fraction(1, players*comb(players-1, size))
share += weight*(values[subset | (1 << player)]-values[subset])
result.append(share)
return resultTorne verificáveis as premissas de uma parcela calculada
CoalitionAster oferece um ambiente de programação para Windows voltado à inspeção de código e à discussão assistida por IA no desenvolvimento de aplicações matemáticas. Comece pelo significado da tabela de entrada e do resultado informado pelo software. Um cálculo pode ser internamente consistente e ainda responder a uma pergunta diferente daquela apresentada pela interface; por isso, estabeleça esse significado antes de solicitar mudanças na implementação.
O exemplo de valor de Shapley oferece uma tarefa concreta de projeto: verificar parcelas fracionárias exatas derivadas de valores de coalizões. Traga uma tabela pequena e explique como os participantes correspondem às entradas. Peça ao assistente que examine essas premissas junto com o cálculo, sem tratar o resultado matemático ilustrativo como recomendação financeira ou política operacional de alocação.
Revise as alterações propostas com exemplos calculados independentemente, incluindo a representação de uma coalizão vazia. Execute os testes do projeto e examine como as frações exatas chegam à camada de relatórios. Se a interface arredondar valores, revise isso separadamente para que uma decisão de formatação não pareça alterar a alocação subjacente nem ocultar as premissas que a produziram.
Você pode usar um modelo de IA sem filtros oferecido por um endpoint compatível com OpenAI ou da Anthropic que seja suportado. Forneça credenciais quando necessário e verifique as ferramentas e a capacidade de contexto. O serviço escolhido determina o comportamento e as restrições do modelo; CoalitionAster mantém o trabalho de programação fundamentado em arquivos do projeto e resultados que você pode examinar pessoalmente.
Esclareça o cálculo antes de alterar seu código
O que um caso de teste de valores de coalizões deve explicar?
Identifique os participantes, a correspondência entre entradas da tabela e coalizões e o valor esperado para a coalizão vazia. Use um exemplo pequeno com parcelas calculadas independentemente. Isso permite ao assistente revisar tanto as premissas de representação quanto a aritmética.
O exemplo matemático define uma política real de pagamentos?
Não. Ele ilustra a revisão do código do projeto. O significado das entradas e a decisão de usar qualquer regra de alocação pertencem aos requisitos da aplicação; uma parcela calculada, por si só, não justifica uma decisão operacional ou financeira.
Como devo revisar a saída arredondada?
Mantenha os casos de teste de cálculo exato separados dos de exibição. Indique as regras desejadas de arredondamento e apresentação e examine onde são aplicadas. Um relatório arredondado não deve ser confundido com os valores exatos retornados pelo cálculo subjacente.
O nome do domínio implica execução de testes na nuvem?
O produto documentado é um ambiente de programação para Windows com conexões configuráveis a modelos. O domínio não comprova execução de testes na nuvem. Execute as verificações no ambiente escolhido para o projeto e traga os resultados relevantes para a revisão.
CoalitionAster · Atualizado 2026-10-25