《高级软件-王永利》第3章 自动机基础.pptVIP

《高级软件-王永利》第3章 自动机基础.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 自动机基础 3.1 正规语言及其描述方法 ※ 正规语言判定示例: 3.1.1 正规语言的另外两种表示方法 3.1.1 正规语言的另外两种表示方法 ※有限自动机表示法说明: ※ 正规语言的三种表示法综合示例: 【例3.5】 L ={ abnc, bn| n≥0 },∑= {a,b,c}; 【注】凡是能由上述三种方法中的一种表示的语言, 一定是正规语言;反之,凡是不能由上述三种方法表示 的语言,一定不是正规语言。 3.2 有限自动机的定义和分类 3.2.1 有限自动机的定义 ? 变换(二元函数) ; 令L(FA)为自动机FA所描述的正规语言;则 ※ L(FA)的生成(或识别)过程示例: 【例3.6】有限自动机 :FA=( Q,∑,S,F,? ) 其中: Q={1,2,3,4},∑={a,b,c}, S={1,2}, F={3,4} 3.3 有限自动机的等价转换 3.3.2 有限自动机的确定化算法 ※ 消除?边算法示例: 3.3.2 有限自动机的确定化算法(续1) ※ 确定化示例: 3.3.3 有限自动机的最小化算法 3.3.3 有限自动机的最小化算法(续1) 3.3.3 有限自动机的最小化算法(续2) ※ 有限自动机化简示例 ※ 有限自动机化简示例(续1) ※ 有限自动机化简示例(续2) ※ 有限自动机化简练习 3.4 有限自动机的实现 用计算机完成有限自动机的功能,其核心是“变换”的实现技术。这里介绍的是把变换表按某种方式存储起来,作为知识源来识别单词,实现机制是: ※ 有限自动机实现示例 3.5 正规语言描述方法间的相互转换 ※ 正规文法与DFA间转换示例: 3.5 正规语言描述方法间的相互转换 ※ 正规式与DFA间转换示例: ※ 正规式与DFA间转换练习(1) ※ 正规式与DFA间转换练习(1)答案 ※ 正规式与DFA间转换练习(2) 3.4.1 控制程序设计 开始 结束 state = 1 getchar(ch) 查变换表: ?(state,ch)= ? ?=空 ?=ok 回答:yes 回答:no y n y state = ? n 开始状态1赋给变量 state 从输入串中读取一符号到变量 ch 变量 state 重新被赋值为变换后的状态! n … ② ① 3.4.2 变换表存储结构设计 变换表的存储结构可选择下述两种方式之一: (1) 二维数组 ,其下标是(状态,输入符号); ※ 为了适应不同编码语言的需要,状态和输入符号可采取相应的编码形式;通常,使用连续的正整数:0,1,2,3,…。 (2) 压缩变换表,方法是把每个状态行作为子表,状态为索引,并把错误的输入符号合并在一起,如: no ? … ⑧ b ⑤ a no ? … ② f ④ e … no ? … ⑨ y ① x 索引表 ?(其他)--错误符号。 状态 变换子表 ④ ③ ② ① 【例3.11】 有限自动机DFA: ③ ① + ② ④ a b - # a b c d ? no ② b ③ a ? no ④ d no ? ② c ④ b ③ a ? no ok # 压缩变换表 输入串 aacd# 识别过程: 备注 变换 剩余 ch state 3 acd# a 1 接受 ok # 4 4 # d 2 2 d# c 3 3 cd# a 3 索引表 正规语言有三种等价的表示方法: (1) 正规文法 (2) 正规式 (3) 有限自动机 我们以有限自动机为核心,介绍彼此间的转换关系: Ⅰ. 正规文法 = DFA 设 G(Z)=(VN,VT,Z,P), DFA=(Q,∑,S,F,?) 则有: ∑ VT ?(A,a)=B A - aB ?(A,a)=B(结束态) A - a S(开始态) Z(开始符号) Q VN DFA 正规文法 A - ? A(结束态) 有时需要增加一个结束状态 Z-aZ|bA|? , A-bA|dB ,B-? 【例3.12】 自动机 = 正规文法: ① ② ③ a b c d + - DFA: 令 Z-①, A-②, B-③ 则有正规文法 Z-aA|cB , A-bA|dB , B-? 【例3.13】正规文法 = 自动机, 并求 L(G): G(Z): Z-aZ|bA|? ,A-bA|d ∵ A-d 可变换为 A-dB,B-? ∴ G`(Z) (与 G(Z)等价): 令 ①-Z, ②-A, ③-B 对应的DFA ① ② ③ b a d + - - b 则 L(G)={am,ambnd|m≥0,n0} G(Z): e = s f e + - Ⅱ. 正规式 = DF

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档