Önyargılı bir kalıpla adil bir kalıp simüle et


18

Önyargılı bir taraflı kalıp verildiğinde , aralığındaki rasgele bir sayı nasıl düzgün bir şekilde oluşturulabilir? Kalıp yüzlerinin olasılık dağılımı bilinmemektedir, bilinen her şey, her yüzün sıfır olmayan bir olasılığa sahip olması ve olasılık dağılımının tüm atışlarda aynı olmasıdır (özellikle atışlar bağımsızdır). Adil sonuçların haksız kalıpla açık bir şekilde genelleştirilmesi budur .N[1,N]

Bunu bilgisayar bilimleri terimleriyle ifade etmek , sıfırdan farklı ve bağımsız olacak şekilde kalıp rulolarını temsil eden bir kehanetimiz var: . Bu belirleyici bir algoritma için ideal ile parametrelenmişse (yani çağrı yapabilir ) bu şekilde . Algoritma olasılık 1 ile sonlanmalıdır, yani den fazla çağrı yapma olasılığı olarak yaklaşmalıdır .D:N[1,N]pi=P(D(k)=i)kADADP(A()=i)=1/NAnD0n

İçin , iyi bilinen bir algoritma vardır (para eğimli bir madeni para ile döndürür adil bir para simüle):N=2

  • İki atış farklı sonuçlar ((kafalar, kuyruklar) veya (kuyruklar, kafalar)) ortaya çıkıncaya kadar “iki kez çevir” i tekrarlayın. Başka bir deyişle, d ( 2 k + 1 ) D ( 2 k ) olana kadar için döngük=0..D(2k+1)D(2k)
  • Son çift döndürme (kafalar, kuyruklar) ise 0 ve öyleyse 1 (kuyruklar, kafalar) dön. Başka bir deyişle, döndürün ; D(2k)burada k , döngünün sonlandığı dizindir.

Önyargılı olandan tarafsız bir kalıp yapmanın basit bir yolu, adil bir para oluşturmak için bozuk para çevirme unbiasing yöntemini kullanmak ve dizileri Unbiasing'de olduğu gibi ret örnekleme ile adil bir kalıp oluşturmaktır . Fakat bu uygun mu (olasılık dağılımının jenerik değerleri için)?

Özellikle, sorum şu: gerektiren bir algoritma nedir en küçük beklenen kahin çağrı sayısı ? Ulaşılabilecek beklenen değerler kümesi açıksa, alt sınır nedir ve bu alt sınıra yaklaşan bir algoritma sınıfı nedir?

Durumda algoritmaların farklı ailelerin neredeyse-fuar zar üzerinde odağını izin farklı olasılık dağılımları için optimal şunlardır: Ben bir algoritma veya dağılımlar için en uygun algoritma ailesini arıyorum öyle ki i,|pi1/N|<ϵ bazıları için ϵ>0 .


Bu, örneğin, bir tam makul kalıp verilebilir olabileceğinden dikkatli bir şekilde, optimal olan tanımlamak önemlidir, ya bir kalıp olan Not p1=1ϵ , pi=ϵ/(N1) için i>1 , ya da herhangi bir başka bir çeşit kalıp. Adil kalıp için en uygun şema sadece bir rulo gerektirirken, haksız örnek için en uygun şema çok gerektirir. Ayrıca, tüm olası yanlı kalıplar üzerindeki optimalin supremumu muhtemelen sınırsızdır. Yani bir parametre tanıtmak isteyebilirsiniz ve diyelim ki mesela. maxipi1ϵ
usul

@usul Yorumunuzu anlamıyorum. Bazı değerleri için daha verimli algoritmalar vardır (örneğin, i , p i = 1 / N ), ancak yalnızca ( p i ) 'ye bağlı olmayan algoritmalar istiyorum . Ε ne anlama geliyor ? pii,pi=1/N(pi)ϵ
Gilles 'SO- kötü olmayı bırak

bağlı olmayan bir algoritmanın verimliliğini nasıl ölçersiniz ? Muhtemelen bu tür algoritması için, hiçbir üst ile benim örnek önyargılı kalıp alarak, gereken arama beklenen sayısına orada bağlı £ değerinin 0 . Demek istediğim, "optimalin supremumu ... muhtemelen sınırsızdır". Öyleyse, tüm algoritmalar beklenti içinde keyfi olarak çok sayıda rulo gerektirebilirse hangisinin en iyi olduğuna nasıl karar verebiliriz? (pi)ϵ0
usul

@usul There is no upper bound on the number of throws, of course, but I'm asking about the expected value (i.e. the average number of throws). For a given distribution (pi), the expected value for the algorithm that creates a fair coin and uses that for rejection sampling is finite, isn't it? It's true that the expectation depends on the distribution, so different (families of) algorithms could be optimal for different distributions. If that's the case, let's say I'm interested in almost-fair dice.
Gilles 'SO- stop being evil'

