मुझे भी यही समस्या थी। ऐसे सेट को देखते हुए जहां प्रत्येक आइटम में एक संभावना होती है और जिसकी वस्तुओं की संभावना एक तक होती है, मैं एक नमूना को कुशलतापूर्वक खींचना चाहता था, अर्थात बिना किसी चीज़ को छांटे और बिना बार-बार सेट पर पुनरावृत्ति किए ।
निम्न फ़ंक्शन अंतराल [ ए , 1 ) के भीतर समान रूप से वितरित की सबसे कम यादृच्छिक संख्या खींचता है । चलो आर से एक यादृच्छिक संख्या हो [ 0 , 1 ) ।एन[ ए , १ )आर[ ० , १ )
अगला ( एन, एक ) = 1 - ( 1 - एक ) ⋅ आर√एन
आप एक आकर्षित करने के लिए इस सुविधा का उपयोग कर सकते हैं आरोही श्रृंखला के एन समान रूप में [0,1 यादृच्छिक संख्या वितरित)। यहाँ N = 10 के साथ एक उदाहरण दिया गया है :( a)मैं)एनएन= 10
ए0= अगला ( 10 , 0 )
ए1= अगला ( 9 , ए0)
ए2=next(8,a1)
…
a9=next(1,a8)
(ai)P0≤k<|P|pk∈Paik∑p0…pk>aipkai+1
{(1,0.04),(2,0.5),(3,0.46)}N=10
i a_i k Sum Draw
०.०३१ ० ०.०४ १
1 0.200 1 0.54 2
2 0.236 1 0.54 2
3 0.402 1 0.54 2
4 0.488 1 0.54 2
5 0.589 2 1.0 3
6 0.625 2 1.0 3
7 0.638 2 1.0 3
8 0.738 2 1.0 3
९ ०.०४२ २ १.३ ३
(1,2,2,2,2,3,3,3,3,3)
nextN[a,x)x≤1