版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章2.3叙述由下列正规式描述的语言21(a) 0(0|1)*0在字母表0, 1上,以0开头和结尾的长度至少是2的01串(b) (|0)1*)*在字母表0, 1上,所有的01串,包括空串(c) (0|1)*0(0|1)(0|1)在字母表0, 1上,倒数第三位是0的01串(d) 0*10*10*10*在字母表0, 1上,含有3个1的01串(e) (00|11)*(01|10)(00|11)*(01|10)(00|11)*)*在字母表0, 1上,含有偶数个0和偶数个1的01串2.4为下列语言写正规定义 C语言的注释,即以 /*
2、 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 解答 other a | b | other指除了*以外C语言中的其它字符 other1 a | b | other1指除了*和/以外C语言中的其它字符 comment
3、160; /* other* (* * other1 other*)* * */ (f) 由偶数个0和偶数个1构成的所有0和1的串。 解答 由题目分析可知,一个符号串由0和1组成,则0和1的个数只能有四种情况: x 偶数个0和偶数个1(用状态0表示); x 偶数个0和奇数个1(用状态1表示); x 奇数个0和偶数个1(用状态2表示); x 奇数个0和奇数个1(用状态3表示)
4、; 所以, x 状态0(偶数个0和偶数个1)读入1,则0和1的数目变为:偶数个0和奇数个1(状态1) x 状态0(偶数个0和偶数个1)读入0,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态1(偶数个0和奇数个1)读入1,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态1(偶数个0和奇数个1)读入0,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入1,则0和1的数目变为:奇数个0和奇数个1(状态3)x 状态2(奇数个0
5、和偶数个1)读入0,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态3(奇数个0和奇数个1)读入1,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态3(奇数个0和奇数个1)读入0,则0和1的数目变为:偶数个0和奇数个1(状态1) 因为,所求为由偶数个0和偶数个1构成的所有0和1的串,故状态0既为初始状态又为终结状态,其状态转换图: 由此可以写出其正规文法为: S0 1S1 | 0S2 | S1 1S
6、0 | 0S3 | 1 S2 1S3 | 0S0 | 0 S3 1S2 | 0S1在不考虑S0 产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2
7、0;= 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1)
8、0;S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解(2)式得: S3 = (00|11)* (01|10) S0 + (01|10)
9、0; 代入(1)式得: S0 = (00|11) S0 + (01|10) (00|11)*(01|10) S0 + (01|10) + (00|11) => S0 = (00|11) + (01|10) (00|11)*(01|10)S0 + (01|10) (00|11)*(
10、01|10) + (00|11) => S0 = (00|11)|(01|10) (00|11)*(01|10)*(00|11) + (01|10) (00|11)* (01|10) => S0 = (00|11)|(01|10) (00|11)* (01|10)+ 因为S0所以由偶数个0和偶数个1
11、构成的所有0和1的串的正规定义为: S0 (00|11)|(01|10) (00|11)* (01|10)* (g) 由偶数个0和奇数个1构成的所有0和1的串。 解答 此题目我们可以借鉴上题的结论来进行处理。 对于由偶数个0和奇数个1构成的所有0和1的串,我们分情况讨论: (1) 若符号串首字符为0,则剩余字符串必然是奇数个0和奇数个1,因此我们必须在上题偶数个0和偶数个1的符号串基础上再读入10(红色轨迹)或01(蓝色轨迹),又因为在0
12、1和13的过程中可以进行多次循环(红色虚线轨迹),同理02和23(蓝色虚线轨迹),所以还必须增加符号串(00|11)*,我们用S0表示偶数个0和偶数个1,用S表示偶数个0和奇数个1则其正规定义为:S 0(00|11)*(01|10) S0 S0 (00|11)|(01|10) (00|11)* (01|10)* (2) 若符号串首字符为1,则剩余字符串必然是偶数个0和偶数个1,其正规定义为: S
13、160;1S0 S0 (00|11)|(01|10) (00|11)* (01|10)* 综合(1)和(2)可得,偶数个0和奇数个1构成的所有0和1串其正规定义为: S 0(00|11)*(01|10) S0|1S0 S0 (00|11)|(01|10) (00|11)* (01|10)* 2.7(c) (|a)b*)*01a234567b58sfstarta
14、babbab:s->4->0->1->5->6->7->8->4->0->1->5->6->7->6->7->8->4->0->1->5->6->7->8->f2.12 为下列正规式构造最简的DFA (b) (a|b)* a (a|b) (a|b) (1) 根据算法2.4构造该正规式所对应的NFA,如图所示。 (2) 根据算法2.2(子集法)
15、将NFA转换成与之等价的DFA(确定化过程) 初始状态 S0 = -closure(0) = 0, 1, 2, 4, 7 标记状态S0 S1 = -closure(move(S0, a) = -closure(5, 8) = 1, 2, 4, 5, 6, 7, 8, 9, 11 S2 =
16、-closure(move(S0, b) = -closure(3) = 1, 2, 3, 4, 6, 7 标记状态S1 S3 = -closure(move(S1, a) = -closure(5, 8, 12) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13,
17、 14, 16 S4 = -closure(move(S1, b) = -closure(3, 10) = 1, 2, 4, 5, 6, 7, 10, 13, 14, 16 标记状态S2 S1 = -closure(move(S2, a) = -closure(5, 8) = 1,
18、60;2, 4, 5, 6, 7, 8, 9, 11 S2 = -closure(move(S2, b) = -closure(3) = 1, 2, 3, 4, 6, 7 标记状态S3 S5 = -closure(move(S3, a) = -closure(5, 8, 12, 17) =
19、 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18 S6 = -closure(move(S3, b) = -closure(3, 10, 15) = 1, 2, 4, 5, 6, 7, 10, 13, 14,
20、0;15, 16, 18 标记状态S4 S7 = -closure(move(S4, a) = -closure(5, 8, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 17, 18 S8 = -closure(move(S4, b) = -closure(3, 15)
21、60;= 1, 2, 3, 4, 6, 7, 15, 18 标记状态S5 S5 = -closure(move(S5, a) = -closure(5, 8, 12, 17) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 1
22、7, 18S6 = -closure(move(S5, b) = -closure(3, 10, 15) = 1, 2, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18 标记状态S6 S7 = -closure(move(S6, a) = -closure(5, 8, 17)&
23、#160;= 1, 2, 4, 5, 6, 7, 8, 9, 11, 17, 18 S8 = -closure(move(S6, b) = -closure(3, 15) = 1, 2, 3, 4, 6, 7, 15, 18 标记状态S7 S3 = -closure(move(S7,
24、60;a) = -closure(5, 8, 12) = 1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16 S4 = -closure(move(S7, b) = -closure(3, 10) = 1, 2, 4, 5, 6, 7,
25、;10, 13, 14, 16 标记状态S8 S1 = -closure(move(S8, a) = -closure(5, 8) = 1, 2, 4, 5, 6, 7, 8, 9, 11 S2 = -closure(move(S8, b) = -closure(3) = 1, 2, 3,
26、 4, 6, 7 由以上可知,确定化后的DFA的状态集合S = S0, S1, S2, S3, S4, S5, S6, S7, S8,输入符号集合 = a, b,状态转换函数move如上,S0为开始状态,接收状态集合F = S5, S6, S7, S8,其状态转换图如下所示:(3) 根据算法2.3过将DFA最小化 第一次划分:S0,&
27、#160;S1, S2, S3, S4 S5, S6, S7, S8 S0, S1, S2, S3, S4a = S1, S3, S1, S5, S7 第二次划分:S0, S1, S2 S3, S4 S5, S6, S7,
28、;S8 S0, S1, S2a = S1, S3, S1 第三次划分:S0, S2 S1 S3, S4 S5, S6, S7, S8 S0, S2a = S1 S0, S2b = S2 S0, S2不可区分,
29、即等价。S5, S6, S7, S8a = S5, S7, S3, S1 第四次划分:S0, S2 S1 S3, S4 S5, S6 S7, S8 S3, S4a = S5, S7 第五次划分:S0, S2
30、; S1 S3 S4 S5, S6 S7, S8 S5, S6a = S5, S7 第六次划分:S0, S2 S1 S3 S4 S5 S6 S7, S8 S7, S8a = S3, S1第七次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林省蛟河市高三生物下册期末考试模拟测试卷及参考答案
- 2026年湖南省洪江市高三生物下册期末考试模拟卷及答案
- 2026年辽宁省凤城市高三历史上册期末考试自测卷(夺冠)附答案
- 2026年河南省荥阳市高三生物上册期末考试自测卷含答案
- 2026年山东省蓬莱市高三生物上册期末考试模拟卷及参考答案
- 四年级数学下册 第2课时 解决问题的策略
- 基于构件的领域驱动式快速开发平台:设计、实现与应用探索
- 基于机器数据的网站日志深度解析与多元应用探究
- 基于本体的面向服务的数据集成:理论、方法与应用探索
- 基于有限元法洞察车削细长轴动态特性:理论、仿真与优化策略
- 2025-2026学年湖南师大附中七年级(上)期中数学试卷
- (2025)义务教育英语课程标准【2025年版】测试题(含参考答案)
- 药事管理学考试真题及答案
- 浙江省精诚联盟2025-2026学年高一上学期10月月考化学试题(含答案)
- LNG消防安全培训内容课件
- 养殖蝎子知识培训课件
- 急性重症有机磷农药中毒护理疑难病例讨论
- 水下测绘培训课件下载
- 2024-2025学年度自考专业(学前教育)真题(考试直接用)附答案
- 人工智能通识 课件 第七章 智能之躯-具身智能
- T/CHES 54-2021取水权交易可行性报告编制导则
评论
0/150
提交评论