Імітуйте справедливу валу з упередженою штампом


18

З огляду на упереджене N однобічне відмирання, як можна рівномірно генерувати випадкове число в діапазоні [1,N] ? Розподіл ймовірностей граней штампів невідомий. Все, що відомо, це те, що кожне обличчя має ненульову ймовірність і що розподіл ймовірностей однаковий для всіх кидків (зокрема, кидки незалежні). Це очевидне узагальнення справедливих результатів з несправедливою смертю .

Поклавши це з точки зору інформатики, ми маємо оракул, що представляє рулони: D:N[1,N] такий, що pi=P(D(k)=i) є ненульовим і не залежить від k . Ми шукаємо детермінований алгоритм A , параметризований D (тобто A може робити дзвінки до D ) таким чином, що P(A()=i)=1/N . Алгоритм повинен закінчуватися з ймовірністю 1, тобто ймовірність того, щоA робить більшеn викликівD повинна сходитися до0 якn .

Для N=2 (імітуйте справедливу монету від монети, перевернуту з упередженою монетою) існує відомий алгоритм:

  • Повторюйте “переверніть двічі”, поки два кидки не виберуть чітких результатів ((голови, хвости) або (хвости, голови)). Іншими словами, цикл для k=0.. до D(2k+1)D(2k)
  • Повертайте 0, якщо остання пара гортань була (голови, хвости) та 1, якщо вона була (хвости, голови). Іншими словами, поверніть D(2k) де k - індекс, на якому цикл припинився.

Спрощений спосіб зробити неупереджений штамб з упередженого способу - використовувати метод розкрутки монети, що розгортається, для побудови справедливої ​​монети та побудови справедливої ​​штампу з відбором відторгнення, як у Unbiasing послідовностей . Але чи це оптимально (для загальних значень розподілу ймовірностей)?

Зокрема, моє запитання таке: що таке алгоритм, який вимагає найменшої очікуваної кількості дзвінків до оракула ? Якщо набір доступних очікуваних значень відкритий, яка нижня межа і який клас алгоритмів, що сходиться до цієї нижньої межі?

У разі різних сімейств алгоритмів є оптимальними для різних розподілів ймовірностей, давайте звернемо увагу на майже чесних кісток: Я шукаю алгоритм або сімейства алгоритмів , які оптимально підходить для розподілів таких , що i,|pi1/N|<ϵ для деяких ϵ>0 .


Зверніть увагу, що важливо ретельно визначити оптимальний, оскільки, наприклад, вам може бути цілком справедливий штамб, або штамп, що має p1=1ϵ , pi=ϵ/(N1) для i>1 , або будь-який інший вид померти. Оптимальна схема для справедливого вмирання вимагає лише одного рулону, тоді як для несправедливого прикладу оптимальної схеми потрібно багато. Далі, верхня оптимальна над усіма можливими упередженими плашками, ймовірно, не обмежена. Отже, ви можете ввести параметр і припустити, що наприклад. maxipi1ϵ
usul

@usul Я не розумію твій коментар. Існують більш ефективні алгоритми для деяких значень (наприклад, якщо i , p i = 1 / N ), але я прошу лише алгоритми, які не залежать від ( p i ) . У чому сенс ϵ ? pii,pi=1/N(pi)ϵ
Жил 'SO- перестань бути злим'

Як ви вимірюєте ефективність алгоритму, який не залежить від ? Ймовірно, для будь-якого такого алгоритму немає верхньої межі очікуваної кількості необхідних викликів, взявши мій приклад з упередженою формою з ϵ 0 . Це те, що я маю на увазі під "верхом оптимального ... ймовірно, без обмежень". Отже, якщо всі алгоритми можуть вимагати довільно багато валиків, як ми очікуємо, як ми вирішимо, який найкращий? (pi)ϵ0
usul

@usul Звичайно, немає верхньої межі щодо кількості кидків, але я запитую про очікуване значення (тобто середню кількість кидків). Для даного розподілу очікуване значення для алгоритму, який створює справедливу монету і використовує це для вибірки відхилення, є кінцевим, чи не так? Це правда, що очікування залежить від розподілу, тому різні (сімейства) алгоритми можуть бути оптимальними для різних розподілів. Якщо це так, скажімо, мене цікавлять майже справедливі кістки. (pi)
Жил "ТАК - перестань бути злим"

