众所周知,如果则多项式层次结构会崩溃,并且。
使用Oracle机器可以很容易地归纳理解这一点。问题是-为什么我们不能在恒定的交替水平之外继续归纳过程,并证明(又名)?
我正在寻找一个直观的答案。
众所周知,如果则多项式层次结构会崩溃,并且。
使用Oracle机器可以很容易地归纳理解这一点。问题是-为什么我们不能在恒定的交替水平之外继续归纳过程,并证明(又名)?
我正在寻找一个直观的答案。
Answers:
将多项式层次结构与交互式证明的层次结构进行比较。如果对于某个固定的k,您在交互式证明中有k个替换-IP(k)-生成的复杂度类没有比两个替换获得的功效更多-即IP(k)= IP(2 )= AM(假设k≥2)。但是,如果允许交替的多项式数量,你得到的复杂类IP = PSPACE,这被认为是比大很多,一类是包含在Π 2 P,在多项式层次结构的第二层。因此,这种现象实际上发生了(尽管,据我们所知,对于多项式层次结构)。
这是因为这需要尺寸的问题减少Ñ在IP(ķ)和把它变成一个问题,IP(2)鼓起的问题的大小,以使得在对于任何特定的IP(ķ)的问题仍然存在多项式大小,如果让k变化,那么所得的减少将不会产生k多项式的问题。
这是关于常数和无界交替之间的距离的一些直觉:重复执行多次的多项式运算是多项式,但是重复执行多次的多项式可以是指数的。例如,对自己重复乘以:
v = 2
for(i=1 to n)
v = v*v
迭代次数是线性的,输出是指数的。但是,如果您固定n,则它是初始值大小的多项式。
下面,我通过尝试执行量化器删除而不是固定数量的步骤来扩展彼得回答中的要点,以查看失败的地方以及是否可以通过这种尝试挽救一切。
让我们尝试将放大超过常数倍。
假设。因此,有一个解决Ext-Circuit-SAT的多项式时间机器(对于给定的电路是否有令人满意的扩展并且对其输入进行了部分分配?)。
更正式地说,我们有一个polytime算法多项式运行时间 ST
给定布尔电路和输入的部分分配,如果存在满足φ的τ扩展,则
返回“是” ,否则返回“否”。
要经过固定时间,我们需要有效地进行量词删除。之所以可以这样做是因为Cook-Levin定理是一个构造性定理,实际上它给出了多项式时间算法 st
给定一个DTM 接收两个输入,和三个一元数字,,和,
返回尺寸的布尔电路模拟上长度的输入为步骤。
让我们尝试使用它们扩展的参数,以获得求解TQBF的算法(实际上是TQBCircuit,即完全量化布尔电路问题)。
该算法的思想如下:我们在A上反复使用从给定的量化电路中删除量化器。数量词的数量是线性的,因此我们希望得到一个多项式时间算法(我们使用多项式时间子程序C o o k拥有一个多项式多步的算法)。在消除量化器的过程结束时,我们将获得一个无量化器的电路,该电路可以用多项式时间进行评估(电路值问题在P中,令C V是用于计算给定电路的电路值的多项式时间算法) 。
然而,我们会看到,这个想法并没有工作(出于同样的原因指出,由Peter)。
对于从至待办事项
如果,
如果,
结果算法看起来是多项式时间:我们有多项式很多步,每个步骤都是可多项式时间计算的。但是,这是不正确的,算法不是多项式时间。
在多项式时间算法中使用多项式时间子例程就是多项式时间。问题在于,如果子例程返回的值在原始输入中不具有多项式大小,并且我们假定我们对从子例程返回的值进行赋值,则通常不需要这样做。(在TM模型中,我们必须逐位读取任何多项式时间子例程的输出。)此处,算法返回的值的大小正在增加(可以是为其提供的输入大小的幂) ,确切的功率取决于的运行时间,大约为,所以既然我们知道不能小于线性时间,至少是)。
问题类似于下面的简单代码:
每次执行我们将的大小平方。在执行之后,我们将得到一个,它的大小为,显然不是输入大小的多项式。
假设我们仅考虑量词交替的量化公式(其中是量化公式的总大小)。
假设在时间运行(例如,到目前为止还不排除线性时间),并且可能有一种更有效的算法,它可以输出较小的电路来代替,那么我们得到用于ExtCircuitSat一种算法,在时间运行。即使在这两个情况下和是线性的(但有总系数),我们会得到它运行在时间的算法,并且如果它将是 类似于蛮力算法(甚至是基于假设Cook-Levin可以在算法上执行的结果,即在算法的运行时间内线性大小的电路)。