कम से कम एक बार प्रत्येक संख्या प्राप्त करने के लिए आपको 6-पक्षीय मर को कैसे रोल करना होगा?


41

मैंने अभी-अभी अपने बच्चों के साथ एक गेम खेला है जो मूल रूप से उबलता है: जो कोई भी 6-पक्षीय डाई जीत पर कम से कम एक बार हर नंबर को रोल करता है।

मैं जीता, आखिरकार, और अन्य 1-2 बाद में समाप्त हो गए। अब मैं सोच रहा हूँ: खेल की लंबाई की उम्मीद क्या है?

मुझे पता है कि जब तक आप एक विशिष्ट संख्या हिट करते हैं, तब तक रोल की संख्या की अपेक्षा ।n=1n16(56)n1=6

हालाँकि, मेरे दो सवाल हैं:

  1. जब तक आप कम से कम एक बार हर नंबर नहीं लेते तब तक आपको कितनी बार छह-तरफा मरना होगा?
  2. चार स्वतंत्र परीक्षणों (यानी चार खिलाड़ियों के साथ) के बीच, अधिकतम रोल की क्या अपेक्षा है ? [ध्यान दें: यह अधिकतम है, न्यूनतम नहीं है, क्योंकि उनकी उम्र में, यह मेरे बच्चों के लिए वहां पहुंचने से पहले खत्म होने के बारे में अधिक है]

मैं परिणाम का अनुकरण कर सकता हूं, लेकिन मुझे आश्चर्य है कि मैं इसे विश्लेषणात्मक रूप से गणना करने के बारे में कैसे जाऊंगा।


यहां मतलाब में एक मोंटे कार्लो सिमुलेशन है

mx=zeros(1000000,1);
for i=1:1000000,
   %# assume it's never going to take us >100 rolls
   r=randi(6,100,1);
   %# since R2013a, unique returns the first occurrence
   %# for earlier versions, take the minimum of x
   %# and subtract it from the total array length
   [~,x]=unique(r); 
   mx(i,1)=max(x);
end

%# make sure we haven't violated an assumption
assert(numel(x)==6)

%# find the expected value for the coupon collector problem
expectationForOneRun = mean(mx)

%# find the expected number of rolls as a maximum of four independent players
maxExpectationForFourRuns = mean( max( reshape( mx, 4, []), [], 1) )

expectationForOneRun =
   14.7014 (SEM 0.006)

maxExpectationForFourRuns =
   21.4815 (SEM 0.01)

11
कूपन कलेक्टर की समस्या भी देखें - गुग्लिंग आपको कई हिट और अधिक जानकारी देगा। इसके अलावा यहां आँकड़े पर खोज करने का प्रयास करें
ग्लेन_ बी

1
@Glen_b: धन्यवाद, मुझे वह नाम नहीं पता था!
जोनास

1
@whuber: मुझे यकीन नहीं है कि इस सवाल को बंद कर दिया जाना चाहिए था। वह चार परीक्षणों का न्यूनतम न्यूनतम मारक समय चाहता है। मैं गतिशील प्रोग्रामिंग समाधान के लिए अपना जवाब ठीक करने वाला था।
नील जी

2
@whuber: मैं अपनी पोस्ट को स्पष्ट करने के लिए संपादित करूंगा
जोनास

जवाबों:


22

क्योंकि "पूरी तरह से विश्लेषणात्मक दृष्टिकोण" का अनुरोध किया गया है, यहां एक सटीक समाधान है। यह मिश्रित प्रतिस्थापन स्थितियों के साथ काले और सफेद गेंदों के एक सेट में एक काली गेंद खींचने की संभावना पर सवाल हल करने के लिए एक वैकल्पिक दृष्टिकोण भी प्रदान करता है ।


