让我们刷新定义。
PSPACE是可以在具有多项式空间边界的确定性图灵机上解决的一类问题:也就是说,对于每个此类问题,都有一台机器可以在输入长度为磁带单元时使用最多p (n )个磁带单元 来确定问题。n,对于多项式 p。p(n)np
EXP是可以在具有确定性时限的确定性图灵机上解决的一类问题:对于每个此类问题,当输入长度为n时,对于每一个此类问题,都有一台机器使用最多步 来确定问题。一些多项式 p。2p(n)np
首先,我们应该说这两个类可能相等。它们似乎更可能不同,但是有时类却是相同的:例如,在2004年,Reingold证明了对称日志空间与普通日志空间相同;1987年,Immerman和Szelepcsényi独立证明了NL=co-NL(实际上是NSPACE [ ]f(n)=共NSPACE [ ]f(n)为任何)。f(n)≥logn
但是,目前,大多数人认为PSPACE和EXP是不同的。为什么?让我们看一下在两个复杂度类中可以做什么。考虑一下PSPACE中的问题。我们允许使用 磁带单元来解决长度为n的输入, 但是很难将其与EXP(由时间限制指定)进行比较。p(n)n
PSPACE问题可以使用多少时间?如果我们仅写入 磁带单元,则假定使用二进制字母,则磁带上可能会出现2 p (n )个不同的字符串。磁带头可以位于p (n )个 不同的位置中的任何一个,而图灵机可以处于k个 不同状态中的一种。因此,配置总数为T (n )= kp(n)2p(n)p(n)kT(n)=kp(n)2p(n)。根据信鸽原理,如果我们运行步,我们必须两次访问一个配置,但是由于机器是确定性的,这意味着它将循环并无限次地访问相同的配置,即,它将不会。停下来。由于存在于PSPACE中的部分定义是您必须确定问题,因此任何不终止的计算机都无法解决PSPACE问题。换句话说,PSPACE是最多可使用p (n )个 空间和最多k个可决定的问题类别T(n)+1p(n)时间,对于某个多项式 q最多为 2 q (n )。所以我们证明了PSPACEkp(n)2p(n)2q(n)q⊆EXP。
我们可以为EXP问题使用多少空间?好吧,我们允许步,图灵机的机头在每一步只能移动一个位置。由于磁头不能移动超过2 p (n )个位置,因此我们只能使用那么多的磁带单元。2p(n)2p(n)
这就是区别:尽管PSPACE和EXP都是可以在指数时间内解决的问题,但是PSPACE限于多项式空间使用,而EXP可以使用指数空间。那已经表明EXP应该更强大。例如,假设您正在尝试解决有关图形的问题。在PSPACE中,您可以查看顶点的每个子集(只需要 位即可写下一个子集)。您可以使用一些工作空间来计算每个子集,但是一旦完成一个子集的工作,就必须擦除该工作空间并将其重新用于下一个子集。在EXPn另一方面,您不仅可以查看每个子集,而且不需要重复使用工作空间,因此您可以记住对每个子集的了解。看来它应该更强大。
为什么它们应该有所不同的另一种直觉是,时间和空间层次定理告诉我们,甚至允许多一点的空间或时间都严格地增加了您可以计算的内容。层次定理仅允许您将like与like比较(例如,它们表明PSPACE⊊空格和P⊊EXP),因此它们不能直接应用于PSPACE vs EXP,但它们确实使我们有一个直观的认识,即更多的资源意味着可以解决更多的问题。