Valori exacte de coaliție Shapley
Calculează cote Shapley exacte pentru cel mult opt jucători din valori întregi ale coalițiilor cu modul până la 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| Proiect | Testează jocuri aditive și zero jucători, respingând coaliția vidă nenulă sau o lungime care nu este putere a lui doi. |
|---|---|
| Verifică înainte de aplicare | Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări. |
| Modele | Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat. |
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 resultFă verificabile ipotezele din spatele unei cote calculate
CoalitionAster oferă lucrului la aplicații matematice un spațiu de programare Windows pentru examinarea sursei și discuții asistate de IA. Începe cu sensul tabelului de intrare și rezultatul raportat de software. Un calcul poate fi coerent intern, dar poate răspunde altei întrebări decât cea prezentată de interfață; stabilește deci acel sens înainte de a solicita modificări ale implementării.
Exemplul valorii Shapley oferă o sarcină concretă de proiect: verificarea cotelor fracționare exacte derivate din valorile coalițiilor. Adu un tabel mic și explică asocierea participanților cu intrările. Cere asistentului să examineze aceste ipoteze împreună cu calculul, fără a trata rezultatul matematic ilustrativ drept recomandare financiară sau politică operațională de alocare.
Verifică modificările propuse folosind exemple calculate independent, inclusiv reprezentarea coaliției vide. Rulează testele proiectului și examinează cum ajung fracțiile exacte în stratul de raportare. Dacă interfața rotunjește valorile, analizează separat acest lucru, astfel încât o decizie de formatare să nu pară că modifică alocarea de bază sau să ascundă ipotezele care au produs-o.
Poți folosi un model IA nefiltrat oferit printr-un endpoint compatibil OpenAI sau Anthropic acceptat. Furnizează acreditări când sunt necesare și verifică instrumentele și capacitatea contextului. Serviciul selectat determină comportamentul și restricțiile modelului; CoalitionAster ancorează programarea în fișiere de proiect și rezultate pe care le poți examina personal.
Clarifică calculul înainte de a-i modifica codul
Ce trebuie să explice un caz de test cu valori ale coalițiilor?
Identifică participanții, corespondența intrărilor tabelului cu coalițiile și valoarea așteptată pentru coaliția vidă. Folosește un exemplu mic cu cote calculate independent. Astfel, asistentul poate analiza atât ipotezele de reprezentare, cât și aritmetica.
Exemplul matematic definește o politică reală de plată?
Nu. Este o ilustrare pentru revizuirea codului proiectului. Sensul intrărilor și decizia de a folosi orice regulă de alocare țin de cerințele aplicației; o cotă calculată nu justifică singură o decizie operațională sau financiară.
Cum verific ieșirea rotunjită?
Separă cazurile de test ale calculului exact de cele ale afișării. Precizează regulile dorite pentru rotunjire și prezentare, apoi examinează unde sunt aplicate. Un raport rotunjit nu trebuie confundat cu valorile exacte returnate de calculul de bază.
Numele domeniului înseamnă că este inclusă executarea testelor în cloud?
Produsul documentat este un spațiu de programare Windows cu conexiuni configurabile la modele. Domeniul nu stabilește existența executării testelor în cloud. Rulează verificările în mediul ales pentru proiect și adu rezultatele relevante înapoi la analiză.
CoalitionAster · Actualizat 2026-10-25