第3章自动机基础优秀课件.ppt
《第3章自动机基础优秀课件.ppt》由会员分享,可在线阅读,更多相关《第3章自动机基础优秀课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 自动机基础第1页,本讲稿共40页3.1正规语言及其描述方法正规语言及其描述方法 【定义】【定义】正规语言正规语言是指由是指由正规文法正规文法定义的语言;定义的语言;程序设计语言中的程序设计语言中的单词单词,大都属于此种语言。,大都属于此种语言。正规语言有三种等价的表示方法:(1)正规文法 (2)正规式 (3)有限自动机正规文法仅有三种形式的产生式:(1)A-aB (2)A-a (3)A-【例【例3.1】G(Z):A-aA|A=;A=aA=aaA=aaaA=an,n0L(G)=an|n0正规文法正规语言第2页,本讲稿共40页 正规语言判定示例正规语言判定示例:【例【例3.2】L1=amb
2、n|m0,n1,正规语言正规语言?可由正规文法定义:可由正规文法定义:G1(S):S-aS|bA;A-bA|L1是正规语言。是正规语言。【例【例3.3】L2=(ab)n|n1,正规语言正规语言?可由正规文法定义:可由正规文法定义:G2(S):S-aA;A-bB;B-aA|L2是正规语言。是正规语言。【例【例3.4】L3=anbn|n0,正规语言正规语言?不能由正规文法定义不能由正规文法定义(正规文法无法描述正规文法无法描述a和和b数数量上相等!量上相等!):L3不是正规语言!不是正规语言!第3页,本讲稿共40页3.1.1正规语言正规语言的另外两种表示方法的另外两种表示方法.正规式表示法:正规式
3、表示法:正规式正规式是指由字母表中的符号,通过以下是指由字母表中的符号,通过以下三种运算三种运算(也可以使用圆括号也可以使用圆括号)连接起来构成的表连接起来构成的表达式达式e:闭包闭包(*(*,+)+)连接连接(.)(.)或或(|)(|)设设val(e),L(e)分别表示正规式分别表示正规式e的的值值和和语言,语言,则:则:L(e)=x|x=val(e)即即 正规式表示的语言是该正规式所有值的集合。正规式表示的语言是该正规式所有值的集合。正规式L3=abnc,bn|n0,L2=(ab)n|n1,e2=(ab)+e3=ab*c|b*L1=ambn|m0,n1,e1=a*b+第4页,本讲稿共40页
4、.有限自动机表示法:有限自动机表示法:L3=abnc,bn|n0L2=(ab)n|n1L1=ambn|m0,n1+b-ab+b-aa+-abcbb-FA1:FA2:FA3:初看起来,有限自动机是带标记的有向图!初看起来,有限自动机是带标记的有向图!3.1.1正规语言正规语言的另外两种表示方法的另外两种表示方法第5页,本讲稿共40页1,2,3,4状态集状态集;其中:其中:+(开始状态开始状态);-(结束状态结束状态)a,b,c字母表字母表;(1,a)=2变换变换(或或);(表示表示1状态遇符号状态遇符号a变到变到2状态状态,);有限自动机有限自动机表示法说明:表示法说明:aL3=abnc,bn|
5、n0+-abcbb-一个一个FA,若存在一条从某开始状态,若存在一条从某开始状态i到某结束状态到某结束状态j的通路,且这条通路上所有边的标记连成的符号串为的通路,且这条通路上所有边的标记连成的符号串为,则,则 就是一个句子;就是一个句子;所有这样的所有这样的 的集合,就是该的集合,就是该FA表示的语言表示的语言。【图符说明】:【图符说明】:【运行机制】:【运行机制】:第6页,本讲稿共40页FA:e=ab*c|b*G(S):S-aA|bB|,A-bA|c,B-bB|正规语言的三种表示法综合示例:正规语言的三种表示法综合示例:【例【例3.5】L=abnc,bn|n0,=a,b,c;【注】凡是能由上
6、述三种方法中的一种表示的语言,一定是正规语言;反之,凡是不能由上述三种方法表示的语言,一定不是正规语言。1.正规文法描述:正规文法描述:2.正规式描述正规式描述:3.有限自动机描述:有限自动机描述:+-abcbb-第7页,本讲稿共40页 3.2.1 有限自动机的定义状态状态i遇符号遇符号a时时变换为状态变换为状态j3.2有限自动机的定义和分类有限自动机的定义和分类 变换变换(二元函数二元函数);Q(有限状态集有限状态集);ija或或【定义】【定义】有限自动机是一种数学模型,用于描述有限自动机是一种数学模型,用于描述正规语言正规语言,可定义为五元组:可定义为五元组:FA=(Q,S,F,)(i,a
7、)=j其中:i,jQ,a+;F(结束状态集结束状态集,F Q);S(开始状态集开始状态集,S Q);(字母表字母表);即:即:第8页,本讲稿共40页L(FA)=x|ij,x*,iS,jFFA存在一条从某初始状态存在一条从某初始状态i到某结束状态到某结束状态j的的连连续变换续变换,且,且每次变换每次变换(=)的边标记连成的符号串恰的边标记连成的符号串恰好为好为x;称称x为为FA接受,否则拒绝接受,否则拒绝。令令L(FA)为自动机为自动机FA所描述的正规语言;则所描述的正规语言;则则则L(FA)的生成的生成(或识别或识别)过程如下过程如下所示:所示:如右图有限自动机:如右图有限自动机:3.2.2
8、有限自动机所描述的语言=x+-abcbb-设设x=a1a2an,ai+a1=i1ia2=i2an=j则有即:即:含义是含义是:第9页,本讲稿共40页L(FA)的生成的生成(或识别或识别)过程示例:过程示例:+-abcbb-.第一条通路:第一条通路:FA1=b+=a=b=c+=a=b=b=c.第二条通路:第二条通路:FA2+=a=c+=b=b+L(FA)=abnc,bn|n0L(FA1)=abnc|n0L(FA2)=bn|n0因而接受空串的 FA的典型特征!第10页,本讲稿共40页【例【例3.6】有限自动机】有限自动机:FA=(Q,S,F,)其中其中:Q=1,2,3,4,=a,b,c,S=1,2
9、,F=3,4FA的两种表现形式:的两种表现形式:状态转换图状态转换图:3.2.3 有限自动机的两种表现形式:(1,a)=2;(1,b)=4;(2,b)=2;(2,c)=3;(2,)=3;(4,b)=4;变换表变换表:变换表结构变换表结构:行行(状态状态),列列(符号符号),表项表项(变换后状变换后状态态)+-abcbb-+4 3 3 2 4 21234abc+-+开始状态结束状态第11页,本讲稿共40页【例【例3.7】A=abnc,(ab)n|n0二:变换函数不单值(如一:开始状态不唯一,不好用!(1,a)=(2|4),也不好用!3.2.4 有限自动机的分类方法一方法一:联合式联合式方法二方法
10、二:组合式组合式1 1方法三方法三:组合式组合式2 2+abc-+ab-比较之:+abc-ab-的有限自动机构造:的有限自动机构造:三:带有边,还是不好用!有好用的吗?!?+abc-ab-【例3.7】构造正规语言+abc-aba-第12页,本讲稿共40页 3.2.4 有限自动机的分类【有限自动机分类】【有限自动机分类】1.确定的有限自动机确定的有限自动机(DFA)特征特征:开始状态唯一开始状态唯一;变换函数单值变换函数单值;不带不带 边。边。2.非确定的有限自动机非确定的有限自动机(NFA)(1)带有带有 边的边的非确定的有限非确定的有限自动机自动机(NFA)(2)不带有不带有 边的边的非确定
11、的有限非确定的有限自动机自动机(NFA)-不能全部满足上述特征者!不能全部满足上述特征者!确定的有限自确定的有限自动机如右图所示:动机如右图所示:+abb-bcb-aa-ccDFA:A=abnc,(ab)n|n0第13页,本讲稿共40页3.3有限自动机的等价转换有限自动机的等价转换 有限自动机的有限自动机的等价转换等价转换,主要包含两个内容:主要包含两个内容:(1)有限自动机的确定化有限自动机的确定化(NFA=DFA);(2)有限自动机的最小化(DFA=最小的DFA);非确定机(NFA)较易构造,但不好用!确定机(DFA)较难构造,但好用!任何一非确定机NFA,皆可通过有效算法把其转化为等价的
12、确定机DFA(二者描述的语言相同)。有限自动机的最小化,又称有限自动机的化简;是指:对给定的确定机DFA1,构造另一个确定机DFA2,使得 L(DFA1)=L(DFA2),且DFA2的状态最少。第14页,本讲稿共40页 ab*,b+,L(FA2)=abn,bn|n0 【定义1】设有两个有限自动机FA1和FA2,若L(FA1)=L(FA2)则称FA1与FA2等价,记作FA1FA2。3.3.1 有限自动机的等价.两个自动机的等价:两个自动机的等价:+ab-bFA2FA1L(FA1)=L(FA2)+ab-bb-FA1 FA2四条四条通路,分别接受:通路,分别接受:ab+,ab*,b+,L(FA1)=
13、abn,bn|n0二条二条通路,分别接受:通路,分别接受:第15页,本讲稿共40页.两个状态的等价:两个状态的等价:【定义2】设 i 和 j 为FA的两个状态,若把其看作初态,二者接受的符号串集合相同,则有 i j(等价)。3.3.1 有限自动机的等价【例2】FA2+abc-【例1】FA1:+abc-【注】如何判断两个状态的等价性?稍后再讨论。2 4?3 5?4 5?判断等价性:2 3?2,3节点构成节点构成 闭路闭路2,3等价等价;可;可合而为一合而为一a-ba-a第16页,本讲稿共40页(3)对对 边,按边,按 通路通路逆向逆向逐一进行:逐一进行:3.3.2有限自动机的确定化算法有限自动机
14、的确定化算法.消除消除 边算法边算法(NFA=或或DFA):NFA(1)若存在若存在 闭路,闭路,则把则把 闭路上各节闭路上各节点点合而为一:合而为一:abc-abc-(2)标记标记隐含的隐含的开始态开始态和和结束态:结束态:开始态的开始态的 通路通路上的节点:上的节点:+结束态结束态逆向逆向 通路通路上节点:上节点:-删除一个删除一个 边;同时边;同时 引进引进新边新边 :凡由凡由原原 边终点边终点发出的边,也要由发出的边,也要由其始点其始点发出。发出。(4)重复步骤重复步骤(3),直到再无,直到再无 边边为止。为止。+cb-b+-abbcc第17页,本讲稿共40页am,ambcn,amcn
15、|m0,n1L()=NFA(2)标记标记隐含的隐含的开始态开始态和和结束态结束态:L(NFA)=?消除消除 边算法示例:边算法示例:【例【例3.8】考查】考查 NFA:+abc-(1)闭路上的节点闭路上的节点等价等价(),可可合而为一;合而为一;(3)逆序逐一逆序逐一删除删除 边,边,同时同时引进引进新边:新边:abc-+-+abc-+c-+abc-+cc-+NFA+-+,+,第18页,本讲稿共40页3.3.2有限自动机的确定化算法有限自动机的确定化算法(续续1).把把 化为化为DFADFA算法算法(=DFA):NFANFA(2)按 的变换函数实施变换:NFA(qi1,qin,ak)=(qi1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 自动机基础优秀课件 自动机 基础 优秀 课件
限制150内