如何计算图灵机的运行时间?

时间:2013-11-04 04:19:52

标签: performance computation-theory turing-machines

我只是回顾一下计算定理。我遇到了一个问题如下 考虑具有k-tape个状态的确定性q图灵机 和σ字母符号。假设这个图灵机在使用后停止 每个磁带上最多h个单元格。最长运行时间是多少?
为什么答案是q X(σ^hk)X(h^k)σ^hkh^k是什么意思?谢谢!

2 个答案:

答案 0 :(得分:4)

关键的见解是,为了使图灵机停止,它不能进入​​循环。由于图灵机在处于特定状态后将始终遵循相同的顺序,如果它变为相同的状态两次,我们知道机器陷入无限循环并且永远不会完成。因此,它可以运行的理论最大步数是机器可能的不同状态的最大数量,而不是两次相同的精确状态。

在此示例中,唯一状态由以下组成:

  1. 每个k磁带上的值(最多h个单元格),
  2. 机器的当前状态(q种可能性中的1种),
  3. 每个k机头的当前位置。
  4. 由于有σ个可能的符号,这意味着每个h磁带上的每个k单元格都可以是σ个可能值之一。所有磁带之间总共有hk个单元格,它们可以各自独立为σ个值之一。所以总的可能组合是σ^(h*k) - 这个地址是(1)。表达式字面意思是(可能的字母符号数)^(最大单元数*磁带数)。

    对于(2),还有一个额外的q状态组合可以对每个磁带单元组合有效。这给理论上的最大值提供了q的额外因子。

    对于(3),每个机头也可以独立地位于每个h磁带的k个可能的单元位置之一。这增加了h^k个可能状态的另一个因素。

    因此,可能状态的总数是q * σ^(h*k) * h^k

    的乘积

答案 1 :(得分:1)

将您的图灵机视为线性有界自动机(LBA),它在h * k的范围内工作。我们首先考虑单个磁带机。

对于单个磁带LBA,如果LBA具有:

1)q在其磁带字母表中指出2)g个符号,以及3)长度为n的输入,

然后,单个磁带LBA的可能配置数为q * n * g^nProof of halting problem on LBA

简单来说,对于单个磁带LBA,我们有g^n个可能的磁带,并且头部有n个可能的位置指向,q表示机器因此我们有q * n * g^n个配置。

要为k-tape机器推广它,有(g^n)^k个可能的磁带配置。所有磁带头都有n ^ k个可能的配置(因为您可以同时移动部分或全部磁带头),并且q表示机器可能处于可用状态。因此,不同配置的数量会然后是q * (n ^ k) * g^(nk)

n更改为h,这实际上是单个磁带LBA的长度,g更改为σ,答案是肯定的。