📜  图灵机介绍

📅  最后修改于: 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)

  • Q = {q 0 ,q 1 ,q 2 ,q f }
  • X = {a,b}
  • ∑ = {1}
  • q 0 = {q 0 }
  • B =空白符号
  • F = {q 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)