4d6 드롭 최저를 사용할 때 플레이어 간의 최대 예상 차이

특정 TRPG의 플레이어는 6 개의 능력 점수를 가진 캐릭터가 있으며 각 능력 점수는 3-18입니다. 이를 생성하는 한 가지 방법은 각 점수에 대해 4d6 드롭을 가장 낮게 굴리는 것입니다. 즉, 6면 주사위 4 개가 굴려지고 가장 높은 결과 3 개가 추가됩니다.

5 명의 플레이어 중 2 명의 능력 점수 합계에서 예상되는 가장 높은 차이는 무엇입니까?

여기 에있는 관련 질문은 4d3 분포를 가장 낮게 낮추는 방법을 보여줍니다.하지만 거기서 내 질문에 대한 답을 얻으려면 어떻게해야합니까?

좋은 답변은 통계 초보자가 따를 수있는 방식으로 결과를 설명합니다.

답변

$ \ newcommand {\ E} {\ mathbb {E}} $ (나는 여러분이 “확률 분포와 기대치를 조작하는 데 익숙하지만 너무 화려하지는 않다고 가정하여이 글을 쓰고 있습니다. 더 설명해야 할 것이 있으면 알려주세요. 나는 또한이 작업을 수작업으로하는 것보다 답을 얻기 위해 상당히 계산적인 방법으로 수행하고 있습니다.)

우리는 각각 한 문자를 롤업하는 $ n = 5 $ 플레이어가 있다고 가정합니다. 6 개의 능력 점수, 각각 $ X_ {ij} $로 표시됩니다. $ Y_i = \ sum_ {j = 1} ^ 6 X_ {ij} $를 $ i $ th 플레이어의 능력 점수의 합으로 정의합니다. 그러면 $ Z = \ max_ {i의 기대치에 대해 질문합니다. , i “} \ lvert Y_i-Y_ {i”} \ rvert = Y _ {(n)}-Y _ {(1)} $, $ Y _ {(1)} $가 $에서 첫 번째로 정렬 된 값이라는 표기법 사용 \ {Y_1, \ dots, Y_n \} $ (즉, 최소값), $ Y _ {(n)} $는 $ n $ th (최대 값)입니다.

개별 점수 $ X_ {ij } $

연결 한 답변에서와 같이 $ X_ {ij} $의 분포를 찾는 가장 쉬운 방법은 가능한 모든 $ 6 ^ 4 = 1296 $ 롤을 고려하여 무차별 대입하는 것입니다. 다음은 간단한 Python 코드입니다 (이 작업을 수행하는 더 좋은 방법이있을 수 있습니다 …).

import numpy as np import matplotlib.pyplot as plt def as_kth_of(a, k, n): """vector a => shape (1, ..., 1, a.size, 1, ..., 1) where new shape is length n, a.size is in kth""" return a[(np.newaxis,) * k + (slice(None),) + (np.newaxis,) * (n - k - 1)] def pmf_drop_lowest(sides, number): rolls = np.arange(1, sides + 1) totals = sum(as_kth_of(rolls, k, number) for k in xrange(number)) mins = np.ones_like(totals) * 10000 for k in xrange(number): mins = np.minimum(mins, as_kth_of(rolls, k, number)) return np.bincount((totals - mins).ravel()) / totals.size score_pmf = pmf_drop_lowest(6, 4) plt.bar(np.arange(score_pmf.size) - .5, score_pmf) 

총 능력 점수 $ Y_i $

이제 능력 점수 합계의 분포를 찾을 수 있습니다. $ Y_i = X_ {i1} + X_ {i2} + \ dots + X_ {i6} $.

두 개의 독립된 이산 확률 변수 $ A + B $의 합의 분포는 얼마입니까? 음, $ \ Pr (A + B = c) = \ sum_ {k =-\ infty} ^ \ infty \ Pr (A = k) \ Pr (B = k-c) $.이 연산은 convolution , 운 좋게도 numpy는 우리를위한 기능을 가지고 있습니다. (링크 된 Wikipedia 기사에는 확률에 대한 정보가 많지 않습니다. 이를 시도해 볼 수 있습니다. Grinstead and Snell 장 .)

코드 :

