当前位置:文档之家› 计算理论导引习题答案[第2版]CHAP5new

计算理论导引习题答案[第2版]CHAP5new

5.1 证明EQ CFG 是不可判定的。

解:只须证明ALL CFG ≤m EQ CFG 即可。

构造CFG G 1,使L(G 1)=∑*。

设计从ALL CFG 到EQ CFG 的归约函数如下: F=“对于输入<G >,其中G 是CFG :1)输出<G ,G 1>。

”若<G >ALL CFG ,则<G ,G 1>EQ CFG 。

若<G >ALL CFG ,则<G , G 1>EQ CFG 。

F 将ALL CFG 归约到EQ CFG 即ALL CFG ≤m EQ CFG∵ALL CFG 是不可判定的,∴EQ CFG 是不可判定的。

5.2证明EQ CFG 是补图灵可识别的。

证明:注意到A CFG ={<G,w>|G 是能派生串w 的CFG}是可判定的。

构造如下TM : F=“输入<G ,H>,其中G ,H 是CFG ,1) 对于字符串S 1, S 2,,重复如下步骤。

2) 检测S i 是否可以由G 和H 派生。

3) 若G 和H 中有一个能派生w ,而另一个不能,则接受。

”F 识别EQ CFG 的补。

5.3 略。

5.4 如果A m B 且B 是正则语言,这是否蕴涵着A 也是正则语言?为什么? 解:否。

例如:对非正则语言A={0n 1n |n 0}和正则语言B={0},可以构造一个可计算函数f 使得:f(w)=⎩⎨⎧≠=n n nn 10w 1,10w 0, 于是w A f(w)B,故A m B 。

5.5 证明A TM 不可映射规约到E TM 。

证明:反证法假设A TM m E TM , 则有TM m TM E A ≤。

而A TM 的补不是图灵可识别的,从而可知E TM 的补也不是图灵可识别的。

下面构造一个识别E TM 的补的图灵机S :S=“输入<M>,M 是TM,1) 对i=1,2,…重复下一步。

2) 对S 1,S 2,…,S i 模拟M 运行i 步,若有接受,则接受。

”S 可识别E TM 的补,所以E TM 的补是图灵可识别的,与上面由假设得到的E TM 的补不是图灵可识别的矛盾。

所以A TM 不可映射规约到E TM 。

5.6 略。

5.7证明:如果A 是图灵可识别的,且A ≤m A ,则A 是可判定的。

证:∵A ≤m A ⇔A ≤m A 且A 为图灵可识别的∴A 也为图灵可识别的∴由A 和A 都是图灵可识别的可知A 是可判定的.5.8 解:在由<M,w>构造相应骨牌簇时,添加如下一类骨牌:若M 中有一个左移(q,a)=(r,b,L),则添加一张骨牌:⎥⎦⎤⎢⎣⎡rb qa ##。

并且第一张骨牌改为⎥⎦⎤⎢⎣⎡w q 0###。

问题5.x 证明所有的图灵可识别问题都映射可规约到A TM 。

证明:设问题A 是图灵可识别的,且M 是识别A 的TM 。

构造一个可计算函数f 使得f(w)=<M,w>, 则有w A f(w) A TM 。

这说明A ≤m A TM 。

5.9 证明S={<M>|M 是TM 且满足:只要它接受w ,就接受w R }不可判定。

证明:对任意<M,w>,其中M 是TM ,w 是串,令f(<M,w>)是如下TM : F=“输入x ,1) 若x 01或10,则拒绝。

2) 若x=01,则接受。

3) 若x=10,则在w 上运行M 。

若M 接受,则接受。

”可以看到<M,w>A TM f(<M,w>)∈S 。

A TM ≤m S ,所有S 不可判定。

5.10 证明S={<D,w>|双带TM M 在输入w 上运行时会在第二条带上写下一个非空白符}是不可判定的。

证明:对任意<M,w>,其中M 是单带确定TM ,w 是字符串。

令f(<M,w>)=<D,w>,其中D 是如下的双带TM :D=“输入x ,1) 初始化,x 放在第一带上,第二带为空。

2) 在第一带上模拟M 运行。

3) 若M 接受,则在第二带上写下一个非空白符,并接受;若M 拒绝,则拒绝。

”从D 的构造可以看出<M,w>A TM ⇔<D,w>∈S ,即A TM ≤m S ,所以S 不可判定。

5.13 USELESS TM ={<N>| N 是TM,并且N 有无用状态}。

求证USELESS TM 不可判定。

证明:构造E TM 到USELESS TM 的规约函数:F=“对于输入<M>,M=(Q,,,,q 0,q accept ,q reject )是TM,1) 构造TM N N=(Q,1,1,1,q 0,q accept ,q reject ),其中,1={$},1=1{$}。

设Q={q 0,q 1,q 2,,q n ,q reject ,q accept }。

对任意q Q ,a 1:⎪⎩⎪⎨⎧==<≤==≠=+.$,),,$,(,0,$,),,$,($,),,(),(11n rejecti i q q a L q n i q q a L q a a q a q δδ2) 输出<N>。

”对于任意TM M ,如上构造的TM N ,除接受状态外,每个状态均非无用状态(若在输入$上运行N ,则N 遍历q 0,q 1,q 2,,q n ,最后进入q reject 并停机)。