Tam olarak soru değil, ama sadece üniform olana yakın bir sonuç aramaya istekli misiniz ( / toplam varyasyon mesafesi)? Eğer öyleyse, orijinal dağıtımdan sorduğunuz garantiye bağlı olarak, bu, son zamanlarda yayınlanan bir makalede (gönderimde), "tekdüzelik için örnekleme geliştirici" adı altında incelenmiştir - özellikle N'den bağımsız çekiliş sayıları alabilirsiniz. dan geliştirmek için 1 uzaktan £ değerinin mesafesi £ değerinin ' . 1N1εε
Clement

Yanıtlar:


3

Aşağıdaki makale bu sorunun yakın bir varyasyonuna cevap vermektedir: Tarafsız Rastgele Bir Sıranın Verimli İnşası, Elias 1972 .

Soru şu gibi görünüyor: Bu önyargılı bağımsız kaynağa erişim verildiğinde , [ 1 , N ] ' de rasgele sayılar dizisi verin ( yalnızca bir çıkış sembolünün talep edildiği sorunuzdan farkı not edin). İstenen çıktı uzunluğu sonsuza geçtikçe, (von Neumann doğal bir genelleme gibi görünüyor) kağıt düzeni "etkinliği" gider 1 entropi bir giriş, ben inanıyoruz anlamı, h dönüştürülür entropinin çıktısı h .[1,N]1hh

The question seems much better behaved when phrased this way, rather than requesting a single output digit, because, for instance, if we draw N samples and end up with an output with lots of information (for instance, all N input symbols are distinct), then we can use all of that information to produce many output symbols, whereas with the question as phrased here, any information beyond that used to produce one output symbol goes to waste.

I believe that the scheme repeatedly takes N draws, looks at the sequence, and maps it some outputs or the empty string. Perhaps there is a way to improve the scheme for your question by looking at prefixes and stopping if we have "enough" information to output a symbol? I don't know.


Ben sonraki çalışma ya da kağıt alıntı iş aramadım, bu yüzden bilmiyorum ama belki biri düzenini geliştirdi, başka teklif, sorunuzu yanıtladı, vb.
usul

2

genellemeleri için tanımladığınız yöntem . [ 1 .. N ] ' nin tüm permütasyonlarının taraflı bir kalıpla bile eşit derecede olası olduğunu kullanıyoruz (rulolar bağımsız olduğu için). Bu nedenle, son N rulo gibi bir permütasyon görene ve son ruloyu çıkana kadar ilerlemeye devam edebiliriz .N=2[1..N]N

A general analysis is tricky; it is clear, however, that the expected number of rolls grows quickly in N since the probability of seeing a permutation at any given step is small (and not independent of the steps before and after, hence tricky). It is greater than 0 for fixed N, however, so the procedure terminates almost surely (i.e. with probability 1).

For fixed N we can construct a Markov chain over the set of Parikh-vectors that sum to N, summarising the results of the last N rolls, and determine the expected number of steps until we reach (1,,1) for the first time. This is sufficient since all permutations that share a Parikh-vector are equally likely; the chains and calculations are simpler this way.

Assume we are in state v=(v1,,vN) with i=1nviN. Then, the probability of gaining an element i (i.e. the next roll is i) is always given by

Pr[gain i]=pi.

On the other hand, the propability of dropping an element i from the history is given by

Prv[drop i]=viN

whenever i=1nvi=N (and 0 otherwise) precisely because all permutations with Parikh-vector v are equally likely. These probabilities are independent (since the rolls are independent), so we can compute the transition probabilities as follows:

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;

all other transition probabilities are zero. The single absorbing state is (1,,1), the Parikh-vector of all permutations of [1..N].

For N=2 the resulting Markov chain¹ is

Markov chain for N=2
[source]

with expected number of steps until absorption

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

using for simplification that p1=1p0. If now, as suggested, p0=12±ϵ for some ϵ[0,12), then

Esteps=3+4ϵ214ϵ2.

For N6 and uniform distributions (the best case) I have performed the calculations with computer algebra²; since the state space explodes quickly, larger values are hard to evaluate. The results (rounded upwards) are

NormalPlot LogPlot
Plots show Esteps as a function of N; to the left a regular and to the right a logarithmic plot.

The growth seems to be exponential but the values are too small to give good estimates.

As for stability against perturbations of the pi we can look at the situation for N=3:

Expected number of steps for N=3 and different choices
Plot shows Esteps as a function of p0 and p1; naturally, p2=1p0p1.

Assuming similar pictures for larger N (kernel crashes computing symbolic results even for N=4), the expected number of steps seems to be quite stable for all but the most extreme choices (almost all or none mass at some pi).

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.