Точные значения Шепли для коалиций
CoalitionAster помогает обсуждать кооперативные игры в процессе работы с кодом. Откройте папку проекта, разберите изменение ценности коалиции при добавлении игрока и проверьте точные дробные доли по независимым порядкам. Это математические примеры, а не рекомендации по выплатам.
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| Проект | Проверьте аддитивные игры и ноль игроков, отклоняя ненулевую пустую коалицию и длину таблицы, не являющуюся степенью двойки. |
|---|---|
| Проверьте перед применением | Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями. |
| Подключение | Базовый URL, учётные данные и доступный сервер. |
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