精确仿真算法的难度以及复杂度类的相关运算


17

预告片

由于问题很严重,因此这里是捕获其本质的特例。

问题:设A为3-SAT的确定性算法。是完全模拟算法A的问题(在问题的每个实例上)。P空间难吗?

(更确切地说,是否有理由相信此任务是P-Space难题,是否遵循标准CC猜想在此方向上有所作为,并且是否有希望证明该任务对于某些复杂性等级X而言是X难题?严格高于NP。)

相关问题pspace完整问题比np完整问题固有的难处理

编辑更新:“完全模拟A”有多种解释。根据解释,可能会有不同的有趣答案。(还有Ryan Williams提出了一种用于模拟非确定性算法的解释。)为了以某种方式将决策问题与计算任务“完全模拟A”相关联,Joe Fitzsimons找到了一种算法A,该相关决策问题仍在NP中。如果“完全模拟”是指能够在给定的步骤输出计算机的整个寄存器,那么对于Joe的算法,看来是必需的。对于此版本(我认为但不确定),Ryan的答案描绘了一个iiPNPPNPPNPPNP-硬度参数。Joe指出,如果要求您提供全部寄存器(这不再是决策问题),那么您就不必加强,复杂度级别也不相同。

无论如何,如果我们需要在规定的步骤输出寄存器的状态,那么Ruan和Joe的答案暗示了本质上是(但我不确定)。我们可以推测,通过这种解释,该运算在多项式层次结构中向上推了一个步骤,并且。i N P + P N P P H + = P HiNP+PNPPH+=PH

无论如何,通过这些解释,对我的预告片问题的答案是否定的

对于“完全模拟算法A”,我有一个更激烈的解释。(但是也许乔和瑞安的解释更有趣。)我对“完全模拟算法A”的解释是,您在一步i超出了寄存器的状态i。特别是,如果算法不是多项式,则输出也不是多项式。在这种激烈的解释我不知道是否我们应该相信,对于每一个算法A,Ç 一个CA是P-SPACE辛苦了,我们有什么可以证明的。

动机:

这个问题是由保罗·戈德堡(Paul Goldberg)的一次演讲(幻灯片视频纸张)引起的,该演讲描述了帕帕第米特里乌(Papadimitriou)和萨瓦尼(Savani)的论文。他们表明,P空间完全可以找到由Lemke-Howson算法计算出的任何平衡点。找到一些平衡点的问题仅仅是PPAD完全的。这种差距是非常惊人的,Papadimitriu的著名论文《奇偶论据的复杂性和其他效率不高的存在证明》(1991)已经描述了类似的结果。(众所周知,PPAD完全问题甚至不能解决NP问题(除非发生可怕的事情,所以与P空间相比,这在复杂性世界中要低得多)。

问题是什么

我的问题是,对于更老更经典的计算复杂性问题,存在类似的差距。(也许这已经很熟悉了。)

给定一个计算问题,我们可以区分三个问题

a)通过算法解决问题

b)达到与特定算法相同的解决方案A

c)模拟整个算法A

当然,c)至少与b)一样硬,而b)至少与a)一样硬。上面提到的结果表明任务a)和b)的计算难度之间存在计算均衡问题。我们想了解其他计算问题的情况(主要是a)和c))之间的差距。

问题:

问题的基本形式与示例

我们从一个计算问题开始,即问题X

一个例子可以是

问题X:求解具有n个变量的SAT实例

我们还指定

答:执行问题X的算法

我们提出了一个新问题

问题Y:精确模拟算法A

并且我们对问题Y的计算难度感兴趣。我们希望了解解决原始问题X的所有算法A的此类问题Y的类别。尤其是我们想知道问题Y的难易程度(或难易程度如何)。是)是否允许我们随意选择算法A。

拟议的复杂度等级操作

从复杂度类别C开始,该类别由某些计算任务描述。给定一个算法A来执行此计算任务的每个实例,请考虑一个新的复杂度类C A,它由完全模拟A的计算任务来描述。然后,我们可以(希望)定义复杂度类的“理想”CCA一种

