形式语言与自动机理论参考答案.docx

上传人:b****7 文档编号:25004549 上传时间:2023-06-03 格式:DOCX 页数:43 大小:625.62KB
下载 相关 举报
形式语言与自动机理论参考答案.docx_第1页
第1页 / 共43页
形式语言与自动机理论参考答案.docx_第2页
第2页 / 共43页
形式语言与自动机理论参考答案.docx_第3页
第3页 / 共43页
形式语言与自动机理论参考答案.docx_第4页
第4页 / 共43页
形式语言与自动机理论参考答案.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

形式语言与自动机理论参考答案.docx

《形式语言与自动机理论参考答案.docx》由会员分享,可在线阅读,更多相关《形式语言与自动机理论参考答案.docx(43页珍藏版)》请在冰豆网上搜索。

形式语言与自动机理论参考答案.docx

形式语言与自动机理论参考答案

 

第三章作业答案

1.已知DFAM1与M2如图3-18所示。

(xxxx02282068)

(1)请分别给出它们在处理字符串1011001的过程中经过的状

态序列

(2)

请给出它们的形式描述。

图3-18两个不同的DFA

解答:

(1)M1在处理1011001的过程中经过的状态序列为

q0q3q1q3q2q3q1q3;

M2在处理101100啲过程中经过的状态序列为q0q2q3q1q3q2q3q1;

(2)考虑到用形式语言表示,用自然语言似乎不是那么容易,所以用图上作业法把它们用正则表达式来描述:

M1:

[01+(00+1)(11+0)][11+(10+0)(11+0)]*

M2:

(01+1+000){(01)*+[(001+11)(01+1+000)]*}

*******************************************************

************************

2.构造下列语言的DFA(XX02282085)

(1){0,1}*

(2){0,1}+

S——V0,1•0,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的子串}

 

(设置一个陷阱状态,一旦发现有00的子串,就进入陷阱状态)

 

(7){x|x{0,1}+且当把x看成二进制时,x模5和3同余,要求当

x为0时,|x|=1,且x0时,x的首字符为1}

1.以0开头的串不被接受,故设置陷阱状态,当DFA在启动状态读

入的符号为0,则进入陷阱状态

2.设置7个状态:

开始状态qs,qO:

除以5余0的等价类,q1:

除以

5余1的等价类,q2:

除以5余2的等价类,q3:

除以5余3的等价

类,q4:

除以5余4的等价类,接受状态qt

3.状态转移表为

状态

0

1

q0

q1

q2

q1

q3

q2

q2

q0

q4

q3

q1

q2

q4

q3

q4

(8){x|x{0,1}+且x的第十个字符为1}

(设置一个陷阱状态,一旦发现x的第十个字符为0,进入陷阱

状态)

(9){x|x{0,1}+且x以0开头以1结尾}

(设置陷阱状态,当第一个字符为1时,进入陷阱状态)

(10){x|x{0,1}+且xxx至少含有两个1}

(11){x|x{0,1}+且如果x以1结尾,则它的xx为偶数;如果x以

0结尾,则它的xx为奇数}

可将{0,1}+的字符串分为4个等价类。

q0:

[]的等价类,对应的状态为终止状态

q1:

x的xx为奇且以0结尾的等价类

q2:

x的xx为奇且以1结尾的等价类

q3:

x的xx为偶且以0结尾的等价类q4:

x的xx为偶且以1结尾的等价类

 

qi

q4

 

 

(12){x|x是十进制非负数}

 

(13)

 

(14)

 

*******************************************************

************************

0

={0,1}

Set(qO)={x|x*}

={0,1}

Set(q0)=

Set(q1)={x|x+}

(3)

={0,1}

Set(q0)=

Set(q1)={x|x+并且x中不含形如00的子串}

Set(q2)={x|x+并且x中不含形如00的子串}

 

={0,1}

Set(qO)={x|x*并且x中不含形如00的子串}

Set(q1)={x|x*并且x中不含形如00的子串}

(5)

1

={0,1}

Set(q0)={x|x*,并且x{0}*或者x中含形如100的子串}

Set(q1)={x|x*,并且x中含形如1的子串}

(6)

={0,1}

