จำนวนที่คาดหวังของการทอยลูกเต๋าต้องทำให้ผลรวมมากกว่าหรือเท่ากับ 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 -Reinstate Monica

@Glen_b คุณต้องได้ตัวเลขน้อยกว่า 2 ในม้วนแรกซึ่งก็คือ 1 ดังนั้นความน่าจะเป็นที่จะได้ 1 คือ 1/6 และม้วนที่สองอาจเป็นตัวเลขใดก็ได้ ถ้าคุณได้จำนวนมากกว่าหรือเท่ากับ 2 ในม้วนแรกคุณจะไม่หมุนอีกรอบ
ผู้ต้องสงสัยตามปกติ

1
อาฉันเห็นว่าเกิดอะไรขึ้น คุณไม่ได้อธิบายว่าเป็น "P (S \ geq 2 ใน 2 ม้วน)"; นิพจน์นั้นแสดงถึงจำนวนม้วนที่ได้รับการแก้ไข สิ่งที่คุณต้องการคือ "P (จำเป็นต้องมีม้วน 2 ม้วนเพื่อรับ )" หรือ "P (อย่างน้อย 2 ม้วนต้องใช้เพื่อรับ )" S2S2
Glen_b

@Glen_b ใช่นั่นคือความสับสน P (จำเป็นต้องม้วน 2 ม้วนเพื่อให้ได้ S> 2) ฉันเดา ทั้งหมดที่ฉันต้องการคำนวณในที่สุดคือจำนวนม้วนที่ต้องการเพื่อให้ได้ผลรวมมากกว่า K?
ผู้ต้องสงสัยตามปกติ

@Glen_b ฉันควรใช้ atleast หรือเพื่อจุดประสงค์นี้หรือไม่ และวิธีคำนวณจำนวนม้วนที่คาดไว้สำหรับผลรวมที่ใหญ่กว่าเช่น 10,000?
ผู้ต้องสงสัยตามปกติ

คำตอบ:


2

นี่เป็นเพียงความคิดบางอย่างสำหรับอีกแนวทางที่ถูกต้องมากขึ้นตามข้อสังเกตเดียวกับที่ฉันได้รับคำตอบแรก เมื่อเวลาผ่านไปฉันจะขยาย ...

ก่อนอื่นสัญกรณ์ ปล่อยKเป็นจำนวนเต็มบวก (ใหญ่) ที่ให้มา เราต้องการกระจายของNซึ่งเป็นจำนวนขั้นต่ำของการโยนลูกเต๋าธรรมดาเพื่อให้ได้ผลรวมอย่างน้อย K. ดังนั้นก่อนอื่นเรากำหนดXi เป็นผลมาจากการโยนลูกเต๋า ผมและ X(n)=X1++Xn. หากเราสามารถหาการกระจายของX(n) เพื่อทุกสิ่ง n จากนั้นเราสามารถหาการกระจายของ ยังไม่มีข้อความ โดยใช้

P(ยังไม่มีข้อความn)=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

ดังนั้นการค้นหาและศึกษาวรรณคดี combinatorics นั้นเราจะได้ผลลัพธ์ที่เงียบสงบ ฉันจะติดตามเรื่องนั้น แต่ต่อมา ...


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+Σผม=1daผมλผมk-d[1d(1+λผม++λผมd-1)]=2kd+1+Σผม=1daผมλผมk-dλผมd=2kd+1+Σผม=1daผมλผมk=อีk.

โซลูชันรูปแบบปิดนี้ช่วยให้เราสามารถประมาณคำตอบและประเมินได้อย่างถูกต้อง (สำหรับค่าขนาดเล็กถึงปานกลางk, การประยุกต์ใช้โดยตรงของการเกิดซ้ำเป็นเทคนิคการคำนวณที่มีประสิทธิภาพ) ตัวอย่างเช่นด้วย d=6 เราสามารถคำนวณได้อย่างง่ายดาย

อี1000000=285714.761905...

