估计多项式时间的平均值


20

令为一个函数。我们想估计的平均值;即:。˚F ë [ ˚F Ñ ] = 2 - Ñ Σ X { 0 1 } Ñ ˚F X f:{0,1}n(2n,1]fE[f(n)]=2nx{0,1}nf(x)

NOTE: In the OP, the range of f was [0,1]. I changed this a bit for technical reasons. (This should simplify the problem; if not, forget it!)

令为(随机)估计算法。假设具有对的黑匣子访问权限。我们用表示。E f E fEEfEf

有两个条件:

1)估计器的运行时间:存在一个多项式,使得对于所有和所有,的运行时间受。n f E f1 np n p()nfEf(1n)p(n)E[f(n)]

2)具有置信度估计器精度:δ q ñ ˚F 1存在一个多项式,使得对于所有和所有,我们有的概率至少为。q()nfδ1q(n)<Ef(1n)E[f(n)]<q(n)δ

NOTE: The confidence δ was not in the OP. The parameter δ is in (0,1), and may depend on n. For instance, it may be 1-1/2^n.

是否存在这样的估计量?

背景与动机

一开始我没有提到我的动机,因为这需要大量的背景知识。无论如何,对于发烧友,我会简单地描述一下:在下面的文章中定义的“能力证明”的背景下,就需要这样的估计器:

Mihir Bellare,Oded Goldreich。证明计算能力,1992年。未出版的手稿。

具体来说,在第5页的底部,作者隐含地假设存在这样的估计量(没有提到精度,并且运行时间没有精确定义;但是上下文清楚地定义了所有内容。)

我的第一次尝试是阅读“ 采样器的样本-采样的计算视角 ”。它涉及一个非常相似的问题,但是定义的错误概率是累加的,而我们的是乘法的。(我没有完全阅读该论文,也许它提到了我需要的地方。)

编辑(根据Tsuyoshi的要求):实际上,“计算能力证明”的定义要求存在一个“知识提取器”,其(预期)运行时间为。由于我们不知道,因此我们想对其进行估算;但是这不能显着改变运行时间:应该将其更改为多项式因数。精度条件试图捕获这样的要求。 E[fn]p(n)E[f(n)]E[f(n)]


我无法理解精度条件。是什么阻止算法E总是输出1?您是说1 / q(n)<(真实值)/(估计值)<q(n)吗?
伊藤刚(Tsuyoshi Ito)2010年

看来p(n)= q(n)= O(1)和输出“ 1” 的平凡算法应该起作用。它的运行时间为O(1),由。它的精度为<= 1,小于q(n)。p n Ef(1n)p(n)E[f(n)]
罗宾·科塔里

@Tsuyoshi&Robin:抱歉,我错过了精确度的一项条件。立即查看!
MS Dousti

另外,我猜想估计量是随机的(只是因为否则看起来不可能)。是这样吗 另外,如果是,那么运行时间条件和精度条件到底需要什么?
伊藤刚(Tsuyoshi Ito)2010年

1
我想我不太清楚这个问题。为什么没有切尔诺夫边界的天真采样器不是一个好的估计器?
Sylvain Peyronnet

Answers:


15

编辑:这解决了f仅输出0或1的问题的版本。但是我认为该解决方案可以进行调整,以使其适用于更一般的情况。

也许我误解了这个问题,但这看起来并不难。

除了估算平均值外,我们不妨估算一下1的数量,然后将其称为k。令。因此平均值为k / N。您想在时间为O(N polylog(N)/ k)的多项式乘法因子内进行估算。N=2n

我认为这也可以在任何恒定的乘法因子内完成。例如,假设您要将其估计为2的系数。因此,算法的输出将在k / 2与2k之间。k

我将草拟一个算法,该算法应具有适当的运行时间。首先检查k是否在N / 2和N之间。这很容易,只需对几个随机值进行采样,如果得到的半个1s大于一半,则它在此间隔内。因此,您有一个2近似值。如果不是,则检查它是否在N / 4和N / 2之间。等等。每次使间隔变小,估计k是否在该范围内的开销就更大。但是成本与间隔的大小成反比。

