形式语言与自动机理论试题答案解析

合集下载

《形式语言与自动机》(王柏、杨娟编著)课后习题答案-推荐下载

《形式语言与自动机》(王柏、杨娟编著)课后习题答案-推荐下载

P2
9.对应图(a)(b)的状态转换图写出正则式。(图略) (1) 由图可知 q0=aq0+bq1+a+ε
q1=aq2+bq1 q0=aq0+bq1+a =>q1=abq1+bq1+aaq0+aa =(b+ab) q1+aaq0+aa =(b+ab) *( aaq0+aa)
=>q0=aq0+b(b+ab) *( aaq0+aa ) +a+ε
(2) 由生成式得:
S=aA+B ①
A=bB+cC ② B=a+bB ③ C=D+abB ④ D=dB ⑤ 由③得 B=b*a ⑥ 将⑤⑥代入④ C=d+abb*a=d+ab+a ⑦ 将⑥⑦代入② A=b+a+c(d+b+a) ⑧ 将⑥⑧代入① S=a(b+a+c(d+ab+a))+b*a
=ab+a+acd+acab+a+b*a
4.对下列文法的生成式,找出其正则式 (1) G=({S,A,B,C,D},{a,b,c,d},P,S),生成式 P 如下:
S→aA S→B
A→abS A→bB
B→b B→cC
C→D D→bB
D→d
(2) G=({S,A,B,C,D},{a,b,c,d},P,S),生成式 P 如下:
S→aA S→B
P: S→aS S→bS S→ε
(2) 右线性文法 G=({S},{a,b},P,S)
P: S→aS S→bS S→abb

形式语言与自动机Chapter7练习参考解答

形式语言与自动机Chapter7练习参考解答

Chapter 7 练习参考解答Exercise 7.1.3 从以下文法出发:S → 0A0 | 1B1 | BBA → CB → S | AC → S | εa) 有没有无用符号?如果有的话去除它们。

b) 去除ε-产生式。

c) 去除单位产生式。

d) 把该文发转化为乔姆斯基范式。

参考解答:a)没有无用符.b) 所有符号S,A,B,C都是可致空的,消去ε-产生式后得到新的一组产生式:S → 0A0 | 1B1 | BB | B | 00 | 11A → CB → S | AC → Sc) 单元偶对包括:(A,A),(B,B),(C,C),(S,S),(A,C),(A,S),(A,B),(B,A),(B,C),(B,S),(C,A),(C,B),(C,S),(S,A),(S,B),(S,C),消去单元产生式后得到新的一组产生式S → 0A0 | 1B1 | BB | B | 00 | 11A → CB → S | AC → SS → 0A0 | 1B1 | BB | 00 | 11A → 0A0 | 1B1 | BB | 00 | 11B → 0A0 | 1B1 | BB | 00 | 11C → 0A0 | 1B1 | BB | 00 | 11d)先消去无用符号C,得到新的一组产生式:S → 0A0 | 1B1 | BB | 00 | 11A → 0A0 | 1B1 | BB | 00 | 11B → 0A0 | 1B1 | BB | 00 | 11引入非终结符C,D,增加产生式C → 0和D → 1,得到新的一组产生式:S → CAC | DBD | BB | CC | DDA → CAC | DBD | BB | CC | DDB → CAC | DBD | BB | CC | DDC → 0D → 1引入非终结符E,F,增加产生式E → CA和F → DB,得到满足Chomsky范式的一组产生式:S → EC | FD | BB | CC | DDA → EC | FD | BB | CC | DDB → EC | FD | BB | CC | DDE → CAF → DBC → 0D → 1Exercise 7.2.1(b)用CFL泵引理来证明下面的语言都不是上下文无关的:b) {a n b n c i | i ≤n}。

形式语言与自动机理论试题

形式语言与自动机理论试题

