为什么复杂度类之间的相等性向上转换而不向下转换?


25

大家好,我知道填充技巧使我们可以向上转换复杂度类-例如。填充是通过“放大”输入,运行转换(例如从转换为)来工作的,这产生了一个“魔术”算法,您可以在填充的输入上运行。尽管这在技术上是合理的,但我对它的工作原理一无所知。这到底是怎么回事?有什么简单的类比填充物吗?PP=NPEXP=NEXPNPP

可以提供一个常识性的理由吗?


11
我想指出的是,并非所有复杂性类的结果都是向上的。例如,如果您证明,则意味着。通常,崩溃会增加,而分隔会下降。EXPNEXPPNP
罗宾·科塔里

确实。实际上,这似乎是思考问题的好方法,因为分离比崩溃更直观。
gabgoh

2
@ Robin,@ gabgoh:即使有些崩溃也会向下,但不能通过填充参数来实现。参见例如arxiv.org/abs/cs/9910008
约书亚·格罗夫

Answers:


30

我认为对这个问题有直觉的最好方法是思考指数时间类的全部问题。例如,NE的完全问题是简洁描述的输入上的标准NP完全问题,例如,给定描述图邻接矩阵的电路,图3是否可着色?然后,E = NE是否等于在简洁描述的输入(例如,有效Kolmogorov复杂度较小的输入)上的多项式时间内NP问题是否可解决的问题。显然,这并不比它们在所有输入上都可解决要强。时间范围越大,相关输入的Kolmogorov复杂度就越小,因此对于较大的时间范围而言,崩溃实际上是对较小的输入子集起作用的算法。

罗素(Russell Impagliazzo)


14

好了,你的目标是要表明,基础上(我们不没有指定此类的确切含义,我们只知道它们在某种程度上已根据输入大小进行了参数化。我们有一种语言,由某种算法决定。现在我们通过在填充每个单词来制作语言,以使其长度现在为,并且我们看到它包含在(我们的新算法基本上是只是忽略添加的零,并在实数,短输入上运行)。CLASS1[g(f(n))]=CLASS2[h(f(n))]CLASS1[g(n)]=CLASS2[h(n)]LCLASS1[g(f(n))]ALxLf(n)CLASS1[g(n)]AA

我们要做的是:我们从较大的类中提取一种语言,并对其进行填充,以便可以通过较弱的算法来解决它,从而将我们包含在较小的类中-较弱的算法可以做到这一点,因为它具有相同数量的“实际工作”可以像以前一样进行,但是通过扩展输入,它有其局限性(取决于输入长度)。

现在我们知道,,因此 (通过某种算法决定)。我们想从这里到达。但这很简单-算法决定只是相应地填充输入,然后在填充的输入上运行。LCLASS1[g(n)]LCLASS2[h(n)]BLCLASS2[h(f(n))]BLB

此步骤可以总结如下:我们想在更大,更灵活的类中决定使用我们的额外资源,我们填充输入并运行确定填充语言的算法L

当然,这里涉及一些技术细节(例如,我们必须确保可以在我们考虑的类中实现填充),但是为了给出一般的直觉,我只是忽略了它们。


13

我看到了关于表示紧凑性的填充参数。想想两台翻译机Turing机器:炸毁实例,再次压缩它们。BC

padding参数与,方法是将与较低确定性类别中语言的TM的确定性版本组合在一起。的输出共同构成了不能紧凑表示的语言,因此这变得“更容易”。BBB

使用不可能以另一种方式应用该思想,因为仅通过硬类中的语言来生成easy类中的某些语言。C


5

为了使其更加直观,让我们更抽象地了解正在发生的事情!

我们有两种变换,一种用于输入,一种用于问题。我将用表示它们,从上下文中可以清楚看出它是第一个,何时是第二个。pad

这两个转换具有以下属性:

一,对所有问题的,对所有输入X ∈ Σ *AΣxΣ

pad(x)pad(A)xA

AEXPNEXPpad(A)PNP

EXP

显然,用于填充的转换具有这些属性。

EXPPNEXPNP

我没有正式的论据,为什么目前没有这样的转变,但是从直觉上来说,安德拉斯·萨拉蒙所说的是正确的。增加输入的大小很容易,但是不清楚如何压缩它们?

P=NPNEXP=NTime(2nO(1))xnN=2nO(1)

NEXP(n)=NTime(2nO(1))=NTime(N)NP(N)P(N)=Time(NO(1))=Time(2nO(1))=EXP(n)


1
N=log(n)

1
实际上,考虑它的第三种方法是观察相反的情况。我没有遵循那种痛苦的方法,但是如果有什么深刻的见解,我会把它发布给我自己。
gabgoh 2010年

1
N=2nO(1)nNNnN=log(n)
卡夫

1
nN=log(n)PNPEXPNEXP

1
N=log(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.