自动机习题中文解答全Word下载.doc
《自动机习题中文解答全Word下载.doc》由会员分享,可在线阅读,更多相关《自动机习题中文解答全Word下载.doc(21页珍藏版)》请在冰豆网上搜索。
B
1)将DFA改写成转移图形式:
2)观察上图,知其接受的语言应为
L={wÎ
{0,1}*:
w含奇数个1}.
3)用数学归纳法证明2)中的断言:
当|w|=1时,若w=0则DFA不接受w,若w=1则DFA接受w,此时命题成立。
设w时命题成立,即当w中含偶数个1时DFA不接受w,当w中含奇数个1时DFA接受w。
对于任一字符c:
若c=0,则当w中含偶数个1时由于DFA不接受w,故,从而;
当w中含奇数个1时由于DFA接受w,故,从而。
若c=1,则当w中含偶数个1时由于DFA不接受w,故,从而;
总之,当wc中含偶数个1时DFA不接受wc,当wc中含奇数个1时DFA接受wc。
命题得证。
习题2.2.11
C
0,1
w不含子串00}.
3)用数学归纳法证明2)中的断言,过程与前题类似。
习题2.3.2
01
®
{p}{q,s}{q}
*{q,s}{r}{p,q,r}
*{q}{r}{q,r}
{r}{s}{p}
*{q,r}{r,s}{p,q,r}
*{s}Æ
{p}
*{r,s}{s}{p}
*{p,q,r}{q,r,s}{p,q,r}
*{q,r,s}{r,s}{p,q,r}
Æ
Æ
Æ
习题2.3.3
1)将NFA转化为DFA:
01
{p}{p,q}{p}
{p,q}{p,q,r,s}{p,t}
*{p,q,r,s}{p,q,r,s}{p,t}
*{p,t}{p,q}{p}
2)将转移表改写为转移图:
{p,q}
{p}
{p,q,r,s}
{p,t}
观察此图,知其接受的语言应为
w以00或01结尾}.
习题2.3.4
å
9
……
a)
c
b
a
d
a,b
习题2.4.1
b)
a,b,c
习题2.5.1
a)ECLOSE(p)={p},
ECLOSE(q)={q,p},
ECLOSE(r)={r,q,p}
自动机接受的长度为1的串有c;
自动机接受的长度为2的串有ac,bb,bc,ca,cb,cc;
自动机接受的长度为3的串有aac,abb,abc,aca,acb,acc,bab,bac,bba,bbb,bbc,bca,bcb,bcc.
abc
{p}{p}{p,q}{p,q,r}
{q}{p,q}{p,q,r}{p,q,r}
*{r}{p,q,r}{p,q,r}{p,q,r}
{p,q}{p,q}{p,q,r}{p,q,r}
*{p,q,r}{p,q,r}{p,q,r}{p,q,r}
习题2.5.3
e
a)
e,0,1
第三章习题解答
习题3.1.1
a)(a+b+c)*(a+b)(a+b+c)*(或的答案)(a+b+c)*(a(a+b+c)*b+b(a+b+c)*a)(a+b+c)*
b)(0+1)*1(0+1)9
c)((01+0)*+(10+0)*)+(10+0)*11(01+0)*
习题3.1.2
a)(01+0011)*
b)1*(01*01*01*01*0)*1*
习题3.1.4
a)不连续出现1的串的集合
b)含子串000的串的集合
c)不连续出现1的串的集合
习题3.1.5{e}
习题3.2.1DFA的转移图为
q1
q3
q2
d)1*0(11*0)*0(0+1(11*0)*0)*
e)(1+01)*00(0+10)*
习题3.2.3将DFA写成转移图形式,然后改成标准形式,以此为基础逐个消去中间结点:
p
s
r
q
0+10*1
(0+10*1)1
(0+10*1)0
1+0((0+10*1)1)*(0+10*1)0
(1+0((0+10*1)1)*(0+10*1)0)*
故DFA相应的正则表达式为 (1+0((0+10*1)1)*(0+10*1)0)*.
(注意:
消中间结点的顺序不同,所得正则表达式就可能不一样)
习题3.2.4
a)
c)
习题3.2.5
习题3.2.补充题
(a)(ab)*(ba)*È
aa*
(b)((abÈ
aab)*a*)*
>
(c)(baÈ
b)*È
(bbÈ
a)*
a,b
(d)a*(abÈ
baÈ
e)b*
(e)((aÈ
b)*(aÈ
c)*)*
a,c
(f)((ab)*È
(bc)*)ab
习题3.4.1实际上就是要求验证等式两端的集合相等:
a)-e).证明略。
f)先证R*Í
(R*)*。
因为 RÍ
R*,所以根据星号运算的定义易知R*Í
再证(R*)*Í
R*。
任取wÎ
(R*)*, 由星号定义存在wkÎ
R*,k=1,2,…,n,使得 w=w1w2….wn。
对于每个wkÎ
R*,由星号定义存在wkjÎ
R,j=1,2,…,nk,使得
wk=wk1wk2….wknk,k=1,2,…,n.
于是w=w11w12….w1n1w21w22….w2n2….wn1wn2….wnnn,即w可以表示成若干个R的串的连接,由星号定义有wÎ
R*,故(R*)*Í
综上所述,有(R*)*=R*。
h)显然RÈ
SÍ
R*S*,故(RÈ
S)*Í
(R*S*)*。
反过来,对于任意的wÎ
(R*S*)*, 由星号定义存在wkÎ
R*S*,k=1,2,…,n,使得 w=w1w2….wn。
设wk=rksk,其中rkÎ
R*,skÎ
S*,k=1,2,…,n。
这样,每个rk可以表示成若干个R的串的连接,每个sk可以表示成若干个R的串的连接,从而w可以表示成若干个RÈ
S的串的连接,这说明(R*S*)*Í
(RÈ
S)*。
所以 (R*S*)*=(RÈ
习题3.4.2
a)不成立。
请看以下反例:
当R={1},S={0}时,串1010出现在等式左端的集合中,但不出现在等式右端集合中。
d)不成立。
当R={1},S={0}时,串e出现在等式右端的集合中,但不出现在等式左端集合中。
习题3.4.3 (0+1)*1(0+1)(e+0+!
)
第四章习题解答
习题4.1.1
a)记此语言为L。
反设L是正则的,则泵引