C + = { C A对于所有算法A}。C+= { C一种

如果我们让P描述多项式时间内数字计算机可以做的任何事情(所以我不想限制注意力,例如决策问题),那么P +就是P自身的理想选择。PP+P

最后,我的问题

我的问题是:

1)定义是否有意义(从广义上来说,是“有意义”)。它是众所周知的还是与某些众所周知的事物相同(或相似)。(我的表述是非正式的,特别是当我们从诸如SAT之类的特定问题转到诸如NP之类的复杂性类时,我们不得不担心我忽略的各种事情。)

接下来的两个问题假定该定义可能有意义或可以挽回。

2)假设我们为自己配备了有关计算完整性的所有标准猜想。我们可以说对于某些熟悉的复杂性类,C +应该是什么。(例如,C = N PC = P空间,..)?编辑:一些人指出,P 小号P ç é + = P 小号P Ç é。所以>我们可以反问P N P+是什么?是P H + = P H吗?C+C= NPCP小号PçË+= P小号PçËPñP+PH+= PH

我们可以猜测什么的都compexity类Ç使 ç +是理想的跨越ÇCC+C

因此,对于3-SAT模拟算法A的计算任务(当我们可以选择尽可能简化算法的时候)的计算任务有多容易,这是一个有趣的特例。

3)是否有希望实际证明有关此操作的信息?

当然,如果您证明N P +中的所有复杂度类都是P空间硬的,这将表明P = N P意味着P = P S P A C E,这(我认为)将是巨大且非常出乎意料的结果。但是,如果你显示,在所有的复杂性类ň P +难以在多项式Hieararchy(例如第三层的财产以后再说Δ P 3)这只会暗示的事情,我们已经知道,事情的事实遵循 P = N P导致PH崩溃。ñP+P=NPP= P小号PçËñP+ΔP3P= NP


3
有趣的问题!但是:“当然a)至少和b)一样硬,而b)至少和c)一样硬。” 订单不应该反过来吗?
巴特·詹森,

2
是否可能包含一个链接或“模拟整个算法A”的含义的简要说明。例如,在这种情况下,“模拟”和“运行”有什么区别?是否有可能比算法的运行时间更快地模拟算法?
Artem Kaznatcheev

1
尊敬的Artem,通过在特定实例上模拟算法,我的意思是描述算法的整个演变过程。(因此,可能就像“运行”该算法一样。)模拟算法的速度不能超过其运行时间。(据我所知)这不是一个标准概念,因此我无法给出链接或引用(但希望获得链接和引用。)。模拟算法不仅与“给出与算法A相同的输出”的计算任务不同,后者与问题中描述的动机和任务b)有关。
吉·凯莱

2
亲爱的吉尔,我看不到为什么我们不能用与A使用相同顺序的资源来模拟算法A。除非某些资源受到更多限制,否则我们可以模拟A所做的任何事情。让我看看,如果我理解正确的动机部分:我们有一个问题,QÇA是可能在C之外解决Q的算法。虽然寻找一个为解决方案Q可以做ç,找到之一解决方案,一个出土文物可以有复杂的外部Ç一种一种一种C一种CC一种C。我是否正确理解了帖子的动机部分?
卡夫

2
是的,我们假设算法A是确定性的!我没有一个直观的直觉,为什么我们应该期望模拟3-SAT的每种确定性算法都是P空间难题。这是问题!我想看看专家的想法。
吉·凯莱

Answers:


12

问题:设A为3-SAT的确定性算法。在问题的每个实例上完全模拟算法A的问题难吗?

我不明白这个问题的说法。但是我认为有一种自然的方法可以将您更笼统的问题正式化,这可能会给您带来一些启示。也许我完全不了解您的意思,但是希望您仍然可以在这里找到一些有趣的内容。

1)定义是否有意义(从广义上来说,是“有意义”)。它是众所周知的还是与某些众所周知的事物相同(或相似)。(我的表述是非正式的,特别是当我们从诸如SAT之类的特定问题转到诸如NP之类的复杂性类时,我们不得不担心我忽略的各种事情。)

