Die erwartete Anzahl von Würfeln erfordert eine Summe größer oder gleich K?


9

Ein 6-seitiger Würfel wird iterativ gewürfelt. Was ist die erwartete Anzahl von Rollen, die erforderlich sind, um eine Summe größer oder gleich K zu machen?

Vor dem Bearbeiten

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

Nach dem Bearbeiten

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

Ich bin mir zunächst nicht sicher, ob dies richtig ist, aber ich denke, diese Wahrscheinlichkeit hängt mit der erwarteten Anzahl von Rollen zusammen.

Aber ich weiß nicht, wie ich weiter vorgehen soll. Gehe ich in die richtige Richtung?


Wie haben Sie ? P(S2 in 2 rolls)
Glen_b -State Monica

@Glen_b Sie müssen im ersten Wurf eine Zahl kleiner als 2 erhalten, also 1. Die Wahrscheinlichkeit, 1 zu erhalten, beträgt also 1/6, und der zweite Wurf kann eine beliebige Zahl sein. Wenn Sie in der ersten Rolle eine Zahl größer oder gleich 2 erhalten, werden Sie keine zweite Rolle spielen.
Üblicher Verdächtiger

1
Ah, ich sehe, was los ist. Sie beschreiben das nicht als "P (S \ geq 2 in 2 Rollen)"; Dieser Ausdruck impliziert, dass die Anzahl der Rollen festgelegt ist. Was Sie wollen, ist entweder "P (genau 2 Rollen erforderlich, um )" oder "P (mindestens 2 Rollen erforderlich, umS2 )". S2
Glen_b -Rate State Monica

@Glen_b Ja das ist die Verwirrung. P (genau 2 Rollen erforderlich, um S> 2 zu erhalten), denke ich. Alles, was ich letztendlich berechnen möchte, ist die erwartete Anzahl von Rollen, um eine Summe größer als K zu erreichen?
Üblicher Verdächtiger

@Glen_b soll ich mindestens oder genau für diesen Zweck verwenden? Und wie berechnet man die erwartete Anzahl von Rollen für eine größere Summe wie 10000?
Üblicher Verdächtiger

Antworten:


2

Dies sind bislang nur einige Ideen für einen anderen, genaueren Ansatz, der auf derselben Beobachtung basiert wie meine erste Antwort. Mit der Zeit werde ich dies verlängern ...

Zunächst eine Notation. Sei eine gegebene positive (große) ganze Zahl. Wir wollen, dass die Verteilung von N , die die Mindestanzahl von Würfen eines gewöhnlichen Würfels ist, mindestens K ergibt . Also definieren wir zuerst X i als das Ergebnis des Würfelwurfs i und X ( n ) = X 1 + + X n . Wenn wir die Verteilung von X ( n ) für alle n finden können, können wir die Verteilung von N unter Verwendung von P ( N ≥) findenKNKXiiX(n)=X1++XnX(n)nN und wir sind fertig.

P(Nn)=P(X1++XnK),

Nun wird die möglichen Werte für ist n , n + 1 , n + 2 , ... , 6 n , und für k in diesem Bereich zu finden , die Wahrscheinlichkeit P ( X 1 + + X n = k ) müssen wir die Gesamtzahl der Möglichkeiten finden, k als Summe von genau n ganzen Zahlen zu schreiben , alle im Bereich 1 , 2 , X1++Xnn,n+1,n+2,,6nkP(X1++Xn=k)kn . Dies wird jedoch als eingeschränkte Ganzzahlzusammensetzung bezeichnet, ein in der Kombinatorik gut untersuchtes Problem. Einige verwandte Fragen zu math SE finden Sie unter https://math.stackexchange.com/search?q=integer+compositions1,2,,6

Wenn wir also diese kombinatorische Literatur durchsuchen und studieren, können wir ziemlich genaue Ergebnisse erzielen. Ich werde das weiterverfolgen, aber später ...


2

Es gibt eine einfache geschlossene Formel in Bezug auf die Wurzeln eines Polynoms vom Grad 6.

Es ist tatsächlich etwas einfacher, einen allgemeinen fairen Würfel mit d2 Flächen zu betrachten, die mit den Nummern 1,2,,d.

Sei ek die erwartete Anzahl von Rollen, die benötigt werden, um k. zu erreichen oder zu überschreiten . Für k0, ek=0. Andernfalls ist die Erwartung eins größer als die Erwartung, dass die Anzahl der Rollen den unmittelbar vorhergehenden Wert erreicht, der zwischen kd,kd+1,,k1, von wo aus

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

