CCoalitionAster
Продукт

Возможности программы · Точные значения Шепли для коалиций

01

CoalitionAster помогает обсуждать таблицы коалиций и предельные вклады, проверяя точные доли по перестановкам игроков.

01

Подключение

Базовый URL, учётные данные и доступный сервер.

02

Выбор

Модель, которую предоставляет настроенный endpoint.

03

Возможности

Объём контекста и поддержка инструментов определяются моделью и сервером.

Точные значения Шепли для коалиций

● ● ●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
✳Вычислите точные доли Шепли для не более восьми игроков по целочисленным значениям коалиций с модулями до 1000000.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