下面是一种使任务完全模拟算法Y的Y方法。为了简单起见,我们将模型固定为单带图灵机。我要说的可以应用于任何典型的计算模型。

对于每个算法Y和输入x,我们可以定义其计算历史H Yx i j :给定整数ij,其范围从0Y的运行时间,H Yx i j 等于在时间步i中输入x上图灵机Y的磁带的第j个单元格的内容。(如果磁带头正在读取jYx HY(x,i,j)ij0YHY(x,i,j)jYxij在Th细胞个步骤,包括也伴随着机器的状态。)当然,计算的历史过程中出现的复杂性理论的所有时间。i

现在,人们可能会争辩说,任何可以决定语言的算法

C Y = { x i j σ | H Yx i j = σ }  CY={(x,i,j,σ) | HY(x,i,j)=σ}

(或在所有输入上模拟函数H Y)正在解决完全模拟算法Y的任务,因为它具有打印算法Y每次可能计算的每个小部分的能力。当然,考虑到对于Oracle ç Ÿ一个可以做一个一步一步的仿真ÿHYYYCYY

2)假设我们为自己配备了有关计算复杂性的所有标准猜想。我们可以说一些熟悉的复杂性类的C +应该是什么。(例如,C = NP,C = P空间,..)?我们能猜出复杂度类别C是什么,以便C +是C的理想选择吗?

根据以上建议,这仍然是一个有趣的问题。对于确定性的时间类别,没有任何变化。P +就是P:对于每种多时制算法,我们可以在多时制中确定C Y。类似地Ë X P + = Ë X P。也P 小号P Ç é +仍然是P 小号P Ç ë。对于不确定的时间复杂度类,情况变得更加有趣。在这种情况下,算法Y可以具有多种计算历史,因此P+PCYEXP+=EXPPSPACE+PSPACEYH Y不再是明确定义的。但是,我们仍然要打印一些计算历史记录,因此我们的“精确模拟”必须隔离特定的不确定性计算历史记录,然后打印其值。对于 ñ P算法 Ÿ,可以说 ç ŸP ñ P:我们可以使用 ñ P甲骨文的“第一个”接受计算历史的二进制搜索(Lex中的顺序),那么一旦我们得到它,打印相关位。对于 Ñ Ë X P算法 ÿ,可以说 Ç ÿHYNPYCYPNPNPNEXPYË X P ñ P,出于同样的原因。CYEXPNP

我们可以把N P +放在一个较小的类中吗?我不知道。注意我们不能简单地重新定义NP+

C Y = {x i j σ | 存在一个 H Y使得 H Yx i j = σ }CY=  (x,i,j,σ) | HYHY(x,i,j)=σ

尝试将C Y放入N P,因为我们需要所有涉及x的四元组的历史字符串都相同,以便“精确模拟算法Y ”。CYNPxY

无论如何,不能够进行打印“证人”到这个问题ñ Ë X P计算,而不去è X P ñ P在某些情况下,如电路的复杂性确实出现。如果Ñ Ë X P具有多项式大小的电路,然后是它也可以说Ç ýP / p ø ý每非确定性2 Ñ ķ时间ÿImpagliazzo,Kabanets和WigdersonNEXPEXPNPNEXPCYP/poly2nkY在2001年肯定地回答了这个问题。他们的证明非常有趣,从去随机化和对角化中调用了工具(为什么要对这样的结果进行去随机化?),这对于证明N E X的电路下界是非常有用的定理。P功能。NEXP

是否有希望实际证明有关此操作的信息?

也许……这取决于您是否对上述问题的形式化感到满意。对于确定性3-SAT算法ÿ,我认为上述的精确仿真ý问题将是P Ñ P 1 -hard,其中P Ñ P 1 是多项式的时间与一个查询Ñ P。(StackExchange令人讨厌的语法要求我写(1)而不是替代方法。之前我说过C Y应该是P N P -hard,但是我不确定细节:您可能会看到如何概括以下内容。)YYPNP(1)PNP(1)NPCYPNP

