计算理论导引1正则语言.ppt
《计算理论导引1正则语言.ppt》由会员分享,可在线阅读,更多相关《计算理论导引1正则语言.ppt(68页珍藏版)》请在三一办公上搜索。
1、1,计算理论,第1章 正则语言,2,主要内容,1.1 有穷自动机1.2 非确定性1.3 正则表达式1.4 非正则语言 本章小结 作业,3,1.1 有穷自动机,实际示例自动门控制,控制器处于CLOSED状态,假设如下输入信号:FRONT,REAR,NEITHER,FRONT,BOTH,NEITHER,REAR,NEITHER,考察状态的变化。可以给出状态和信号之间的计算。,4,状态图,5,状态图,q1 q2 q2 q3 q2=“accept”,on input“1101”,the machine goes:,010:reject11:accept:reject,6,有穷自动机的形式定义,定义1.
2、1,有穷自动机是一个 5 元组(Q,q0,F),其中(1)Q 是一个有穷集合,称为状态集。(2)是一个有穷集合,称为字母表。(3):QQ是转移函数。(4)q0Q 是起始状态。(5)FQ 是接受状态集。,7,有穷自动机举例,例 给定有穷自动机 M1 的状态图。请给出形式化的描述,并确定其能识别的语言。,M1=(q1,q2,q3,0,1,q1,q2),L(M1)=w|w 至少一个 1并且在最后的1后面有偶数个0,若 A 是机器 M 接受的全部字符串集,则称 A 是机器 M 的语言,记作 L(M)=A,又称 M 识别 A 或 M 接受 A。,8,有穷自动机举例,例1.2 给定有穷自动机 M2 的状态
3、图。请给出形式化的描述,并确定其能识别的语言。,M2=(q1,q2,0,1,q1,q2),L(M2)=w|w 以 1 结束,9,有穷自动机举例,例1.3 给定有穷自动机 M3 的状态图。请给出形式化的描述,并确定其能识别的语言。,L(M3)=w|w 是空串或以 0 结束,10,有穷自动机举例,例1.4 给定有穷自动机 M4 的状态图。请给出形式化的描述,并确定其能识别的语言。,q1,a,b,a,q2,r1,r2,s,b,b,a,b,a,b,a,11,有穷自动机举例,例1.5 给定有穷自动机 M5 的状态图。请给出形式化的描述,并确定其能识别的语言。,q0,2,0,q2,q1,0,0,1,2,1
4、,1,2,M5 以模3的方式记录它在输入串中读到的数字之和。,12,有穷自动机举例,例1.6 例1.5推广。对于每一个 i=1,设 Ai 是所有这种字符串的语言,其中数字之和是 i 的倍数。,M=(Q,q0,F)Q=q0,q1,qn-1(qj,0)=qj(qj,1)=qk,k=j+1 mod i(qj,2)=qk,k=j+2 mod i(qj,)=q0,k=j+1 mod i,13,计算的形式化定义,设 M=(Q,q0,F)是一台有穷自动机,w=w1w2wn 是一个字符串,并且 wi 是字母表 的成员。如果存在 Q 中的状态序列 r0,r1,rn,满足下列条件:1)r0=q02)(ri,wi+
5、1)=ri+1,i=0,1,n1 rn F则 M 接受 w。,14,计算的形式化定义举例,例1.8 给定有穷自动机 M5 的状态图。令w是字符串1022012给出M5对w计算时进入的状态序列。,15,设计有穷自动机,例:设计有穷自动机 E1,假设字母表是0,1,识别的语言由所有含有奇数个 1 的字符串组成。,qodd,qeven,16,设计有穷自动机,例1.9 设计有穷自动机 E2,使其能识别含有 001 作为子串组成的正则语言。,q001,q,q0,q00,17,正则运算,定义1.10,设 A 和 B 是两个语言,定义正则运算并、连接和星号如下:并:AB=x|xA 或 xB 连接:AB=xy
6、|xA 且 yB 星号:A*=x1x2xk|k 0 且每一个xi A,18,正则运算,例1.11 设字母表 是标准的 26 个字母 a,b,z。又设 A=good,bad,B=boy,girl,求AB,AB 和A*。,19,正则运算,定理1.12,正则语言类在并运算下封闭。,如果A1和A2是正则语言,则A1A2也是正则语言。设 M1 识别 A1,M2 识别 A2。并设M1=(Q1,1,q1,F1)和 M2=(Q2,2,q2,F2)构造识别A1A2 的 M=(Q,q0,F)Q=Q1Q2=(r1,r2)|r1Q1 且 r2Q2(r1,r2),a)=(1(r1,a),2(r2,a)q0=(q1,q2
7、)F=(r1,r2)|r1F1 或 r2F2,20,正则运算,定理1.13,正则语言类在连接运算下封闭。,证明思路 按照定理1.12证明思路试一下。输入:M1接受第一段且 M2 接受第二段时,M才接受;,?,M不知道在什么地方将它的输入分开(什么地方第一段结束,第二段开始),21,举例,证明定理遇到困难,暂时放下引入不确定性,Consider the concatenation:考虑下列连接1,01,11,001,011,0,000,00000,(That is:the bit strings that end with a“1”,followed by an odd number of 0s
8、.),Problem is:given a string w,how does the automaton know where the L1 partstops and the L2 substring starts?如何知道L1 何处停止?L2 何处开始?切分问题。,22,主要内容,1.1 有穷自动机1.2 非确定性1.3 正则表达式1.4 非正则语言 本章小结 作业,23,非确定性,非确定性体现在转换规则一入多出,是空字无入转态,24,非确定性,不确定性表现:q11 Y?Y有两个可能状态:q1,q2 导致 q2 自动漂移到 q3,是否接受“0110”和”1”,0110q1 q1 q2 q
9、3 q4 q41q1,q2,q3,25,非确定性,例1.14 设 A 是 0,1 上倒数第三个符号为 1 的所有字符串组成的语言,构造非确定性自动机。,q4,q1,q2,q3,26,非确定性,例1.15 考虑图示的 NFA N,它的输入字母表 0由一个符号组成。只含一个符号的字母表称为一元字母表。考虑它接受的语言。,0,0,0,0,0,27,非确定性,例1.16 考虑图示的 NFA N。运行这台机器,判断其是否识别、a、baba、baa、b、bb、babba。,28,非确定型有穷自动机的形式定义,定义1.17,非确定型有穷自动机(NFA)是一个 5 元组(Q,q0,F),其中(1)Q 是有穷的
10、状态集。(2)是有穷的字母表。(3):QP(Q)是转移函数。(4)q0Q 是起始状态。(5)FQ 是接受状态集。,29,NFA 的形式化描述举例,例1.18 给出图示的 NFA 的形式化描述。,30,NFA 计算的形式化定义,设 N=(Q,q0,F)是一台 NFA,w=w1w2wn 是一个字符串,并且 wi 是字母表 的成员。如果存在 Q 中的状态序列 r0,r1,rn,满足下列条件:1)r0=q02)ri+1(ri,wi+1)=,i=0,1,n1 rn F则 N 接受 w。,31,NFA与DFA的等价性,q1 q2,q3,q5,q1,q4,q2,q3,q5,q5,1,2,32,NFA与DFA
11、的等价性,设 N=(Q,q0,F)是识别语言 A 的NFA。假设 N 没有 箭头。构造识别 A 的 DFA M=(Q,q0,F)(1)Q=P(Q)(2)对于 RQ 和 a,令(R,a)=qQ|存在 rR,使得 q(r,a)(3)q0=q0(4)F=RQ|R 包含 N 的一个接受状态,33,NFA与DFA的等价性,考虑 N 有 箭头。对于 M 的任意一个状态 R,定义 E(R)为从 R 出发只沿着 箭头可以达到的状态集合,包括 R 本身的所有成员在内。E(R)=q|从 R 出发沿着 0 或多个 箭头可以到达 q 修改 M 的转移函数(R,a)=qQ|存在 rR,使得 qE(r,a)q0=E(q0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 理论 导引 正则 语言
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6024202.html