6.4 机制设计与拍卖:把市场搬进小镇


6.4 机制设计与拍卖:把市场搬进小镇

摘要:机制设计是反向的博弈论——不分析给定博弈,而设计博弈规则让自利者自己走到设计者想要的结局。本节讲激励相容(让说真话成为最优策略)、四种经典拍卖、二价拍卖的维克里逻辑、VCG 机制、联盟形成与 Shapley 值的公平分账,用代码验证"说真话不吃亏"与手算 Shapley 分成。

有没有一种规则,让每个自利者说真话反而最划算?有,而且你的每一次网上竞价都可能站在这种规则上。会馆第四课迎来全场最有权势的角色:规则制定者。前三节都在"给定规则分析结局",这一节倒过来——先定想要的结局,再反推规则:怎么设计牌桌,让一群撒谎成性的自利者互相博弈出诚实、高效与公平。这一节还顺带收编旧教程里联盟博弈的素材:当镇民们组团接大单,赢来的钱怎么分才没人想退出。

机制设计:反向的博弈论

一个机制就是一套游戏规则:玩家报信息(报价、投标、偏好),机制按规则决定结果(谁赢、付多少、任务给谁)。设计者的愿望清单通常是:激励相容(说真话是每个玩家的最优策略,谎报占不到便宜)、配置效率(资源落到估值最高的人手里)、预算平衡(机制不倒贴钱)、个体理性(参与比不参与划算)。残酷的 impossibility 定理证明这几条不能同时全要——设计是取舍的艺术,先保哪条取决于场景:市场机制优先效率与激励,公共项目优先预算。

拍卖是机制设计最古老的练兵场,因为它的问题最纯粹:一件东西、几个估值私有的买家,怎么卖?经典四种:

英式拍卖(公开升价):主持人喊价步步抬高,坚持到最后者得。信息暴露充分,策略简单,接近"报出真实估值"。

荷式拍卖(公开降价):从高价往下喊,第一个按铃者成交。快,但要自己掂量何时出手——本质上等价于密封一价。

密封一价:各写各的价,出价最高者付自己的价。赢家诅咒逼大家压价,说真话绝对不是最优——你得猜别人。

密封二价(维克里拍卖):出价最高者赢,但只付第二高的价。神来之笔:说真话成为占优策略。

图 6-4 四种拍卖机制对比

图 6-4 四种拍卖机制对比

为什么二价拍卖让人说真话

维克里拍卖的魔法用两句话拆穿。设你的真实估值是十,别人最高报了七。报十(真话):你赢,付七,净赚三。报高(比如十二):还是赢,还是付七,一分不多赚——多报没收益。报低(比如六):你输了,而本来三块钱的净赚凭空蒸发——少报有风险。报高无益、报低有险,真话稳稳占优。这个论证对任何估值、任何对手都成立——你付的钱由别人决定,你的报价只决定赢不赢,谎报改变不了价格,只能改变"该赢的输了、不该赢的赢了"。

一价拍卖完全不同:你付自己的价,报低能省钱,于是人人压价,压多少取决于对对手的猜测——真话出局。收益等价定理补上神奇的一笔:在风险中性买家等标准假设下,四种拍卖给卖家带来的期望收入相同——机制的形式千变万化,博弈的骨架殊途同归。

VCG 机制是维克里思想的推广:多件物品、多任务分配的场合,每个赢家支付的不是自己的报价,而是自己的存在给其他人造成的外部性——"没有你,别人的总福利是多少;有你,别人的总福利少了多少,差额就是你该付的"。配置按全局估值最优选,付费按外部性算,说真话依然是占优策略。第 4 章的组合拍卖授标,用 VCG 定价就能让镇民们诚实竞标任务包。

联盟与分账:Shapley 值

机制设计的另一翼是合作博弈:镇民们组团干活,赢来的集体收益怎么分?先定义联盟:任意子集算一个联盟,特征函数给每个联盟一个"这伙人自己能挣到的钱"。分账方案要过的第一关是个体理性(单干能挣的分到手不能少)与联盟理性(小团伙自己干的收益不高于分到的),同时过关的方案集合叫——核经常是空的,这时需要唯一、公平的解概念。

Shapley 值的思路漂亮:按边际贡献分钱。把所有镇民随机排队进场,每人拿"我进场时给联盟带来的增量收益";对所有可能的排队求平均,就是 Shapley 值。它满足三条公理——对称性(贡献相同者所得相同)、零贡献者得零、可加性(两个博弈叠加时分账也叠加)——并且是唯一满足这三条的解。

