分享
分享赚钱 收藏 举报 版权申诉 / 17

类型第三章 有穷自动机.doc

  • 上传人:yjrm16270
  • 文档编号:8753348
  • 上传时间:2019-07-10
  • 格式:DOC
  • 页数:17
  • 大小:863KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第三章 有穷自动机.doc
    资源描述:

    1、第三章 有穷自动机1第三章 有穷自动机1、教学目的及要求:本章介绍有关有穷自动机的基本概念和理论以及正规文法、正规表达式与有穷自动机之间的相互关系。要求掌握正则文法、状态转换图、DFA、NFA、正规式和正规集的基本概念。2、教学内容:本章介绍有关有穷自动机的基本概念和理论以及正规文法、正规表达式与有穷自动机之间的相互关系。3、教学重点:状态转换图。4、教学难点: 正规式的定义-如何用作单词的描述工具 有穷自动机的定义和分类-如何用作单词的识别系统 正规式到有穷自动机的转换算法-词法分析程序的自动构造原理 正则文法、正规集、DFA、NFA 的相互转化。5、课前思考 什么是有穷自动机? 什么是状态

    2、转换图?6、章节内容第一节 有穷自动机的形式定义第二节 NFA 到 DFA 的转换第三节 正规文法与有穷自动机第四节 正规表达式与 FA第五节 DFA 在计算机中的表示第三章 有穷自动机23.1 有穷自动机的形式定义有穷状态自动机(Finite-state Automata 或简称 FA)在识别功能上与正规文法类等价,而且也等价于一个特殊类型的语言产生器正规表达式(Regular Expression)。因此许多简单的程序语言都可由 FA 所识别。事实上,它是描述词法的有效工具,也是进行词法分析的主要理论基础。为了构造词法分析程序,要研究构词法,每种词类的结构模式以及识别它的数学模型有穷自动机

    3、。它的模拟程序可以作为词法分析程序的控制程序。有穷自动机(也称有限自动机)作为一种识别装置,它能准确地识别正规集,即识别正规文法所定义的语言和正规式所表示的集合,引入有穷自动机这个理论,正是为词法分析程序的自动构造寻找特殊的方法和工具。有穷自动机分为两类:确定的有穷自动机(Deterministic Finite Automata)和不确定的有穷自动机(Nondeterministic Finite Automata) 。一、确定有穷自动机的形式定义一个确定的有穷自动机 M(记作DFA M)是一个五元组(K,f,S,Z),其中() K是一个有限状态集合。() 是一个字母表,它的每个元素称为一个

    4、输入字符。() SK,S 称为初始状态,唯一。() ZK, Z称为终态集合, 终态也称可接受状态或结束状态。() f是转换函数,是一个从K到K的单值映射。f(k i,a)k j(k i,kj,a )kj称为k i的一个后继状态。确定性的体现:初始状态唯一; 转换函数为单值映射。例: 设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)Vf(V ,a)U, f(V ,b)Qf(Q ,a)Q, f(Q ,b)Q因为(1)初始状态唯一是 S,(2)每个转换函数均为单值映射。所以该 FA 为确定有穷自动机。二、状态转换表DFA的

    5、映射关系可以由一个矩阵表示,矩阵的行标表示状态,列标表示输入字符,矩阵元素表示f(s,a)的值,这个矩阵称为状态转换表。第三章 有穷自动机3q1aaab babbq2q3q0例: a bS U VU Q VV U QQ Q Qf(S,a)U f(S,b)V f(U,a) Q f(U,b)Vf(V,a) U f(V,b)Qf(Q,a) Q f(Q,b)Q三、状态转换图图中标有的为开始状态,标有双圈的状态为终止状态。若f(K i,a)=Kj,则从状态结点K i到状态K j画标记为a的弧。四、自动机的等价性为了讨论自动机的等价性,先对DFA中的映射进行扩充。1、扩充的转换函数f(1)设QK,函数f(

    6、Q,)=Q,即如果输入字符是空串,则仍停留在原来的状态上。(2)对QK,T,t 1 *,f(Q,Tt 1)=f(f(Q,T), t1) 该定义是一个递归定义,说明当自动机处在状态Q且面临某个输入串Tt 1时,则首先应用函数 f(Q,T)=P,然后应用函数f(P,t1)。DFA的确定性表现在转换函数f: KK是一个单值函数,即对任何状态 kK和输入符号a ,f(k,a) 唯一地确定了下一个状态,从状态转换图来看,若字母表含有n个输入字符,那么任何一个状态结点最多有n条弧射出,且每条弧以一个不同的输入字符标记。2、自动机接受字符串x:第三章 有穷自动机4状 态 输 入 0 1 SBAA C S B

    7、SCC A B 如果对于某一自动机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),

    8、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(拒绝)3、所有为自动机M所能接受的串组成一个集合,称这个集合为自动机 M所能接受的语言,用L(M)表示: L(M)= t | f(S,t) Z,t *4、对于任何两个有穷自动机M和M,如果L(M)=L(M),则称M 与M是等价

    9、的。五、非确定有穷自动机1、NFA定义一个不确定的有穷自动机NFA M是一个五元组:M=(K, ,f,S,Z)一个含有m个状态和n个输入字符的NFA可表示为一张状态转换图,该图含有m个状态结,每个结可射出若干条箭弧与别的结点相连接,每条弧用 *中的一个字(不一定要不同的字,且可以为空字)作标记(称输入字),整个图至少含有一个初态结以及若干个终态结。2、NFA与DFA的区别(1)NFA有一个开始状态集,而DFA只有一个开始状态。(2)NFA的映射是QQ的子集,是一个多值映射,而DFA 的映射是QQ ,是一个单值映射。(3)DFA是NFA 的特例,对于每个NFA M,存在一个DFA M,使得L(M

    10、)=L(M )。第三章 有穷自动机5输 入 字 符 状 态 a b 0 0,3 0,1 1 2 2 2 3 4 4 4 0 3 412a abba,ba,ba,b3、对于 *中的任何一个串t,若存在一条从某一初态结到某一终态结的道路,且这条道路上的所有弧的标记依序连接成的串等于t,则称 t可为NFA M 所识别(读出或接受)。若M的某些结既是初态结,又是终态结,或者存在一条从某个初态结到某个终态结的道路,则空字可为M所接受。例:NFA M=(0,1,2,3,4,a,b,f,0,2,4)f(0,a)=0,3 f(2,b)=2 f(0,b)=0,1 f(3,a)=4 f(1,b)=2f(4,a)=

    11、4 f(2,a)=2 f(4,b)=4可用状态图或矩阵表示:3.2 NFA 到 DFA 的转换一、确定化造表法造表法是一种简单而有效的确定化方法。定义:设NFA M=(Q, , t, Q0, F),假定I是M中状态集的一个子集,定义_closure(I)如下: 若qI,则 q_closure(I) ; 若q_closure(I),q是由q出发经多条弧到达的状态,则 q _closure(I)。定义:假定I是NFA M中状态集的一个子集,a ,定义Ia=_closure(J)其中J是所有那些可从子集I中的任一状态出发,经过一条 a连线(跳过a连线前的连线) 而到达的状态( 结)的全体。 造表法的

    12、具体步骤:假定给定的NFA M 中(仅含两个符号a,b。可用如下方法将M确定化:采用造表的方式,该表的每一行有三列(若(中含有n个符号,则该表有n+1列),第一列记为I,第二、第三章 有穷自动机6bbaab0 125346 7 8 9 10三列分别记为I a ,Ib 。 置该表的第一行第一列为(_closure(Q0),即一列包含M 初态集Q0 的_闭包。然后计算它的Ia 和Ib,分别填入第二、三列上,一般,若某一行的第一列上的I已确定,便可根据前述定义求出这一行的第二、第三列上的Ia 和Ib。 检查Ia 和Ib,看它们是否已在表的第一列中出现,把未曾出现者之一填入下一空行的第一列上,再计算该

    13、行的第二、第三列上的Ia 和Ib。 重复第二步,直至表中所有第二、第三列上的元素全部再第一列出现为止。因为M中的状态(子集)的个数是有限的,所以上述三步必定在有限步骤内终止。 将由上述过程得到的最终形式的表看作一个状态转换表,即把其中第一列中的元素作为状态,把 Ia ,Ib分别看作是输入符号 a,b,把其余信息看作是状态转换函数之值。这个表唯一地刻画了一个确定的有穷状态自动机 M,其初态是该表第一行第一列的元素,其终态是该表中所有那些含有原终态的元素。可以证明,这个 DFA M和NFA M 是等价的。例:有一NFA M 如下,用造表法使其确定化。解:构造M状态转换表a b0,1,2,4,7 1

    14、,2,3,4,6,7,8 1,2,4,5,6,71,2,3,4,6,7,8 1,2,3,4,6,7,8 1,2,4,5,6,7,91,2,4,5,6,7 1,2,3,4,6,7,8 1,2,4,5,6,71,2,4,5,6,7,9 1,2,3,4,6,7,8 1,2,4,5,6,7,101,2,4,5,6,7,10 1,2,3,4,6,7,8 1,2,4,5,6,7M最终状态转换表a bQ0 Q1 Q2Q1 Q1 Q3Q2 Q1 Q2第三章 有穷自动机70 123 4bbbbbaaaaa0 1 S0 1 S5 0 1 2 7 1 S2 S5 3 5 7 0 S4 S6 5 3 1 0 S6 8

    15、 S0 7 0 1 S8 0 S6 0 0 1 S0 1 S5 0 1 2 7 1 S2 S5 3 5 7 0 S5 3 S1 6 8 0 S7 0 S1 8 0 6 0 0 1 S0 1 S5 0 1 2 7 1 S2 S5 3 5 7 0 S5 3 S1 7 0 Q3 Q1 Q4Q4 Q1 Q2二、确定的有穷自动机的化简1、所谓一个确定的有穷自动机M的化简是指:寻找一个状态数比M少的DFA M, 使得L(M)=L(M),可通过消除多余状态和合并等价状态而转换成一个最小的与之等价的有穷自动机。2、消除多余状态多余状态是指从该自动机的开始状态出发,任何输入串也不能到达的状态。3、合并等价状态等

    16、价状态:若 s 和 t 是M的两个不同状态,称 s 和 t 等价:如果从状态 s 出发能读出某个字 而停于终态,同样从t 出发也能读出同一个字而停于终态;反之若从t 出发能读出某个字而停于终态,则从s出发也能读出同一个字而停于终态。如果DFA M 的两个状态 s和 t不等价,则称这两个状态是可区别的。第三章 有穷自动机81362457a aaaa aabbbbbbb136 45a aabbbbbaDFA中,状态s 和t等价的条件是:一致性条件:状态s和t 必须同时为可接受状态(终态)或不可接受状态(非终态)。蔓延性条件:对于所有输入符号,状态s和t 必须转换到等价的状态里。4、分割法合并等价状

    17、态一个DFA M 的状态化简过程就是把M的状态集划分成一些不相交的子集,使得任何不同的两子集的状态都是可区分的,而同一子集的任何两个状态都是等价的。最后,从每个子集选出一个代表(代表该子集),同时消去其它等价状态。对M的状态集S 进行划分的步骤:把S的终态与非终态分开,分成两个子集,形成基本划分 ,属于这两个不同子集的状态是可区别的。假定某个时候已含m个子集,记=I(1) , I(2) , ,I(m) 且属于不同子集的状态是可区别的,再检查中的每个I能否进一步划分,对于某个I(i) ,令I(i) =S1,S2,Sk,若存在一个输入字符使得move(I(i) ,a) 不包含在现行 的某一子集 I

    18、(i) 中,则将I(i)一分为二。例:将图示的DFA M 最小化。解:1、将M状态分为两个子集: P0=(1,2,3,4,5,6,7)2、1,2,3,4读入 a后划为: P1=(1,2,3,4,5,6,7)3、进一步划分: P2=(1,2,3,4,5,6,7)4、考察5,6,7, 将P 2划分为: P3=(1,2,3,4,5,6,7)P3不可再划分,从而 1与2 ,6与7等价。第三章 有穷自动机9三、从化简后的DFA到程序表示识别标识符的DFA(图 (a))需改为图 (b)所示状态,其中, l代表字母,d代表数字。图 (a ) 图(b) 若赋予状态 q0、q 1与 q2一定的操作,则可得识别单

    19、词标识符的程序流程图(见下图)。3.3 正规文法与有穷自动机正规文法与有穷自动机FA有着特殊的关系。可以证明:对任何正规文法G ,可以构造一个FA,它能而且只能识别语言L(G);反过来,对任何FA,可以构造一个相应的正规文法G,它能生成由该FA所识别的语言。 一、从正规文法到FA 设正规文法G有形如UaV(a VT, VVN或V=)的产生式。由正规文法 G可以直接构造一个有穷自动机A(简称自动机A),使L(A)=L(G) 。构造步骤如下: 令正规文法G的终结符号集作为有穷自动机A的字母表; 文法G的每一个非终结符都作为自动机A的一个状态,特别是文法G的开始符作为自动机A的开始状态; 在自动机A

    20、中增加一个新状态z作为自动机的终止状态; 对于文法G的形如UaV(a VT, 或a= ,VV N)的产生式,在自动机A中构造形如t(U, a)=V的映射; 对文法G的形如Ua(aV T)的产生式,在自动机 A中构造形如t(U,a)=z的映射。 二、从FA到正规文法l q0 l, d q1 l q1 l, d q2 q0 非 l,d char ch, namek name read(ch) q0 若 ch=l name name+ch read(ch) q1 非 l,d 用 name查 符 号 表 ,若 没 有 , 则 填 表 ,否 则 返 回 其 地 址 read(ch) q2 若 ch=l

    21、or d 第三章 有穷自动机10从正规文法可直接构造其自动机,反之,由自动机也可直接构造其正规文法。构造步骤如下: 自动机每一个状态的标记,均作为正规文法的非终结符,其中,自动机开始状态的标记将作为正规文法的开始符号。自动机的输入字母表中的所有符号,作为正规文法的终结符。 对于自动机的映射t(U, a)=V(其中,U、V为自动机的状态标记; a为输入符号),构造文法的一条产生式UaVU、V为文法的非终结符,a为终结符。 对于自动机的终止状态Z,在正规文法中增加一条产生式Z3.4 正规表达式与 FA正规式也称正规则式、正规表达式,与正规文法的功能一样,正规式也可用以描述程序设计语言的单词符号。一

    22、、正规表达式的操作符1、连接假定有两个正规表达式e 1和e 2,它们分别产生语言 L1和L 2,于是定义正规表达式的连接操作为 e1e2=x y|xL1,yL 2 其中可省略2、选择可用|或+ 表示,定义为 e1|e2=x |xL1或xL 2 3、重复用*表示,表示*中的表达式的0次到若干次的自重复连接,即e *=x| xL1*例:正规表达式110由数字1,1,0连接在一起组成,且表示的语言为L=110表达式0|1所表示的语言为 L=0,1表达式1 *所表示的语言为L=1 i|i=0,1,2.例:用正则表达式表示标识符 =字母( 字母|数字) *实数=(|+|-)( 数字 * .数字 数字 *

    23、)二、正规表达式的定义所有正规表达式都可由下列规则构造出来:第三章 有穷自动机11是一个表示空集的正规表达式是一个正规表达式,它所表示的语言仅包含一个空符号串,即a是一个正规表达式, aVT它所表示的语言(它所表示的正规集)是单个符号a所组成,即a如果e 1和e 2是正规表达式,其表示的语言分别为L 1和L 2,(e1 )|(e2)是一个表示语言L 1L 2的正规表达式(e1 )(e2)是一个表示语言L 1L2的正规表达式(e1 )*是一个表示语言L 1*的正规表达式正规表达式中操作符的优先级顺序为 *,连接,|例:正规表达式a *b*表示的正规集是 ambn|m0,n0正规表达式(ab) *

    24、表示的正规集是(ab) m|m0正规表达式(a|b) *表示的正规集是 x|xa,b*表达式(aa|ab|ba|bb) *表示在V T=a,b上的所有偶长度的串三、正规表达式的等价性如果两个正规表达式表示相同的语言,则这两个正规表达式相等或等价,故有00*=000*|0四、正规表达式的性质r|s=s|r 或满足交换律r|(s|t)=(r|s)|t 或满足结合律(rs)t= r(st) 连接满足结合律r(s|t)=rs|rt (s|t)r=sr|tr 分配律r=r, r =r 是连接的恒等元素例:程序设计语言中的单词都能用正规式来定义,如:=字母,数字上的正规式e 1=字母(字母| 数字)* 表

    25、示的是所有标识符的集合正规式e=dd *定义了无符号整数令=d,.,e,+,-, 则上的正规式(d *.dd*| dd*)(e(+|-|)dd *|)表示的是无符号数。五、正规文法与正规式一个正规语言可以由正规文法定义,也可以由正规式定义,对任意一个正规文法,存在一个定义同一个语言的正规式;反之,对每个正规式,存在一个生成同一语言的正规文法。1、正规式转换成正规文法第三章 有穷自动机12文 法 产 生 式 正 规 式 规 则 1 AxB,y A=xy规 则 2| * 规 则 x,|y=x|y将上的一个正规式转换成文法G=(V N,VT,P,S),令其中的 VT=,确定产生式和VN的元素用如下方

    26、法:对任何正规式r,选择一个非终结符S,生成产生式 Sr,并将S定为G的识别符号。若x和y都是正规式,对形如Axy的产生式,重写为 AxB,By两产生式,其中B是新选择的非终结符,即B VN 。对已转换的文法中的形如Ax *y的产生式,重写为 AxA,Ay 对形如Ax|y的产生式重写为Ax,Ay不断利用上述规则作变换,直到每个产生式最多含有一个V N为止。例:将R=a(a|d) *转换成相应的正规文法。令S是识别符号,首先形成S a(a|d) *,下一步,SaA, A(a|d) *,重写为:A(a|d)A,A进而转变为:S aA,AaA,AdA,A2、正规文法转换成正规式上述过程的逆过程,最后

    27、只剩下一个开始符号定义的产生式,并且该产生式的右部不含非终结符,转换规则:例:文法GS:SaA ,Sa,AaA,AdA,Aa ,AdS=aA|a,A=aA|dA|a|d=(a|d)A|(a|d)A=(a|d)*(a|d)S=a(a|d)*(a|d)|a=a(a|d)*(a|d)| )= a (a|d)*练习:有文法GS:SaS,SaB,B bC,CaC,Ca六、正规式和有穷自动机的等价性正规表达式与有穷自动机等价,是指若给定一正则表达式,也即相应地给定了正则集合L(e) ,那么就可构造NFA M,并有L(M)= L(e);反之,若给定一个DFA M ,M接受的语言为L(M) ,则必然存在一正则

    28、表达式e ,且L(e)=L(M) 。正规表达式和FA是定义语言(符号串集)的两种不同形式。同一个语言,既可用第三章 有穷自动机13FA描述,也可用正规表达式描述。 七、正规表达式到NFA的转换先构造一个NFA M 的一个广义转换图,其中,只有S与Z两个状态,S是开始状态,Z是终止状态,弧上是正规表达式e。然后,按照下图所示的替换规则对正规表达式e逐步进行分解,直到转换图中所有的弧上都是中的单个符号或为止。(1) 替换成(2) 替换成(3) 替换成例:有=a,b上的正规式R=(a|b) *abb构造NFA M使L(M)=L(e) 。练习:构造与=a,b上的正规式(a|b) *(aa|bb)(a|

    29、b)*等价的自动机。八、NFA到正规表达式的转换对于一个具有输入字母表的NFA M,在上也可以构造一个正规表达式e ,使L(e)=L(M)。具体操作如下:首先,对NFA M 进行拓广,在M的状态转换图中,新设置一个唯一的开始状态S和唯一的终止状态Z,并允许状态转换图中弧上可以为正规表达式。 然后,从开始状态S 到原来所有的开始状态连接弧,再从原来所有的终止状态到Z状态也连接弧。修改后,构成了一个新的NFA,它只有一个初态结点S和一个终态结点Z,这个新的NFA M显然和原NFA M 等价。接着,利用下图所示的替换规则,逐步消去M 中属于M 的所有结点和有关连线,直到状态转换图中只剩下状态S和Z为

    30、止(这个过程称为消结)。在消结过程中,用相应的正规表达式标记连线。(1) 替换成(2) 替换成(3) 替换成Ae12 B (a) A e1 C e2 B (b) A e1e2 B (c) A B (d) e1 e2 A e1* B (e) A C B (f) e1 Ae1B e2 C A e12 C A B e1 e2 A e1e2 B A e1B e3 C e2 A B 321ee 第三章 有穷自动机140 3 412a abba,ba,ba,b例:NFA M=(0,1,2,3,4,a,b,f,0,2,4),状态图如下,构造正规式R使L(R)=L(M)。3.5 DFA 在计算机中的表示对于一

    31、个DFA=(Q, , t, q 0, F),如果给出了它的映射t :QQ ,那么,这个DFA实际上也就确定了。因此,要在计算机中表示一个DFA ,只需在计算机中表示它的映射。一、矩阵表示法DFA的映射t:QQ,可表示成t(q, a)=q,其中,q,qQ,a 。映射t(q, a)=q,在计算机中自然可用矩阵来表示,其中,状态q作为矩阵的行,输入字母a作为矩阵的列,映象q作为矩阵元素t(q, a) 的值。将状态集 Q中的所有状态排一个序:q 0, q1, q2, qn;输入字母表中的所有字母也排一个序:a 1, a2, am。设M是一个二维数组,若t(q i, qj)=qk,则令Mi ,j=k,其

    32、中,i,k=0,1,2, , n;j=1, 2, m。 二、表结构DFA的映射t:QQ,在计算机中可表示成一种表结构。在这个表结构中,每一个状态对应一个表,表中包括该状态的状态名、从该状态发出的弧数、每条弧上的标记(输入字母)以及弧达到的状态所在表的首地址。若给定一个状态和输入符号,则可以直接在表中先查找到该状态所在的表项,进而在该表项中找到输入符号,按照其对应的(语义)动作的链接,前进到下一个状态。第三章 有穷自动机151 2 3 4 5 / * * /*otherotherDFA 在计算机中的表结构三、程序表示法我们也可以用程序来表示DFA。例:C 语言的注释/*/,其有穷自动机State

    33、 1if the next characterr is “/” thenadvance the input; State 2if the next character is“*” then advance the input; State 3done:=false;while not done dowhile the next input character is not“*” do advance the input;end while;advance the input; State 4while the next input character is“*” doadvance the i

    34、nput;end while;if the next input character is “/” thendone:=true ;end if;advance the input;end while;accept; State 5第三章 有穷自动机16else other processing end ifelse other processing end if State:=1; Start while state=1,2,3 or 4 docase state of1:case input character of“/”:advance the input state:=2; else

    35、state:=.Error or Otherend case2:case input character of“*”:advance the input; state:=3;else state=. Error or Otherend case 3:case input character of“*”:advance the input; state:=4;else advance the inputand stay in State 3end case4:case input character of“/”:advance the input; state:=5;“*”:advance th

    36、e input;and stay in State 4else advance the input; state:=3;end caseend caseend whileif state=5 then accept else error本章小结1、自动机是一种能进行运算并能实现自我控制的装置。它是描述符号串处理的强第三章 有穷自动机17有力的工具,是研究扫描器的理论基础。有穷自动机(FA)分为确定有穷自动机(DFA)和非确定有穷自动机(NFA)。2、DFA=(Q, ,t,q 0,F),Q是状态集,是输入字母表,t :QQ ,q 0Q是开始状态,F Q是终止状态集。3、NFA=(Q, ,t,Q

    37、0,F),t:QQ的子集,Q 0Q是开始状态集。4、对NFA可采用子集法和造表法进行确定化,将其转化为等价的 DFA。对 DFA则可进行最小化(化简) ,对DFA化简的基本思想是将状态集分解成若干个互不相交的子集,使每个子集中的状态都是等价的,而不同子集的状态是可区分的。5、正规文法与FA有着特殊的关系。从正规文法可直接构造其自动机,反之,由自动机也可直接构造其正规文法。6、正规表达式与FA也有着特殊的关系。对于字母表上的任意一个正规表达式e,一定可以构造一个 NFA M,使L(M)=L(e)。反之,对于一个具有输入字母表的NFA M,在上也可构造一个正规表达式e ,使L(e)=L(M) 。7、正规语言可用正规文法描述,也可用正规表达式描述。8、DFA在计算机中有三种表示,一种是矩阵表示,一种是表结构,还有一种是程序表示。作业:P58 3.1单数题,3.2双数题,3.3,3.4,3.6,3.7,3.8,3.9,3.10

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第三章 有穷自动机.doc
    链接地址:https://www.docduoduo.com/p-8753348.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开