形式语言与自动机精品文稿.ppt
《形式语言与自动机精品文稿.ppt》由会员分享,可在线阅读,更多相关《形式语言与自动机精品文稿.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、形式语言与自动机第1页,本讲稿共38页22022/10/21College of Computer Science&Technology,BUPT-NFA 的形式定义 一个 -NFA 是一个五元组 A=(Q,T,q0,F).n 有限状态集有限状态集n n 有限输入符号集有限输入符号集n n 转移函数转移函数n n 一个开始状态一个开始状态n n 一个终态集合一个终态集合q0 Qn F Qn 与与 NFA 的不同之处的不同之处 :Q (T )2Q第2页,本讲稿共38页32022/10/21College of Computer Science&Technology,BUPT-NFA 如何接受输入
2、符号串q1q0q2q3q5 ,+,q4n 该该 -NFA 可以接受的字符串如:可以接受的字符串如:n n 3.14n+.314n 314.第3页,本讲稿共38页42022/10/21College of Computer Science&Technology,BUPT二、-闭包(closure)概念n 状态 q 的-闭包,记为 -CLOSURE 或ECLOSE,定义为从 q 经所有的 路径可以到达的状态(包括q自身),如:q0q1q2012n -CLOSURE(q0)=q0,q1,q2 n -CLOSURE(q1)=q1,q2 n -CLOSURE(q2)=q2 第4页,本讲稿共38页5202
3、2/10/21College of Computer Science&Technology,BUPT状态子集状态子集I I 的的-闭包:闭包:-CLOSURE(I)-CLOSURE(q)qI例:例:-CLOSURE(q1,q2)-CLOSURE(q1)-CLOSURE(q2)q1,q2nIa Ia 概念:概念:对于状态子集对于状态子集I Q,任意,任意aT,定义,定义Ia如下:如下:Ia=-Closure(P)其中其中P=(I,a).即即P是从是从I中的状态经过一条标中的状态经过一条标a的边可以到达的状态集合的边可以到达的状态集合第5页,本讲稿共38页62022/10/21College of
4、 Computer Science&Technology,BUPT例:例:I Iq0q0,q1q1,求,求I I1 1I I1 1 -CLOSURE-CLOSURE(I I,1 1)-CLOSURE-CLOSURE(q0q0,q1q1,1 1)-CLOSURE-CLOSURE(q1 q1)q1q1,q2q2q0q1q2012第6页,本讲稿共38页72022/10/21College of Computer Science&Technology,BUPT扩展转移函数适合于输入字符串n 设一个设一个 -NFA,:Q T 2Q n n 扩充定义扩充定义 :Q T*2Q n 对任何对任何q Q,定义:
5、,定义:n 1 (q,)=ECLOSE(q)n 2(q,a)-CLOSURE(P)其中其中P p|存在存在r(q,)p(r,a)注意:注意:此时此时(q,a)(q,a),因为因为(q,a)表示由表示由q出发,只沿着标出发,只沿着标a 的路径所能到达的状态,的路径所能到达的状态,而而(q,a)表示由表示由q出发,沿着标出发,沿着标a(包括包括转换在内转换在内)的路径所能到达的状态的路径所能到达的状态.第7页,本讲稿共38页82022/10/21College of Computer Science&Technology,BUPT-NFA中,中,与与函数的不同函数的不同 n 举例举例 计算计算 (
6、q0,a)(q0,)-CLOSURE(q0)q0,q2(q0,a)-CLOSURE(q0,),a)-CLOSURE(q0,q2,a)-CLOSURE(q0,a)(q2,a)-CLOSURE(q1 q3)q1,q2 q3q1,q2,q3同理:同理:(q0,aa)q3-CLOSURE(q0)q0,q2-CLOSURE(q1)q1,q2-CLOSURE(q2)q2-CLOSURE(q3)q3第8页,本讲稿共38页92022/10/21College of Computer Science&Technology,BUPT三、-NFA 的 语 言n 设一个设一个 -NFA M=(Q,T,q0,F)n n
7、 定义定义M 的语言:的语言:n L(M)=|(q0,)F n 即即 满足满足(q0,)含有含有F的一个状态的一个状态n 第9页,本讲稿共38页102022/10/21College of Computer Science&Technology,BUPT四、有四、有 转换的转换的NFA与无与无 转换的转换的NFA的等价的等价1.-NFANFA具有转移的NFA是不具转移的NFA的一般情况,所以只要证明下面的定理即可:定定理理:如如果果L被被一一个个具具有有 转转移移的的NFA接接收收,那那么么L可可被一个不具被一个不具 转移的转移的NFA接收接收.证证明明思思路路:构构造造一一个个不不具具 转转
8、移移的的NFA,证证明明其其接接收收具有具有 转移的转移的NFA所接受的语言所接受的语言.第10页,本讲稿共38页112022/10/21College of Computer Science&Technology,BUPT从 -NFA 构造等价的 无 NFAn设设M=(Q,T,q0,F)是是一一个个-NFA,可可构构造造一一个个无无 的的NFAM1=(Q,T,1,q0,F1),对任何对任何a T,1(q,a)=(q,a).(注意注意与与的区别与联系。而的区别与联系。而1和和1是相等的。是相等的。F1 F q0若若-CLOSURE(q0)F F否则否则第11页,本讲稿共38页122022/10
9、/21College of Computer Science&Technology,BUPT从 -NFA 构造等价的 无 NFA证明证明:采用归纳法证明采用归纳法证明1(q0,)(q0,),),|=1|=1。当当|w|=0,即即 w=时,不一定相等时,不一定相等.1(q0,)q0,而而(q0,)-CLOSURE(q0)因此,从因此,从|1开始证明开始证明 1.当当|=1时,定义相等。时,定义相等。由由1定义定义 1(q0,a)(q0,a)第12页,本讲稿共38页132022/10/21College of Computer Science&Technology,BUPT设当设当|=n时,时,1
10、(q0,)=(q0,),),则则当当|a|=n+1时,时,左侧左侧 1(q0,a)1(1(q0,),a)1((q0,),),a)由归纳假设由归纳假设1(R,a)设设R(q0,)1(q,a)q R(q,a)q R.由由1定义定义(R,a)((q0,),),a)R(q0,)(q0,a)右侧右侧再再证证:1(q0,)含含F1的的一一个个状状态态当当且且仅仅当当(q0,)含含F的的一一个个状态状态 (略)(略)第13页,本讲稿共38页142022/10/21College of Computer Science&Technology,BUPT证明同时展示了一种将证明同时展示了一种将-NFA转化为转化为
11、NFA的方法的方法.-NFANFADFA例:将将-NFA转换为转换为NFA.(图3.4.1,3.4.3)q0q1q2012q0q1q20120,11,20,1,2第14页,本讲稿共38页152022/10/21College of Computer Science&Technology,BUPT举例q1q0q2q3q5 ,+,q4q0 q1q1 q4q2q2 q3 q5q3 q5第15页,本讲稿共38页162022/10/21College of Computer Science&Technology,BUPT第五节正则集和正则式n正则集:字母表上一些特殊形式的字符串的集合,是正则式所表示的集
12、合.n正则式:用类似代数表达式的方法表示正则语言。n运算:作用于语言上的三种代数运算n联合联合(union)n连接连接(concatenation)n(星)(星)闭包闭包(closure)n 第16页,本讲稿共38页172022/10/21College of Computer Science&Technology,BUPT正则表达式(regular expression)n 归纳定义正则表达式如下:基础基础:,a(a T)都是正则式)都是正则式(原子正则式原子正则式),相应的正则集为相应的正则集为,a归纳:归纳:如果如果A和和B是正则式,且分别代表集合是正则式,且分别代表集合L(A)和和L(
13、B),则则(A+B),(A.B),A*也是正则式,分别表示以下正则集也是正则式,分别表示以下正则集.L(A)L(B)(语言语言A/语言语言B的串的串)L(A).L(B)(两个语言中的串的连接两个语言中的串的连接)L(A)*(语言语言A中的串的多次连接中的串的多次连接)n 仅通过有限次使用以上两步定义的表达式,才是字母表T上的正则式。这些正则式所表示的字符串集合是T上的正则集。第17页,本讲稿共38页182022/10/21College of Computer Science&Technology,BUPT正则表达式算符优先级n算符优先级(算符优先级(precedence)依次为)依次为n(c
14、losure)n连接连接(concatenation)n(union)定义:若两个正则式表示相同的正则集,则称这两个正则式相等。即 R1R2 L(R1)=L(R2)注1:正则集是T*的子集。注2:L+包含当且仅当L包含。注3:每个正则集至少对应一个正则式(可有无穷多个正则式)第18页,本讲稿共38页192022/10/21College of Computer Science&Technology,BUPT正则表达式举例n书p76 例1 n表示如下语言的正则表达式:语言中的每个字符串由交替的 0s 和 1s 构成n(01)*+(10)*+0(10)*+1(01)*n(+1)(01)*(+0)n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 精品 文稿
限制150内