CCoalitionAster
Quy trình

Quy trình lập trình · Giá trị Shapley liên minh chính xác

03
Sản phẩm

Quy trình

Tính phần Shapley chính xác cho tối đa tám người chơi từ bảng giá trị liên minh nguyên có trị tuyệt đối không quá 1000000. Thử trò chơi cộng tính và không người chơi, từ chối liên minh rỗng khác không hoặc độ dài bảng không là lũy thừa của hai.

01

Tải ứng dụng

Chọn thư mục và yêu cầu trợ lý đọc các tệp liên quan trước khi chỉnh sửa. Xác định mục tiêu và giới hạn của tác vụ.

02

Mở thư mục dự án

Chọn endpoint tương thích. Công cụ khả dụng và chất lượng phản hồi phụ thuộc vào mô hình và máy chủ đã cấu hình.

03

Kết nối và kiểm tra mô hình

Xem lại thay đổi và đầu ra lệnh. Chạy kiểm tra dự án trước khi chấp nhận kết quả; mã được tạo không mặc nhiên đã qua kiểm thử.

04

Xem thay đổi và chạy kiểm thử

So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.

Giá trị Shapley liên minh chính xác

Quy trình
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

Kiểm tra trước khi áp dụng. Xem lại thay đổi và đầu ra lệnh. Chạy kiểm tra dự án trước khi chấp nhận kết quả; mã được tạo không mặc nhiên đã qua kiểm thử.

Không gian lập trình với AI

Ý tưởng tiếp theo bắt đầu từ đây.

Tải cho Windows ↗