正则图灵机不可判定 \(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 = \begin{cases} accept & if~x~has~the~form~0^n1^n \\ M(w) & otherwise \end{cases} \]注意这里 \(M\) 接收的是 \(w\)。那么 \(R\) 判定这样的 \(M_w\) 是什么结果呢?
所以可以将 \(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\), 因而矛盾