自动机理论语言和计算导论课后复习题答案中文版.docx

上传人:b****5 文档编号:28452951 上传时间:2023-07-13 格式:DOCX 页数:83 大小:91.40KB
下载 相关 举报
自动机理论语言和计算导论课后复习题答案中文版.docx_第1页
第1页 / 共83页
自动机理论语言和计算导论课后复习题答案中文版.docx_第2页
第2页 / 共83页
自动机理论语言和计算导论课后复习题答案中文版.docx_第3页
第3页 / 共83页
自动机理论语言和计算导论课后复习题答案中文版.docx_第4页
第4页 / 共83页
自动机理论语言和计算导论课后复习题答案中文版.docx_第5页
第5页 / 共83页
点击查看更多>>
下载资源
资源描述

自动机理论语言和计算导论课后复习题答案中文版.docx

《自动机理论语言和计算导论课后复习题答案中文版.docx》由会员分享,可在线阅读,更多相关《自动机理论语言和计算导论课后复习题答案中文版.docx(83页珍藏版)》请在冰豆网上搜索。

自动机理论语言和计算导论课后复习题答案中文版.docx

自动机理论语言和计算导论课后复习题答案中文版

SolutionsforSection2.2

Exercise2.2.1(a)

Statescorrespondtotheeightcombinationsofswitchpositions,andalsomustindicatewhetherthepreviousrollcameoutatD,i.e.,whetherthepreviousinputwasaccepted.Let0representapositiontotheleft(asinthediagram)and1apositiontotheright.Eachstatecanberepresentedbyasequenceofthree0'sor1's,representingthedirectionsofthethreeswitches,inorderfromlefttoright.Wefollowthesethreebitsbyeitheraindicatingitisanacceptingstateorr,indicatingrejection.Ofthe16possiblestates,itturnsoutthatonly13areaccessiblefromtheinitialstate,000r.Hereisthetransitiontable:

杠杆可能出现8种情况,影响着最终状态。

并且也要说明,前面一个石球是否从D滚出,也就是说,前一个输入是否被接受。

令0代表向左方的状态(如图表),1代表向右方。

这三个杠杆的每一个状态都可以用三个数(0或1)组成的序列表示。

这个序列后面跟着字母a或者r。

a代表接受状态,r代表拒绝状态。

16种可能的状态中,只有13种是从初始状态000r可达的。

下面它的有穷自动机的转移表。

 

A

B

->000r

100r

011r

*000a

100r

011r

*001a

101r

000a

010r

110r

001a

*010a

110r

001a

011r

111r

010a

100r

010r

111r

*100a

010r

111r

101r

011r

100a

*101a

011r

100a

110r

000a

101a

*110a

000a

101a

111r

001a

110a

Exercise2.2.2

Thestatementtobeprovedisδ-hat(q,xy)=δ-hat(δ-hat(q,x),y),andweproceedbyinductiononthelengthofy.

证明:

通过对|y|进行归纳,来证明

(q,xy)=

(q,x),y),具体过程如下:

Basis:

Ify=ε,thenthestatementisδ-hat(q,x)=δ-hat(δ-hat(q,x),ε).Thisstatementfollowsfromthebasisinthedefinitionofδ-hat.Notethatinapplyingthisdefinition,wemusttreatδ-hat(q,x)asifitwerejustastate,sayp.Then,thestatementtobeprovedisp=δ-hat(p,ε),whichiseasytorecognizeasthebasisinthedefinitionofδ-hat.

基础:

=0,则y=ε。

那么需证

(q,x)=

(q,x),ε),记p=

(q,x),命题变为p=

(p,ε),由

的定义知这显然成立。

Induction:

Assumethestatementforstringsshorterthany,andbreaky=za,whereaisthelastsymbolofy.Thestepsconvertingδ-hat(δ-hat(q,x),y)toδ-hat(q,xy)aresummarizedinthefollowingtable:

归纳:

假设命题对于比y 短的串成立,且y=za,其中a是y的结尾符号。

