Valeurs de coalition de Shapley exactes
Calculez les parts de Shapley exactes de huit joueurs au plus à partir de valeurs entières de coalitions bornées à 1000000 en valeur absolue.
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| Projet | Testez les jeux additifs et zéro joueur, refusez une coalition vide non nulle ou une longueur non puissance de deux. |
|---|---|
| Vérifiez avant d’appliquer | Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications. |
| Modèles | Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément. |
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 resultRendez vérifiables les hypothèses derrière une part calculée
CoalitionAster offre aux applications mathématiques un espace de programmation sous Windows pour examiner le code source et échanger avec une IA. Commencez par le sens de la table d’entrée et du résultat annoncé par votre logiciel. Un calcul peut être cohérent en lui-même tout en répondant à une autre question que celle présentée par son interface : établissez donc ce sens avant de demander des modifications de l’implémentation.
L’exemple de valeur de Shapley fournit une tâche concrète : vérifier les parts fractionnaires exactes obtenues à partir des valeurs de coalitions. Fournissez une petite table et expliquez comment les participants correspondent aux entrées. Demandez à l’assistant d’examiner ces hypothèses avec le calcul, sans considérer le résultat mathématique illustratif comme une recommandation financière ou une politique opérationnelle de répartition.
Évaluez les modifications proposées sur des exemples calculés indépendamment, notamment la représentation d’une coalition vide. Exécutez les tests de votre projet et examinez comment les fractions exactes parviennent à la couche de restitution. Si l’interface arrondit les valeurs, examinez cela séparément afin qu’une décision de mise en forme ne semble pas modifier la répartition sous-jacente ni masquer les hypothèses qui l’ont produite.
Vous pouvez utiliser un modèle d’IA sans filtre proposé par un point de terminaison compatible OpenAI ou Anthropic pris en charge. Fournissez les identifiants si nécessaire et vérifiez les outils et la capacité de contexte. Le service choisi détermine le comportement et les restrictions du modèle ; CoalitionAster ancre le travail de programmation dans les fichiers du projet et des résultats que vous pouvez examiner vous-même.
Précisez le calcul avant de modifier son code
Que doit expliquer un jeu de test de valeurs de coalitions ?
Identifiez les participants, la correspondance entre les entrées de la table et les coalitions, ainsi que la valeur attendue de la coalition vide. Utilisez un petit exemple dont les parts ont été calculées indépendamment. L’assistant peut ainsi examiner les hypothèses de représentation aussi bien que l’arithmétique.
L’exemple mathématique définit-il une véritable politique de versement ?
Non. Il illustre la révision du code d’un projet. Le sens des entrées et la décision d’utiliser une règle de répartition relèvent des exigences de votre application ; une part calculée ne justifie pas à elle seule une décision opérationnelle ou financière.
Comment examiner une sortie arrondie ?
Séparez les jeux de test du calcul exact de ceux de l’affichage. Précisez les règles d’arrondi et de présentation souhaitées, puis examinez où elles sont appliquées. Un rapport arrondi ne doit pas être confondu avec les valeurs exactes renvoyées par le calcul sous-jacent.
Le nom de domaine implique-t-il une exécution des tests dans le cloud ?
Le produit documenté est un espace de programmation sous Windows avec des connexions configurables aux modèles. Le domaine n’établit pas l’existence d’une exécution des tests dans le cloud. Exécutez les vérifications dans l’environnement choisi pour votre projet et rapportez les résultats pertinents pour examen.
CoalitionAster · Mis à jour 2026-10-25