Учитывая смещенную стороннюю матрицу, как можно случайное число в диапазоне равномерно генерировать N ] ? Распределение вероятностей граней матрицы неизвестно, все, что известно, это то, что каждая грань имеет ненулевую вероятность и что распределение вероятности одинаково для всех бросков (в частности, броски независимы). Это очевидное обобщениесправедливых результатов с несправедливой смертью.
Если выразить это в терминах информатики, у нас есть оракул, представляющий броски кубика: такой, что равен нулю и не зависит от . Мы ищем детерминированный алгоритм который параметризован (т. Е. может вызывать ) так, чтобы . Алгоритм должен завершаться с вероятностью 1, то есть вероятность того, что делает больше, чем вызовов должна сходиться к при .
Для (имитировать честную монету из подбрасывания монеты пристрастной монетой) существует хорошо известный алгоритм:
- Повторяйте «дважды», пока два броска не приведут к определенным результатам ((головы, хвосты) или (хвосты, головы)). Другими словами, цикл для до тех пор, пока
- Вернуть 0, если последняя пара бросков была (головы, хвосты) и 1, если это было (хвосты, головы). Другими словами, вернуть где - индекс, при котором цикл был завершен.
Упрощенный способ сделать беспристрастный кристалл из предвзятого состоит в том, чтобы использовать метод смещения монеты с переворотом, чтобы построить честную монету и построить честный кристалл с выборкой отклонения, как в Unbiasing of sequence . Но является ли это оптимальным (для общих значений распределения вероятностей)?
В частности, мой вопрос: что такое алгоритм, который требует наименьшее ожидаемое количество обращений к оракулу ? Если набор достижимых ожидаемых значений открыт, какова нижняя граница и что представляет собой класс алгоритмов, сходящихся к этой нижней границе?
В случае, если разные семейства алгоритмов оптимальны для разных распределений вероятности, давайте сосредоточимся на почти честных кубиках: я ищу алгоритм или семейство алгоритмов, оптимальных для распределений, таких что для некоторых .
источник
Ответы:
Следующая статья отвечает на близкий вариант этого вопроса: Эффективное построение несмещенной случайной последовательности, Элиас, 1972 .
Похоже, возникает следующий вопрос: получив доступ к этому смещенному независимому источнику, выведите последовательность случайных чисел в (обратите внимание на отличие от вашего вопроса, в котором запрашивается только один выходной символ). По мере того, как длина желаемого результата уходит в бесконечность, «эффективность» схемы в статье (которая выглядит как естественное обобщение фон Неймана) становится равной 1 , что означает, я полагаю, что вход с энтропией h преобразуется в выход энтропии приближается к ч[1,N] 1 h h .
Вопрос выглядит гораздо лучше, когда он формулируется таким образом, а не запрашивает одну выходную цифру, потому что, например, если мы рисуем выборок и в результате получаем вывод с большим количеством информации (например, все N входных символов различны) затем мы можем использовать всю эту информацию для получения множества выходных символов, тогда как при заданном здесь вопросе любая информация, помимо той, которая использовалась для получения одного выходного символа, теряется.N N
Я полагаю, что схема многократно берет отрисовок, просматривает последовательность и отображает в ней некоторые выходные данные или пустую строку. Возможно, есть способ улучшить схему вашего вопроса, посмотрев на префиксы и остановившись, если у нас «достаточно» информации для вывода символа? Я не знаю.N
источник
Метод, который вы описываете для обобщает. Мы используем, что все перестановки [ 1 .. N ] одинаково вероятны даже с смещенным кристаллом (так как броски независимы). Следовательно, мы можем продолжать вращаться, пока не увидим такую перестановку, как последние N бросков, и вывести последний бросок.N=2 [1..N] N
Общий анализ сложен; однако ясно, что ожидаемое число бросков быстро возрастает в так как вероятность увидеть перестановку на любом данном шаге мала (и не зависит от шагов до и после, а значит, хитрая). Это является большим , чем 0 при фиксированном N , однако, поэтому процедура завершается почти наверняка (то есть с вероятностью 1 ).N 0 N 1
Для фиксированного мы можем построить цепь Маркова на множестве векторов Париха, сумма которых равна ≤ N , суммируя результаты последних N бросков, и определить ожидаемое количество шагов, пока мы не достигнем ( 1 , … , 1 ) для первый раз . Этого достаточно, поскольку все перестановки, имеющие общий вектор Париха, одинаково вероятны; таким образом цепочки и вычисления проще.N ≤N N (1,…,1)
Предположу , что мы в состоянии с Й п я = 1 V я ≤ N . Тогда вероятность получения элемента i (т. Е. Следующий бросок равен i ) всегда определяется какv=(v1,…,vN) ∑ni=1vi≤N i i
.Pr[gain i]=pi
С другой стороны, вероятность удаления элемента из истории определяется выражениемi
всякий раз , когда (и 0 в противном случае) именно потому , что все перестановки с Парих вектора V с равной вероятностью. Эти вероятности независимы (так как броски независимы), поэтому мы можем вычислить вероятности перехода следующим образом:∑ni=1vi=N 0 v
все остальные вероятности перехода равны нулю. Единственное поглощающее состояние - это , вектор Париха всех перестановок из [ 1 ... N ] .(1,…,1) [1..N]
Для полученная цепь Маркова ¹ имеет видN=2
[ источник ]
с ожидаемым количеством шагов до поглощения
используя для упрощения, что . Если сейчас, как и предполагалось, р 0 = 1p1=1−p0 для некоторогоϵ∈[0,1p0=12±ϵ , тоϵ∈[0,12)
.Esteps=3+4ϵ21−4ϵ2
Для и равномерных распределений (лучший случай) я выполнил вычисления с помощью компьютерной алгебры²; поскольку пространство состояний быстро взрывается, большие значения трудно оценить. Результаты (округленные в большую сторону)N≤6
Сюжеты показывают как функция N ; слева регулярный, а справа логарифмический график.
Рост кажется экспоненциальным, но значения слишком малы, чтобы давать хорошие оценки.
Что касается устойчивости к возмущениям мы можем взглянуть на ситуацию для N = 3 :pi N=3
Сюжет показывает в зависимости от p 0 и p 1 ; естественно, p 2 = 1 - p 0 - p 1 .
Предполагая, что аналогичные изображения для большего (ядро дает сбой при вычислении символических результатов даже для N = 4 ), ожидаемое количество шагов кажется достаточно стабильным для всех, кроме самых экстремальных вариантов (почти все или нет массы при некотором значении p i ).N N=4 pi
Для сравнения, имитация монеты с смещением (например, путем присвоения результатов кубика 0 и 1 как можно более равномерно), использование этого для симуляции монеты и, наконец, выборка побитовых отбраковок требует максимумϵ 0 1
кубики в ожидании - вы должны придерживаться этого.
источник
Просто быстрый комментарий по делу . Возьмите какое-нибудь большое число m и образец m бросков матрицы. Если у вас есть k голов, вы можете извлечь журнал ( мN=2 m m k log(mk) p
источник
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.
WhenN=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. WhenN=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=ni=1pi (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.
источник