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

上传人:b****4 文档编号:11971992 上传时间:2023-04-16 格式:DOCX 页数:17 大小:22.58KB
下载 相关 举报
形式语言与自动机理论试题.docx_第1页
第1页 / 共17页
形式语言与自动机理论试题.docx_第2页
第2页 / 共17页
形式语言与自动机理论试题.docx_第3页
第3页 / 共17页
形式语言与自动机理论试题.docx_第4页
第4页 / 共17页
形式语言与自动机理论试题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

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

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

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

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

一、按要求完成下列填空

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.构造识别下列语言的DFA2x6'

(1){x|x?

{0,1}+且x以0开头以1结尾}

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

(2){x|x?

{0,1}+且x的第十个字符为1}

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

二、判断(正确的写T,错误的写F)5x2'

1.设R1和R2是集合{a,b,c,d,e}上的二元关系,则

(T)

任取(x.,y),其中x,y?

{a,b,c,d,e},使得(x,y)?

(R1?

R2)R3。

?

?

z((x,z)?

R1?

R2?

(z,y)?

R3)z?

{a,b,c,d,e}

?

?

z((x,z)?

R1?

(x,z)?

R2?

(z,y)?

R3)

?

?

z((x,z)?

R1?

(z,y)?

R3)?

?

z((x,z)?

R2?

(z,y)?

R3)

?

(x,y)?

R1R3?

(x,y)?

R2R3

?

(x,y)?

R1R3?

R2R3(R?

R)R?

RR?

RR1231323

2(T)2.对于任一非空集合A,Φ?

3.文法G:

A|ASa|b|c|d|e|f|g是RG(F)

4.3型语言2型语言1型语言0型语言(T)A?

?

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分)。

S?

aBC|aSBC

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

四、判断语言{0n1n0n|n>=1}是否为RL,如果是,请构造出它的有穷描述(FA,RG或者RL);如果不是,请证明你的结论(12分)

解:

设L={0n1n0n|n>=1}。

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

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

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

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

不妨设v=0,k>=1此时有u=0

uvw=0iNNNkN?

k?

j,w=010从而有jNNN?

k?

j(0k)i0j1N0N当i=2时,有uv2w=0N?

k1N0N又因为k>=1,

N?

kN所以N+k>N这就是说010N不属于L,

这与泵引理矛盾。

所以,L不是RL。

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

(12分)

0?

+(1+00)((1+00*1)0)*00*)3

去掉q3:

去掉q1:

3YYY

去掉q2:

去掉q0:

Y01+(1+00)((1+00*1)0)*((1+00*1)1)(01+(1+00)((1+00*1)0)*((1+00*1)1))*(?

+(1+00)((1+00*1)0)*00*)Y

六、设M=({q0,q1,q2},{0,1},{0,1,B},{δ},q0,B,{2}),其中δ的定义如下:

δ(0,0)=(q0,0,R)

δ(q0,1)=(q1,1,R)

δ(q1,0)=(q1,0,R)

δ(1,B)=(q2,B,R)

请根据此定义,给出M处理字符串00001000,10000的过程中ID的变化。

(10分)解:

处理输入串00001000的过程中经历的ID变化序列如下:

qqqq

0000010000q

00001000

000010q

10000q

00010000000100q

10000q

00100000001000q

10000q

01000000001000Bq200001q

10000

处理输入串10000的过程中经历的ID变化序列如下:

q

0100001q

10000010q

1000100q

1001000q

1010000q

110000Bq2

七、根据给定的NFA,构造与之等价的DFA。

(14分)

NFAM的状态转移函数如下表

解答:

参考题目

1、设?

?

{a,b,c},,构造下列语言的文法。

(1)L1?

{anbn|n?

0}。

解答:

G1?

({S},{a,b},{S?

aSb|?

},S)。

(2)L2?

{anbm|n,m?

1}。

解答:

G2?

({S,A,B},{a,b},{S?

A|B,A?

aA|a,B?

bB|b},S)。

(3)L3?

{anbnan|n?

1}。

解答:

G3?

({S,A,B},{a,b},P3,S)P3:

S→aAB|aSAB

BA→AB

aB→ab

bB→bb

bA→ba

aA→aa

(4)L4?

{aba|n,m,k?

1}。