खेल, में चालों की संख्या, ज्यामितीय चर के छह स्वतंत्र बोधों के योग के रूप में मॉडलिंग की जा सकती है, संभावनाएँ , उनमें से प्रत्येक को स्थानांतरित किया गया (क्योंकि एक ज्यामितीय चर एक सफलता से पहले केवल रोल की गणना करता है और हमें उन रोलों को भी गिनना चाहिए, जिन पर सफलता देखी गई थी)। ज्यामितीय वितरण के साथ गणना करके, हम इसलिए उत्तर प्राप्त करेंगे जो वांछित लोगों की तुलना में कम हैं और इसलिए अंत में वापस जोड़ना सुनिश्चित करें ।X(p)p=1,5/6,4/6,3/6,2/6,1/616 666

पैरामीटर साथ इस तरह के एक ज्यामितीय चर की संभावना जनरेटिंग फ़ंक्शन (pgf) हैp

f(z,p)=p1(1p)z.

इसलिए इन छह चर के योग के लिए pgf है

g(z)=i=16f(z,i/6)=6z4(5 2z+5+10 3z+45 4z+4+5z+4+5).

( आंशिक अंशों के माध्यम से उत्पाद को पांच शब्दों में अलग करके इस बंद रूप में गणना की जा सकती है ।)

संचयी वितरण फ़ंक्शन (CDF) के आंशिक योगों ( में एक शक्ति श्रृंखला के रूप में ) से प्राप्त किया जाता है , जो कि ज्यामितीय श्रृंखला को समाहित करता है, और इसके द्वारा दिया जाता हैgz

F(z)=6z4((1) 1z+4+(5) 2z+4(10) 3z+4+(10) 4z+4(5) 5z+4+(1) 6z+4).

(मैंने इस अभिव्यक्ति को एक ऐसे रूप में लिखा है जो सिद्धांत-बहिष्करण के सिद्धांत के माध्यम से एक वैकल्पिक व्युत्पत्ति का सुझाव देता है ।)

इससे हम गेम में चालों की अपेक्षित संख्या (पहले प्रश्न का उत्तर देते हुए) प्राप्त करते हैं

E(6+X)=6+i=1(1F(i))=14710.

की अधिकतम की CDF के स्वतंत्र संस्करणों है (और इस से हम, सिद्धांत रूप में, इस तरह के क्या अपने विचरण है के रूप में अधिक से अधिक हम पसंद करते हैं, के बारे में कोई संभावना सवालों का जवाब कर सकते हैं, अपने 99 वें प्रतिशतक क्या है , और इसी तरह)। साथ हम में से एक उम्मीद प्राप्तmXF(z)mm=4

6+i=1(1F(i)4)21.4820363.

(मान एक परिमेय अंश है, जो कम रूप में, 71 अंकों का हर होता है।) मानक विचलन यहाँ चार खिलाड़ियों के लिए अधिकतम की संभाव्यता द्रव्यमान समारोह की एक साजिश है (इसे पहले ही से स्थानांतरित कर दिया गया है ):6.77108.6

आकृति

जैसा कि एक उम्मीद करेगा, यह सकारात्मक रूप से तिरछा है। मोड रोल पर है। यह दुर्लभ है कि अंतिम व्यक्ति को खत्म करने में से रोल होंगे (यह लगभग )।18500.3%


यह समाधान विधि इस अवलोकन से प्रेरित थी कि ज्यामितीय चर के योगों (संभवतः नकारात्मक भार के साथ) ज्यामितीय चर के पैरामीटर समान होते हैं। एक समान संबंध गामा चर (विभिन्न दर मापदंडों के साथ) के बीच है। मैं गणितज्ञ में काम करने के लिए माफी माँगता हूँ , लेकिन मुझे यकीन है कि मतलाब इन गणनाओं को भी पूरा कर सकता है :-)
whuber

2
यह वह उत्तर है जिसकी मुझे आशा है। आपका बहुत बहुत धन्यवाद! मुझे लगता है कि मुझे माटलाब में संख्यात्मक परिणामों की गणना करने में सक्षम होना चाहिए :)
जोनास

