주사위 롤의 예상 개수는 K보다 크거나 같은 합계를 요구합니까?


9

6면 다이는 반복적으로 굴립니다. 합을 K 이상으로 만드는 데 필요한 예상 롤 수는 얼마입니까?

편집하기 전에

P(Sum>=1 in exactly 1 roll)=1
P(Sum>=2 in exactly 1 roll)=5/6
P(Sum>=2 in exactly 2 rolls)=1/6
P(Sum>=3 in exactly 1 roll)=5/6
P(Sum>=3 in exactly 2 rolls)=2/6
P(Sum>=3 in exactly 3 rolls)=1/36
P(Sum>=4 in exactly 1 roll)=3/6
P(Sum>=4 in exactly 2 rolls)=3/6
P(Sum>=4 in exactly 3 rolls)=2/36
P(Sum>=4 in exactly 4 rolls)=1/216

편집 후

P(Sum>=1 in atleast 1 roll)=1
P(Sum>=2 in atleast 1 roll)=5/6
P(Sum>=2 in atleast 2 rolls)=1
P(Sum>=3 in atleast 1 roll)=4/6
P(Sum>=3 in atleast 2 rolls)=35/36
P(Sum>=3 in atleast 3 rolls)=1
P(Sum>=4 in atleast 1 roll)=3/6
P(Sum>=4 in atleast 2 rolls)=33/36
P(Sum>=4 in atleast 3 rolls)=212/216
P(Sum>=4 in atleast 4 rolls)=1

이것이 올바른지 확실하지 않지만이 확률이 예상 롤 수와 관련이 있다고 생각합니까?

그러나 더 진행하는 방법을 모르겠습니다. 올바른 방향으로 진행하고 있습니까?


당신은 어떻게 얻었나요 P(S2 in 2 rolls)?
Glen_b-복지 주 모니카

@Glen_b 첫 번째 롤에서 1 인 2보다 작은 숫자를 가져와야합니다. 따라서 1을 얻을 확률은 1/6이고 두 번째 롤은 임의의 숫자 일 수 있습니다. 첫 번째 롤에서 2보다 크거나 같은 숫자를 얻으면 두 번째 롤로 가지 않습니다.
일반적인 용의자

1
아, 무슨 일인지 알 겠어 "P (S \ geq 2 in 2 rolls)"로 설명하지 않습니다. 이 표현은 롤 수가 고정되어 있음을 의미합니다. 당신이 원하는 것은 "P (정확히 구하려면 두 롤이 필요합니다.S2) "또는"P (적어도 2 롤 ​​필요 S2) ".
Glen_b-복지국 모니카

@Glen_b 그래 그 혼란. P (S2를 얻는 데 정확히 2 롤이 필요합니다) 나는 추측합니다. 내가 궁극적으로 계산하고 싶은 것은 K보다 큰 합에 도달하는 예상 롤 수입니까?
일반적인 용의자

@Glen_b 적어도이 목적으로 사용해야합니까? 그리고 10000과 같은 더 큰 합계에 대한 예상 롤 수를 계산하는 방법은 무엇입니까?
일반적인 용의자

답변:


2

이것은 지금까지 나의 첫 번째 대답과 동일한 관찰을 바탕으로 다른 더 정확한 접근법에 대한 몇 가지 아이디어입니다. 시간이지나면서 나는 이것을 확장 할 것이다 ...

먼저, 약간의 표기법. 허락하다K양수 (대) 정수를 지정할 수 있습니다. 우리는 분포를 원한다N, 이것은 최소한 총합을 얻기 위해 보통 주사위의 최소 던지기 횟수입니다 K. 먼저 우리는Xi 주사위 던지기의 결과로 i, X(n)=X1++Xn. 우리가 분포를 찾을 수 있다면X(n) 모든 n 우리는 분포를 찾을 수 있습니다 N 사용하여

P(Nn)=P(X1++XnK),
그리고 우리는 끝났습니다.

이제 가능한 값 X1++Xn 아르 n,n+1,n+2,,6n, 그리고 k 그 범위에서 확률을 찾기 위해 P(X1++Xn=k)작성하는 총 방법 수를 찾아야합니다. k 정확히 합으로 n 모든 범위의 정수 1,2,,6. 그러나이를 제한 정수 구성이라고하며, 조합론에서 잘 연구 된 문제입니다. 수학 SE에 관한 몇 가지 관련 질문은 https://math.stackexchange.com/search?q=integer+compositions에 있습니다.