我们给从每一个polytime许多酮还原大号P Ñ P 1 Ç ÿ。给定这样一个L,令M为识别L的机器,它执行单个N P查询。WLOG,该查询是一个SAT公式。同样是WLOG,可以从以下意义上将SAT查询“推迟”到计算的最后一步:有多项式时间算法A x 可以打印出公式F和位b,从而对于所有xLPNP(1)CYLMLNPA(x)Fbx

M x 接受iff A x = F b 使得( S A T F XOR b)= 1。M(x)A(x)=(F,b)SAT(F)b

(如果F是可以满足的,则M可以拒绝,或者可以接受;如果b捕获了它,则为b。)MFb

为简单起见,假设Y结束其计算时,它将其磁带头移至单元1,在该单元中写入“接受”或“拒绝”,并永远循环。然后,询问是否˚F Ť 1 一个ç ç ë p Ç Ý对于足够大的Ť会告诉我们,如果˚F被接受。(一般情况下,我们只需要它的高效计算实例Ÿç Ÿ它会告诉我们的。)请注意,这已经表明,ç Ÿñ P难的和Y(F,T,1,accept)CYTFyCYCYNPcoNPcoNP-hard; the latter is true because (F,T,1,reject)CY(F,T,1,reject)CY iff FF is not satisfiable.

The final reduction from LL to CYCY is: given xx, run A(x)A(x) getting (F,b)(F,b). If b=0b=0 then output (F,T,1,accept)(F,T,1,accept), else if b=1b=1 output (F,T,1,reject)(F,T,1,reject).

For every xx we are producing (in polynomial time) a yy such that M(x)M(x) accepts iff yCYyCY.

(Thanks to Joe for demanding that I be clearer about this part.)

But I don't see (for example) how to get Σ2PΣ2P-hardness. To reduce Σ2Σ2-SAT to the problem, it would appear you'd need to write a 3-CNF SAT instance xx which simulates your deterministic algorithm YY within it (where YY is solving Tautologies on various subproblems). But as YY has no given time bound, that 3-CNF xx could be huge, so you don't necessarily get a polynomial-time reduction. Unless I am missing something.


Ryan, many thanks for your answer. I am interesting how hard it is to simulate a deterministic algorithm Y for 3-SAT. And the question is if no matter what Y is this is P-space hard. (Your understanding of simulating nondeterministic algorithms as well is also interesting and perhaps is the correct question but I only considered simulating a deterministic algorithms.)
Gil Kalai

Yes, I thought the last paragraph of my answer would address this part.
Ryan Williams

I see. Yes indeed it does. I also suspected it might be provably PNPPNP-hard which is interesting (but I am not sure if I understand your proof). Do you expect that PNPPNP is the correct answer? I also suspected that proving something beyond PNPPNP would be difficult. Going back from what we can prove to what we should believe, Ryan, what do you think the answer is?
Gil Kalai

Well, the complexity of CYCY will differ depending on the algorithm YY. Some CYCY may be very difficult and others may be much easier. But I think that for every algorithm YY, you probably won't do much better than saying "CYCY is PNPPNP-hard". (I don't think that for every YY you can get Σ2PΣ2P-hardness, for the intuitive reason I gave above.)
Ryan Williams

Ryan, you say that "there is a polynomial reduction from a PNPPNP complete language ... to CYCY", but your reduction seems to use multiple instances of CYCY. Surely this shows instead that there is a polynomial reduction from a PNPPNP-complete problem to PCYPCY?
Joe Fitzsimons

7

I initially posted an incorrect answer, so hopefully this is an improvement.

I'm going to start out by considering the 3SAT example. In your comment on Ryan's answer you say

I am interesting how hard it is to simulate a deterministic algorithm Y for 3-SAT. And the question is if no matter what Y is this is P-space hard.