形式语言与自动机理论试题一、按要求完成下列填空1.给出集合{Φ,{Φ}}和集合{ε,0,00}的幂集 (2x4')(1) {Φ,{Φ},{{Φ}},{Φ,{Φ}}}(2) {Φ,{ε},{0},{00},{ε,0},{ε,00},{0,00},{ε,0,00}}2.设∑={0,1},请给出∑上的下列语言的文法 (2x5')(1)所有包含子串01011的串 S →X01011YX →ε|0X|1X Y →ε|0Y|1Y(2)所有既没有一对连续的0,也没有一对连续的1的串 A →ε|A ’|A ”A’ →0|01|01A ’ A ” →1|10|10A ”3.构造识别下列语言的DFA 2x6'(1) {x|x ∈{0,1}+且x 以0开头以1结尾}(设置陷阱状态,当第一个字符为1时,进入陷阱状态)1S110,10 (2) {x|x ∈{0,1}+且x 的第十个字符为1}(设置一个陷阱状态,一旦发现x 的第十个字符为0,进入陷阱状态)1S0,10,10,10,10,110,0,10,10,10,10,1二、判断(正确的写T ,错误的写F ) 5x2'1.设1R 和2R 是集合{a,b,c,d,e}上的二元关系,则3231321)(R R R R R R R ⊆( T )任取(x.,y),其中x,y },,,,{e d c b a ∈,使得321)(),(R R R y x ∈。

)),(),((321R y z R R z x z ∈∧∈∃⇒ },,,,{e d c b a z ∈ )),(),(),((321R y z R z x R z x z ∈∧∈∧∈∃⇒)),(),(()),(),((3231R y z R z x z R y z R z x z ∈∧∈∃∧∈∧∈∃⇒ 3231),(),(R R y x R R y x ∈∧∈⇒ 3231),(R R R R y x ∈⇒2.对于任一非空集合A ,Φ⊆A2 ( T ) 3.文法G :S A|AS A a|b|c|d|e|f|g 是RG ( F ) 4.3型语言2型语言1型语言0型语言 ( T )5.s (rs+s )*r=rr *s (rr *s )* ( F )不成立,假设r,s 分别是表示语言R ,S 的正则表达式,例如当R={0},S={1}, L(s(rs+s)*r)是以1开头的字符串,而L(rr*s(rr*s)*)是以0开头的字符串.L(s(rs+s)*r) ≠ L(rr*s(rr*s)*) 所以s(rs+s)*r ≠ rr*s(rr*s)*,结论不成立三、设文法G 的产生式集如下,试给出句子aaabbbccc 的至少两个不同的推导(12分)。

形式语言与自动机理论试题

形式语言与自动机理论试题

形式语言与自动机理论试题、按要求完成下列填空1. 给出集合{①,{①}}和集合{£ ,0,00}的幕集 (2x4')⑴{①,{①},{{①}},{①,{①}}}(2) {①,{ £ },{0},{00},{ £,0},{ £,00},{0,00},{ £ ,0,00}}2. 设刀={0,1},请给出刀上的下列语言的文法(2x5')(1) 所有包含子串01011的串S T X01011YXr |0X|1XYf |0Y|1Y(2) 所有既没有一对连续的0,也没有一对连续的1的串A T£ |A ' ”A T0|01|01A 'A T 1|10|10A ”3. 构造识别下列语言的DFA 2x6'(1) {x|x {0, 1}+且x以0开头以1结尾}(设置陷阱状态,当第一个字符为1时,进入陷阱状态)(2) {x|x {0, 1}+且x的第十个字符为1}(设置一个陷阱状态,一旦发现x的第十个字符为0,进入陷阱状态)0,1、判断(正确的写 T ,错误的写F ) 5x21•设R 和R 2是集合{a,b,c,d,e}上的二元关系,则(R只2)民RR 只只(T )任取(x.,y),其中 x,y {a,b,c,d,e},使得(x,y) (RR 2)FR 。

不成立,假设r,s 分别是表示语言 R, S 的正则表达式,例如当R={0}, S={1}, L(s(rs+s)*r)是以1开头的字符串,而 L(rr*s(rr*s)*)是以0开头的字符串.L(s(rs+s)*r) L(rr*s(rr*s)*) 所以s(rs+s)*r rr*s(rr*s)*,结论不成立 、设文法G 的产生式集如下,试给出句子aaabbbccc 的至少两个不同的推导(12分)。

S aBC|aSBC aB abbB T bbCB T BC bC T bcC C T cc 推导一:S=>aSBC =>aaSBCBC =>aaaBCBCBC =>aaabCBCBC =>aaabBCCBC =>aaabbCCBC =>aaabbCBCCz((x, z) R R 2(z, y) R 3) z {a,b,c,d,e}z((x, z)R 1 (x, z )R 2(z, y) R 3)z((x,z)R 1 (z,y) R a )z((x,z)R 2 (z, y)(x,y)R 1 R 3(x, y) R 2R 3(x, y)R 1 R 3 R 2 R 32.对于任 •非空集合A , ①2A(T ) 3.文法G : S f A|AS A —► a|b|c|d|e|f|g 是 RG(F) 型语言2型语言1型语言0型语言(T )*(rs+s ) * *r=rr s (rr s ) *(F )R a )=>aaabbBCCC=>aaabbbCCC=>aaabbbcCC=>aaabbbccC=>aaabbbccc推导二:S=>aSBC =>aaSBCBC =>aaaBCBCBC =>aaaBBCCBC =>aaaBBCBCC=>aaabBCBCC =>aaabbCBCC =>aaabbBCCC =>aaabbbCCC =>aaabbbcCC=>aaabbbccC =>aaabbbccc四、判断语言{O n1n O n|n>=1}是否为RL如果是,请构造出它的有穷描述(FA,RG或者RL); 如果不是,请证明你的结论(12分)解:设L={O n1n O n|n>=1}。

形式语言与自动机理论试题答案解析

形式语言与自动机理论试题答案解析

形式语言与自动机理论试题答案解析一、按要求完成下列填空1. 给出集合{Φ,{Φ}}和集合{ε,0,00}的幂集 (2x4')(1) {Φ,{Φ},{{Φ}},{Φ,{Φ}}}(2) {Φ,{ε},{0},{00},{ε,0},{ε,00},{0,00},{ε,0,00}}2. 设∑={0,1},请给出∑上的下列语言的文法 (2x5') (1)所有包含子串01011的串 S →X01011YX →ε|0X|1X Y →ε|0Y|1Y(2)所有既没有一对连续的0,也没有一对连续的1的串 A →ε|A ’|A ”A’ →0|01|01A ’ A ” →1|10|10A ”3. 构造识别下列语言的DFA 2x6'(1) {x|x {0,1}+且x 以0开头以1结尾} (设置陷阱状态,当第一个字符为1时,进入陷阱状态)1S110,10(2) {x|x{0,1}+且x 的第十个字符为1}(设置一个陷阱状态,一旦发现x 的第十个字符为0,进入陷阱状态)1S0,10,10,10,10,110,0,10,10,10,10,1二、判断(正确的写T ,错误的写F ) 5x2'1R 和2R 是集合{a,b,c,d,e}上的二元关系,则3231321)(R R R R R R R ⊆( T )任取(x.,y),其中x,y },,,,{e d c b a ∈,使得321)(),(R R R y x ∈。

)),(),((321R y z R R z x z ∈∧∈∃⇒ },,,,{e d c b a z ∈ )),(),(),((321R y z R z x R z x z ∈∧∈∧∈∃⇒)),(),(()),(),((3231R y z R z x z R y z R z x z ∈∧∈∃∧∈∧∈∃⇒ 3231),(),(R R y x R R y x ∈∧∈⇒ 3231),(R R R R y x ∈⇒2.对于任一非空集合A ,Φ⊆A2 ( T ) 3.文法G :S A|AS A a|b|c|d|e|f|g 是RG ( F )2型语言1型语言0型语言 ( F )5.s (rs+s )*r=rr *s (rr *s )* ( F )不成立,假设r,s 分别是表示语言R ,S 的正则表达式,例如当R={0},S={1}, L(s(rs+s)*r)是以1开头的字符串,而L(rr*s(rr*s)*)是以0开头的字符串.L(s(rs+s)*r) ≠ L(rr*s(rr*s)*) 所以s(rs+s)*r ≠ rr*s(rr*s)*,结论不成立三、设文法G 的产生式集如下,试给出句子aaabbbccc 的至少两个不同的推导(12分)。

形式语言与自动机Chapter5练习参考解答

形式语言与自动机Chapter5练习参考解答

Chapter 5 练习参考解答Exercise 5.1.2 (c) 下面的文法产生了正则表达式0*1(0+1)*的语言:εε|1|0|01B B B A A BA S →→→试给出下列串的最左推导和最右推导:c) 00011。

参考解答:一个最左推导:S ⇒lm A1B ⇒lm 0A1B ⇒lm 00A1B ⇒lm 000A1B ⇒lm 0001B ⇒lm 00011B ⇒lm 00011一个最右推导:S ⇒rm A1B ⇒rm A11B ⇒rm A11 ⇒rm 0A11⇒rm 00A11⇒rm 000A11 ⇒rm 00011! Exercise 5.1.3 证明任何正则语言都是上下文无关语言。

提示:通过对正则表达式中的运算符的数目进行归纳的方法来构造CFG 。

参考解答:对于任何正规表达式R ,归纳于R 中算符的数目n 构造如下产生式集合P(R),相应的开始符号为S(R):基础:n=0.(1)R 为ε,则任选非终结符A ,令P(R)只包含A →ε,以及S(R)为A ;(2)R 为φ,令P(R) 为空集;(3)R 为a ,则任选非终结符A ,令P(R)只包含A →a ,以及S(R)为A ; 基础:n>0.(1)R为R1+R2,则适修改非终结符的名字,使得P(R1)与P(R2)中的所有非终结符没有重名,任选不出现在P(R1)⋃P(R2)中的非终结符A,令P(R)= P(R1) ⋃P(R2)⋃{ A→ S(R1), A→ S(R2) },并且,令S(R)为A;(2)R为R1R2,则适修改非终结符的名字,使得P(R1)与P(R2)中的所有非终结符没有重名,任选不出现在P(R1)⋃P(R2)中的非终结符A,令P(R)= P(R1) ⋃P(R2)⋃{ A→ S(R1)S(R2) };并且,令S(R)为A;(3)R为R1*,任选不出现在P(R1) 中的非终结符A,令P(R)= P(R1) ⋃{ A→ AS(R1) , A→ε };并且,令S(R)为A.设L为正规语言,R为正规表达式,且有L=L(R). 令上下文无关文法G 的产生式集合为上述归纳过程所得到的P(R),以及G的开始符号为S(R). 可以归纳证明L(G)=L(R)=L.! Exercise 5.1.4 (选做)如果一个CFG的每个产生式的体都最多只有一个变元,并且该变元总在最右端,那么该CFG称做右线性的。

形式语言与自动机Chapter3练习参考解答

形式语言与自动机Chapter3练习参考解答

Chapter 3 练习参考解答Exercise 3.1.1 写出下列语言的正规表达式:c) The set of strings of 0' s and1' s with at most one pair of consecutive 1' s.c)最多包含两个相继的 1 的所有0, 1 字符串的集合.参考解答:该题的翻译有二义性(Sorry ).1)按原题意的解法对不包含相继的 1 的所有0, 1 字符串的集合,正规表达式可以为:1*(0+01)* 或(0+10 )*1*;包含最多一对相继的1,正规表达式可以为:(0+10)*11(0+01)*;所以,结果正规表达式可以为:1*(0+01)* + (0+10 )*11(0+01)2)若理解为11 可以出现多次的解法正规表达式可以为:1*(0+01+011 )* 或(0+10+110)*1*;等等Exercise 3.1.2 写出下列语言的正规表达式:b) 0 的个数能够被 5 整除的所有0, 1 字符串的集合. 参考解答:该题问题不多.正规表达式可以为:(1*01*01*01*01*01* )*Exercise 3.2.1(2)c)给出所有正规表达式R(i2j), 并尽可能简化之.d)给出该自动机的语言的一个正规表达式.参考解答:该题问题反映较多的是关于正规表达式的简化. 本科程较侧重原理,技术方面不够细致,因此对于“最简“的正规表达式没有作明确的规定,也没有类似于命题演算中有关”范式“的讨论.同学们在做题时除了应用有关定律外, 还可以自己总结出一些规律,比如一个表达式的语言 R 是另一个表达式S 所代 表语言的一个子集,则对于 R+S 就可以消去R ,例如 +1*可以简化为1*.再 如,在已做过的习题中出现的公式,例如Exercise3.4.1(g)我们可以验证(汁R)*= R*,因此 (+1)*可以简化为1*.综合已阅过的作业,推荐以下结果:C) R (121)= 1*+1*0 ( +11*0)*11* = 1*+1*0(11*0)*11*R (1 2 = 1*0+1*0 ( ;+11*0)* ( ;+11*0) = 1*0(11*0)*R (123)= * +1*0 2+11*0)*0 = 1*0(11*0)*0R (221)= 11* + ( +11*0) ( +11*0)*11* = (11*0)*11* R (222)= +11*0 + ( +11*0) ( ;+11*0)* ( ;+11*0) = (11*0)*R (223)= 0 + ( +11*0) ( +11*0)*0 = (11*0)*0R (321) = * + 1 (<+11*0)*11* =1(11*0)*11*R (322)= 1 + 1 ( +11*0)* ( ;+11*0) =1(11*0)*R (323)= ; + 0 + 1 ( +11*0)* 0 = ; + 0 + 1(11*0)*0d)该自动机的语言的一个正规表达式为R (133) =1*0(11*0)*0 +1*0(11*0)*0 ( ; + 0 + 1(11*0)*0)* ( ; + 0 + 1(11*0)*0)=1*0(11*0)*0 (0 + 1(11*0)*0)*Exercise 3.2.3 使用状态消去技术,将如下 DFA 转化为一个正规表达式.参考解答:该题问题不多,状态消去的次序不同,结果形式上可能有所不同,但 相互之间是等价的.以下是一个解法:/1+0(01+10*11)*(00+10*10) Start 5结果正规表达式可以为:(1+0(01+10*11)*(00+10*10))* 原状态图:消去状态r :消去状态s :1Start 0Exercise 324 将下列正规表达式转化为带 &转移的NFA.b) (0+1)01 c) 00(0+1)*参考解答:若严格按照所介绍的算法构造,则结 果如下:b)Exercise 3.4.1验证下列包含正规表达式的等式 c) (RS) T = R (ST) .g)(+R)* = R* . 参考解答:c)将两个表达式具体化,将R 替换为a ,将S 替换为b.(RS)T 具体化为(ab)a ,R(ST)具体化为 a(ba),而 L((ab)a)=L(a(ba))={abc}, 所以原等式成立;g)将两个表达式具体化,将R 替换为a.(+R)* 具体化为(;+a)*,R*具体化为 a*,而 L(( +a)*)=L(a*)={ ,a ,aa,aaa,…, (注:严格证明L(( ;+a)*)=L(a*),可以在归纳证明:对任意k>=0,{;,a}k ={a}k 的基础上进行),所以原等式成立;Exercise 342证明或否证下列关于正规表达式的命题 b) (RS+R)*R = R (SR+R)*.d) (R+S)*S = (R*S)* .Start参考解答:b)将两个表达式具体化,将R替换为a,将S替换为b.(RS+R)*R 具体化为(ab+a)*a,R (SR+R)*具体化为a(ba+a)*,可以证明L((ab+a)*a)=L(a(ba+a)*) (注:同上,可以先归纳证明:对任意k>=0,{ab,a}k{a}={a}{ba ,a}k,而由连接运算对-运算的分配律,—k —k 可知L((ab+a)*a)= *0,1,2, -({ab,a} {a}), L(a(ba+a)*)= k=o,1,2, ・({a}{ba,a}),由此证得L((ab+a)*a)=L(a(ba+a)*)),所以原等式成立;g)将两个表达式具体化,将R替换为a,将S替换为b.(R+S)*S 具体化为(a+b)*b,(R*S)* 具体化为(a*b)*,由于〉L((a*b)*),而>■' L((a*b)*),所以原等式不成立。

