MATH · 数学与概率芒格亲口讲过

027排列组合(费马–帕斯卡概率)Permutations and Combinations

先把所有可能的结果数清楚,再按概率加权;别让直觉替你估算几率。

01原理

排列组合解决的是“数数”的问题:一件事一共有多少种可能的结果,其中多少种是你在乎的。数清楚了,概率就是两者之比;再给每种结果配上收益或损失,就得到期望值和风险。芒格把它叫作费马/帕斯卡系统,是因为 1654 年这两人在通信里第一次把“机会”变成了可以计算的东西。它属于中学代数,几乎不需要什么新知识。

芒格强调的不是公式,而是习惯。他的意思很直白:这门数学不难,难在几乎每天都拿出来用。原因是人脑天生的估算方式是一种粗糙的捷径,里面有一点概率的影子,但不够好,就像天生的挥杆动作打不好高尔夫,必须换一种握法重新练。不练的人,在每一次需要估算几率的竞争里都把优势让给了对手。

对小公司来说,这个模型最常出现在三类问题里:一串步骤全部成功的概率是多少(相乘);多次尝试里至少成功一次的概率是多少(用 1 减去全部失败);一个系统一共有多少种状态需要测(组合数)。这三个问题的直觉答案几乎总是错的,而且错的方向很固定:高估链条的可靠性,低估重复尝试的价值,低估状态空间的大小。

为什么成立

直觉出错的数学根源在于乘法。人脑习惯加法式的感受:每一步都“挺靠谱”,整体也就“挺靠谱”。但独立事件要相乘:每步 95% 成功、连续 20 步,全部成功只剩约 36%;每步 99%,20 步后也只有约 82%。反过来,单次成功率只有 10% 的事情,独立尝试 20 次,至少成功一次的概率接近 88%。组合数增长得更快:10 个各有开和关两种状态的开关,就有 1024 种组合。

费马的办法是把所有可能的未来都列出来再数,帕斯卡的办法是从结尾往回一步步求平均。前者直观,但结果一多就列不完;后者能处理更大的问题,也就是后来决策树的雏形。两种方法共同的前提是:各种结果的可能性要估得对,事件之间是否独立要想清楚。乘法放大精确,也放大错误;独立性假设一旦错了,算得越精确,离真相越远。

02芒格怎么说

芒格在 1994 年南加州大学商学院的演讲《关于普世智慧的基本一课》里,把排列组合排在复利之后,列为第二个人人必备的数学模型。他特意把它叫作“费马/帕斯卡系统”,说难的不是学会,而是养成每天都用的习惯;人脑天生只会粗糙的近似估算,不练就会在一辈子的竞争里吃大亏。他还说巴菲特的长处之一,就是会自动用决策树和排列组合来想问题。

It’s not that hard to learn. What is hard is to get so you use it routinely almost every day of your life.

它并不难学。难的是让自己几乎每天都习惯性地用它。

同一场演讲,讲费马与帕斯卡用通信建立起概率论之后 · A Lesson on Elementary, Worldly Wisdom As It Relates To Investment Management & Business(南加州大学马歇尔商学院演讲稿)
then you go through a long life like a one-legged man in an ass-kicking contest.

(如果不把这门初等概率学进脑子里,)那你这一辈子就像一个独腿人去参加踢屁股比赛。

同一场演讲,解释人脑为什么天生不会这样算、必须刻意练习 · A Lesson on Elementary, Worldly Wisdom As It Relates To Investment Management & Business(南加州大学马歇尔商学院演讲稿)

03怎么用

  1. 01

    给智能体流程算“链条成功率”

    把一个自动化流程(比如“读工单—查库—改代码—跑测试—提交”)拆成步骤,给每一步估一个成功率,然后相乘。如果乘出来低于你能接受的水平,优先做三件事:减少步骤,在关键步骤后加校验让错误不往下传,或者在人最容易发现错误的地方插入人工确认。不要只盯着把某一步从 90% 提到 92%,砍掉一步往往更划算。

  2. 02

    评测看“连续 k 次都对”,不看“跑通过一次”

    演示时跑通一次,只说明成功率大于零。上线前对同一批任务各跑多次,记录每个任务成功了几次,再估算连续 k 次都成功的概率。对客户来说,一个十次里错三次的功能和一个从不出错的功能,是两种完全不同的产品;定价、服务承诺和人工兜底都应按前者来设计。

  3. 03

    用“1 减全部失败”估算重复尝试

    冷启动获客、投简历、发融资邮件、对模型多次采样再挑最好的,都是“至少成功一次”的问题。先估单次成功率 p 和尝试次数 n,算 1-(1-p)^n,再看边际收益在哪里变平。这能帮你决定是继续加量,还是回头提升单次质量。但要先确认这些尝试真是独立的:同一个渠道里发同一封模板邮件,失败原因很可能是同一个。

  4. 04

    上线前先数状态空间

    功能开关、模型版本、提示词版本、套餐等级、地区,这些维度相乘就是你的系统实际可能处在的状态数。先算出这个数,再决定是全部覆盖、只测两两组合,还是抽样。数出来的结果常常会让团队意识到:缺陷不是“偶然”冒出来的,而是大量组合里本来就没人测过的那几种。

04案例

经典案例1654 年

点数问题:费马和帕斯卡怎么分一场没打完的赌注

