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| 프로젝트 | 가법 게임과 참가자 0명을 검사하고 빈 연합의 0이 아닌 값이나 2의 거듭제곱이 아닌 표 길이를 거부합니다. |
|---|---|
| 적용하기 전에 검토하세요 | 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요. |
| 모델 | 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다. |
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는 수학을 사용하는 애플리케이션 작업에 소스 검토와 AI 지원 논의를 위한 Windows 코딩 작업 공간을 제공합니다. 입력 표의 의미와 소프트웨어가 보고하는 결과부터 살펴보세요. 계산이 내부적으로 일관되어도 인터페이스가 제시하는 질문과는 다른 질문에 답할 수 있으므로 구현 변경을 요청하기 전에 의미를 확립하세요.
Shapley 값 예제는 연합 가치에서 도출한 정확한 분수 몫을 확인하는 구체적인 프로젝트 작업을 제공합니다. 작은 표를 가져오고 참여자가 항목에 어떻게 대응하는지 설명하세요. 예시의 수학적 결과를 재정적 권고나 운영상의 배분 정책으로 취급하지 말고 도우미에게 계산과 함께 해당 가정을 검토하도록 요청하세요.
빈 연합의 표현 방식을 포함해 독립적으로 계산한 예제와 제안된 수정을 대조하세요. 프로젝트 테스트를 실행하고 정확한 분수가 보고 계층에 전달되는 방식을 살펴보세요. 인터페이스가 값을 반올림한다면 별도로 검토하여 형식 결정이 기본 배분을 바꾼 것처럼 보이거나 배분을 도출한 가정을 가리지 않도록 하세요.
지원되는 OpenAI 호환 또는 Anthropic 엔드포인트에서 제공하는 필터 없는 AI 모델을 사용할 수 있습니다. 필요하면 인증 정보를 제공하고 도구와 컨텍스트 용량을 확인하세요. 선택한 서비스가 모델 동작과 제한을 결정합니다. CoalitionAster에서는 직접 검토할 수 있는 프로젝트 파일과 결과를 바탕으로 코딩 작업을 진행합니다.
코드를 바꾸기 전에 계산을 명확히 하세요
연합 가치 테스트 사례는 무엇을 설명해야 하나요?
참여자, 표 항목과 연합의 대응 관계, 빈 연합의 예상 값을 밝히세요. 몫을 독립적으로 계산한 작은 예제를 사용하세요. 그러면 도우미가 산술뿐 아니라 표현의 가정도 검토할 수 있습니다.
수학 예제가 실제 지급 정책을 정의하나요?
아니요. 프로젝트 코드를 검토하기 위한 예시입니다. 입력의 의미와 배분 규칙 사용 결정은 애플리케이션 요구 사항에 달려 있습니다. 계산된 몫만으로 운영 또는 재정적 결정을 정당화할 수는 없습니다.
반올림된 출력은 어떻게 검토해야 하나요?
정확한 계산 테스트 사례와 표시 테스트 사례를 분리하세요. 원하는 반올림 및 표현 규칙을 명시하고 적용 위치를 살펴보세요. 반올림한 보고서를 기본 계산이 반환한 정확한 값으로 오해해서는 안 됩니다.
도메인 이름 때문에 클라우드 테스트 실행도 포함되나요?
문서에 설명된 제품은 모델 연결을 설정할 수 있는 Windows 코딩 작업 공간입니다. 도메인만으로 클라우드 테스트 실행이 제공된다고 볼 수 없습니다. 프로젝트에서 선택한 환경에서 검사를 실행하고 관련 결과를 검토에 가져오세요.
CoalitionAster · 업데이트 2026-10-25