形式语言与自动机Chapter6练习参考解答

形式语言与自动机Chapter6练习参考解答

Chapter 6 练习参考解答Exercise 6.2.1 设计PDA 使它接受下列语言,你可以使用以终结状态方式接受或者以空栈方式接受中方便的一个。

b) 所有由0,1 构成的,并且任何前缀中 1 的个数都不比0 的个数多的串的集合。

c) 所有0,1 个数相同的0,1 串的集合。

参考解答:b)构造以终态方式接受的PDA P = (Q,艺,r , S , q o, Z o, F),其中Q={q o};状态q o表示当前扫描过的输入串的任何前缀中1的个数不比0的个数多;工={0 , 1};r ={ Z o, X};下推栈中,X的个数表示当前扫描过的输入串中o的个数比1 的个数多多少;F={q o};S (q o,o, Z o)={( q o,X Z o)}, S (q o,o, X)={( q o,X X)}, S (q o,1, X)={( qo, )}.c)构造以空栈方式接受的PDA P = (Q, 2 , r , S , q o, Z o),其中Q={q o, q i };状态q o表示当前扫描过的输入串的任何前缀中o的个数不少于1 的个数,状态q1 表示当前扫描过的输入串的任何前缀中 1 的个数不少于o 的个数;2 ={o, 1};r ={ Z o, X };下推栈中,X的个数表示当前扫描过的输入串中o的个数比i 的个数或 1 的个数比o 的个数多多少;S(q o,o, Z o)={( q o,X Z o)}, S(q o,1, Z o)={( q1,X Z o)};S (q i,O, Z o)={( q o,X Z o)}, S (q i,1, Z o)={( q i,X Z o)};S (q o,O, X)={( q o,X X)}, S (q o,1, X)={( q o, )};S(q1,o, X)={( q 1, )},S(q1,1, X)={( q 1, X X)} ;S(q o, , Z o)={( q o, )},S(q1, , Z o)={( q1, )}.Exercise 6.3.2 把下面的文法S aAAA aS | bS | a转换成以空栈方式接受同样语言的PDA 。