(q,x),y)到

(q,xy)的变换总结在下表中:

Expression表达式

Reason原因

(q,x),y)

Start开始

(q,x),za)

y=zabyassumption由假设y=za

δ(

(q,x),z),a)

Definitionofδ-hat,treatingδ-hat(q,x)asastate

的定义,把

(q,x)看作是一个状态

δ(

(q,xz),a)

Inductivehypothesis归纳假设

(q,xza)

Definitionofδ-hat

的定义

(q,xy)

y=za

Exercise2.2.4(a)

TheintuitivemeaningsofstatesA,B,andCarethatthestringseensofarendsin0,1,oratleast2zeros.

状态A,B,C分别表示以1,0和00结尾的串的状态。

0

1

->A

B

A

B

C

A

*C

C

A

Exercise2.2.6(a)

Thetrickistorealizethatreadinganotherbiteithermultipliesthenumberseensofarby2(ifitisa0),ormultipliesby2andthenadds1(ifitisa1).Wedon'tneedtoremembertheentirenumberseen---justitsremainderwhendividedby5.Thatis,ifwehaveanynumberoftheform5a+b,wherebistheremainder,between0and4,then2(5a+b)=10a+2b.Since10aissurelydivisibleby5,theremainderof10a+2bisthesameastheremainderof2bwhendividedby5.Sinceb,is0,1,2,3,or4,wecantabulatetheanswerseasily.Thesameideaholdsifwewanttoconsiderwhathappensto5a+bifwemultiplyby2andadd1.

对于一个二进制整数,如果读入一个比特0,其值等于原数乘以2;否则等于原数乘以2再加以1。

而任意一个数均可写成形如5a+b,其中a任意,0<=b<=4,那么输入0,原数变为2(5a+b)=10a+2b,由于10a是5的倍数,,因此10a+2b除以5的余数与2b相同。

输入1,则得2(5a+b)+1类似。

因此对于所有的数只要记住它被5除的余数就可以。

由于b是0,1,2,3或者4,我们可以容易得到该DPA的转移表,具体如下:

Thetablebelowshowsthisautomaton.Stateqimeansthattheinputseensofarhasremainderiwhendividedby5.

其中状态qi代表输入串被5除的余数i的状态。

0

1

->*q0

q0

q1

q1

q2

q3

q2

q4

q0

q3

q1

q2

q4

q3

q4

Thereisasmallmatter,however,thatthisautomatonacceptsstringswithleading0's.Sincetheproblemcallsforacceptingonlythosestringsthatbeginwith1,weneedanadditionalstates,thestartstate,andanadditional``deadstate''d.If,instates,weseea1first,weactlikeq0;i.e.,wegotostateq1.However,ifthefirstinputis0,weshouldneveraccept,sowegotostated,whichweneverleave.Thecompleteautomatonis:

但是上述自动机仍接受以0开头的字符串。

因为题目要求只接受以1开头的串,可增加一个初始状态s和“死亡状态”d。

在状态初始状态s,若看到1,则转到状态q1;若看到0,则直接转到状态d,识别终止。

所求自动机如下:

0

1

->s

d

q1

*q0

q0

q1

q1

q2

q3

q2

q4

q0

q3

q1

q2

q4

q3

q4

d

d

d

Exercise2.2.9

Part(a)isaneasyinductiononthelengthofw,startingatlength1.

Basis:

|w|=1.Thenδ-hat(q0,w)=δ-hat(qf,w),becausewisasinglesymbol,andδ-hatagreeswithδonsinglesymbols.

Induction:

Letw=za,sotheinductivehypothesisappliestoz.Thenδ-hat(q0,w)=δ-hat(q0,za)=δ(δ-hat(q0,z),a)=δ(δ-hat(qf,z),a)[bytheinductivehypothesis]=δ-hat(qf,za)=δ-hat(qf,w).

证明:

a)通过对w长度的归纳证明。

基础:

若|w|=1,则w是一个符号,此时需证