Diese lineare Wiederholungsbeziehung hat eine Lösung in der Form

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

wobei λi die d komplexen Wurzeln des Polynoms sind

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

Die Konstanten ai werden durch Anwenden der Lösung (2) auf die Werte k=(d1),(d2),,1,0 wobei in jedem Fall ek=0 ist. Dies ergibt einen Satz von d linearen Gleichungen in den d Konstanten und es gibt eine einzigartige Lösung. Dass die Lösung funktioniert, kann durch Überprüfung der Wiederholung nachgewiesen werden (1)unter Verwendung der Tatsache, dass jede Wurzel erfüllt (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

λ+=1kλ+kd(2).k=6,λ+a+=0.47619050.7302500.ai1

e10000002×1066+1+0.4761905=285714.761905

0.730250010610314368.


Rekkdd100

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

λiaia+.

(Wenn Sie neugierig sind, wozu die anderen Parameter diedienen, führen Sie sie aus die(2, 2, 0, c(1,0))$f(1:10)und prüfen Sie, ob Sie die Ausgabe erkennen ;-). Diese Verallgemeinerung half beim Entwickeln und Testen der Funktion.)


+1. Die Funktion diegibt einen Fehler für mich : object 'phi' not found.
COOLSerdash

1
@COOL Danke fürs überprüfen. Eine kurzfristige Änderung des Variablennamens (von phibis a) entsprechend dem Text war der Schuldige. Ich habe es behoben (und überprüft).
whuber

1

Es gibt keine Möglichkeit, die genaue erwartete Anzahl von Rollen im Allgemeinen zu erhalten, außer für einen K.

Sei N das Ereignis des erwarteten Rollens, um die Summe => K zu erhalten.

für K = 1 ist E (N) = 1

E(N)=(56+21)/(56+1)=1711

und so weiter.

Es wird schwierig sein, E (N) für großes K zu erhalten. Für K = 20 müssen Sie beispielsweise mit (4 Rollen, 20 Rollen) rechnen.

K(Sum) follows N(3.5N,35N12)

K3.5N35N12=Zα
α=1confidenceZ0.01=2.31,Z0.001=2.98

Sie kennen K, Z (bei jedem Fehler) ........ dann können Sie N = E (N) mit einem gewissen Konfidenz% erhalten, indem Sie die Gleichung lösen.


2
Wie haben Sie diese Wahrscheinlichkeiten berechnet? Wie sind Sie zu dieser E (N) -Gleichung gekommen?
Üblicher Verdächtiger

@UsualSuspect P (Summe> = 2 in 1 Rolle) = 5/6 (Sie wissen) P (Summe> = 2 in 2 Rollen) = 1 (weil Sie mindestens 2 aus 2 Rollen erhalten müssen) und für E (N. ) ......... es ist nur ein erwarteter Mittelwert
Hemant Rupani

Entschuldigung, ich erwähne es nicht. Es ist nicht mindestens, genau 2 Rollen. Ich habe jetzt die E (N) -Gleichung verstanden.
Üblicher Verdächtiger

@ UsualSuspect ohh! Übrigens, wenn du E (N) für ein bestimmtes K brauchst, dann kann ich es schaffen :).
Hemant Rupani

Ich brauche für k = 20 und k = 10000. Es ist besser, wenn Sie mich erklären, als direkt Antworten zu geben.
Üblicher Verdächtiger

0

XiiNk

P(Nn)=P(X1+X2++Xnk)
NXii=1,2,,nnn

Xi

M(T)=EetXi=16(et+e2t+e3t+e4t+e5t+e6t)
n
Kn(t)=nlog(16i=16eit)
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))
}

Als nächstes müssen wir die Sattelpunktgleichung lösen.

Dies geschieht mit folgendem Code:

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

Funktion zur Rückgabe der Schwanzwahrscheinlichkeit:

#

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

Versuchen wir dann, daraus eine Tabelle der Verteilung zu berechnen, die auf der Formel basiert.

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

K=20n=20

N19

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

N10

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

Und so weiter. Mit all dem können Sie selbst eine Annäherung an die Erwartung erhalten. Dies sollte viel besser sein als die auf dem zentralen Grenzwertsatz basierenden Näherungen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.