形式语言与自动机蒋宗礼答案

形式语言与自动机蒋宗礼答案

形式语言与自动机蒋宗礼答案形式语言与自动机蒋宗礼答案【篇一:形式语言第四章参考答案(蒋宗礼)】p> 解:所求正则表达式为:(0+1)*。

+⑵ {0, 1}。

解:所求正则表达式为:(0+1)+。

⑶ { x│x∈{0,1}且x中不含形如00的子串 }。

解:根据第三章构造的fa,可得所求正则表达式为:1*(01+)*(01+0+1)。

⑷ { x│x∈{0,1}*且x中不含形如00的子串 }。

++ +q1为终态时的正则表达式:0*1(1*(0(10)*111*1)*(0(10)*00*1)*)* q2为终态时的正则表达式:0*11*0((10)*(111*11*0)*(00*11*0)*)*q3为终态时的正则表达式:0*11*0(10)*1(11*11*0((10)*(00*11*0)*)*1)* q4为终态时的正则表达式:0*11*0(10)*11(1*(11*0((00*11*0)*(10)*)*11)*)* 将以上5个正则表达式用“+”号相连,就得到所要求的正则表达式。

⑺ { x│x∈{0,1}且当把x看成二进制数时,x模5与3同余和x为0时,│x│=1且x≠0时,x的首字符为1}。

解:先画出状态转移图,设置5个状态q0、q1、q2、q3、q4,分别表示除5的余数是0、1、2、3、4的情形。

另外,设置一个开始状态q.由于要求x模5和3同余,而3模5余3,故只有q3可以作为终态。

由题设,x=0时,│x│=1,模5是1,不符合条件,所以不必增加关于它的状态。

下面对每一个状态考虑输入0和1时的状态转移。

q: 输入1,模5是1,进入q1。

+q0: 设x=5n。

输入0,x=5n*2=10n,模5是0,故进入q0输入1,x=5n*2+1=10n+1,模5是1,故进入q1q1:设x=5n+1。

输入0,x=(5n+1)*2=10n+2,模5是2,故进入q2输入1,x=(5n+1)*2+1=10n+3,模5是3,故进入q3 q2:设x=5n+2。

形式语言与自动机答案蒋宗礼

形式语言与自动机答案蒋宗礼

形式语言与自动机答案蒋宗礼【篇一:形式语言第四章参考答案(蒋宗礼)】p> 解:所求正则表达式为:(0+1)*。

