P中的运行时范围是否可确定?(答案:否)


64

提出的问题是以下问题是否可以确定:

问题   给定整数k且图灵机M承诺在P中,相对于输入长度nM 的运行时间是否为?O(nk)n

可以接受“是”,“否”或“公开”的狭义答案(带有参考文献,证明草图或对当前知识的回顾),但也欢迎广泛的答案。

回答

Emanuele Viola 发布了一个证明 该问题无法确定的证据(见下文)。

背景

对我来说,这个问题自然是在解析Luca Tevisan对以下问题的回答时引起的:P的运行时是否需要EXP资源才能达到上限?……具体例子已知吗?

该问题还与MathOverflow问题有关:数学上最有吸引力的图灵不可思议的问题是什么?在认识到运行时间估计是与(例如)控制理论和电路设计相关的普遍存在的工程问题的一种变型中,单词“数学”改为“工程”。

因此,提出此问题的主要目标是获得更好的理解/直觉,即复杂度等级P中的运行时估计的哪些实际方面是可行的(即,需要P中的计算资源进行估计),而不是不可行的(即,需要EXP中的计算资源进行估算),而不是形式上不确定的。

-编辑(答案后)-

我已将Viola定理添加到MathOverflow的社区Wiki “引人入胜的不可思议的问题”中。 这是Wiki与复杂度等级P相关的第一个贡献;这证明了中提琴定理的新颖性,自然性和广泛性(恕我直言,它的美也是如此)。

-编辑(答案后)-

Juris Hartmanis的专着《可行的计算和可证明的复杂性》(1978年)涵盖了与Emanuele Viola的证明大部分相同的材料。


在回答Lance Fortnow和Bill GASARCH的网络日志中提出的问题时,在“ 75年的计算机科学”主题下,“我通常希望图灵清醒地问:” ……而不是图灵提出一个更加棘手的问题:“计算数字时可能进行哪些处理?”,接下来要问的问题是(大约)“存在图灵机吗?在NP中,其P的成员身份尚不确定?”这表明我仍在思考!:)
John Sidles 2011年

2
虽然我埃马努埃莱中提琴的证据是清晰的,一个非常类似的问题被问和回答了Mathoverflow:mathoverflow.net/questions/28056/...
亚历克斯·10布林克

事实证明,此主题中的一些答案和想法与Dick Lipton在他的博客Godel的Lost Letter中发布的一篇论文/问题集有关;该论文/问题集为“以P = NP为基础”。网址:rjlipton.wordpress.com/2011/07/04/get-on-base-with-pnp
John Sidles 2011年

尽管P中的界限不确定,但它并不会阻止人们尝试(通过进一步限制自己)。如果在此给出的例子cstheory答案
阿尔乔姆Kaznatcheev

1
这个问题启发了以下文章:arxiv.org/abs/1307.3648
David G

Answers:


83

(M,x)MnMxnMn2n3

Mxt=O(1)MO(n2)MMn3

MxMO(n2)O(n3)


4
为什么M必须在O(1)步骤中停止x(如果确实如此)?
Suresh Venkat

10
Mxn

2
非常聪明的证明,它是某些知名结果的变体,还是您刚刚设计的?
Antonio E. Porreca

3
Mn2n3

2
@John:只要没有给出公开的参考,请考虑本指南
拉斐尔

29

这是对伊曼纽尔·维奥拉(Emanuele Viola)的回答的改写,目的是使人们更容易理解。

PH

(M,x)M(x)MxM

M*(y) = {
  n := |y|
  Simulate M(x) for n steps
  if ( M(x) has halted )
    Execute n*n arbitrary steps
  else
    Execute n*n*n arbitrary steps
}

现在,我们观察到以下含义:

M(x)n0N:M halts on x after at most n0 stepsy:nn0M(y) executes n2 arbitrary stepsTM(n)O(n2)

M(x)nN:M does not halt on x in less than n stepsy:M(y) executes n3 arbitrary stepsTM(n)Ω(n3)

H(M,x)P(M,2)PH



4

在我的文章“ 赖斯定理的内涵内容 ” POPL'2008 中也解决了该问题,我证明了“复杂性集团”是不可判定的。复杂性集团是一类封闭的具有类似行为复杂性的程序。我还提供了半确定属性的必要条件。

从上述意义上说,以O(n ^ k)运行的程序是一个复杂性集团,因此该集合是不可确定的。

