Beklenen sayıda zar rulosunun toplamı K?


9

6 taraflı bir kalıp tekrarlı olarak yuvarlanır. K değerine eşit veya daha büyük bir toplam yapmak için gereken rulo sayısı kaçtır?

Düzenlemeden Önce

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

Düzenlemeden Sonra

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

Öncelikle bunun doğru olduğundan emin değilim ama bu olasılığın beklenen rulo sayısına bağlı olduğunu düşünüyorum.

Ama nasıl ilerleyeceğimi bilmiyorum. Doğru yönde ilerliyor muyum?


nasıl aldınız ? P(S2 2 rulo halinde)
Glen_b

@Glen_b İlk ruloda 1'den 2'den az bir sayı almalısınız. Dolayısıyla 1 kazanma olasılığı 1/6 ve ikinci rulo herhangi bir sayı olabilir. ilk ruloda 2'ye eşit veya daha büyük bir sayı alırsanız, ikinci bir rulo için gitmezsiniz.
Olağan Şüpheli

1
Ah, neler olduğunu anlıyorum. Bunu "P (2 ruloda S \ geq 2)" olarak tanımlamazsınız; bu ifade rulo sayısının sabit olduğunu gösterir. İstediğiniz şey "P ( almak için tam olarak 2 rulo gerekir )" veya "P ( almak için en az 2 rulo gerekir )" şeklindedir. S2S2
Glen_b

@Glen_b Evet bu karışıklık. P (S> 2 elde etmek için tam olarak 2 rulo gerekir) sanırım. Sonuçta hesaplamak istiyorum tüm K daha büyük bir toplam ulaşmak için rulo sayısı bekleniyor?
Olağan Şüpheli

@ Glen_b en az mı yoksa tam olarak bu amaçla mı kullanmalıyım? Ve 10000 gibi daha büyük toplam için beklenen rulo sayısını nasıl hesaplayabilirim?
Olağan Şüpheli

Yanıtlar:


2

Bu, şimdiye kadar benim ilk cevabımla aynı gözlemi temel alan başka, daha kesin bir yaklaşım için sadece bazı fikirler. Zamanla bunu genişleteceğim ...

İlk olarak, bazı gösterimler. Let bazı verilmiş, pozitif (büyük) tam sayı olması. Sıradan bir zarın minimum atış sayısı olan dağılımının en az elde etmesini istiyoruz . Bu nedenle, önce zar atma sonucu olarak tanımlarız ve . Biz dağılımını bulabilirse tüm o zaman dağılımını bulabilirsiniz kullanarak ve biz yapılır.KN-KXbenbenX(n)=X1++XnX(n)nN-

P(N-n)=P(X1++XnK),

Şimdi, için olası değerler olan ve için bu aralıktaki, olasılık bulmak için , biz , aralığındaki tam olarak tamsayıların toplamı olarak yazmanın toplam yol sayısını bulmalıdır . Ancak buna kısıtlı tamsayı kompozisyonu denir, kombinatorikte iyi incelenmiş bir problemdir. Matematik SE ile ilgili bazı sorular https://math.stackexchange.com/search?q=integer+compositions tarafından bulunur. X1++Xnn,n+1,n+2,...,6nkP(X1++Xn=k)kn1,2,...,6

Böylece kombinatorik literatürünü araştırıp inceleyerek sessiz kesin sonuçlar elde edebiliriz. Bunu takip edeceğim, ama daha sonra ...


2

Derece 6 polinomunun kökleri açısından basit bir kapalı formül vardır.

Aslında sayıları ile etiketlenmiş yüzü olan genel bir adil ölçeği düşünmek biraz daha kolaydırd21,2,,d.

Let eşit veya aşmak için gerekli rulo beklenen sayı İçin Aksi takdirde beklenti arasında olacağını hemen önceki değerini ulaşmak için daha fazla rulo sayısına beklentisine birden olan neredenekk.k0, ek=0.kd,kd+1,,k1,

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

Bu doğrusal tekrarlama ilişkisinin bir çözümü vardır.

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

burada olan polinom kompleks kökleriλid

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