from itertools import permutations CHAR = {(): 0, ("a",): 60, ("b",): 40, ("c",): 20, ("a", "b"): 120, ("a", "c"): 90, ("b", "c"): 70, ("a", "b", "c"): 150} # 特征函数:各联盟的产出 def shapley(players): """对全部进场顺序求平均边际贡献。""" n = len(players) value = {p: 0.0 for p in players} for order in permutations(players): joined = set() for p in order: gain = CHAR[tuple(sorted(joined | {p}))] \ - CHAR[tuple(sorted(joined))] value[p] += gain joined.add(p) return {p: v / len(list(permutations(players))) for p, v in value.items()} print("Shapley 分成:", {k: round(v, 1) for k, v in shapley(("a", "b", "c")).items()}) print("合计:", round(sum(shapley(("a", "b", "c")).values()), 1), "(应等于大联盟产出 150)")

三名镇民的单干产出分别是六十、四十、二十,合起来能挣一百五十——超过单干之和(一百二十)的部分是协作红利。Shapley 把红利按平均边际贡献切给每个人:既不是平均主义,也不是强者通吃,每个人拿到"我在这部戏里的戏份"。任务分配(第 4 章)、数据交易、成本分摊(机场跑道的经典案例:各航空公司按自己对跑道长度的需求分摊建设费),都能用这把尺子。

代码实验:二价拍卖里撒谎会怎样

把维克里拍卖写成代码,让一个诚实买家与一个撒谎买家同场竞技,撒谎策略分"压价"与"抬价"两路,看各自的后果。

import random def vickrey(bids): """返回 (赢家, 成交价)。出价最高者赢,付第二高价。""" order = sorted(bids, key=lambda kv: -kv[1]) winner = order[0][0] price = order[1][1] if len(order) > 1 else 0 return winner, price def play_round(my_value, my_offset, rival=70.0, seed=None): """我的估值 my_value,报价加 my_offset;对手固定诚实报 70, 群体最高估值在 40 到 80 间波动。返回我的净赚。""" if seed is not None: random.seed(seed) crowd = random.uniform(40, 80) my_bid = max(0.01, my_value + my_offset) winner, price = vickrey([("me", my_bid), ("rival", rival), ("crowd", crowd)]) if winner != "me": return 0.0 return my_value - price # 赢家的净赚=估值减第二价 VAL = 72.0 # 我的真实估值 def average(offset, rounds=3000, seed=11): random.seed(seed) return sum(play_round(VAL, offset) for _ in range(rounds)) / rounds print(f"诚实报价(+0)平均净赚: {average(0):.2f}") print(f"压价 25 平均净赚: {average(-25):.2f}") print(f"抬价 30 平均净赚: {average(+30):.2f}")

多跑几轮结论稳定:诚实报价稳拿正净赚;压价的唯一效果是把自己的报价压到对手之下——当群体估值落在我真实估值之下时,白白输掉一单净赚;抬价平时不多赚(付的仍是第二价),却在群体估值高过我估值的尾部场次里强行中标,净赚转负。真话在这张牌桌上不只是道德,是数学上的最优解。

⚠️ 常见坑:把维克里拍卖当成万金油。它的软肋清单不短:买家串通(两三人私分角色压第二价)、卖家托儿(假买家抬第二价)、隐私顾虑(真实估值确实被机制收集)、认知负担(玩家不信"说真话最优"而瞎报)。工程上常用"接近二价"的变体加反作弊审计来兜底。

💡 关键直觉:机制设计与第 3 章合同网在此会师。合同网的"报价=边际成本加机会成本"之所以能自发涌现好分配,正因为它的骨架是市场机制;给它换上 VCG 定价,投标说真话就从"自觉"变成"占优"。前面所有章节的制度(规范、声誉、保证金),在会馆里都能找到自己的博弈论户口。

沙盘推演小结

小镇集市换了新铃铛:密封投标、最高者得、按第二价成交。头一个月还有人试探着压价抬价,账本显示谎报者颗粒无收,第二个月起报价齐刷刷落回真实估值。包工队的账房则挂出了 Shapley 分账表,三大队合伙修堤的分红再没吵过。会馆只剩最后一间密室:把理性假设也扔掉,看看均衡能不能从一堆"不会算计"的镇民里自己长出来。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U