The answer to this is that it is not PSPACE-hard for at least some Y, assuming that NPPSPACE, but that there exist other algoriths for which it is PSPACE-hard. Showing the latter is trivial: We simply construct an algorithm which interprets the bit string representing the 3SAT formula instead as a TQBF problem, which it then solves before solving the 3SAT instance. Obviously there is nothing special about TQBF in this case, so the algorithm can be made arbitrarily hard to simulate. So we should only care about lower bounds on simulation of any algorithm for a given problem, rather than a specific algorithm.

With that in mind, we construct the following algorithm to solve 3SAT:

Take a register of nn bits (initially all set to 0) to contain a trial solution, together with a register containing the 3SAT instance, a counter register of size log2(c+1)log2(c+1) initially set to 1 and and two flag bits (call these the fail flag and the accept flag). Here cc is the number of clauses. The algorithm then proceeds as follows:

  • If the value of the clause counter kk is less than or equal to cc, and the trial solution is not 111......1111......1, check whether clause kk is satisfied. If not set the fail bit. Increment the counter.
  • If the value of the clause counter kk is less than or equal to cc, and the trial solution is 111......1111......1, check whether clause kk is satisfied. If it is not, set the fail flag. Increment the counter.
  • If kk exceeds cc, and the trial solution is not 111......1111......1, check if the fail flag is set. If so then increment the trial solution, reset the counter kk to 1, and unset the fail flag. If the fail flag was not set, set the accept flag, set the clause counter kk to zero, set the trial solution to zero and halt.
  • If kk exceeds cc, and the trial solution is 111......1111......1, check if the fail flag is set. If the fail flag was not set, set the accept flag. Set the clause counter kk to zero, set the trial solution to zero and halt.

When the algorithm halts, the state of the accept flag tells you whether or not the 3SAT formula can be satisfied.

Now, if I want to compute the state of the algorithm at time ii I have an algorithm to compute this in polynomial time with a single call to an NP oracle as follows:

Note that for any ii, assuming the accept bit has not yet been set, the state of the registers can be calculated in polynomial time, since the value of kk and the trial solution register tt are simply functions of ii. Determining if the fail flag is set can be done in polynomial time, simply by checking whether the current state of the trial solution register satisfies all clauses less than or equal the current value of kk. If and only if this not the case, the fail flag is set. The accept flag is set to zero.

Similarly, if the accept bit has already been set, the state of the registers can be efficiently computed, since everything is zero except the accept bit, which is set.

So the only hardness comes in determining whether the accept bit is set. This is equivalent to determining whether the given 3SAT instance has a solution less than tt. If it does, then the accept bit must necessarily be set, and if it does not, then the accept bit must necessarily be zero. Clearly this problem is itself NP-complete.

Thus the state of the system at step ii can be determined by in polynomial time with a single query to an NP oracle.

Important update: Initially I had misread Ryan's formulation of exact simulation as a decission problem, and so my claim that the decission version was in NP was incorrect. Given the problem of deciding whether bit jj at step ii on input xx as formulated in Ryans answer, then there are 3 possibilities:

  1. This bit is constant in independent of whether FF is satisfiable. As there are only two possible states for the system at this time (both of which can be computed in P) determining if this is the case, and if so, whether the value is equal to σσ is in P.
  2. The bit is equal to σσ if FSATFSAT, and unequal otherwise. This problem is clearly in NP, as the satisfying assignment of FF acts as a witness.
  3. The bit is equal to σσ if FUNSATFUNSAT in which case the problem is then in coNP.

Clearly deciding which one of these three is the case can be done in polynomial time, simply by comparing the value that bit takes if FSATFSAT and if FUNSATFUNSAT. Thus the exact simulation problem is in NP coNP. Thus, as Ryan's lower bound and my upper bound match, assuming both are correct, I think we have an answer: CY=NPcoNPCY=NPcoNP.

Note that there is nothing special about 3SAT in this case, and the same could be done for any problem in NP. Further, the same trick can be used for any non-deterministic complexity class, not just NP, which seem to be the hard ones to simulate. For deterministic classes you can simply run the best algorithm and halt at step ii. So with this in mind, full simulation of at least some deterministic algorithm for a problem is only as hard as solving the problem itself.