따라서 조합 문학을 검색하고 연구하면 조용하고 정확한 결과를 얻을 수 있습니다. 나는 그에 대해 후속 조치를 취할 것이지만 나중에 ...


2

차수 -6 다항식의 근본 측면에서 간단한 닫힌 수식이 있습니다.

실제로 일반적인 공정 다이를 고려하는 것이 조금 더 쉽습니다. d2 숫자로 표시된 얼굴 1,2,,d.

허락하다 ek 같거나 초과하는 데 필요한 예상 롤 수 k. 에 대한 k0, ek=0. 그렇지 않으면 기대치가 롤의 수가 바로 앞의 값에 도달 할 것으로 예상하는 것보다 하나 이상입니다. kd,kd+1,,k1, 어떻게

(1)ek=1+1d(ekd+ekd+1++ek1).

선형 재귀 관계 는 다음과 같은 형식의 솔루션을 갖습니다.

(2)ek=2kd+1+i=1daiλik

어디 λi 입니다 d 다항식의 복잡한 뿌리

(3)Td1d(Td1+Td2++T+1).

상수 ai 솔루션을 적용하여 찾을 수 있습니다 (2) 가치에 k=(d1),(d2),,1,0 어디 ek=0모든 경우에. 이것은 일련의d 의 선형 방정식 d상수 및 고유 한 솔루션이 있습니다. 재발을 확인하여 솔루션이 작동하는지 확인할 수 있습니다.(1) 모든 뿌리가 만족한다는 사실을 사용하여 (3):

1+1dj=1dekj=1+1dj=1d(2(kj)d+1+i=1daiλikj)=2kd+1+i=1daiλikd[1d(1+λi++λid1)]=2kd+1+i=1daiλikdλid=2kd+1+i=1daiλik=ek.

이 폐쇄 형 솔루션은 답변을 대략적으로 평가하고 정확하게 평가할 수있는 좋은 방법을 제공합니다. (작고 적당한 값의 경우k, 재발을 직접 적용하는 것은 효과적인 계산 기술입니다.) 예를 들어 d=6 우리는 쉽게 계산할 수 있습니다

e1000000=285714.761905

근사치의 경우 가장 큰 고유 루트가 있습니다. λ+=1 결국 (충분히 큰 k) 용어 λ+k 지배 할 것이다 d 용어 (2).뿌리의 두 번째로 작은 규범에 따라 오류가 기하 급수적으로 감소 합니다 . 와 함께 예제를 계속k=6, 계수 λ+ 이다 a+=0.4761905 그리고 가장 작은 표준은 0.7302500. (우연히, 다른 ai 에 매우 가까운 경향이 1 따라서 우리는 이전 값을 다음과 같이 근사 할 수 있습니다.

e10000002×1066+1+0.4761905=285714.761905

순서대로 오류가 0.730250010610314368.


이 솔루션의 실용성을 보여주기 R위해 평가할 함수를 반환하는 코드 는 다음과 같습니다.ek 어떠한 것도 k (배정 밀도 부동 소수점 계산 범위 내) 및 지나치게 크지 않음 d (한 번 끊어 질 것이다 d100) :

die <- function(d, mult=1, cnst=1, start=rep(0,d)) {
  # Create the companion matrix (its eigenvalues are the lambdas).
  X <- matrix(c(0,1,rep(0,d-1)),d,d+1)
  X[, d] <- mult/d
  lambda <- eigen(X[, 1:d], symmetric=FALSE, only.values=TRUE)$values

  # Find the coefficients that agree with the starting values.
  u <- 2*cnst/(d+1)
  a <- solve(t(outer(lambda, 1:d, `^`)), start - u*((1-d):0))

  # This function assumes the starting values are all real numbers.
  f <- Vectorize(function(i) Re(sum(a * lambda ^ (i+d))) + u*i)

  list(f=f, lambda=lambda, a=a, multiplier=mult, offset=cnst)
}

사용 예로서 여기에 대한 기대치를 계산합니다. k=1,2,,16:

round(die(6)$f(1:10), 3)

1.000 1.167 1.361 1.588 1.853 2.161 2.522 2.775 3.043 3.324 3.613 3.906 4.197 4.476 4.760 5.046

그것이 반환하는 객체는 뿌리를 포함합니다 λi 그리고 그들의 승수 ai추가 분석을 위해. 승수 배열의 첫 번째 성분은 유용한 계수입니다a+.

(다른 매개 변수가 무엇인지 궁금한 경우 die실행 die(2, 2, 0, c(1,0))$f(1:10)하고 출력을 인식하는지 확인하십시오 ;-). 이 일반화는 기능 개발 및 테스트에 도움이되었습니다.)