nmk

解答:

G4?

({S,A},{a,b},{S?

ABA,A?

aA|a,B?

bB|b},S)。

(5)L5?

{awa|a?

?

w?

?

?

}。

解答:

G5?

({S,W},{a,b,c},{S?

aWa,W?

aW|bW|cW|a|b|c},S)。

(6)L6?

{xwxT|x,w?

?

?

}。

解答:

G6?

({S,W},{a,b,c},P6,S)P6:

S?

aWa|bWb|cWc

W?

aW|bW|cW|a|b|c。

(7)L7?

{w|w?

w,w?

?

}。

T?

解答:

G7?

{{S,W},{a,b,c},{S?

aWa|bWb|cWc|a|b|c},S}。

(8)L8?

{xxTw|x,w?

?

?

}。

解答:

G8?

({S,W,X},{a,b,c},P8,S)P8:

S?

XW

X?

aXa|bXb|cXc|a|b|cW?

aW|bW|cW|a|b|c。

2、给定RG:

G1?

(V1,T1,P1,S1),G2?

(V2,T2,P2,S2),试分别构造满足下列要求的RGG,并证明你的结论。

(1)L(G)?

L(G1)L(G2)

解:

不妨假设V1V2?

?

,并且S?

V1V2,令G?

?

?

S?

V1V2,T1T2,P1其中,

P3?

S?

?

S2?

?

T1?

且S1?

?

?

证明:

(1)设x?

L?

G?

,则S?

*x

若x?

?

,因为?

?

L?

G1?

,?

?

L?

G2?

,所以?

?

L?

G1?

L?

G2?

成立若x?

?

,由产生式S?

?

S2,不妨设x?

x1x2,其中x1?

T1?

,x1?

L?

G1?

则S2?

*x2,因为G的产生式包括P2,所以x2?

L?

G2?

,可知x?

x1x2?

L?

G1?

L?

G2?

所以L?

G?

?

L?

G1?

L?

G2?

(1)设x?

L?

G1?

L?

G2?

,不妨设x?

x1x2,其中x1?

T1*,S1?

*x1,x2?

T2*,S2?

*x2x1?

?

时,由P3中S?

?

S2?

?

T1?

且S1?

?

?

,则S?

?

x1S2?

?

x1x2所以x1x2?

L?

G?

,L?

G1?

L?

G2?

?

L?

G?

x1?

?

时,由P3中?

S?

?

S1?

?

?

S?

*x2x2?

?

时,由S?

?

,得S?

*x2所以x2?

L?

G?

L?

G1?

L?

G2?

?

L?

G?

综上,L?

G?

?

L?

G1?

L?

G2?

P2

P3,S?

?

?

?

?

?

?

S?

?

S

1

?

S?

?

?

?

?

(2)L(G)?

L(G1)L(G2)

解:

不妨假设V1V2?

?

,并且S?

V1V2,令

G?

?

?

S?

V1V2,T1T2,P1

其中,

P3?

?

S?

?

S1?

?

或S2?

?

?

证明:

(1)设x?

L?

G1?

L?

G2?

不妨设x?

L?

G1?

那么可知S1?

x*P2P3,S?

由G构造方法可知,S?

*x且x?

L?

G?

即L?

G1?

L?

G2?

?

L?

G?

(2)设x?

L?

G?

则S?

*x,由P3知,S1?

*x或S2?

*x不妨设S1?

*x则x?

L?

G1?

,L?

G1?

?

L?

G?

同理L?

G2?

?

L?

G?

则L?

G1?

L?

G2?

?

L?

G?

所以L?

G?

?

L?

G1?

L?

G2?

(3)L(G)?

L(G1)?

a,b?

L(G2),其中a,b是两个不同的终极符号解:

不妨假设V1V2?

?

,并且S?

V1V2,令

G?

?

?

S?

V1V2,T1T2,P1

其中,

P3?

S?

?

aS2?

bS2其中?

?

T1*且S1?

*?

证明:

(1)设x?

L?

G?

则S?

*x由产生式S?

?

aS2,不妨设x?

?

1a?

2则?

1?

T1*,S2?

*?

2则?

1?

L?

G1?

,?

2?

L?

G2?

所以x?

?

1a?

2?

L(G1)?

