编译原理课件第3章 有穷自动机.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文档。上传文档
查看更多
2005-09-14 编译原理 第三章 有穷自动机 oegzdz 2005-09-14 编译原理 第三章 有穷自动机 oegzdz 第三章 有穷自动机 有穷自动机(也称有限自动机)作为一种识别装置,是描述(或“机器”)特定类型算法的数学方法。特别地,有穷自动机可用作描述在输入串中识别模式的过程,因此也能用作构造扫描程序。它能准确地识别正规集,即识别正规文法所定义的语言和正规式所表示的集合,引入有穷自动机这个理论,正是为词法分析程序的自动构造寻找特殊的方法和工具。当然有穷自动机与正则表达式之间有着很密切的关系。 有穷自动机分为两类:确定的有穷自动机(Deterministic Finite Automata)和不确定的有 穷自动机(Nondeterministic Finite Automata) 。 关于有穷自动机我们将讨论如下题目 确定的有穷自动机DFA 不确定的有穷自动机NDFA NDFA的确定化 DFA的最小化 RG与FA 正规式与FA RG与正规式 DFA M=(K,Σ,f,S,Z) 1) A finite set of states, one of which is designated the initial state or start state, and some of which are designated as final states. 2) An alphabet of possible input symbols. 3) A finite set of transitions that specifies for each state and for each symbol of the input alphabet, which state to go to next. 3.1 有穷自动机的形式定义 定义3.1 一个确定的有穷自动机(DFA)M是一个五元式 M=(Q,?,t,q0,F)。其中 (1)Q是由有限个状态组成的集合; (2)?是由有限个输入字符组成的集合,有穷字母表; (3)t是一个从Q×?到Q的单值映射,t(p,a)=q意味着:当现行状态为p时,输入字符为a时,将转换到下一状态q。我们称q为p的一个后继状态; (4)q0?Q,且是唯一的初态; (5)F?Q,是一个终态集。 3.1.1 状态转换表 一个DFA可用一个矩阵表示,该矩阵的行表示状态,列表示输入字符,矩阵元素表示t(p,a)的值。这个矩阵称为状态转换表。 例如,有DFA M=({0,1,2,3},{a,b},t,0,{3}) t(0,a)=1 t(0,b)=2 t(1,a)=3 t(1,b)=2 t(2,a)=1 t(2,b)=3 t(3,a)=3 t(3,b)=3 3.1.2 状态转换图 状态转换图是一张有限方向图。在状态转换图中,结点代表状态,用圆圈表示(初态结点用箭头指示,终态结点用双圆圈表示)。状态之间用箭弧连结。箭弧上的标记(字符)代表在射出结点(即箭弧始结点)状态下可能出现的输入字符或字符类。 一个确定的有穷自动机实际上是相应的状态转换图的一种形式描述。 上例所定义的 DFA M相应的状态转换图如下图所示。它能识别?上所有含有相继两个a或相继两个b的字 。 3.1.3 自动机的等价性 对于?*中的任何字? ,若存在一条从初态结点到某一终态结点的通路,且这条通路上所有弧的标记符连接成的字等于? ,则称?可为 DFA M所识别(读出或接受)若M的初态结点同时又是终态结点,则空字?可为M所识别(或接受)。DFA M所能识别的字的全体记为L(M)。 对于任给的DFA A1和A2,若L(A1)=L(A2),称自动机A1与A2等价。P37 例3.5。 DFA 3.1.4 非确定有穷自动机(NDFA) 定义:一个非确定自动机(NDFA) M是一个五元组M=(Q, ∑,t,Q0,F)其中 (1)Q同前 (2)∑同前 (3)t是一个从Q×∑*到Q的子集的映射。 即t: Q×∑*→Q (即不要求单值映射) (4)Q0?Q,是一个初态集; (5)F?Q,是一个终态集 一个含有m个状态和n个输入字符的NDFA也可表示为一张状态转换图:该图含有m个状态结点,每个结点可射出若干条箭弧和别的结点相连接,每条箭弧用∑*中的输入字符(不一定要不同的,而且可以是空字?)作标记(称为输入字),整张图至少含有一个初态结点以及若干个终态结点。某些结点既可是初态结点,也可以是终态结点。 对于∑*中的任何一个字?,若存在一条从某一初态结点到某一终态结点的通路,且这条通路上所有弧的标记字依序连接成的字(忽略那些标记为?的弧)等

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档