据记载,赌徒德·梅雷骑士(安托万·贡博)向帕斯卡提出一个问题:两人约定先赢若干局者拿走全部赌注,比赛中途被打断,钱该怎么分?早在 1494 年,帕奇奥利给出的办法是按已经赢下的局数比例分配,后来塔塔利亚指出这种分法在只打了一局时会得出荒唐结果。帕斯卡与费马在通信中给出了正确答案:要看的不是已经赢了多少,而是各自还差多少。费马把剩下最多还要打的局数全部列出来,数每种结局里谁赢;帕斯卡则从终点往回逐步求平均,并用组合数写出了通式。举一个编者自己按费马列举法演算的例子:打到 10 局、比分 7 比 5 时,领先者还差 3 局,落后者还差 5 局,最多再打 7 局,128 种等可能结果里领先者赢 99 种,赌注应按 99 比 29 分。这正是芒格说的“费马/帕斯卡系统”:把未来所有可能的结果数清楚,再按比例分配价值。[2][1]

经典案例1999–2003 年

莎莉·克拉克案:把不独立的事件相乘

英国律师莎莉·克拉克的两个儿子分别在 1996 年 12 月和 1998 年 1 月婴儿期死亡,她在 1999 年 11 月被判谋杀。儿科医生罗伊·梅多在庭上作证:像她这样的家庭,一个婴儿猝死的概率约为八千五百四十三分之一,两个都猝死就是这个数的平方,约七千三百万分之一。这个数字有两处致命错误。第一,两次死亡发生在同一个家庭,遗传和环境都相同,并不独立,直接相乘会把概率压得极低;英国皇家统计学会在 2001 年 10 月 23 日发表声明,指出这个数字没有统计依据。第二,许多报道把它当成了“她无辜的概率”,而真正该比较的是“两次猝死”和“两次谋杀”哪个更可能。克拉克在 2003 年 1 月第二次上诉后被撤销定罪。乘法本身没错,错在没检查独立性,又把结果放进了错误的问题里。[3]

AI 团队2024 年 3 月—2025 年 1 月

Devin:基准上的 13.86%,落到真实任务里的 3/20

Cognition 在 2024 年 3 月 15 日发布技术报告:其编码智能体 Devin 在随机抽取的 570 个 SWE-bench 问题里解决了 79 个,成功率 13.86%,远高于此前无辅助条件下最好的 1.96%;即使直接告诉模型该改哪些文件,此前最好成绩也只有 4.80%。报告也说,Devin 能执行多步计划并从环境中获得反馈。2025 年 1 月 8 日,研究实验室 Answer.AI 的三位作者发表了一个月的实测记录:他们交给 Devin 20 个任务,成功 3 个、失败 14 个、无法判定 3 个;看似简单的任务常常花掉几天,Devin 还会在不可能完成的方向上持续推进,而不是识别出根本障碍。从排列组合的角度看,这并不奇怪:真实任务的步骤更多、每一步出错后还会把后面的步骤带偏,整体成功率是各步成功率的乘积,而不是平均值。对小团队的启示是,评估一个智能体要看你自己的任务链有多长,而不是看它在别人的基准上得了多少分。(Cognition 和 Answer.AI 的人数这里不做断言。)[4][5]

AI 团队2024 年 6 月

τ-bench 的 pass^k:用组合数衡量“每次都对”

客服智能体公司 Sierra 的研究者在 2024 年 6 月发布 τ-bench,让智能体在模拟用户对话中调用工具、遵守业务规则(Sierra 不是 10 人以内的小团队,这里看的是它的方法)。他们提出 pass^k 指标:对每个任务跑 n 次、成功 c 次,用 C(c,k)/C(n,k) 估计“随机抽 k 次全部成功”的概率,再对所有任务求平均。结果是 gpt-4o 在零售场景单次成功率 61.2%,而 pass^8 低于 25%。这个指标把芒格的老道理变成了一个可以每天看的数:单次能做到,和每次都能做到,中间隔着一个乘方。做客服、财务、运维这类“错一次就要道歉”的产品,应该把 pass^k 而不是 pass^1 当作上线门槛。[6]

05误用与边界

  • 默认独立

    相乘的前提是事件互不影响。同一个模型、同一套提示词、同一个数据源、同一个家庭,失败往往是相关的:一处出错,处处出错。这时直接相乘会严重低估“同时出事”的概率,也会高估“多试几次总能成”的概率。先问一句:这些事件有没有共同的原因?

  • 算对了数,回答错了问题

    “在无辜的前提下出现这种证据的概率”不等于“出现这种证据时无辜的概率”。同理,“好产品里有 90% 都留存很高”不等于“留存很高的产品有 90% 是好产品”。算出一个概率后,先用一句话写清楚它是在什么条件下、关于什么事件的概率,再拿去做决定。

  • 拍脑袋的输入,精确的输出

    把三个凭感觉估的成功率相乘,得到一个小数点后两位的数字,看起来很科学,其实只是把猜测包装了一遍。输入越不可靠,越应该给区间、做敏感性分析,看结论在合理范围内会不会翻转,而不是相信某一个点值。

  • 组合爆炸时还硬要列举

    费马的列举法在结果一多时就不实用了。状态空间成千上万时,硬要全覆盖只会让团队放弃测试。这时应换成帕斯卡式的分步递推、抽样,或者只测最可能出问题的组合,承认剩下的风险并为它准备兜底。

06检查清单

下次做相关决策前逐条过一遍。勾选只保存在你的浏览器里。

0 / 6

08来源

  1. 1
  2. 2
    Problem of pointsWikipedia二手
  3. 3
    Sally ClarkWikipedia二手
  4. 4
    SWE-bench technical reportCognition · 2024一手
  5. 5
    Thoughts On A Month With DevinHamel Husain, Isaac Flath, Johno Whitaker(Answer.AI) · 2025一手
  6. 6
    τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World DomainsShunyu Yao, Noah Shinn, Pedram Razavi, Karthik Narasimhan(Sierra) · 2024一手