形式语言与自动机-2015-第05讲-正则表达式与正则语言.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《形式语言与自动机-2015-第05讲-正则表达式与正则语言.pptx》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 2015 05 正则 表达式 语言
- 资源描述:
-
1、形式语言与自动机形式语言与自动机Formal Languages and Automata Theory教师教师:胡:胡春明、赵永望春明、赵永望第四章第四章 正则表达式与正则语言正则表达式与正则语言 http:/ 正则表达式正则表达式正则表达式的引入正则表达式的引入正则表达式的定义及性质正则表达式的定义及性质正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与正则文法等价正则表达式与正则文法等价正则语言等价描述模型总结正则语言等价描述模型总结正则表达式的引入正则表达式的引入有穷自动机描述模型:有穷自动机描述模型:例:设正则语言例:设正则语言: anbmck | n, m, k1 a
2、icnbxam | i0, n 1, m 2, x 是由是由 d 和和 e 组成的字符串组成的字符串 正则表达式的引入正则表达式的引入 FA 各状态对输入字符串的存储功能:各状态对输入字符串的存储功能:由于由于,所以所以,正则表达式的引入正则表达式的引入正则语言:正则语言:正则表达式:正则表达式:r = a+ b+ c+ + a*c+ b( d + e )*a+ a = a a*bb*cc* + a*cc*( d + e )*aaa*第四章第四章 正则表达式正则表达式正则表达式的引入正则表达式的引入正则表达式的定义及性质正则表达式的定义及性质正则表达式与有限自动机等价正则表达式与有限自动机等价
3、正则表达式与正则文法等价正则表达式与正则文法等价正则语言等价描述模型总结正则语言等价描述模型总结定义定义4-1:设字母表为:设字母表为 ,正则表达式递归定义如下:,正则表达式递归定义如下:正则表达式的定义及性质正则表达式的定义及性质例:设例:设 = 0,1 , 中部分正则表达式及其对应语言如下:中部分正则表达式及其对应语言如下:正则表达式的定义及性质正则表达式的定义及性质定义定义4 - 2:设设 r 是字母表是字母表上的正则表达式,上的正则表达式,r 的的 n 次幂定义为:次幂定义为:满足性质:满足性质:L(r n)= (L(r)n,rn r m = r n + m, n, m0正则表达式的定
4、义及性质正则表达式的定义及性质表达式简化约定:表达式简化约定: - 减少括号减少括号1、r 的正闭包:的正闭包:2、运算符的优先级:、运算符的优先级: 闭包运算闭包运算 乘运算乘运算 加运算加运算 正则表达式的定义及性质正则表达式的定义及性质(0+1)*)000)(0+1)*) = (0+1)*000(0+1)*(0+1)*)(0+1)(0+1)*) = (0+1)*(0+1)(0+1)*表达式的简化约定:表达式的简化约定:3、意义明确时,正则表达式、意义明确时,正则表达式 r 表示的语言记为表示的语言记为 L(r),), 也可直接记为也可直接记为 r。4、无扩号说明时,加、乘、闭包运算执行左
5、结合规则。、无扩号说明时,加、乘、闭包运算执行左结合规则。 例:例: R1 R2 R3 = (R1 R2)R3 R1 R2 R3 = (R1 R2)R3 正则表达式的定义及性质正则表达式的定义及性质定义定义4 - 3: 设设 r, s 分别为字母表分别为字母表 上的正则表达式上的正则表达式 ,如果,如果 L ( r ) = L ( s ), 则称表达式则称表达式 r 与与 s 相等(或等价),记作相等(或等价),记作 r = s。正则表达式的定义及性质正则表达式的定义及性质例:设例:设 = 0,1 ,上上正则表达式以及其表示的语言如下:正则表达式以及其表示的语言如下:1、L ( 00 )2、L
6、( 0+1 )* 00 (0+1)*) 3、L( 0+1 )*1 ( 0+1 )9)4、L(( 0+1 )*011)5、 L ( 0+1+2+ )6、 L ( 0*1*2* )7、 L ( 1 ( 0+1 )* 1 + 0 ( 0+1 )*0 )正则表达式表示的正则语言:正则表达式表示的正则语言:正则表达式的定义及性质正则表达式的定义及性质例:设例:设 = 0,1 ,上上正则表达式以及其表示的语言如下:正则表达式以及其表示的语言如下:1、L ( 00 ) =2、L( 0+1 )* 00 (0+1)*) = 3、L( 0+1 )*1 ( 0+1 )9) =4、L(( 0+1 )*011)=5、
7、L ( 0+1+2+ ) =6、 L ( 0*1*2* ) =7、 L ( 1 ( 0+1 )* 1 + 0 ( 0+1 )*0 ) =正则表达式表示的正则语言:正则表达式表示的正则语言:正则表达式的定义及性质正则表达式的定义及性质 00 。 x | x 是至少含两个连续是至少含两个连续 0 的串的串 x | x 是倒数第十个字符为是倒数第十个字符为 1 的串的串 x | x 是是 011 结尾的串结尾的串 。 0n 1m 2k | n, m, k1 。 0n 1m 2k | n, m, k0 。习题:习题:p.153, 2. 理解正则表达式理解正则表达式正则表达式的定义及性质正则表达式的定义
8、及性质习题:习题:p.153, 1. 写写出下列语言的表达式出下列语言的表达式正则表达式的定义及性质正则表达式的定义及性质可以证明,字母表可以证明,字母表 上上正则表达式正则表达式 r, t, s 及相关语言满足以下等式:及相关语言满足以下等式:正则表达式的定义及性质正则表达式的定义及性质例例1- 证证16式:式:L ( (r*) )* = L (r)*,其对应语言集合,其对应语言集合 ( R* )* = R*。证:施归纳于集合证:施归纳于集合 R 乘积的个数,求证乘积的个数,求证 ( R* )n = R* ( n 0 )。基础语句:基础语句: 设设 n = 0,1,( R* )0 = ,(
9、R* )1 = R*,结论成立。,结论成立。归纳语句:设归纳语句:设 n 1,( R* )n = R* 结论成立,证结论成立,证 ( R* )n+1 = R* 时结论成立时结论成立 ( R* )n+1 = ( R*)n R* = R*R*由归纳假设由归纳假设 = , R, R2, R3, , R, R2, R3, = , R, R2, R3, = R*正则表达式的定义及性质正则表达式的定义及性质由归纳原理可知,对任意整数由归纳原理可知,对任意整数 n, 有有 ( R* )n = R*; 因此,有,因此,有, ( R* )* = ( R* )0,( R* )1,( R* )2, ( R* )n,
10、 = ,R* = R* 证毕。证毕。例例2- 证证 ( 17 ) 式:式:L ( r s ) = L ( r + s ) 设设A、B为表达式为表达式 r、s 对应的正则集合,利用下列集合性质对应的正则集合,利用下列集合性质: ( 1 ) 若若A B 和和 C D,则,则 AC BD ; ( 2 ) An A ,n 0 (3) A A B ( 4 ) A B A (5) 若若 A B,则,则 A B ( 6 )(A ) = A A = A 正则表达式的定义及性质正则表达式的定义及性质证证 i : ( A B ) ( A B ) 由由 A A B 和(和(5)有:)有: A (A B ) 和和 B
11、 ( A B ) 由由 (1)有:)有: A B ( A B ) ( A B ) 由(由( 6)有:)有: A B ( A B ) 由(由(5) 有:有:(A B ) ( ( A B ) ) 由(由(6 )有:)有:(A B ) ( A B ) ( i 得证得证 )证证 ii:(:( A B ) ( A B ) 由(由(2)有:)有: A A , B B 由(由(3)有:)有: A A B 由(由(4)有:)有: B A B 由由(2)(3)(4)和传递率:和传递率: A B A B A B = A B 由(由(5)有:)有: ( A B ) (A B ) 由于集合(由于集合(A B ) 的正
12、则表达式为的正则表达式为 ( r*s* ) *; 集合(集合(A B) 的正则表达式为的正则表达式为 ( r + s ) * ; 所以有:所以有: ( r*s* ) * = ( r + s )* 由由 i 和和 ii 得:得: (A* B* )* =(A B)* 正则表达式的定义及性质正则表达式的定义及性质(ii 得证)得证)(证毕)(证毕)习题:习题:p.154, 4. 正则表达式的定义及性质正则表达式的定义及性质第四章第四章 正则表达式正则表达式正则表达式的引入正则表达式的引入正则表达式的定义及性质正则表达式的定义及性质正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与正则文
13、法等价正则表达式与正则文法等价正则语言等价描述模型总结正则语言等价描述模型总结定义定义4-4: 称正则表达式称正则表达式 r 与自动机与自动机 FA 等价,如果有等价,如果有 L(r)= L(M)。)。正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价定理定理 4-1: 正则表达式表示的语言是正则语言。正则表达式表示的语言是正则语言。证明思路:证明思路: 对字母表对字母表 上任意正则表达式上任意正则表达式 r,构造相应的,构造相应的 FA M,使得,使得 L(r)= L(M);); 1、归纳证明:施归纳于正则表达式运算符、归纳证明:施归纳于
14、正则表达式运算符 (+、连接、连接、*) 的个数的个数 2、构造、构造 FA M 的终止状态。的终止状态。 基础:基础: 设正则表达式运算符的个数设正则表达式运算符的个数 n = 0,构造,构造 FA 存在以下三种情况:存在以下三种情况: r =:有:有 - NFA 满足要求。满足要求。 r = :有:有 - NFA 满足要求。满足要求。 r = a:有:有 - NFA 满足要求。满足要求。 结论对结论对 n = 0 成立。成立。正则表达式与有限自动机等价正则表达式与有限自动机等价1、对于、对于 r = r1 + r2,构造相应,构造相应-NFA。 假设假设 M1 = , M2 = ,使得,使
15、得 L(M1)= L(r1),),L(M2)= L(r2);并设);并设 Q1 Q2 = 。 构造构造 FA M = , 其中其中 q0, f Q1 Q2, 定义:定义:1)( q0, ) = q01, q02 , 2)对)对 q Q1 - f1 ,a :( q, a ) = 1 ( q, a ) ; 对对 q Q2 - f2 ,a :( q, a ) = 2 ( q, a ) ; 3) ( f1, ) = f ; ( f2, ) = f 由于由于1( f1, ) = 2( f2, ) = 归纳:归纳:设结论对运算符个数为设结论对运算符个数为 n k ( k0 )的表达式成立,证当的表达式成立
16、,证当 n = k + 1 时,结论仍然成立。添加运算符时时,结论仍然成立。添加运算符时, 存在存在 r1 + r2, r1r2, r* 三种情况。三种情况。正则表达式与有限自动机等价正则表达式与有限自动机等价1、构造与表达式、构造与表达式 r = r1 + r2 等价的等价的-NFA 的图示:的图示:正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价1、对于、对于 r = r1 + r2,求证:,求证:L(r1 + r2)= L(M)。)。由归纳假设:由归纳假设: L(r1)= L(M1),), L(r2)= L(M2);); 由正则表达
17、式性质:由正则表达式性质: L ( r1 + r2 ) = L ( r1 ) L ( r2 ) = L ( M1 ) L ( M2 )需证:需证: L(M1) L(M2)= L(M) 。 ( “ ” )设设 x L( M1 ) L( M2 ),应有),应有 x L( M1 )或)或 x L( M2 ),),假设假设 x L(M1),即,),即,1 ( q01, x ) = f1 ,于是有:,于是有:即有,即有,x L ( M )同理可证:同理可证: x L ( M2 ) 时,时,有有 x L( M )。)。正则表达式与有限自动机等价正则表达式与有限自动机等价设设 x L(M),即,),即, (
18、 q0, x ) = f ;由;由 M 定义:定义:证:证: L(M)= L(M1) L(M2) 。 ( “ ” )1、求证:、求证: L(M)= L(r1+r2) 。由于已设由于已设 ( q0, x ) f 成立成立, 并且并且, 有有 f = 1 ( f1, ) = 2 ( f2, )必有,必有,1( q01, x ) = f1 ( x L( M1 ) 或者或者 2 ( q02, x) = f2 ( x L(M2) )故有,故有, x L(M1) x L(M2)。)。 (“ M 与与 r 等价等价 ” 证毕证毕 )正则表达式与有限自动机等价正则表达式与有限自动机等价例例4: 给定正则表达式
19、给定正则表达式 r1 = 01* ,r2 = ( 01 )*,以及与其等价的,以及与其等价的 FA M1、M2 如下,构造与表达式如下,构造与表达式 r = r1 + r2 等价的等价的- NFA Mq02q2201q12q0110M1M21q0q12q02q2201q010qf解:解:正则表达式与有限自动机等价正则表达式与有限自动机等价2、对于、对于 r = r1r2,构造相应,构造相应-NFA。 假假设设 M1 = ,M2 = ,使得,使得 L(M1)= L(r1),),L(M2)= L(r2);并设);并设 Q1 Q2 = 。 构造构造 FA M = , 定义:定义:1)对)对 q Q1
20、 - f1 ,a ,( q, a ) = 1 ( q, a ) ; 2)对)对 q Q2, a ,( q, a ) = 2 ( q, a ) ; 3)( f1, ) = q02 ; 设设 ( f1, ) = ( f2, ) = 。归纳:归纳:设结论对运算符个数为设结论对运算符个数为 n k ( k0 )的表达式成立,证的表达式成立,证 n= k+ 1 时结论时结论仍然成立。由正则表达式定义仍然成立。由正则表达式定义, 存在存在 r1 + r2, r1r2, r* 三种情况。三种情况。正则表达式与有限自动机等价正则表达式与有限自动机等价2、构造与表达式、构造与表达式 r = r1r2 等价的等价
21、的-NFA 的图示:的图示:设设 x L(M1)L(M2),), x = x1x2,有有 x1 L(M1)并且)并且 x2 L(M2 );由于由于 q Q1, a, 由定义由定义( q, a ) = 1 ( q, a )故有故有( q01, x1 ) = 1 ( q01, x1 ) = f1 ;由于由于 qQ2, a , 由定义由定义( q, a ) = 2 ( q, a )故有故有( q02, x2 ) = 2 ( q02, x2 ) = f2 。正则表达式与有限自动机等价正则表达式与有限自动机等价2、对于、对于 r = r1r2 ,求证:,求证:L(r1 r2)= L(M)。)。由归纳假设
22、有:由归纳假设有: L ( r1 ) = L ( M1 ), L ( r2 ) = L ( M2 );由正则表达式性质:由正则表达式性质: L ( r1 r2 ) = L ( r1 ) L ( r2 ) = L ( M1 ) L ( M2 )只需证:只需证: L( M1 )L( M2 )= L( M ) 。 ( “ ”)故有,故有,x L(M)。)。正则表达式与有限自动机等价正则表达式与有限自动机等价2、求证:、求证: L(M)= L(r1 r2)。)。 即证:即证: L(M)= L(M1)L(M2)。)。 ( “ ” )其中其中, ( q01, x1 ) = f1 , 即有,即有,x1 L(
23、M1);); ( f1, ) = q02 ( q02, x2 ) = f2 , 即有,即有,x2 L(M2););从而,从而, x L(M ) L(M1)L(M2)。)。综上所述,综上所述,L(M)= L(M1) L(M2)成立)成立M 与与 r 等价等价 证毕。证毕。设设 x L(M),即有,),即有,( q01, x ) = f2 ,并且,并且 x = x1 x2,使得,使得,例例5: 设设 r1 = ( bc )* ,r2 = ( ba )* ;识别它们的;识别它们的 FA 分别为分别为 M1 和和 M2,构造与,构造与 r = r1r2 等价的等价的- NFA M。 q02q22M2a
24、bq01q12cbM1q02q22M2abq12cb sq013、对于、对于 r = r1*,构造相应,构造相应-NFA。 由归纳假设:由归纳假设: M1 = , 使得使得 L(M1 )= L(r1) 构造构造 FA M = , 其中,其中,q0, f Q1。 定义:对定义:对 q Q1 - f1 ,a , 1) ( q, a ) = 1 ( q, a ) ; 2) ( q0, ) = q01, f ; 3) ( f1, ) = q01,f 。归纳:归纳:设结论对运算符个数为设结论对运算符个数为 n k ( k0 ) 的表达式成立,证的表达式成立,证 n = k + 1 时结时结论仍然成立。由
25、正则表达式定义论仍然成立。由正则表达式定义, 存在存在 r1 + r2, r1r2, r* 三种情况。三种情况。正则表达式与有限自动机等价正则表达式与有限自动机等价3、构造与表达式、构造与表达式 r = r1* 等价的等价的-NFA 的图示:的图示:正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价正则表达式与有限自动机等价3、对于、对于 r = r1*,求证:,求证:L ( M ) = L(M1)*证证: L ( M ) ( L ( M1 ) )*设设 x L( M ),),如果如果 x =, 由克林闭包定义,显然有,由克林闭包定义,显然有, x = ( L (
展开阅读全文