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题的结果。