三有穷自动机.pptxVIP

  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文档。上传文档
查看更多
§3.1 有穷自动机的形式定义 ; 有穷自动机分为两类: (1)确定的有穷自动机 (Deterministic Finite Automata简称DFA) (2)不确定的有穷自动机(Nondeterministic Finite Automata简称NFA) 。 ;3.1.1 确定有穷自动机的形式定义 一个DFA M=(K,Σ,f,S,Z),其中 (a)K是一个有限状态集合。 (b)Σ是一个字母表,它的每个元素称为一个输入字符。 (c)S∈K,S 称为初始状态,唯一。 (d)Z?K, Z称为终态集合, 终态也称可接受状态或结束状态。 (e)f是转换函数,是一个从K×Σ到K的单值映射。f(ki,a)=kj(ki,kj∈K,a∈Σ)kj称为ki的一个后继状态。;确定性的体现:初始状态唯一; 转换函数为单值映射。 例: 设DFA M=({S,U,V,Q},{a,b},f,S,{Q})其中 ???? f(S,a)=U, f(S,b)=V ???? f(U,a)=Q, f(U,b)=V ???? f(V,a)=U, f(V,b)=Q ???? f(Q,a)=Q,f(Q,b)=Q 因为(1)初始状态唯一是S, (2)每个转换函数均为单值映射。 所以该FA为确定有穷自动机。 ;3.1.2 状态转换表 DFA的映射关系可以由一个矩阵表示,矩阵的行标表示状态,列标表示输入字符,矩阵元素表示f(s,a)的值,这个矩阵称为状态转换表。 f(S,a)=U ????f(S,b)=V f(U,a)=Q?????f(U,b)=V f(V,a)=U?????f(V,b)=Q f(Q,a)=Q????f(Q,b)=Q ;;3.1.4 自动机的等价性 为了讨论自动机的等价性,先对DFA中的映射进行扩充。 扩充的转换函数f 设Q?K,函数f(Q, ?)=Q,即如果输入字符是空串,则仍停留在原来的状态上。 对?Q?K,T??,t1??*,f(Q,Tt1)=f(f(Q,T), t1)该定义是一个递归定义,说明当自动机处在状态Q且面临某个输入串Tt1时,则先应用函数 f(Q,T)=P,然后应用函数f(P,t1)。;DFA的确定性表现在转换函数f: K???K是一个单值函数,即对任何状态k?K和输入符号a??,f(k,a)唯一地确定了下一个状态,从状态转换图来看,若字母表?含有n个输入字符,那么任何一个状态结点最多有n条弧射出,且每条弧以一个不同的输入字符标记。 ;自动机接受字符串x 如果对于某一自动机M=(K,?,f,S,Z),x??*,有f(S,x)=P,且P?Z,则x为该自动机M所接受(识别),即自动机从开始状态开始,在读完全部输入串以后,自动机恰恰到达终止状态,则该输入串能被该自动机所接受。 ;例:DFA M=({S,A,B,C},{0,1},?,S,{S}),且?定义为?(S,0)=B,?(S,1)=A,?(A,0)=C,?(A,1)=S,?(B,0)=S, ?(B,1)=C,?(C,0)=A,?(C,1)=B 状态图表示,矩阵表示:;自动机处理字符串110101和11101的轨迹 ?(S,110101)= ?(?(S,1),10101)= ?(A,10101)= ?(?(A,1),0101)= ?(S,0101)= ?(?(S,0),101)= ?(B,101)= ?(?(B,1),01)= ?(C,01)= ?(?(C,0),1)= ?(A,1)= S(接受) ?(S,11101)= ?(?(S,1),1101)= ?(A,1101)= ?(?(A,1),101)= ?(S,101)= ?(?(S,1),01)= ?(A,01)= ?(?(A,0),1)= ?(C,1)= B(拒绝);所有为自动机M所能接受的串组成一个集合,称这个集合为自动机M所能接受的语言,用L(M)表示: L(M)={ t | f(S,t)?Z,t??*} 对于任何两个有穷自动机M和M’,如果L(M)=L(M’),则称M与M’是等价的。;3.1.5 非确定有穷自动机 NFA定义 一个不确定的有穷自动机NFA M’是一个五元组: M’=(K, ?,f,S,Z) 一个含有m个状态和n个输入字符的NFA可表示为一张状态转换图,该图含有m个状态结,每个结可射出若干条 箭弧与别的结点相连接,每条弧用?*中的一个字(不一定要不同的字,且可以为空字)作标记(称输入字),整个图至少含有一个初态结以及若干个终态结。;NFA与DFA的区别 NFA有一个开始状态集,而DFA只有一个开始状态。 NFA的映射是Q???Q的子集,是一个多值映射,而DFA的映射

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档