(q0,w)=

(qf,w),而对于单个符号扩展转移函数

与转移函数δ的作用是一样的,得证。

归纳:

令w=za,假设对于z命题

(q0,z)=

(qf,z)成立。

那么

(q0,w)=

(q0,za)=δ(

(q0,z),a)=δ(

(qf,z),a)[由归纳假设]=

(qf,za)=

(qf,w).

Forpart(b),weknowthatδ-hat(q0,x)=qf.Sincexε,weknowbypart(a)thatδ-hat(qf,x)=qf.Itisthenasimpleinductiononktoshowthatδ-hat(q0,xk)=qf.

Basis:

Fork=1thestatementisgiven.

Induction:

Assumethestatementfork-1;i.e.,δ-hat(q0,xSUP>k-1)=qf.UsingExercise2.2.2,δ-hat(q0,xk)=δ-hat(δ-hat(q0,xk-1),x)=δ-hat(qf,x)[bytheinductivehypothesis]=qf[by(a)].

b)x是属于L(A)的非空串,也即串x被接收,因此

(q0,x)=qf,则由a)知

(qf,x)=

(q0,x)=qf。

现在通过对k的归纳来证明

(q0,xk)=qf。

基础:

k=1时,需证

(q0,x)=qf,由已知可得。

归纳:

假设对于k-1命题成立,也就是说,

(q0,xk-1)=qf。

由练习2.2.2,

(q0,xk)=

(q0,xk-1),x)=

(qf,x)[由归纳假设]=qf[由(a)]。

Exercise2.2.10

Theautomatontellswhetherthenumberof1'sseeniseven(stateA)orodd(stateB),acceptinginthelattercase.Itisaneasyinductionon|w|toshowthatdh(A,w)=Aifandonlyifwhasanevennumberof1's.

Basis:

|w|=0.Thenw,theemptystringsurelyhasanevennumberof1's,namelyzero1's,and

(A,w)=A.

Induction:

Assumethestatementforstringsshorterthanw.Thenw=za,whereaiseither0or1.

Case1:

a=0.Ifwhasanevennumberof1's,sodoesz.Bytheinductivehypothesis,

(A,z)=A.ThetransitionsoftheDFAtellus

(A,w)=A.Ifwhasanoddnumberof1's,thensodoesz.Bytheinductivehypothesis,δ-hat(A,z)=B,andthetransitionsoftheDFAtellusδ-hat(A,w)=B.Thus,inthiscase,δ-hat(A,w)=Aifandonlyifwhasanevennumberof1's.

Case2:

a=1.Ifwhasanevennumberof1's,thenzhasanoddnumberof1's.Bytheinductivehypothesis,δ-hat(A,z)=B.ThetransitionsoftheDFAtellusδ-hat(A,w)=A.Ifwhasanoddnumberof1's,thenzhasanevennumberof1's.Bytheinductivehypothesis,δ-hat(A,z)=A,andthetransitionsoftheDFAtellusδ-hat(A,w)=B.Thus,inthiscaseaswell,δ-hat(A,w)=Aifandonlyifwhasanevennumberof1's.

这个自动机表示,状态A表示偶数个1,状态B表示奇数个1,不管串有偶数个还是奇数个1,都会被接受。

当且仅当串w中有偶数个1时,

(A,w)=A.。

用归纳法证明如下

基础:

|w|=0。

空串当然有偶数个1,即0个1,且

(A,w)=A.

归纳:

假设对于比w短的串命题成立。

令w=za,其中a为0或1。

情形1:

a=0.如果w有偶数个1,则z有偶数个1。

由归纳假设,

(A,z)=A。

由转移表的DFA知

(A,w)=A.如果w有奇数个1,则z有奇数个1.由归纳假设,

(A,z)=B,由转移表的DFA知

(A,w)=B.因此这种情况下

(A,w)=A当且仅当w有偶数个1。

情形2:

a=1.如果w有偶数个1,则z有奇数个1。

由归纳假设,