Set(q0)={}

Set(q1)={x|

x{0+}}

Set(q2)={x|

x*,并且xxx不含形如10110的子串而且xxx

含有1}

 

Set(q3)={x|

x*,并且xxx不含形如10110的子串而且xxx

含有1}

={0,1}

Set(qs)二{}

Set(qe)二{0}

Set(q1)={x|

1x+,

并且把

x看成二进制数时,

x%5=1}

Set(q2)={x|

1x+,

并且把

x看成二进制数时,

X%5=2}

Set(q3)={x|

1x+,

并且把

x看成二进制数时,

x%5=3}

Set(q4)={x|

1x+,

并且把

x看成二进制数时,

x%5=4}

Set(q0)={x|

1x+,

并且把

x看成二进制数时,

x%5=0并且x

不为0}

(8)

M={Q,,,q0,F}

Q={q0,q1,q2,…q10}

={0,1}

当0<=i<=8时候,

(qi,0)=(qi,1)=q(i+1)

(q9,1)=q10

(q10,0)=(q10,1)=q10

F={q10}

Set(q0)={}

Set(q1)={0,1}

Set(q2)={x|

x+,

并且|x|=2}

Set(q3)={x|

x+,

并且|x|=3}

Set(q4)={x|

x+,

并且|x|=4}

Set(q5)={x|

x+,

并且|x|=5}

Set(q6)={x|

x+,

并且|x|=6}

Set(q7)={x|

x+,

并且|x|=7}

Set(q8)={x|

x+,

并且|x|=8}

Set(q9)={x|

x+,

并且|x|=9}

Set(q10)={x|x+,

并且x的第十个字符是1}

(9)M={Q,,,q0,F}

Q={q0,q1,q2}={0,1}

(q0,0)=q1

(q1,0)=q1

(q1,1)=q2

(q2,1)=q2

(q2,0)=q1

F={q2}

Set(q0)={}

Set(q1)={x|x+,

并且x以0开头以0结尾}

Set(q2)={x|x+,

并且x以0开头以1结尾}

(10)M={Q,,,q0,F}

Q={q0,q1,q2}

={0,1}

(q0,0)=q0

(q0,1)=q1

(q1,0)=q1

(q1,1)=q2

(q2,1)=q2

(q2,0)=q2

F={q2}

Set(q0)={0}*

Set(q1)={x|x+,并且xxx只有一个1}

Set(q2)={x|x+,并且x至少有俩个1}

(11)M={Q,,,q0,F}

Q={q0,q1,q2,q3,q4}

={0,1}

(q0,0)=q1

(q0,1)=q4

(q1,0)=q3

(q1,1)=q2

(q2,1)=q4

(q2,0)=q1

(q3,0)=q1

(q3,1)=q4

(q4,1)=q2

(q4,0)=q3

F={q0,q1,q2}

Set(q0)={}

Set(q1)={x|

x+,

以0结尾,

xx

为奇数}

Set(q2)={x|

x+,

以1结尾,

xx

为偶数}

Set(q3)={x|

x+,

以0结尾,

xx

为偶数}

Set(q4)={x|

x+,

以1结尾,

xx

为奇数}

(12)

M={Q,,,q0,F}

Q={q0,q1,q2,q3,q4}

二{.,0,1,2,…,9}

F={q1,q2,q4}

(q0,0)=q1

(q0,1|2|3|4|5|6|7|8|9)=q2

(q1,.)=q2

(q2,0|1|2|3|4|5|6|7|8|9)=q2

(q2,.)=q3

(q3,0|1|2|3|4|5|6|7|8|9)=q4

(q4,0|1|2|3|4|5|6|7|8|9)=q4

Set(q0)={}

Set(q1)={0}

Set(q2)={十进制正整数}

Set(q3)={十进制非负整数后面接个小数点.}

Set(q4)={十进制正小数}

 

(13)

 

Set(qO)={}

Set(qO)=

(14)

Set(q0)={}

***********************************************************

********************

4在例3-6xx,状态米用的形式,它比较清楚地表达出该状态所对

应的记忆内容,给我们解决此问题带来了很大的方便,我们是否可以直接用代替呢?

如果能,为什么?

