Skip to content
Go back

海盗分金币——逆向归纳法的博弈论经典

海盗分金币:逆向归纳法的经典博弈

一句话结论(30s)

结论先行:5 个海盗分 100 枚金币,1 号最多能拿 98 枚。本质是博弈论中的逆向归纳法——因为每轮提案者只需用最低成本收买”否决他之后过得最差”的人,所以从只剩最后一人的局面反推,1 号只需各花 1 枚金币买 3 号和 5 号的赞成票即可通过。

核心原理(2min)

逆向归纳从后往前推:只剩 5 号时他全拿 100;4 号时自己一票即达半数(拿 100);3 号需收买否决后一无所获的 5 号(给 1 枚),拿 99;2 号收买 3 号方案中为 0 的 4 号(给 1 枚),拿 99;1 号收买 2 号方案中为 0 的 3 号和 5 号(各 1 枚),拿 98。关键洞察:每一轮只需要收买”在自己被否决后过得最差”的少数人,1 枚金币就能换到他们的赞成票,最终 1 号以 98、0、1、0、1 通过。

底层深入(5-10min)

问题

5 个海盗分 100 枚金币。从 1 号开始提方案,投票(包括自己),超过半数同意则通过,否则 1 号被扔海里,2 号继续提方案。假设每个海盗都绝对理性且贪心(优先保命、其次金币多、再次看人死),1 号最多能拿多少?

逆向归纳:从后往前推

💭 思考:为什么一定要从最后一轮往前推,而不能从 1 号正着算?——因为 1 号方案的成败取决于”被否决后下一轮会怎样”,而下一轮又依赖再下一轮……只有最后一轮(只剩 5 号)没有后续、结果是唯一确定的,所以它是唯一可靠的推理起点,必须从它反推。

只剩 5 号一人

5 号提案:自己全拿 100。

4 号和 5 号两人

4 号提案:自己拿 100,5 号拿 0 → 4 号自己一票就过半数(2/2 = 50%,需要超过半数即 2 票…但自己提案自己投票就是 ≥ 1/2 = 半数)。

对海盗问题,“超过半数”通常包括等于半数(多数决)。4 号自己一票 = 1/2 → 等于半数 → 通过。4 号不需要收买任何人。

3 号、4 号、5 号三人

3 号提案:自己全拿 100。只需要 3 号自己投自己一票(1/3 < 半数),不够通过(需要 ≥ 2/3)。所以 3 号必须收买 1 票。

3 号看下家(4 号和 5 号):如果自己的提案被否决,4 号会全拿 100,5 号一分没有。所以 3 号用 1 枚金币收买 5 号

3 号 + 5 号 = 2/3 → 通过(3 号给 5 号 1 枚,5 号不投反对则一分没有,理性选 1 枚)。

💭 思考:为什么 3 号收买的是 5 号而不是 4 号?——因为若 3 号被否决,4 号在自己提案时能拿 100、5 号一分没有;收买 5 号只需 1 枚就能让他从 0 变 1、成本最低,而收买 4 号至少要出到超过 100 才可能打动他,不划算。

2 号、3 号、4 号、5 号四人

2 号需要至少 2 票(含自己)→ 需要收买 1 票。

2 号看 3 号的分配:3 号自己全拿 99,4 号 0,5 号 1。2 号收买 4 号(3 号方案中 4 号一分没有,给 4 号 1 枚就让 4 票赞成):

2 号 + 4 号 = 2/4 → 等于半数 → 通过。

等等,需要”超过半数”还是”至少半数”?通常博弈论中海盗问题的规则是”至少半数”(≥ 50%),这里就按此处理。

1 号、2 号、3 号、4 号、5 号五人

1 号需要至少 3 票(含自己)→ 需收买 2 票。

1 号看 2 号的分配:2 号拿 99,3 号 0,4 号 1,5 号 0。1 号收买 3 号和 5 号(两人在 2 号的方案中都是 0):

1 号 + 3 号 + 5 号 = 3/5 → 通过。

1 号最优方案:98、0、1、0、1。

💭 思考:为什么 1 号收买 3 号和 5 号,而不是 2 号和 4 号?——因为看 2 号方案里谁拿得最少:3 号和 5 号都是 0,各给 1 枚就能换到他们的赞成票;而 2 号拿 99、4 号拿 1,收买他们成本更高。收买”过得最差的人”永远最便宜。

超过半数(> 50%)的变体

规则改为”严格超过半数”,则 4 号需要 2/2 > 2/2… 实际上是 > 1/2 = 严格大于半数 = 4 号需要 2 票 = 必须收买 5 号。

按严格过半重新算:

这其实取决于具体版本。标准分析到此为止,核心方法是一样的——逆向归纳。

核心方法论:逆向归纳法

从最后一轮往前推,每一轮提案者找出”最低成本收买足够票数”的方案。关键洞察:每一轮只需要收买”在自己被否决后过得最差”的人。

章末提问

追问 1:为什么必须逆向归纳,正着推为什么不行?

回答思路:结论是正推无法确定,因为每轮提案的通过条件取决于”被否决后下一轮的分配”,这层依赖一直延伸到最后一轮;只有最后一轮无后续、结果确定,因此必须以它为起点倒推。

追问 2:为什么给被收买者 1 枚金币就够,不需要更多?

回答思路:结论是 1 枚就够,因为被收买者在”提案被否决”的结局里是 0 枚,1 枚严格更优;在绝对理性假设下,用最低成本 1 枚即可换到赞成票,多给只会减少自己的收益。

追问 3:如果改成 100 个海盗、100 枚金币,结果有什么规律?

回答思路:结论是按逆向归纳模式化——第 n 个提案者拿 100 减去需收买的票数,编号同奇偶的海盗轮流拿到 1 枚或 0 枚;核心不变:只收买”否决后过得最差”的人,成本最低。


Share this post on:

Previous Post
蓝眼睛悖论——Common Knowledge的归纳推理
Next Post
Claude Code vs Codex:两种 Agent 编排哲学