a,b?

L(G2)同理?

1b?

2?

L(G1)?

a,b?

L(G2)可得L(G)?

L(G1)?

a,b?

L(G2)

(2)设x?

L(G1)?

a,b?

L(G2)

不妨设x?

?

1a?

2其中?

1?

L(G1),?

2?

L(G2)即S1?

*?

1,S2?

*?

2由P3中产生式S?

*?

1aS2?

?

1a?

2

所以L(G1)?

a,b?

L(G2)?

L?

G?

综上可得,L(G)?

L(G1)?

a,b?

L(G2)P2P3,S?

?

?

?

S?

?

S1?

?

?

(4)L(G)?

L(G1)*

解:

P={S→α|S1→α∈P1}∪{S→ε}∪{S→αS|S1→α∈P1}

证明略。

(5)L(G)?

L(G1)?

解:

P={S→α|S1→α∈P1}∪{S→αS|S1→α∈P1}

证明略。

3、设文法G有如下产生式:

S→aB│bA

A→a│aS│bAA

B→b│bS│aBB

证明L(G)={ω│ω中含有相同个数的a和b,且ω非空}。

证:

观察发现A的产生式A→bAA中的bA可以用S来代替,同样B的产生式B→aBB中的

aB也可以用S代替。

这样原来的文法可以化为如下的形式:

S→aB│bA

A→a│aS│SA

B→b│bS│SB

进一步地,可以把产生式A→aS中的S代换,把文法化为如下的形式:

S→aB│bA

A→a│aaB│abA│SA

B→b│baB│bbA│SB

7.设DFAM=(Q,?

?

q0,F),证明:

对于?

x,y?

?

*,q?

Q,?

(q,xy)?

?

(?

(q,x),y)注:

采用归纳证明的思路

证明:

(周期律02282067)

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

根据DFA定义?

(q,?

)?

q,?

(q,xy)?

?

(q,x)?

?

(?

(q,x),?

)?

?

(?

(q,x),y),故原式成立。

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

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

根据DFA定义?

(q,xa)?

?

(?

(q,x),a),a?

?

,故

?

(q,xy)?

?

(q,xwa)?

?

(?

(q,xw),a)?

?

(?

(?

(q,x),w),a)?

?

(?

(q,x),wa)?

?

(?

(q,x),y)原式成立,

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

综上所述,原式得证

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

8.证明:

对于任意的DFAM1=(Q,Σ,δ,q0,F1)存在DFAM2=(Q,Σ,δ,q0,F2),使得L(M2)=Σ*—L(M1)。

证明:

(1)构造M2。

设DFAM1=(Q,Σ,δ,q0,F1)取DFAM2=(Q,Σ,δ,q0,Q—F1)

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

对任意x?

Σ*

x?

L(M2)=Σ*—L(M1)?

δ(q,x)?

Q—F1?

δ(q,x)?

Q并且δ(q,x)?

F1?

x?

Σ*并且x?

L(M1)?

x?

Σ*—L(M1)

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

(1){xx?

{0,1}?

且x中不含形如00的子串}

(2){xx?

{0,1}?

且x中含形如10110的子串

}

(3){xx?

{0,1}?

且x中不含形如10110的子串}

