1、 (3)x|x 0,1+且x中不含00的串(设置一个陷阱状态,一旦发现有00的子串,就进入陷阱状态)(4) x|x 0,1*且x中不含00的串(可接受空字符串,所以初始状态也是接受状态)(5)x|x 0,1+且x中含形如10110的子串(6)x|x 0,1+且x中不含形如10110的子串(7)x|x 0,1+且当把x看成二进制时,x模5和3同余,要求当x为0时,|x|=1,且x 0时,x的首字符为1 1. 以0开头的串不被接受,故设置陷阱状态,当DFA在启动状态读入的符号为0,则进入陷阱状态2. 设置7个状态:开始状态qs,q0:除以5余0的等价类,q1:除以5余1的等价类,q2:除以5余2的
2、等价类,q3:除以5余3的等价类,q4:除以5余4的等价类,接受状态qt3. 状态转移表为状态1q0q1q2q3q4 (8)x|x 0,1+且x的第十个字符为1(设置一个陷阱状态,一旦发现x的第十个字符为0,进入陷阱状态) (9)x|x 0,1+且x以0开头以1结尾(设置陷阱状态,当第一个字符为1时,进入陷阱状态)(10)x|x 0,1+且x中至少含有两个1(11)x|x 0,1+且如果x以1结尾,则它的长度为偶数;如果x以0结尾,则它的长度为奇数可将0,1+的字符串分为4个等价类。q0: 的等价类,对应的状态为终止状态q1:x的长度为奇且以0结尾的等价类q2:x的长度为奇且以1结尾的等价类q
3、3: x的长度为偶且以0结尾的等价类q4: x的长度为偶且以1结尾的等价类(12)x|x是十进制非负数(13) (14) 3 (1) (张友坤02282061)=0,1Set(q0)=x | x * (2)Set(q0)= Set(q1)=x | x + (3)Set(q1)=x | x +并且x中不含形如00的子串 Set(q2)=x | x +并且x中不含形如00的子串 (4)Set(q0)=x | x *并且x中不含形如00的子串 Set(q1)=x | x *并且x中不含形如00的子串 (5)Set(q0)= x | x *,并且x0*或者x中含形如100的子串 Set(q1)=x |
4、 x *,并且x中含形如1的子串Set(q2)=x | x *,并且x中含形如10的子串 Set(q3)=x | x *,并且x中含形如101的子串 Set(q4)=x | x *,并且x中含形如1011的子串 Set(q5)=x | x *,并且x中含形如10110的子串 (6) =0,1Set(q0)= Set(q1)=x | x0+Set(q2)=x | x *,并且x中不含形如10110的子串而且x中含有1Set(q3)=x | x *,并且x中不含形如10110的子串而且x中含有1(7)Set(qs)= Set(qe)= 0Set(q1)=x | x +,并且把x看成二进制数时,x%
5、 5=1Set(q2)=x | x +,并且把x看成二进制数时,x% 5=2Set(q3)=x | x +,并且把x看成二进制数时,x% 5=3Set(q4)=x | x +,并且把x看成二进制数时,x% 5=4Set(q0)=x | x +,并且把x看成二进制数时,x% 5=0并且x不为0(8)M=Q, ,q0,FQ=q0,q1,q2,q10当0=i=8时候,(q i,0)= ( q i,1)=q(i+1)( q 9,1)=q10(q 10,0)= ( q 10,1)=q10F= q 10Set(q1)= 0,1Set(q2)=x | x +,并且|x|=2Set(q3)=x | x +,并
6、且|x|=3Set(q4)=x | x +,并且|x|=4Set(q5)=x | x +,并且|x|=5Set(q6)=x | x +,并且|x|=6Set(q7)=x | x +,并且|x|=7Set(q8)=x | x +,并且|x|=8Set(q9)=x | x +,并且|x|=9Set(q10)=x | x +,并且x的第十个字符是1(9) M=Q, ,q0,FQ=q0,q1,q2 (q 0,0)=q1(q 1,0)= q1(q 1,1)= q2(q 2,1)= q2(q 2,0)= q1F= q 2Set(q1)=x | x +,并且x以0开头以0结尾 Set(q2)=x | x +
7、,并且x以0开头以1结尾 (10) M=Q, ,q0,F(q 0,0)=q0(q 0,1)=q1(q 2,0)= q2Set(q0)= 0*Set(q1)=x | x +,并且x中只有一个1 Set(q2)=x | x +,并且x至少有俩个1(11) M=Q, ,q0,FQ=q0,q1,q2 , q3,q4 (q 0,1)=q4(q 1,0)= q3(q 2,1)= q4(q 3,0)= q1(q 3,1)= q4(q 4,1)= q2(q 4,0)= q3F= q 0 ,q 1 ,q 2Set(q1)=x | x +,以0结尾,长度为奇数 Set(q2)=x | x +,以1结尾,长度为偶数
8、 Set(q3)=x | x +,以0结尾,长度为偶数 Set(q4)=x | x +,以1结尾,长度为奇数 (12)Q=q0,q1,q2,q3,q4=.,0,1,2,9F=q1,q2,q4(q 0,1|2|3|4|5|6|7|8|9)=q2(q 1, . )=q2(q 2,0|1|2|3|4|5|6|7|8|9)=q2(q 2, . )=q3(q 3,0|1|2|3|4|5|6|7|8|9)=q4(q 4,0|1|2|3|4|5|6|7|8|9)=q4Set(q1)=0 Set(q2)=十进制正整数Set(q3)=十进制非负整数后面接个小数点 . Set(q4)=十进制正小数Set(q0)=
9、(14)4 在例3-6中,状态采用的形式,它比较清楚地表达出该状态所对应的记忆内容,给我们解决此问题带来了很大的方便,我们是否可以直接用代替呢?如果能,为什么?如果不能,又是为什么?从此问题的讨论,你能总结出什么来? (唐明珠 02282084)答:我认为能够直接用代替,因为在例3-6中,只是一种新的表示方法,用来表示状态存储的字符,这样就省去了在中逐一给出每一个具体的输入字符和状态的定义。它的作用在于使FA中状态定义更加简洁。得到结论:在今后描述FA时,应该根据具体的情况,使用适当的方法。5试区别FA中的陷阱状态和不可达状态。 (吴贤珺 02282047)解: 陷阱状态(课本97页):指在其
10、它状态下发现输入串不可能是该FA所识别的句子时所进入的状态。FA一旦进入该状态,就无法离开,并在此状态下,读完输入串中剩余的字符。 不可达状态(课本108页):指从FA的开始状态出发,不可能到达的状态。就FA的状态转移图来说,就是不存在从开始状态对应的顶点出发,到达该状态对应顶点的路径。 从两者的定义可见:相对于不可达状态来说,陷阱状态是可达的。但是,它们都是状态转移图中的非正常状态。如果从状态转移图中的状态引一条弧到不可达状态,同时不可达状态所有的移动都是到自身。这样,不可达状态就变成了陷阱状态。*注:此题目有问题,可以将题设改为:x中0和1个数相等且交替出现6证明:题目有不严密之处,图中给出DFA与题目中的语言L(M)=x|x x 0,1+ 且x中0的个数和1的个数相等不完全对应,首先图中的DFA可接受空字符串,而L(M)不接受,其次,对于有些句子,例如1100,L(M)可以接受,但DFA不接受(1)根据图中的DFA可看出,右下角的状态为陷阱状态,所以去除陷阱状态 (2)由DFA可构造出与其对应的右线性文法: (刘钰 02282083) 由此可以看出该文法接受的语言为L=(10|01)*,显然01或10分别是作为整体出现的,所以L(M)中0和1的个数相等。*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1