第3章 自动机基础

自动机是一种语言模型,是语言的一种识别工具, 其中的有限自动机(Finite Automata, FA) 被用来处理正规语言,正规语言是编译程序设计中词法分析的对 象。

3.1 正规语言及其描述方法

3.2 有限自动机的定义与分类

3.3 有限自动机的等价转换

3.4 有限自动机的实现

3.5 正规语言描述方法间的相互转换

3.1 正规语言及其描述方法

3.1.1 正规语言的定义
3.1.2 正规语言的另外两种表示方法
3.1.1 正规语言的定义

【定义】 正规语言是指由正规文法定义的语言;程序设计语言中的单词,大都属于此种语言。
正规语言有三种等价的表示方法:
(1) 正规文法 (2) 正规式 (3) 有限自动机
编译原理(三)
※ 正规语言判定示例
编译原理(三)

3.1.2 正规语言的另外两种表示方法

编译原理(三)
编译原理(三)
※有限自动机表示法说明
编译原理(三)
※ 正规语言的三种表示法综合示例
编译原理(三)

3.2 有限自动机的定义和分类

3.2.1 有限自动机的定义
3.2.2 有限自动机所描述的语言
3.2.3 有限自动机的两种表现形式
3.2.4 有限自动机的分类
3.2.1 有限自动机的定义

编译原理(三)

3.2.2 有限自动机所描述的语言

编译原理(三)
※ L(FA)的生成或识别过程示例编译原理(三)

3.2.3 有限自动机的两种表现形式

编译原理(三)

3.2.4 有限自动机的分类

编译原理(三)
编译原理(三)

3.3 有限自动机的等价转换

3.3.1 有限自动机的等价
3.3.2 有限自动机的确定化算法
3.3.3 有限自动机的最小化算法
3.3.1 有限自动机的等价

有限自动机的等价转换,主要包含两个内容:
(1) 有限自动机的确定化( NFA=>DFA)

  • 非确定的有限自动机(NFA) 较易构造,但不好用

  • 确定的有限自动机 (DFA)== 较难构造,但好用==!

  • 任何一个非确定的有限机NFA,都可通过有效算 法把其转化为等价的确定的有限机DFA(二者描述 的语言相同)

(2) 有限自动机的最小化( DFA=>最小的DFA)

  • 有限自动机的最小化,又称为有限自动机的化简;是指:对给定的确定的有限自动机DFA1,构造另一个确定的有限自动机DFA2,L(DFA1)=L(DFA2),且DFA2的状态最少。
Ⅰ. 两个自动机的等价

编译原理(三)

Ⅱ. 两个状态的等价

编译原理(三)

3.3.2 有限自动机的确定化算法

编译原理(三)
编译原理(三)
编译原理(三)
编译原理(三)

3.3.3 有限自动机的最小化算法

最小的有限自动机,是指满足下述条件的确定的有限自动机:
(1) 没有无用状态(无用状态已删除)
(2) 没有等价状态(等价状态已合并)

Ⅰ.删除无用状态算法

【定义】无用状态是指自动机从开始态出发,对任何符号串的识别过程都不能到达的状态。
编译原理(三)

Ⅱ. 合并等价状态算法

【原理】两个状态i与j 等价,当且仅当满足下面两个条件:
① 必须同是结束态,或同是非结束态;
② 对字母表上的所有符号,状态 i和j 必变换到等价状态。
编译原理(三)

Ⅱ. 合并等价状态算法(划分不等价状态集)

(1) 初始,把状态集Q划分成两个不等价子集 Q1(结束状态集)和Q2(非结束状态集) (2) 把每个Qi再划分成不同的子集,条件是:
对Qi中的两个状态 i 和 j ,若对字母表中的 某个符号,变换到已划分的不同的状态集中, 则 i 和 j 应分离,即
编译原理(三)
(3) 重复步骤(2),直到每个子集再不能划分为止;
(4) 将最终划分的每个子集中的多个状态合并为一个状态。

※ 有限自动机化简示例
编译原理(三)
编译原理(三)
编译原理(三)

3.4 有限自动机的实现

3.4.1 控制程序设计
3.4.2 变换表存储结构设计

用计算机完成有限自动机的功能,其核心是“变 换”的实现技术。这里介绍的是把变换表按某种方式存储起来,作为知识源来识别单词,实现机制是:
编译原理(三)

3.4.1 控制程序设计编译原理(三)
3.4.2 变换表存储结构设计

变换表的存储结构可选择下述两种方式之一:
(1) 二维数组 ,其下标是(状态,输入符号);
※ 为了适应不同编码语言的需要,状态和输入符号可采取相应的编码形式;通常,使用连续的正整数:0,1,2,3,…。
(2) 压缩变换表,方法是把每个状态行作为子表,状态为索引,并把错误的输入符号合并在一起,如:编译原理(三)
编译原理(三)

3.5 正规语言描述方法间的相互转换

3.5.1 正规文法与有限自动机之间的转换
3.5.2 正规式与有限自动机之间的转换

§ 正规语言有三种等价的表示方法:
(1) 正规文法 (2) 正规式 (3) 有限自动机

编译原理(三)
编译原理(三)
编译原理(三)
编译原理(三)

相关文章:

  • 2021-12-13
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2021-07-01
  • 2021-12-16
  • 2021-11-04
  • 2021-06-01
猜你喜欢
  • 2022-02-07
  • 2022-02-07
  • 2022-12-23
  • 2021-12-25
  • 2021-06-12
  • 2021-10-14
相关资源
相似解决方案