Files
myWiki/concepts/halting-problem.md

40 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 停机问题 (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]]