非确定型图灵机 Non-deterministic Turing machine


如果不加特殊说明,通常所说的图灵机都是确定型图灵机。非确定型图灵机和确定型图灵机的不同之处在于,在计算的每一时刻,根据当前状态和读写头所读的符号,机器存在多种状态转移方案,机器将任意地选择其中一种方案继续运作,直到最后停机为止。具体而言,其状态转移函数为
其中是状态集合,
是带字母表,
分别表示读写头向左和向右移动;符号
表示集合
的幂集,即
例如,设非确定型图灵机的当前状态为
,当前读写头所读的符号为
,若
则将任意地选择一个
,按其进行操作,然后进入下一步计算。
非确定型图灵机在输入串
上的计算过程可以表示为一棵树,不同的分支对应着每一步计算的不同的可能性。只要有任意一个分支进入接受状态,则称
接受
;只要有任意一个分支进入拒绝状态,则称
拒绝
;某些分支可能永远无法停机,但只要有一个分支可以进入接受或拒绝状态,我们就说
在输入
上可停机。注意,我们规定
必须是无矛盾的,即它不能有某个分支接受
而同时另一个分支拒绝
,这样有矛盾的非确定型图灵机是不合法的。