有 100 个选项,依次出现,只能选择一次。看得太少,可能过早接受一个普通选项;看得太多,最好的又可能已经被放走。

在一组明确条件下,数学给出的办法是:先让大约 37% 的选项经过,用它们建立标尺,再选择后面第一个超过既有标尺的选项。这就是秘书问题中著名的 37% 法则。

一个人在依次排列的门之间停步,身后一些门已关闭,前方仍有尚未打开的门
顺序选择与无法回头的概念插画。画中的门没有真实评分,也不代表特定人生阶段。

先把游戏规则说完整

这个结论讨论的,是经典秘书问题:[1]

  • 候选总数事先已知,只能选一个。
  • 候选有明确的优劣次序,没有并列;出现顺序是均匀随机的。
  • 每次只能判断当前候选在已经见过的人中排第几。
  • 接受就结束;拒绝后不能回头。
  • 只有选中全体第一名才算成功,第二名和最后一名都记为失败。

这最后一条尤其重要。只要目标改成“前几名也满意”,或者允许回头再选,优化的就已经是另一个问题。

观察期,换来一把可以使用的标尺

  1. 先观察:跳过前面一段候选,记住其中最好的人。
  2. 再比较:继续逐个观察,遇到比之前所有人都好的人就接受。
  3. 结束选择:接受后停止;若直到最后仍无人超过标尺,也无法找回已拒绝的人。

假设前 37 个候选只用来观察,第 38 个开始进入选择期。这里的“第一个超过标尺”,指比所有已见过的候选都好,并不保证他是最后的全体第一名。

策略可能在两种情况下失败:真正最好的人已经出现在观察期;或者他尚未出现,你却先接受了一个刷新纪录、但最终排名较低的人。

用十个候选,把规则走一遍

为了看清每一步,构造一个十人例子。下表中的数字是事后才知道的最终名次,1 最好;作决定的人当时只能比较已经出现的候选,不能偷看后面的名次。先观察前三人,再接受后面第一个刷新纪录的人。

出现位置事后知道的最终名次当时能做的比较与决定
第 1~3 人7、4、5只观察、不选择;第二位候选暂时最好,成为标尺。
第 4~7 人6、9、8、10都不如已见过的第二位候选,继续等待。
第 8 人1比此前所有人都好,立即接受;这一次恰好选中全体第一名。
第 9~10 人3、2选择已经结束,后面的候选不会再改变决定。

同样的规则也可能失败。若观察期内已经出现全体第一名,后面便再也没有人能超过标尺;若选择期先出现一个刷新纪录的第二名,就会在第一名出现之前停止。知道规则最优,并不能让人提前识别这两种结局。

37%,来自两种风险的平衡

观察期太短,标尺可能过低,很容易提前停止。观察期太长,又会把更多真正的第一名挡在可选范围之外。

设前面跳过 r 人,总数为 N,成功概率可以写成:

P(r) = (r/N) × [1/r + 1/(r+1) + … + 1/(N−1)]

这个式子也可以按“第一名出现在哪个位置”来理解。假设第一名出现在第 k 位:它落在这个位置的概率是 1/N。为了等到它,前 k−1 人中的最好者必须位于最初跳过的 r 人里,概率为 r/(k−1);否则,策略会更早接受一个刷新纪录的人。把 k=r+1 到 N 的这些成功情形相加,就得到上式。

如果反复随机打乱候选顺序、每次按同一规则选择,记录“选中全体第一名”的比例,就能画出观察期长度与成功率的关系。重复次数越多,频率通常越接近理论概率;模拟次数本身不会提高一次选择的胜算。

人数很多时,令观察比例 x=r/N,上式近似为 −x ln x。它在 x=1/e≈36.8% 附近达到最高点,成功概率也趋近约 36.8%。

观察期占比与选中第一名的概率按大样本近似函数负x乘自然对数x计算。观察比例从零增加时成功概率先升后降,在一除以e、约百分之三十六点八处达到相同数值的最高点。0%20%40%60%80%100%观察期占比0%10%20%30%40%选中第一名的概率约36.8%
大样本近似 P(x)=−x ln x。横轴是先观察但不选择的候选比例;纵轴是最终选中全体第一名的概率。这是按公式计算的曲线,未使用模拟或观测数据。

计算条件与图中数据

有限人数需要选一个整数阈值。根据有限公式计算,100 人时跳过前 37 人,选中全体第一名的概率约为 37.10%;10 人时跳过前 3 人,概率约为 39.87%。因此,1/e 是大样本极限,不能要求每个规模都恰好等于同一个百分数。[2]

数学约束的是“选中第一名”的概率,没有给一个人的遗憾程度划出上限。未选中第一名,也未必意味着所得毫无价值。

把目标改成“平均选得更好”

经典问题把第二名也判为失败。另一种合理目标,是尽量降低最终所选候选的平均名次。

在保留随机顺序、只能观察相对名次和不能回头等条件时,最优规则会随阶段调整:开始时只接受当前最好的,后期逐渐允许当前第二、第三等候选。大样本下,最优期望名次趋近约 3.87。[2]

“平均名次约 3.87”不等于“每次保证选中前四名”。它把整个结果分布折算成了一个平均值,单次结果仍可能更差。

从数学模型回到实际选择

招聘、选房、求职或亲密关系,往往不知道未来有多少选项,候选也未必随机出现。人们可以获得绝对信息,改变标准,有时能够回头,还会遇到双向选择。这些条件都会改变答案。

例如,把 18~40 岁当作寻找期,计算 18+(40−18)×0.37≈26.1,并不能推出“26.1 岁最该作决定”:年龄长度不是已知数量、随机排列的候选序列。模型真正揭示的是一个可讨论的取舍:先花多少机会学习标准,再愿意为当下选项结束寻找。要讨论具体选择,需要先明确机会、信息和目标分别是什么。

寻找的阶段可以帮助人理解自己重视什么;决定的阶段则需要承担结束寻找的代价。用模型整理这种取舍,既能提醒自己适时行动,也能为已经认真作过的选择留一点余地:好的方法,仍然会遇到不如意的结果。