此响应与我以前的回答无关。目的是在评论中解决@Kaveh的问题:
如果我们想要是很容易的事情,但是即使对数n也看不到如何做。lognloglogn
我也有类似的担忧:
使用的减少是库克减少。可能有兴趣使用Karp约简进行证明。
(Karp归约是用于决策问题的。这里,Karp归约是指单查询Cook的归约。很抱歉使用非标准术语!)
以下答案基于此处的讨论:https : //math.stackexchange.com/questions/54580/factoring-some-integer-in-the-given-interval。
在这个答案中,我将提供确定性的多项式时间Karp缩减,从分解到分解两个由其分解表示的整数之和。不过,有一个陷阱:在证明过程中,我将使用以下数论假设:
克拉默猜想:对于任意两个连续的质数和p n + 1,我们有p n + 1 − p n = O (log 2 p n)。pnpn+1pn+1−pn=O(log2pn)
令为输入,令n = | N | = O (对数N )。根据克拉梅尔的猜想,对于足够大的N,在区间[ N - log 3 N ,N ]中至少有一个素数。此间隔的长度为log 3 N = O (n 3)。因此,该素数可以在确定的多项式时间内通过蛮力找到。Nn=|N|=O(logN)N[N−log3N,N]log3N=O(n3)
x[N−log3N,N]y=N−x
0≤y≤log3N|y|=O(loglogN)=O(logn)y
(x,y)N=x+y