如果不能,又是为什么?

从此问题的讨论,你能总结出什么来?

(xxxx02282084)

答:

我认为能够直接用代替,因为在例3-6xx,只是一种新的表示方

法,用来表示状态存储的字符,这样就省去了在xx逐一给出每

一个具体的输入字符和状态的定义。

它的作用在于使FAxx状态定义更加简洁。

得到结论:

在今后描述FA时,应该根据具体的情况,使用适当的方法。

*******************************************************************************

5.试区别FA中的陷阱状态和不可达状态。

(xx贤珺02282047)

解:

⑴陷阱状态(课本97页):

指在其它状态下发现输入串不可能是该FA所识别的句子时所进入的状态。

FA一旦进入该状态,就无法离开,并在此状态下,读完输入串中剩余的字符。

⑵不可达状态(课本108页):

指从FA的开始状态出发,不可能到达的状态。

就FA的状态转移图来说,就是不存在从开始状态对应的顶点出发,到达该状态对应顶点的路径。

⑶从两者的定义可见:

相对于不可达状态来说,陷阱状态是可达的。

但是,它们都是状态转移图中的非正常状态。

如果从状态转移图中的状态引一条弧到不可达状态,同时不可达状态所有的移动都是到自身。

这样,不可达状态就变成了陷阱状态。

***********************************************************

注:

此题目有问题,可以将题设改为:

xxxO和1个数相等且交替出现

6.证明:

题目有不严密之处,图xx给出DFA与题目xx的语言L(M)={x|xx{0,1}+且xxx0的个数和1的个数相等}不完全对应,首先图xx的DFA可接受空字符串,而L(M)不接受,其次,对于有些句子,例如1100,L(M可以接受,但DFA不接受

(1)根据图中的DFA可看出,右下角的状态为陷阱状态,所

以去除陷阱状态

(2)由DFA可构造出与其对应的右线性文法:

(xx02282083)

S>0A

A>1S|1

S>1B

B>OS|0

将1S,1代入S>0A;OS,代入S,B得

S>01S|01

S>10S|10

由此可以看出该文法接受的语言为L二{(10|01)*},显然01或10

分别是作为整体出现的,所以L(M)xx0和1的个数相等。

*******************************************************

***********************

7.设DFAM=证明:

对于

注:

采用归纳证明的思路

证明:

(周期律02282067)

首先对y归纳,对任意x来说,|y|=0时,即y=

根据DFA定义,故原式成立。

当|y|=n时,假设原式成立,故当|y|=n+1时,

不妨设y=wa,|w|=n,|a|=1

根据DFA定义,故

原式成立,

同理可证,对任意的y来说,结论也是成立的。

综上所述,原式得证

*******************************************************

************************

8.证明:

对于任意的DFAM仁(Q2,S,qO,F1)存在DFA

M2=(QJ,S,qO,F2),(xx02282075)

使得L(M2)=艺*—L(M1。

证明:

(1)构造M2。

设DFAM1=(Q2,S,q0,F1)取DFAM2=(Q2,S,q0,Q—F1)

(2)证明L(M2)=艺*—L(M1

对任意x艺*

xL(M2)=艺*—L(M1S(q,x)Q—F1S(q,x)Q并且5(q,x)Fix艺*并且xL(M1)x艺*—L(M1)

*******************************************************

************************

9.对于任意的DFAM1=Q1,刀,S1,q01,F1),请构造DFA

M仁(Q2X,S2,q02,F2),使得L(M1)=L(M2)T。

其中

L(M)T={x|xT€L(M)}(xx02282072)

(1)构造£-NFAM使得L(M)=L(M1)取£-NFAM=(Q,E,S,

q0,{q01})其中:

1)Q=Q1U{qO},q0Q1

2)对于q,p€Q1,a€E,如果S1(q,a)=p,q€S(p,a)

3)S(q0,£)=F1

(2)证明:

L(M)=L(M1)T

对x=a2…am€L(M)

q2…am卜qfa2…am卜a1q2…am卜a2q2…

am—卜a2^qm-1am

—a2…amq01

其中qf€S(qO,£),q1€S(qf,al),q2€S(q1,

a2),…qO1€S(qm-1,am)并且qf€F1

