为什么在EXPTIME中使用NP?


11

有没有简单的方法可以查看NP为什么在EXPTIME中?在我看来,可以先想到一个问题,那就是需要超指数时间来解决,但可以通过多项式时间来验证其解决方案。


实际上是NP PSPACE。⊆

欢迎来到计算机科学!你尝试了什么?你在哪里被困?我们不想只为您做(家庭)工作;我们希望您了解。但是,由于我们不知道您的根本问题是什么,因此我们无法开始提供帮助。请参阅此处进行相关讨论。如果您不确定如何改善问题,为什么不在计算机科学聊天中问周围?您可能还需要查看我们的参考问题。
— 拉斐尔

Answers:


17

NP中的任何问题都在EXPTIME中,因为您可以使用指数时间来尝试所有可能的证书,也可以枚举非确定性机器的所有可能的计算路径。

更正式地说,NP有两个主要定义。一种是语言  在NP中,如果存在关系  R使得LR

  • 有一个多项式,使得对于所有的(X ,ÿ )∈ [R ,| y | ≤ p (| X |),p(x,y)∈R|y|≤p(|x|)
  • 给定字符串,我们可以确定|中的时间多项式 x #y | 是否(X ,ÿ )∈ [R ,和x#y|x#y|(x,y)∈R
  • 。L={x∣(x,y)∈R}

所以,如果我们有指数时间,我们想知道,如果,我们就可以尝试所有| Σ | p (Ñ )为〜可能值ÿ,看看是否(X ,ÿ )∈ [R为任何那些。这需要时间2 ø (p (Ñ )),所以大号∈x∈L|Σ|p(n)y(x,y)∈R2Ø(p(ñ))大号∈EXPTIME。

另外,我们可以将NP定义为由多项式时间不确定性Turing机器确定的语言集。在这种情况下,对于长度为n的输入,  对于某些多项式p,假设  由机器  M在时间p (n )中确定  。然后中号  使得至多p (| X |)非确定性的选择而确定是否X ∈ 大号。通过检查M的跃迁函数,我们可以找到一个常数  k,使得M  最多具有大号中号p(ñ)pñ中号p(|X|)X∈大号中号ķ中号 在计算的每个步骤中 k个不确定性选择(与输入无关),因此在读取输入 x时,它最多具有 k p (| x |) = 2 O (p (| x |))个不同的不确定性序列 。在给定指数时间的情况下,我们可以一个接一个地模拟这些可能性中的每一个,然后看看它们是否被接受。ķķp(|X|)=2Ø(p(|X|))X


2
严格来说,第二个项目符号中的多项式需要一劳永逸地选择,它不能依赖于和y。;)Xÿ
— Martin Berger 2016年

EXPTIME的确切定义是什么?我记得它是,但是您的答案似乎是假设O (k p (| x |))。在不使额外多项式成为不同复杂度类别的情况下,可以包含额外多项式并不明显。Ø(ķ|X|)Ø(ķp(|X|))
— kasperd '16

3
@kasperd根据Wikipedia的定义,EXPTIME是可以在解决的决策问题。Ø(ķp(|X|))
— tparker '16
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.