CCoalitionAster
ขั้นตอนการทำงาน

ขั้นตอนการเขียนโค้ด · ค่าแชปลีย์ของพันธมิตรแบบแม่นตรง

03
ผลิตภัณฑ์

ขั้นตอนการทำงาน

คำนวณส่วนแบ่งแชปลีย์ที่แน่นอนสำหรับผู้เล่นไม่เกินแปดคนจากค่าพันธมิตรจำนวนเต็มขนาดไม่เกิน 1000000. ทดสอบเกมแบบบวกและไม่มีผู้เล่น ปฏิเสธค่าพันธมิตรว่างที่ไม่ใช่ศูนย์หรือความยาวตารางที่ไม่ใช่กำลังของสอง.

01

ดาวน์โหลดแอป

เลือกโฟลเดอร์และให้ผู้ช่วยอ่านไฟล์ที่เกี่ยวข้องก่อนแก้ไข ระบุเป้าหมายและขอบเขตของงานให้ชัดเจน

02

เปิดโฟลเดอร์โปรเจกต์

เลือก endpoint ที่เข้ากันได้ เครื่องมือที่ใช้ได้และคุณภาพคำตอบขึ้นอยู่กับโมเดลและเซิร์ฟเวอร์ที่ตั้งค่า

03

เชื่อมต่อและทดสอบโมเดล

ตรวจสอบการแก้ไขและผลลัพธ์คำสั่ง รันการตรวจสอบของโปรเจกต์ก่อนยอมรับผล โค้ดที่สร้างขึ้นไม่ได้ผ่านการทดสอบโดยอัตโนมัติ

04

ตรวจสอบการแก้ไขและรันการทดสอบ

เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม

ค่าแชปลีย์ของพันธมิตรแบบแม่นตรง

ขั้นตอนการทำงาน
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

ตรวจสอบก่อนนำไปใช้. ตรวจสอบการแก้ไขและผลลัพธ์คำสั่ง รันการตรวจสอบของโปรเจกต์ก่อนยอมรับผล โค้ดที่สร้างขึ้นไม่ได้ผ่านการทดสอบโดยอัตโนมัติ

พื้นที่เขียนโค้ดด้วย AI

ไอเดียถัดไปเริ่มต้นที่นี่

ดาวน์โหลดสำหรับ Windows ↗