Точні значення Шеплі для коаліцій
Обчисліть точні частки Шеплі для щонайбільше восьми гравців за цілими значеннями коаліцій із модулями до 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| Проєкт | Перевірте адитивні ігри та нуль гравців, відхиляючи ненульову порожню коаліцію й довжину таблиці, що не є степенем двійки. |
|---|---|
| Перевірте перед застосуванням | Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами. |
| Моделі | Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані. |
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Зробіть припущення за обчисленою часткою доступними для перевірки
CoalitionAster надає робоче середовище програмування для Windows для аналізу коду математичних застосунків та обговорення за допомогою ШІ. Почніть зі значення вхідної таблиці й результату, який повідомляє програма. Обчислення може бути внутрішньо узгодженим, але відповідати на інше запитання, ніж те, яке подає інтерфейс, тож установіть це значення до запиту змін реалізації.
Приклад значення Шеплі дає конкретне завдання проєкту: перевірку точних дробових часток, отриманих зі значень коаліцій. Надайте невелику таблицю й поясніть відповідність учасників записам. Попросіть помічника дослідити ці припущення разом з обчисленням, не трактуючи ілюстративний математичний результат як фінансову рекомендацію чи практичну політику розподілу.
Перевірте запропоновані зміни на незалежно опрацьованих прикладах, зокрема подання порожньої коаліції. Запустіть тести проєкту й дослідіть, як точні дроби потрапляють до рівня звітності. Якщо інтерфейс округлює значення, перевірте це окремо, щоб рішення щодо форматування не виглядало зміною самого розподілу й не приховувало вихідних припущень.
Можна використовувати модель ШІ без фільтрів, запропоновану через підтримувану кінцеву точку, сумісну з OpenAI, або Anthropic. Надайте облікові дані за потреби та перевірте інструменти й місткість контексту. Вибраний сервіс визначає поведінку та обмеження моделі; CoalitionAster пов’язує роботу над кодом із файлами проєкту й результатами, які можна перевірити самостійно.
Уточніть обчислення, перш ніж змінювати його код
Що має пояснювати тестовий приклад значень коаліцій?
Визначте учасників, відповідність записів таблиці коаліціям і очікуване значення порожньої коаліції. Використайте невеликий приклад із незалежно обчисленими частками. Це дозволить помічнику перевірити припущення подання разом з арифметикою.
Чи визначає математичний приклад реальну політику виплат?
Ні. Це ілюстрація для перевірки коду проєкту. Значення вхідних даних і рішення застосувати певне правило розподілу належать до вимог програми; сама обчислена частка не обґрунтовує практичного або фінансового рішення.
Як перевіряти округлені результати?
Відокремлюйте тестові приклади точних обчислень від прикладів відображення. Укажіть бажані правила округлення й подання, а потім перевірте, де вони застосовуються. Округлений звіт не слід плутати з точними значеннями базового обчислення.
Чи включено хмарне виконання тестів з огляду на доменне ім’я?
Задокументований продукт — робоче середовище програмування для Windows із налаштовуваними підключеннями моделей. Домен не підтверджує хмарного виконання тестів. Запускайте перевірки в обраному середовищі проєкту й повертайте відповідні результати до обговорення.
CoalitionAster · Оновлено 2026-10-25