一、P 与 NP 问题

最近的科研经历让我产生了一个有趣的感受:在成功到来之前,一切像是在黑暗的迷宫中摸索,每一步都充满不确定;而当我们回头看时,通向成功的路径却似乎早已明明白白地摆在那里。恰好近期接触了一些关于计算复杂度领域的研究,这种“成功前混沌、成功后清晰”的体验,似乎映射出计算机科学中一个悬而未解的难题 —— P vs NP。

P/NP 问题也是克雷数学研究所七个千禧年大奖难题之一。具体而言,P 类问题(Polynomial time) 指的是可以在多项式时间内被“确定性算法”解决的问题。通俗地说,就是借助明确的算法或步骤,可以在合理时间里找出此类问题的答案。

多项式时间:解决问题所需的时间可以被输入规模的某个多项式函数所界定

$O(n)$—— 线性时间,即算法的运行时间大致和数据量成正比

$O(n^2)$—— 二次时间

$O(n^a)$—— $a$ 次时间($a$ 为常数),这些都是多项式时间

$O(2^n)$ 与 $O(n!)$ 都不是多项式时间,此类问题具有指数级或更高的复杂度

与之相对,NP 类问题(Nondeterministic Polynomial time) 则是一些尚无高效算法求解的问题,但它们有一个特征:一旦给出一个候选解,我们可以在多项式时间内快速检查其正确性。简单来说,就是解难找,验证答案是否成立却很容易。

填数独是一个典型的 NP 类问题:解一个复杂的数独可能要绞尽脑汁。但如果有一份填好的数独,只需几分钟时间,检查每行每列是否满足规则,就能验证正确与否。

Sudoku

再举一个例子,想象我们在一座山里找一颗“金蛋”(问题的解):

P 问题 :有地图,按图索骥,走几步就能找到金蛋。

NP 问题:我们没地图,但别人说:“金蛋就在那块石头后面”,走过去一看,金蛋真的在那里(验证快,但找的过程可能很慢)。

目前,计算机科学尚不确定 NP 类问题是否都存在快速求解方法——也就是著名的 P vs NP 未解之问。

数学上,所有的 NP-Complete1 问题都可以相互转化(reduce)

如果能在多项式时间内求解一个 NP-Complete 问题,就意味着可以在多项式时间内求解所有 NP 问题

如果未来能证明 P = NP,意味着所有问题都暗藏捷径,只是我们现在还不知道而已;但倘若 P ≠ NP(当前学术界主流观点),那就意味着有些难题的艰深并非因为我们笨拙,而是它们本质上就像迷宫一般复杂,无可避免地需要大量尝试。

尽管这一理论难题悬而未决,我们却可以拿它来类比许多现实情景:当我们面对复杂抉择或难关时,是不是也处在一种“搜索难、验证易”的状态?

二、科研中的 NP 问题

科研的不确定性质:在开始时,我们并不知道哪条路线能通向成功。

科研工作的推进常常体现出 NP 式的结构:验证一个想法是否有效相对容易,而找到有效的想法却异常困难。科学研究就像在未知领域摸索,研究者往往要尝试多个方向、经历许多失败,才能最终抓住一个可行的突破点。

“If we knew what we were doing, it wouldn’t be called research, would it?”

— Albert Einstein

以新药研发为例:制药科研团队可能需要合成和筛选成千上万种化合物,经历实验、临床等层层环节,最终才能找到一款安全有效的药物。而在这一过程中,大多数化合物都在研发过程中被淘汰。

换言之,科研人员需要广泛地“搜索”,才能找到那极少数有效的候选。而当某个候选被认为有希望时,验证它的有效性(比如细胞实验、动物实验、临床试验)虽然费时费钱,但流程上是清晰的:按照既定标准检验其安全性和疗效即可。

重大科学突破似乎同样如此。在突破发生之前,没有人能写出“攻略”指导你直达答案;科研工作者们常常要在迷雾中探索许久。但当成果诞生后再回头看,我们发现验证过程似乎很直接——只要按那个点子去做实验就行。比如物理学中预言新粒子的理论,一旦提出,验证只需按理论设计实验观测即可(虽然可能技术上很困难,但方向是明确的);然而提出这个理论本身,却凝聚了无数人的失败尝试和奇思妙想。

三、创业中的 NP 问题

从创业或商业角度,我们也能看到 NP 问题的缩影。企业在做战略决策或创新尝试时,常常面临大量不确定性:哪个产品会受欢迎?哪种商业模式可行?这些问题没有既定答案,只能通过实践去“试”。换句话说,企业寻找成功路径的过程就像在广阔的决策迷宫中摸索。而一旦某条道路被证明成功,回头来看便一目了然——那些选择似乎都是正确且必然的,这就是典型的“后见之明”效应。

“Amazon started out as an online bookstore. Netflix was once a company that mailed physical DVDs to peoples’ homes. In retrospect, these pivots seem like obvious moves (hindsight and all that). But at the time, these reinventions were massive risks.”

— Margy2

创业中的“搜索难”体现为:企业往往需要尝试多个产品和市场,经历几番 Pivot(策略转向)才能找到盈利模式。而“验证易”体现为:一旦策略落地,市场反馈会很快告诉你行或不行——成功的产品会被消费者买单,失败的尝试则很快显露无人问津。