total_pmf = 1 for _ in xrange(6): total_pmf = np.convolve(total_pmf, score_pmf) plt.bar(np.arange(total_pmf.size) - .5, total_pmf) 

$ Y $의 최고 값과 최저값

이제 $ Y_i $의 분포를 알았으므로 질문은 다음과 같습니다. $ Y $? 또는 가장 높은 $ Y $와 가장 낮은 $ Y $의 차이점은 무엇입니까?

우리가 관심을 갖는 변수를 $ Z = Y _ {(n)}-Y _ {(1)} $로 쓰면 그 $ \ EZ = \ E Y _ {(n)}-\ E Y _ {(1)} $, 기대 값은 선형이기 때문입니다. 이것은 내가 원래 두 가지의 공동 분포를 계산할 때이 답변을 작성했던 작업을 절약합니다. 🙂

먼저, 누적 분포 함수 (cdf) $ \ Pr (Y \ le y) = \ sum_ {k = 0} ^ y \ Pr (Y = k) $를 정의하겠습니다. 그러면 $ Y _ {(n)} $의 cdf는 $$ \ begin {align *} \ Pr (Y _ {(n)} \ le y) & = \ Pr입니다. \ left (Y_1 \ le y \ text {및} Y_2 \ le y \ text {및} \ dots \ text {및} Y_n \ le y \ right) \\ & = \ prod_ {i = 1} ^ n \ Pr \ left (Y_i \ le y \ right) \\ & = \ Pr (Y \ le y) ^ n \ end {align *} $$는 $ Y_i $가 독립적이므로 $ Y _ {(n)} $는 음이 아닌 정수 값을 취하므로 기대치를 다음과 같이 계산할 수 있습니다. $$ \ begin {align *} \ E Y _ {(n)} & = \ sum_ {y = 1} ^ \ infty \ Pr (Y _ {(n)} \ ge y) = \ sum_ {y “= 0} ^ \ infty \ Pr (Y _ {(n)} > y”) \\ & = \ sum_ {y “= 0} ^ \ infty \ left (1-\ Pr (Y _ {(n)} \ le y”) \ right) = \ sum_ {y “= 0} ^ \ infty \ left (1-\ Pr (Y \ le y “) ^ n \ right). \ end {align *} $$ 코드 :

n_players = 5 total_cdf = np.cumsum(total_pmf) exp_max = np.sum(1 - total_cdf ** n_players) 

exp_max 약 81 .5.

유사하게 최소값 : $$ \ begin {align *} \ Pr \ left (Y _ {(1)} \ le y \ right) & = 1-\ Pr \ left (Y _ {(1)} > y \ right) \\ & = 1- \ Pr \ left (Y_1 > y \ text {및} \ dots \ text {및} Y_n > y \ right) \\ & = 1-\ Pr \ left (Y_i > y \ right) ^ n \\ & = 1-\ left (1-\ Pr \ left (Y \ le y \ right) \ right) ^ {n} \ end {align *} $$ 및 예상 값 : $$ \ E Y _ {( 1)} = \ sum_ {y = 0} ^ \ infty \ Pr (Y _ {(1)} > y) = \ sum_ {y = 0} ^ \ infty \ left (1-\ Pr \ left (Y \ le y \ right) \ right) ^ n $$

코드 :

exp_min = np.sum((1 - total_cdf) ** n_players) 

exp_min 약 65.3.

가장 운이 좋은 플레이어와 가장 운이 좋지 않은 플레이어 사이의 최종 예상 차이는 총 16.2 능력 점수입니다. (그것이 상당히 많습니다!)


그런데 $ Y _ {(1)} $와 $ Y _ {(n)}의 공동 분포를 계산했다고 언급했습니다. $ (as $ \ Pr (Y_ {n} = y “) \ Pr (Y _ {(1)} = y \ mid Y _ {(n)} = y”) $). 5 명의 플레이어에 대해 $ Y _ {(n)}-Y _ {(1)} $의 분포는 다음과 같습니다.

댓글

  • 합계보다는 총 포인트 구매 점수를 기준으로 능력 집합의 품질을 평가하는 것이 더 나을 수 있습니다. 그에 대한 성가신 점은 ' 7 점 미만의 점수는 포인트 구매하지 않으므로 ' 항상 잘 정의 된 것은 아닙니다 ….

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다