1
Can't you use the same technique to show that b) Reaching the same solution as algorithm A is already PSPACE-hard? Have the algorithm choose between one of two possible solutions depending on the solution of a PSPACE-hard problem encoded into the input.
Peter Shor

1
@Peter: Sure, you could make it arbitrarily hard, but I thought the interesting question was the upper bound minimized over A, which turns our to be NP.
Joe Fitzsimons

3

Very interesting thought! Here's an extended comment that was too long to post as such:

Regarding the definition in (1) as such, that is:

Start with a complexity class CC which is described by some computational task. Given an algorithm A to perform every instance of this computational task, consider a new complexity class CACA which is described by the computational task of completly simulating AA. Then we can (hopefully) define an "ideal" of complexity classes: C+={CA:C+={CA: for all algorithms A}A}.

I believe you're going to quickly run into an issue with undecidability for non-trivial membership in C+C+. In particular, given the description of two TMs MM and MM, it's well-known that deciding whether they accept the same language (i.e. L(M)?=L(M)L(M)=?L(M) is undecidable in general by reduction from the Halting Problem.

Further, given the description of a Turing Machine , there is always a trivial simulation: Just construct a new Turing Machine MM that calls MM as a subroutine (using its description), which accepts if M accepts and rejects if M rejects. This only costs a linear overhead. Specifically, if M runs in t(n) computational steps, then M runs in O(t(n)) (whereby "run," I mean "simulates M exactly").

This suggests to me that if there's any serious traction to be gained here, the precise way you go about making the definition of the ideal of a complexity class is going to be fairly important. In particular, if you intend to show that the ideal of, say, NP is PSPACE-hard, you'll have to rule out the notion of a trivial, linear-time simulation of the NP machines in question.

With respect to the homotopy methods described in the talk/paper and GPS's PSPACE-completeness result, I believe the "gap" you're witnessing between PPAD-completeness and PSPACE-hardness is due to the distinction between finding any NE (in the sense of END OF LINE) and finding a unique NE given a specific, initial configuration (in the sense of OTHER END OF LINE).


Dear Daniel, thanks for your answer. I am not sure I see why undecidability of membership in C^+ (Or even in C itself) is relevant to the question. The questions if :a) based on all our conjectures and beliefs regarding seperations of complexity classes is it the case that for every algorithm A for 3-SAT the computational task of simulating A (for every instance of 3-SAT) is ΔP3 hard. b) Is it possible to actually proves such (or a similar) statement.(Maybe something very basic is wrong with my questions but I am not sure decidability is the issue.)
Gil Kalai

Gil, see if this speaks to your question at all: Fix some (arbitrary) algorithm A for 3-SAT. Consider a new algorithm B. Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs. Since we can view algorithms as Turing machines, we can take the view that A accepts 3-SAT (by the supposition). To prove the claim, it appears to me that we then need to decide the question "Does B (viewed as a TM) accept 3-SAT as well?", which leads into undecidability issues.
Daniel Apon

I should point out that it's specifically the phrase "for all algorithms A" in the definition of C+ coupled with the notion of saying/guessing (or, presumably, computing or deciding) the elements of the set that gives me pause, if nothing else. Once we start considering computation on properties of arbitrary algorithms or languages or classes/sets of languages, the Halting problem often seems to creep in.
Daniel Apon

1
Dear Daniel, you wrote "Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs." This is not what I mean by "B simulates A". For me B simulates A means that it describes precisely the entire "running" of algorithm A not just reach the same "solutions" (or output).
Gil Kalai

1
Regarding your second comment. It looks that we can find a reasonable restriction on the algorithms we consider or formulate the question a little differently: E.g. consider the statement "For every algorithm A to solve 3-SAT it is P-space hard to simulate A." I dont see how the halting problem creep in (more than in other questions in computational complexity).
Gil Kalai
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.