एक पक्षपाती मरने के साथ एक निष्पक्ष मौत का अनुकरण करें


18

एक पक्षपाती मृत्यु को देखते हुए , श्रेणी में एक यादृच्छिक संख्या समान रूप से कैसे उत्पन्न की जा सकती है? मरने वाले चेहरों की संभाव्यता वितरण ज्ञात नहीं है, यह सब ज्ञात है कि प्रत्येक चेहरे में एक नॉनजेरो संभावना है और यह कि संभाव्यता वितरण सभी थ्रो (विशेष रूप से, थ्रो स्वतंत्र हैं) पर समान है। यह अनुचित मृत्यु के साथ निष्पक्ष परिणामों का स्पष्ट सामान्यीकरण है ।N[1,N]

इसे कंप्यूटर विज्ञान की दृष्टि से देखें तो हमारे पास एक रोल है जो डाई रोल का प्रतिनिधित्व करता है: जैसे कि nonzero है और स्वतंत्र है । हम एक नियतात्मक एल्गोरिथ्म के लिए देख रहे है जिसके द्वारा parametrized है (यानी करने के लिए कॉल कर सकते हैं ) ऐसा है कि । एल्गोरिथ्म को प्रायिकता 1 के साथ समाप्त करना होगा, अर्थात से कॉल करने की संभावना से अधिक को से रूप में परिवर्तित करना होगा ।D:N[1,N]pi=P(D(k)=i)kADADP(A()=i)=1/NAnD0n

के लिए (एक निष्पक्ष सिक्का अनुकरण सिक्का एक पक्षपाती सिक्का साथ flips से), वहाँ एक प्रसिद्ध एल्गोरिथ्म है:N=2

  • दोहराएं "फ्लिप दो बार" जब तक कि दो फेंकता अलग-अलग परिणामों (सिर, पूंछ) या (पूंछ, सिर) के साथ नहीं आते हैं। दूसरे शब्दों में, के लिए पाश में तकk=0..D(2k+1)D(2k)
  • रिटर्न 0 अगर फ़्लिप की अंतिम जोड़ी थी (सिर, पूंछ) और 1 अगर यह थी (पूंछ, सिर)। दूसरे शब्दों में, वापस जाएँ जहाँ वह सूचकांक है जिस पर लूप समाप्त किया गया था।D(2k)k

एक पक्षपाती से एक निष्पक्ष मौत बनाने के लिए एक सरल तरीका एक निष्पक्ष सिक्के के निर्माण के लिए सिक्का फ्लिप निष्पक्ष विधि का उपयोग करना है, और सीक्वेंस की निष्पक्षता के रूप में अस्वीकृति नमूने के साथ एक निष्पक्ष मरने का निर्माण करना है । लेकिन क्या यह इष्टतम (संभावना वितरण के सामान्य मूल्यों के लिए) है?

विशेष रूप से, मेरा सवाल यह है: एक एल्गोरिथ्म क्या है जिसे ओरेकल में सबसे छोटी अपेक्षित संख्या में कॉल की आवश्यकता होती है ? यदि उपलब्ध अपेक्षित मूल्यों का सेट खुला है, तो निचली सीमा क्या है और एल्गोरिदम का एक वर्ग क्या है जो इस निम्न सीमा की ओर परिवर्तित होता है?

यदि एल्गोरिदम के विभिन्न परिवार अलग-अलग संभाव्यता वितरण के लिए इष्टतम हैं, तो लगभग उचित पासा पर ध्यान दें: मैं एक एल्गोरिथ्म या एल्गोरिदम के परिवार की तलाश कर रहा हूं जो कि वितरण के लिए इष्टतम है जैसे किकुछ लिए ।ε > 0i,|pi1/N|<ϵϵ>0


नोट इसे ध्यान से, इष्टतम परिभाषित करने के लिए उदाहरण के लिए यदि आप एक पूरी तरह से निष्पक्ष मरने दी हो सकता है के बाद से महत्वपूर्ण है, या एक मरने होने , पी मैं = ε / ( एन - 1 ) के लिए मैं > 1 , या किसी अन्य मरना। मेले के लिए एक इष्टतम योजना केवल एक रोल की आवश्यकता होती है, जबकि अनुचित उदाहरण के लिए एक इष्टतम योजना के लिए कई की आवश्यकता होती है। इसके अलावा, सभी संभव पक्षपाती मृत्यु पर इष्टतम का वर्चस्व शायद अबाधित है। आप एक पैरामीटर लागू करने के लिए, और लगता है कि चाहते हो सकता है तो अधिकतम मैं पी मैं1 -p1=1ϵpi=ϵ/(N1)i>1 उदाहरण के लिए। maxipi1ε
usul