สำหรับการประมาณจะมีรากที่ใหญ่ที่สุดที่ไม่ซ้ำกัน λ+=1 ดังนั้นในที่สุด (สำหรับขนาดใหญ่พอสมควร k) คำ λ+k จะครอง d ข้อตกลงใน (2).ข้อผิดพลาดจะลดลงแบบเอกซ์โปเนนเชียลตามบรรทัดฐานที่เล็กที่สุดที่สองของราก ดำเนินการต่อตัวอย่างด้วยk=6, สัมประสิทธิ์ของ λ+ คือ a+=0.4761905 และบรรทัดฐานที่เล็กที่สุดถัดไปคือ 0.7302500 (บังเอิญอื่น ๆ aผม มักจะใกล้เคียงกับ 1 ขนาด) ดังนั้นเราอาจประมาณค่าก่อนหน้าเป็น

อี10000002×1066+1+0.4761905=285714.761905...

ด้วยข้อผิดพลาดในคำสั่งของ 0.730250010610-314368.


เพื่อแสดงให้เห็นว่าการแก้ปัญหานี้เป็นจริงได้อย่างไรนี่คือRโค้ดที่ส่งคืนฟังก์ชันเพื่อประเมินอีk สำหรับใด ๆ k (ภายในขอบเขตของการคำนวณจุดลอยตัวที่มีความแม่นยำสองเท่า) และไม่ใหญ่เกินไป d (มันจะชะงักลงครั้งเดียว d»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)
}

เป็นตัวอย่างของการใช้งานที่นี่มันคำนวณความคาดหวังสำหรับ 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

วัตถุที่ส่งคืนจะรวมถึงราก λผม และตัวคูณ aผมสำหรับการวิเคราะห์เพิ่มเติม องค์ประกอบแรกของอาร์เรย์ทวีคูณคือสัมประสิทธิ์ที่มีประโยชน์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

ไม่มีทางที่จะได้รับจำนวนม้วนที่แน่นอนโดยทั่วไป แต่สำหรับเค

ให้ N เป็นเหตุการณ์ที่คาดว่าจะได้รับผลรวม => K

สำหรับ K = 1, E (N) = 1

สำหรับ K = 2 E(ยังไม่มีข้อความ)=(56+2* * * *1)/(56+1)=1711

และอื่น ๆ

มันจะเป็นเรื่องยากที่จะได้ E (N) สำหรับ K ขนาดใหญ่เช่น K = 20 คุณจะต้องคาดหวังจาก (4 ม้วน 20 ม้วน)

ทฤษฎีขีด จำกัด กลางจะมีประโยชน์มากขึ้นด้วยความมั่นใจ% ในขณะที่เรารู้ว่าเหตุการณ์ที่เกิดขึ้นมีการกระจายอย่างสม่ำเสมอสำหรับค่าขนาดใหญ่ของเค

K(Sยูม.) โอล.ล.โอWs ยังไม่มีข้อความ(3.5ยังไม่มีข้อความ,35ยังไม่มีข้อความ12)
(การกระจายปกติ)

ตอนนี้คุณต้องการ "N" เพื่อให้ได้ผลรวมอย่างน้อย K .... เราแปลงเป็นการแจกแจงแบบปกติมาตรฐาน

K-3.5ยังไม่มีข้อความ35ยังไม่มีข้อความ12=Zα
ที่ไหน α=1-โอnผมdอีnอี% คุณจะได้รับค่า Z จาก "ตารางปกติมาตรฐาน" หรือจากที่นี่เช่นZ0.01=2.31,Z0.001=2.98

คุณจะรู้ว่า K, Z (ที่ผิดพลาดใด ๆ ) ........ จากนั้นคุณจะได้รับ N = E (N) ด้วยความมั่นใจ% โดยการแก้สมการ


2
คุณคำนวณความน่าจะเป็นเหล่านั้นอย่างไร คุณมาถึงสมการ E (N) ได้อย่างไร
ผู้ต้องสงสัยตามปกติ

@UsualSuspect P (ผลรวม> = 2 ใน 1 ม้วน) = 5/6 (คุณรู้) P (ผลรวม> = 2 ใน 2 ม้วน) = 1 (เพราะคุณต้องได้รับผลรวมอย่างน้อย 2 จาก 2 ม้วน) และสำหรับ E (N ) ......... เป็นเพียงค่าเฉลี่ยที่คาดหวัง
Hemant Rupani

ขอโทษที่ฉันพูดถึง มันไม่ได้เป็นอย่างน้อย 2 ม้วน ตอนนี้ฉันเข้าใจสมการ E (N) แล้ว
ผู้ต้องสงสัยตามปกติ