कैसे काम करता है ज्यामितीय वितरण की संभावना जन वितरण से संबंधित हैं? उत्पाद कहां से आता है? मुझे का अर्थ मिलता है , लेकिन का अर्थ क्या है ? Π 6 मैं = 1(z,मैं/6)एफ(जेड)जी(जेड)f(z,p)=p1(1p)zi=16f(z,i/6)F(z)g(z)
सेक्सटस एम्पिरिकस

1
अब मैं देख रहा हूं कि प्रायिकता जनरेटिंग फंक्शन है। f(z,p)
सेक्सटस एम्पिरिकस

@MartijnWeterings धन्यवाद - मेरा मानना ​​है कि यह अधिक सटीक और पारंपरिक शब्द है। (आप बता सकते हैं कि मैं pmf और pgf को लगभग एक ही चीज़ के रूप में सोचता हूं, क्योंकि यह जनरेटिंग फ़ंक्शंस का उपयोग करने की लंबी आदत के कारण है।) मैं इस पोस्ट में शब्दावली बदल दूंगा।
whuber

13

पुनरावृत्ति समस्या के साथ समस्या पर हमला करने का सही विचार है। राज्यों के साथ एक मार्कोव श्रृंखला पर विचार करें संबंधित विशिष्ट पासा रोल की संख्या की गिनती। राज्य ० स्टार्ट स्टेट है, और स्टेट ६ फिनिश स्टेट है। फिर, राज्य से स्वयं में संक्रमण की संभावना । राज्य से संक्रमण की संभावना को राज्य के लिए है । इसलिए खत्म होने की स्थिति का मार समय मैं मैं{0,,6}ii6ii+16i6

i=0566i=14.7

अधिकतम चार परीक्षणों के लिए, उन राज्यों पर विचार करें जो चौगुनी हैं। आप लक्ष्य स्थिति लिए अपेक्षित समय । किसी भी राज्य की अपेक्षित मार का समय प्रत्येक स्रोत राज्य के लिए भारित औसत है अपेक्षित हिटिंग समय प्लस के लिए से तक जाने का समय , द्वारा भारित , राज्य पर पहुंचने की संभावना और गतिमान(6,6,6,6)jiTiijpipijij। आप गतिशील प्रोग्रामिंग द्वारा मार समय और संभावनाओं की खोज कर सकते हैं। यह इतना कठिन नहीं है क्योंकि टकराहट के समय और संभावनाओं को भरने के लिए एक आघातकारी क्रम है। उदाहरण के लिए, दो मरने के लिए: पहले टी और पी (0,0) की गणना करें, फिर (1,0), फिर (1, 1), (2, 0), फिर (2, 1), आदि।

पायथन में:

import numpy as np
import itertools as it
from tools.decorator import memoized  # A standard memoization decorator

SIDES = 6

@memoized
def get_t_and_p(state):
    if all(s == 0 for s in state):
        return 0, 1.0
    n = len(state)
    choices = [[s - 1, s] if s > 0 else [s]
               for s in state]
    ts = []
    ps = []
    for last_state in it.product(*choices):
        if last_state == state:
            continue
        last_t, last_p = get_t_and_p(tuple(sorted(last_state)))
        if last_p == 0.0:
            continue
        transition_p = 1.0
        stay_p = 1.0
        for ls, s in zip(last_state, state):
            if ls < s:
                transition_p *= (SIDES - ls) / SIDES
            else:
                transition_p *= ls / SIDES
            stay_p *= ls / SIDES
        if transition_p == 0.0:
            continue
        transition_time = 1 / (1 - stay_p)
        ts.append(last_t + transition_time)
        ps.append(last_p * transition_p / (1 - stay_p))
    if len(ts) == 0:
        return 0, 0.0
    t = np.average(ts, weights=ps)
    p = sum(ps)
    return t, p

print(get_t_and_p((SIDES,) * 4)[0])

1
आपने खेल के चार स्वतंत्र प्रतियों में रोल की अपेक्षित अधिकतम संख्या को याद किया है।
probabilityislogic

आह, मैंने सिर्फ उस पर ध्यान दिया। मुझे लगता है कि आप न्यूनतम मतलब है, लेकिन हाँ।
नील जी

