一眼能验、穷尽却要等到天荒地老
目录 · 2
城堡里有个宴席官叫老苟。客人递来一张名单:『这拨人,刚好合乎宴席全部规矩。』老苟扫一眼,眨眼就判:是,座次无误、人人相安——『验一份现成答案』便宜得不像话。可要他从空桌起,自己凑出这样一份名单,他熬了一夜又一夜,名单的组合像雪片堆满厅堂,仍遥遥无期。他苦笑:『验一张牌,我一眼就够;找这张牌,城堡塌了也未必成。』有人问,难道没更巧的法子?他说:『要有,天下这类活儿就都便宜了。可到今儿,没人找着,也没人证明确实没有。』
揭示
这则故事想说的概念是:计算复杂性(P 与 NP)(Computational Complexity (P vs NP))。
英文定义(Computational Complexity (P vs NP)):The study of the resources (time, space) required to solve computational problems; P is the class of problems solvable in polynomial time, while NP is the class whose solutions can be verified in polynomial time. Whether P equals NP remains one of the great open questions.
它属于哪个领域:理论计算机科学(Theoretical Computer Science)
计算复杂性理论研究『解决问题要花多少资源』。P 类是能快速(多项式时间)求解的问题;NP 类是『答案一旦给出,就能快速验证』的问题。显然 P 包含于 NP,但 P 是否等于 NP 是计算机科学最重要未解难题之一。许多密码学、调度、优化的安全性,正是建立在『验证易、求解难』的假设上——宴席官的无奈,正是现代信息安全的根基。
故事里的隐喻对应什么
- 老苟扫一眼就判名单合规 → NP:解可多项式时间验证
- 从空桌凑名单,熬一夜也无期 → 求解可能是指数级困难
- 验一张牌一眼够,找这张牌城堡塌了也未必成 → 验证易 ≠ 求解易(P vs NP 核心)
- 没人找着巧法子,也没人证明确实没有 → P = NP 仍未决