是否可以使用最多多项式空间(但是使用指数时间)解决任何NP完全问题?


12

我了解了NPC及其与PSPACE的关系,我想知道是否可以使用具有最坏情况多项式空间要求的算法来确定性地解决NPC问题,但可能要花费指数时间(2 ^ P(n),其中P是多项式)。

此外,可以将其概括为EXPTIME吗?

我之所以这样问,是因为我写了一些程序来解决NPC问题的退化情况,并且它们在硬实例中会消耗大量RAM,我想知道是否有更好的方法。有关参考,请参见https://fc-solve.shlomifish.org/faq.html

Answers:


27

一般来说,以下内容适用于任何算法:

  1. 假设A是在f(n)时间内运行的算法。那么A不能占用超过f(n)空间,因为写入f(n)位需要f(n)时间。
  2. 假设A是一种需要f(n)空间的算法。然后在2f(n)时,A可以访问它的每一个不同的状态,因此可以通过运行超过一无所获2f(n)时间。

它遵循:

NP PSPACE

该状态记录被称为类之间的关系的一部分,如下图所示:

类之间的关系

原因很简单:一个问题Q NP具有多项式长度证书y。测试所有可能的证书的算法是确定2 n O 1 时间中的Q的算法。2nO(1)

它的空间要求是:

  • yn多项式)
  • yy

Q


例:

φx1xnmff:{x1xn}{0,1}

它认为:

  • 2n
  • fO(m)φO(m)

A

它遵循:

PSPACENP PSPACE


1
为什么EXPSPACE和EXPTIME相关?我认为时间和空间是不同的资源。我想到的一个例子是打破一种加密方案,该方案需要EXPTIME,但空间恒定
WeCanBeFriends

6
f(n)f(n)2f(n)

在您的示例中f(n)与O(n)不同吗?
WeCanBeFriends

1
@WeCanBeFriends一个人不能使用具有恒定空间的指数时间:您至少需要用于计数的空间,直到该指数数字(例如汇编语言的程序计数器)为止,这是多项式(指数形式的对数)
千兆字节

4
PEXPTIME

9

是。这是直接证明的草图。

NPMpMnp(n)p(n)

cMMccp(n)ncp(n)p(n)cp(n)Miii6

00Mc1cp(n)p(n)2p(n)

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.