@usul मुझे आपकी टिप्पणी समझ नहीं आ रही है। कुछ मानों के लिए और अधिक कुशल एल्गोरिदम हैं (जैसे यदि i , p i = 1 / N ), लेकिन मैं केवल उन एल्गोरिदम के लिए पूछ रहा हूं जो ( p i ) पर निर्भर नहीं हैं । क्या बात है ϵ ? पीमैंi,pi=1/N(pi)ϵ
गिल्स एसओ- बुराई को रोकना '

आप एक एल्गोरिथ्म की दक्षता को कैसे मापते हैं जो पर निर्भर नहीं करता है ? संभवतः इस तरह के किसी भी एल्गोरिथ्म के लिए, अपेक्षित उदाहरणों की संख्या पर कोई ऊपरी बाध्यता नहीं है, उदाहरण के लिए ased 0 के साथ मेरे पक्षपाती मर जाते हैं । यह मेरा मतलब है "इष्टतम का वर्चस्व ... शायद अनबाउंड है"। इसलिए यदि सभी एल्गोरिदम को अपेक्षा में मनमाने ढंग से कई डाई रोल की आवश्यकता हो सकती है, तो हम कैसे तय करते हैं कि कौन सा सबसे अच्छा है? (pi)ϵ0
usul

@usul थ्रो की संख्या पर कोई ऊपरी सीमा नहीं है, बेशक, लेकिन मैं अपेक्षित मूल्य (यानी थ्रो की औसत संख्या) के बारे में पूछ रहा हूं। किसी दिए गए वितरण लिए, एल्गोरिथ्म के लिए अपेक्षित मान जो कि एक उचित सिक्का बनाता है और जो अस्वीकृति नमूने के लिए उपयोग करता है वह परिमित है, है ना? यह सच है कि उम्मीद वितरण पर निर्भर करती है, इसलिए अलग-अलग (एल्गोरिथम) के परिवार अलग-अलग वितरण के लिए इष्टतम हो सकते हैं। अगर ऐसा है, तो आइए बताते हैं कि मैं लगभग निष्पक्ष पासा में दिलचस्पी रखता हूं। (pi)
गिलेस एसओ- बुराई को रोकना '

नहीं बिल्कुल बिल्कुल सवाल है, लेकिन करने के लिए केवल एक परिणाम है कि तलाश आप तैयार होगा पास वर्दी के लिए (में / कुल भिन्नता दूरी)? यदि ऐसा है, तो मूल वितरण से पूछी गई गारंटी के आधार पर, इसका हालिया पेपर (सबमिशन में), "एकरूपता के लिए नमूना सुधारक" नाम से अध्ययन किया जाता है - जो विशेष रूप से दिखाता है कि आप एन से स्वतंत्र ड्रा की संख्या प्राप्त कर सकते हैं। से सुधार करने के लिए 1 दूरी ε दूरी के ε '1N1εε
क्लेमेंट सी।

जवाबों:


3

निम्नलिखित प्रश्नपत्र इस प्रश्न के एक करीबी संस्करण का जवाब देता है: एक निष्पक्ष रैंडम अनुक्रम का कुशल निर्माण, एलियास 1972

यह प्रश्न ऐसा प्रतीत होता है: इस पक्षपाती स्वतंत्र स्रोत तक पहुंच को देखते हुए, [ 1 , N ] में यादृच्छिक संख्याओं के अनुक्रम का उत्पादन करें (अपने प्रश्न से अंतर को नोट करें जिसमें केवल एक आउटपुट प्रतीक का अनुरोध किया गया है)। जैसा कि वांछित आउटपुट की लंबाई अनंत तक जाती है, कागज में योजना की "दक्षता" (जो वॉन न्यूमैन के एक प्राकृतिक सामान्यीकरण की तरह लगती है) 1 तक जाती है , जिसका अर्थ है, मेरा मानना ​​है कि एन्ट्रॉपी एच के साथ एक इनपुट परिवर्तित होता है एन्ट्रापी का एक आउटपुट h आ रहा है ।[1,N]1hh