Sabitleri çözeltisinin uygulanmasıyla bulunan döndürmek için burada her durumda. Bu , sabitlerinde bir dizi lineer denklem verir ve benzersiz bir çözümü vardır. Çözümün işe yaradığını, her kökün tatmin ettiği gerçeğini kullanarak nüksü doğrulayarak gösterilebilirai(2)k=(d1),(d2),,1,0ek=0dd(1)(3):

1+1dj=1dekj=1+1dj=1d(2(kj)d+1+i=1dbirbenλbenk-j)=2kd+1+Σben=1dbirbenλbenk-d[1d(1+λben++λbend-1)]=2kd+1+Σben=1dbirbenλbenk-dλbend=2kd+1+Σben=1dbirbenλbenk=ek.

Bu kapalı form çözümü bize yanıtı doğru bir şekilde değerlendirmenin yanı sıra doğru bir şekilde değerlendirmek için iyi yollar sunar. (Küçük ila mütevazı değerleri için , nüksün doğrudan uygulanması etkili bir hesaplama tekniğidir.) Örneğin, ile kolayca hesaplayabilirizk,d=6

e1000000=285714.761905...

Yaklaşımlar için benzersiz bir en büyük kök bu nedenle sonunda (yeterince büyük ) terimi, deki terimlerine hükmedecektirHata , köklerin ikinci en küçük normuna göre katlanarak azalacaktır . İle örnek devam katsayısı olan ve sonraki en küçük norm (Bu arada, diğer boyutu çok yakın olma eğilimindedir .) Bu nedenle önceki değere yaklaşık olarakλ+=1kλ+kd(2).k=6,λ+bir+=0.47619050,7302500.birben1

e10000002x1066+1+0.4761905=285714.761905...

sırasına göre bir hata ile0.730250010610-314368.


Bu çözümün ne kadar pratik olduğunu göstermek için, burada herhangi bir (çift duyarlıklı kayan nokta hesaplamaları kapsamında) değerlendirmek ve aşırı büyük değil ( kezR bir fonksiyon döndüren kod :ekkdd»100

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)
}

Kullanımının bir örneği olarak, burada için beklentileri hesaplark=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

Bu döner nesne Köklerin içerir ve çarpanları daha fazla analiz için. Çarpan dizisinin ilk bileşeni yararlı katsayı dırλbenbirbenbir+.

(Diğer parametrelerin ne için olduğunu merak ediyorsanız die, yürütün die(2, 2, 0, c(1,0))$f(1:10)ve çıkışı ;-) tanıyıp tanımadığınızı görün. Bu genelleme, fonksiyonun geliştirilmesine ve test edilmesine yardımcı oldu.)


+1. Fonksiyon diebenim için bir hata veriyor: object 'phi' not found.
COOLSerdash

1
@COOL Kontrol ettiğiniz için teşekkürler. (Değişken adının bir son dakika değişikliği phiiçin ametni eşleşecek) suçlu oldu. Sabitledim (ve kontrol ettim).
whuber

1

genel olarak beklenen tam sayıda rulo almanın bir yolu yoktur, ancak K için.

N = = K almak için beklenen yuvarlanma olayı olsun.

K = 1 için E (N) = 1

K = 2 için,E(N-)=(56+2*1)/(56+1)=1711

ve bunun gibi.

Büyük K için E (N) elde etmek zor olacak, örneğin K = 20 için beklemeniz gerekecek (4 rulo, 20 rulo)

Merkezi Limit Teoremi% güven ile daha faydalı olacaktır. biliyoruz ki, oluşum eşit olarak dağılmıştır, büyük değerleri için (Normal Dağılım)

K(Sum) fÖllÖws N-(3.5N-,35N-12)

Şimdi en az K almak için "N" ye ihtiyacınız var .... biz standart normal dağılım dönüştürmek. burada % Z değerlerini "Standart Normal Tablolar" dan veya buradan buradan alabilirsiniz .

K-3.5N-35N-12=Zα
α=1-cÖnfbendenceZ0.01=2.31,Z0.001=2.98

K, Z'yi biliyorsunuz (herhangi bir hatayla) ........ sonra denklemi çözerek N = E (N) 'yi bir miktar% güvende alabilirsiniz.


