用有偏向的模子模拟公平的模子


18

给定一个偏向芯片,如何均匀地生成范围内的随机数?模子面的概率分布是未知的,所知道的是每个面的概率都为非零,并且所有抛出的概率分布都是相同的(特别是,抛出是独立的)。这是带有不公平死亡公平结果的明显概括。N[1,N]

用计算机科学的术语来说,我们有一个代表死角的预言片:使得为非零且独立于。我们正在寻找一个确定性算法其通过参数化(即可向呼叫),使得。该算法必须以概率1终止,即概率使得多于到呼叫必须收敛到作为。D:N[1,N]pi=P(D(k)=i)kADADP(A()=i)=1/N一种ñd0ñ

对于(使用有偏差的硬币模拟硬币翻转产生的公平硬币),有一种众所周知的算法:ñ=2

  • 重复“翻转两次”,直到两次掷出的结果不同((头,尾)或(尾,头))。换句话说,循环直到ķ=0 ..d2ķ+1个d2ķ
  • 如果最后一对翻转是(头,尾),则返回0,如果是(尾,头),则返回1。换句话说,返回,其中是终止循环的索引。D(2k)k

从有偏的模型制作无偏的骰子的一种简单方法是使用硬币翻转无偏方法来构建一个公平的硬币,并通过拒绝采样来构建一个公平的骰子,如序列无偏中所述。但是,这是否最优(对于概率分布的通用值)?

具体来说,我的问题是:什么是需要的算法最小预期呼叫到Oracle的数量?如果一组可达到的期望值是开放的,那么下界是什么?向该下界收敛的一类算法是什么?

如果不同的算法家族对于不同的概率分布是最优的,那么我们将重点放在几乎公平的骰子上:我正在寻找一种算法或一种算法家族,对于表示。i,|pi1/N|<ϵϵ>0


请注意,仔细定义最佳值非常重要,因为例如,可能会给您一个完全公平的骰子,或者对于或具有,的骰子,或其他任何值有点死 用于公平模具的最佳方案只需要滚一次,而对于不公平的示例,最佳方案则需要很多辊。此外,在所有可能的偏置管芯上,最优值的最高值可能不受限制。因此,您可能需要引入一个参数,并假设。p = ε /ñ - 1 > 1个最大p 1 - εp1=1ϵpi=ϵ/(N1)i>1maxipi1ϵ
usul 2014年

@usul我不理解您的评论。对于某些值,存在更有效的算法(例如,如果),但是我只要求不依赖于。什么是点?&ForAll; p = 1 / Ñ p εpii,pi=1/N(pi)ϵ
吉尔斯(Gilles)'“ SO-别再邪恶了”

如何测量不依赖的算法的效率?可能对于任何此类算法,通过将我的示例带有偏向模具,预期的所需调用次数没有上限。这就是我所说的“最优……的最大可能是无限的”。因此,如果所有算法都可以期望任意多地掷骰子,那么我们如何确定最佳选择呢?ϵ 0(pi)ϵ0
usul 2014年

@usul当然,罚球数没有上限,但是我在问期望值(即平均罚球数)。对于给定的分布,创建公平硬币并将其用于拒绝采样的算法的期望值是有限的,不是吗?的确,期望值取决于分布,因此对于不同的分布,不同的(系列)算法可能是最佳的。如果是这样,可以说我对几乎公平的骰子感兴趣。(pi)
吉尔(Gilles)'所以

问题不完全正确,但是您是否只愿意寻求接近均匀的结果(在 /总变化距离中)?如果是这样,则根据您从原始分布中获得的保证,在最近的论文(提交中)中对此进行了研究,其名称为“均匀性的采样改进剂”-特别表明,您可以获得独立于的平局数从距离改善到距离。 Ñ 1 ε ε '1N1εε
Clement C.

Answers:


3

以下论文回答了这个问题的一个近似变体:Elias 1972年,《无偏随机序列的有效构造》

这里的问题似乎是这样的:允许访问该有偏向的独立源,输出的随机数序列(请注意,与您的问题的区别在于仅请求一个输出符号)。随着所需输出的长度达到无穷大,本文中该方案的“效率”(似乎是冯·诺伊曼的自然概括)变为,这意味着,我相信,将具有熵的输入转换为熵的输出接近。1个ħ ħ[1,N]1hh

用这种方式措词时,问题似乎比请求一个输出数字好得多,因为例如,如果我们绘制样本并最终得到包含大量信息的输出(例如,所有输入符号都是不同的) ,那么我们可以使用所有这些信息来生成许多输出符号,而对于这里所说的问题,任何超出用于生成一个输出符号的信息都会浪费掉。NNN

我相信该方案反复进行绘制,查看序列,并将其映射为一些输出或空字符串。也许有一种方法可以通过查看前缀并在我们有“足够”的信息来输出符号时停止显示来改善您的问题的方案?我不知道。N


我没有搜索到了随后的工作或工作援引的文件,所以我不知道,但也许有人拥有完善的方案,提供了另一种回答了你的问题,等等
美国UL

2

