是否存在可以针对任何算法都无法给出时间界限的可确定问题?


12

是否存在可确定的问题,使得对于没有解决该问题的算法,我们无法根据输入实例的长度n给出时间限制?

我想到这个问题是因为我在考虑以下问题:

假设我们有一个递归枚举但不确定的问题。进一步假设我是问题的“是”实例。然后,对于没有能够确定问题的“是”实例的算法,我们可以根据I的大小n给出一个时间范围。因为如果可以给出这样的时间范围,我们可以决定问题,因为我们可以简单地得出的结论是,超出时间限制时,我是“否”实例。

由于我们无法为递归式枚举,无法确定的问题提供时间限制(对于“是”实例的计算时间),我想知道是否也存在无法确定的可确定问题。


9
这种算法有一个很短的时间界限:运行算法,并返回该算法执行的步骤数。另一方面,很容易构造难以给出易于理解或表达的界限的示例,例如ackermann函数。
科迪2012年

2
您必须更加精确。如果您谈论(数学)函数,那么是的,有一个与任何图灵机的运行时间相匹配的函数(实际上,比图灵机的功能更多)。如果您谈论可计算函数或等效算法,那么@cody会为您提供答案:只需运行Turing机器确定问题并计算其运行时间即可。
亚历克斯十布林克

8
nn

8
我可以建议修订吗?为了避免这个简单的答案,假设我们将短语“我们可以给定一个时间界限”定义为表示“与在大小为n的所有实例上运行算法相比,我们可以更快地计算最坏情况下的运行时间上限”。 或者,“所有实例”应该是“单个实例”。
Jeffε

1
您的论点取决于您的时间限制函数是否可以完全计算。众所周知,这是无法完成的,但是如果这是您的问题(即,存在部分可计算的函数,而没有可扩展的全部函数),则该问题不是研究级别的。请参阅常见问题,以获取有关您可能在哪里提出此类问题的建议。
卡韦

Answers:


13

AIn

f(n)=maxiIn(n)  time(A(i)),
In(n)ntime(A(i))Ai

如果我们使用简单的代数术语(没有任何形式的递归)作为简洁的定义,那么我认为答案是否定的:存在可以确定的问题,但是其复杂性是非基本的。也就是说,不存在形式为的堆栈,该堆栈限制了大小为n的问题的算法的执行时间。2222n

希望我能以正确的方式理解您的问题。


6

您对这个问题的看法与马库斯(Marcus)的看法略有不同,但是鉴于您对如何想到这个问题的解释,它可能更接近您要寻找的问题。

有时,人们可以证明问题是可以判定的,而无需展示其算法。这种事情最著名的例子是Robertson和Seymour在图未成年人上的工作,该研究表明,通过检查是否存在合适的禁止未成年人有限列表,可以在多项式时间内确定任何遗传图属性。他们的证据仅表明存在有限的禁止未成年人名单,但没有提供查找名单的方法。

我不是该领域的专家,所以我不知道世袭图属性的特定示例,因为我们不知道禁止的未成年人名单,而且我们不知道其他方法,因此无法展示其算法解决了问题,但是我怀疑存在这样的例子。(我们可以限定运行时间来查找示例是否存在,因为我们知道世界上最多有80亿人,在最坏的情况下,我们可以要求所有人!)

进一步说明:由于我们知道可以在时间内完成对未成年人的检查,因此您可以辩称,在Robertson-Seymour算法提供的所有情况下,我们确实存在的运行时间。但是,如果我们对常量没有限制,我会认为这是一种欺骗。O(n3)O(n3)


2
但是,如果您选择了一组明确的排除未成年人,则可以展示一种算法。最好是选择一些尚未研究的遗传特性。但是,这有点棘手。
Timothy Chow

2
这与您的观点很相切,但是:可以在时间 research.nii.ac.jp/~k_keniti/quaddp1.pdf中确定次闭合图的属性。O(n2)
埃米尔·杰拉贝克(EmilJeřábek)

1
@EmilJeřábek:更相切,决定是否从一个小封闭的家庭满足第一阶属性可以在线性时间内做了一个图:arxiv.org/abs/1109.5036
安德拉斯·萨拉蒙

1
顺便说一句,Kowarabayashi和Wollan要求一个约束在他们STOC 2011纸不断dsi.uniroma1.it/~wollan/PUBS/shorter_struct_web.pdf这也进一步进展是报告“还没有完全写下来”。但是,我不能轻易地从本文中提取出明确的界限。
安德拉斯·萨拉蒙

2
对于这样的示例,您的图形带有平面封面。奇怪的是,我们几乎知道一个清单:有31个被禁止的未成年人,第32个有潜力的未成年人,但是对于最后一个未成年人,无论是否有平面掩盖,都是开放的。因此,我们没有针对此类图的算法。参见例如:fi.muni.cz/~hlineny/papers/plcover20-gc.pdf
Denis,

3

只是为了增加一种不同的观点,让我回想一下,并不是每个问题都具有“内在的”复杂性,这可能是Blum加速定理最有趣且被某种程度上忽略的结果。

从本质上讲,该定理指出,固定了所需的加速比g后,您可能总是会发现一个计算问题P,从而对于任何求解P的程序,都存在另一个仍在求解P且运行g倍于上一个程序的程序。

因此,对于此类问题,您无法给出时间限制。令人惊奇的结果。当然,P具有非常大的复杂性。


为什么P具有非常大的复杂度?

由于加速过程可以迭代,因此必须与降低复杂性的无限算法链兼容。
安德烈·阿斯佩蒂

3

您的问题的理论方面已由Markus处理。实际上,了解您的问题的一种有趣方式是:是否存在我们在任何时间都不知道的可确定的问题?

答案是肯定的:例如,对于问题的“是”实例,您可能有一个半算法,而对于“否”实例,您可能有一个半算法。这使您可以确定问题的可能性,但是没有时间限制。

这是一个通用的示例:假设您有一个公理系统,可以证明某个代数中的所有真实身份。此外,您知道虚假身份总是由有限的结构来证明。

然后,您可以使用以下算法来确定身份是否为真:枚举并行证明和有限结构,并在找到的证明或见证为假的结构时停止。它为您提供了正确的算法,但没有复杂性限制,除非您可以针对限制证明的大小和有限结构。IIII

仿射线性逻辑(LLW)就是一个例子:仿射线性逻辑(LLW):现在已经知道是塔式完成[1],但是一段时间以来,没有界限,只有可判定性,以及其他技术,使用有限模型属性[2]。 。

参考文献:

[1] 分支VASS,MELL和扩展的非基本复杂性。 兰科·拉齐奇(Ranko Lazic)和西尔文·施米兹(Sylvain Schmitz)。2014年CSL-LICS

[2] 线性逻辑各个片段的有限模型属性。 Yves Lafont,J。Symb。逻辑。1997年


-4

正如其他人指出的那样,问题的提出方式不能避免琐碎的回答,但是TCS和数论中的某些概念是相关的/相似的。

1)在空间和时间层次定理中,需要“时间可构造”和“空间可构造”功能的概念。存在不可构造时间和不可构造空间的函数,这些函数会导致在Blum定理中发现异常性质,例如“间隙,加速”定理。大多数(全部?)std复杂度类是根据空间和时间可构造函数定义的。

2)ackerman函数是完全递归的,但不是原始递归的,这对其时间范围有影响。从某种意义上说,原始递归函数表示“基本”数学运算。

3)在Peano算术中有一些关于不可数论的数论序列的解释,这些解释可以解释为在感官上无法计算的时间范围,例如古德斯坦序列巴黎-哈灵顿定律


5
不是问题的答案。
卡夫
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.