यह प्रश्न बहुत बेहतर व्यवहार करता है जब किसी एकल आउटपुट अंक का अनुरोध करने के बजाए इस तरह से अभिव्यक्त किया जाता है, क्योंकि, उदाहरण के लिए, यदि हम नमूने खींचते हैं और बहुत सारी जानकारी के साथ आउटपुट के साथ समाप्त होते हैं (उदाहरण के लिए, सभी N इनपुट प्रतीक विशिष्ट हैं) , तो हम उपयोग कर सकते हैं सब है कि सूचना के कई उत्पादन प्रतीकों, सवाल के साथ, जबकि के रूप में यहाँ phrased, एक उत्पादन प्रतीक बर्बाद करने के लिए चला जाता है का उत्पादन किया जाता है कि अलावा और किसी जानकारी के उत्पादन के लिए।NN

मेरा मानना ​​है कि योजना बार-बार ड्रॉ लेती है, अनुक्रम को देखती है, और इसे कुछ आउटपुट या खाली स्ट्रिंग को मैप करती है। शायद उपसर्गों को देखकर और रोककर अपने प्रश्न की योजना को बेहतर बनाने का एक तरीका है यदि हमारे पास एक प्रतीक को आउटपुट करने के लिए "पर्याप्त" जानकारी है? मुझे नहीं पता।N


मैंने बाद के काम या कागज का हवाला देते हुए काम नहीं किया है, इसलिए मुझे पता नहीं है, लेकिन शायद किसी ने योजना में सुधार किया है, दूसरे की पेशकश की है, आपके सवाल का जवाब दिया, आदि
usul

2

जिस विधि का वर्णन आप सामान्य है। हम उपयोग करते हैं कि सभी क्रमपरिवर्तन [ 1 .. N ] एक पक्षपाती मरने के साथ भी समान रूप से होने की संभावना है (क्योंकि रोल स्वतंत्र हैं)। इसलिए, जब तक हम अंतिम एन रोल के रूप में इस तरह के क्रमपरिवर्तन को नहीं देखते हैं और अंतिम रोल को आउटपुट करते हैं, तब तक हम रोल कर सकते हैं।N=2[1..N]N

एक सामान्य विश्लेषण मुश्किल है; हालांकि, यह स्पष्ट है कि रोल की अपेक्षित संख्या में तेजी से बढ़ती है क्योंकि किसी भी चरण पर क्रमचय देखने की संभावना छोटी है (और पहले और बाद के चरणों से स्वतंत्र नहीं है, इसलिए मुश्किल है)। यह है एक से अधिक 0 तय के लिए एन लेकिन इतना प्रक्रिया लगभग निश्चित रूप से समाप्त हो जाता है,, (यानी संभावना के साथ 1 )।N0N1

तय लिए हम पारिख-वैक्टर के उस समूह पर एक मार्कोव श्रृंखला का निर्माण कर सकते हैं कि करने के लिए राशि एन , पिछले के परिणामों का सारांश एन रोल, और कदम की उम्मीद संख्या का निर्धारण जब तक हम तक पहुँचने ( 1 , ... , 1 ) के लिए पहली बार । यह पर्याप्त है क्योंकि पारिख-वेक्टर साझा करने वाले सभी क्रमपरिवर्तन समान रूप से होने की संभावना है; श्रृंखला और गणना इस तरह सरल हैं।NNN(1,,1)

मान लें कि हम राज्य में हैं के साथ Σ n मैं = 1 वी मैंएन । फिर, एक तत्व i (यानी अगला रोल i है ) प्राप्त करने की संभावना हमेशा दी जाती हैv=(v1,,vN)i=1nviNii

Pr[gain i]=pi

दूसरी ओर, इतिहास से एक तत्व i को छोड़ने की प्रवृत्ति द्वारा दी गई हैi

Prv[drop i]=viN

जब भी (और 0 अन्यथा) इसलिए हुआ क्योंकि उस पारिख-वेक्टर के साथ सभी क्रमपरिवर्तन वी समान रूप से होने की संभावना है। ये संभावनाएँ स्वतंत्र हैं (चूंकि रोल स्वतंत्र हैं), इसलिए हम संक्रमण संभावनाओं की गणना निम्नानुसार कर सकते हैं:i=1nvi=N0v

