为什么在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 Ñ ,所以大号xL|Σ|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.