【前言】
不久之前,公司发起了2020年年度文化衫的投票,大概有8,9种各式各样的杰出设计供全公司的同事选择,每个人可以选择自己最喜欢的一种设计,最后得票最多的设计会被作为今年的文化衫做出来发给大家。这看起来是一个非常民主的福利,然而在选择结束之后,公布的结果却出乎了很多人的意料。很多人觉得“怎么可能是这个设计当选”,“我可以选出三个设计比这个强”,甚至有人开始怀疑“是不是有人刷票”。短短一两天之内,全中国区的讨论就达到了接近两百条之多。
在讨论中,有一名机智的同事提出了一个很有意思的观点,这么多设计参与投票,就算第一名获得了20%的选票,那总还是有80%的人没有投给这个设计,所以无论如何投票结果都不会得到绝大多数人的认可。这条评论给了我一个启发:先不论刷票这种技术问题,单看投票机制本身,这种简单的“谁得票最多谁就当选”的机制真的能够保证选出来的结果能够得到大部分人的认可吗?
【一:“奇怪”的投票结果】
其实对于投票这件“简单的小事儿”,早在2020年初就发生过一次趣事,我司成都办公室在2020年2月刚装修了7楼办公室,当初也在广泛征集会议室名字,也是采取的“每个人单选,最终得票最多的方案胜出”的方法,其中投票结果如下图
其中我们可以看到,方案A以微弱的优势胜出,当时也引发了激烈的讨论和吐槽,因为很多人心里的排名是C>B>A 或者 B>C>A,只是因为只能单选,而B和C非常的接近,导致B和C产生了分票,最终让A钻了空子胜出。
这就是一个非常典型的场景,【以下是假设场景,因为投票是单选,我并不知道大家心里的排名】我们只拿方案ABC来比较,假设大家内心偏好是
28%的人认为A > B > C
26%的人认为B > C > A
19%的人认为C > B > A
那么在单选的情况下,A会得到最多的票胜出,因为有最多的人第一选择是A。然而如果单独拿A和BC来比较,有(26%+19%)=45%的人认为B>A且C>A,而只有28%的人认为A>B且A>C。这就非常有趣了,为什么在一对一比较当中A既输给了B又输给了C,最后却能够在整体比较当中胜出呢?
【二:投票机制评价标准】
正式因为上述场景的出现,大家都觉得很不可思议,于是学术界制定了很多评价标准,用来衡量各种投票机制是否合理,并且借此来探索是否能够找到一个能够满足所有评价标准的,真正“公平合理”的投票机制,下面我会罗列8种目前主流的投票评价标准(并非全部评价标准),每个都看似理所应当,甚至像是废话,但是在稍后的章节中你会发现,其实没有任何一种投票制度能够完美符合这8种评价标准。(如果你对任何一个标准产生了兴趣,想要看看这个标准会在什么情况下被违反,可以用其对应的英文名在英文维基搜索,里面有详细的场景示例)
多数决标准 (Majority criterion)— 一个选项如果获得50%以上的人的支持,那么这个选项会最终获胜
单调性标准 (Monotonicity criterion) — 为一个选项投票应该要帮助这个选项胜出,而不是反而导致其落败
一致性标准 (Consistency criterion)— 如果把所有的选票分为两半分别计票并排名,得出的结果会和所有选票统一计票的结果一致
参与度标准 (Participation criterion)— 支持某个选项的最佳方法应该是给这个选项投票,而不是放弃投票
孔多塞标准 (Condorcet criterion) — 如果一个选项在和其他所有选项的一对一比较当中获胜,那么这个选项就应该在整体投票中胜出。
孔多塞输家标准 (Condorcet loser criterion)— 如果一个选项在一对一比较当中输给了所有的选项,那么这个选项就不应该在整体投票中胜出。
独立性标准 (Independence of irrelevant alternatives) — 两个选项的相对位置不应该受到其他选项的影响(比如原本A是第一名,B在A之后,在投票人对B和C选项的倾向发生改变之后,A应该保持第一名,而不是被B或者其他选项取代)
无复制标准 (Independence of clones criterion)— 如果添加某个选项的多个复制,最终结果不应该受到影响。(这个比较绕,举个栗子,比如我现在有最受欢迎的设计A,大家都能接受的设计B,糟糕的设计C,这时候排名是A胜出,但是如果有5个糟糕的设计C1,C2,C3,C4,C5加入排名,此时的胜者应该还是A,而不是变成B)
【三:常见投票机制】
其实我们生活中有太多的各式各样的投票机制,小到读书时选班干部,三好学生,大到奥斯卡颁奖,年度游戏评选,某些国家的总统选举等。这里我不会罗列所有的投票机制,我还是拿最初的那个例子,年度文化衫的投票,来看看我们可以如何进行优化,以尽可能满足大多数人的偏好。
1.多数制
先看看我们最初采用的方式,一人一票,票数最高的当选,这种方式被视为“多数制”的最简单实现方式。
这种方式的优点是制度简单易懂,计票迅速,然而其缺点也很明显,假设我喜欢方案A,不喜欢方案B,无法接受方案C。但是当我发现目前的票型里,A已经获胜无望,B和C之间的票数很接近,这时候我会怎么办?为了避免无法接受的方案C当选,我必须忍着内心的不适投票给我并不喜欢的方案B(这种行为叫做“策略性投票”或者“防御性投票”),这会给投票人带来非常不好的体验。还有一点,当中庸的方案越多,分票越明显,因为大家都觉得这个也可以,那个也还不错。而小众的方案的受众始终是那一群人,他们会坚定地支持特定的方案,从而导致投票集中,最终获得胜利。因此,这种制度很容易选出“极端且小众的方案”,而淘汰“中庸且普遍接受的方案”。
这种投票制度的弊端在上面我举的会议室命名的例子中已经有所体现,那就是违反了“孔多塞输家标准”,即当一个选项在一对一比较当中输给了所有的选项,那么这个选项就不应该在整体投票中胜出。
2.复选制 / 排序复选制
在当初的邮件讨论中也有人提到,能不能根据第一轮投票结果,淘汰得票最低的几个选项,然后再进行一轮一轮地角逐,这样可以把分散的票集中起来,最终让得到普遍认可的方案胜出,这其实就是“复选制”的原型。这种方式就可以避免多数制的弊端,让极端且小众的方案或者彼此近似的方案被淘汰,避免冲票,最终选出中庸且普遍接受的方案。不过这种投票方式的弊端也很明显,那就是对主办方来说成本非常高,因为需要举行多轮投票,既费时又费力。不过不用担心,很快有人想到了复选制的优化方案,既可以只进行一轮投票,又可以保持复选制的优点,那就是“排序复选制”。顾名思义,这种投票制度指的是当你在多选的时候,需要给出你的偏好顺序,比如在A,B,C,D,E当中选出3个,你可以选择”最喜欢B,次喜欢C,觉得E还行”,投票完成之后,会首选根据所有人的第一偏好排名,淘汰掉得票最低的一个选项,然后把投给这个选项的人的第二偏好加入比较,继续开始从剩余的选项中开始比较和淘汰,直到最终决出最终选项。
这种复杂的投票方式乍一看好像已经很完美了对吧?但是仍然会有很多致命的缺点,比如违反了“单调性原则”,即为一个选项投票应该要帮助这个选项胜出,而不是反而导致其落败。
举个栗子,假设有以下票型
8票 A > C > B
7票 B > A > C
9票 C > B > A
那么在最初的计票中,仅得7票的B会被淘汰,紧接着这7票会转移给第二顺位,即A,那么A最终获得8+7=15票,超过C的9票获得胜出。
如果此时原本投给C的9个人当中,有3个人更改了自己的偏好,他们觉得更喜欢A,于是加入了A > C > B的行列,于是票型变成了
8 + 3 = 11票 A > C > B
7票 B > A > C
9 - 3 = 6票 C > B > A
那么计票结果会变成,第一轮仅得6票的C被淘汰,紧接着这6票会转移给第二顺位,即B,那么B最终获得7+6=13票,超过A的11票获得胜出。
这就是一个典型的,“我给你投票反而导致你落选”的违反单调性的案例