同一份选票,五种算法,五个赢家
这一章的实验很简单:拿 45 张已经填好的选票,一个字都不改,用七种不同的计票方法数一遍。七种方法都是现实中真的有国家、有组织在用的,没有一种是编出来陷害谁的。数出来的赢家有五个人——五个候选人全中。这件事的含义比它听起来严重:它意味着「多数人的意愿」这个东西,在候选人超过两个时,可能根本没有定义。
五个候选人:甲、乙、丙、丁、戊。45 位选民,每人交上来一份完整的排序。
问:如果换一种计票方法(都是正经的、有人在用的方法),赢家最多可能变成几个人?
那 45 张选票
选民按偏好分成五组,每组内部的排序完全一样:
18 人:丁 > 戊 > 甲 > 丙 > 乙 13 人:乙 > 丙 > 戊 > 甲 > 丁 7 人:丙 > 乙 > 甲 > 丁 > 戊 4 人:戊 > 丁 > 甲 > 乙 > 丙 3 人:乙 > 丙 > 戊 > 丁 > 甲 ──── 45 人
就这些。没有隐藏条件,没有弃权,而且——这一点特意挑过——七种方法里没有任何一种出现平票,每一个赢家都是干干净净地胜出的,不需要靠任何破平规则。
七种数法
| 计票法 | 它在数什么 | 赢家 |
|---|---|---|
| 简单多数 | 只看第一名,谁的第一名票多谁赢 | 丁(18 票,第二名 16) |
| 两轮决选 | 前两名进第二轮,其余人的票转移 | 乙(23 比 22) |
| 排序复选(IRV) | 每轮淘汰最后一名,票往下传 | 乙 |
| 波达计分 | 排第 k 名给 (5−k) 分,加总 | 戊(102 分) |
| 孔多塞两两对决 | 每两人捉对比一次,全胜者赢 | 丙(4 胜 0 负) |
| 库姆斯淘汰 | 每轮淘汰「最多人排在最后」的那个 | 丙 |
| 末位淘汰计数 | 数谁被排在最后的次数最少 | 甲(只有 3 人把他排最后) |
五个不同的赢家:丁、乙、戊、丙、甲。五个候选人一个不落。
而每一种方法都在现实中被用着:简单多数是英美的国会选举;两轮决选是法国总统选举;排序复选是澳大利亚众议院和一些美国城市;波达计分是斯洛文尼亚的少数族裔席位,也是很多体育奖项的评选方式(比如 MVP 投票);孔多塞方法被一些开源社区用来选技术方案。
最刺眼的那一对
把两两对决的结果单独拉出来看。每两个人捉对比一次,赢的场次是:
丙 4 胜 0 负 ← 跟任何一个人单挑都赢 乙 3 胜 1 负 丁 2 胜 2 负 戊 1 胜 3 负 甲 0 胜 4 负 ← 跟任何一个人单挑都输
现在把它和上面那张表对照:
甲在两两对决里一场都没赢过。把甲和任何一个其他候选人放在一起,让这 45 个人选,甲都会输。
而甲赢了「末位淘汰计数」这一场选举。
这不是计票错误。末位淘汰计数只数「谁被排在最后的次数最少」,而甲在几乎所有人的名单上都排在中间——他不是任何人的最爱,但也不是任何人最讨厌的。这套方法奖励的正是这种人。
与此同时,孔多塞方法选出的丙,在简单多数里只拿到 7 张第一名票,排第四。
这两句话都是真的:甲是「最少人反感的人」,甲也是「跟谁比都会输的人」。而选举制度必须在这两句话之间做一个选择——它没法两边都要。
那孔多塞方法是不是更好
「跟谁单挑都赢」这个标准非常有说服力。可它有一个致命问题:孔多塞赢家不一定存在。
三个选民,三个候选人:
选民 1:甲 > 乙 > 丙 选民 2:乙 > 丙 > 甲 选民 3:丙 > 甲 > 乙 两两对决: 甲 对 乙 —— 2 比 1,甲赢 乙 对 丙 —— 2 比 1,乙赢 丙 对 甲 —— 2 比 1,丙赢 ★ 甲胜乙,乙胜丙,丙胜甲。一个转不出去的圈。
集体偏好在这里不满足传递性——而每一个个体的偏好都是传递的。这就是孔多塞悖论,孔多塞侯爵在 1785 年就写下了它。
请注意这件事有多严重:它不是说我们还没找到好的计票方法,而是说「集体更偏好谁」这句话本身可能没有意义。你可以问「甲和乙里集体更喜欢谁」,得到明确答案;但把这些答案拼起来,拼不出一个排序。
1951 年,Kenneth Arrow 把这件事推到了极致。他要求一个「把个人排序合成集体排序」的方法满足几条听起来毫无争议的性质:
- 无限制定义域——不管选民怎么排,都得给出结果;
- 一致性——如果所有人都觉得甲比乙好,结果里甲就得比乙好;
- 无关选项独立性——甲和乙谁排前面,不能取决于丙的存在;
- 非独裁——结果不能永远等于某一个人的排序。
他证明了:候选人有三个或以上时,同时满足这四条的方法不存在。
这不是「还没找到」的问题。它是一条不可能定理,和「不存在最大的素数」是同一种性质的陈述。Arrow 因此在 1972 年获得诺贝尔经济学奖,那年他 51 岁,至今仍是最年轻的经济学奖得主。
无关选项独立性:最容易被违反的那一条
四条里最不显然的是第三条,值得单独看。它说:甲和乙谁更受欢迎,不应该取决于丙在不在场。
听起来天经地义。可上面 demo 里的引擎当场验证了三处违反:
- 简单多数:把乙(一个输家)从名单里划掉再数一遍,赢家从丁变成丙。
- 波达计分:把甲划掉,赢家从戊变成丙。
- 末位淘汰计数:把丁划掉,赢家从甲变成丙。
被划掉的都是没赢的人。他们的存在改变了别人之间的胜负。
这就是现实政治里「分票」现象的数学形式:一个注定选不上的候选人参选,可以完全改变结果。这一点在很多真实选举里被反复讨论过(美国 2000 年总统大选中 Nader 的参选是最常被引用的例子,尽管具体影响一直有争议)。
还有一条:说谎总是有用的
第 18 章我们看到延迟录取是策略防伪的——照实填是占优策略。投票有没有这种好事?
没有。Gibbard 和 Satterthwaite 在 1973 和 1975 年分别证明了:候选人有三个或以上时,任何非独裁的、不排除任何候选人的投票规则,都可以被策略性投票操纵。
上面 demo 的最后一栏会在这份选票上找:简单多数、两轮决选、排序复选、波达计分都能当场找出一群靠说谎得利的选民;孔多塞、库姆斯、末位淘汰计数在这份选票上没找到。
请注意最后半句的分寸:「在这份选票上没找到」不等于「不可能」。定理保证的是「存在某份选票能操纵它」,不是「每份选票都能」。这是一个很容易被滑过去的区别,而它决定了这条定理在实践中的分量——没有任何投票制度能承诺「说实话总是最优的」,但一个具体的制度在一个具体的场合里可能确实很难被操纵。
这一章不是在说「投票没用」。恰恰相反:正因为不存在完美的方法,选哪一种方法就成了一个真正重要、必须公开讨论的决定——它不是技术细节,它就是政治本身。这和第 17 章那句「看起来最像技术细节的规则,可能正是分配权力的那条」是同一句话。
不同的方法有不同的性格。简单多数偏向有铁杆基本盘的候选人;波达计分和末位淘汰计数偏向广泛可接受但没人特别热爱的候选人;孔多塞方法偏向中间派;排序复选对第一名票的分布更敏感。选择哪一种,等于选择你想让什么样的人胜出。
你自己也在用这些方法。团队投票选技术方案、评委打分选方案、产品需求优先级排序——只要选项超过两个,上面所有的问题都在场。一个实用的建议:如果一次投票的结果会因为换一种数法而改变,那这个结果就不该被当成「大家的共识」来用。先去看两两对决的结果,那通常比总分更有信息量。
「投票是把民意汇总起来。得票最多的那个人,就是大家最想要的。」
这句话里假设了一个东西的存在:「大家最想要的那个」。阿罗定理说的正是——这个东西可能不存在,不是我们测不准,是它没有定义。
甲在这份选票上赢了一场选举,同时跟任何人单挑都会输。这两句话都是真的,而且不矛盾。「民意」在这里不是一个被测量的对象,而是被计票方法构造出来的产物。
这条认识有一个很实际的用法:当有人拿一个投票结果当作「民意如此」的证据时,问一句「换一种数法结果会变吗」。会变,那这个结果说的就不是民意,是那套规则。
正确答案是 C:五个都可能,而且上面那份 45 张选票就把五个全数出来了——丁、乙、戊、丙、甲。
A 「选票定了民意就定了」——这是这一章要拆掉的核心直觉。选票是输入,赢家是输出,中间那个函数不是唯一的,而且阿罗证明了没有一个函数能满足所有你想要的性质。 B 「撑死两三个」——低估了这些方法之间的差异。它们不是同一个东西的近似,它们在数完全不同的量:有的数第一名,有的数最后一名,有的数两两胜负,有的数排名分。数不同的量,得不同的答案是自然的。 D 「得看选票」——这是最诚实的答案,而且它对:并不是每一份选票都会分裂成五个赢家。上面那份是特意搜出来的(在两百万份随机选票里筛的)。但「特殊情况才会发生」是一句危险的安慰——现实中的选票远非随机,而且当选举势均力敌时,恰恰是分歧最大的时候。你的团队要在几个技术方案里选一个。上次投票赢的那个方案,一半人非常反对。改什么?
每人投一票给最想要的方案,票多的赢 ⇒ 只看第一名,看不见「多少人无法接受」⇒ 选出一个有铁杆支持者、也有一半人反对的方案。 改成让每人交一份完整排序,然后先看两两对决:如果存在一个跟谁比都赢的方案,选它;如果出现循环(说明团队真的分裂了),那这个信息本身比任何一个赢家都重要——它告诉你现在不该投票,该重新讨论方案。这里的关键动作不是换一种数法,而是让「有没有共识」这件事本身变得可见。简单多数最大的问题不是它选错了,而是它永远都能给你一个赢家,哪怕根本不存在共识。
这一章的一句话
候选人超过两个时,「集体更喜欢谁」可能根本没有定义;所以计票方法不是在测量民意,它在构造民意——而选哪一种方法,本身就是最重要的那个决定。
下一章是这一卷的最后一章,回到一个每个人都遇到过的场面:一件对大家都好的事,需要每个人出一点力,结果没人出力。四个人,每人手上 20 块,投进公共罐子里的钱翻倍再平分。所有人都投,每人拿 40;所有人都不投,每人拿 20。而「不投」是每个人的最优应对——桌上留下 80 块,一分都没人捡。