我不明白非确定性图灵机的概念[关闭]

Posted

技术标签:

【中文标题】我不明白非确定性图灵机的概念[关闭]【英文标题】:I do not understand the concept of Non Deterministic Turing Machine [closed] 【发布时间】:2012-11-11 12:27:44 【问题描述】:

我不明白非确定性图灵机的概念。我想我理解术语非确定性算法:(非确定性算法是一种算法,可以在不同的情况下表现出不同的行为 运行,而不是确定性算法。)所以算法可能是这样的:

a = fromSomeAlgo();

if(a > foo)
   stateA();
else
   stateB();

但对于非确定性图灵机 I read ,它可以在给定时间处于多个状态。还有wikipedia article 建议 “非确定性图灵机 (NTM) 可能有一组规则,规定更多 给定情况下的一个动作”

这是什么意思? ..针对给定情况的多个操作...多个状态...我只是不明白这一点。

【问题讨论】:

查看cs.odu.edu/~toida/nerzic/390teched/tm/othertms.html,最后看到“图灵机接受a+”。它是解决方案空间的更具描述性的模型。用“有形”术语来说,一组并行处理器,每个处理器都为下一个状态应用一个规则,并且它们彼此不接触。 我认为这些管理员关闭了他们不喜欢的问题。感谢管理员让 Stack Overflow 变得更加无用。 @AkshayLAradhya:嗯,恕我直言,这类问题在Computer Science Stack Exchange 上更热门。 【参考方案1】:

在非确定性图灵机中,在每个分支中——你都可以做这两种可能性——只有当你完成后,你才能“选择”哪一个是你需要的解决方案(如果存在的话)。

例如,让我们看一下subset sum problem,与S = a,b,c... 。非确定性图灵机有一个线性解:

for each element:
   "guess" if it is in the subset
check if the subset has the specified sum

生成的树会是这样的:

                                       start
                 with a                                      without a
               /         \                                   /          \
              /           \                                 /            \
             /             \                               /              \
      with b               without b                  with b              without b
      /     \               /       \                 /     \             /        \
  with c    without c    with c     without c     with c    without c    with c     without c

一个计算(树中的路径)是正确的就足够了,以便算法产生“真”。只有在没有这样的计算时才会产生“假”。

非确定性图灵机的概念纯粹是理论上的 - 没有可用的非确定性图灵机。

奖励: 请注意,可以使用非确定性图灵机完成的所有事情 - 都可以使用确定性图灵机完成(反之亦然) - 例如,Halting Problem 在两者中都无法确定。但是,NPC 问题可以在非确定性图灵机中以多项式方式完成,我们不知道(并且我们假设我们不能)如何在确定性图灵机上以多项式方式完成。

【讨论】:

非确定性 TM 的存在程度与确定性 TM 相同。两者都不存在,因为所有真实的计算机都有有限的存储空间,但我们可以模拟它们。最大的区别在于,模拟 NDTM 的时间往往在模拟的步数上呈指数增长,而不是线性增长。模拟器必须跟踪机器在给定步骤结束时可能处于的所有配置。 DTM 模拟器一次只需要跟踪一个配置。 @PatriciaShanahan:这并不完全正确。尽管我们有“有限存储”,但 RAM 机器也可以使用磁盘来存储数据。可以存储在磁盘上的数据容量受到非现实数字的限制(并且可以在算法运行时即时增加)。然而——如果你尝试着冷酷无情地去做——是的,宇宙中的原子数量是有限的,因此一个人可以实现的状态/配置的数量也是有限的。 大大简化了概念。我正在为这个问题绞尽脑汁,因为我遇到的大多数定义都过于学术化,难以理解。 非确定性图灵机的概念纯粹是理论上的——没有可用的非确定性图灵机。有很大帮助。

以上是关于我不明白非确定性图灵机的概念[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

超图可以表示非确定性图灵机吗?

什么是计算机科学的NP-complete?

Bristol的第5篇密码学

Bristol的第7篇密码学

图灵机中的时间复杂度与空间复杂度

图灵机与确定性算法