우선이 질문을 어디에 게시 해야할지 잘 모르겠습니다. 통계 문제가 NP-Complete인지 프로그래밍 방식으로 해결하지 않는지 묻습니다. 통계 문제가 중심이기 때문에 여기에 게시하고 있습니다.
문제를 해결하기위한 더 나은 공식을 찾으려고합니다. 문제는 만약 내가 4d6 (4 보통 6면 주사위)을 가지고 그들을 한꺼번에 굴리면 가장 낮은 숫자의 주사위를 제거하고 (“떨림”이라고 함) 나머지 3을 합하면 각각의 가능한 결과의 확률은 얼마입니까? ? 나는 대답이 이것이라는 것을 안다.
Sum (Frequency): Probability
3 (1): 0.0007716049
4 (4): 0.0030864198
5 (10): 0.0077160494
6 (21): 0.0162037037
7 (38): 0.0293209877
8 (62): 0.0478395062
9 (91): 0.0702160494
10 (122): 0.0941358025
11 (148): 0.1141975309
12 (167): 0.1288580247
13 (172): 0.1327160494
14 (160): 0.1234567901
15 (131): 0.1010802469
16 (94): 0.0725308642
17 (54): 0.0416666667
18 (21): 0.0162037037
평균은 12.24이고 표준 편차는 2.847입니다.
나는 무차별 대항으로 위의 답변을 찾았으며 그에 대한 공식이 있는지 여부를 모르겠습니다. 나는이 문제가 NP-Complete이라고 생각하므로 무차별 한 힘으로 만 해결할 수있다. 3d6 (3 보통 6면 주사위)의 모든 확률을 얻은 다음 각각을 위로 기울일 수 있습니다. 모든 주사위를 보관할 때 빠른 공식을 가지기 때문에 이것은 무차별보다 빠릅니다.
나는 모든 주사위를 대학에 유지하기 위해 공식을 프로그래밍했습니다. 나는 통계 교수에게 그것에 대해 물었고 그는 이 페이지 를 발견 하고 나에게 설명했다. 이 공식과 무차별 대입 성능에는 큰 차이가 있습니다. 50d6은 20 초가 걸렸지 만 8d6은 40 초 후에 가장 낮은 충돌이 발생했습니다 (크롬에 메모리 부족).
이 문제가 NP-Complete입니까? 만약 그렇다면, 증거를 제시하고, 그렇지 않다면 그것을 해결하기 위해 무브 러트 포스 공식을 제공하십시오.
NP-Complete에 대해 잘 모르므로 NP, NP-Hard 또는 다른 것을 생각할 수 있습니다. NP-Completeness에 대한 증거는 내가 그것을 요구하는 유일한 이유는 사람들이 추측하지 못하도록하는 것입니다. 그리고 내가 일한 지 오랜 시간이 지났으므로 나와 함께 맨손으로하십시오 : 나는 통계를 기억하지 못하고 이것을 해결해야 할 수도 있습니다.
이상적으로는 N이 떨어질 때 Y면이있는 X 개의 주사위 수에 대한보다 일반적인 공식을 찾고 있지만 훨씬 더 간단한 것으로 시작하고 있습니다.
편집하다:
또한 주파수를 출력하는 공식을 선호하지만 확률 만 출력하는 것이 허용됩니다.
관심있는 사람들을 위해 GitHub 에서 JavaScript로 whuber의 답변을 프로그래밍했습니다 (이 커밋에서는 실제로 정의 된 함수 만 테스트 사용).