计算与编码理论的深度剖析
1. 计算理论基础
在计算领域,存在一些无法通过图灵机解决的计算问题,这是图灵的重要成果。以一个特殊的机器Z为例,若E输出“是”,Z不停机;若E输出“否”,Z输出“否”并停机。当给Z输入其自身的描述dz时,会得出Z对dz停机当且仅当Z对dz不停机的矛盾结论,这表明假设存在的判定机D是错误的,像确定通用图灵机是否停机这类问题就无法由图灵机解决。
可计算性也是计算理论中的重要概念。存在许多不可计算的函数,我们可以通过计数论证来理解可计算实数和实数的数量差异。可计算实数是指其二进制展开能在磁带上打印出来的数,可计算实数是可数的,而实数是不可数的。
可数集是指能与正整数集建立一一对应关系的集合,例如偶数集和有理数集。而实数不可数的证明可以通过“对角线法”。假设实数可数,能将实数与整数一一配对,如:
| 整数 | 实数 |
| — | — |
| 1 | 0.!24 |
| 2 | 0.0!5 |
| 3 | 0.53292 |
| 4 | 0.800Ģ444 |
| 5 | 0.3341.Q.501 l |
| 6 | 0.3425...... |
我们选取每个数对应位置的数字(第一个数的第一位、第二个数的第二位等),构造一个新数,使新数的第n位与列表中第n个数的第n位不同,如0.22741… ,这个新数不在列表中,从而证明实数不可数。
图灵机是可数的,因为可以用二进制字符串唯一标记图灵机。但定义函数f(n),若第n个图灵机停机则f(n)=1,否则f(n)=0,该函数不可计算,这就是停机问题所揭示的。
在实际应用中,有效程序
超级会员免费看
订阅专栏 解锁全文
9217

被折叠的 条评论
为什么被折叠?



