1. 有限自动机的概念
1.1 DFA和NFA
DFA(确定有限自动机):后继状态是唯一的
NFA(不确定有限自动机):后继状态不唯一
2. 有限自动机的形式定义
2.1 DFA
当输入一个字符串时,转换函数用表示
2.2 NFA
3. DFA和NFA的等效
构造方法
从状态 出发,仅当某些状态是从先前已加入的状态经过一个转移能够到达的时候,才将这些状态加到相应的DFA中
例题
4. 具有 转换的不确定有限自动机
4.1 有转换的NFA和无转换的NFA的区别
对有转换的NFA,转换函数 应为 的映射
4.2 闭包
例.
状态 的闭包:
表示含义:从出发有两条标有路径
概念定义
4.3 有转换的NFA和无转换的NFA等效
构造过程
5. 正则式与正则集
5.1 定义
1. 语言可以用类似代数的表达式来表达,称为正则表达式,简称正则式
2. 正则式所表示的集合称为正则集,是字母表上的特殊字符串的集合
3. 正则表达式的值是一个语言
5.2 求右线性文法的正则式
1. 将已给的右线性文法写成一组联立方程
2. 求方程的解,得到正则式
求解规则R:
例.
6. 右线性文法和正则集
正则集是由右线性文法所产生的语言
7. 正则表达式和有限自动机
扩充正则式
7.1 由正则式构造NFA
方法:
例.
P61 例1
7.2 由DFA构造正则式
构造过程
8. 右线性语言与有限自动机
8.1 由右线性文法构造NFA
构造方法:
8.2 由DFA构造右线性文法
构造方法:
8.3 总结
至此已证明了正则文法、有限状态自动机和正则表达式是3个等价的计算模型,还可以证明,右线性文法和左线性文法是等价的
因此,下列命题是等价的:
9. 右线性语言的性质
9.1 DFA的化简
9.1.1 等价的概念
9.1.2 DFA M的最小化
例. P68 例1
9.1.3 计算状态集划分的算法
填表法:
例. P69 例2
9.2 泵浦引理
9.2.1 作用
泵浦引理给出了正则集的一个重要性质,利用这个性质可以判断某个语言是不是正则集
9.2.2 内容
例. P71 例3
正则集一定满足泵浦引理,而满足泵浦引理的不一定是正则集
9.3 右线性语言的封闭性
设 L1 和 L2 为右线性语言,则
为右线性语言
为右线性语言
为右线性语言
为右线性语言
为右线性语言:
右线性语言对置换是封闭的:
9.4 判定问题
9.4.1 判定空问题
9.4.2 判定成员问题
9.4.3 判定等价问题
10. 双向和有输出的有限自动机
10.1 双向有限自动机
概念
形式定义
格局定义与格局变化
接受的字符串
10.2 有输出的自动机
米兰机的形式定义
摩尔机的形式定义