【软考】编译原理之有限自动机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LYN_xj94512/article/details/83044436

什么是有限自动机?

答:是一种识别装置的抽象概念,它能准确地识别正规集,他分为两类:确定的有限自动机和不确定的有限自动机

DFA(确定有限自动机) NFA(不确定有限自动机)
S 是一个有限集合,每个元素成为一个状态 是一个有限集合,每个元素成为一个状态
是一个有穷字母表,其中每一个元素成为一个输入符号 是一个有穷字母表,其中每一个元素成为一个输入符号
f 单值映射函数 多值映射函数
s0 是唯一的一个开始状态 开始状态不唯一
Z 非空的终止状态 非空的终止状态
一、DFA(确定有限自动机)

特点:
1、任意状态的射出弧上的标志均不相同
2、任意状态至多有n条射出弧
3、若DFA识别空串,这初态也是终止状态

二、NFA(不确定有限自动机)

特点:
1、同一状态的射出弧上的标志可以相同
2、每个状态可以有多于n条射出弧
3、允许初态也是终态

三、NFA到DFA的转换

利用子集法求解

  1. 若I是NFA M的装填的一个子集,定义ε-closure(I)
  2. 从ε-closure(I)这个集合里的任意一个状态出发,经过任意一条空弧能够到达的状态,依然属于开始的空闲包

例子:一个NFA如下

在这里插入图片描述

将其转化为DFA,并最小化。

在这里插入图片描述

在这里插入图片描述

由于B和C相同,一次删除C,则得到如下的DFA自动机
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/LYN_xj94512/article/details/83044436