Přesné Shapleyho koaliční hodnoty
Spočítej přesné Shapleyho podíly nejvýše osmi hráčů z celočíselných hodnot koalic s absolutní hodnotou do 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| Projekt | Otestuj aditivní hry a nula hráčů, odmítni nenulovou prázdnou koalici či délku tabulky, která není mocninou dvou. |
|---|---|
| Před použitím zkontrolujte | Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu. |
| Modely | Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně. |
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 resultUmožněte přezkoumat předpoklady vypočteného podílu
CoalitionAster poskytuje pro vývoj matematických aplikací programovací prostředí ve Windows k prozkoumání zdrojového kódu a diskusi s pomocí AI. Začněte významem vstupní tabulky a výsledku, který software uvádí. Výpočet může být vnitřně konzistentní, a přesto odpovídat na jinou otázku, než předkládá jeho rozhraní; proto tento význam stanovte před požadavkem na změny implementace.
Příklad Shapleyho hodnot nabízí konkrétní projektovou úlohu: kontrolu přesných zlomkových podílů odvozených z hodnot koalic. Dodejte malou tabulku a vysvětlete přiřazení účastníků k položkám. Požádejte asistenta, aby tyto předpoklady prozkoumal spolu s výpočtem, aniž by ilustrativní matematický výsledek považoval za finanční doporučení či provozní pravidlo rozdělování.
Navržené úpravy posuzujte podle nezávisle vypočtených příkladů včetně reprezentace prázdné koalice. Spusťte testy projektu a prozkoumejte, jak přesné zlomky přecházejí do vrstvy přehledů. Pokud rozhraní hodnoty zaokrouhluje, posuďte to zvlášť, aby formátování nepůsobilo jako změna základního rozdělení nebo nezakrývalo předpoklady, z nichž vzniklo.
Můžete použít nefiltrovaný model AI nabízený přes podporovaný koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic. Podle potřeby zadejte přihlašovací údaje a ověřte nástroje i kapacitu kontextu. Chování a omezení modelu určuje vybraná služba; CoalitionAster zakládá programovací práci na souborech projektu a výsledcích, které můžete sami prozkoumat.
Než změníte kód, vyjasněte výpočet
Co má objasnit testovací příklad hodnot koalic?
Určete účastníky, přiřazení položek tabulky ke koalicím a očekávanou hodnotu prázdné koalice. Použijte malý příklad s nezávisle vypočtenými podíly. Asistent tak může posoudit předpoklady reprezentace i aritmetiku.
Definuje matematický příklad skutečné pravidlo výplat?
Ne. Jde o ilustraci pro kontrolu projektového kódu. Význam vstupů a rozhodnutí použít určité pravidlo rozdělování patří do požadavků aplikace; samotný vypočtený podíl neodůvodňuje provozní ani finanční rozhodnutí.
Jak posuzovat zaokrouhlený výstup?
Oddělte testy přesného výpočtu od testů zobrazení. Určete požadovaná pravidla zaokrouhlování a prezentace a prozkoumejte, kde se uplatňují. Zaokrouhlený přehled se nemá zaměňovat za přesné hodnoty vracené základním výpočtem.
Znamená název domény, že je součástí spouštění testů v cloudu?
Doloženým produktem je programovací prostředí pro Windows s nastavitelnými připojeními k modelům. Doména nedokládá spouštění testů v cloudu. Kontroly spouštějte ve zvoleném prostředí projektu a relevantní výsledky přineste zpět k posouzení.
CoalitionAster · Aktualizováno 2026-10-25