जिस विधि का वर्णन आप सामान्य है। हम उपयोग करते हैं कि सभी क्रमपरिवर्तन [ 1 .. N ] एक पक्षपाती मरने के साथ भी समान रूप से होने की संभावना है (क्योंकि रोल स्वतंत्र हैं)। इसलिए, जब तक हम अंतिम एन रोल के रूप में इस तरह के क्रमपरिवर्तन को नहीं देखते हैं और अंतिम रोल को आउटपुट करते हैं, तब तक हम रोल कर सकते हैं।N=2[1..N]N
एक सामान्य विश्लेषण मुश्किल है; हालांकि, यह स्पष्ट है कि रोल की अपेक्षित संख्या में तेजी से बढ़ती है क्योंकि किसी भी चरण पर क्रमचय देखने की संभावना छोटी है (और पहले और बाद के चरणों से स्वतंत्र नहीं है, इसलिए मुश्किल है)। यह है एक से अधिक 0 तय के लिए एन लेकिन इतना प्रक्रिया लगभग निश्चित रूप से समाप्त हो जाता है,, (यानी संभावना के साथ 1 )।N0N1
तय लिए हम पारिख-वैक्टर के उस समूह पर एक मार्कोव श्रृंखला का निर्माण कर सकते हैं कि करने के लिए राशि ≤ एन , पिछले के परिणामों का सारांश एन रोल, और कदम की उम्मीद संख्या का निर्धारण जब तक हम तक पहुँचने ( 1 , ... , 1 ) के लिए पहली बार । यह पर्याप्त है क्योंकि पारिख-वेक्टर साझा करने वाले सभी क्रमपरिवर्तन समान रूप से होने की संभावना है; श्रृंखला और गणना इस तरह सरल हैं।N≤NN(1,…,1)
मान लें कि हम राज्य में हैं के साथ Σ n मैं = 1 वी मैं ≤ एन । फिर, एक तत्व i (यानी अगला रोल i है ) प्राप्त करने की संभावना हमेशा दी जाती हैv=(v1,…,vN)∑ni=1vi≤Nii
।Pr[gain i]=pi
दूसरी ओर, इतिहास से एक तत्व i को छोड़ने की प्रवृत्ति द्वारा दी गई हैi
Prv[drop i]=viN
जब भी (और 0 अन्यथा) इसलिए हुआ क्योंकि उस पारिख-वेक्टर के साथ सभी क्रमपरिवर्तन वी समान रूप से होने की संभावना है। ये संभावनाएँ स्वतंत्र हैं (चूंकि रोल स्वतंत्र हैं), इसलिए हम संक्रमण संभावनाओं की गणना निम्नानुसार कर सकते हैं:∑ni=1vi=N0v
Pr[v→(v1,…,vj+1,…,vN)]={Pr[gain j]0,∑v<N, else,Pr[v→(v1,…,vi−1,…vj+1,…,vN)]={0Prv[drop i]⋅Pr[gain j],∑v<N∨vi=0∨vj=N, else andPr[v→v]={0∑vi≠0Prv[drop i]⋅Pr[gain i],∑v<N, else;
अन्य सभी संक्रमण संभावनाएं शून्य हैं। एकल अवशोषित अवस्था , [ 1 .. N ] के सभी क्रमपरिवर्तन का पारिख-वेक्टर है ।(1,…,1)[1..N]
के लिए परिणामस्वरूप मार्कोव chain¹ हैN=2
[ स्रोत ]
अवशोषण तक अपेक्षित चरणों की संख्या के साथ
Esteps=2p0p1⋅2+∑i≥3(pi−10p1+pi−11p0)⋅i=1−p0+p20p0−p20,
सरलीकरण के लिए उपयोग कर रहा है कि । यदि अब, जैसा कि सुझाव दिया गया है, पी 0 = 1p1=1−p0कुछ के लिएε∈[0,1p0=12±ϵ, फिरϵ∈[0,12)
।Esteps=3+4ϵ21−4ϵ2
के लिए और वर्दी वितरण (सबसे अच्छा मामले) मैं कंप्यूटर algebra² साथ गणना प्रदर्शन किया है; चूंकि राज्य स्थान जल्दी से फट जाता है, इसलिए बड़े मूल्यों का मूल्यांकन करना कठिन होता है। परिणाम (ऊपर की ओर गोल) हैंN≤6
भूखंड ई दिखाते हैंएन के एक समारोह के रूप में कदम ; बाईं ओर एक नियमित और दाईं ओर एक लघुगणक भूखंड।EstepsN
वृद्धि घातीय प्रतीत होती है लेकिन अच्छे अनुमान देने के लिए मूल्य बहुत कम हैं।
गड़बड़ी के खिलाफ स्थिरता के लिए के रूप में मैं एन = 3 के लिए स्थिति को देख सकते हैं :piN=3
प्लॉट ई दिखाता हैपी 0 और पी 1 के एक समारोह के रूप में कदम ; स्वाभाविक रूप से, पी 2 = 1 - पी 0 - पी 1 ।Estepsp0p1p2=1−p0−p1
बड़ा के लिए इसी तरह की तस्वीरें मान लिया जाये कि (कर्नेल के लिए भी प्रतीकात्मक परिणामों का आकलन करते क्रैश एन = 4 ), कदम की अपेक्षित संख्या सभी के लिए काफी स्थिर लेकिन सबसे चरम विकल्प (लगभग सभी या कुछ पर कोई भी बड़े पैमाने पर हो रहा है पी मैं )।NN=4pi
For comparison, simulating an ϵ-biased coin (e.g. by assigning die results to 0 and 1 as evenly as possible), using this to simulate a fair coin and finally performing bit-wise rejection sampling requires at most
2⌈logN⌉⋅3+4ϵ21−4ϵ2
die rolls in expectation -- you should probably stick with that.
- Since the chain is absorbing in (11) the edges hinted at in gray are never traversed and do not influence the calculations. I include them merely for completeness and illustrative purposes.
- Implementation in Mathematica 10 (Notebook, Bare Source); sorry, it's what I know for these kinds of problems.