มีสูตรสำหรับรูปแบบทั่วไปของปัญหาตัวรวบรวมคูปองหรือไม่


10

ฉันพบปัญหาเกี่ยวกับตัวสะสมคูปองและพยายามหาสูตรสำหรับการวางหลักเกณฑ์ทั่วไป

หากมีวัตถุที่แตกต่างกันชนิดและคุณต้องการรวบรวมอย่างน้อยkสำเนาของแต่ละmของวัตถุเหล่านั้น (โดยที่m N ) ความคาดหวังของวัตถุสุ่มที่คุณควรซื้อคือเท่าใด ปัญหาที่สะสมคูปองปกติมีM = NและK = 1NkmmNm=Nk=1

มีตัวต่อเลโก้ 12 ชิ้นในชุดสะสม ฉันต้องการรวบรวม 3 สำเนาของแต่ละตัวเลข 10 (10 ใด ๆ ) ฉันสามารถซื้อพวกเขาแบบสุ่มครั้งละหนึ่ง ฉันควรคาดหวังว่าจะซื้อกี่ชุดก่อนที่จะมีสำเนา 3 ชุดสำหรับชุดละ 10 ชุด


3
ฉันจำไม่ได้ว่าเคยเห็นสูตรสำหรับการทำให้เป็นลักษณะทั่วไปนั้น แต่สำหรับคำถามเฉพาะแบบครั้งเดียวฉันมักจะใช้การจำลอง
Glen_b

คำตอบ:


5

นี่ไม่ใช่การคำนวณที่ง่าย แต่สามารถทำได้มีให้ไม่ใหญ่เกินไป (หมายเลขนี้นับสถานะที่เป็นไปได้ที่คุณต้องติดตามขณะรวบรวมคูปอง)(m+kk)

เรามาเริ่มต้นด้วยการจำลองสถานการณ์เพื่อหาคำตอบ ที่นี่ฉันรวบรวมตัวเลข LEGO หนึ่งล้านครั้ง เส้นสีดำในเนื้อเรื่องนี้ติดตามความถี่ของจำนวนการซื้อที่จำเป็นในการรวบรวมตัวเลขต่าง ๆ อย่างน้อยสามในสิบ

รูป

แถบสีเทาเป็นช่วงความมั่นใจ 95% แบบสองด้านโดยประมาณสำหรับแต่ละการนับ ภายใต้มันทั้งหมดเป็นเส้นโค้งสีแดง: นี่คือค่าที่แท้จริง

n=12k=3m=10x0i0x1i1x2i2x3i3ijk=0k=tj=0kxjij

i0i0/ni1/n

x0i0x1i1x2i2x3i31n(i0x0i01x1i1+1x2i2x3i3++i3x0i0x1i1x2i21x3i3).

(x1Dx0+x2Dx1+x3Dx2+x3Dx3)/nx012=x0np(n+kk)j=0kxjijpi3t(m+1)(n+kk)

6nk=2161017

n = 12;
threshold = 10;
k = 3;

(* Draw one object randomly from an urn with `n` of them *)
draw[p_] := 
  Expand[Sum[Subscript[x, i] D[#, Subscript[x, i - 1]], {i, 1, k}] + 
      Subscript[x, k] D[#, Subscript[x, k]] & @ p];

(* Find the chance that we have collected at least `k` each of `threshold` objects *)
f[p_] := Sum[
  Coefficient[p, Subscript[x, k]^t] /. 
   Table[Subscript[x, i] -> 1, {i, 0, k - 1}], {t, threshold, n}]

(* Compute the chances for a long series of draws *)
q = f /@ NestList[draw[#]/n &, Subscript[x, 0]^n, 6 n k];

ผลลัพธ์ซึ่งใช้เวลาประมาณสองวินาทีในการคำนวณ (เร็วกว่าการจำลอง!) คืออาร์เรย์ของความน่าจะเป็นที่จัดทำดัชนีตามจำนวนการจับ นี่คือพล็อตของความแตกต่างซึ่งเป็นความน่าจะเป็นที่จะสิ้นสุดการซื้อของคุณเป็นฟังก์ชั่นการนับ:

รูปที่ 2

ตัวเลขเหล่านี้เป็นตัวเลขที่ใช้ในการวาดเส้นโค้งพื้นหลังสีแดงอย่างแม่นยำในรูปแรก (การทดสอบไคสแควร์บ่งชี้ว่าการจำลองไม่แตกต่างจากการคำนวณนี้อย่างมีนัยสำคัญ)

1q50.7619549386733

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