# 停机问题

> 是否存在一个程序，能判断任意一个程序（和输入）是会最终停止，还是会无限死循环下去？

- ID: m02588
- 分类: business
- 领域: 管理学

## 定义

是否存在一个程序，能判断任意一个程序（和输入）是会最终停止，还是会无限死循环下去？图灵证明了：不存在。这是计算机能力的逻辑边界。 - 脚手架作用：不可知论的数学证明。 - 它告诉我们，即使是逻辑最严密的计算机，也有无法预知的问题。在管理和规划中，承认“有些Bug是无法通过预先检查发现的”，必须通过运行（Run）才能暴露。完美的预判系统在逻辑上是不存在的。

## 机制

图灵证明不存在通用算法能判定任意程序在给定输入下是否会终止。证明用反证法：假设存在判定器 H，构造一个调用 H 自身的程序，使其对“会停机”的输入陷入循环、对“会循环”的输入停机，产生矛盾。

## 练习

1) 认识到对“程序是否会停”不存在通用判定；2) 对具体程序用终止性分析、静态检查或限定语言（如保证递减的循环）来近似判断；3) 在系统设计上用超时或看门狗兜底；4) 接受“部分不可判定”，靠运行暴露而非预判。

## 脚手架用法

不可知论的数学证明。 - 它告诉我们，即使是逻辑最严密的计算机，也有无法预知的问题。在管理和规划中，承认“有些Bug是无法通过预先检查发现的”，必须通过运行（Run）才能暴露。完美的预判系统在逻辑上是不存在的。

[阅读网页](https://thinkingmodels.site/entries/detail/m02588)
