形式语言与自动机王柏杨娟编著课后习题答案.docx

上传人:b****8 文档编号:11443308 上传时间:2023-03-01 格式:DOCX 页数:23 大小:81.14KB
下载 相关 举报
形式语言与自动机王柏杨娟编著课后习题答案.docx_第1页
第1页 / 共23页
形式语言与自动机王柏杨娟编著课后习题答案.docx_第2页
第2页 / 共23页
形式语言与自动机王柏杨娟编著课后习题答案.docx_第3页
第3页 / 共23页
形式语言与自动机王柏杨娟编著课后习题答案.docx_第4页
第4页 / 共23页
形式语言与自动机王柏杨娟编著课后习题答案.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

形式语言与自动机王柏杨娟编著课后习题答案.docx

《形式语言与自动机王柏杨娟编著课后习题答案.docx》由会员分享,可在线阅读,更多相关《形式语言与自动机王柏杨娟编著课后习题答案.docx(23页珍藏版)》请在冰豆网上搜索。

形式语言与自动机王柏杨娟编著课后习题答案.docx

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

形式语言与自动机课后习题答案

第二章

4.找出右线性文法,能构成长度为1至5个字符11以字母为首的字符串。

答:

G={NXPZS}

其中N二{SABCD}T二{x,y}其中x曰所有字母}丫曰所有的字符}P如下:

S—xS—xAA—yA-*yB

B~yB—yCC—yC—yDD—y

6.构造上下文无关文法能够产生

L={3/3W{a,b}*且3中a的个数是b的两倍}

答:

G={N,T,P,S}

其中N珂S}T={a,b}P如下:

S-*aabS-*abaS-*baa

S-*aabSS-*aaSbS—aSabS—Saab

S-^abaSS-*abSaS—aSbaS—Saba

S-*baaSS-*baSaS—bSaaS—Sbaa

7.找出由下列各组生成式产生的语言(起始符为S)

(1)S-SaSS-b

(2)S-*aSbS—c

⑶/

(4)S—aS—aEE—aS

答:

(1)b(ab)n/n^O}或者L={(ba)nb/n>0}

(2)L={ancbn/n>0}

(3)L={a2n+1/n^0}

第三章

1.下列集合是否为正则集,若是正则集写出其正则式。

(1)含有偶数个a和奇数个b的{a,b}*上的字符串集合

(2)含有相同个数a和b的字符串集合

(3)<

■4.不含子串aba的{a,b}*上的字符串集合

答:

(1)是正则集,口动机如下

⑵不是正则集,用泵浦引理可以证明,具体见17题

(2)。

⑶是正则集

先看『为包含子串aba的{a,b}*上的字符串集合

显然这是正则集,可以写出表达式和画出自动机。

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

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

4.对下列文法的生成式,找出其正则式

(1)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:

S~aAS—B

A-abSA~bB

B-bB-cC

C-DD-bB

D-d

(2)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:

S~aAS—B

A-cCA-bB

B~bBB—a

C-DC-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=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

5.为下列正则集,构造右线性文法:

⑴{a,b}*

(2)以abb结尾的由a和b组成的所有字符串的集合

(3)以b为首后跟若干个a的字符串的集合

⑸含有两个相继a和两个相继b的由a和b组成的所有字符串集合

答:

(1)右线性文法G=({S},{a,b},P,S)

P:

S~aSS-bSS-£

(2)右线性文法G=(⑸,{a,b},P,S)

P:

S-*aSS-*bSS—abb

(3)此正则集为{ba*}

右线性文法G=({S,A},{a,b},P,S)

P:

S—bAA—aAA—£