(4){xx?

{0,1}?

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

1

(5){xx?

{0,1}?

且x以0开头以1结尾

}

(6){xx?

{0,1}?

且x中至少含有两个1}

0,10,1

(7){xx?

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

(8){xx?

{0,1}?

且x的首字符和尾字符相等}

(9){x?

xTx,?

?

{0,1}?

}

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

(1)NFAM

的状态转移函数如表3-9

13.试给出一个构造方法,对于任意的NFAM1?

(Q1,?

?

1,q0,F1),构造NFA

M2?

(Q2,?

?

2,q0,F2),使得L(M2)?

?

*?

L(M1)

注:

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

证明:

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

L(M1)构造M3?

(Q3,?

?

3,[q0],F3),其中

Q3?

2Q1,F3?

{[p1,p2...pm]|{p1,p2...pm}?

Q,{p1,p2...pm}?

F1?

?

},{p1,p2...pm}?

Q,a?

?

?

3([q1...qn],a)?

[p1...pm]?

?

1({q1...qn},a)?

{p1...pm}

在此基础上M2,Q2?

Q3,?

2?

?

3,F2?

{[p1...pm]|[p1...pm]?

F3?

?

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

为了证明L(M2)?

?

*

?

L(M3),我们在M3的基础上M4?

(Q4,?

?

4,q0,F4),其

中Q4?

Q3,?

4?

?

3,F4?

Q4,即所有M1确定化后的状态都为终结状态。

显然

L(M4)?

?

*,

?

x?

L(M2),则?

(q0,x)?

F2?

?

?

?

(q0,x)?

F3?

?

?

x?

L(M3),又因为

?

(q0,x)?

Q3?

?

(q0,x)?

F4?

?

(q0,x)?

L(M4)?

?

*,故x?

?

*?

L(M3),

故L(M2)?

?

*

?

L(M3)

同理容易证明L(M2)?

故L(M2)?

?

*

?

L(M3)

?

*

?

L(M3),又因为L(M3)?

L(M1),故L(M2)?

?

*?

L(M1)

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

15.P12915.

(1)、

(2)

(1)根据NFAM3的状态转移函数,起始状态q0的?

闭包为?

-CLOSURE(q0)={q0,q2}。

由此对以后每输入一个字符后得到的新状态再做?

闭包,得到下表:

(陶文婧02282085)

0=0,21=0,1,22=0,1,2,332=0,1,2,3为终止状态

2

(2)用上述方法得

0=1,31=3,22=0,1,2,33=0,1,34=1,2,3终止状态,所以q0,q1,q2,q3,q4均为终止状态

注:

本题没有必要按照NFA到DFA转化的方法来做,而且从?

-NFA到NFA转化时状态没有必要改变,可以完全采用?

-NFA中的状态

(1)

16、证明对于?

的FAM1=(Q1,∑1,δ1,q01,F1),FAM1=(Q2,∑2,δ2,q02,F2),存在FAM,

使得L(M)=L(M1)∪L(M2)证明:

不妨设Q1与Q2的交集为空

(1)构造M=(Q1∪Q2∪{q0},∑,δ,q0,F)其中:

1)∑=∑1∪∑2F=F1∪F2

2)δ(q0,ε)={q01,q02}对于?

q∈Q1,a∈∑1δ(q,a)=δ1(q,a)对于?

q∈Q2,a∈∑2,δ(q,a)=δ2(q,a)

(1)证明:

1)首先证L(M1)∪L(M2)∈L(M)

设x∈L(M1)∪L(M2),从而有x∈L(M1)或者x∈L(M2),当x∈L(M1)时δ1(q01,x)∈F1

由M的定义可得:

δ(q0,x)=δ(q0,εx)=δ(δ(q0,ε),x)=δ({q01,q02},x)=δ(q01,x)∪δ(q02,x)=δ1(q01,x)∪δ(q01,x)∈F1∪δ(q01,x)即x∈L(M)

同理可证当x∈L(M2)时x∈L(M)

故L(M1)∪L(M2)∈L(M)

2)再证明L(M)∈L(M1)∪L(M2)

设x∈L(M)则δ(q0,x)∈F

由M的定义:

δ(q0,x)=δ(q0,εx)=δ(δ(q0,ε),x)=δ({q01,q02},x)=δ(q01,x)∪δ(q02,x)如果是δ(q01,x)因为Q1与Q2的交集为空而且δ(q0,x)∈FF=F1∪F2则δ(q01,x)=δ1(q01,x)∈F1因此x∈L(M1)

如果是δ(q02,x)因为Q1与Q2的交集为空而且δ(q0,x)∈FF=F1∪F2则δ(q02,x)=δ2(q02,x)∈F1因此x∈L(M2)

因此x∈L(M1)∪L(M2)L(M)∈L(M1)∪L(M2)得证

因此L(M)=L(M1)∪L(M2)

17证明:

对于任意的FAM1?

(Q1,?

1,?

1,q01,F1),FAM2?

(Q2,?

2,?

2,q02,F2),

存在FAM,使得L(M)?

L(M1)L(M2).

证明:

令?

(Q1Q2,?

?

其中δ的定义为:

M?

q01,{f2})

1)对?

q∈Q1-{f1},a∈∑∪{ε}

δ(q,a)=δ1(q,a);

