我们能否快速生成完全一致的mod 3或解决NP问题?
老实说,我对如何生成随机数了解不多(欢迎发表评论!),但让我们假设以下理论模型:我们可以从获得均匀一致的整数,我们的目标是从[1,3]输出一个整数均匀随机数。[1,2n][1,2n][1,2^n] 下面是一个预期运行时间为多项式的简单解决方案。从舍弃(也可能舍弃),以便剩余整数的数目可以被整除,因此我们可以取作为生成的整数。如果我们得到一个废弃的数字,我们将生成另一个数字,直到得到一个未被废弃的数字。2n2n2^n2n−12n−12^n-1[1,2n][1,2n][1,2^n]333mod3mod3\bmod 3 但是,如果我们要在多项式时间内确定终止,该怎么办?由于可除性问题,该问题变得无法解决。但是,我想知道我们是否可以解决以下问题。 假设我们可以从[1,2 ^ n]生成均匀随机的整数[1,2n][1,2n][1,2^n],并且给出了一个计算难题。我们的目标是从[1,3]中输出均匀一致的整数或解决难题。 在这里,困难的问题可能是分解整数,求解SAT实例或类似问题。例如,如果给定一些f(x)(并且假设n为偶数),我们可以按以下方式解码单向排列f:如果对于我们的随机字符串f(r)<f(x),则取f (r)\ bmod 3,如果f(r)> f(x),则取f(r)-1 \ bmod 3。最后,如果f(r)= f(x),那么我们完成了,因为r = x。(如果n为奇数,那么类似的方法也起作用,只是我们还必须检查f(r + 1)= f(x),如果f(r)> f(x)减去2。)ffff(x)f(x)f(x)nnnf(r)<f(x)f(r)<f(x)f(r)f(x)f(r)−1mod3f(r)−1mod3f(r)-1\bmod 3f(r)=f(x)f(r)=f(x)f(r)=f(x)r=xr=xr=xnnnf(r+1)=f(x)f(r+1)=f(x)f(r+1)=f(x)222f(r)>f(x)f(r)>f(x)f(r)>f(x) 答案摘要。 埃米尔·杰拉贝克(EmilJeřábek)已证明,除非能够完全均匀地生成,否则我们可以从TFNP以及PPA-3解决任何单值搜索问题。另一方面,daniello已经表明,除非NP = co-NP,否则我们无法以上述方式解决NP-完全问题。