第章形式语言与自动机理论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
初始状态唯一。 转换函数f:S???S是一个单值函数,也就是说,对任何状态s?S,和输入符号 a??, f(s,a) 唯一地确定了下一个状态。即转换函数至多确定一个状态。 没有空边。即没有输入为?(?) 确定有限自动机 DFA的确定性 第三十页,编辑于星期五:二十点 分。 非确定有限自动机 ?是字母表 SS是状态集 S0是初始状态集 f是转换函数,但不要求是单值的 f: SS ? (?∪{?}) ? 2SS TS是终止状态集 非确定有限自动机及相关概念 定义1:一个非确定有限自动机(NFA)A是一 个五元组A=(?,SS,S0,f,TS).其中 第三十一页,编辑于星期五:二十点 分。 非确定有限自动机 定义2:设A是一个NFA,A= (?,SS,S0,f,TS) 则定义L(A)为从任意初始状态到任意终止状态所接受的字符串集合。 L(A)={?|s0??s’, s0? S0 s’?TS} NFA的一个例子 S P Z 0 0,1 1 1 1 第三十二页,编辑于星期五:二十点 分。 自动机等价 设A1和A2是同一个字母表上的自动机,如果有L(A1)=L(A2),则称A1和A2等价。 NFA到DFA的转换(确定化) 对于每一个非确定自动机A,存在一个确定自动机A’,使得L(A)=L(A’)。 非确定有限自动机 第三十三页,编辑于星期五:二十点 分。 确定化算法—子集法 已知 NFA: A=(?, S, f, S0, Z) 构造 DFA: A’=(?, S’, f’, S0’, Z’) 1.令A’的初始状态为S0’=[S1,S2,…Sk], 其中S1…Sk是A的全部初始状态。 2.若S’=[S1,…,Sm]是A’的一个状态,a??则定义 f’(S’, a)=f(S1,a)?f(S2,a)…?f(Sm,a)=Q 将Q加入S’,重复该过程,直到S’收敛。 3.若S’=[S1,…,Sn]是A’的一个状态,且存在一个Si是A的终止状态,则令S’为A’的终止状态。 非确定有限自动机 第三十四页,编辑于星期五:二十点 分。 带空边的NFA的确定化 定义:设I是NFA的状态集的子集,则I的?闭包为: ?_CLOSURE(I)= I?{q|f(p, ?)=q,p??_CLOSURE(I)} 定义:设I是NFA状态集的子集,则 Ia=?_CLOSURE(J),J={q|f(p,a)=q,p?I} 非确定有限自动机 第三十五页,编辑于星期五:二十点 分。 确定化算法—子集法 已知 A:NFA, 构造 A’:DFA 1.令A’的初始状态为 I0’= ?_CLOSURE({S1,S2,…Sk}), 其中S1…Sk是A的全部初始状态。 2.若I={S1,…,Sm}是A’的一个状态,a??则定义 f’(I, a)=Ia 将Ia加入S’,重复该过程,直到S’收敛。 3.若I’={S1,…,Sn}是A’的一个状态,且存在一个Si是A的终止状态,则令I’为A’的终止状态。 非确定有限自动机 第三十六页,编辑于星期五:二十点 分。 带空边的NFA确定化的例子 非确定有限自动机 第三十七页,编辑于星期五:二十点 分。 DFA化简(极小化) 状态等价 对DFA中的两个状态S1和S2,如果将它们看作是初始状态,所接受的符号串相同,则定义S1和S2是等价的。 无关状态 从有限自动机的开始状态开始,任何输入序列都不能到达的状态。 最小DFA 如果DFA中没有无关状态,也没有彼此等价的状态,则称该自动机是最小的。 非确定有限自动机 第三十八页,编辑于星期五:二十点 分。 DFA化简算法--状态分离法 1.将DFA的所有状态K按终态和非终态划分成两个子集Z与K-Z,构成初始化分,记作:?={Z, K-Z}。 2.设当前的划分?中已经含有m个子集: ?={I1,I2,…,Im} 对于每一个子集Ii={Si1,Si2,…,Sin}及每一个a??,设 Iin=f(Ii,a)=f(Si1,a)?f(Si2,a)?…?…f(Sin,a) 若Iin中的状态分别落在?中p个不同的子集,则将Iin分为p个更小的子集,得到新的划分?new。 3. 若?new? ?, 则将?new作为?重复(2),直到?不能划分。 4. 将最后所得到的划分?中的每个子集看成一个状态,边作相应修改,确定开始状态和结束状态。 非确定有限自动机 第三十九页,编辑于星期五:二十点 分。 第二章 形式语言与自动机理论基础 主要内容: 语言和文法 有限自动机 正则表达式 第一页,编辑于星期五:二十点 分。 语言和文法

文档评论(0)

189****5739 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档