+1. 이 함수 die는 나에게 오류를 준다 : object 'phi' not found.
COOLSerdash

1
@COOL 감사합니다. 텍스트와 일치 phi하도록 변수 이름의 마지막 순간 변경 (에서 ~까지 a)이 범인이었습니다. 나는 그것을 고쳤다.
whuber

1

일반적으로 정확한 예상 롤 수를 얻을 수있는 방법은 없지만 K입니다.

sum => K를 얻기 위해 N이 예상되는 롤링 이벤트가되게하십시오.

K = 1 인 경우 E (N) = 1

K = 2 인 경우 E(N)=(56+21)/(56+1)=1711

등등.

예를 들어 K = 20 인 경우 (4 롤, 20 롤)에서 예상해야합니다.

Central Limit Theorem은 일부 % 신뢰로 더 유리할 것입니다. 우리는 K의 큰 값에 대해 발생이 균일하게 분포되어 있음을 알고 있습니다.

K(Sum) follows N(3.5N,35N12)
(정규 분포)

이제 최소한 K를 얻으려면 "N"이 필요합니다. 표준 정규 분포로 변환합니다.

K3.5N35N12=Zα
어디 α=1confidence% 당신은 "표준 정규 테이블"에서 Z 값을 가져 오거나 수 있습니다 여기에서 예를 들면,Z0.01=2.31,Z0.001=2.98

K, Z (임의의 오류가 있음) .......을 알고 있다면 방정식을 풀면 어느 정도 신뢰도에서 N = E (N)을 얻을 수 있습니다.


2
이러한 확률을 어떻게 계산 했습니까? E (N) 방정식에 어떻게 도달 했습니까?
일반적인 용의자

@UsualSuspect P (Sum> = 2 in 1 roll) = 5 / 6 (알다시피) P (Sum> = 2 in 2 rolls) = 1 (2 롤링에서 최소 2를 구해야하기 때문에) 및 E (N ) ......... 그냥 예상 된 의미
Hemant Rupani

미안하지만 언급하지 못했습니다. 적어도 2 롤입니다. 나는 지금 E (N) 방정식을 이해했습니다.
일반적인 용의자

@UsualSuspect 아! 그런데 특정 K에 대해 E (N)이 필요한 경우 만들 수 있습니다. :)
Hemant Rupani

k = 20 및 k = 10000이 필요합니다. 당신이 똑바로 대답하는 것보다 나에게 설명하면 더 좋습니다.
일반적인 용의자

0

대략적인 해결책을 찾는 한 가지 방법을 알려 드리겠습니다. 먼저Xi 무작위 변수, "투구 결과 i 주사위로 " N 최소한 합계에 도달하는 데 필요한 던지기 수 k. 그럼 우리는

P(Nn)=P(X1+X2++Xnk)
그래서 분포를 찾기 위해 N 우리는 분포의 회선을 찾아야합니다. Xi ...에 대한 i=1,2,,n, 모든 n. 이러한 회선은 수치 적으로 찾을 수 있지만n그것은 많은 작업이 될 수 있으므로 대신 새들 포인트 방법을 사용하여 회선에 대한 누적 분포 함수를 근사하려고합니다. 새들 포인트 방법의 다른 예 는 감마 랜덤 변수의 총합에 대한 나의 답변을 참조하십시오

개별 사례에 대해 Lugannini-Rice 근사값을 사용하고 R 버틀러 : "애플리케이션이있는 안장 근사치", 18 페이지 (두 번째 연속성 수정)를 따릅니다. 먼저, 순간 생성 기능이 필요합니다.Xi입니다.

