登录后可播放音频
视频围绕 P 是否等于 NP,从算法效率、快速验证与快速求解的区别,讲到 NP 完全性、归约、证明难点及其对密码学和现实世界的意义。
算法的增长速度,比计算机快多少更关键。 对 (n) 个数求和、找最小值需要 (O(n)) 次操作,选择排序需要 (O(n^2)),逐一枚举等和划分方案则有 (2^n) 种可能。硬件提速 1000 倍,平方复杂度算法可处理约 31.6 倍的数据,(2^n) 的枚举算法却只能多处理约 10 个元素。这说明指数增长会迅速抵消硬件进步。
复杂度衡量输入增大后,算法所需资源如何增长。 视频主要讨论最坏情况下的时间复杂度;大 (O) 记号表示渐进上界,忽略常数与低阶项,例如 (3n^2+5n+7=O(n^2))。这里的输入规模严格说是输入的编码长度,包括数字的位数;多项式时间是理论上的效率标准,并不保证实际运行一定快。
P 是可以在多项式时间内求解的判定问题集合。 严格定义要求确定性图灵机对任意输入,都能在输入长度的某个固定多项式时间内,给出正确的“是/否”答案。求和、排序等计算任务是视频用来解释高效计算的直观例子,其相应判定版本可纳入这一框架。
没有找到高效算法,不代表高效算法不存在。 归并排序通过“分成两半、分别排序、线性合并”,将排序复杂度从 (O(n^2)) 降至 (O(n\log n))。线性规划虽然有最坏情况为指数时间的单纯形法,却存在多项式时间的椭球法;2002 年的 AKS 算法则证明了素数判定属于 P。类似地,等和划分也有优于直接穷举的算法,只是目前没有已知的通用多项式时间算法。
NP 的关键是“肯定答案有可快速检查的凭据”。 例如,给出一种等和划分方案,可以快速核对两堆总和;给出数独填法,可以快速检查行、列和宫的约束。准确地说,NP 要求:答案为“是”时,存在长度为输入规模多项式的凭据,能够在多项式时间内验证。
NP 不是“Not P”,而是 Non-deterministic Polynomial time。 它也可以定义为非确定性图灵机在多项式时间内接受的问题:只要存在一条合法计算分支能够接受,就算接受该输入。“神奇地猜中答案”或“同时探索所有分支”只是理解模型的比喻,并不是现有计算机具备的能力。
P 与 NP 的问题是:快速验证,是否意味着快速求解? 已知 (P\subseteq NP),未知二者是否相等。若 (P=NP),所有 NP 问题都有多项式时间算法;若 (P\ne NP),则至少存在一个能够快速验证肯定答案、却无法在最坏情况下快速求解的问题。证明后者必须排除所有可能的多项式算法,包括人类尚未想到的算法。
多项式时间归约,让不同问题的难度可以比较。 若能在多项式时间内把问题 A 的任意实例转换成问题 B 的实例,并保持“有解当且仅当有解”,就记作 (A\leq_p B)。这意味着 B 至少和 A 一样难:只要 B 能快速求解,A 也能。视频以数独转图染色为例,用连边表达同行、同列、同宫不能填相同数字的约束,再用“调色盘”节点表达已知数字。
NP 完全问题,是能够代表整个 NP 家族的核心问题。 一个问题既属于 NP,又能承接所有 NP 问题的多项式时间归约,就称为 NP 完全。只要其中任意一个有多项式时间算法,就能证明 (P=NP);只要证明其中任意一个不存在这样的算法,就能证明 (P\ne NP)。
Cook–Levin 定理证明,SAT 是 NP 完全问题。 SAT 询问:是否存在一种布尔变量赋值,使整个逻辑表达式为真?证明的核心是将任意 NP 问题的计算过程写成一张多项式大小的“运行历史表”,再把初始状态、合法转移和最终接受状态编码成逻辑约束。3SAT 将每个子句限制为至多三个文字,例如 (x_1\lor x_2\lor\neg x_4),仍然是 NP 完全问题。
大量看似无关的问题,可以通过归约连接起来。 图的三染色、等和划分、哈密顿回路、背包的相应判定版本等,都具有 NP 完全性。扫雷的经典结果针对的是“给定数字布局是否存在一种一致的埋雷方式”:通过构造导线、逻辑门和输出约束,可以把逻辑表达式翻译成扫雷局面。数独及其他游戏的复杂度结论也必须针对可扩展的棋盘和具体规则版本,不能直接套用于固定大小的一局游戏。
NP 完全不意味着每一个实例都难,也不意味着只能暴力枚举。 复杂度结论关注最坏情况;现实实例常带有几何结构、稀疏关系或其他可利用的特征,因此 SAT 求解器、剪枝和启发式方法可以解决规模很大的实际问题。对于每个子句包含三个不同变量的 MAX-3SAT,随机赋值可在期望上满足 (7/8=87.5\%) 的子句;对所有可满足实例保证超过 (7/8+\varepsilon) 的满足比例,则存在以 (P\ne NP) 为前提的近似困难性结果。
如果 (P=NP),影响取决于算法是否实际可用。 足够快且可实现的算法,将大幅改变优化、自动证明和依赖计算困难性的密码学。但“多项式时间”可能具有极高次数或巨大常数,因此理论上的相等不等于立即破解现实加密。反过来,(P\ne NP) 也不能单独保证 RSA 安全,因为整数分解并未被证明是 NP 完全问题。
电路复杂度是一条重要研究路线,但现有证明能力仍很有限。 多项式时间算法可以展开成多项式规模的布尔电路,因此,若能证明某个 NP 问题需要超多项式规模的一般电路,就能推出 (P\ne NP)。计数论证说明绝大多数布尔函数需要指数规模电路,但为明确构造的函数证明足够强的一般电路下界,仍然极其困难。
ETH、SETH 比 (P\ne NP) 提出了更强的时间下界猜想。 ETH 通常断言:以变量数 (n) 衡量,3SAT 不存在 (2^{o(n)}) 时间算法;SETH 则大意断言,对任意固定 (\varepsilon>0),总存在某个子句宽度 (k),使 (k)-SAT 不能在 (O((2-\varepsilon)^n)) 时间内解决。文字稿声称“2026 年 10 月 26 日 OpenAI 发布推翻 ETH 的手稿”,但未提供可核查来源,且同时称其尚未经过同行审查,这部分不能作为已确立的数学突破引用。
物理系统和量子计算,也没有已知的通用捷径。 肥皂膜可能停在局部极小值,不能保证找出全局最优网络;目前也没有已知量子算法能在多项式时间内解决所有 NP 完全问题。视频最后借此追问:寻找答案比检查答案困难,是否反映了计算乃至物理世界的一种根本限制?