@UsualSuspect ohh! โดยวิธีถ้าคุณต้องการ E (N) สำหรับ K ใดโดยเฉพาะจากนั้นฉันสามารถทำให้มัน :)
Hemant Rupani

ฉันต้องการ k = 20 และ k = 10,000 มันจะดีกว่าถ้าคุณอธิบายฉันมากกว่าจะให้คำตอบแบบตรงๆ
ผู้ต้องสงสัยตามปกติ

0

ฉันจะให้หนึ่งวิธีในการค้นหาวิธีแก้ไขปัญหาโดยประมาณ ก่อนอื่นให้Xผม เป็นตัวแปรสุ่ม "ผลลัพธ์ของการโยน ผม กับลูกเต๋า "และปล่อยให้ ยังไม่มีข้อความ เป็นจำนวนของการโยนที่จำเป็นในการเข้าถึงผลรวมอย่างน้อย k. จากนั้นเราก็มีสิ่งนั้น

P(ยังไม่มีข้อความn)=P(X1+X2++Xnk)
ดังนั้นเพื่อค้นหาการกระจายตัวของ ยังไม่มีข้อความ เราจำเป็นต้องค้นหาความเชื่อมั่นของการแจกแจงของ Xผม สำหรับ ผม=1,2,...,n, เพื่อทุกสิ่ง n. การโน้มน้าวใจเหล่านั้นสามารถพบได้เป็นตัวเลข แต่มีขนาดใหญ่nมันอาจจะทำงานได้มากดังนั้นเราจึงลองประมาณฟังก์ชั่นการแจกแจงสะสมสำหรับการโน้มน้าวใจโดยใช้วิธีการอานม้า สำหรับตัวอย่างอื่นของวิธีการอานม้าดูคำตอบของฉันสำหรับผลรวมทั่วไปของตัวแปรสุ่มแกมมา

เราจะใช้การประมาณ Lugannini-Rice สำหรับกรณีที่ไม่ต่อเนื่องและติดตาม R Butler: "การประมาณ Saddlepoint ด้วยแอปพลิเคชัน", หน้า 18 (การแก้ไขความต่อเนื่องที่สอง) อันดับแรกเราต้องการฟังก์ชั่นสร้างช่วงเวลาของXผม, ซึ่งเป็น

M(T)=Eอีเสื้อXผม=16(อีเสื้อ+อี2เสื้อ+อี3เสื้อ+อี4เสื้อ+อี5เสื้อ+อี6เสื้อ)
จากนั้นฟังก์ชันสร้าง Cumulant สำหรับผลรวมของ n ลูกเต๋าอิสระกลายเป็น
Kn(เสื้อ)=nล.โอก.(16Σผม=16อีผมเสื้อ)
และเราต้องการอนุพันธ์อันดับแรกของ 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))
}

ต่อไปเราจะต้องแก้สมการอานม้า

ที่ทำโดยรหัสต่อไปนี้:

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 ประมาณตาม Butler หน้า 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(ยังไม่มีข้อความn)=P(X1+X2++Xnk)=1-P(X1++Xnk+1)=1-G(n,k+1)
ที่ไหน G เป็นฟังก์ชั่น fron รหัส R ด้านบน

ตอนนี้ให้เราตอบคำถามเดิมด้วย K=20. จากนั้นจำนวนม้วนต่ำสุดคือ 4 และจำนวนม้วนสูงสุดคือ 20 ความน่าจะเป็นที่ต้องการม้วน 20 ม้วนมีขนาดเล็กมากและสามารถคำนวณได้อย่างแน่นอนจากสูตรทวินามที่ฉันทิ้งไว้กับผู้อ่าน (การประมาณข้างต้นจะไม่ทำงานn=20)

ดังนั้นความน่าจะเป็นที่ ยังไม่มีข้อความ19 ประมาณไว้โดย

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

ความน่าจะเป็นที่ ยังไม่มีข้อความ10 ประมาณโดย:

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

และอื่น ๆ เมื่อใช้ทั้งหมดนี้คุณจะสามารถประมาณความคาดหวังได้ด้วยตัวคุณเอง สิ่งนี้น่าจะดีกว่าการประมาณบนพื้นฐานของทฤษฎีขีด จำกัด กลาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.