ค่าแชปลีย์ของพันธมิตรแบบแม่นตรง
คำนวณส่วนแบ่งแชปลีย์ที่แน่นอนสำหรับผู้เล่นไม่เกินแปดคนจากค่าพันธมิตรจำนวนเต็มขนาดไม่เกิน 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| โปรเจกต์ | ทดสอบเกมแบบบวกและไม่มีผู้เล่น ปฏิเสธค่าพันธมิตรว่างที่ไม่ใช่ศูนย์หรือความยาวตารางที่ไม่ใช่กำลังของสอง. |
|---|---|
| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย 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 สำหรับงานแอปคณิตศาสตร์ เพื่อตรวจซอร์สและหารือโดยมี AI ช่วย เริ่มจากความหมายของตารางข้อมูลเข้าและผลที่ซอฟต์แวร์รายงาน การคำนวณอาจสอดคล้องภายในแต่ตอบคนละคำถามกับที่หน้าจอนำเสนอ จึงควรกำหนดความหมายก่อนขอแก้การนำไปใช้
ตัวอย่างค่า Shapley ให้งานโครงการที่ชัดเจน คือการตรวจส่วนแบ่งเศษส่วนแบบแม่นตรงที่ได้จากค่าของกลุ่มร่วม นำตารางขนาดเล็กมาและอธิบายว่าผู้เข้าร่วมสัมพันธ์กับรายการอย่างไร ขอให้ผู้ช่วยตรวจสมมติฐานเหล่านี้ควบคู่กับการคำนวณ โดยไม่ถือผลคณิตศาสตร์ตัวอย่างเป็นคำแนะนำทางการเงินหรือนโยบายจัดสรรในการดำเนินงาน
ตรวจการแก้ไขที่เสนอกับตัวอย่างที่คำนวณอย่างอิสระ รวมวิธีแทนกลุ่มร่วมว่าง รันการทดสอบโครงการและตรวจว่าเศษส่วนแบบแม่นตรงส่งถึงชั้นรายงานอย่างไร หากหน้าจอปัดเศษ ให้ตรวจแยกต่างหากเพื่อไม่ให้การตัดสินใจด้านรูปแบบดูเหมือนเปลี่ยนการจัดสรรจริงหรือบดบังสมมติฐานที่ใช้
คุณอาจใช้โมเดล AI ไร้การกรองที่มีให้ผ่านปลายทางที่รองรับ OpenAI-compatible หรือ Anthropic ระบุข้อมูลรับรองเมื่อจำเป็นและตรวจเครื่องมือกับความจุบริบท บริการที่เลือกกำหนดพฤติกรรมและข้อจำกัดของโมเดล CoalitionAster ช่วยให้งานเขียนโค้ดยึดกับไฟล์โครงการและผลที่คุณตรวจเองได้
ทำความเข้าใจการคำนวณก่อนแก้โค้ด
กรณีทดสอบค่ากลุ่มร่วมควรอธิบายอะไร
ระบุผู้เข้าร่วม วิธีที่รายการตารางสัมพันธ์กับกลุ่มร่วม และค่าที่คาดหวังของกลุ่มร่วมว่าง ใช้ตัวอย่างเล็กที่คำนวณส่วนแบ่งอย่างอิสระ เพื่อให้ผู้ช่วยตรวจสมมติฐานการแทนข้อมูลและเลขคณิตได้
ตัวอย่างคณิตศาสตร์กำหนดนโยบายจ่ายเงินจริงหรือไม่
ไม่ ตัวอย่างนี้ใช้ประกอบการตรวจโค้ดโครงการ ความหมายข้อมูลเข้าและการเลือกใช้กฎจัดสรรขึ้นกับข้อกำหนดแอป ส่วนแบ่งที่คำนวณได้เพียงอย่างเดียวไม่ใช่เหตุผลรองรับการตัดสินใจเชิงปฏิบัติการหรือการเงิน
ควรตรวจผลที่ปัดเศษอย่างไร
แยกกรณีทดสอบการคำนวณแบบแม่นตรงจากกรณีแสดงผล ระบุกฎการปัดเศษและนำเสนอที่ต้องการ แล้วตรวจว่าถูกใช้ที่ใด ไม่ควรเข้าใจรายงานที่ปัดเศษว่าเป็นค่าที่แน่นอนจากการคำนวณเบื้องหลัง
ชื่อโดเมนหมายความว่ารวมการทดสอบบนคลาวด์หรือไม่
ผลิตภัณฑ์ที่ระบุเป็นพื้นที่เขียนโค้ดบน Windows พร้อมการเชื่อมต่อโมเดลที่ตั้งค่าได้ ชื่อโดเมนไม่ได้ยืนยันการรันทดสอบบนคลาวด์ รันการตรวจในสภาพแวดล้อมที่โครงการเลือกแล้วนำผลที่เกี่ยวข้องกลับมาตรวจร่วมกัน
CoalitionAster · อัปเดต 2026-10-25