📅  最后修改于: 2020-11-26 10:22:27             🧑  作者: Mango
图灵机是一种接受设备,它接受类型0语法生成的语言(递归可枚举集)。它由Alan Turing于1936年发明。
Turing Machine(TM)是一种数学模型,由无限长的磁带组成,该磁带分为多个单元,在这些单元上提供输入。它由一个读取输入磁带的磁头组成。状态寄存器存储图灵机的状态。读取输入符号后,将其替换为另一个符号,更改其内部状态,并从一个单元格向右或向左移动。如果TM到达最终状态,则输入字符串被接受,否则被拒绝。
TM可以正式描述为7元组(Q,X,∑,δ,q 0 ,B,F),其中-
Q是一组有限的状态
X是磁带字母
∑是输入字母
δ是转移函数; δ:Q×X→Q×X×{左移,右移}。
q 0是初始状态
B是空白符号
F是最终状态集
下表比较了图灵机与有限自动机和下推自动机的不同。
Machine | Stack Data Structure | Deterministic? |
---|---|---|
Finite Automaton | N.A | Yes |
Pushdown Automaton | Last In First Out(LIFO) | No |
Turing Machine | Infinite tape | Yes |
图灵机M =(Q,X,∑,δ,q 0 ,B,F)
δ由-
Tape alphabet symbol | Present State ‘q0’ | Present State ‘q1’ | Present State ‘q2’ |
---|---|---|---|
a | 1Rq1 | 1Lq0 | 1Lqf |
b | 1Lq2 | 1Rq1 | 1Rqf |
在此,过渡1Rq 1表示写符号为1,磁带向右移动,下一个状态为q 1 。同样,转换1Lq 2表示写符号为1,磁带向左移动,下一个状态为q 2 。
对于Turing机器,时间复杂度是指在为某些输入符号初始化机器时磁带移动的次数的度量,而空间复杂度是所写磁带的单元数。
时间复杂度所有合理的功能-
T(n)= O(n log n)
TM的空间复杂度-
S(n)= O(n)