+⑵ {0, 1}。

解:所求正则表达式为:(0+1)+。

⑶ { x│x∈{0,1}且x中不含形如00的子串 }。

解:根据第三章构造的fa,可得所求正则表达式为:1*(01+)*(01+0+1)。

⑷ { x│x∈{0,1}*且x中不含形如00的子串 }。

++ +q1为终态时的正则表达式:0*1(1*(0(10)*111*1)*(0(10)*00*1)*)* q2为终态时的正则表达式:0*11*0((10)*(111*11*0)*(00*11*0)*)*q3为终态时的正则表达式:0*11*0(10)*1(11*11*0((10)*(00*11*0)*)*1)* q4为终态时的正则表达式:0*11*0(10)*11(1*(11*0((00*11*0)*(10)*)*11)*)*将以上5个正则表达式用“+”号相连,就得到所要求的正则表达式。

⑺ { x│x∈{0,1}且当把x看成二进制数时,x模5与3同余和x为0时,│x│=1且x≠0时,x的首字符为1}。

解:先画出状态转移图,设置5个状态q0、q1、q2、q3、q4,分别表示除5的余数是0、1、2、3、4的情形。

另外,设置一个开始状态q.由于要求x模5和3同余,而3模5余3,故只有q3可以作为终态。

由题设,x=0时,│x│=1,模5是1,不符合条件,所以不必增加关于它的状态。

下面对每一个状态考虑输入0和1时的状态转移。

q: 输入1,模5是1,进入q1。

+q0: 设x=5n。

输入0,x=5n*2=10n,模5是0,故进入q0输入1,x=5n*2+1=10n+1,模5是1,故进入q1q1:设x=5n+1。

输入0,x=(5n+1)*2=10n+2,模5是2,故进入q2输入1,x=(5n+1)*2+1=10n+3,模5是3,故进入q3 q2:设x=5n+2。

形式语言与自动机 形式语言与自动机理论-蒋宗礼-第三章参考答案

形式语言与自动机 形式语言与自动机理论-蒋宗礼-第三章参考答案

形式语言与自动机形式语言与自动机理论-蒋宗礼-第三章参考答案导读:就爱阅读网友为您分享以下“形式语言与自动机理论-蒋宗礼-第三章参考答案”的资讯,希望对您有所帮助,感谢您对的支持!因此我们只需要证明对任何的2NFA M1?(Q1,?,?1,F1,q0),都存在FAM2?(Q2,?,?2,F2,q0)与之等价。

对于任何的2NFA M1?(Q1,?,?1,F1,q0),构造FA M2?(Q2,?,?2,F2,q0),按三个方式构造?2:1.如果q?Q1,a??,?1(q,a)?{p,R},则?2(q,a)?p;2.如果q?Q1,a??,?1(q,a)?{p,S},则如果??1(p,a)?{o,R},则?2(q,a)?o;如果??1(p,a)?{o,S},则重复第二步;如果??1(p,a)?{o,L},则对于集合A = {r|b?Q1,?1(r,b)?(o,R)},?2(q,a)?r,r?A。

3.如果q?Q1,a??,?1(q,a)?{p,L},则设集合 A = {r|b?Q1,?1(r,b)?(p,R)},?2(q,a)?r,r?A*************************************************** ****************************28.证明定理3-8:Moore机与Mealy机等价(郭会02282015)证明:不妨设Moore机M1=(Q1,?,?,?1,?1,q01),Mealy机M2=(Q2,?,?,?2,?2,q02),则根据Moore机和Mealy机等价的定义知,必须证明:T1(x)??1(q0)T2(x),其中T1(x)和T2(x)分别表示M1和M2关于x的输出。

??Moore机M1,?Mealy机M2,使M2与M1等价(1)构造M2,?2??1,q02?q01,Q2?Q1?q?Q1?{q01},?1(q)?a,?q&#39;?Q1且?b??,?1(q&#39;,b)=q,就构造?2(q&#39;,b)=a(2)证明?x??*,?1(q0)T2(x)?T1(x)不妨设x?x1x2……xn,则?i?N,(i?1,2……n)则M1的输出为:T1(x)??1(q0)?1(?1(q0,x1))……?1(?1((…?1(q0,x1),x2)…),xn)由题意可知?1(q0,x1),?1(?1(q0,x1),x2),…,?1(……?1 (?1(q0,x1),x2) xn) 均为Moore机中的状态,由(1)中的构造假设知,M2的输出为:T2(x)??2(q0,x1)?2(?2(q0,x1),x2)…?2(……?2(?2(q0,x1),x2) ? ?1(q0,x1)?1(?1(q0,x1),x2)…?1(……?1(?1(q0,x1),x2) xn) xn) ?T1(x)??1(q0)T2(x)??Mealy机M2,?Moore机M1,使M1与M2等价(1)构造M1,q01?q02Q1?Q2?{qij|??2(qi,a)?qj,其中qi,qj?Q2,a??}?1?{?|?(qi,a)?qij,?(qij,?)?qj其中?2(qi,a)?qj}?1?{?|?1(qi,a)?qij,?1(qij,?)?qj,?(qij)??2(qi,a) }(2)证明?x??*,T1(x)=?1(q0)T2(x)不妨设x?x1x2……xn,则?i?N,(i?1,2……n)则M1的输出为:T2(x)??2(?2(q0,x1))……?2(?2((…?2(q0,x1),x2)…),xn) 由题意可知?2(q0,x1),?2(?2(q0,x1),x2),…,?2(……?2 (?2(q0,x1),x2) xn) 均为Mealy机中的状态,由(1)中的构造假设知,M1的输出为:T1(x)??1(q0)?1(?2(q0,x1))?1(?1(q0,x1),x2)…?1(……?1(?1(q 0,x1),x2) xn)??1(q0)?2(?2(q0,x1))……?2(?2((…?2(q0,x1),x2)…),xn) ?T1(x)??1(q0)T2(x)综上所述,Moore机与Mealy机等价第三章作业答案1.已知DFA M1与M2如图3-18所示。

《形式语言与自动机》期末复习题及答案(一)

《形式语言与自动机》期末复习题及答案(一)

