40 lines
1.4 KiB
Markdown
40 lines
1.4 KiB
Markdown
# 停机问题 (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]]
|