构造N 的目的就是消除M 中任何非接受状态为无用状态的可能。

因此有: <M>E TM ⇒ <N>USELESS TM <M>E TM ⇒ <N>USELESS TM所以E TM ≤m USELESS TM 而E TM 不可判定,因此USELESS TM 不可判定。

5.14 考虑这样的问题:检查图灵机在输入w 上,当其读写头处于带最左方格时,是否曾经试图将读写头向左移。

将这个问题形式化为一个语言,并证明它是不可判定的。

解:此问题可以形式化为一个语言S :S={<M,w> | TM M 在输入w 上,当其读写头处于带最左方格时,曾经试图将读写头向左移}为证明S 是不可判定的,可以证明A TM ≤m S 。

构造一个可计算函数f:∑*→∑*,使得对每个<M,w>,其中M 是TM ,w 是串,f(<M,w>)=<M ’,w>,其中M ’=“输入x,1) 将工作带上内容改为$x 。

2) 读写头置于x 的第一个字符,模拟M 运行。

3) 每当读写头移到$,保持状态,右移一格。

4) 若M 进入接受状态,读写头左移到$,再左移一次,停机,接受;若M 进入拒绝状态,则拒绝。

”于是<M,w>A TM ⇔<M ’,w>∈S 。

5.15 证明S={<M,w>|图灵机M 在输入w 上运行时有左移}可判定。

证明:构造如下TM F :F=“输入<M,w>,M 是TM ,w 是串,1) 计算M 的状态数,记为p 。

2) 在w 上模拟M ,直到有左移,或停机,或已运行了|w|+p 步。

3) 若有左移,则接受;若停机但无左移,则拒绝;若无左移且不停机,则拒绝。

”需要说明的是在|w|+p 步运行中无左移也不停机的情况。

由于无左移,M 运行|w|步以后进入空白区域。

由于此后右移使得每次读写头所指向的都是空格,而且此后运行的p步至少会有一个状态出现两次,所以不停机意味着M进入了循环,也就不会出现左移。

总之,F判定S。

5.17 证明PCP在一元字母表上,即在字母表∑={1}上,是可判定的.证明:构造识别该语言的图灵机如下:S=“对输入的骨牌序列<P>,扫描骨牌序列。

若所有的骨牌的上面的1的个数都大于下面的1的个数,或都小于下面的1的个数,则拒绝。

否则,接受。

”S判定这样的PCP。

5.18证明PCP在二元字母表上,即在字母表Σ={0,1}上,是不可判定的。

证明:要想证明该PCP(记为PCP2)是不可判定的,只须证明A TM≤m PCP2。

为此需要利用定理5.11的证明过程和规约的传递性:首先,把书中的PCP任一实例P映射到PCP2的实例P2设计从P到P2的规约函数如下:F=“对输入<P>,其中P是PCP:1)造PCP P2,对P中所有骨牌中包含的字符串进行Huffman编码,形成一一对应的只含0和1的字符串(也可进行定长编码)。

2)输出<P2>。

”F将PCP映射规约到PCP2,即PCP≤m PCP2;其次,有定理5.11有A TM≤m PCP;根据规约的传递性可知,A TM≤m PCP2∵A TM是不可判定的,∴PCP2是不可判定的。

5.21 设AMBIG CFG={<G>|G是歧义的CFG}。

证明AMBIG CFG是不可判定的。

证明:设AMBIG CFG是可判定的,且R判定AMBIG CFG构造S判定PCPS=“对于任一PCP输入,如p={[t1/b1],[t2/b2],...,[t k/b k]}1) 利用如下规则构造一个CFG G:S T|BT t1Ta1|t2Ta2|...|t k Ta k|t1a1|...|t k a kB b1Ba1|b2Ba2|...|b k Ba k|t1a1|...|b k a k2) 在<G>上运行R,如果R接受则接受,如果R拒绝则拒绝。

”其中a i保证在T t1Ta1|t2Ta2|...|t k Ta k|t1a1|...|t k a k不是歧义CFG。

这样,如果AMBIG CFG是可判定的,则有PCP可判定的,而PCP是不可判定的,导出矛盾。

所以可以得到AMBIG CFG是不可判定的。

5.x 证明:举反例:令A={<M>|M是图灵机}。

则A满足问题xxx中的条件a,不满足条件b。

但是A是可判定的,只要证明<M>是否符合图灵机的形式定义即可。

因此,只满足条件a,不满足条件b不能导出不可判定。

令B={M1},其中M1是一台图灵机。

则B满足问题xxx中的条件b,不满足条件a。

但是B是可判定的。

因此,只满足条件b,不满足条件a不能导出不可判定。

5.24证明:对任意字符串x ,令f 1(x)=0x 。

则有x ∈A TM f 1(x)=0x ∈J 。

即有A TM ≤m J 。

进一步有TM A ≤m J 。

由TM A 图灵不可识别知J 图灵不可识别。

对任意字符串x ,令f 2(x)=1x 。

则有x ∉A TMf 2(x)=1x ∈J 。

即有TM A ≤m J 。

由TM A 图灵不可识别知J 图灵不可识别。

5.25给出一个不可判定语言B 的例子,使得B ≤m B 。

解:可利用第10题的结果。

相关主题