(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

BfaB/bB/aaC

C-aC/bC/e

7.设正则集为a(ba)*

(1)构造右线性文法

(2){

O)找出

(1)中文法的有限口b动机

答:

(1)右线性文法G=({S,A},{a,b},P,S)

P:

S~aAA~bSA—£

(2)口动机如下:

9•对应图(a)(b)的状态转换图写出正则式。

(图略)

(1)由图可知qo二aqo+bqi+a+£

qi=aq2+bqiqo=aqo+bqi+a

=>qi=abqi+bqi+aaq0+aa

=(b+ab)qx+aaqo+aa

=(b+ab)*(aaqo+aa)

=>qo=aq0+b(b+ab)*(aaq0+aa)+a+£

=qo(a+b(b+ab)*aa)+b(b+ab)*aa+a+£

=(a+b(b+ab)*aa)*((b+ab)*aa+a+£)

=(a+b(b+ab)*aa)*

(4)q0=aq1+bq2+a+b

qi=aqo+bq2+b

qo=aqi+bqo+a

=>q1=aq0+baq1+bbq0+ba+b

=(ba)*(aq0+bbq0+ba+b)

=>q2=aaqo+abq2+bqo+ab+a

=(ab)*(aaq0+bq0+ab+a)

=>q0=a(ba)*(a+bb)q0+a(ba)*(ba+b)+b(ab)*(aa+b)q0+b(ab)*(ab+a)+a+b=[a(ba)*(a+bb)+b(ab)*(aa+b)]*(a(ba)*(ba+b)+b(ab)*(ab+a)+a+b)

10•设字母表T={a,b}z找岀接受下列语言的DFA:

(1)含有3个连续b的所有字符串集合

(2)以aa为首的所有字符串集合

(3)以aa结尾的所有字符串集合

答:

(1)M=({q0/qio.qojqj}),其中°如下:

a

b

q。

qo

qi

qi

qo

q2

q2

q。

q3

Qb

(2)M=({q0/qiq2JJa.b},o皿你}),其中。

如下:

a

b

qo

q:

G

qi

C〔2

G

Qz

qz

(3)M=({q0,qiq2}z{a,b},。

皿件}),其中。

如下:

a

b

qo

q:

qo

Qi

C12

q。

q2

C[2

q。

14构造DFAIVk等价于NFAM,NFAM如下:

(1)M=({q0/qiq^qsLfa^},o亦©}),其中。

如下:

0(q0,a)={q0/qi}。

(q0/b)={q0}

0(qi,a)={q2}o(qi/b)={q2}

o(q2,a)={q3}o(q2/b)=e

0(q3,a)={q3}o(q3/b)={q3}

