下载此文档

自由泳技术要点及口诀(图片).doc


文档分类:生活休闲 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
基本定义
NFA,也称不确定的有穷自动机,是由一个五元式定义的数学模型,特点是它的不确定性,即在当前状态下,读入同一个字符,可能有多个下一状态。
DFA,也称确定的有穷自动机,也是由一个五元式定义的数学模型,相对的特点是它的确定性,即在当前状态下,读入同一个字符,最多有一个后继状态。
NFA与DFA的矩阵表示
一个NFA或者DFA还可以用一个矩阵[5]表示,矩阵也可以说是状态转换表,它的优点是可以快速访问给定的状态在给定的输入字符时能转换到的状态集。矩阵,每个状态一行,每个输入符号和ε(如果有需要的)各占一列,表的第i行中与输入符号a对应的表项是一个状态集合,表示NFA或者DFA在状态i输入a时所能到达的状态集合(DFA的集合唯一),即δ(i,a)[6]。(7)
如图可用表表示:
NFA状态转换表
输入
状态
0
1
S
{P}
{S,Z}
P
{}
{Z}
Z
{P}
{P}
DFA状态转换表
输入
状态
a
b
0
1
2
1
3
2
2
1
3
3
3
3
NFA向DFA的转换的思路
从NFA的矩阵表示中可以看出,表项通常是一状态的集合,而在DFA的矩阵表示中,表项是一个状态,NFA到相应的DFA的构造的基本思路是:DFA的每一个状态对应NFA的一组状态DFA使用它的状态记录在NFA读入一个输入符号后可能达到的所有状态[4]。
NFA和DFA之间的联系
在非确定的有限自动机NFA中,由于某些状态的转移需从若干个可能的后续状态中进行选择,故一个NFA对符号串的识别就必然是一个试探的过程。这种不确定性给识别过程带来的反复,无疑会影响到FA的工作效率。而DFA则是确定的,将NFA转化为DFA将大大提高工作效率,因此将NFA转化为DFA是有其一定必要的。
子集构造法
已证明:非确定的有限自动机与确定的有限自动机从功能上来说是等价的,也就是说,我们能够从:
NFA M’ DFA M
使得 L(M)=L(M’)
为了使得NFA确定化,我们首先给出两个定义:
定义1:集合I的ε-闭包:
令I是一个状态集的子集,定义ε-closure(I)为:
1)若s∈I,则s∈ε-closure(I);
2)若s∈I,则从s出发经过任意条ε弧能够到达的任何
状态都属于ε-closure(I)。
状态集ε-closure(I)称为I的ε-闭包
定义2:令I是NFA M’的状态集的一个子集, a∈Σ
定义: Ia=ε-closure(J)
其中J = ∪δ(s,a)
——J是从状态子集I中的每个状态出发,经过标记为a的弧而达到的状态集合。
——Ia是状态子集,其元素为J中的状态,加上从J中每一个状态出发通过ε弧到达的状态。
开始
求开始状态闭包
标记F令它为集合C中的唯一成员
集合C中存在尚未被标记子集
标记T
对子集T中的每个输入字母求U=Ia子集
将U加入C中
结束语


具体的转换过程
为了说明跟清晰,我们使用实例说明,构造正规式101(0|1)*011的DFA?
解:首先构造相应的NFA,:
1
0
1
1
ε
ε
1
0
0
1
0
1
2
3
5
6
4
7

自由泳技术要点及口诀(图片) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小898 KB
  • 时间2017-09-04