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