---
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]]