Mathieu Hoyrup最近将结果扩展到了子递归设置(例如P):子递归函数的可确定属性(ICALP 2016)。


2

要添加到先前的答案,此问题不仅无法确定,而且已完成。因此,即使决策者对暂停问题有一个预言,也无法确定。 Σ20

为了澄清的完整性,而P-时间承诺条件也是 -complete,有一个可判定代码组,,使得在所有的机器是多项式时间和的问题是在完成。Σ20SSO(n2)Σ20S

为了证明这一点,选择一个完整,与多项式时间可计算(二进制数)。Σ20φφ(x)kmψ(x,k,m)ψ

然后,如果以下机器为,则成立,其中是输入长度(机器仅在乎输入长度):φ(x)O(n2)n

对于0到:     如果:#使用循环         暂停测试#     等待步 暂停kn
m<nψ(x,k,m)

n2

请注意,对于每个不太小的,程序是否总是以(例如)步长暂停是 -complete,但是以健壮的方式询问界限会得到 -completeness。Ñ 2 + c ^ Π 0 1 Σ 0 2cn2+cΠ10Σ20


-1

这是有关该问题及相关问题的最新的更系统的分析/角度/结果,介绍了“算法可验证性”的概念以及用于复杂性理论的莱斯式thm模拟。下面是摘要中的一个相关部分,还有许多其他有关P与NP可证明性的定理等

  • 为什么计算复杂性的概念对于可验证的数学 / Hromkovic来说很难

    首先,我们证明了赖斯定理的不可证明性,声称关于程序的每个非平凡的语义问题在算法上可验证的“ AV”数学中并不是处处都能解决。使用此方法,我们证明了有无数种算法(程序是可证明的算法),对于这些算法,不存在证明它们在多项式时间内起作用或它们在多项式时间内不起作用的证据。...

    注意,如果在AV数学中可以证明P!= NP,则对于每种算法A,都可以证明“ A不能解决可满足性或A在多项式时间内不起作用”。有趣的是,我们最终证明,存在既不能证明它们不能在多项式时间内工作,又不能解决可满足性的算法。此外,存在一种解决可满足性的算法,该算法无法在AV数学中证明它不能在多项式时间内起作用。

    此外,我们证明P = NP表示存在算法X,对于该算法X,在AV数学中无法证明“ X在多项式时间内满足可满足性”。


-3

Viola的解决方案可以推广到任何运行时间(超出poly的时间):您可以按照以下方法将停止问题减少。给定一个停顿问题的实例(M,x),构造一个新机器M',其工作方式如下:在长度为n的输入上,它在x上模拟f(n)个步长的M,直到M停顿为止,其中f(n )是n的任何任意递增函数(大于常数)。(Obs.:M'逐渐读取输入,以避免浪费线性时间[O(n)],因为如果输入足够大且M停止,则不必要地读取所有输入。)

如果M在x处暂停,则它以T = O(1)步长停止,因此M'的运行时间为O(1)。如果M从不停止,则M'的运行时间为O(n ^ 2 * f(n))。

因此,您可以通过确定M'的运行时间是O(1)还是O(n ^ 2 * f(n))来确定M是否接受x。

然后,可以通过以下方式相应地概括拉斐尔的辅助代码:

令(M,x)为停止问题的任何实例,也就是说,我们必须确定M是否在x上停止。构造确定性的图灵机(DTM)M *,其工作方式如下:

  1. M *(输入)= {
  2. n:= 0
  3. 从输入中读取第一个符号
  4. 环:
  5. n:= n + 1
  6. 模拟M(x)步f(n)或直到M(x)停止
  7. 从输入中读取下一个符号
  8. 循环直到end_of_input或M(x)停止
  9. }

现在,我们观察到以下含义:

在最多k(恒定)个步骤之后,M在x处停止运行=> T(M *)= O(1)并且

M从不停止x => T(M *)= O(n ^ 2 * f(n))

因此,即使确定任意DTM的运行时间是否仅大于常数也与停止问题一样困难。□


2
1)请使用LaTeX。2)这个问题的新贡献是什么?3)您的推理是错误的。模拟花费了时间,到当然不能在恒定时间内运行。On M MO(n)M
拉斐尔

对于足够大的n,如果M(x)停止,则其模拟也将停止,并在n0(恒定)步之内返回M *。
安德烈·路易斯·巴尔博萨
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.