1《计算理论》试题答案(2007级)一、证明:设M是一台识别语言B的DFA,交换M的接受状态与非接受状态得到一台新的DFA,则这台新DFA识别B的补集。因而,正则语言类在补运算下封闭。(8分)参考答案:设M’是一台将DFAM的接受态与非接受态交换后的DFA,接下来证明M识别B语言,则M’识别B的补集:假定M’识别x,则对于x在M’上运行将结束于M’的一个接受态,因为M和M’交换了接受态与非接受态,因此对于x运行于M,将会结束于一个非接受态,所以x∈/B。类似地,如果x不被M’接受,则它一定被M接受。故M’恰好接受所有不被M接受的那些串,因此M’识别B的补集。既然B是任意的正则语言,且我们已构造出一台自动机识别它的补集,它表明任何正则语言的补也是正则的。因此,正则语言类在补运算下封闭。二、令∑={0,1,+,=}和ADD={x=y+z|x,y,z是二制整数,且x是y与z的和},证明ADD不是正则的。(8分)参考答案:假定ADD是正则的。让P作为泵引理中的泵长度,选择S的串形式为1P=0P+1P作为ADD的一个成员。因为S有长度大于P,由泵引理保证它能分割成形如:S=xyz的三部分,满足泵引理的条件。泵引理的第三个条件有|xy|≤P,《它表明对于K≥1,y就是1K。这是xy2z是串1P+K=OP+1P,而它不是ADD的成员,由泵引理导出矛盾,因此ADD不是正则的。三、请将下述CFG转换成等价的乔姆斯基范式文法。(8分)A→BAB|B|εB→00|ε参考答案:S0→AB|CC|BA|BD|BB|εA→AB|CC|BA|BD|BBB→CCC→0D→AB四、请用泵引理证明语言A={0n#02n#03n|n≥0}不是上下文无关的。(8分)参考答案:由泵引理,让P作为泵长度,s=0p#02p#03p,接下来证明s=uvxyz不能进行泵抽取。v和y都不能包含#,否则,xv2wy2z将超过2个#s,因此,如果我们按#’s将s分成三段如:0p,02p,03p,至少有一段不包含v或y。因此,由于段之间的1:2:3的比例不再维持,xv2wy2z也不语言A中。故语言A={0n#02n#03n|n≥0}不是上下文无关。的2五、下面的语言都是字母表{0,1}上的语言,请以实现描述水平级给出判定这些语言的图灵机:(8分)1、A={w|w包含相同个数的0和1}。2、B={w|w所包含的0的个数是1的个数的二倍}。参考答案:1、对于输入串w1)、扫描带子且标记第一个没有被标记的0,如果没有未被标记的0,则跳到第4步,否则,将指针移到带子的最前端。2)、扫描带子且标记第一个没有被标记的1,如果没有未被标记的1,则拒绝。3)、将指针移到带子的最前端且重复第1步4)、将指针移到带子的最前端,扫描带子看是否还有未被标记的1,如果没有则接受,否则拒绝。2、略六、只写一次图灵机是一个单带图灵机,它在每个带方格上最多只能改变其内容一次(包括带上的输入区)。证明图灵机模型的这个变形等价于普通的图灵机模型。(8分)参考答案:我们首先模拟一个可以写两次的普通图灵机,这个写两次的图灵机相当于一个单带图灵机通过将整带内容考贝到带子已用部分的右边来实现。考贝过程通过一个一个字符地操作,标记已考贝的字符。这个过程改变带子两次,一次是写字符,另一次是标记它被考贝。标记在带子上,当在标记位置考贝时,带子的内容按照图灵机更新。为了便于写一次图灵机模拟,除每个格子用两个格子代替外,其它操作如前面一致。第一个用来写原始内容,第二个用来写标记内容。这样就可以模拟写两次图灵机,依此类推,可以模拟写N次图灵机。因此图灵机模型的这个变形等价于普通的图灵机模型。七、设A={<M>|M是DFA,它不接受任何包含奇数个1的串},证明A是可判定的。(8分)参考答案:如下的TMX判定AX=“对于输入M,M是DFA构造一个DFAO,接受任何包含奇数个1的串构造DFAB使依据定理4.4,对于输入<B>运行TMT,T判定EDFA如果T接受,则接受。否则T拒绝,则拒绝。八、设C是一个语言。证明C是图灵可识别的,当且仅当存在一个可判定语言D,使得C={x|y(<x,y>∈D)}。(8分)参考答案:要求从两个方向证明。首先,我们假定D是存在的,TM识别C对于输入x,查找y使得x,y∈D。如果y找到则接受,否则继续找。另一方向,假定C被图灵机M识别。定义一语言B为{x,y|x在|y|内接受X}。语言B是可判定的,3且如果x∈c,则M在有限步内接受x,因此对于足够长的y有x,y∈B,但如果x∈/c则对于任意y有x,y∈/c因此C是图灵可识别的,当且仅当存在一个可判定语言D,使得C={x|y(<x,y>∈D)}九、证明所有的图灵可识别问题都映射可归约到ATM。(8分)参考答案:假定L是图灵可识别的,且有图灵机M识别它。为将L归约到ATM,我们标记任何M,x的串X。这时x∈L等价于M,x∈ATM.此外,映射是可计算的,因此它给出了从L到ATM的映射归约。因此所有的图灵可识别问题都映射可归约到ATM。十、考虑这样的问题,检查图灵机在输入w上,当其读写头处于带最左方格时,是否曾经试图将读写头向左移。将这个问题形式化为一个语言,并证明它是不可判定的。(8分)参考答案:证明它不可判定,问题在于对于输入串w我们假定图灵机试图将读写头向左移,我们令P=q0,q1,…,qs为M对于w结束于最左移动的最短可计算路径,它是不可判定的。十一、判断下列各项的真假(T或F)(10分)1、2n=O(n)2、n2=O(n)3、n2=O(log2n)4、nlogn=O(n2)nn5、22=O(22)6、n=o(2n)7、2n=o(n2)8、2n=o(3n)9、1=o(n)10、n=o(logn)参考答案:1、T2、F3、F4、T5、T6、F7、T8、T9、T10、F十二、十二、设G表示无向图,令(10分)SPATH={<G,a,b,k>|G包含从a到b,长度至多为k的简单路径}LPATH={<G,a,b,k>|G包含从a到b,长度至少为k的简单路径}1、证明SPATH∈P2、证明LPATH是NP完全的。可以假定UHAMPATH,即无向图的哈密顿路径问题是NP完全的。参考答案:1、对于输入<G,a,b,k>,G是包含节点a,b在内m个节点的无向图1)、将节点a上作一个标记02)、i从0到m:3)、扫描G的所有边,如果一条边(s,t)被发现为在i内从节点s到节点b,则标记节点t为i+1。4)、如果t被标记为最大值K,则接受,否则拒绝。2、略