一个将NP与coNP分开的神谕


12

如何证明?我只是在寻找这样的Oracle TM和适用的递归语言。NPAcoNPAML(M)=L

我所知道的证据,你表明,有一个Oracle这样和Oracle这样。我暗示我应该通过扩展的证明来找到这样的甲骨文,但是无论我在哪里搜索和阅读,它在任何地方都是“显而易见的”或“直截了当的”我只是根本看不出如何证明这一点。APANPAAPA=NPAAPANPA


6
目前尚不清楚您是否遵循了提示。我很惊讶地听到很明显,但是您可以在(例如)Arora和Barak的《计算复杂性:现代方法》中找到证明。PANPA

Answers:


9

正如Max所说,修改并不难,我建议您不要阅读本答案的其余部分,而是多考虑一下问题,只有一部分需要修改,并且要记住机器接受将帮助您修复该部分。coNP

我将在下面解释所需的修改,但首先让我们简要了解一下原始证明。

在证明原件是建立在步骤步骤用make确保个机,,并不能决定语言正确。请注意,该集合位于。P 中号 { X | ý | x | = | y | } N P AA=nAniiPMi{xyA |x|=|y|}NPA

我们使用在上建立的部分模拟来实现这一点,其中足够大(字符串比前面步骤中考虑的字符串长)。接受,我们不添加任何内容,如果它拒绝,我们添加一个长度为的字符串,表示不对该集合进行查询(存在这样的字符串,因为存在成倍的长度为字符串,但是无法询问所有这些都在多项式时间内)。在以后的步骤中,我们将不会修改这一部分(即长度为或更短的字符串将保持不变)。这可以确保0 中号中号中号中号中号中号MiA0mmMimMimMiAmMiA将无法正确决定语言并完成证明。

现在,假设机器位于中,而不是。我们需要修改的证明,以确保将无法识别。如果它接受,我们将保留为以前的样子,并且一切工作都与原始证明中一样。如果拒绝,我们需要在集合中添加一个字符串,以确保其不能正确回答。我们仍然可以用的一部分来模拟,问题是可能查询所有长度为字符串。机器的工作方式在这里变得很重要。它接受且仅当全部Ç ö Ñ P P 中号大号中号中号 Ñ Ç ö Ñ PMicoNPPMiALAMiAMincoNP计算路径接受。由于在这种情况下拒绝,因此存在一条拒绝的计算路径。只要我们保持此路径完整无缺,一切都会起作用,因此我们只需要使该路径中查询的答案保持相同即可。该路径中的查询数量是多项式(因为机器以多项式时间运行),因此存在路径长度不为字符串,只需将其中一个添加到,其余的证明按之前。mA

这些步骤是算法步骤,因此集合是递归的(构造的基本部分是能够模拟可以在)。d 小号p 一个Ç ëÑ ω 1 ADSpace(nω(1))


3

您可能还希望查阅Christos Papadimitriou撰写的“ 计算复杂性 ”一文。特别是第14章第3节,深入探讨了甲骨文。例如,详细提供了一些Oracle和和证明,这可能对您的主要问题有所帮助。希望能有所帮助。P BN P B A BPA=NPAPBNPBAB

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.