Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Calcule parcelas Shapley exatas para até oito jogadores a partir de valores inteiros de coalizões com magnitude até 1000000. Teste jogos aditivos e zero jogadores, rejeitando coalizão vazia não nula ou comprimento que não seja potência de dois.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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 resultRevise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.