形式语言与自动机期末复习题及答案(一)1.有图灵机 M=(Q, ∑, Γ, δ,q 0 , B , F) 接受语言{w t w│w ∈{a, b}*},按照下图说明其接受过程。

(本题15分 )[q 1[q 6,B]答:abtab 的分析过程:[q 1,B]abtab├a [q 2,a]btab├ab [q 2,a]tab├abt [q 3,a]ab├ ab [q 4,B]tab├a [q 5,B]btab├[q 6,B]abtab├a [q 1,B]btab ├ab [q 2,b]tab├abt [q 3,b]ab ├abta [q 3,b]b ├abt [q 4,B]ab├a [q 5,B]btab ├ab [q 7,B]tab ├abt [q 8,B]ab├abta [q 8,B]b ├abtab [q 8,B]B├abta [q 9,B]b 接受abtab√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√√2.简述《形式语言与自动机》课程的主要内容。

(本题10分)答:语言的文法描述;RL (RG 、FA 、RE 、RL 的性质 );CFL (CFG(CNF 、GNF)、PDA 、CFL 的性质);TM (基本TM 、构造技术、TM 的修改);CSL (CSG 、LBA )。

3.简述《形式语言与自动机》课程的学习目的和基本要求。

(本题10分) 答:本专业人员4种基本的专业能力:计算思维能力、算法的设计与分析能力、程序设计和实现能力、计算机软硬件系统的认知、分析、设计与应用能力。

其中计算思维能力包括:逻辑思维能力和抽象思维能力、构造模型对问题进行形式化描述、理解和处理形式模型。

本课程应使学生掌握如下知识:正则语言、下文无关语言的文法、识别模型及其基本性质、图灵机的基本知识。

锻炼培养如下能力:形式化描述和抽象思维能力、了解和初步掌握“问题、形式化描述、自动化(计算机化)”这一最典型的计算机问题求解思路。

《形式语言与自动机》(王柏、杨娟编著)课后习题答案

《形式语言与自动机》(王柏、杨娟编著)课后习题答案

形式语言与自动机课后习题答案第二章4.找出右线性文法,能构成长度为1至5个字符且以字母为首得字符串。

答:G={N,T,P,S}其中N={S,A,B,C,D} T={x,y} 其中x∈{所有字母} y∈{所有得字符} P如下: S→x S→xA A→y A→yBB→y B→yC C→y C→yD D→y6.构造上下文无关文法能够产生L={ω/ω∈{a,b}*且ω中a得个数就是b得两倍}答:G={N,T,P,S}其中N={S} T={a,b} P如下:S→aab S→aba S→baaS→aabS S→aaSb S→aSab S→SaabS→abaS S→abSa S→aSba S→SabaS→baaS S→baSa S→bSaa S→Sbaa7.找出由下列各组生成式产生得语言(起始符为S)(1)S→SaS S→b(2)S→aSb S→c(3)S→a S→aE E→aS答:(1)b(ab)n /n≥0}或者L={(ba)n b/n≥0}(2) L={a n cb n /n≥0}(3)L={a2n+1 /n≥0}第三章1.下列集合就是否为正则集,若就是正则集写出其正则式。

(1)含有偶数个a与奇数个b得{a,b}*上得字符串集合(2)含有相同个数a与b得字符串集合(3)不含子串aba得{a,b}*上得字符串集合答:(1)就是正则集,自动机如下题(2)。

(3) 就是正则集先瞧L’为包含子串aba得{a,b}*上得字符串集合显然这就是正则集,可以写出表达式与画出自动机。

(略)则不包含子串aba得{a,b}*上得字符串集合L就是L’得非。

根据正则集得性质,L也就是正则集。

4.对下列文法得生成式,找出其正则式(1)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aA S→BA→abS A→bBB→b B→cCC→D D→bBD→d(2)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aA S→BA→cC A→bBB→bB B→aC→D C→abBD→d答:(1) 由生成式得:S=aA+B ①A=abS+bB ②B=b+cC ③C=D ④D=d+bB ⑤③④⑤式化简消去CD,得到B=b+c(d+bB)即B=cbB+cd+b =>B=(cb)*(cd+b) ⑥将②⑥代入①S=aabS+ab(cb)*(cd+b)+(cb)*(cd+b) =>S=(aab)*(ab+ε)(cb)*(cd+b) (2) 由生成式得:S=aA+B ①A=bB+cC ②B=a+bB ③C=D+abB ④D=dB ⑤由③得 B=b*a ⑥将⑤⑥代入④ C=d+abb*a=d+ab+a ⑦将⑥⑦代入② A=b+a+c(d+b+a) ⑧将⑥⑧代入① S=a(b+a+c(d+ab+a))+b*a=ab+a+acd+acab+a+b*a5、为下列正则集,构造右线性文法:(1){a,b}*(2)以abb结尾得由a与b组成得所有字符串得集合(3)以b为首后跟若干个a得字符串得集合(4)含有两个相继a与两个相继b得由a与b组成得所有字符串集合答:(1)右线性文法G=({S},{a,b},P,S)P: S→aS S→bS S→ε(2) 右线性文法G=({S},{a,b},P,S)P: S→aS S→bS S→abb(3) 此正则集为{ba*}右线性文法G=({S,A},{a,b},P,S)P: S→bA A→aA A→ε(4) 此正则集为{{a,b}*aa{a,b}*bb{a,b}*, {a,b}*bb{a,b}*aa{a,b}*}右线性文法G=({S,A,B,C},{a,b},P,S)P: S→aS/bS/aaA/bbBA→aA/bA/bbCB→aB/bB/aaCC→aC/bC/ε7、设正则集为a(b a)*(1)构造右线性文法(2)找出(1)中文法得有限自b动机答:(1)右线性文法G=({S,A},{a,b},P,S)P: S→aA A→bS A→ε(2)自动机如下:)9、对应图(a)(b)得状态转换图写出正则式。

形式语言与自动机理论-蒋宗礼-第四章参考答案

形式语言与自动机理论-蒋宗礼-第四章参考答案

1.写出表示下列语言的正则表达式。

(吴贤珺02282047)⑴{0, 1}*。

解:所求正则表达式为:(0+1)*。

⑵{0, 1}+。

