湖南大学计算理论引论期末试题2006年秋本科试卷a-答案.doc
《湖南大学计算理论引论期末试题2006年秋本科试卷a-答案.doc》由会员分享,可在线阅读,更多相关《湖南大学计算理论引论期末试题2006年秋本科试卷a-答案.doc(4页珍藏版)》请在冰豆网上搜索。
2006年秋《计算理论基础》本科生试卷
填空题
1、确定型有穷自动机的形式定义是一个5元组(Q,å,d,q0,F)其中:
(1)Q为有穷状态集,
(2)å有穷字母表,(3)d(q,a)是转移函数,它的第1个自变量为qÎQ,第二个自变量aÎå,其结果d(q,a)ÎQ,即为Q×å®Q的函数(映射),(4)q0为初始状态(一般只有一个),(5)F有一些接受状态(可以为多个。
2、非确定型有穷自动机N接受字符串w=b1b2…bm,是指存在状态序列r0,r1,…,rm,且满足:
(1)r0=q0;
(2)ri+1Îd(ri,ai+1)(i=0,1,…,m-1),(3)rmÎF。
3、正则表达式的定义是:
(1)aÎå,空串e,空集F均为合法的正则表达式,
(2)若R1,R2是正则表达式,则(R1ÈR2)、R1°R2、R1*均是正则表达式。
4、将正则表达转换成自动机时,先建立单个字符的自动机,再用并、连、星号运算得到复杂正则表达的自动机,而将自动机转换为正则表达式时,需要先建立新开始状态与一个新接受态,在新开始状态与原开始状态之间连上空串边,在原来所有的接受状态与新接受状态间连空串边。
5、对于正则语言A的任意字符串s,当其长度³p(泵长度)时,则一定存在满足|y|>0、|xy|£p分解方式S=xyz,使得任意i³0,xyizÎA。
这是正则语言的性质,基于此性质并利用反证法可证明一个语言不是正则语言,这时需要验证满足“|y|>0、|xy|£p”的每种可能分解方式,都不满足“任意i³0,xyizÎA”。
6、非确定型下推自动机PDA接受w=w1w2…wm,是指存在状态序列r0,r1,…,rm,栈字字符串序列s0,s1,…,smÎG*,满足:
(1)r0=q0,s0=e;
(2)(ri+1,b)Îd(ri,wi+1,a),其中si=at(此时a为栈顶元素),si+1=bt(b为当前动作后的栈顶元素);(3)rmÎF,sm=e。
7、Turing机特点:
(1)可以从输送带中读出字符,也可以修改输入带中的字符;
(2)可沿输入带向右移动直到遇到字符串结束标志为止,也可从右向左移动直到遇到左端标志为止;(3)可以边读写边移动读写头,也可以不读写而单纯移动;(4)如果进入了“接受”状态则停机(不必消耗所有字符),如果进入了“拒绝”状态也停机,否则一直运行,永不停机。
8、图灵机的形式定义是7元组(Q,å,G,d,q0,qaccept,qreject),其中:
(1)Q为状态集;
(2)å为输入字母表,不包括空白符号;(3)G为带字母表,包括å与空格;(4)d:
Q´G®Q´G´{L,R},转换函数,第1个自变量的取值范围是Q,第2个自变量的取值范围是G,其值域是一个三元组,第一个分量表示下一个状态,第二个分量表示写入到输入带上的字符,第三个分量表示下一步的位置;(5)q0ÎQ是初始状态;(6)qacceptÎQ是接受状态;(7)qrejectÎQ拒绝状态,且qreject¹qaccept。
9、图灵机M接受字符串w,是指存在一系列的格局C1,C2,…,Ck,使得:
(1)C1是M在输入w的起始格局,即C1=q0w;
(2)每个Ci确定地产生Ci+1;(3)Ck是接受格局,即从起始格局起,经过有限步后可达到接受格局。
二、简述题
1、每个多带图灵机等价于某台单带图灵机。
请参考下图陈述单带图灵机描述多带图灵机的的细节。
多带图灵机为M,待的单带图灵机记为S。
a
a
a
-
0
1
0
1
a,b
b
a
-
1
2
3
b
a
a
0
-—
S
0
1
0
1
0
#—
#—
a
a
a
#—
b
a
#
非形式的描述:
(1)S在自己的带子上按上图所示放入所有字符串;
(2)为了模拟一步移动,S在其带子上从标记左端点的第一个#开始扫描,一直扫到最右端的第k+1个#,以确定虚拟读写头的符号,即确定原来多带的每个读写头的位置。
然后S进行第二次扫描,并根据M的转移函数指示的运行方式来更新带子(即根据多带机M的转移函数,移动每个带子对应的读写头)
(3)任何时候,只要S将某个虚拟读写头向右移动某个#上面,就意味着M已将该虚拟读写头所对应的读写头,移到了其所在带的空白区域上,即以前没有读过的区域上。
即单带S的写头仍可以向右移动,只不过是先将单带的当前位置起到最后的符号整体右移,再让虚拟读写头在当前位置写下空白符。
2、请给出Chomsky范式的定义?
将普通范式转换为Chomsky范式的基本步骤?
解:
Chomsky范式是指满足:
A®BC(A,B,C为任意变元,B,C不是起始变元),A®a(a是任意的终结符);S®e(允许这种规则存在,即接受空串);
转换为Chomsky范式的基本步骤为:
(1)添加新的起始变元S0,同时增加规则S0®S;
(2)删除所有“A®e”(A¹起始变元),A在其他规则的右边每出现一次添加一条删除了A的新规则。
(3)删除所有单规则“A®B”,并针对所有B®u,添加规则A®u
(4)整理A®u1u2…uk为A®u1A1,A1®u2A2,…Ak-2®uk-1uk。
A®aiB为A®BiB,Bi®ai,A®Bai为A®BBi,Bi®ai,
A®ajai为A®BjBi,Bi®ai,Bj®aj
三、计算题
1、给出下列机器的形式描述,并给出字符串aaabbb的计算过程,是否接受该字串
q1
q2
q3
q4
b1
a
a,b
b
a
a
b
解:
Q={q1,q2,q3,q4},字母表为{a,b},开始状态为q1,结束状态集为{q4},转换函数为d(q1,a)=q1,d(q1,b)=q2,d(q2,a)=q2,d(q2,b)=q3,d(q3,a)=q3,d(q3,b)=q4,d(q4,a)=q4,d(q4,b)=q4。
q1-a-q1-a-q1-a-q1-b-q2-b-q3–b-q4,故接受该字符串。
2、将如下的非确定型自动机转换为确定型自动机,并对状态进行最小化处理。
q0a
q1
q2
b
q3
q4
a
q5
b
a
e
e
a
b
e
解:
E(q0)={q0,q1,q3},
d({q0,q1,q3},a)={q4},d({q0,q1,q3},b)={q2,q5},
d({q4},b)={q5}
d({q2,q5},a)={q3,q5}
d({q2,q5},b)={q4}
d({q5},a)={q5}
d({q3,q5},a)={q4,q5}
d({q4},b)={q5}
d({q4,q5},a)={q5}
d({q4,q5},b)={q5}
q0,q1,q3
a,b
q4
a
q2,q5
b
q3,q5
q4,q5
q5
b
a
b
a
a
q1
a,b
q2
a
q3
b
q4
q6
q5
b
a
b
a
a
F={q1,q3,q4,q5,q6},Q-F={q2}
d(F,a)={q2,q4,q6,q5,q5},由于d(q1,a)=q2ÎQ-F,故F={q1}È{q3,q4,q5,q6},{q2}
d(F,b)={q3,q2,q5},由于d(q3,b)=q2ÎQ-F,故F={q1}È{q4,q5,q6}È{q3}È{q2}
d({q4,q5,q6},a)={q6,q5,q5},d({q4,q5,q6},b)={q5},其结果没有分开,故{q4,q5,q6}不能再分了,故最小的状态集为{q1}È{q4,q5,q6}È{q3}È{q2},其状态图为:
q1
q2
a
q3
b
q4
b
a
b
a,b
3、利用教材上证明定理时所用的方法,构建字符串0(0È1)*对应的非确定型自动。
0
1
0
1
e
e
0
1
e
e
e
e
e
0
1
e
e
e
e
e
0
e
4、写出下列自动机对应的正则表达式。
q1
q2
q3
b
a,b
a
b
a
q1
q2
q3
b
a,b
a
b
a
qs
e
q2
e
q1
q2
b
a
qs
e
q2
e
(aÈb)b
(aÈb)a
qs
q1
b
e
q2
a((aÈb)a)*
a((aÈb)a)*(aÈb)b
(a((aÈb)a)*(aÈb)bÈb)*a((aÈb)a)*
5、构造出文法G=(V,S,R,S)V={S,A,N,V,P},S={Jim,big,green,cheese,ate},R={S®PVP,P®N|AP,A®big|green,N®cheese|Jim,V®ate},请给出对应的下推自动机。
qstart
qaccept
e,e®S$
qLoop
e,$®e
e,S®PVP
e,P®N|AP
e,A®big|green
e,N®cheese|Jim
e,V®ate
Jim,Jim®e
big,big®e
green,green®e
cheese,cheese®e
ate,ate®e