例如,如果要检查k是否在和,则需要进行查询。无论如何,在重复此过程足够的次数后,您应该获得k所在的间隔。说k位于和。那么,k约为。因此约为k / N。因此,在这一步中,我们将花费O(k / N)个查询。但是要执行此步骤还需要其他步骤,但这仅仅是一个额外的polylog(N)因素。因此,总运行时间为O(N polylog(N)/ k),近似为2。N/2q2N/2qO(2q)N/2q2N/2qN/2q2q

(实际上,必须进行误差放大才能在每一步中获得不错的精度。但这只是一个额外的多对数因素。)


我喜欢在这几个阶段的过程中想到它的原因是,它突出显示了该过程作为猜测和检查程序。如果有人告诉您在和,那么您可以在承诺的时间范围内知道这一事实,从而将其估计为更高的精度。因此,我们需要消除对进行猜测的步骤。这是通过对该类型的所有可能间隔进行二进制搜索来完成的。kN/2q2n/2qk

为了使这种情况适用于非布尔型输出,只需对所看到的值求和即可,而不是对1进行计数。我将尝试查找一个参考,以表明它可以严格执行。


(1)由于函数f可能采用非整数值,因此您可能希望使用值的总和而不是1的数量。(2)我们必须逐步评估吗?我猜想我们可以在一个阶段中执行此操作,只需重复执行,直到总和超过固定多项式即可。另请参阅我对问题的评论。
伊藤刚(Tsuyoshi Ito)2010年

哦,我没有注意到范围是[0,1]。我以为是{0,1}。但是我想同样的程序也可以。也许我们可以将一个问题简化为另一个问题,因为我们可以以足够的精度“计数”输出的二进制表示形式的特定位置中的1个数。关于(2),我认为您的过程是等效的。我以这种方式来考虑,因为感觉就像是一种猜测和检查过程,即,给定k的估计值很差,得到一个更好的值。我将其添加到我的答案中。
罗宾·科塔里

我同意这两种算法本质上是相同的。另外,对于[0,1]和{0,1},您的算法可能会按硬币翻转(1 wp f(x)和0 wp 1-f(x))。
伊藤刚(Tsuyoshi Ito)2010年

@罗宾:谢谢你的回答。对我来说还不清楚:您说:“只需采样一些随机值,如果得到的半个1以上,则它处于此间隔内。” 我相信必须对此进行量化:多少个样本可以达到什么精度?(我改变OP来考虑这种信心。否则,将无法设计所需的采样器!)
MS Dousti 2010年

@Sadeq:那是切尔诺夫界。如果您希望k为n / 2(例如,一个公平的硬币),则可以快速记下一个尾部边界,以便看到大于n(1 + eps)/ 2的像素,而下界的像素类似。
Suresh Venkat 2010年

3

令表示应用于来自的无限随机样本序列(带有替换)的的值。令为最小正整数,使得对于某个值,也许。我猜想估计器应该完成您想要的。f1,f2,f{0,1}nki=1kfiMMM=polylog(n)M/k

为了进行分析,您不能将Chernoff边界直接应用于随机变量但是有一个技巧可以让您仍然使用Chernoff。令表示未知期望。找到常数和(函数),以便至少有概率,而和。可以使用Chernoff限制的总和。因此,的概率至少为,因此估计量μ È ˚F ķ Ø 瓦特 ķ ħ ħ μ 1 - δ Σ ķ ö 瓦特= 1 ˚F < 中号Σ ķ ħ ħ= 1 ˚F > 中号˚F ķ ö 瓦特 < k < k h i g h 1 - δkμE(f)klowkhighμ1δi=1klowfi<Mi=1khighfi>Mfiklow<k<khigh1δM/k 非常集中。

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.