一场没赢,拿了冠军
上一章证明了合作可以站住。这一章问一个不一样的问题:在一群什么都有的对手里,什么样的策略活得最好?1980 年有人真的办了一场比赛来回答它,结果颠覆了很多人的预期。这一章把那场比赛重做一遍,然后把里面最反直觉的一条拎出来——它是一条可以证明的定理,不是运气。
十六个策略进行循环赛,每两个打 200 轮重复囚徒困境,按总分排名。选手里什么都有:永远合作的老好人、永远背叛的铁石心肠、以牙还牙、记仇、掷硬币、专门试探软柿子的、反着来的……
问:谁的总分最高?
再预测一个数:冠军在两两单挑里赢了多少场?
先把比赛跑出来
下面这台引擎会当场跑完整场循环赛(每个策略也和自己打一场,收益表用第 3 章那组 T=5 R=3 P=1 S=0)。你可以把任何选手勾掉再跑一次。
结果
无噪声、每场 200 轮时,排名是这样的(完整榜单在上面的 demo 里):
| 名次 | 策略 | 总分 | 单挑战绩 |
|---|---|---|---|
| 1 | 慷慨以牙还牙(照抄对方,但有一成概率原谅) | 8680 | 胜 0 平 9 负 6 |
| 2 | 以牙还牙 | 8604 | 胜 0 平 12 负 3 |
| 3 | 强硬公平 | 8600 | 胜 0 平 13 负 2 |
| … | |||
| 16 | 铁石心肠(永远背叛) | 6140 | 胜 13 平 2 负 0 |
两件事同时发生了:
第一,冠军单挑一场都没赢过。慷慨以牙还牙 15 场单挑,赢 0、平 9、输 6。
第二,单挑成绩最好的那个排最后。铁石心肠单挑赢 13 场、平 2 场、一场没输——完美的战绩,垫底的总分。
为什么会这样
因为这场比赛记的是总分,不是胜负。而囚徒困境不是零和游戏:你多拿一分,不等于对方少拿一分。
铁石心肠遇到谁都能占一点便宜,但它占的是「1 分对 1 分」的便宜——两边都背叛,各得 1。它赢了对局,输了绝对量。而以牙还牙这一族,跟同类相遇时是「3 分对 3 分」,一起吃到 200 轮 × 3 = 600 分。
换个说法:铁石心肠擅长把蛋糕切得对自己有利,以牙还牙一族擅长让蛋糕变大。在一个大家反复相遇的世界里,后者的复利远远压过前者。
那个「赢 0 场」不是巧合,是定理
请看 demo 下面那张分差表:以牙还牙和每一个对手的分差,没有一个正数。
这是可以证明的。以牙还牙有一条铁律:它从不先背叛。所以在任何一场对局里,它和对手之间只可能出现三种回合:都合作(3 对 3,不拉开差距)、对方先背叛它挨一刀(0 对 5,它落后)、它回敬对方(5 对 0,追平一刀)。
每一刀都是对方先砍的,以牙还牙最多把这一刀还回去。所以它的分数永远不可能超过对手——最好也就是打平。
请把这句话和排名放在一起读:一个在数学上不可能赢过任何单个对手的策略,赢了整场比赛。
「赢」这个词有两个完全不同的意思,日常语言把它们混成了一个:
- 比对方多(相对)——零和思维,看的是差距;
- 自己拿得多(绝对)——看的是总量。
在零和的局里两者一致。在这本书讨论的大多数局里,它们不一致,而且经常方向相反。
一个实用的推论:当你发现自己在意「有没有被占便宜」多过「自己拿到了多少」时,你正在用铁石心肠的打法参加一场记总分的比赛。
加一点手滑,冠军就换人
现在把噪声打开:每一手有 1% 的概率被按错(想合作却出成了背叛)。这在现实里再常见不过——邮件漏回、交付晚了一天、有人误解了你的意思。
以牙还牙在这里出了名地脆弱。两个以牙还牙对打,一旦有一方手滑,就会陷入「你背我背你背我背」的死循环:手滑一次,两边都还回去,再还回去……结果是 3.0000 掉到 2.8100。
而慷慨以牙还牙(一成概率原谅)在同样的噪声下拿到 2.9450,赢守输改拿到 2.9250。它们都能从误会里爬出来。
把噪声打开后重跑整场比赛,冠军换成了软多数(只要对方合作的次数不少于背叛,就继续合作)——一个比以牙还牙更迟钝、也更宽容的策略。
这个结果的教训很实在:在一个会出错的世界里,「有仇必报」是一种昂贵的美德。你需要一点点主动的、无条件的宽容,专门用来吸收噪声。
1980 年,政治学家 Robert Axelrod 向全世界的博弈论学者征集程序,办了一场循环赛。Anatol Rapoport 提交的以牙还牙——一个只有四行代码的策略——拿了第一。Axelrod 公布结果后又办了第二届,参赛者都知道了第一届的结果,以牙还牙又拿了第一。
Axelrod 从中总结了四条性质,至今仍是这一整块领域最常被引用的东西:
- 善良——从不先背叛。前几名清一色是善良的。
- 报复——被欺负要还手,否则会被当软柿子(demo 里的「老好人」排 11)。
- 宽容——还完手就翻篇,不记仇(记仇排第 5,比以牙还牙低)。
- 清晰——让对方容易看懂你的规则。看不懂的策略没法跟你建立合作。
需要说清楚的一点:这些结论取决于参赛的那一池选手。如果一场比赛里全是铁石心肠,那么以牙还牙也拿不到高分——它会被拖到 P。上面 demo 的开关就是为了让你验证这一点:把善良的选手全勾掉再跑一次,榜单会完全变样。这本身就是一个结论:一个策略好不好,取决于它周围是什么人。
《打分》里那句「它会精确地最大化你写下的东西,而不是你想要的」在这里换了一副面孔:这场比赛的排名规则(记总分而不是记胜负)决定了冠军是谁。换一条排名规则,同一批选手会选出完全不同的冠军。如果按「赢的场次」排,冠军立刻变成铁石心肠。
这也是第 19 章的预演:同一份数据,换一种计分法,换一个赢家。
「在竞争里,不吃亏是底线。一个从来赢不了对手的策略不可能是好策略。」
「不吃亏」是相对量,「拿得多」是绝对量。这两个目标在非零和的局里经常打架,而生活里绝大多数局是非零和的。
怎么判断自己面对的是哪一种?问一句:我们两个人的收益加起来,会不会因为我们的选择而变化?会变,就是非零和,此时盯着差距是在自伤。
顺带说,这也解释了为什么「宁可自己少赚也不能让他多赚」这种情绪在商业里代价这么大——它是把一场记总分的比赛,硬按胜负来打。
正确答案是 B:以牙还牙一族。冠军是慷慨以牙还牙(总分 8680),亚军以牙还牙(8604)。而冠军在单挑里赢了 0 场,还输了 6 场。
A 「铁石心肠不吃亏」——它确实一场没输,单挑赢了 13 场。而它总分 6140,垫底。这个答案错得非常有价值:它精确地演示了「不吃亏」和「拿得多」是两回事。 C 「更聪明的策略」——这是 Axelrod 当年最意外的发现之一。复杂策略的问题在于不清晰:对方读不懂你的规则,就无法与你建立稳定的合作,于是复杂性带来的收益被合作的破裂吃掉了。demo 里的「试探者」排第 10,正是这个下场。 D 「掷硬币」——不可预测确实让人无法针对你,但也让人无法与你合作。它排第 15,只比铁石心肠好一名。在重复博弈里,可预测是一种资产,不是弱点。这一点和第 2 章的单次博弈正好相反——那里可预测是致命的。差别在于:单次博弈里对方只能利用你,重复博弈里对方还能跟你合作。你的团队里出现了「有仇必报」的死循环:两个人因为一次误会互相卡对方的评审,越卡越僵。加罚款没用(他们都觉得自己有理)。改什么?
双方都用以牙还牙 + 1% 手滑 ⇒ 一次误会启动无限对轰 ⇒ 双方收益从 3.0000 掉到 2.8100,而且掉下去就上不来。 加一条「无条件重置」规则:每个迭代周期开始时,历史清零,第一手必须合作 ⇒ 相当于给系统装了慷慨以牙还牙的原谅概率 ⇒ 收益回到 2.9450 附近。这个改动的关键不是「让大家和好」,而是给系统一个逃出对轰的出口。噪声是不可避免的,所以必须有人先无条件地伸一次手——而把这件事写成规则,就没人需要当那个先低头的人。
这一章的一句话
在一场记总分的比赛里,从不先动手、被打就还手、还完就翻篇的策略活得最好;而它之所以能赢,恰恰因为它在任何一场单挑里都赢不了。
下一章问一个上一章遗留的问题:如果这段关系本身就不长呢?如果对方明天就换个账号重新开始呢?答案是把「以后」这件事从关系里剥离出来,变成一个可以携带的资产——声誉。它同样有一个可以算出来的门槛:当掺假被抓到的概率从 100% 掉到 20%,维持诚实所需要的关系长度从 2.67 次涨到 9.33 次。