解:所求正则表达式为:(0+1)+。

⑶{ x│x∈{0,1}+ 且x中不含形如00的子串 }。

解:根据第三章构造的FA,可得所求正则表达式为:1*(01+)*(01+0+1)。

⑷{ x│x∈{0,1}*且x中不含形如00的子串 }。

解:根据上题的结果,可得所求正则表达式为:ε+1*(01+)*(01+0+1)。

⑸{ x│x∈{0,1}+ 且x中含形如10110的子串 }。

解:所求正则表达式为:(0+1)*10110(0+1)*。

⑹ { x│x∈{0,1}+ 且x中不含形如10110的子串 }。

解:根据第三章的习题,接受x的FA为:要求该FA对应的正则表达式,分别以q0、q1、q2、q3、q4为终结状态考虑:q为终态时的正则表达式:(0*(11*0(10)*(ε+111*11*0(10)*)0)*)*q为终态时的正则表达式:0*1(1*(0(10)*111*1)*(0(10)*00*1)*)*1q为终态时的正则表达式:0*11*0((10)*(111*11*0)*(00*11*0)*)*2q为终态时的正则表达式:0*11*0(10)*1(11*11*0((10)*(00*11*0)*)*1)*3q为终态时的正则表达式:0*11*0(10)*11(1*(11*0((00*11*0)*(10)*)*11)*)*4将以上5个正则表达式用“+”号相连,就得到所要求的正则表达式。

⑺ { x│x∈{0,1}+ 且当把x看成二进制数时,x模5与3同余和x为0时,│x│=1且x≠0时,x的首字符为1}。

解:先画出状态转移图,设置5个状态q0、q1、q2、q3、q4,分别表示除5的余数是0、1、2、3、4的情形。

另外,设置一个开始状态q.由于要求x模5和3同余,而3模5余3,故只有q3可以作为终态。

形式语言与自动机理论试题

形式语言与自动机理论试题

