--- title: 停机问题 (Halting Problem) created: 2025-04-15 updated: 2026-05-01 type: concept tags: [] sources: [] --- # 停机问题 (Halting Problem) - **领域**: 计算机科学、可计算性理论 - **证明者**: 阿兰·图灵 (Alan Turing), 1936 - **来源**: [[godel-incompleteness-tutorial|哥德尔不完备定理教程]] ## 定义 **停机问题**:给定一个程序 P 及其输入 I,判定 P 在输入 I 上最终是否会停机(执行有限步后终止)。 **不可判定性定理**:不存在一个通用算法(图灵机)能够对所有可能的程序-输入对 (P, I) 正确地判定 P(I) 是否停机。 ## 证明概要(对角线方法) 假设存在算法 H(P, I) 判定停机。构造程序 D(P): - 调用 H(P, P) - 若 H 返回「停机」,则 D 进入无限循环 - 若 H 返回「不停机」,则 D 停机 考虑 D(D):无论哪种情况都导致矛盾。 ## 与哥德尔不完备定理的联系 停机问题可视为[[godel-incompleteness-theorems|哥德尔不完备定理]]在计算理论中的直接对应物: - 两者都使用[[diagonalization-method|对角线方法]] - 两者都揭示形式系统/计算模型的内在限制 - 给定形式系统 F,命题可证性的判定等价于停机问题的判定 ## 相关不可判定问题 | 问题 | 证明者 | |------|--------| | 波斯特对应问题 | Post, 1946 | | 希尔伯特第十问题 | Matiyasevich 等, 1970 | | 字的群论问题 | Novikov, 1955 | ## 相关概念 [[computability-theory]] · [[self-reference]] · [[diagonalization-method]] · [[godel-incompleteness-theorems]]