编译原理(3)-----0型文法和图灵机
来源:互联网 发布:淘宝在线客服人工官网 编辑:程序博客网 时间:2024/05/02 08:47
0型文法:
如果文法G=(N,Σ,P,S)的规则集P中所有规则满足α→β,其中,α∈(N∪Σ)*且至少含有一个非终结符,
则G是一个0型文法,从0型文法到3型文法,对规则的约束越来越多,而从0型文法到3型文法所识别的语言
集合越来越小。0型文法可被图灵机接受。
图灵机:
注:百度百科以及维基百科对图灵机介绍的很详细,为了文章的完整性,摘录部分重要的概念
一台图灵机是一个七元组,{Q,Σ,Γ,δ,q0,qaccept,qreject},其中 Q,Σ,Γ 都是有限集合,且满足
开始的时候将输入符号串 从左到右依此填在纸带的第 号格子上, 其他格子保持空白(即填以空白符)。M 的读写头指向第 0 号格子, M 处于状态 q0。机器开始运行后,按照转移函数 δ 所描述的规则进行计算。例如,若当前机器的状态为 q,读写头所指的格子中的符号为 x, 设 δ(q,x) = (q',x',L), 则机器进入新状态 q', 将读写头所指的格子中的符号改为 x', 然后将读写头向左移动一个格子。若在某一时刻,读写头所指的是第 0 号格子, 但根据转移函数它下一步将继续向左移,这时它停在原地不动。换句话说,读写头始终不移出纸带的左边界。若在某个时刻 M 根据转移函数进入了状态 qaccept, 则它立刻停机并接受输入的字符串; 若在某个时刻 M 根据转移函数进入了状态 qreject, 则它立刻停机并拒绝输入的字符串。
图灵机基本术语:
设M={Q,Σ,Γ,δ,q0,qaccept,qreject}是一台图灵机,
1、M的带描述是一个函数F:N->Γ,其中F(i)表示M的带上第i个格子中的符号
2、M的格局是一个三元组(F,q,e),其中F:N->Γ是当前的带描述,q∈Q是当前的状态,e∈N是当前读写头所处的位置
3、设C1=(F1,q1,e1),C2=(F2,q2,e2)是M的格局,设δ(q1,F1(e1))=(q,x,d),若满足q2=q,
则称M从格局C1产生格局C2,记作C1->MC2
4、设C=(F,q,e)为M的格局,若q=qreject则称C为拒绝格局;若q=qaccept则称C为接受格局;接受格局和拒绝格局
统称为停机格局。设M是一台图灵机,将字符串w=w0w1…wn-1作为其输入,若存在格局序列C1,C2,…Ck使得
1、C1是M在输入w上的起始格局,即C1=(F,q0,0),其中
2、Ci->MCi+1,其中i=1,2,…,k-1
3、Ck是接受格局
则称M接受字符串w,M所接受的所有字符串的集合称为M的语言,记作L(M)。
图灵机的概念比较抽象,多看几遍就能理解了。
- 编译原理(3)-----0型文法和图灵机
- 编译原理(6)-----3型文法和有限自动机
- 编译原理(5)-----2型文法和下推自动机
- 编译原理学习周入门教程--(3)文法和语言
- 编译原理(2):文法和语言
- 自然语言 和编译原理中的(1型文法)上下文有关文法和(2型文法)上下文无关文法CFG
- 编译原理0型到3型文法
- 编译原理:文法和语言
- 编译原理--文法和语言
- 编译原理---文法和语言
- 编译原理(1)-----文法
- 编译原理(4)-----1型文法和线性界限自动机
- 编译原理--文法分类和推导树
- 编译原理中的四种类型文法
- 编译原理之文法(一)
- 编译原理之文法(二)
- 【软考】(一)编译原理-文法
- 【编译原理】乔姆斯基(chomsky)文法分类
- GPL协议的代价
- 判断路径目录不存在,则创建目录
- ASP.Net将图片以二进制方式存入数据库,并读取
- 使用Java配置进行Spring bean管理
- 谈UIView Animation编程艺术
- 编译原理(3)-----0型文法和图灵机
- maven学习笔记--maven的概述、下载、安装配置
- Trafodion 更新统计信息
- Ueditor使用教程
- Java解决java.io.FileNotFoundException: E:\work\work (拒绝访问。)
- JS创建对象的几种方式
- JNDI数据源配置
- 第一个问题:mybatis配置文件找不到的问题解决方法
- mysql语句注意几点