可判定性读书笔记 (2)
2021/7/28 23:05:56
本文主要是介绍可判定性读书笔记 (2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
「 图灵机识别语言是否为空 」不可判定
所有证明都偷自 《计算理论导引》(Micheal Sipser)
\[E_{TM} = \{ \lang M \rang ~|~ L(M) = \empty \} \]$ E_{TM}$ 是不可判定的,证明思路还是反证,假设存在 \(R~decide~E_{TM}\),用 \(R\) 构造 \(S\) 使得 \(S~decide~A_{TM}\)
这里构造的思路关键在于消除不停机的情况,若对于 \(\lang M, w \rang\) 构造 \(S'\) 直接用 \(R\) 判定 \(M\):
\[S'(\lang M, w\rang ) = \begin{cases} M~reject~w & if~R(\lang M\rang) = accept \\ M~accept~w~or~loop & if~R(\lang M\rang) = reject \end{cases} \]这里 \(R~reject~M\) 时是无法确定 \(M(w)\) 的状态的,因而这是一种相对失败的构造
如前面所说,我们为了消除不停机的情况,构造 \(M_w\):
\[M_w(x) = \begin{cases} reject & if ~x\ne w \\ M(w) & otherwise \end{cases} \]注意对比观察 \(M_w\) 是如何过滤不停机情况的:
- 若 \(M~accept~w\),那么 \(M_w~accept~x\) 当且仅当 \(x=w\)
- 若 \(M~doesn't~accept~w\),那么 \(M_w~reject\) 所有输入
由此可以构造 \(S\):
\[S = \begin{cases} accept & if~R(\lang M_w \rang ) = reject \\ reject & if~R(\lang M_w \rang ) = accept \end{cases} \]这样 \(S\) 就判定 \(A_{TM}\) 了,故而矛盾
这篇关于可判定性读书笔记 (2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26大厂数据结构与算法教程:入门级详解
- 2024-12-26大厂算法与数据结构教程:新手入门指南
- 2024-12-26Python编程入门指南
- 2024-12-26数据结构高级教程:新手入门及初级提升指南
- 2024-12-26并查集入门教程:从零开始学会并查集
- 2024-12-26大厂数据结构与算法入门指南
- 2024-12-26大厂算法与数据结构入门教程
- 2024-12-26二叉树入门教程:轻松掌握基础概念与操作
- 2024-12-26初学者指南:轻松掌握链表
- 2024-12-26平衡树入门教程:轻松理解与应用