贝卩S1(q01,am)=qm-1,S1(qm-1,am-1)=qm-2,…S1(q2,

a2)=q1S1(q1,a1)=qf

因此匕qO1amam-1…al卜amqm1am-1…al卜am

am-1…q1卜amam1…a2q1

卜amam-1…alqf

因此amam-1…al€L(M1)即xT€L(M1)

同理可证对于x=a2…am€L(M1)xT=am

am-1…a1€L(M1)

L(M)=L(M1)T得证

(3)将£-NFAM确定化

首先构造与£-NFAM=(Q,E,S,q0,{q01})等价的NFA

M3=(QE,S2,q0,{q01})

其中对于(q,a)€Q*ES2(q,a)=S八(q,a)

然后按照以前学过的方法构造与NFAM3=(QE,S2,q0,{q01})

等价的DFA

M1=(Q1X,S1,[qO],F1)其中:

Q仁2QF1={q01}

81([q1,q2,…,qn],a)二[p1,p2,…,pn]当且仅当

82({q1,q2,…,qn},a)={p1,p2,…,pn}

*******************************************************

************************

注:

此题(10题)xx、xx所做完全一样!

10、构造识别下列语言的NFA(XX02282091)

(1){xx乏{0,1}+且x中不含形如00的子串}

1

1

1

1

(2){xx^{0,1}+且x中含形如10110的子串}

——1

0,1

0,1

(3){xxE{0,1}+且x中不含形如10110的子串}

0,1

0,1

(4){xx^{0,1}+和x的倒数第10个字符是1,且以01结尾}

0,1

01■r■01

0,1

1•0•0,11•0,1.

(5){xx€{0,1}+且X以0开头以1结尾}

0,1

(6)

{xx^{0,1}+且x中至少含有两个1}

S

0,1

(7){x^{0,1}*且如果x以1结尾,则它的长度为偶数;

如果以0结尾,则它的长度为奇数}

1

0

(8){xx^{0,1}+且x的首字符和尾字符相等}

0

 

(9)

{x⑷xTx,国乏{0,1})

 

这是最基本的单元,其他的可以通过这个逐级构造出来,以满足

题目要求。

*******************************************************

************************

11.

根据给定的NFA构造与之等价的DFA.

(xx02282090)

(1)NFAM1的状态转移函数如表3-9

状态说明

状态

输入字符

0

1

2

开始状态

q0

{q0,q1}

{q0,q2}

{q0,q2}

q1

{q3,q0}

0

{q2}

q2

0

{q3,q1}

{q2,q1}

终止状态

q3

{q3,q2}

{q3}

{q0}

解答:

状态说明

状态

输入字符

0

1

2

开始状态

q0

[q0,q1]

[q0,q2]

[q0,q2]

[q0,q1]

[q0,q1,q3]

[q0,q2]

[q0,q2]

[q0,q2]

[q0,q1]

[q0,q1,q2,q3]

[q0,q1,q2]

[q0,qi,q2]

[q0,q1,q3]

[q0,q1,q2,q3]

[q0,q1,q2]

终止状态

[q0,q1,q3]

[q0,q1,q2,q3]

[q0,q2,q3]

[q0,q1,q2]

终止状态

[q0,q2,q3]

[q0,q1,q2,q3]

[q0,q1,q2,q3]

[q0,q2]

终止状态

[q0,q1,q2,q3]

[q0,q1,q2,q3]

[q0,q1,q2,q3]

[q0,q1,q2]

[q0,q2,q3]

0o,1

0,1[q0,q1,q2,q3]

2

图3-9所示NFA等价的DFA

(2)NFAM2的状态转移函数如表3-10

状态说明

状态

输入字符

0

1

2

开始状态d

q0

{q1,q3}

{q1}

{q0}

q1

{q2}

{q1,q2}

{q1}

q2

{q3,q2}

{q0}

{q2}

终止状态

q3

0

{q0}

{q3}

解答:

状态说明

状态

输入字符

0

1

2

开始状态

q0

[q1,q3]

[q1]

[q0]

[q1,q3]

[q2]

[q0,q1,q2]

[q1,q3]