2)对?

q∈Q2-{f2},a∈∑∪{ε}

δ(q,a)=δ2(q,a);

3)δ(f1,ε)={q02}

要证L()?

L(M1)L(M2),M

只需证明L(M1)L(M2)?

L(M),(M1)L(M2)L(M)L?

1.证明L(M1)L(M2)?

L(M)

设x?

L(M1)L(M2),从而有x1?

L(M1)并且x2?

L(M2),x?

x1x2使得

M1在处理x1的过程中,经过的状态全部都是Q1中的状态,所以在定义

M时,对?

q?

Q1,a?

?

?

(q,x)?

?

1(q,a)

故?

(q01,x1)?

?

1(q01,x2)?

{f1}M2在处理x2的过程中,经过的状态全部都是Q2中的状态,所以在定义M时,对?

q?

Q1,a?

?

?

(q,x)?

?

2(q,a)

?

(q02,x)?

?

2(q01,x)?

{f2}

下面证明x?

L(M)

?

(q01,x)?

?

(q01,x1x2)?

?

(?

(q01,x1),x2)?

?

(?

1(q01,x1),x2)?

?

(f1,x2)?

?

(f1,?

x2)

2)再证明

?

?

(?

(f1,?

),x2)?

?

(q02,x2)?

?

2(q02,x2)?

{f2}即得证x?

L(M)L(M)?

L(M1)L(M2)设x?

L(M),即?

(q01,x)?

{f2}M是从q01启动的,由M的定义可知,M要达到状态f2,必须先到f1.由于除了对应状态转移函数式?

(f1,?

)?

{q02}的移动外,不存在从f1出发的任何其他移动,而且该移动是f2的必经移动,所以,比存在x的前缀x1和后缀x2,使得x?

x1x2,并且x1将M从状态q01引导到状态f1,x2将M从状态q02引导到状态f2.即?

(q01,x)?

?

(q01,x1x2)?

?

(f1,x2)?

?

(f1,?

x2)?

?

(q02,x2)?

{f2}其中,?

(q01,x1)?

{f1},说明?

1(q01,x1)?

{f1};?

(q02,x2)?

{f2},说明?

2(q02,x2)?

{f2}由于

这表明

x1?

L(M1)x2?

L(M2)

从而x?

x1x2?

L(M1)L(M2)故

L(M)?

L(M1)L(M2)L(M)?

L(M1)L(M2

*******************************************************************************(吴丹02282090)

综上所述,

18.证明:

对于任意的FAM1=?

Q1,?

1,?

1,q01,F1?

,FAM2=?

Q2,?

2,?

2,q02,F2?

存在FAM,使得L?

M?

=L?

M1?

L?

M2?

证明:

不妨将这些FA看成DFA

取M=?

Q1?

Q2,?

1?

2,?

,?

q01,q02?

,F?

对于?

a?

?

1?

2,?

q,p?

?

Q,?

?

?

q,p?

,a?

=?

?

?

1?

q,a?

,?

2?

p,a?

?

?

.

?

1?

设:

x?

L?

M?

则?

x?

x1x2......xk其中xi?

i?

?

1,k?

?

?

?

1?

2使得?

?

?

q,p?

,xi?

?

?

?

?

1?

q,xi?

?

2?

p,xi?

?

?

?

xi?

L?

M1?

L?

M2?

?

x?

L?

M1?

L?

M2?

从而可得L?

M?

?

L?

M1?

L?

M2?

?

2?

设:

x?

L?

M1?

L?

M2?

则?

x?

x1x2......xk其中xi?

i?

?

1,k?

?

?

?

1有?

1?

q,xi?

且?

2?

p,xi?

从而使得

?

1?

q,xi?

=?

?

?

q,p?

,xi?

;?

2?

p,xi?

=?

?

?

q,p?

,xi?

?

xi?

L?

M?

?

x?

L?

M?

从而可得L?

M1?

L?

M2?

?

L?

M?

综合

(1)

(2)可得L?

M?

=L?

M1?

L?

M2?

又因为FA和DFA具有等价性,所以原命题得证。

?

2

23.FAM的移动函数定义如下:

δ(q0,3)={q0

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

当前位置:首页 > 经管营销 > 经济市场

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

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