@ नील: मेरा वास्तव में अधिकतम मतलब है (मेरे अपडेट किए गए प्रश्न देखें), हालांकि मैं मानता हूं कि रणनीति न्यूनतम और अधिकतम के लिए समान है। क्या आप गतिशील प्रोग्रामिंग रणनीति के बारे में विस्तार से बता सकते हैं?
जोनास

@ जोनास: अधिकतम के लिए अपडेट किया गया। मेरे पास बहुत काम है, लेकिन मैं बाद में आपके लिए इसे कोड करने में सक्षम हो सकता हूं।
नील जी

2
@ नील: धन्यवाद। मुझे पूरी तरह से विश्लेषणात्मक दृष्टिकोण मिलने की उम्मीद थी, लेकिन डीपी कोड काफी अनुदेशात्मक भी है।
जोनास

6

त्वरित और गंदे मोंटे कार्लो 1 खिलाड़ी के लिए एक खेल की लंबाई में आर का अनुमान है:

N = 1e5
sample_length = function(n) { # random game length
    x = numeric(0)
    while(length(unique(x)) < n) x[length(x)+1] = sample(1:n,1)
    return(length(x))
}
game_lengths = replicate(N, sample_length(6))

परिणाम: , , इसलिए माध्य के लिए 95% विश्वास अंतराल ।μ^=14.684σ^=6.24[14.645,14.722]

चार-खिलाड़ी गेम की लंबाई निर्धारित करने के लिए, हम नमूनों को चार में समूहित कर सकते हैं और प्रत्येक समूह पर औसत न्यूनतम लंबाई ले सकते हैं (आपने अधिकतम के बारे में पूछा था, लेकिन मुझे लगता है कि आप न्यूनतम का मतलब है, जिस तरह से मैंने इसे पढ़ा है, वह खेल समाप्त होता है जब कोई व्यक्ति सभी संख्याओं को प्राप्त करने में सफल होता है):

grouped_lengths = matrix(game_lengths, ncol=4)
min_lengths = apply(grouped_lengths, 1, min)

परिणाम: , , इसलिए माध्य के लिए 95% विश्वास अंतराल ।μ^=9.44σ^=2.26[9.411,9.468]


1
मैटलैब सिमुलेशन के साथ मैं एक समान परिणाम पर पहुंचा, लेकिन मैं उत्सुक था कि मैं इसे विश्लेषणात्मक रूप से कैसे हल करूंगा। इसके अलावा, जब से मैं अपने बच्चों के साथ खेलता हूं, वे सभी इस खेल को खत्म करना चाहते हैं, जो चाहे जीतता है, इसलिए मैं अधिकतम के बारे में पूछना चाहता हूं।
जोनास

5

जीतने के क्रम में प्राप्त करने के लिए आपके पास शेष संख्या के संबंध में एक पुनरावर्ती संबंध के बारे में कैसे ।m

T1=6
Tm=1+6m6Tm+m6Tm1

असल में, पिछले संबंध कह रही है कि समय की संख्या रोल करने अलग नंबरों शेष के बराबर है प्लस:m1

  • Tm यदि आप में से एक को रोल करते हैं पहले से ही रोल किए गए नंबर (प्रायिकता )6m6m6
  • Tm1 यदि आप शेष संख्याओं में से एक को रोल करते हैं (प्रायिकता )mm6

इस संबंध का संख्यात्मक अनुप्रयोग देता है ।14.7


इस उत्तर में कुछ गलत लगता है। यह अंत में एक योग नहीं होना चाहिए? । Ti=Ti1+66i+1
नील जी

1
हां सॉरी गलती हो गई, मैं इसे ठीक कर रहा हूं
ThePawn

मुझे आशा है कि आपको कोई आपत्ति नहीं है कि मैंने एक उत्तर जोड़ा है। 14.7 सही है, लेकिन पुनरावृत्ति संबंध अभी भी त्रुटिपूर्ण है ...
नील जी