正因如此,存在一种称为 “Fail Fast”(快速试错)的商业理念,鼓励创业者快速推出产品获取验证反馈。如果失败,就及时调整方向。这有些类似在现实中运用启发式和容错机制来对付“ NP 式”的商业难题。当看到苹果、亚马逊这些成功案例时,不应忽视的是:在那清晰辉煌的成功路径背后,曾隐藏着无数被剪枝掉的探索和试错。

关于 “Fail Fast” 模式的正反两面讨论很多,有兴趣可以自行搜索相关资料。

老头的科研风格可能也是这种理念的影响?

四、人生决策

人生中的重大决策——比如职业选择、婚姻伴侣、人生规划——同样带有 NP 问题的味道。我们总希望做出“最佳”选择,但现实是:在做决定时,我们往往无法穷尽所有选项,更无法预知每个选项的后果。

有限理性(Bounded rationality)

人类在决策过程中受限于信息不完全、认知能力有限以及时间成本等因素,因此不可能做到完全理性地寻求最优解。在这种限制下,理性的个体会选择令人满意的决策,而非最优的决策。

— Herbert A. Simon, Nobel Laureate in Economics, 1978

换句话说,我们的大脑没有能力像计算机那样枚举人生中的每一种可能路径然后比较优劣。许多时候,我们只能根据当下掌握的信息和直觉,选择一个看起来还不错的方案——这被西蒙称为“满意解”(Satisficing)而非最优解。

不仅理性受限,有些人生选择甚至根本无法以事前的逻辑分析来评判好坏。例如,每个人在人生的某个时刻,都会遇到一个十字路口:你是应该成为父母,还是继续过着不受孩子束缚的生活?你是决定接受这份工作,搬到一个新的国家,还是留在原地?

变革性体验(Transformative experience)

某些决定(例如是否要孩子、移居异国、从事截然不同的职业)会深刻地改变一个人,以致做决定时的“当前自我”根本无法设想决定后的“未来自我”的感受。

— Prof. L.A. Paul

在做父母之前,你很难真正预知为人父母的喜悦与牺牲;只有经历之后你才明白那种滋味。同样地,一个人在选择某职业或伴侣时,无法提前体验选择后的生活视角,因而也就无法完全用理性权衡哪条路更令自己将来幸福。这类决策的问题在于:选择会“改变做选择的你”,那我们又怎能指望在选择前就算出哪种改变对自己更好呢?从这个意义上看,人生中许多重大抉择更像是一次探索和体验,而非一道可精确计算的优化题。

面对这些不可规划的人生难题,我们往往只能边走边看、及时校正。在职业发展上,也许很少有人一开始就找到了毕生热爱的事业,更多的是在不同岗位的摸索中逐渐发现自己的兴趣与擅长;在感情生活中,我们也是通过与不同人格的交往逐渐明白什么伴侣最适合自己。这些都是一种渐进式的“搜索”过程。

启发式方法(Heuristic Method)

启发式方法是一种通过直觉、经验或规则快速找到“够好”解的策略,适用于难以用精确算法解决的问题。它不保证最优解,但能在较短时间内找到可接受的结果。

我们只能接受自己的理性是有限的,在决策时尽量多收集信息、借鉴经验(这相当于运用启发式缩小搜索范围),同时明白即使如此也难免有不完美甚至错误的决定。好在人生的韧性在于:大多数决策并非不可挽回,我们有机会在发现偏差时调整路径。这种试错和调整,正是我们应对人生 NP 难题的策略之一。

五、写在最后

也许,我们可以把 “NP 难题”看作人生的隐喻:无论从计算机科学的角度,还是从个人成长的旅程来看,总有一些目标注定无法在多项式时间内找到最优解。

面对这些“迷宫”——也就是那些看似无穷分叉、每一步都充满不确定性的决策节点——我们既可以执着于寻找那条全局最优、完美无误的捷径;也可以承认:在复杂系统中,不确定性与随机性本就不可回避。

不过,资源总是有限,时间、精力、信息获取能力也都有边界。与其苦苦追求“完美解”,倒不如采纳“可行”或“近优”解,把握好成本—收益比,将有限资源投入到最能带来成长与回报的环节。哪怕留下一定程度的遗憾,也并不妨碍我们在总体上获得充实和成就感。

科研中,做好文献调研确实大有裨益,但把调研做到极致,边际效用也许只会逐级递减?

——或许,答案并不在于找到那条完美无误的捷径,而在于:

  1. 欣赏探索的每一步,无论曲折还是偶得新知;

  2. 接受不确定性,并将其视为创造与学习的温床;

  3. 灵活调整策略,在实践中不断逼近“更好”的方向。

当我们学会把目光从“必须得出唯一最优解”转移到“持续改进与适应”上,人生的迷宫便不再是令人沮丧的困境,而是一段段蕴含意义的旅程。


  1. 注:关于 NP-Complete、NP-Hard、NP 和 P 问题更深入的分析不在本文讨论的范畴内,这些问题的集合关系可以参考本文封面图。 ↩︎

  2. How to Make a Big Pivot in Your Business Without Risking Everything↩︎