[q1]

[q2]

[q1,q2]

[q1]

[q2]

[q2,q3]

[q0]

[q2]

[q0,q1,q2]

[q1,q2,q3]

[q0,q1,q2]

[q0,q1,q2]

[q1,q2]

[q2,q3]

[q0,q1,q2]

[q1,q2]

终止状态

[q2,q3]

[q2,q3]

[q0]

[q2,q3]

终止状态

[q1,q2,q3]

[q2,q3]

[q0,q1,q2]

[q1,q2,q3]

[如覚

qO

图3-10所示NFA等价的DFA

*******************************************************

*********************

12.证明对于任意的NFA存在与之等价的NFA该NFA最多只有

一个终止状态

(xx02282083)

证明:

对于任意的NFAM=(Q刀,5,qO,F),我们如果能构造出一个只有一个终止状态的NFA并且与之等价,即可证明上面的定理

而对于任意的NFA存在下面两种情况:

(1)终止状态只有一个

(2)终止状态有多个

要构造这个等价的NFA,可以采用如下方法:

(1)无需变化,该NFA即为满足条件的NFA

(2)可以在该NFA的状态图上添加一个新的终止状态,并将原来的多个终止状态所连接的弧复制到该状态上,此时这个终止状态为新状态图中唯一的终止状态,且这个新的NFA与原NFA等价,满足条件

我们总能构造出这样的NFA

因此对于任意的NFA存在与之等价的NFA,该NFA最多只有一个终止状态

*******************************************************

************************

13.试给出一个构造方法,对于任意的NFA,构造NFA,使得

注:

转化成相应的DFA进行处理,然后可参考第8题的思路

证明:

(周期律02282067)

首先构造一个与NFA等价的DFA,根据定理3.1(P106),

构造其中

Q^2Q1,F^{[Pi,P2-..Pm]|{Pl,P2---Pm}Q,{Pl,P2---Pm}F^},{Pi,P2---Pm}Q®'、3([qi…qn],a)二[Pi...Pm]=、i({qi...qn},a)={Pi...pm}

在此基础上,

即取所有确定化后不是终结状态的状态为的终结状态。

为了证明,我们在的基础上,其中,即所有确定化后的状态

都为终结状态。

显然

则又因为故,故

同理容易证明

故,又因为,故

可知,构造的是符合要求的。

*******************************************************

14.构造识别下列语言的£-NFA。

(XX贤珺02282047)

⑴{x|x€{0,1}+且x中含形如10110的子串}U{x|x€{0,1}+

和x的倒数第10个字符是1,且以01结尾}。

解:

得到的£-NFA如下所示:

e

⑵{x|x€{0,1}+且x中含形如10110的子串}{x|x€{0,1}+

和x的倒数第10个字符是1,且以01结尾}

解:

得到的£-NFA如下所示:

0

⑶{x|x€{0,1}+且x中不含形如10110的子

串}U{x|x€{0,1}+且x以0开头以1结尾}。

解:

关键是构造第一个FA,方法是设置5个状态:

q0:

表示开始状态,以及连续出现了两个以上的0时所进入

的状态。

q1:

表示q0状态下接受到1时(即开始状态或2个以上的0后输入1时)所进入的状态。

q2:

表示q1状态下接受到0时(即开始状态或2个以上的0后输入10时)所进入的状态。

q3:

表示q2状态下接受到1时(即开始状态或2个以上的0后输入101时)所进入的状态。

q4:

表示q3状态下接受到1时(即开始状态或2个以上的0后输入1011时)所进入的状态。

故得到的£-NFA如下所示:

x中不含形如11的子串}

解:

得到的£-NFA如下所示:

另外,本题可以构造DFA如下(其中qt为陷阱状态):

⑸{x|x€{0,1}+且x中不含形如00的子串}A{x|x€{0,1}+

且x中不含形如11的子串}。

解:

由于xxx既不含形如00的子串,又不含形如11的子串,故

xxx只能是01相间的串。

所以,得到的£-NFA如下所示:

另外,本题可以构造DFA如下(其中q+为陷阱状态):

*******************************************************

******************

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

当前位置:首页 > PPT模板 > 图表模板

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

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