您为概括地描述的方法。我们使用所有排列是同等可能的,即使有偏斜的骰子也是如此(因为骰是独立的)。因此,我们可以继续滚动,直到看到最后滚动这样的排列并输出最后一个滚动。[ 1 .. N ] NN=2[1..N]N

一般分析是棘手的。但是很明显,由于在任何给定步骤中看到排列的可能性很小(并且与前后步骤无关,因此很棘手),预期的滚动数会以快速增长。它大于为固定,然而,这样的过程终止几乎肯定(即,具有概率)。0 N 1N0N1

对于固定我们可以在总和为的Parikh向量集合上构建马尔可夫链,总结最后掷骰的结果,并确定预期的步数,直到达到第一次。这足够了,因为所有共享Parikh向量的排列都是相同的;链和计算更简单。Ñ Ñ 1 ... 1 NNN(1,,1)

假设我们处于状态与。然后,获得元素的概率(即下一掷是)总是由Σ ñ = 1 v Ñ v=(v1,,vN)i=1nviNii

Pr[gain i]=pi

另一方面,从历史中删除元素的可能性由下式给出:i

Prv[drop i]=viN

每当(否则为)时,恰恰是因为用Parikh向量进行的所有排列均具有同等可能性。这些概率是独立的(因为掷骰子是独立的),因此我们可以按以下方式计算过渡概率:0 vi=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;

所有其他转换概率为零。单个吸收状态是,即所有排列的Parikh矢量。[ 1 .. N ](1,,1)[1..N]

对于,所得的马尔可夫链¹为N=2

N = 2的马尔可夫链
[ 来源 ]

直至吸收为止的预期步骤数

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

为简化使用。如果现在所建议的,一些,然后p 0 = 1p1=1p0ε&Element;[01p0=12±ϵϵ[0,12)

Esteps=3+4ϵ214ϵ2

对于和均匀分布(最好的情况),我使用计算机代数²进行了计算;由于状态空间快速爆炸,因此难以评估更大的值。结果(向上舍入)为N6

正态图 对数图
图表显示作为的函数;左边是正则图,右边是对数图。NEstepsN

增长似乎是指数级的,但是值太小而无法给出正确的估计。

至于针对摄动的稳定性,我们可以看一下的情况: Ñ = 3piN=3

N = 3和不同选择的预期步骤数
图显示与和;自然地,。p 0 p 1 p 2 = 1 p 0p 1Estepsp0p1p2=1p0p1

假设较大的相似的图片(即使,内核也会崩溃,计算出的符号结果),除了最极端的选择(在某些处几乎全部或全无质量)之外,其他所有步骤的预期步数似乎都很稳定。N = 4 p iNN=4pi

为了进行比较,模拟偏向的硬币(例如,通过将模具结果尽可能均匀地分配给和),使用它来模拟公平的硬币并最终执行按位拒绝采样0 1ϵ01

2logN3+4ϵ214ϵ2

出乎意料地死掉-您可能应该坚持下去。


  1. 由于链条在被吸收,以灰色提示的边缘永远不会被遍历并且不会影响计算。我包括它们仅是出于完整性和说明目的。(11)
  2. 在Mathematica 10中的实现(NotebookBare Source);抱歉,这就是我对这类问题的了解。

1

关于的情况,请快速评论一下。取一些大数m,并采样m次掷骰子。如果您有k个头,则可以提取位。假设裸片偏,则平均信息量为 要获得此估计,请使用二项式变量与估计一起集中在的事实。随着变大,我们获得的最佳比率N=2mmk pm k=0pk1pmk mlog(mk)pk=pmlog m

k=0mpk(1p)mk(mk)log(mk)mh(p).
k=pmlog(mk)mh(k/m)mh(p) 每次投掷硬币(出于信息论的原因,例如渐近均分属性,这是最佳选择)。

您可以对一般使用相同的方法,并且可能会获得相同的。这些算法仅在极限中是最佳的,并且可能有一些算法比这些算法更快地达到极限。实际上,我忽略了计算收敛速度的方法-这可能是一个有趣的练习。NH(p)


1

我会冒险以下答案。

您上面提到的2的特定情况是扩展的特定情况 (其中是头的概率,而概率是尾巴),这使您获得了 这意味着您可以针对一种情况获得,的另一种情况。您将需要重复采样,直到看到或(头尾或尾巴)为止。将它们用作模拟,您将得出相等的概率。(p+q)2pq2pqpqqppqqp

您具有p + q + r 3的展开式,即项p q r。在这种情况下,您将做同样的事情,进行采样,直到在3次连续试验中按顺序看到所有3个结果qpr为止。N=3(p+q+r)3pqrqpr

N=3pqr

额外:

这使我想到了简单地采样以估计骰子每个结果概率的想法。在没有隐藏层(已知模型)的最简单情况下,我们可以得出一个结论,即估计收敛很快。实际上,切尔诺夫边界向我们表明,随着采样的增加(线性),误差呈指数下降。

i=1i=npi

尽管如此,这种方法还是对这个问题的不同回答。这个问题要求以可能的大量采样(尽管概率很低)为代价来保证完美无偏。该方法仅使用具有置信度参数上的有限采样。因此,即使它很有趣,我也不认为这种方法适合该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.