कोई बात नहीं, पहली बार सावधानी बरतनी चाहिए थी :)। आपका जवाब बहुत अच्छा है।
ThePawn

5

पहले प्रश्न के लिए एक सरल और सहज व्याख्या:

आपको सबसे पहले किसी भी नंबर को रोल करना होगा। यह आसान है, यह हमेशा ठीक 1 रोल लेगा।

फिर आपको पहले वाले के अलावा किसी भी नंबर को रोल करने की आवश्यकता है। ऐसा होने की संभावना , इसलिए यह औसतन (1.2) रोल लेगा ।5665

फिर आपको पहले दो के अलावा किसी भी संख्या को रोल करने की आवश्यकता है। ऐसा होने की संभावना , इसलिए यह औसतन (1.5) रोल लेगा ।4664

फिर आपको पहले तीन के अलावा किसी भी संख्या को रोल करने की आवश्यकता है। ऐसा होने की संभावना , इसलिए यह औसतन (2) रोल लेगा ।3663

और इसी तरह जब तक हम सफलतापूर्वक अपना 6 वां रोल पूरा नहीं कर लेते:

66+65+64+63+62+61=14.7 rolls

यह उत्तर नील जी के उत्तर के समान है, केवल मार्कोव श्रृंखला के बिना।


1

अगले नए नंबर को प्राप्त करने के लिए संभाव्यता घनत्व फ़ंक्शन (या समतुल्य असतत) है:

f = sum (p * (1 - p) ^ (i - 1), i = 1 .. inf)

जहां p प्रति रोल की संभावना है, 1 जब कोई संख्या लुढ़की नहीं है, तो 1 के बाद 5/6, 4/6 .. अंतिम संख्या के लिए 1/6 तक

अपेक्षित मान, mu = sum (i * p * (1 - p) ^ (i - 1), i = 1 .. inf) n = i - 1 देना, और समन के बाहर p लाना।

mu = p * sum ((n + 1) * (1 - p) ^ n, n = 0 .. inf)

mu = p * sum (n (1-p) ^ n, n = 0 .. inf) + p * sum ((1-p) ^ n, n = 0 .. inf) mu = p * (1-p) ) / ((1-p-1) ^ 2 + p * 1 / (1- (1-p))

mu = p * (1 - p) / p ^ 2 + p / p

म्यू = (1 - पी) / पी + पी / पी

म्यू = (1 - पी + पी) / पी

म्यू = 1 / पी

1, 5/6, 4/6, 3/6, 2/6, और 1/6 के ps के लिए अपेक्षित मानों (mus) का योग पहले की रिपोर्ट के अनुसार 14.7 है, लेकिन आवश्यक संख्या के अनुसार 1 / p प्रति सामान्य है। मरने के आकार का

इसी तरह, हम विश्लेषणात्मक रूप से मानक विचलन की गणना कर सकते हैं

सिग्मा ^ 2 = राशि ((आई - एमयू) ^ 2 * पी * (1 - पी) ^ (आई - 1), i = 1 .. inf)

मैं आपको यहाँ बीजगणित को छोड़ दूँगा, लेकिन सिग्मा ^ 2 = (1-पी) / पी ^ 2

6 के मामले में, प्रत्येक चरण के लिए सिग्मा ^ 2 का योग 38.99 के मानक विचलन के लिए लगभग 6.24 है, फिर से, नकली के रूप में


-4

प्रश्न 1 था:

जब तक आप कम से कम एक बार हर नंबर नहीं लेते तब तक आपको छह-तरफा पासा कैसे रोल करना होगा?

जाहिर है, सही उत्तर 'अनंत' होना चाहिए।


6
इस सवाल का जवाब 'कम से कम एक बार हर नंबर पाने के लिए पूर्ण निश्चितता के साथ गारंटी देने के लिए' होगा। पूछे जाने वाले प्रश्न के लिए, उत्तर एक यादृच्छिक चर है, जिसके वितरण को अच्छी तरह से अनुमानित किया जा सकता है।
Glen_b
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.