(2)M=({qoqq"*屜b},o,qo,{qie}),其中。

如下:

o(q0,a)={qlzq2}o(q°,b)二{q」

o(qba)={q2}o(qlzb)={qizq2}

0(q2,a)={q3}o(q2,b)={q。

}

0(Q3,a)=ea(q3/b)={q。

}

答:

(1)DFA{a”b},o.(Qo]/{[qo/Qi/Q3]>[qo/h/b],[Qo;口丄心心]}

其中Ch^[qojzlqozqi],[qo,qi,q2L[qo^qaLtqo,q»qo^i,qj」qo,q2,qJ」qo’qs]}S满足

a

b

[qo]

(qo,qj

[Qo]

e

[qo,qi]

[Qo/Qi/Qz]

[qo,q2]

[qo,qi,q2]

[qo,qi,^2,^3]

[qo.qz]

[qo,q2]

[Qo,qi/Q3)

[qo]

[Qo/AdQ2/Q3]

[qo,qi,^2,^3]

[Q0/Q2/Q3]

[Qo,qi/Q3)

[qo,qi,^2,^3]

[q%”Q3]

[Qo,q2/Q3)

[Qo,qi/Q3)

[Qo.qJ

[qo,q3]

[Qo,qi/Q3)

[qo,qj]

(2)DFAM讦{CL{a,b},oD[q(J,{[q[q»q血诃“亠环心]}其中Qi二{[qo]」qi,q儿[qj/q』」qoqeHqsqJ/qd[qi.q^qjjq^qj}

S满足

a

b

[qo]

(qi/Qs]

[q』

[qg]

[Qj

[qo,q「q2]

g]

[Qj

[qg]

[q2]

[qj

[qo]

<

[qo,qi,q21

[Q1/Q2/Q3]

[Qo/Qi/Qz]

[qg]

[qg]

[qo,q「q2]

[qsl

e

[qo]

[qi,q2,q3)

[qm』

[qo,q「q2】

[qg]

[qj

[qol

15.15•对下面矩阵表示的e-NFA

£

a

1

b

c

p(起始状态)

{p}

{q}

{r}

q

{p}

{q}

1

{r}

r(终止状态)

{q}

{r}

4)

{p}

⑴给出该口动机接收的所有长度为3的串

(2)将此£-NFA转换为没有£的NFA

答:

(1)可被接受的的串共23个,分别为aac,abc,acc,bac,bbc,bcc,caczcbc,ccc,caa,cabzcba,ebb,cca,ccb,bba,aca,acbzbca,beb,bab,bbb,abb

(2)£-NFA:

M=({p,q,r},{a,b,c},o,p,ij其中。

如表格所示。

因为e-closure(p)=e

则设不含£的NFAIVk=({p,q,r},{a,b,c},oi,p,r)

0i(p,a)=°/(P,a)=£-closure(o(o[p,z),a))二{p}

oi(p,b)=o'(p’b)二£-closure(o(a,(p,e),b))二{p,q}

0i(p,c)=o/(p/c)=£-closure(a(o'(p,£),c))={pzq,r}

oi(q,a)=o/(q,a)=£-closure(o(o[q,£),a))={p,q}

0i(q,b)=o/(q,b)=e-closure(0(o,(q,£Lb))={p,q,r}

0i(q,c)=o/(q/c)=e-closure(0(oz(q,£),c))={p,qj}

oi(r,a)=o/(r/a)=e-closure(o(o#(rze),a))={p,q』}

¥

o!

(r,b)=Ohb)二£-closurefo(o"£),b))={pqr}

0i(r,c)=o'(r,c)二£-closure(o(a«e)/c))={p,q/r}

图示如下:

(r为终止状态)

abc

16.设NFAM=({q0/qi}/{a,b}/o,q0/{qi}),其中0如下:

0(qo,a)={qo,qi}°(q°,b)二{qj

°(q»a)=①0(q」)={q0/qj

构造相应的DFAM】,并进行化简

答:

构造一个相应的DFAMi={Qi,{a,b},oi,[q°],{[q[,[qo,qi]}其中Qi={[Qo]>[qj»[Qo/Qi]}

5满足

a

b

[qo]

(Qo,qi]

$

[qd

[qJ

[qo,qj

[qo,qi]

(qo,qj

[qo,qi]

由于该DFA己是最简,故不用化简

17.使用泵浦引理,证明下列集合不是正则集:

(1)<

⑴由文法G的生成式S-aSbS/c产生的语言L(G)

(3){3/3W{a,b}*且3有相同个数的a和b}

(4){akca7k^l}

(5){33/3W{a,b}*}

证明:

(1)在L(G)中,a的个数与b的个数相等假设L(G)是正则集,对于足够大的k取3"伽比

GJ=3]G)qCi)2

因为|3。

|>0|3丄3。

|Wk存在3。

使G)1G)oiG)2eL

所以对于任意3。

只能取3o=annG(0,k)

则3132=ak"n(an)'(cb)kc在i不等于0时不属]'L

A

与假设矛盾。

则L(G)不是正则集

(2)假设该集合是正则集,对于足够大的k取3=a5k

令3=G>i3o32

因为|3。

|>0|3丄3。

|Wk存在%使(UWoigWL

所以对于任意3。

只能取o0=annG(O,k)

则G)1woiQ2=ak"n(an)ibk在i不等于0时a与b的个数不同,不属于该集合与假设矛盾。

则该集合不是正则集

(3)假设该集合是正则集,对于足够大的k取3=aSak

令3=3i3°32

【人I为|3°|>0|3丄3°|Wk存在3°使3丄3*32GL

A

所以对于任意3。

只能取30=annG(O,k)

则G)1G)0,G)2=ak-n(anjicak在j不等于0时C前后a的个数不同,不属于该集合与假设矛盾。

则该集合不是正则集

(4)假设该集合是正则集,对于足够大的k取0G)=aWb

令3Ci)=G)1a)0(i>2

因为I3。

|>0I3丄3。

|Wk存在3。

使(UWoigWL

所以对于任意3。

只能取o0=annG(O,k)

则w1G)oi

与假设矛盾。

则该集合不是正则集

18•构造米兰机和摩尔机

对T{a,b}*的字符串,如果输入以bab结尾,则输出1;如果输入以bba结尾,则输出2;否则输出3。

答:

米兰机:

说明状态qaa表示到这个状态时,输入的字符串是以aa结尾。

其他同理。

b/3

摩尔机,状态说明同米兰机。

第四章

10.把下列文法变换为无£生成式、无单生成式和没有无用符号的等价文法:

S-*A1IA2,Al—A31A4,A2-*A4IAs,A3-*S|b|£,A4-*S|a.As—S|d|£解:

⑴由算法3,变换为无£生成式:

N'={S,A1,A2,A3,A4,A5}

Gx=({SDSZA】AAAA},{a,b,d},P-SJ,其中生成式P】如下:

Gi=({S4A,B},{a,b},P-SJ,其中生成式P.如下:

Si-e|ASB|AB,

S-ASB|AB,

A—aAS|aA|a,

B-SBS|SB|BS|aAS|aA|a|bb,

⑶由算法1和算法2,消除无用符号(此题没有无用符号);

⑷转化为等价的Chomsky范式的文法:

将SI-ASB变换为S~AC,C-SB,

将S-ASB变换为S-AC,

将A-aAS|aA变换为A-ED|EA,D-AS,E-a,

将B-SBS|aAS|aA|a|bbz变换为B-CS|ED|EA|FF,F-b,⑸由此得出符合题目要求的等价文法:

Gi=({SDS,A,B,C,D},{a,b},Pj,S’),其中生成式P】如下:

S1-eIACIABz

S-AC|AB,

A-ED|EA|az

B-CS|SB|BS|ED|EA|a|FF,

C-SB,

D-AS,

E—a”

15.将下列文法变换为等价的Greibach范式文法:

(1)S-DD|a,D-SS|b

解:

将非终结符排序为S,D,S为低位,D为高位,

(1)对于D-SS,用S-DD|a代入得D-DDS|aS|b,用引理变化为D-aS|b|aSD1|bD1zD?

-DS|DSD\

(2)将D生成式代入S生成式得S-aSD|bD|aSD'D|bD0|a,

(3)将D生成式代入D,生成式得

D‘-aSS|bS|aSD*S|bD*S|aSSD1|bSD*|aSD'SD1|bD*SD1z(

⑷由此得出等价的Greibach范式文法:

Gi=({S,D,D,},{a,b},Pj,S),其中生成式Pi如下:

SfaSDIbDIaSD'D|bD'D|a,

D-aS|b|aSD1|bD\

D‘-aSS|bS|aSD*S|bD'S|aSSD1|bSD*|aSD'SD*|bD*SD*・

(2)Ai〜Asb|A2a,A2—A^b|A2A2a|b,A3-^Aia|A3A3b|a解:

⑴转化为等价的Chomsky范式的文法:

AiA3A4IA2A5,

A2〜A2A4IA2A6Ib,

A3fA1A5IA3A7Ia,

A4—b,

A5—a,

%fA2A5/

A?

fR皿.

⑵转化为等价的Greibach范式的文法:

将非终结符排序为Ai,A2/A3/A4,A5,Ai为低位As为高位,

1对于A2-*AiA4,用Ai-A3A4IA2A5代入得A2-A3A4A4IA2A5A4IA2A6Ib.用引理变化为

AzfA3A4A41bIA3A4A4AJ1bA2zz

A/-A5A4A2'IAgAJIA5A4IA6/

2对于As-AiA5/用Ai-A3A4IA2A5代入得A3-A3A4A5IA2A5A5IA3A7Ia.a3生成式右边第一个字符仍是较低位的非终结符,将a2生成式代入a3生成式得

AmfA3A4AsIA3A4A4A5A5IbA5A5IA3A4A4A2'A5A5IbA2?

AsA5|A3A7|a,用引理变化为

Am〜bA5A5IbA2”A5A5IaIbA5A5A3"|bA2‘A5A5A3'|,

A/〜A4A5IA4A4A5A5IAaMA:

A5A5IA7IAaAsA,IA4A4A5A5A3'I人4£人2虫5人5人3‘I

3对于As〜A2A5,将A2生成式代入As生成式得

A6-A3A4A4A5IbA5IAsAaA^A/As|bAfAs,

A6生成式右边第一个字符仍是较低位的非终结符,将A3生成式代入A6生成式得

人6»bAsAsAaA^AsIbA?

A5A5A4A4A5|aA4A4A5|bAjAjAjA4A4A5jbA?

A5A5A3A4A4A5IaA3A4A4A5IbAsAsAdZKsjA?

A5|bA?

A5A5A4A4A2A5|aAaAaA?

A5|bAsAsA3,A4A4A2,A5|bA2,AsA5A3/A4A4A2,As||bA2”As|bAs,

4对于A?

-A3A4,将A3生成式代入A7生成式得

A7bA5A5A4IbAz'AsAsAa|aA4|bAsAsA/Aa|bAz^AsAsAs^a|aA3?

A4,

5将A〉A&生成式代入A/生成式得

K2〜I匕人5人5阳人亦5人2‘|bd:

A44444;\3虹4山5皿|

匕人5人5人3‘人山山5人2"IbAz'AsAsAs'AdAdAsAz"I8人3‘人4人4人5人2"I匕人5人5人4人小2"人5^2|

bA2/A5A5A4A4A2/A5A2,|3\bAsAsA/AaAaAfA5A2'|

匕人2"人5人5人3虫亦亦2虫5人2"|aA/A4A4A2'A5A2'|匕人2虫5人2‘|bA5A2"|adj|bA5A5A4A4A5IbA?

A5A5A4A4A5IaA4A4A5IbAsAsAsA4A4A5|bA?

A5A5A3A4A4A5|aA3,A4A4A5IbAsAsA^Az^s|bA2/A5A5A4A4A2/A5|aAa/WVAs|bA5A5A3,A4A4A2/A5|匕人2虫5人5人3虫亦亦2虫5|aA*44^4;A5\bA2#AsIbAs/

将£,A7生成式代入A,生成式得

A3aaAsIaA^A^As|aA4A2A5A5|aAsAj|aA4A5A5A3|aA4A2A5A5A3|bA5A5A4|bAz^sAsAaIaA4IbAsAsAs^|bA2/A5A5A3/A4|aA^Ad|bAsAsA^A,|bA2/A5A5A4A3/IaA4A3"IbAsAsAs'AdA3"IbA2"AsAsA3"A4A3"|aASAaA,,

⑶由此得出等价的Greibach范式文法:

Gi=({S,D,D'},{a,b},Pj,S),其中生成式Pi如下:

AifA3A4IA2A5,

A2->A3A4A4IbIA3A4A4A2/IbA

A3bA5A5IbAz^sAsIa|bAsAsA3/|bA2/AsAsA3,|aA3*,

A4—b,

A5—a,

AefbAsAsAoAoAs|bA2?

AsAsA4A4As|qAaAaAs|bAsAsAs^AAoAs|匕人2‘人5人5人3虫山亦5|aA,氏aA山5|bAsAsAaAAAz^AsIbAz^sAsAdAaAz^As|As\

bA5A5A3/A4A4A2,A5|bAjAsAsA/AAAA|aA3/A4A4A2/A5|bA/A5|bA5/

A7"*bA5A5A4IbA/AsAsAaIaAa|bAsAsAs'Aa|bA2*AsAsA3fA4|aA3/A4/

Af-a;IbAsAs/UU^Aj|3/4443\aA4A4A5A2/|

bA5A5A3/A4A4A5A2/|IaA3/A4A4A5A2/|泳444皿足A/|

bA2/AsAsA4A4A2,A5A2,|aA4A4A2?

AsA2?

|bAsA5A3/A4A4A2,AsA2/|

匕人“皿工皿“九IaA3/A4A4A2,A5A2/|bA/AsA/|bA5A2#|aA4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1