Не зовсім точно питання, але ви були б готові тільки шукати результат, близький до рівномірного (в / загальна відстань зміни)? Якщо так, залежно від гарантії, яку ви вимагаєте від оригінального розповсюдження, це вивчається в недавньому документі (в поданні) під назвою "Покращувач вибірки для рівномірності" - який показує, зокрема, ви можете отримати кількість розіграшів незалежно від N поліпшити від 1 відстань ε до відстані ε . 1N1εε
Климент К.

Відповіді:


3

Наступний документ відповідає на близький варіант цього питання: Ефективна побудова неупередженої випадкової послідовності, Еліас 1972 .

Питання, мабуть, таке: надаючи доступ до цього упередженого незалежного джерела, виведіть послідовність випадкових чисел у (відзначте відмінність від вашого запитання, у якому запитується лише один вихідний символ). По мірі того, як довжина бажаного результату йде до нескінченності, "ефективність" схеми в роботі (що здається природним узагальненням фон Ноймана) переходить до 1 , тобто, я вважаю, що вхід з ентропією h перетворюється на вихід ентропії наближається до h .[1,N]1hh

Здається, питання набагато краще поводиться при фразуванні цього способу, а не просити одну вихідну цифру, тому що, наприклад, якщо ми намалюємо зразків і в результаті отримаємо багато інформації (наприклад, всі N символів введення відрізняються) , тоді ми можемо використовувати всю цю інформацію для створення багатьох символів виводу, тоді як із запитанням, як це було сформульовано тут, будь-яка інформація, що виходить за рамки тієї, яка використовується для створення одного символу виводу, потрапляє на сміття.NN

Я вважаю, що схема повторно приймає малюнків, переглядає послідовність і відображає в ній деякі результати або порожній рядок. Можливо, є спосіб покращити схему для вашого питання, переглянувши префікси та зупинившись, якщо у нас є "достатньо" інформації для виведення символу? Не знаю.N


Я не шукав подальшої роботи або роботи з посиланням на папери, тому не знаю, але, можливо, хтось вдосконалив схему, запропонував інший, відповів на ваше запитання тощо
usul

2

Описаний вами метод для узагальнює. Ми використовуємо, що всі перестановки [ 1 .. N ] однаково вірогідні навіть з упередженим відмиранням (оскільки рулони незалежні). Отже, ми можемо продовжувати прокручування, поки не побачимо таку перестановку, як останні N рулонів та не виведемо останній рулон.N=2[1..N]N

Загальний аналіз складний; очевидно, однак, що очікувана кількість рулонів швидко зростає в оскільки ймовірність побачити перестановку на будь-якому даному кроці невелика (і не залежить від етапів до і після, отже, хитра). Це є великим , ніж 0N0 при фіксованому , однак, тому процедура завершується майже напевно (тобто з ймовірністю 1 ).N1

Для фіксованого ми можемо побудувати ланцюг Маркова над безліччю парихів-векторів, що дорівнює N , підсумовуючи результати останніх N рулонів, і визначити очікувану кількість кроків, поки ми не досягнемо ( 1 , , 1 ) для перший раз . Цього достатньо, оскільки всі перестановки, які поділяють вектор Parikh, однаково вірогідні; ланцюги і розрахунки простіші.NNN(1,,1)

Припускаю , що ми в змозі з Й п я = 1 V яN . Тоді ймовірність отримання елемента i (тобто наступний ролик є i ) завжди задаєтьсяv=(v1,,vN)i=1nviNii

.Pr[gain i]=pi

З іншого боку, поширеність випадання елемента з історії задається виразомi

Prv[drop i]=viN

всякий раз, коли 0 в іншому випадку) саме тому, що всі перестановки з париховим вектором v однаково вірогідні. Ці ймовірності незалежні (оскільки рулони незалежні), тому ми можемо обчислити ймовірності переходу таким чином: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]

Для отриманий ланцюг Маркова¹ дорівнюєN=2

Markov chain for N=2
[ джерело ]

з очікуваною кількістю ступенів до поглинання

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

використовуючи для спрощення, що . Якщо зараз, як було запропоновано, p 0 = 1p1=1p0p0=12±ϵϵ[0,12)

Esteps=3+4ϵ214ϵ2 .

N6

NormalPlot LogPlot
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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.