(A,z)=B.由转移表的DFA知

(A,w)=A.如果w有奇数个1,则z有偶数个1。

由归纳假设,

(A,z)=A,由转移表的DFA知

(A,w)=B.因此这种情况下

(A,w)=A当且仅当w有偶数个1.

综合上述情形,命题得证。

SolutionsforSection2.3

Exercise2.3.1

HerearethesetsofNFAstatesrepresentedbyeachoftheDFAstatesAthroughH:

A={p};B={p,q};C={p,r};D={p,q,r};E={p,q,s};F={p,q,r,s};G={p,r,s};H={p,s}.

下表就是利用子集构造法将NFA转化成的DFA。

其中构造的子集有:

A={p};B={p,q};C={p,r};D={p,q,r};E={p,q,s};F={p,q,r,s};G={p,r,s};H={p,s}.

0

1

->A

B

A

B

D

C

C

E

A

D

F

C

*E

F

G

*F

F

G

*G

E

H

*H

E

H

Exercise2.3.4(a)

Theideaistouseastateqi,fori=0,1,...,9torepresenttheideathatwehaveseenaninputiandguessedthatthisistherepeateddigitattheend.Wealsohavestateqs,theinitialstate,andqf,thefinalstate.Westayinstateqsallthetime;itrepresentsnoguesshavingbeenmade.Thetransitiontable:

记状态qi为已经看到i并猜测i就是结尾将要重复的数字,i=0,1,...,9。

初始状态为qs,终止状态为qf。

我们可以一直停留在状态qs,表示尚未猜测。

转移表如下:

0

1

...

9

->qs

{qs,q0}

{qs,q1}

...

{qs,q9}

q0

{qf}

{q0}

...

{q0}

q1

{q1}

{qf}

...

{q1}

...

...

...

...

...

q9

{q9}

{q9}

...

{qf}

*qf

{}

{}

...

{}

SolutionsforSection2.4

Exercise2.4.1(a)

We'lluseq0asthestartstate.q1,q2,andq3willrecognizeabc;q4,q5,andq6willrecognizeabd,andq7throughq10willrecognizeaacd.Thetransitiontableis:

记q0为初始状态。

q1,q2和q3识别abc;q4,q5和q6识别abd,q7到q10识别aacd.转移表如下:

a

b

c

d

->q0

{q0,q1,q4,q7}

{q0}

{q0}

{q0}

q1

{}

{q2}

{}

{}

q2

{}

{}

{q3}

{}

*q3

{}

{}

{}

{}

q4

{}

{q5}

{}

{}

q5

{}

{}

{}

{q6}

*q6

{}

{}

{}

{}

q7

{q8}

{}

{}

{}

q8

{}

{}

{q9}

{}

q9

{}

{}

{}

{q10}

*q10

{}

{}

{}

{}

Exercise2.4.2(a)

Thesubsetconstructiongivesusthefollowingstates,eachrepresentingthesubsetoftheNFAstatesindicated:

A={q0};B={q0,q1,q4,q7};C={q0,q1,q4,q7,q8};D={q0,q2,q5};E={q0,q9};F={q0,q3};G={q0,q6};H={q0,q10}.NotethatF,GandHcanbecombinedintooneacceptingstate,orwecanusethesethreestatetosignaltherecognitionofabc,abd,andaacd,respectively.

由子集构造法可得以下DFA的状态,其中每一个状态都是NFA状态的子集:

A={q0};B={q0,q1,q4,q7};C={q0,q1,q4,q7,q8};D={q0,q2,q5};E={q0,q9};F={q0,q3};G={q0,q6};H={q0,q10}.注意到F,G和H可以整合到一个接受状态中,或者我们可以用这三个状态来分别标记已识别abc,abd和aacd。

a

b

c

d

->A

B

A

A

A

B

C

D

A

A

C

C

D

E

A

D

B

A

F

G

E

B

A

A

H

*F

B

A

A

A

*G

B

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

当前位置:首页 > PPT模板 > 其它模板

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

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