2
Bu olasılıkları nasıl hesapladınız? Bu E (N) denklemine nasıl geldiniz?
Olağan Şüpheli

@UsualSuspect P (Toplam> = 1 ruloda 2) = 5/6 (biliyorsunuz) P (Toplam> = 2 ruloda 2) = 1 (çünkü 2 rulodan en az 2 toplamalısınız) ve E (N) ) ......... bu sadece beklenen bir ortalama
Hemant Rupani

Üzgünüm, bahsetmiyorum. Onun en az değil, tam olarak 2 rulo. Şimdi E (N) denklemini anladım.
Olağan Şüpheli

@UsualSuspect ohh! Bu arada herhangi bir K için E (N) gerekiyorsa, o zaman yapabilirim :).
Hemant Rupani

k = 20 ve k = 10000'e ihtiyacım var. Düzgün cevap vermek yerine beni açıklarsan daha iyi olur.
Olağan Şüpheli

0

Yaklaşık bir çözüm bulmak için bir yöntem vereceğim. İlk olarak, rastgele değişken olsun, " zar ile atmak sonucu " ve en az toplamına ulaşmak için gerekli atma sayısı . Sonra bu yüzden dağılımını bulmak için için dağılımlarının kıvrımlarını bulmamız gerekiyor , herkes için . Bu kıvrımlar sayısal olarak bulunabilir, ancak büyükXbenbenN-k

P(N-n)=P(X1+X2++Xnk)
N-Xbenben=1,2,...,nnnçok fazla iş olabilir, bu yüzden bunun yerine sele noktası yöntemlerini kullanarak kıvrımlar için kümülatif dağılım işlevine yaklaşmaya çalışıyoruz. Saddlepoint yöntemlerine başka bir örnek için , Gamma rasgele değişkenlerinin genel toplamına cevabım bakın

Ayrık vaka için Lugannini-Rice yaklaşımını kullanacağız ve R Butler: "Uygulamalarla Saddlepoint Yaklaşımı", sayfa 18 (ikinci süreklilik düzeltmesi) yöntemini izleyeceğiz. İlk olarak, momenti üreten fonksiyonu gerekir olup, Ardından bağımsız zarın toplamı için kümülatif üretme fonksiyonu ve ayrıca ilk birkaç türevine ihtiyacımız var , ancak bunları R kullanarak sembolik olarak bulacağız. Kod aşağıdaki gibidir:Xben

M(T)=EetXben=16(et+e2t+e3t+e4t+e5t+e6t)
n
Kn(t)=nlÖg(16Σben=16ebent)
K

 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))
}

Sonra, eyer noktası denklemini çözmeliyiz.

Bu, aşağıdaki kodla yapılır:

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
}

Yukarıdaki kodun çok sağlam olmadığını unutmayın , dağıtımın her iki kuyruğundaki değerleri için çalışmaz. Ardından, kuyruk olasılık fonksiyonunun gerçekte hesaplanması için bazı kodlar, yaklaşık olarak, Luganini-Rice yaklaşımı ile, Butler'den sonra, sayfa 18 (ikinci süreklilik düzeltmesi):k

Kuyruk olasılığını döndürme fonksiyonu:

#

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)
  }

Ardından, formülü temelinde bir dağıtım tablosu hesaplamak için bunu kullanmaya çalışalım. burada , yukarıdaki R kodunun önündeki işlevdir.

P(N-n)=P(X1+X2++Xnk)=1-P(X1++Xnk+1)=1-G,(n,k+1)
G,

Şimdi orijinal soruyu ile cevaplayalım . Daha sonra minimum rulo sayısı 4 ve maksimum rulo sayısı 20'dir. 20 ruloya ihtiyaç duyma olasılığı çok azdır ve tam olarak binom formülünden hesaplanabilir, bunu okuyucuya bırakıyorum. (yukarıdaki yaklaşım için işe yaramaz ).K=20n=20

Yani olasılık N-19 tarafından yaklaşık

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

Olasılığı N-10 yaklaşık:

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

Ve bunun gibi. Tüm bunları kullanarak, beklentinin kendiniz için bir tahmin alabilirsiniz. Bu, merkezi limit teoremine dayanan yaklaşımlardan çok daha iyi olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.