Pr[v(v1,,vj+1,,vN)]={Pr[gain j],v<N0, else,Pr[v(v1,,vi1,vj+1,,vN)]={0,v<Nvi=0vj=NPrv[drop i]Pr[gain j], else andPr[vv]={0,v<Nvi0Prv[drop i]Pr[gain i], else;

अन्य सभी संक्रमण संभावनाएं शून्य हैं। एकल अवशोषित अवस्था , [ 1 .. N ] के सभी क्रमपरिवर्तन का पारिख-वेक्टर है ।(1,,1)[1..N]

के लिए परिणामस्वरूप मार्कोव chain¹ हैN=2

एन = 2 के लिए मार्कोव श्रृंखला
[ स्रोत ]

अवशोषण तक अपेक्षित चरणों की संख्या के साथ

Esteps=2p0p12+i3(p0i1p1+p1i1p0)i=1p0+p02p0p02,

सरलीकरण के लिए उपयोग कर रहा है कि । यदि अब, जैसा कि सुझाव दिया गया है, पी 0 = 1p1=1p0कुछ के लिएε[0,1p0=12±ϵ, फिरϵ[0,12)

Esteps=3+4ϵ214ϵ2

के लिए और वर्दी वितरण (सबसे अच्छा मामले) मैं कंप्यूटर algebra² साथ गणना प्रदर्शन किया है; चूंकि राज्य स्थान जल्दी से फट जाता है, इसलिए बड़े मूल्यों का मूल्यांकन करना कठिन होता है। परिणाम (ऊपर की ओर गोल) हैंN6

NormalPlot LogPlot
भूखंड दिखाते हैंएन के एक समारोह के रूप में कदम ; बाईं ओर एक नियमित और दाईं ओर एक लघुगणक भूखंड।EstepsN

वृद्धि घातीय प्रतीत होती है लेकिन अच्छे अनुमान देने के लिए मूल्य बहुत कम हैं।

गड़बड़ी के खिलाफ स्थिरता के लिए के रूप में मैं एन = 3 के लिए स्थिति को देख सकते हैं :piN=3

Expected number of steps for N=3 and different choices
प्लॉट दिखाता हैपी 0 और पी 1 के एक समारोह के रूप में कदम ; स्वाभाविक रूप से, पी 2 = 1 - पी 0 - पी 1Estepsp0p1p2=1p0p1

बड़ा के लिए इसी तरह की तस्वीरें मान लिया जाये कि (कर्नेल के लिए भी प्रतीकात्मक परिणामों का आकलन करते क्रैश एन = 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

2logN3+4ϵ214ϵ2

die rolls in expectation -- you should probably stick with that.


  1. 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.
  2. Implementation in Mathematica 10 (Notebook, Bare Source); sorry, it's what I know for these kinds of problems.

1

Just a quick comment regarding the case N=2. Take some large number m, and sample m throws of the die. If you got k heads then you can extract log(mk) bits. Assuming the die is p biased, the average amount of information is

k=0mpk(1p)mk(mk)log(mk)mh(p).
To get this estimate, use the fact that the binomial variable is concentrated around k=pm together with the estimate log(mk)mh(k/m). As m gets larger, we obtain the optimal rate of h(p) per coin throw (this is optimal for information-theoretic reasons, for example the asymptotic equipartition property).

You can use the same method for general N, and you will probably get the same H(p). These algorithms are only optimal in the limit, and there might be algorithms reaching the limit faster than these. In fact, I neglected to compute the speed of convergence - it might be an interesting exercise.


1

I would hazard the following answer.

The specific case of 2 you mentioned above is the specific case of expanding (p+q)2 (where p is prob of head and q prob of tail) which gives you a term 2pq This means you can get pq for one case and qp for the other case. You will need to repeat sampling until you see either pq or qp (head-tail or tail-head) Using them as simulation, you will give equal probability.

When N=3 you have the expansion (p+q+r)3 which gives you the term pqr. In this case, you do the same thing, sampling until you see all 3 outcomes q, p, r in some order in 3 consecutive trials.

The same thing apply for the general case. Thinking carefully, I have to say the case of 2 is the best case where one can work things out in the expansion. When N=3 there are 6 different sequences for pqr and there are many other terms in the expansion. I would feel quite uncomfortable with other terms where there are many more outcomes.

.

Extra:

This makes me think about the idea of simply sampling a lot to estimate the probability of each outcome of the dice. In this simplest case of one layer model with no hidden layer (a known model), we can work out a bound to conclude that the estimation converges quickly. In fact Chernoff bound shows us that the error goes down exponentially as sampling increases (linearly).

Now that a good estimation of the probabilities for each side of the dice is known, there are many options. One option is that we can do the expansion above again, but this time we can potentially use many other terms in the expansion that have the same value as i=1i=npi (or any term that you use as based sequence). This will be a bit more efficient because more terms in the expansion will be used. But I admit I don't know if this will result in the smallest number of calls to the oracle to have a guarantee on whatever preconditions (such as confidence parameter), if they are given.

Nevertheless, this approach is an answer to different flavor of the question. The question asks for guaranteed perfect unbiased-ness at the cost of potentially large sampling (though low prob). This approach only uses finite sampling with bound on confidence parameter. So I don't think this approach is appropriate to this question even though it is very interesting.

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.