本节摘要:货币不管用的地方,机制设计还在吗?本节处理两类无货币分配。社会选择研究"个人偏好如何聚合成集体决定":阿罗不可能定理宣示完美聚合程序的不存在,中位投票人定理给出单维政治的最稳定落点;匹配研究"人与位置如何配对":盖尔-沙普利延迟接受算法用一段十几行的循环,同时换来稳定与抗操纵,录取与移植系统至今在用它。读完本节,投票规则与录取规则在你眼里都不再是中性的管道。
把个人偏好聚合成社会偏好的程序需要满足哪些条件才算"公平"?阿罗 1951 年列出四条看似无害的要求:无限制域——任何合法的个人偏好组合都该有答案;帕累托——所有人都偏好甲于乙时,社会也该偏好甲;无关选项独立——甲乙之间的排序只该取决于众人对甲乙的排序,与丙无关;非独裁——没有一个人的偏好能单方面决定社会。阿罗定理证明:候选人多于两个时,没有任何程序能同时满足四条。这与孔多塞投票悖论同源:三人三案(甲优于乙、乙优于丙、丙优于甲)的循环多数,让"多数意愿"在不同议程顺序下指向不同赢家——议程的设置权就是权力。工程含义直白:投票规则的选择从来不是技术细节,而是在不可能性面前选择牺牲哪条公理:多数决牺牲无关选项独立,计分制牺牲无限制域,带权重的程序化方案则离独裁更近。
单维议题上有一块稳定的落点。中位投票人定理:若偏好是单峰的(每人有一个理想点,离理想点越远越不满意)且议题一维,多数决的赢家是中位选民的理想点。它解释了选举政治里两党向中间靠拢的引力,也解释了为什么极端派在两极分化的选民分布下会重新抬头——中位点的位置随分布移动,定理只承诺稳定性,不承诺温和。
拍卖失灵的场景比比皆是:器官移植禁止定价,学生不付费选学校,实习生不给岗位出价。这些场景的本质是"双边配对":一方是人,一方是位置,双方各有偏好序。低效的自由匹配有标志性症状:不完满(有人想换到彼此更想去的对方)与阻塞(两人互相中意却各自被制度绑在别处)。稳定匹配的定义就是消除这两种症状——没有任何一对会绕开机制私奔。
盖尔与沙普利 1962 年的延迟接受算法是二十世纪应用最广的经济学发明之一。以录取为例(学校申请学生):每轮中,每个学生向当前最想去的未拒绝过自己的学校申请;每所学校在自己申请池里只"暂时保留"最好的若干名,其余全部拒绝;被拒者进入下一轮向次选申请;循环到无人被拒为止。它有三条性质。必在有限轮内终止——每人的申请清单逐轮下移,总量有限;结果稳定——暂时保留贯穿全程,最终保留即正式录取,阻塞对不可能出现;对提案方有利——由学生提案还是由学校提案,结果系统性偏向提案方,这是同一个算法的两个面孔。
# 延迟接受算法:学生申请制录取 students = ["甲", "乙", "丙"] schools = {"A 校": 1, "B 校": 1} # 各一名额 stu_prefs = {"甲": ["A 校", "B 校"], "乙": ["A 校", "B 校"], "丙": ["B 校", "A 校"]} sch_prefs = {"A 校": ["甲", "乙", "丙"], # 学校眼里的排序 "B 校": ["乙", "丙", "甲"]} def deferred_acceptance(): free = list(students) # 未落定的学生队列 next_choice = {s: 0 for s in students} # 每人申请进度 held = {} # 学校当前保留名单 while free: s = free.pop(0) target = stu_prefs[s][next_choice[s]] next_choice[s] += 1 pool = held.get(target, []) + [s] pool.sort(key=lambda x: sch_prefs[target].index(x)) held[target] = pool[:schools[target]] # 只留名额内最优 for rejected in pool[schools[target]:]: if next_choice[rejected] < len(stu_prefs[rejected]): free.append(rejected) # 落榜者下轮申次选 return held print(deferred_acceptance()) # 输出:甲被 A 校保留 乙被 B 校保留 丙落榜
手推一遍可核对:甲乙都首选 A 校,A 校按自身排序保留甲、拒乙;丙首选 B 校,B 校在丙与后续申请的乙之间比较,按学校偏好保留乙、拒丙;丙的次选 A 校已被甲占满,落定。稳定检验:甲-乙?乙更想与 A 校配对,但 A 校更想要甲(已配甲)——无阻塞对;乙-丙配 B 校,乙在其中且乙优于丙,无动机私奔。乙靠算法拿到了比"先到先得"更好的结果——这就是提案方设计的分配政治学。
背景。某市高中录取原用"第一志愿优先"规则:学校先录满所有把本校填在第一志愿的学生。学生策略性的代价惨重——成绩中上的家庭不敢填心仪名校(怕第一志愿落空全盘皆输),倾向保守填报,好学校与好学生的配对率长期偏低。
操作。该市把规则换成延迟接受(学生提案版):全市统一轮次,学生按志愿序逐轮申请,学校按自身排序暂时保留,被拒者滚动进入下一志愿。关键在于暂时保留的可撤销性——学生不再为"第一志愿是否安全"支付策略成本,如实按偏好填报成为优势策略(在该市的具体偏好结构下可验证)。
结果。第一志愿满足率与整体匹配满意度上升,落榜生规模下降;争议集中在两点——学校失去了"锁定死忠生源"的旧权力,以及学生提案版比学校提案版更偏向学生一侧。两个争议恰好对应理论的两个预言:算法改变了权力分配,稳定与公平之间没有免费的午餐。
解读。这个案例是机制设计方法论的标准示范:先诊断旧规则的策略漏洞(志愿排序的博弈引诱谎报),再选定理背书的新机制(稳定、抗操纵、无事后私奔),最后接受权力再分配的政治代价。肾脏交换链、实习生与医院的全国配对、公益组织与受助者的对接,都是同一套流程在不同法律约束下的重装。注意理论边界:延迟接受的抗操纵性依赖偏好为严格序与单边提案的真实执行,现实中的同桌商量、学区房投机,都在从外部改变偏好结构本身——机制挡得住谎报,挡不住围绕机制的家庭移民与资产配置,这些"更高阶的博弈"是应用永远要留一栏的账。