文档详情

【2017年整理】北京邮电大学自动机课后习题答案.doc

发布:2017-07-12约1.69万字共19页下载文档
文本预览下载声明
形式语言与自动机 第二章 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→yB B→y B→yC C→y C→yD D→y 6.构造上下文无关文法能够产生 L={ω/ω∈{a,b}*且ω中a的个数是b的两倍} 答:G={N,T,P,S} 其中N={S} T={a,b} P如下: S→aab S→aba S→baa S→aabS S→aaSb S→aSab S→Saab S→abaS S→abSa S→aSba S→Saba S→baaS S→baSa S→bSaa S→Sbaa 7.找出由下列各组生成式产生的语言(起始符为S) S→SaS S→b S→aSb S→c S→a S→aE E→aS 答:(1)b(ab)n /n≥0}或者L={(ba)nb /n≥0} (2) L={ancbn /n≥0} (3) L={a2n+1 /n≥0} 第三章 下列集合是否为正则集,若是正则集写出其正则式。 含有偶数个a和奇数个b的{a,b}*上的字符串集合 含有相同个数a和b的字符串集合 不含子串aba的{a,b}*上的字符串集合 答:(1)是正则集,自动机如下 a a b b b b a a (2) 不是正则集,用泵浦引理可以证明,具体见17题(2)。 (3) 是正则集 先看L’为包含子串aba的{a,b}*上的字符串集合 显然这是正则集,可以写出表达式和画出自动机。(略) 则不包含子串aba的{a,b}*上的字符串集合L是L’的非。 根据正则集的性质,L也是正则集。 4.对下列文法的生成式,找出其正则式 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 G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下: S→aA S→B A→cC A→bB B→bB B→a C→D C→abB D→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=d ⑤ 由③得 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 5.为下列正则集,构造右线性文法: (1){a,b}* (2)以abb结尾的由a和b组成的所有字符串的集合 (3)以b为首后跟若干个a的字符串的集合 含有两个相继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/bbB A→aA/bA/bbC B→aB/bB/aaC C→aC/bC/ε 7.设正则集为a(ba)* 构造右线性文法 找出(1)中文法的有限自动机 答:(1)右线性文法G=({S,A},{a,b},P,S) P: S→aA A→bS A→ε (2)自动机如下: a b (p2是终结状态) 9.对应图(a)(
显示全部
相似文档