M(T)=EetXi=16(et+e2t+e3t+e4t+e5t+e6t)
그런 다음의 합에 대한 누적 생성 함수 n 독립 주사위가
Kn(t)=nlog(16i=16eit)
그리고 우리는 또한 처음 몇 가지 파생 상품이 필요합니다 K그러나 R을 사용하여 상징적으로 찾을 수 있습니다. 코드는 다음과 같습니다.

 DD <- function(expr, name, order = 1) {
        if(order < 1) stop("'order' must be >= 1")
        if(order == 1) D(expr, name)
        else DD(D(expr, name), name, order - 1)
     }

make_cumgenfun  <-  function() {
    fun0  <-  function(n, t) n*log(mean(exp((1:6)*t)))
    fun1  <-  function(n, t) {}
    fun2  <-  function(n, t) {}
    fun3  <-  function(n, t) {}
    d1  <-  DD(expression(n*log((1/6)*(exp(t)+exp(2*t)+exp(3*t)+exp(4*t)+exp(5*t)+exp(6*t)))),  "t", 1)
    d2  <-  DD(expression(n*log((1/6)*(exp(t)+exp(2*t)+exp(3*t)+exp(4*t)+exp(5*t)+exp(6*t)))),  "t", 2)
    d3  <-  DD(expression(n*log((1/6)*(exp(t)+exp(2*t)+exp(3*t)+exp(4*t)+exp(5*t)+exp(6*t)))),  "t", 3)
    body(fun1)  <-  d1
    body(fun2)  <-  d2
    body(fun3)  <-  d3
    return(list(fun0,  fun1,  fun2,  fun3))
}

다음으로 새들 포인트 방정식을 풀어야합니다.

이는 다음 코드에 의해 수행됩니다.

funlist  <-  make_cumgenfun()

# To solve the saddlepoint equation for n,  k:
solve_speq  <-   function(n, k)  {# note that n+1 <= k <= 6n is needed
    Kd  <-  function(t) funlist[[2]](n, t)
    k  <-  k-0.5
    uniroot(function(s) Kd(s)-k,  lower=-100,  upper=1,  extendInt="upX")$root
}

위의 코드는 매우 강력하지는 않습니다. k배포판의 어느 쪽 끝에서도 작동하지 않습니다. 그런 다음 버틀러 다음의 Luganini-Rice 근사법으로 꼬리 확률 함수를 실제로 계산하는 코드가 있습니다 (18 페이지) (두 번째 연속성 수정).

꼬리 확률을 반환하는 함수 :

#

Ghelp  <-  function(n, k) {
    stilde  <-  solve_speq(n, k)
    K  <-  function(t) funlist[[1]](n, t)
    Kd <-  function(t) funlist[[2]](n, t)
    Kdd <- function(t) funlist[[3]](n, t)
    Kddd <- function(t) funlist[[4]](n, t)
    w2tilde  <-  sign(stilde)*sqrt(2*(stilde*(k-0.5)-K(stilde)))  
    u2tilde  <-  2*sinh(stilde/2)*sqrt(Kdd(stilde))
    mu  <-  Kd(0)
    result  <- if (abs(mu-(k-0.5)) <= 0.001) 0.5-Kddd(0)/(6*sqrt(2*pi)*Kdd(0)^(3/2))  else
    1-pnorm(w2tilde)-dnorm(w2tilde)*(1/w2tilde - 1/u2tilde)
    return(result)
}
G  <- function(n, k) {
      fun  <- function(k) Ghelp(n, k)
      Vectorize(fun)(k)
  }

그런 다음이를 사용하여 공식을 기반으로 분포 표를 계산해 보겠습니다.

P(Nn)=P(X1+X2++Xnk)=1P(X1++Xnk+1)=1G(n,k+1)
어디 G 위의 R 코드에서 함수입니다.

자, 원래 질문에 답하겠습니다. K=20. 그런 다음 최소 롤 수는 4이고 최대 롤 수는 20입니다. 20 롤이 필요할 확률은 매우 작으며 이항 공식에서 정확하게 계산할 수 있으므로 독자에게 맡깁니다. (위의 근사값은 작동하지 않습니다.n=20).

따라서 확률은 N19 근사치

> 1-G(20, 21)
[1] 2.220446e-16

그 확률 N10 근사치 :

> 1-G(10, 21)
[1] 0.002880649

등등. 이 모든 것을 사용하면 기대에 대한 근사치를 직접 얻을 수 있습니다. 이것은 중앙 한계 정리를 기반으로 한 근사치보다 훨씬 낫습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.