形式语言与自动机理论试题一、按要求完成下列填空1.给出集合{Φ,{Φ}}和集合{ε,0,00}的幂集 (2x4')(1) {Φ,{Φ},{{Φ}},{Φ,{Φ}}}(2) {Φ,{ε},{0},{00},{ε,0},{ε,00},{0,00},{ε,0,00}}2.设∑={0,1},请给出∑上的下列语言的文法 (2x5')(1)所有包含子串01011的串 S →X01011YX →ε|0X|1X Y →ε|0Y|1Y(2)所有既没有一对连续的0.也没有一对连续的1的串 A →ε|A ’|A ”A’ →0|01|01A ’ A ” →1|10|10A ”3.构造识别下列语言的DFA 2x6'(1) {x|x ∈{0.1}+且x 以0开头以1结尾}(设置陷阱状态.当第一个字符为1时.进入陷阱状态)1S110,10(2) {x|x ∈{0.1}+且x 的第十个字符为1}(设置一个陷阱状态.一旦发现x 的第十个字符为0.进入陷阱状态)1S0,10,10,10,10,110,0,10,10,10,10,1二、判断(正确的写T.错误的写F ) 5x2'1.设1R 和2R 是集合{a,b,c,d,e}上的二元关系.则3231321)(R R R R R R R ⊆( T )任取(x.,y),其中x,y },,,,{e d c b a ∈.使得321)(),(R R R y x ∈。

)),(),((321R y z R R z x z ∈∧∈∃⇒ },,,,{e d c b a z ∈ )),(),(),((321R y z R z x R z x z ∈∧∈∧∈∃⇒)),(),(()),(),((3231R y z R z x z R y z R z x z ∈∧∈∃∧∈∧∈∃⇒ 3231),(),(R R y x R R y x ∈∧∈⇒ 3231),(R R R R y x ∈⇒2.对于任一非空集合A.Φ⊆A2 ( T ) 3.文法G :S A|AS A a|b|c|d|e|f|g 是RG ( F )4.3型语言2型语言1型语言0型语言 ( T )5.s (rs+s )*r=rr *s (rr *s )* ( F )不成立.假设r,s 分别是表示语言R.S 的正则表达式.例如当R={0}.S={1},L(s(rs+s)*r)是以1开头的字符串.而L(rr*s(rr*s)*)是以0开头的字符串.L(s(rs+s)*r) ≠ L(rr*s(rr*s)*)所以s(rs+s)*r ≠ rr*s(rr*s)*,结论不成立三、设文法G 的产生式集如下.试给出句子aaabbbccc 的至少两个不同的推导(12分)。

形式语言与自动机理论-蒋宗礼-参考答案

形式语言与自动机理论-蒋宗礼-参考答案

ij求索-百度文库2.1回答下面的问题:(周期律02282067)(1)在文法中,终极符号和非终极符号各起什么作用?/终结符号是一个文法所产生的语言中句子的中出现的字符,他决上了一个文法的产生语言中字符的范围。

/ 非终结符号又叫做一个语法变量,它表示一个语法范畴,文法中每一个产生式的左部至少要还有一个非终结符号,(二,三型文法要求更严,只允许左部为一个非终结符号)他是推导或归约的核心。

(2)文法的语法范畴有什么意义?开始符号所对应的语法范畴有什么特殊意义?/ 文法的非终结符号A所对应的语法范畴代表着一个集合L (A),此集合由文法产生式中关于A的产生式推导实现的/ 开始符号所对应的语法范畴则为文法G = (V, T, P, S}所产生的语言L (G)*={ vvl w e 厂且S =► w }(3)在文法中,除了的变量可以对应一个终极符号行的集合外,按照类似的对应方法,一个字符串也可以对应一个终极符号行集合,这个集合表达什么意义?/字符串对应的终极符号行集合表示这个字符串所能推导到的终极字符串集合,为某个句型的语言。

(4)文法中的归约和推导有什么不同?/ 推导:文法G = {V, T, P, S},如果则称gd在G中推导岀了汐5。

/ 归约:文法G={V, T, P, S},如果则称汐5在G中归约到*7》。

/ 这他们的左义,我个人理解两个槪念从不同角度看待文法中的产生式,推导是自上而下(从产生式的左边到右边),而归约是自下而上(从产生式的右边到左边),体现到具体实际中,如编译中语法分析时语法树的建立,递归下降,LL (1)等分析法采用自开始符号向下推导识別输入代码生成语法树,对应的LR (1), LALR等分析法则是采用自输入代码(相当于文法中语言的句子)自底向上归约到开始符号建立语法树,各有优劣。

(5)为什么要求左义语言的字母表上的语言为一个非空有穷集合?/ 菲空:根据字母表幕的立义:工°={£},£为字母表中0个字符组成的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

形式语言与自动机理论试题答案解析
一、按要求完成下列填空
1.给出集合{Φ,{Φ}}和集合{ε,0,00}的幂集(2x4')
(1) {Φ,{Φ},{{Φ}},{Φ,{Φ}}}
(2) {Φ,{ε},{0},{00},{ε,0},{ε,00},{0,00},{ε,0,00}}
2.设∑={0,1},请给出∑上的下列语言的文法(2x5')
(1)所有包含子串01011的串
S→X01011Y
X→ε|0X|1X
Y→ε|0Y|1Y
(2)所有既没有一对连续的0,也没有一对连续的1的串
A→ε|A’|A”
A’→0|01|01A’
A”→1|10|10A”
3.构造识别下列语言的DFA 2x6'
(1) {x|x∈{0,1}+且x以0开头以1结尾}
(设置陷阱状态,当第一个字符为1时,进入陷阱状态)
(2) {x|x∈{0,1}+且x的第十个字符为1}
(设置一个陷阱状态,一旦发现x的第十个字符为0,进入陷阱状态)
二、判断(正确的写T ,错误的写F ) 5x2'
1.设1R 和2R 是集合{a,b,c,d,e}上的二元关系,则
3231321)(R R R R R R R ⊆ ( T )
任取(x.,y),其中x,y },,,,{e d c b a ∈,使得321)(),(R R R y x ∈。

)),(),((321R y z R R z x z ∈∧∈∃⇒ },,,,{e d c b a z ∈ )),(),(),((321R y z R z x R z x z ∈∧∈∧∈∃⇒
)),(),(()),(),((3231R y z R z x z R y z R z x z ∈∧∈∃∧∈∧∈∃⇒ 3231),(),(R R y x R R y x ∈∧∈⇒ 3231),(R R R R y x ∈⇒
2.对于任一非空集合A ,Φ⊆A
2 ( T ) 3.文法G :S A|AS A a|b|c|d|e|f|g 是RG ( F ) 4.3型语言
2型语言
1型语言
0型语言 ( F )
5.s (rs+s )*r=rr *s (rr *s )* ( F )
不成立,假设r,s 分别是表示语言R ,S 的正则表达式,例如当R={0},S={1}, L(s(rs+s)*r)是以1开头的字符串,而L(rr*s(rr*s)*)是以0开头的字符串.L(s(rs+s)*r) ≠ L(rr*s(rr*s)*) 所以s(rs+s)*r ≠ rr*s(rr*s)*,结论不成立
三、设文法G 的产生式集如下,试给出句子aaabbbccc 的至少两个不同的推导(12分)。

aSBC
aBC S |→
ab aB bB →bb CB →BC bC →bc cC →cc
推导一:
S=>aSBC
=>aaSBCBC =>aaaBCBCBC =>aaabCBCBC =>aaabBCCBC =>aaabbCCBC =>aaabbCBCC =>aaabbBCCC =>aaabbbCCC =>aaabbbcCC =>aaabbbccC =>aaabbbccc
推导二:
S=>aSBC
=>aaSBCBC =>aaaBCBCBC
=>aaaBBCCBC =>aaaBBCBCC
=>aaabBCBCC
=>aaabbCBCC
=>aaabbBCCC =>aaabbbCCC =>aaabbbcCC
=>aaabbbccC =>aaabbbccc
四、判断语言{n n n 010|n>=1}是否为RL ,如果是,请构造出它的有穷描述(FA,RG 或者RL );如果不是,请证明你的结论(12分)
解:设L={n n n 010|n>=1}。

假设L 是RL ,则它满足泵引理。

不妨设N 是泵引理所指的仅依赖于 L 的正整数,取Z=N N N 010 显然,Z ∈L 。

按照泵引理所述,必存在u ,v ,w 。

由于|uv|<=N,并且|v|>=1,所以v 只可能是由0组成的非空串。

不妨设v=k 0,k>=1 此时有u=j k N --0 ,w=N N j 010 从而有uv i w=N N j i k j k N 010)0(0-- 当i=2时,有uv 2w=N N k N 010+ 又因为k>=1,
所以 N+k>N 这就是说N N k N 010+不属于L , 这与泵引理矛盾。

所以,L 不是RL 。

五、构造等价于下图所示DFA 的正则表达式。

(12分)
答案(之一):(
01+(1+00)((1+00*1)0)*((1+00*1)1)
)*
(ε+(1+00)((1+00*1)0)*00*)
3
Y
S
30
去掉q 3:
去掉q 1
去掉q 2:
Y
Y
01+(1+00)((1+00*1)0)*((1+00*1)1)
去掉q 0:
六、设M=({210,,q q q },{0,1},{0,1,B},{δ},0q ,B,{2q }),其中δ的定义如下:
δ(0q ,0)=(0q ,0,R ) δ(0q ,1)=(1q ,1,R ) δ(1q ,0)=(1q ,0,R ) δ(1q ,B )=(2q ,B ,R )
请根据此定义,给出M 处理字符串00001000,10000的过程中ID 的变化。

(10分)
解:处理输入串00001000的过程中经历的ID 变化序列如下:
0q 00001000
00q 0001000
000q 001000
0000q 01000
00000q 10000
000011q 0000 0000101q 00
00001001q 0
000010001q
00001000B 2q
处理输入串10000的过程中经历的ID 变化序列如下:
0q 10000
11q 00000 101q 000 1001q 00 10001q 0 100001q
10000B 2q
X
Y
(01+(1+00)((1+00*1)0)*((1+00*1)1))* ( +(1+00)((1+00*1)0)*00*)
七、根据给定的NFA,构造与之等价的DFA。

(14分)NFA M的状态转移函数如下表
解答:。

相关文档
最新文档