Valori di coalizione Shapley esatti
Calcola quote Shapley esatte per al massimo otto giocatori da valori interi di coalizione con valore assoluto fino a 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| Progetto | Prova giochi additivi e zero giocatori, rifiutando coalizione vuota non nulla o lunghezze non potenze di due. |
|---|---|
| Controlla prima di applicare | Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche. |
| Modelli | Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente. |
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 resultRendi verificabili le ipotesi alla base di una quota calcolata
CoalitionAster offre alle attività sulle applicazioni matematiche un ambiente di programmazione Windows per esaminare il codice e discuterne con l'assistenza dell'IA. Parti dal significato della tabella di input e dal risultato riportato dal software. Un calcolo può essere internamente coerente ma rispondere a una domanda diversa da quella presentata dall'interfaccia: stabilisci quindi quel significato prima di richiedere modifiche all'implementazione.
L'esempio del valore di Shapley fornisce un'attività concreta per il progetto: verificare quote frazionarie esatte ricavate dai valori delle coalizioni. Fornisci una piccola tabella e spiega come i partecipanti corrispondono alle voci. Chiedi all'assistente di esaminare queste ipotesi insieme al calcolo, senza considerare il risultato matematico illustrativo una raccomandazione finanziaria o una politica operativa di ripartizione.
Valuta le modifiche proposte rispetto a esempi risolti indipendentemente, compreso il modo in cui viene rappresentata una coalizione vuota. Esegui i test del progetto ed esamina come le frazioni esatte arrivano al livello di reportistica. Se l'interfaccia arrotonda i valori, esamina separatamente questo aspetto affinché una scelta di formattazione non sembri alterare la ripartizione sottostante né nasconda le ipotesi che l'hanno prodotta.
Puoi usare un modello IA senza filtri offerto tramite un endpoint supportato compatibile con OpenAI o Anthropic. Fornisci le credenziali quando richieste e verifica gli strumenti e la capacità di contesto. Il servizio selezionato determina comportamento e restrizioni del modello; CoalitionAster mantiene il lavoro sul codice ancorato ai file del progetto e a risultati che puoi esaminare personalmente.
Chiarisci il calcolo prima di modificarne il codice
Cosa deve spiegare un caso di prova sui valori delle coalizioni?
Identifica i partecipanti, la corrispondenza tra le voci della tabella e le coalizioni e il valore atteso per la coalizione vuota. Usa un piccolo esempio con quote calcolate indipendentemente. Questo permette all'assistente di esaminare sia le ipotesi sulla rappresentazione sia l'aritmetica.
L'esempio matematico definisce una politica reale di pagamento?
No. È un esempio per esaminare il codice del progetto. Il significato degli input e la decisione di usare una regola di ripartizione rientrano nei requisiti dell'applicazione; una quota calcolata da sola non giustifica una decisione operativa o finanziaria.
Come dovrei esaminare l'output arrotondato?
Tieni separati i casi di prova del calcolo esatto da quelli della visualizzazione. Indica le regole desiderate per arrotondamento e presentazione, quindi esamina dove vengono applicate. Un rapporto arrotondato non deve essere scambiato per i valori esatti restituiti dal calcolo sottostante.
Il nome del dominio implica che sia inclusa l'esecuzione di test nel cloud?
Il prodotto documentato è un ambiente di programmazione Windows con connessioni ai modelli configurabili. Il dominio non attesta l'esecuzione di test nel cloud. Esegui i controlli nell'ambiente scelto per il progetto e riporta i risultati pertinenti nella revisione.
CoalitionAster · Aggiornato 2026-10-25