计算引论与6 有限自动机 .ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算引论与6 有限自动机

计算引论 第三章 文法与语言 第三章 文法与语言 3.1 集合关系语言 3.2 有限自动机 3.3 上下文无关语言 3.4 上下文无关语言识别算法 3.2 有限自动机 问题提出: 如何构造可以接受及产生一个语言的计算模型? 语言识别器: 对一个已经存在的字符串集合, 如何判断它就是符合条件的语言? 解决接受的问题 语言产生器: 怎样根据正则表达式产生一个语言. 解决产生的问题 3.2 有限自动机 有限状态图 正则表达式可以用有向图表示,图的结点是状态,有一个起始结点和一个终止结点。起始结点只有出边,终止结点用双圆圈表示。边上的符号表示从一个状态到另一个状态结点允许出现的字符,这种图称之为有限状态图。正则式01* 对应的有限状态图为: 3.2 有限自动机 例:打电话的过程,在一次呼叫中,从建立连接到通话完毕,要经历摘机,拨号,应答,进行通话等过程,可以分别用五个状态来表示。 3.2 有限自动机 有限自动机(Finite automaton): 对实际计算机的一个严格限制的模型 与实际计算机的共同之处是有一个固定的, 计算能力有限的中央处理器. 3.2 有限自动机 特点: 以字符串作为输入, 通过输入带传送字符串; 除了提示输入的字符串是否接受外, 没有任何其他的输出; 在它的固定中央处理器的外面完全没有记忆功能; 类似一个语言识别器. 3.2 有限自动机 有限自动机的构造 3.2 有限自动机 组成: 输入带: 放字符串的装置 有限控制器: 含不同的内部状态 读写头 原理: 在一定的时间间隔内, 自动机根据从输入带上读入的符号和当前的内部状态, 进入一个新的状态. 3.2 有限自动机 过程: 读取一个符号后, 读写头向右移动一个方格, 读取下一个符号, 有限控制器的内部状态发生改变. 最终读写头到达输入串的尽头. 自动机将根据它所处的状态来说明它是否接受读入的字符串, 如果此时的状态正好是一个最终状态, 则认为该字符串是可接受的. 3.2 有限自动机 根据每次转换后的状态是否唯一, 可将有限自动机分为确定型有限自动机和非确定型有限自动机, 本课程只介绍确定型有限自动机. 3.2 有限自动机 定义: 确定型有限自动机为一个五元组 M=(Q, ∑,??, s, F), 其中 Q为状态的有限集合 ∑为字母表 s?Q为起始状态 F??Q为终止状态集 ?为Q??∑?Q的转换函数 3.2 有限自动机 转换函数说明了自动机M下一步将进入的状态. 若M当前状态为q ? Q, 从输入带上读入的符号为a?∑, 则?(q, a) ? Q为Q中唯一确定的状态. 3.2 有限自动机 格局: 机器的状态(有限控制器, 读写头和输入带)的表示方式. 连续时刻的格局序列就是自动机在输入字符串上的计算(computation). 格局是由当前状态和字符串未输入部分决定, 即确定型有限自动机(Q, ?, ?, s, F)的格局是Q??*中任意一个元素. 例如上图中的格局为(q2, ababab) 3.2 有限自动机 若M的一个格局经过一步(读写头)的移动到达另一个格局, 则称这两个格局之间有二元关系?M. 例如, 若(q, w)和(q’, w’)为M的格局, 当且仅当对某a∈?有w=aw’及?(q, a)=q’时有(q, w) ?M (q’, w’). 此时称(q, w)一步产生(q’, w’). 3.2 有限自动机 ?M的自反传递闭包表示为?*M; 用(q, w)?*M (q’, w’)表示(q, w)经过多步(包括0步)后产生了(q’, w’). 字符串w∈?*被M接受当且仅当存在状态q?F, 使得(s, w)?*M (q, e). 所有由被M接受的字符串组成的集合即为M接受的语言, 记为L(M). 3.2 有限自动机 例, 令M为确定型有限自动机(Q, ?, ?, s, F), 其中Q={q0,q1}, ?={a, b}, s=q0, F={q0}, ?为如右表所示 3.2 有限自动机 若输入为aabba, M的初始格局为(q0, aabba)则有 (q0, aabba)?M(q0, abba) ?M(q0, bba) ?M(q1, ba) ?M(q0, a) ?M(q0, e) 即(q0, aabba)?*M(q0, e), 因此aabba被M接受 3.2 有限自动机 状态图 状态用结点表示, 用标有b的从q0指向q1的箭头表示?(q0, b)=q1, 终止状态用双圆圈

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档