Loading

可判定性读书笔记 (3):「 图灵机识别语言是否正则 」不可判定

「 图灵机识别语言是否正则 」不可判定

所有证明都偷自 《计算理论导引》(Micheal Sipser)

正则图灵机不可判定 \(REGULAR_{TM}~is~undecidable\)

\[REGULAR_{TM} = \{ \lang M \rang ~|~ L(M) ~is~regular\} \]

证明思路:假设 \(R\) 判定 \(REGULAR_{TM}\) ,构造一个 \(S\)

\[ S~decide~A_{TM} \iff R ~ decide ~REGULAR_{TM} \]

之前判定 \(E_{TM}\) 的关键在于利用 \(R\) 消除任意 \(\lang M, w \rang\) 的所有非停机状态,而这里是一种看起来不太一样的问题规约思路

对任意输入 \(\lang M, w \rang\) ,构造 \(M_w\)

\[M_w(x) = \begin{cases} accept & if~x~has~the~form~0^n1^n \\ M(w) & otherwise \end{cases} \]

注意这里 \(M\) 接收的是 \(w\)。那么 \(R\) 判定这样的 \(M_w\) 是什么结果呢?

  1. \(M~accpet~w\),则 \(M_w~accept\) 所有输入 \(x\), 因此 \(L(M_w)=\Sigma^*\) 是正则语言
  2. \(M~doesn't~accept~w\),那么 \(L(M_w)=0^n1^n\),不是正则语言

所以可以将 \(M~accept~w\) 转化为 \(R~decide~M_w\):

\[R(\lang M_w\rang) = \begin{cases} accept & if~M~accept~w \\ reject & if~M~doesn't~accept~w \end{cases} \]

假设 \(C~decide~0^n1^n\) (\(C\) 显然是存在的)

bool M_w(x){
	if(C(x)) return true;
	return M(w);
}

bool S(<M,w>){
	if(R(M_w)){
		return true;
	}
	else{
		return false;
	}
}

这样就得到了一个 \(S~decide~\lang M, w \rang\), 因而矛盾

推论

用这里的方法,可以证明「 一个图灵机 \(M\) 是 CFG / 可判定性语言 / 有限语言 」都是不可判定的

  1. 证明 「 图灵机识别语言是 CFG 」 不可判定

只需要将上面证明中的 \(0^n1^n\) 换成一个非上下文无关语言,如 \(a^nb^nc^n(n\ge0)\)\(ww(w=[0|1]*)\)

  1. 证明 「 图灵机识别语言可判定 」 不可判定
    这里不能将上面证明中的 \(0^n1^n\) 换成一个不可判定语言,因为一个不可判定语言不可判定。

\[D_{TM} = \{\lang M \rang ~|~ L(M)~is~decidable\} \]

\(R\) 能判定 \(D_{TM}\),那么 \(R\) 也能判定 \(\bar{D_{TM}}\),反之亦然
因此可以将问题转化为「 证明 「 图灵机识别语言不可判定 」 不可判定 」,这样就能随便选一个可判定语言,套用上面的方法来证明了

  1. 证明 「 图灵机识别语言是有限语言 」 不可判定
    跟 2 一样,判定有限语言等价于判定无限语言。

之前写过,我个人感觉,一个语言 \(L\) 是可判定的,要么 \(|L|\) 是有限的,要么 \(|\bar{L}|\) 是有限的。上面这些问题,都是具有某种「 性质 」的语言,而具有这种性质的语言和他们的补集都是无限的,所以我个人意见,他们应该确实是不可判定的。

书上说后面 \(problem\) 部分有个莱斯定理(Rice's theorem),它说:

确定一个有任意性质的图灵可识别的语言是不可判定的
(determining any property of the languages recognized by Turing machines is undecidable)

我不太确定他这个 recognized by Turing machines 修饰的是 language 还是 property,以后再看看吧

posted @ 2021-07-28 22:50  人中之人  阅读(972)  评论(0)    收藏  举报