।
नियमित मरने से प्रत्येक नंबर 1-6 बराबर संभावना के साथ, 1/6
प्रदान करेगा। इसे uniform distribution (इसके संस्करण का निरंतर संस्करण, निरंतर संस्करण के विपरीत) के रूप में जाना जाता है। जिसका अर्थ है कि यदि X
है एक यादृच्छिक चर एक भी भूमिका का परिणाम का वर्णन तो X~U[1,6]
- X
अर्थ 1 के माध्यम से 6.
यह [0,1)
समय में एक नंबर चुनने के बराबर है मरने रोल के सभी संभव परिणाम के खिलाफ समान रूप से वितरित किया जाता है, इसे 6 वर्गों में विभाजित करना: [0,1/6)
, [1/6,2/6)
, [2/6,3/6)
, [3/6,4/6)
, [4/6,5/6)
, [5/6,1)
।
आप एक अलग वितरण का अनुरोध कर रहे हैं, जो पक्षपातपूर्ण है। यह प्राप्त करने का सबसे आसान तरीका है कि आप चाहते हैं कि पूर्वाग्रह के आधार पर अनुभाग [0,1)
से 6 भागों में विभाजित करें। तो आपके मामले में आप इसे निम्नलिखित में विभाजित करना चाहते हैं: [0,0.2)
, [0.2,0.4)
, [0.4,0.55)
, 0.55,0.7)
, [0.7,0.84)
, [0.84,1)
।
आप wikipedia entry पर एक नज़र डालें, तो आप इस मामले में है कि देखेंगे, संचयी संभावना समारोह 6 बराबर-लंबाई भागों से बना नहीं किया जाएगा, लेकिन पूर्वाग्रह के अनुसार नहीं बल्कि 6 भागों जो लंबाई में मतभेद आपने उन्हें दिया बड़े पैमाने पर वितरण के लिए चला जाता है।
आप जिस भाषा का उपयोग कर रहे हैं उसके आधार पर प्रश्न पर वापस जाएं, बस इसे अपने मरने के रोल में अनुवाद करें।
import random
sampleMassDist = (0.2, 0.1, 0.15, 0.15, 0.25, 0.15)
# assume sum of bias is 1
def roll(massDist):
randRoll = random.random() # in [0,1)
sum = 0
result = 1
for mass in massDist:
sum += mass
if randRoll < sum:
return result
result+=1
print roll(sampleMassDist)
क्या आपने इसे अपने अंतिम प्रश्न के स्थान पर नहीं पूछा था? http://stackoverflow.com/questions/477237/how-do-i-simulate-flip-of-biased-coin-in-python –
मुझे लगता है कि आपका मतलब एन-पक्षीय मरना है। एक एन-आयामी मर काफी अलग है। – babbageclunk
डुप्लिकेट: http://stackoverflow.com/questions/477237/how-do-i-simulate-flip-of-biased-coin-in-python –