Algorithm 我不理解非确定性图灵机的概念

Algorithm 我不理解非确定性图灵机的概念,algorithm,state,turing-machines,non-deterministic,Algorithm,State,Turing Machines,Non Deterministic,我不理解非确定性图灵机的概念。我想我理解“非确定性算法”(nondeterministicalgorithm)这个术语:(非确定性算法是一种可以在不同的环境中表现出不同行为的算法 运行,而不是确定性算法。)因此,算法可以如下所示: a = fromSomeAlgo(); if(a > foo) stateA(); else stateB(); 但对于非确定性图灵机I,它在给定时间可以处于多个状态。此外,a还建议“非确定性图灵机(NTM)可能有一组规定更多的规则 针对特定情况

我不理解非确定性图灵机的概念。我想我理解“非确定性算法”(nondeterministicalgorithm)这个术语:(非确定性算法是一种可以在不同的环境中表现出不同行为的算法 运行,而不是确定性算法。)因此,算法可以如下所示:

a = fromSomeAlgo();

if(a > foo)
   stateA();
else
   stateB();
但对于非确定性图灵机I,它在给定时间可以处于多个状态。此外,a还建议“非确定性图灵机(NTM)可能有一组规定更多的规则 针对特定情况的多个行动”


那是什么意思。。给定机构的多个操作…多个状态。。。我只是不明白这一点。

在非确定性图灵机中,在每一个分支中,您可以同时执行这两种可能性,并且只有在完成后,您才能“选择”解决方案所需的工具(如果存在)

例如,让我们看看,使用
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
只要一次计算(树中的路径)是正确的,算法就可以生成“true”。只有在没有这样的计算时,它才会产生“假”


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

奖金:

请注意,所有可以用非确定性图灵机完成的事情——都可以用确定性图灵机完成(反之亦然)——例如,在这两种情况下都是不可判定的。然而,NPC问题可以在非确定性图灵机上多项式处理,我们不知道(我们假设我们不能)如何在确定性图灵机上多项式处理。

最后查看“图灵机接受a+”。它是解决方案空间更具描述性的模型。在“有形”的术语中,一组并行处理器各自应用下一个状态的规则,并且它们彼此不接触。我认为这些管理员关闭了他们不喜欢的问题。感谢管理员们让堆栈溢出变得更加简单。@AkshayLAradhya:嗯,IMHO,这类问题更多地是关于主题的。非确定性TM的存在程度与确定性TM相同。两者都不存在,因为所有真实的计算机都有有限的存储空间,但我们可以模拟它们。最大的区别在于,模拟NDTM的时间在模拟的步数中往往呈指数增长,而不是线性增长。模拟器必须跟踪机器在给定步骤结束时可能处于的所有配置。DTM的模拟器一次只需跟踪一个配置。@PatriciaShanahan:这不完全正确。虽然我们有“有限存储”,但RAM机器也可以使用磁盘存储数据。可以存储在磁盘上的数据容量受到非实际数字的限制(并且可以在算法运行时动态增加)。然而,如果你努力做到这一点——是的,宇宙中原子的数量是有限的,因此,一个人可以达到的状态/构型的数量也是有限的。这一概念大大简化了。我为这个问题绞尽脑汁,因为我遇到的大多数定义都过于学术化,难以理解。非确定性图灵机的概念纯粹是理论上的——没有非确定性图灵机可用。帮助很大。