小赖子的英国生活和资讯

停机问题与悖论: 当逻辑凝视自身

阅读 桌面完整版

上一个世纪的电脑

停机问题:程序能预测自己吗?


问题:给定程序 P 和输入 x,你能判断 P(x) 是否会停机,还是永远运行下去吗?

图灵的思想实验

假设:H(P, x) 判断 P(x) 是否停机

定义下面的Python函数:

def D(P):
    if H(P, P):
        while True: pass  # 无限循环
    else:
        return 0  # 停机

那 D(D) 会发生什么?

逻辑中的类比:自指悖论

1. 理发师悖论

2. 说谎者悖论

"这句话是假的。"

3. 罗素悖论(集合论)

R = { x | x 是集合 且 x ∉ x }

4. Grelling–Nelson 悖论

异描述词 = 不描述自身的形容词

5. 哥德尔不完备性定理

"这句话无法被证明。"

6. Quine 程序

# Python 中的 Quine 示例
s = 's = {!r}\nprint(s.format(s))'
print(s.format(s))

7. 决定性问题(Entscheidungsproblem)

总结对照表

问题 领域 核心问题 结论
停机问题 计算机科学 程序是否能分析自身? 不可判定
理发师悖论 逻辑 自指导致矛盾 悖论
说谎者悖论 哲学 真假自指 悖论
罗素悖论 集合论 集合是否包含自身 矛盾
哥德尔定理 数学逻辑 不可证明真理 不完备
Quine 程序 编程 输出自身代码 可控自指

最后的思考

计算机科学

英文:The Halting Problem and Its Paradoxical Cousins: When Logic Looks at Itself

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version