宾夕法尼亚大学-NETS4120-算法博弈论笔记-全-
宾夕法尼亚大学 NETS4120 算法博弈论笔记(全)
001:课程介绍与博弈论基础 🎲

在本节课中,我们将学习算法博弈论的基本概念,了解它与传统算法设计的区别,并通过几个经典例子初步认识博弈论中的核心思想,如纳什均衡和“价格的无政府状态”。
课程基本信息与安排 📅
上一节我们了解了课程主题,本节中我们来看看课程的具体安排和规则。
课程时间与地点:每周两次讲座。
教学团队:教授为Er,助教团队包括博士生Natalie和George,以及本科生Charles、Rohan和Kevin。我们将通过办公时间为大家提供支持。
评分构成如下:
- 45%:作业。每两周一次,共六次。需在GradeScope上提交。
- 25%:期中考试。
- 25%:期末考试。
- 5%:课堂或Slack频道参与度。
课程基础设施:
- 课程网站:发布讲义和幻灯片。
- Slack频道:用于提问和非正式讨论。
- GradeScope:用于提交作业和接收考试反馈。
合作与迟交政策:
- 允许讨论作业问题,但必须独立完成并撰写自己的解决方案。提交时需在作业顶部列出合作者姓名。
- 允许迟交作业,但会有平滑的扣分机制:每晚一天扣20%的分数。
算法设计与机制设计的区别 ⚙️
在传统的算法设计课程(如算法导论)中,你设计的是“钟表机械”。你控制着系统的每一个部件,目标是编排计算过程以实现预期功能。
然而,在现代系统和平台(如约会应用、Uber、社交网络)的设计中,你无法控制所有“活动部件”。用户是重要的参与者,你无法直接命令他们做什么。你只能通过设计系统的规则、激励和行动空间来影响他们,使得这些追求自身目标的分散个体,其整体行为能达成你期望的全局目标。
这就是机制设计与纯算法设计的核心区别。在机制设计中,你设计的是平台或媒介,让一群自利的智能体在其中互动,并引导他们产生你期望的全局行为。
博弈论:从预测到设计 🧠
上一节我们介绍了机制设计的目标,本节中我们来看看实现这一目标的前提:博弈论。
在思考如何设计规则以引导行为(机制设计)之前,你必须先能预测在给定规则下会发生什么。博弈论提供了一种方法,让我们能够基于系统中不同参与者的微观激励,来预测其整体行为。
因此,本课程将遵循更合理的知识进程:
- 博弈论:分析给定规则下的预测。
- 机制设计:学习如何设计规则以获得期望的行为。
课程大约一半时间学习博弈论,另一半时间学习机制设计。
什么是博弈?🎯
为了进行预测,我们需要一种精确的方式来描述互动。一个博弈的形式化定义包含三个要素:
- 玩家:参与互动的参与者。
- 行动集:每个玩家可以采取的行动集合。
- 收益(效用函数):一个函数,它将所有玩家选择的行动组合(一个行动向量)映射到每个玩家获得的收益(一个数字)。这个数字编码了玩家对该世界状态的偏好程度。
收益函数是编码对不同世界状态相对偏好的简洁方式。数字本身的大小不重要,重要的是它们所表示的偏好顺序。
对于双人博弈,常用博弈矩阵来直观表示。行代表玩家1的行动,列代表玩家2的行动。矩阵中的每个单元格包含两个数字,分别是行玩家和列玩家在该行动组合下的收益。
例如,石头剪刀布游戏可以表示为以下矩阵:
| 剪刀 | 石头 | 布 | |
|---|---|---|---|
| 剪刀 | (0, 0) | (-1, 1) | (1, -1) |
| 石头 | (1, -1) | (0, 0) | (-1, 1) |
| 布 | (-1, 1) | (1, -1) | (0, 0) |
然而,对于超过两个玩家的博弈,这种矩阵表示法会变得非常复杂(维度随玩家数指数增长)。因此,我们将主要关注那些具有更多结构、能够被更智能地编码的大型博弈。
交通路由博弈与纳什均衡 🚗
让我们看一个具有结构的大型博弈例子:交通路由博弈。这个博弈模拟了通勤者选择出行路线的场景。
博弈设定:
- 玩家:100名司机,每天从A镇前往B镇。
- 行动:每条路径由一系列路段组成。每个路段有一个延迟函数,将使用该路段的司机数量映射到通行时间。
- 收益:司机希望最小化自己的通行时间。
考虑以下路网(初始状态):
- 有两条路径:上路径和下路径。
- 每条路径包含一个“狭窄乡村路”(延迟 =
x/100小时,x为使用人数)和一个“绕远高速公路”(延迟 = 1小时)。
分析与预测:
在这个博弈中,一个直观且稳定的结果是:50人走上路径,50人走下路径。在这种状态下,任何单个司机改变路线都不会减少自己的通行时间(都会从1.5小时增加到约2小时)。这种状态被称为纳什均衡——在给定其他人策略的情况下,没有玩家可以通过单方面改变自己的策略而获益。
在这个均衡中,每个人的通行时间是1.5小时,这也是社会最优解(最小化平均通行时间)。
布雷斯悖论与“价格的无政府状态” 😮
现在,假设政府为了改善交通,在两条“狭窄乡村路”之间修建了一条连接它们的“快速通道”(延迟为0)。
新路网:现在存在一条“之字形”路径:上乡村路 -> 快速通道 -> 下乡村路。
新均衡分析:
在新的路网中,唯一的纳什均衡变成了所有100名司机都选择“之字形”路径。因为只要不是所有人都走之字形,就总有司机可以通过切换到之字形路径来减少通行时间。然而,当所有人都走之字形时,每个人的通行时间变成了2小时(两段乡村路各1小时)。
布雷斯悖论:增加道路资源(更多选择)反而使均衡结果变得更糟(通行时间从1.5小时增加到2小时)。这在优化问题中不会发生(增加选项永远不会使最优解变差),但在博弈论中却可能发生,因为玩家是自私优化的。
价格的无政府状态:这个概念衡量了由于玩家自私优化而导致的系统性能损失。它是最差纳什均衡的性能与全局最优解的性能之比。
在本例中:
- 最差(也是唯一)纳什均衡性能:2小时平均通行时间。
- 全局最优解性能(若可集中指派):1.5小时平均通行时间。
- 价格的无政府状态 =
2 / 1.5 = 4/3。
研究表明,对于线性延迟函数的这类路由博弈,4/3是最坏情况下的价格的无政府状态。
囚徒困境与占优策略 ⚖️
并非所有博弈都像路由博弈那样需要复杂推理。有些博弈存在占优策略——无论其他玩家做什么,某个策略对你来说都是最好的。
囚徒困境是一个经典的双人博弈例子(故事仅为背景,博弈由收益矩阵定义):
- 玩家:两个共犯。
- 行动:沉默(合作)或背叛(指证对方)。
- 收益(刑期年数):
- 双方沉默:各判5年。
- 双方背叛:各判40年。
- 一人背叛,一人沉默:背叛者判3年,沉默者判50年。
分析:
对于每个囚徒来说,“背叛”是一个占优策略。因为无论对方选择什么,自己选择“背叛”得到的刑期(3年或40年)总是短于选择“沉默”的刑期(5年或50年)。因此,唯一的纳什均衡(也是占优策略均衡)是(背叛,背叛),双方各判40年。
启示:个人理性选择导致了集体最差的结果(总刑期80年),远差于双方合作的结果(总刑期10年)。这表明自私优化有时会导致严重的社会福利损失。
课堂游戏与逻辑谜题 🤔
为了让大家亲身体验多玩家博弈中的策略推理,我们引入两个互动环节。
1. 猜平均数的2/3游戏
- 规则:每位玩家在0到100之间选择一个数字(可以是小数)。计算所有数字的平均值,然后计算该平均值的
2/3。最接近2/3平均值的玩家赢得5美元。 - 任务:请思考“理性”游戏意味着什么,观察你周围的同学,并通过课程Slack提供的链接提交你的猜测。
2. 蓝眼睛岛民谜题(课后讨论)
- 场景:一个与世隔绝的岛上住着100个逻辑学家。每个人都是蓝眼睛,但岛上没有镜子,没人知道自己的眼睛颜色。岛规:如果有人推断出自己是蓝眼睛,他必须在当晚离开岛屿。大家是朋友,所以绝不会告诉别人他的眼睛颜色。
- 事件:一天,一个外来者无意中说了一句:“你们当中至少有一个是蓝眼睛。”说完后就被送走了。
- 问题:这句话会产生影响吗?岛上的生活会继续如常,还是会发生什么?
- 任务:请在下次课前,在课程Slack频道上讨论你对这个谜题的答案和推理。

总结 📚
本节课中我们一起学习了算法博弈论的入门知识:
- 我们明确了机制设计(设计规则引导行为)与算法设计(控制所有部件)的根本区别。
- 我们认识到博弈论是进行预测的基础,然后才能进行机制设计。
- 我们学习了博弈的形式化定义:玩家、行动集、收益函数。
- 通过交通路由博弈的例子,我们直观理解了纳什均衡的概念——一个稳定的策略组合,以及布雷斯悖论——增加资源可能使均衡变糟。
- 我们引入了价格的无政府状态来衡量自私优化带来的性能损失。
- 通过囚徒困境,我们看到了占优策略如何导致个人理性与集体利益的冲突。
- 最后,我们通过两个互动环节(猜数游戏和逻辑谜题)来实践多玩家博弈中的策略思考。
从下一讲开始,我们将进入严格的数学模式:定义、引理、定理和证明。
002:博弈论基础概念与解概念

在本节课中,我们将学习博弈论的核心基础概念,包括博弈的定义、最佳应对、占优策略、占优策略均衡、重复剔除劣策略以及纳什均衡。我们将从最简单的概念开始,逐步构建更复杂的解概念,并理解它们之间的关系。
博弈的基本定义
上一节我们介绍了课程概览,本节中我们来看看博弈的正式数学定义。一个博弈模型用于描述多个参与者之间的策略互动。
一个博弈由以下三个基本要素构成:
- 玩家集合:一个有限的参与者集合,记为 ( P )。每个参与者被称为一个玩家。
- 行动集:对于每个玩家 ( i ),有一个有限的行动集合,记为 ( A_i )。这代表了玩家 ( i ) 所有可能的选择。
- 效用函数:对于每个玩家 ( i ),有一个效用函数 ( u_i )。该函数将每个可能的行动组合(即每个玩家都选择一个行动后形成的局面)映射到一个实数,表示玩家 ( i ) 在该局面下的满意度。
我们用 ( A = A_1 \times A_2 \times ... \times A_n ) 表示所有可能的行动组合的集合。一个具体的行动组合记为 ( a = (a_1, a_2, ..., a_n) ),其中 ( a_i ) 是玩家 ( i ) 选择的行动。
为了分析单个玩家的决策,我们经常需要关注其他所有玩家的行动。我们用 ( a_{-i} ) 表示除玩家 ( i ) 外所有其他玩家选择的行动组合。所有 ( a_{-i} ) 构成的集合记为 ( A_{-i} )。
博弈论的基本前提是:玩家会试图选择行动以最大化自己的效用。然而,一个玩家的效用取决于所有玩家的行动,而不仅仅是自己的行动。
最佳应对
既然玩家的效用取决于他人的行动,那么一个自然的想法是:如果我知道其他所有人会怎么做,我该如何选择? 这就引出了最佳应对的概念。
定义:对于玩家 ( i ),给定其他玩家的行动组合 ( a_{-i} ),一个行动 ( a_i^* ) 是最佳应对,如果对于玩家 ( i ) 所有其他可能的行动 ( a_i' ),都有:
[
u_i(a_i^, a_{-i}) \geq u_i(a_i', a_{-i})
]
换句话说,在对手行动固定为 ( a_{-i} ) 的情况下,( a_i^ ) 能给玩家 ( i ) 带来最高的效用。
占优策略与占优策略均衡
最佳应对依赖于对手的行动。但有时,一个策略可能无论对手做什么都是最好的选择。这就是占优策略。
定义:对于玩家 ( i ),一个行动 ( a_i ) 弱占优另一个行动 ( a_i' ),如果对于所有其他玩家的行动组合 ( a_{-i} ),都有:
[
u_i(a_i, a_{-i}) \geq u_i(a_i', a_{-i})
]
并且至少存在一个 ( a_{-i} ) 使得不等式严格成立(>)。这意味着行动 ( a_i ) 在任何情况下都不比 ( a_i' ) 差,并且在某些情况下更好。
如果一个行动 ( a_i ) 弱占优于玩家 ( i ) 的所有其他行动,那么 ( a_i ) 就是玩家 ( i ) 的一个弱占优策略。拥有占优策略的玩家无需猜测对手的行动,直接选择该策略就是最优的。
当博弈中的每一个玩家都有一个占优策略时,就形成了一个特别稳定的局面。
定义:一个行动组合 ( a = (a_1, a_2, ..., a_n) ) 是一个占优策略均衡,如果对于每一个玩家 ( i ),行动 ( a_i ) 都是该玩家的一个占优策略。
例子:囚徒困境
考虑以下收益矩阵(行玩家收益,列玩家收益):
| 坦白 | 沉默 | |
|---|---|---|
| 坦白 | (1, 1) | (5, 0) |
| 沉默 | (0, 5) | (3, 3) |
对于行玩家:
- 如果列玩家选择“坦白”,行玩家选“坦白”得1,选“沉默”得0。最佳应对是“坦白”。
- 如果列玩家选择“沉默”,行玩家选“坦白”得5,选“沉默”得3。最佳应对是“坦白”。
因此,“坦白”是行玩家的占优策略。同理,“坦白”也是列玩家的占优策略。所以,(坦白,坦白)构成了一个占优策略均衡。
重复剔除劣策略
占优策略均衡虽然理想,但很少出现。然而,即使没有占优策略,我们也可以利用“占优”的逻辑来简化博弈。思路是:理性的玩家不会选择被占优的策略(劣策略)。如果我们假设所有玩家都是理性的,并且都相信其他玩家是理性的,那么我们就可以从博弈中剔除这些劣策略。
这个过程可以迭代进行:剔除第一轮劣策略后,在新的、更小的博弈中,可能又会产生新的劣策略,可以继续剔除。如果最终只剩下一个唯一的行动组合,那么它就构成了一个预测。
例子:
考虑以下收益矩阵:
| X | Y | |
|---|---|---|
| A | 3,3 | 0,5 |
| B | 0,0 | 3,1 |
| C | 1,1 | 1,1 |
- 对于行玩家,行动C被行动A弱占优(无论列玩家选X还是Y,A的收益都不低于C,且当列玩家选X时A更好)。剔除C。
- 在新的博弈中,对于列玩家,行动X被行动Y弱占优(当行玩家选A时,Y得5 > X得3;当行玩家选B时,Y得1 > X得0)。剔除X。
- 现在行玩家面对列玩家唯一的行动Y,比较A(得0)和B(得3),B更好。剔除A。
最终唯一的预测是(B, Y)。
重要性质:如果重复剔除劣策略得到一个唯一的行动组合,那么这个组合一定是一个纳什均衡(我们接下来会定义)。


纳什均衡
占优策略均衡要求太强,重复剔除劣策略也不总是有效。我们需要一个更普遍、更基础的“稳定”概念。这就是约翰·纳什提出的纳什均衡。
定义(纯策略纳什均衡):一个行动组合 ( a = (a_1, a_2, ..., a_n) ) 是一个纯策略纳什均衡,如果对于每一个玩家 ( i ),以及该玩家任何其他可能的行动 ( a_i' ),都有:
[
u_i(a_i, a_{-i}) \geq u_i(a_i', a_{-i})
]
这意味着,在纳什均衡中,没有单个玩家可以通过单方面改变自己的行动而获得更高的效用。或者说,每个玩家选择的行动都是对其他玩家当前行动的最佳应对。
与之前概念的关系:
- 占优策略均衡一定是纳什均衡,但反之不成立。
- 重复剔除劣策略得到的唯一结果(如果存在)一定是纳什均衡,但许多纳什均衡无法通过此方法找到。
例子:协调博弈
考虑以下“音乐会博弈”:
| 巴赫 | 斯特拉文斯基 | |
|---|---|---|
| 巴赫 | (5, 1) | (0, 0) |
| 斯特拉文斯基 | (0, 0) | (1, 5) |
这个博弈有两个纯策略纳什均衡:(巴赫,巴赫)和(斯特拉文斯基,斯特拉文斯基)。在这两个局面下,任何一方单方面改变行动都会导致双方分离,收益降为0,所以没有人愿意改变。
存在的问题:
- 可能不存在:有些博弈没有纯策略纳什均衡,例如“猜硬币”或“石头剪刀布”。
- 可能不唯一:如协调博弈,存在多个均衡,预测不明确。
混合策略与混合策略纳什均衡
为了解决纯策略纳什均衡可能不存在的问题(如“石头剪刀布”),我们引入随机性。玩家可以选择以一定的概率分布来随机选择行动,这称为混合策略。
定义:玩家 ( i ) 的一个混合策略 ( \sigma_i ) 是其行动集 ( A_i ) 上的一个概率分布。
一个混合策略组合 ( \sigma = (\sigma_1, \sigma_2, ..., \sigma_n) ) 指定了每个玩家的混合策略。在这种组合下,玩家 ( i ) 的期望效用是依据所有玩家的概率分布计算出的期望值。
定义(混合策略纳什均衡):一个混合策略组合 ( \sigma ) 是一个混合策略纳什均衡,如果对于每一个玩家 ( i ),以及该玩家任何其他纯策略(或混合策略)( \sigma_i' ),都有:
[
u_i(\sigma_i, \sigma_{-i}) \geq u_i(\sigma_i', \sigma_{-i})
]
同样,这意味着没有玩家能通过单方面改变自己的策略(即使是改为另一个混合策略)来提高自己的期望效用。
关键定理(纳什,1950):任何有限玩家、有限行动的博弈都至少存在一个混合策略纳什均衡。
这解决了存在性问题。在“猜硬币”或“石头剪刀布”中,双方都以50%的概率随机选择(或以1/3的概率随机选择石头、剪刀、布)就构成了一个混合策略纳什均衡。
纯策略纳什均衡可以看作是混合策略纳什均衡的特例(即概率集中在某个行动上)。
总结
本节课中我们一起学习了博弈论的核心基础概念和解概念,它们构成了一个逐层扩展的体系:
- 占优策略均衡:要求最强,每个玩家都有无论对手如何行动都是最优的策略。存在性罕见,但预测力强。
- 重复剔除劣策略:利用理性共识逐步简化博弈,有时能得到唯一预测。该预测是纳什均衡。
- (纯策略)纳什均衡:更基础的稳定概念,要求没有玩家愿意单方面偏离。可能不存在,也可能不唯一。
- 混合策略纳什均衡:允许玩家随机化行动,是上述概念的推广。纳什定理保证了其在有限博弈中的存在性,从而为我们提供了一个普遍的分析基准。

从下一讲开始,我们将以纳什均衡为起点,深入探讨其性质、计算方法以及动态收敛过程。
003:拥塞博弈与最优响应动态

在本节课中,我们将学习一种具有特定结构的大型博弈——拥塞博弈。我们将探讨这类博弈是否总是存在纯策略纳什均衡,并分析一个简单的动态过程(最优响应动态)如何能引导玩家自然地收敛到均衡状态。
拥塞博弈的定义
上一节我们回顾了博弈论的基本概念。本节中,我们来看看一种结构化的博弈——拥塞博弈。这类博弈可以简洁地描述许多玩家和大量策略的交互场景,例如交通路径选择。
一个拥塞博弈包含以下要素:
- 玩家:共有
n个玩家。 - 设施:共有
m个设施。在交通博弈中,设施可以看作是道路网中的路段。 - 策略:每个玩家
i的策略集S_i是设施集合的某个子集族。每个策略对应一个设施子集。在交通博弈中,一个策略就是从起点到终点的一条路径(即一系列路段的集合)。 - 成本函数:每个设施
j都有一个成本函数l_j(k),它表示当有k个玩家使用该设施时,每个使用者需承担的成本。该函数仅取决于使用人数,而非使用者身份。 - 玩家成本:给定一个策略组合(即每个玩家选择的策略),玩家
i的成本是他所选策略中所有设施的成本之和。公式表示为:
cost_i(a) = Σ_{j ∈ a_i} l_j(n_j(a))
其中,a_i是玩家i的策略,n_j(a)是在策略组合a下使用设施j的玩家总数。
最优响应动态
在大型博弈中,即使存在纯策略纳什均衡,找到它也非易事。本节我们探讨一个简单自然的动态过程——最优响应动态,它模拟了玩家如何通过局部改进来调整策略。
最优响应动态的伪代码如下:
从任意策略组合 a 开始
当存在玩家 i,其当前策略 a_i 不是对他人策略的最优响应时:
让该玩家将其策略更改为任意一个能降低其成本的策略 a_i‘
更新策略组合 a
返回最终的策略组合 a
关于此动态有几点说明:
- 起始点:可以从任意策略组合开始。
- 改进方向:玩家只需切换到任何能降低自身成本的策略,而不必是成本最低的“最佳”策略。
- 执行顺序:玩家可以按任意顺序进行策略调整。
一个关键观察是:如果这个动态过程停止,那么停止时的策略组合就是一个纯策略纳什均衡。因为停止条件正是“没有玩家能通过单方面改变策略来降低成本”,这正是纳什均衡的定义。
那么,核心问题变为:在拥塞博弈中,这个动态过程总会停止吗?
收敛性证明与势函数
我们担心动态过程可能陷入无限循环。为了证明其必然收敛,我们将构造一个势函数,并证明每次策略改进都会严格降低该函数的值。由于势函数值只能下降且游戏状态有限,循环就不可能发生。
对于拥塞博弈,我们使用以下势函数 Φ:
Φ(a) = Σ_{j=1}^{m} Σ_{k=1}^{n_j(a)} l_j(k)
这个函数将每个策略组合 a 映射为一个实数。它看起来复杂,但设计巧妙,其变化量恰好等于进行策略改变的玩家的成本变化量。
证明思路:
- 考虑玩家
i将其策略从a_i改为b_i。 - 可以计算玩家
i的成本变化Δcost_i。根据最优响应动态的定义,如果这是一次改进,则Δcost_i < 0。 - 可以计算势函数的变化
ΔΦ。通过代数推导(比较策略改变前后,设施使用人数变化对势函数求和项的影响),可以证明:
ΔΦ = Δcost_i - 因此,在最优响应动态的每一步,都有
ΔΦ = Δcost_i < 0。势函数严格下降。 - 由于游戏状态有限,势函数不能无限下降,因此动态过程必然在有限步内停止。
- 如前所述,停止时即达到纯策略纳什均衡。
由此,我们得到一个重要推论:每个拥塞博弈都至少存在一个纯策略纳什均衡。这是一个通过算法分析得出的非平凡结构定理。
近似均衡与快速收敛
虽然最优响应动态保证收敛,但在最坏情况下,收敛步数可能是指数级的。如果我们放宽要求,只寻求近似纳什均衡,则可以获得更快的收敛速度。
我们定义 ε-近似纯策略纳什均衡:在此策略组合下,没有玩家能通过单方面改变策略将其成本降低超过 ε。
考虑 ε-最优响应动态:此动态与标准最优响应动态类似,但玩家仅在能找到至少降低 ε 成本的策略时才会改变策略。
我们可以使用相同的势函数 Φ 进行分析:
Φ始终非负。Φ的初始值有一个上界:Φ_initial ≤ n * m * C_max,其中C_max是任何设施在任何使用人数下的最大成本。- 在 ε-最优响应动态的每一步,势函数减少量至少为
ε(因为ΔΦ = Δcost_i ≤ -ε)。 - 势函数不能低于 0。
因此,动态过程最多经过 (n * m * C_max) / ε 步就会停止,并达到一个 ε-近似纳什均衡。这个步数是关于玩家数 n、设施数 m 和精度 1/ε 的多项式,表明对于近似均衡,收敛速度是很快的。
总结
本节课我们一起学习了拥塞博弈这一结构化博弈模型。我们定义并分析了一个简单的、计算上可行的最优响应动态过程。通过构造一个巧妙的势函数,我们证明了:
- 在拥塞博弈中,最优响应动态总能收敛到纯策略纳什均衡。
- 这一结论也意味着每个拥塞博弈都必然存在纯策略纳什均衡。
- 如果我们只要求达到近似纳什均衡,那么一个稍加修改的动态过程能以多项式时间快速收敛。

这为“在大型结构化博弈中,纯策略纳什均衡是计算上可信的预测结果”这一观点提供了有力支持。
004:最佳响应动态的收敛性

在本节课中,我们将要学习如何判断一个博弈中的最佳响应动态是否必然收敛。我们将通过分析几个非拥堵博弈的例子,并最终抽象出一个通用条件,来精确刻画最佳响应动态收敛的博弈类别。
回顾与动机
上一讲我们介绍了拥堵博弈,并证明了在该类博弈中,最佳响应动态(即使玩家只进行“更好响应”)必然会收敛到一个纯策略纳什均衡。这为预测大型博弈的稳定状态提供了一个计算上合理的故事。
然而,拥堵博弈只是众多博弈类型中的一种。一个自然的问题是:最佳响应动态的收敛性是否适用于更广泛的博弈类别?或者说,我们能否精确地描述出所有最佳响应动态必然收敛的博弈?
为了回答这个问题,本节我们将首先研究两个非拥堵博弈的例子,证明最佳响应动态在其中依然收敛。然后,我们将从这些证明中抽象出关键结构,并给出一个“当且仅当”的完整刻画。
案例研究一:相同机器上的负载均衡博弈 🖥️
首先,我们来看一个看起来很像拥堵博弈,但严格来说并不是拥堵博弈的例子:相同机器上的负载均衡博弈。
博弈描述
- 玩家: 每个玩家
i有一个需要运行的作业,其大小为w_i(一个正数权重)。 - 行动: 每个玩家选择将作业调度到
m台相同机器中的某一台上。 - 成本: 玩家
i的成本是他所选机器的负载,即调度到该机器上的所有作业的权重之和。
公式化描述:
- 设机器
j上的玩家集合为S_j。 - 机器
j的负载为:L_j = Σ_{i ∈ S_j} w_i。 - 玩家
i(选择了机器j)的成本为:cost_i = L_j。
为何不是拥堵博弈?
在标准的拥堵博弈中,每条设施(此处为机器)的成本函数仅取决于使用该设施的玩家数量,而不关心具体是哪些玩家。然而,在此博弈中,机器的负载是玩家权重的和,这依赖于具体玩家的身份(即他们的权重 `w_i``)。因此,它不是一个拥堵博弈。
收敛性证明
尽管不是拥堵博弈,我们仍能证明最佳响应动态在此博弈中收敛。证明的关键是找到一个合适的势函数。
我们定义势函数 Φ 为所有机器负载平方和的一半:
Φ = (1/2) * Σ_{j=1}^{m} (L_j)^2
证明思路:
- 考虑玩家
i从机器j切换到机器j'的一次更好响应。 - 玩家
i的成本变化为:Δcost_i = (L_{j'} + w_i) - L_j。由于这是更好响应,我们有Δcost_i < 0。 - 计算势函数的变化
ΔΦ。只有机器j和j'的负载发生变化。- 切换后,
j'的新负载为L_{j'} + w_i,j的新负载为L_j - w_i。 - 经过代数运算(展开平方项并消元),我们可以得到:
ΔΦ = w_i * Δcost_i
- 切换后,
- 由于
w_i > 0且Δcost_i < 0,因此ΔΦ < 0。 - 势函数
Φ在每次更好响应后严格下降,并且其取值是有限的。因此,动态不可能进入循环,最终必然收敛到一个纯策略纳什均衡。
关键观察:
在此证明中,势函数的变化 ΔΦ 并不等于玩家成本的变化 Δcost_i,而是与之同号(因为 w_i > 0)。这比“精确相等”的要求更弱,但足以保证收敛。
案例研究二:红州蓝州博弈 🔴🔵
接下来,我们看一个与拥堵博弈结构截然不同的例子:红州蓝州博弈(或称网络协调博弈)。
博弈描述
- 玩家与网络: 玩家位于一个无向图
G=(V, E)的顶点上。边(i, j)具有权重w_{ij},可正可负(正表示朋友/亲和,负表示敌人/排斥)。 - 行动: 每个玩家
i选择一个行动a_i ∈ {+1, -1}(例如,+1代表“红州”,-1代表“蓝州”)。 - 效用: 玩家
i希望与朋友选择相同行动,与敌人选择相反行动。其效用函数为:
u_i(a) = Σ_{j: (i,j) ∈ E} w_{ij} * a_i * a_j- 当
a_i = a_j时,a_i * a_j = +1,贡献+w_{ij}。 - 当
a_i ≠ a_j时,a_i * a_j = -1,贡献-w_{ij}。
- 当
收敛性证明
我们再次通过构造势函数来证明最佳响应动态的收敛性。
我们定义势函数 Φ 为图中所有边(不重复计算)的贡献之和:
Φ = Σ_{(i,j) ∈ E, i<j} w_{ij} * a_i * a_j
证明思路:
- 考虑玩家
i改变其行动(即a_i变为-a_i)的一次更好响应。 - 玩家
i的效用变化为:
Δu_i = u_i(新) - u_i(旧) = [Σ_{j} w_{ij} * (-a_i) * a_j] - [Σ_{j} w_{ij} * a_i * a_j] = -2 * u_i(旧)
由于这是更好响应,Δu_i > 0,意味着u_i(旧) < 0。 - 计算势函数的变化
ΔΦ。只有与玩家i相连的边受到影响。- 经过计算可得:
ΔΦ = Σ_{j} w_{ij} * [(-a_i)*a_j - a_i*a_j] = -2 * Σ_{j} w_{ij} * a_i * a_j = -2 * u_i(旧)
- 经过计算可得:
- 因此,
ΔΦ = Δu_i。 - 由于
Δu_i > 0,我们有ΔΦ > 0。势函数在每次更好响应后严格增加。 - 势函数有界,因此动态必然收敛到一个纯策略纳什均衡。
关键观察:
在此博弈中,势函数恰好等于所有玩家效用总和的一半(即社会总福利的一半)。每次更好响应不仅提高了该玩家的效用,也提高了社会总福利。
势函数与收敛性的完整刻画 🎯
通过以上三个例子(拥堵博弈、负载均衡博弈、红州蓝州博弈),我们看到一个共同模式:通过构造一个随更好响应单调变化的势函数,可以证明最佳响应动态的收敛性。现在,我们正式定义这类势函数,并建立它们与收敛性之间的等价关系。
定义:序数势函数
对于一个博弈,一个函数 Φ 被称为序数势函数,如果对于任意博弈状态 a、任意玩家 i 以及该玩家的任意替代行动 b_i,满足以下条件:
当玩家 i 从行动 a_i 单方面切换到 b_i 能降低其成本(或提高其效用)时,势函数值也严格下降(或上升)。
用符号表示:
如果 cost_i(b_i, a_{-i}) < cost_i(a_i, a_{-i}),则必有 Φ(b_i, a_{-i}) < Φ(a_i, a_{-i})。
精确势函数是序数势函数的一个特例,要求势函数的变化量等于玩家成本的变化量(如拥堵博弈和红州蓝州博弈中的例子)。序数势函数只要求变化方向相同,不要求幅度相等(如负载均衡博弈)。
定理:收敛性的等价条件
一个博弈中,最佳响应动态必然收敛(从任意初始状态出发,无论玩家以何种顺序进行更好响应)当且仅当该博弈存在一个序数势函数。
证明(充分性 ⇒):
如果博弈存在序数势函数 Φ,那么每次更好响应都使 Φ 向同一方向严格单调变化。由于博弈状态的总数是有限的,Φ 不能无限变化,因此动态不可能进入循环,最终必然停止在一个无人愿意单方面偏离的状态,即纯策略纳什均衡。
证明(必要性 ⇐):
假设最佳响应动态在博弈 G 中必然收敛。我们需要构造一个序数势函数。
- 构造状态图: 以所有可能的博弈状态为顶点。从状态
a向状态b连一条有向边,当且仅当b可以通过某个玩家i的一个更好响应动作从a到达(即a和b仅在玩家i的行动上不同,且该改变对i而言是成本降低的)。 - 收敛性意味着无环: “最佳响应动态必然收敛”这一假设,翻译成图论语言,意味着这个有向图是无环的。因为如果存在环,就可以构造一个沿着环无限循环的更好响应序列,永不收敛。
- 定义势函数: 由于图是无环的,从每个顶点
a出发,都存在有限长度的路径到达某个汇点(即没有出边的点,对应纳什均衡)。我们定义势函数Φ(a)为:从状态a出发到任意汇点的最长路径的长度。 - 验证序数性质: 考虑图中的任意一条边
a → b(代表一次更好响应)。从a出发的最长路径,至少可以先走边a→b,然后再走从b出发的最长路径。因此,Φ(a) ≥ 1 + Φ(b),即Φ(a) > Φ(b)。这正是序数势函数所要求的:更好响应导致势函数严格下降。
因此,我们从一个收敛的动态中构造出了一个序数势函数。
总结
本节课中我们一起学习了如何系统分析最佳响应动态的收敛性。
- 我们首先研究了相同机器上的负载均衡博弈,它虽然不是标准的拥堵博弈,但我们通过构造势函数
Φ = 1/2 Σ L_j²并证明ΔΦ与玩家成本变化同号,确立了其收敛性。 - 接着,我们分析了结构不同的红州蓝州博弈,其势函数
Φ = Σ w_{ij} a_i a_j恰好是社会总福利的一半,并证明了更好响应会提高社会总福利,从而保证收敛。 - 最后,基于这些例子的共同模式,我们引入了序数势函数的概念,并证明了一个博弈的最佳响应动态必然收敛,当且仅当该博弈存在一个序数势函数。这为判断动态收敛性提供了一个根本性的理论准则。

这个定理表明,我们一直使用的“寻找势函数”的证明方法,并非一种特殊的技巧,而是刻画最佳响应动态收敛性的完整且必要的工具。
005:从完美专家到加权多数投票

在本节课中,我们将学习如何在序列决策环境中进行学习,特别是通过“专家建议”模型。我们将从一个简单的假设开始——存在一个从不犯错的“完美专家”,并逐步放宽这个假设,最终目标是设计一个算法,使其性能在长期内能与事后证明的最佳专家相媲美。
专家建议模型概述
我们考虑一个序列二元预测问题。每天,你需要预测某只股票(例如GameStop)的涨跌。在你做预测之前,有 N 位“专家”会分别给出他们的预测(涨或跌)。你的目标是设计一个算法,它每天能综合这些专家的建议,做出自己的预测。在做出预测后,你会观察到当天的真实结果。
这个模型的挑战在于:
- 股票的真实结果序列可以是任意的(甚至由对手方生成)。
- 专家们的预测序列也可以是任意的。
- 我们无法保证任何专家总是正确。
因此,我们无法追求绝对的预测准确性。相反,我们的目标是:在事后看来,我们的算法犯错的次数,不多于最佳专家犯错次数太多。这是一种相对性能的衡量标准。
简单情况:存在完美专家
首先,我们考虑一个简化的场景:在 N 位专家中,存在一位“完美专家”,他永远不会犯错。当然,我们事先并不知道这位专家是谁。
算法:淘汰法
一个直观的策略是“淘汰法”。算法维护一个“幸存专家”集合 S,初始时包含所有 N 位专家。在每一天:
- 观察所有幸存专家当天的预测。
- 采用幸存专家中的多数票作为自己的预测。
- 观察到真实结果后,将所有预测错误的专家从集合 S 中永久淘汰。
性能分析
我们声称,淘汰法最多犯 log₂(N) 次错误。
分析思路如下:
- 每次算法犯错,意味着多数幸存专家都错了。因此,至少一半的幸存专家会被淘汰。
- 集合 S 的大小初始为 N,且永远不会小于 1(因为完美专家始终存在)。
- 一个集合的大小每次至少减半,最多能经历 log₂(N) 次这样的减半过程,直到大小变为 1。
- 因此,算法犯错的次数最多为 log₂(N)。
这个结果很理想:错误次数仅与专家数量的对数相关,且与游戏总轮数 T 无关。随着 T 增大,算法的平均错误率(错误次数/T)将趋近于零。
放宽假设:没有完美专家
现实中,通常没有永不犯错的专家。如果我们直接运行淘汰法,可能会在某个时刻淘汰掉所有专家,导致算法“崩溃”(无法进行多数投票)。一个简单的修补方法是:当幸存专家集合为空时,重启算法(即重置集合 S 为所有专家)。我们称之为迭代淘汰法。
性能分析
设 OPT 为事后最佳专家所犯的错误总数。我们可以证明,迭代淘汰法犯的错误数最多为 log₂(N) * (OPT + 1)。
分析思路如下:
- 在两次重启之间,算法构成一个独立的“淘汰法”运行阶段。
- 在每个阶段内,由于算法最终因集合为空而重启,意味着该阶段内每一位专家都至少犯了一次错(包括最终的最佳专家)。因此,OPT 在每个阶段至少增加 1。
- 同时,根据淘汰法的分析,在每个阶段内,算法最多犯 log₂(N) 次错误。
- 如果有 K 次重启,则共有 K+1 个阶段。算法总错误数 ≤ (K+1) * log₂(N)。而 OPT ≥ K(因为每个阶段 OPT 都增加)。因此,总错误数 ≤ log₂(N) * (OPT + 1)。
评价与局限
这个定理将算法性能与最佳专家挂钩,是一个进步。然而,log₂(N) * OPT 的界限是乘性的。如果最佳专家犯错率是 10%,而 log₂(1000) ≈ 10,那么这个界限允许算法犯 100% 的错误,这显然不够好。
我们的目标是获得一个加性的界限,形如 错误数 ≤ OPT + O(log N),这样才能真正声称算法“几乎和最佳专家一样好”。
通向更优算法:加权多数投票
迭代淘汰法的核心问题在于其“非黑即白”的处理方式:专家一旦犯错就被完全弃用,重启时又完全恢复信誉。一个更合理的思路是:
- 不彻底淘汰专家,而是根据他们的历史表现赋予不同的权重。
- 表现好的专家权重高,在投票中话语权大;表现差的专家权重低,话语权小。
- 权重应平滑更新,而非骤变。
这引出了下一讲将要深入探讨的加权多数投票算法及其变种(如Hedge算法)。这些算法能够实现我们期望的加性性能界限,为在更复杂的博弈环境中应用学习理论奠定基础。
总结
本节课中,我们一起学习了序列决策中的专家建议模型:
- 我们首先在“存在完美专家”的强假设下,介绍了淘汰法,并证明了其错误上界为 O(log N)。
- 接着,我们放宽假设,通过迭代淘汰法处理没有完美专家的情况,得到了一个乘性的性能界限 O(OPT * log N)。
- 最后,我们指出了迭代淘汰法的局限性,并引出了通过动态加权来平滑整合专家建议的改进方向,这将是下一讲的重点。

通过这个从简单到复杂的探索过程,我们为理解如何在对抗性环境中进行有效学习,并将其最终应用于多智能体博弈场景搭建了基础框架。
006:多项式权重算法 🧠

在本节课中,我们将学习一种名为“多项式权重算法”的强大在线学习算法。我们将从回顾之前讨论的简单算法开始,逐步引入更复杂的设定,最终理解该算法如何保证在对抗性环境中,其表现不逊于事后看来最好的“专家”。
概述 📋
我们将从“预测专家”的简单模型出发,逐步构建算法。首先,我们会回顾“HALVING算法”及其在存在完美专家时的表现。接着,我们会看到当没有完美专家时,简单的重启策略(迭代HALVING算法)虽然有效,但性能有限。然后,我们将引入“加权多数算法”,它通过软化惩罚机制改进了性能。最后,我们将介绍核心的“多项式权重算法”,这是一个随机化算法,能够在更一般的设定下(专家损失为连续值,而非简单的对错)提供更强的性能保证,其长期平均损失可以逼近最佳专家。
从HALVING算法到加权多数算法 🔄
上一节我们介绍了HALVING算法,它假设存在一个从不犯错的完美专家。本节中,我们来看看当这个假设不成立时,如何设计更鲁棒的算法。
HALVING算法回顾
在存在至少一个完美专家的设定中,HALVING算法非常简单:
- 维护一个“幸存专家”集合
S,初始包含所有n位专家。 - 每一轮,根据
S中专家的多数意见进行预测。 - 每一轮结束后,将本轮预测错误的专家从
S中移除。
该算法保证犯错的次数不超过 log₂(n) 次。
迭代HALVING算法及其局限
当没有完美专家时,HALVING算法最终会清空集合 S。一个简单的修复方法是当 S 为空时,重置算法(即让所有专家重新“幸存”)。这被称为迭代HALVING算法。
可以证明,如果最佳专家在事后看来犯了 OPT 次错误,那么迭代HALVING算法最多犯 log₂(n) * (OPT + 1) 次错误。
这个界限有两个主要问题:
- 界限不理想:
log₂(n)是一个乘法因子。如果最佳专家犯错的比例是常数(例如1%),我们的犯错比例将是log₂(n)倍,这可能很大。 - 算法不智能:每次重置都完全忘记了之前学到的所有历史信息。
加权多数算法
加权多数算法通过软化惩罚机制来改进迭代HALVING算法:
- 不再使用集合
S,而是为每位专家i维护一个权重w_i,初始为1。 - 每一轮,根据专家权重的加权多数意见进行预测(即比较预测“上”和“下”的专家总权重)。
- 每一轮结束后,将本轮预测错误的专家的权重减半(而不是直接设为0)。
以下是该算法的核心更新规则(针对0/1损失):
如果 专家i 本轮预测错误:
w_i = w_i / 2
定理:加权多数算法犯的错误次数 M 满足:M ≤ 2.4 * OPT + log₂(n)。
这个界限将乘法因子从 log₂(n) 降低到了一个常数2.4,这是一个显著的改进。证明思路与HALVING算法类似,但跟踪的是专家总权重 W 的变化:
- 当算法犯错时,因为遵循的是加权多数意见,所以至少有总权重一半的专家犯了错。将这些专家的权重减半,意味着总权重
W至少减少了 1/4。 - 总权重
W初始为n,且始终不小于最佳专家的权重。最佳专家若犯错OPT次,其最终权重为(1/2)^OPT。 - 结合1和2,通过不等式推导即可得到上述界限。
迈向多项式权重算法 🚀
虽然加权多数算法有所改进,但我们希望得到更强的保证,并处理更一般的情况。本节中,我们将把设定推广到更符合博弈论应用的场景。
更一般的设定
我们考虑以下设定:
- 专家与选择:有
n个专家(可类比为游戏中的n个可选行动)。每一轮t,算法随机选择一位专家i_t来遵循。 - 连续损失:每一轮,每位专家
i会遭受一个损失l_t(i) ∈ [0, 1](可类比为选择该行动带来的成本或负效用)。算法选择专家i_t后,遭受的损失即为l_t(i_t)。 - 目标:设计算法,使得其期望累积损失不比事后看来最佳的专家(累积损失最小的专家)的累积损失差太多。
这个设定推广了之前的模型:
- 行动多于两个:专家可以对应多个行动,而不仅仅是“上/下”预测。
- 损失是连续的:不再是简单的对(0)或错(1),可以度量“错误的程度”。
- 算法是随机化的:这是关键改进,有助于对抗对手。
多项式权重算法描述
算法非常简单,它平滑地推广了加权多数算法:
- 初始化:为每位专家
i设置权重w₁(i) = 1。 - 循环每一轮 t = 1 to T:
a. 选择专家:以概率p_t(i) = w_t(i) / (∑_j w_t(j))随机选择专家i_t。即,按权重比例随机选择。
b. 观察损失:观察到所有专家的损失向量l_t(1), ..., l_t(n)。
c. 更新权重:对于每位专家i,更新其权重:
w_{t+1}(i) = w_t(i) * (1 - ε * l_t(i))
其中ε是一个小的正参数(例如 0.1)。
核心思想:算法根据专家的历史表现(权重)来随机化选择。表现越差(累积损失越高)的专家,其权重被降低得越多,因此被选中的概率也越低。参数 ε 控制了学习/惩罚的速率。
多项式权重算法的性能保证 🏆
本节中,我们将陈述并简要分析多项式权重算法的主要定理。
定理:对于任意损失序列,任意专家 k,以及参数 ε ∈ (0, 1/2],多项式权重算法的期望累积损失满足:
E[算法总损失] ≤ (专家k的总损失) + ε * (专家k的总损失) + (ln n) / ε
通过选择最优的 ε(约为 √((ln n)/T)),我们可以得到更简洁的界:
E[算法平均损失] ≤ (专家k的平均损失) + O(√((ln n)/T))
结论:随着回合数 T 增大,算法的平均期望损失最多只比最佳专家的平均损失多出一个趋于0的项。这意味着在长期,算法几乎能做到和事后最佳专家一样好。
证明思路
证明延续了加权多数算法的分析框架,但处理的是期望和连续损失:
- 跟踪总权重:定义
Φ_t = ∑_i w_t(i)为第t轮开始时的总权重。 - 算法损失与权重下降的关系:可以证明,
E[算法在第t轮的损失]近似等于(ε * Φ_t) / Φ_{t+1}的一个缩放版本。直观上,算法损失高时,权重下降也快。 - 总权重的上界:通过更新规则
w_{t+1}(i) = w_t(i)*(1 - ε l_t(i)),并利用不等式ln(1-x) ≤ -x,可以推导出ln(Φ_{T+1})的上界,其中包含-ε * E[算法总损失]。 - 总权重的下界:总权重
Φ_{T+1}至少等于最佳专家k的最终权重。利用不等式ln(1-x) ≥ -x - x²(对于x较小),可以推导出ln(w_{T+1}(k))的下界,其中包含-ε * (专家k的总损失) - ε² * T。 - 结合上下界:将
ln(Φ_{T+1})的上界和ln(w_{T+1}(k))的下界结合起来(因为Φ_{T+1} ≥ w_{T+1}(k)),经过代数推导即可得到定理中的不等式。
总结与展望 📈
本节课中,我们一起学习了在线学习从简单到复杂的一系列算法。
我们首先回顾了HALVING算法,它在存在完美专家时非常有效。接着,我们看到了当没有完美专家时,迭代HALVING算法能提供保证,但性能有限。然后,加权多数算法通过软化惩罚(减半权重而非归零)改善了性能界限。
最后,我们引入了核心的多项式权重算法。它将设定推广到更一般的情况:算法随机选择专家,专家损失是 [0,1] 区间的连续值。该算法通过一个参数 ε 平滑地更新专家权重。我们证明了该算法具有强大的理论保证:其长期平均期望损失可以逼近事后最佳专家的平均损失。
这个算法的重要性在于,它为我们提供了一种在对抗性环境(如博弈)中做决策的通用工具。在接下来的课程中,我们将探讨如何将这个算法应用于博弈场景,让玩家使用它来学习并最终达到某种均衡。

本节课中我们一起学习了:从HALVING算法到多项式权重算法的演进过程,理解了如何通过权重更新和随机化来设计在对抗性环境中具有强理论保证的在线学习算法,并掌握了多项式权重算法的核心思想及其性能定理。
007:零和博弈与极小极大定理 🎲

在本节课中,我们将学习零和博弈这一重要的博弈类别,并证明其核心性质——冯·诺依曼的极小极大定理。我们将看到,之前学习的多项式权重算法不仅是一种有效的学习动态,还能帮助我们轻松地证明这个定理。




什么是零和博弈?⚖️
零和博弈是一种特殊的双人博弈。在这种博弈中,对于任何一对行动组合,玩家一获得的效用恰好是玩家二所获效用的相反数。这意味着,两位玩家的效用之和恒为零(或某个常数)。因此,博弈是严格对抗的:一方获益必然导致另一方遭受同等损失。
我们可以用一个矩阵 U 来表示一个零和博弈,其中行代表玩家一(最大化者,Max)的行动,列代表玩家二(最小化者,Min)的行动。矩阵中的每个数值 U(i, j) 表示当 Max 选择行动 i,Min 选择行动 j 时,Max 获得的效用(同时也是 Min 付出的成本)。
一个例子:总统选举游戏 🗳️
考虑一个简单的 2x2 零和博弈,称为“总统选举游戏”。两位候选人(Max 和 Min)各自选择一个竞选焦点。收益矩阵如下(数值代表 Max 的获胜概率):
| 道德 (Morality) | 减税 (Tax Cuts) | |
|---|---|---|
| 经济 (Economy) | 3 | -1 |
| 社会契约 (Society) | -2 | 1 |
Max 希望最大化数值,Min 希望最小化数值。
思考:谁先行动?🤔
博弈的顺序会影响策略。让我们分析两种情景。
情景一:Max 被迫先行动
如果 Max 必须先公布其(可能是混合的)策略,然后 Min 可以针对此策略做出最优反应,那么 Max 应该如何选择策略?
以下是 Max 的思考过程:
- Max 选择一个混合策略,例如以概率 p 选择“经济”,以概率 1-p 选择“社会契约”。
- Min 会计算每个纯策略的期望成本,并选择成本更小的那个。
- 若 Min 选择“道德”,期望成本为:3p + (-2)(1-p)
- 若 Min 选择“减税”,期望成本为:(-1)p + 1(1-p)
- Min 将选择两者中成本较小的行动,因此 Max 最终获得的效用将是这两个表达式中的最小值。
- Max 的目标是:选择一个 p,以最大化这个最小值。
通过令两个成本表达式相等,可以解出最优的 p。在本例中,p = 3/7。此时,Min 对两个行动无差异,Max 的保证收益为 1/7。
这个 Max 能保证的收益值,称为该博弈的极大极小值 (max-min value)。
情景二:Min 被迫先行动
同理,如果 Min 必须先公布其混合策略(以概率 q 选择“道德”),然后 Max 最优反应,那么 Min 的思考过程如下:
- Min 选择混合策略 q。
- Max 会计算每个纯策略的期望收益,并选择收益更大的那个。
- 若 Max 选择“经济”,期望收益为:3q + (-1)(1-q)
- 若 Max 选择“社会契约”,期望收益为:(-2)q + 1(1-q)
- Max 将选择两者中收益较大的行动,因此 Min 最终付出的成本将是这两个表达式中的最大值。
- Min 的目标是:选择一个 q,以最小化这个最大值。
通过令两个收益表达式相等,可以解出最优的 q。在本例中,q = 2/7。此时,Max 对两个行动无差异,Min 保证付出的成本(即 Max 的收益)也是 1/7。
这个 Min 能迫使对方达到的收益值,称为该博弈的极小极大值 (min-max value)。
观察与定义 👀
在上面的例子中,我们观察到一个有趣的现象:无论谁先行动,博弈的最终收益值都是 1/7。也就是说,极大极小值等于极小极大值。
现在,让我们将其推广到一般情况。考虑一个一般的零和博弈,Max 有 n 个行动,Min 有 m 个行动,收益矩阵为 U。
- 极大极小值 (v_maxmin):这是 Max 在先公布策略、Min 随后最优反应的情况下,能为自己保证的收益。
- 公式:v_maxmin = max_{p ∈ Δ(n)} min_{y ∈ [m]} (p^T U)_y
- 其中 p 是 Max 在 n 个行动上的概率分布,(p^T U)_y 是当 Max 使用策略 p、Min 选择纯策略 y 时 Max 的期望收益。
- 极小极大值 (v_minmax):这是 Min 在先公布策略、Max 随后最优反应的情况下,能迫使 Max 获得的收益。
- 公式:v_minmax = min_{q ∈ Δ(m)} max_{x ∈ [n]} (U q)_x
- 其中 q 是 Min 在 m 个行动上的概率分布,(U q)_x 是当 Min 使用策略 q、Max 选择纯策略 x 时 Max 的期望收益。
一个直观的结论是:v_minmax ≥ v_maxmin。因为先行动、暴露策略只会给对方更多信息来对付你,不可能是优势。
冯·诺依曼极小极大定理 🏆
上一节我们介绍了极大极小值和极小极大值的概念,并知道后者不小于前者。本节的核心是证明冯·诺依曼极小极大定理,该定理指出,在零和博弈中,两者实际上是相等的。
定理 (Minimax Theorem):
对于任何有限双人零和博弈,其极小极大值等于极大极小值。即:
v_minmax = v_maxmin
这个定理并非显然成立。冯·诺依曼在1928年首次证明它时曾说:“在我看来,没有这个定理,就不可能有博弈论。”而另一位数学家博雷尔曾认为该定理对5x5矩阵成立,但对更大矩阵不成立。
我们将利用多项式权重算法,给出一个简洁的证明。
证明思路(反证法)
- 假设定理不成立:假设存在某个零和博弈 U,使得 v_minmax > v_maxmin。令 v_minmax = v_maxmin + ε,其中 ε > 0。
- 设计一个思想实验:考虑 Max 和 Min 重复进行 T 轮这个博弈。
- Min 的策略:使用我们之前学过的多项式权重算法来选择每轮的混合策略。该算法会根据历史损失更新每个行动的权重,并依概率选择行动。
- Max 的策略:每轮都最优反应于 Min 当前轮由多项式权重算法产生的混合策略。
- 分析平均收益:
- 从 Min 的角度(使用多项式权重算法):
多项式权重算法的保证是:Min 的平均成本不会超过“ hindsight 最佳固定行动”的平均成本加上一个随着 T 增大而趋于零的遗憾项 δ_T。
即:Min的平均成本 ≤ (最佳固定行动 hindsight 的成本) + δ_T。
而“最佳固定行动 hindsight 的成本”等价于 Min 针对 Max 在 T 轮中实际行动序列的均匀混合策略 x̄ 所做的最优反应的成本。这个成本不会小于博弈的极大极小值 v_maxmin(因为 v_maxmin 是 Min 在后行动时能获得的最佳保证)。
因此:Min的平均成本 ≤ v_maxmin + δ_T。
由于 Max 的收益等于 Min 的成本,所以:Max的平均收益 ≤ v_maxmin + δ_T。 - 从 Max 的角度(每轮最优反应):
因为 Max 每轮都在对 Min 的混合策略做最优反应,所以他每轮的收益至少是博弈的极小极大值 v_minmax(因为 v_minmax 是 Max 在后行动时能获得的最佳保证)。
因此:Max的平均收益 ≥ v_minmax。
- 从 Min 的角度(使用多项式权重算法):
- 得出矛盾:
结合两个不等式,我们得到:
v_minmax ≤ Max的平均收益 ≤ v_maxmin + δ_T
代入最初的假设 v_minmax = v_maxmin + ε,得到:
v_maxmin + ε ≤ v_maxmin + δ_T => ε ≤ δ_T
然而,δ_T 是多项式权重算法的遗憾界,当 T 足够大时,它可以变得任意小(例如 ~O(1/√T))。只要我们选择的 T 使得 δ_T < ε,就产生了矛盾。 - 结论:
因此,最初的假设 v_minmax > v_maxmin 不成立。所以必有 v_minmax = v_maxmin。定理得证。
定理的推论与意义 💡
极小极大定理有几个重要的推论:
- 均衡策略即防守策略:在零和博弈的任何一个纳什均衡中,Max 的策略一定是一个极大极小策略(即先行动时的最优防守策略),Min 的策略一定是一个极小极大策略。这意味着计算均衡不需要复杂的循环推理,只需解决两个嵌套的优化问题。
- 博弈的值 (Value of the Game):所有纳什均衡都会给 Max(和 Min)带来相同的收益。这个共同的收益值称为博弈的“值”。这与一般和博弈(如性别战)不同,在一般和博弈中,不同均衡可能带来不同收益。
- 多项式权重算法是最优的:证明过程显示,即使 Min 先行动(使用多项式权重算法),她也能获得近乎后行动时的收益。这意味着在零和博弈中,使用多项式权重算法是一种强大而简单的策略,即使你对博弈矩阵知之甚少,也能通过学习快速接近最优表现。
总结 📚
本节课我们一起学习了零和博弈的核心内容:
- 我们定义了零和博弈,并通过总统选举游戏的例子分析了极大极小值和极小极大值。
- 我们陈述并证明了关键的冯·诺依曼极小极大定理,该定理指出在零和博弈中,极大极小值等于极小极大值。
- 我们的证明巧妙地运用了多项式权重算法,将其与一个重复博弈的思想实验结合,通过分析平均收益得出了结论。
- 最后,我们探讨了该定理的深刻含义:它简化了零和博弈均衡的分析,定义了博弈的“值”,并凸显了多项式权重算法在对抗性环境中的有效性。

下一讲,我们将探讨这些思想如何扩展到更一般的博弈场景中。
008:多人零和博弈与无悔动态 🎮




在本节课中,我们将要学习多人零和博弈的特殊性质,并探讨一种能够高效收敛到纳什均衡的动态过程。我们将重点关注一类称为“可分离零和博弈”的多人博弈,并证明只要博弈序列满足“无悔”性质,其平均策略就会构成一个近似纳什均衡。
多人零和博弈的特殊性 🤔
上一节我们介绍了两人零和博弈,并证明了其具有极小极大定理等特殊性质。本节中我们来看看,当玩家数量超过两个时,零和博弈是否还保留这些特殊性质。
一个 n 玩家零和博弈 的定义是:对于所有可能的行动组合,所有玩家的效用之和为零。然而,与两人零和博弈不同,仅仅知道一个多人博弈是零和的,并不能告诉我们任何关于其均衡结构或计算复杂性的有用信息。
我们可以通过一个“元定理”来理解这一点:任何 n-1 玩家的普通博弈,都可以通过添加一个“虚拟玩家”来转化为一个 n 玩家的零和博弈,且不改变原博弈的任何本质均衡结构。具体做法是:
- 添加一个新玩家 n,其行动集只有一个动作(即没有实际选择)。
- 将玩家 n 的效用函数定义为其他所有玩家效用之和的负数。
这样,新构成的 n 玩家博弈在形式上就是零和的,但其均衡结构与原来的 n-1 玩家普通博弈完全相同。因此,对于超过两个玩家的博弈,“零和”这一条件本身并不蕴含任何特殊的结构或计算上的便利性。
可分离零和博弈 🧩
虽然一般的多人零和博弈没有特殊结构,但如果我们对博弈形式施加更多限制,就能恢复一些类似两人零和博弈的良好性质。我们引入一类称为 可分离零和博弈 的博弈。
在一个可分离博弈中,每个玩家 i 的效用函数可以分解为其与所有其他玩家 j 进行“双边互动”的效用之和。形式上,玩家 i 的效用可以写为:
u_i(a) = Σ_{j ≠ i} u_{ij}(a_i, a_j)
其中,u_{ij} 是玩家 i 在与玩家 j 的双边互动中获得的效用。注意,这并不意味着每个双边互动 (i, j) 本身是零和的,只要求所有玩家的总效用之和为零。
可分离零和博弈 就是同时满足可分离性和零和性的博弈。两人零和博弈是它的一个特例(此时图中只有两个节点和一条边)。这类博弈将继承两人零和博弈的许多优良性质。
无悔序列与近似均衡 🎯
我们的目标是找到一个动态过程,使得玩家在可分离零和博弈中的行为能自然收敛到纳什均衡。为此,我们首先定义“无悔”序列。
假设我们观察了一个 T 轮的游戏过程,得到一系列行动组合 a^1, a^2, ..., a^T。对于每个玩家 i,令 a_i^t 表示其在第 t 轮的行动。
我们定义这个行动序列具有 Δ(T)-后悔,如果对于每一个玩家 i 和每一个可能的固定行动 a_i^*,都满足以下不等式:
(1/T) Σ_{t=1}^T u_i(a_i^t, a_{-i}^t) ≥ (1/T) Σ_{t=1}^T u_i(a_i^*, a_{-i}^t) - Δ(T)
其中,a_{-i}^t 表示其他玩家在第 t 轮的行动。
这个不等式的含义是:玩家 i 在实际序列中获得的平均效用,不低于他如果从一开始就坚持只玩某个固定行动 a_i^* 所能获得的平均效用(减去一个很小的后悔值 Δ(T))。如果随着轮数 T 增加,Δ(T) 趋近于 0,我们就称该序列是 无悔的。
为什么这个定义是合理的? 它衡量的是玩家与一个很弱的基准(始终玩同一个动作)相比的后悔程度。一个更强的基准(例如,每轮都玩该轮的最佳反应)通常会导致巨大的、不可避免的后悔(例如在石头剪刀布中)。多项式权重算法等在线学习算法可以保证玩家获得这种无悔性质。
主要定理:无悔序列收敛到均衡 ✅
现在,我们可以陈述并证明本节课的核心定理。
定理:考虑一个 n 玩家的可分离零和博弈。假设我们观察到一个行动序列(共 T 轮)具有 Δ(T)-后悔。对于每个玩家 i,定义其混合策略 ā_i 为:以均匀概率随机选择他在该序列中实际玩过的 T 个行动之一。那么,由这些混合策略 (ā_1, ā_2, ..., ā_n) 构成的策略组合是一个 n·Δ(T)-近似纳什均衡。
证明思路:
- 利用后悔定义:对于每个玩家 i,后悔不等式成立。特别地,对于玩家 i 针对对手策略
ā_{-i}的 最佳反应a_i^*,有:
(1/T) Σ_t u_i(a_i^t, a_{-i}^t) ≥ u_i(a_i^*, ā_{-i}) - Δ(T)
(这里利用了求平均等于对历史行动均匀采样的期望这一事实)。 - 对不等式求和:将上述不等式对所有 n 个玩家求和。
- 左边:由于博弈是零和的,在每一轮 t,所有玩家的效用之和为 0。因此,对 T 轮平均后,左边总和为 0。
- 右边:我们得到
0 ≥ Σ_i [u_i(a_i^*, ā_{-i})] - n·Δ(T)。
- 引入均衡策略效用:我们在右边减去一项
Σ_i u_i(ā_i, ā_{-i})。由于(ā_i, ā_{-i})是一个固定的策略组合,且博弈零和,所有玩家在该组合下的期望效用之和也为 0。因此,减去它不改变不等式:
0 ≥ Σ_i [u_i(a_i^*, ā_{-i}) - u_i(ā_i, ā_{-i})] - n·Δ(T) - 分析偏离收益:项
[u_i(a_i^*, ā_{-i}) - u_i(ā_i, ā_{-i})]正是玩家 i 从均衡策略ā_i偏离到其最佳反应a_i^*所能获得的收益。根据最佳反应的定义,这个值对每个玩家 i 都是非负的。 - 得出结论:现在,我们有一组非负数的和小于等于
n·Δ(T)。这意味着其中每一个数(即每个玩家的最大偏离收益)都小于等于n·Δ(T)。而这正是n·Δ(T)-近似纳什均衡的定义。
因此,由历史行动平均得到的混合策略组合 (ā_1, ..., ā_n) 确实是一个近似均衡。如果玩家使用多项式权重算法等无悔算法进行游戏,Δ(T) 会以约 O(1/√T) 的速度衰减,从而快速收敛到均衡。
总结 📚
本节课中我们一起学习了:
- 多人零和博弈的局限性:对于超过两个玩家的博弈,仅“零和”条件本身不提供任何特殊结构或计算优势。
- 可分离零和博弈:这是一类更结构化的博弈,其中每个玩家的效用可分解为双边互动之和。它包含了两人零和博弈,并继承了其许多良好性质。
- 无悔序列:定义了一种衡量玩家行为质量的方式,即与“始终玩同一动作”的基准相比,玩家的平均表现几乎同样好。
- 收敛定理:在可分离零和博弈中,任何无悔的行动序列,其经验频率分布都会构成一个近似纳什均衡。这为使用像多项式权重算法这样的简单、无需全局知识的动态过程来寻找均衡提供了理论保证。

这个结果非常强大:它意味着在可分离零和博弈中,玩家只需遵循一种关注自身历史收益的简单学习规则,群体的行为就会自然趋向于均衡状态。
009:从纳什均衡到相关均衡

在本节课中,我们将学习博弈论中一个重要的扩展概念——相关均衡。我们将看到,通过引入一个协调机制(如交通信号灯),我们可以引导玩家达成比独立随机化(混合策略纳什均衡)更高效、更协调的稳定状态。相关均衡不仅保证了均衡的存在性,更重要的是,我们将看到它具有良好的计算性质,可以通过简单的学习动态高效达成。
从交通信号灯说起
上一节我们介绍了混合策略纳什均衡,它通过独立随机化保证了均衡的存在性。然而,这种独立性有时会导致效率低下。本节中,我们来看看一个经典例子:十字路口博弈。
想象一个只有红绿灯的十字路口。两个司机(玩家)垂直方向行驶,每人有两个动作:停或行。收益矩阵如下:
| 玩家1 \ 玩家2 | 停 | 行 |
|---|---|---|
| 停 | (0, 0) | (0, 1) |
| 行 | (1, 0) | (-100, -100) |
以下是该博弈的分析:
- 纯策略纳什均衡:有两个:(行,停) 和 (停,行)。在这两个均衡中,总有一个玩家获得收益1,另一个为0。
- 混合策略纳什均衡:双方以约99%的概率选择“停”,以约1%的概率选择“行”。在这个均衡中,双方的期望收益均为0,且有约0.01%的概率发生碰撞(收益-100)。
混合策略均衡的结果非常低效:大部分时间双方都停滞不前,极少时间有人通行,还有碰撞风险。我们真正希望的是:一半时间玩家1行、玩家2停,另一半时间反之,且永不碰撞。这对应一个公平且高效的分布:
- 50% 的概率为 (行,停)
- 50% 的概率为 (停,行)
然而,混合策略无法实现这个分布。因为混合策略要求每个玩家独立随机化,这只能产生乘积分布。例如,如果双方都各以50%概率选择行/停,那么(行,行)的概率将是25%,这会导致碰撞。
问题的根源在于,混合策略缺乏协调机制。在现实中,交通信号灯就扮演了这个角色。
相关均衡的定义
交通信号灯是一个相关装置。它向每位玩家私下“建议”一个动作,但这些建议是相关的:当它建议我“行”时,必然建议对方“停”,反之亦然。
更一般地,我们可以定义一个相关均衡如下:
设有一个博弈,玩家集合为 ( N ),每个玩家 ( i ) 有一个动作集 ( A_i )。一个相关均衡是一个定义在联合动作剖面 ( A = A_1 \times ... \times A_n ) 上的概率分布 ( D )。
这个分布 ( D ) 代表相关装置从“袋子”中抽取建议的方式。装置私下告诉每个玩家 ( i ) 他被建议的动作 ( a_i )。相关均衡的条件是:对于每个玩家 ( i ),以及每个可能被建议的动作 ( a_i ),在已知自己收到建议 ( a_i ) 的条件下(这隐含了关于其他玩家建议的分布信息),遵循建议 ( a_i ) 是玩家 ( i ) 的一个最佳反应。
用数学公式表达,即对于每个玩家 ( i ) 和每个可能的替代动作 ( a_i' \neq a_i ),有:
[
E_{a_{-i} \sim D|a_i}[u_i(a_i, a_{-i})] \geq E_{a_{-i} \sim D|a_i}[u_i(a_i', a_{-i})]
]
其中 ( D|a_i ) 表示在给定玩家 ( i ) 被建议动作 ( a_i ) 的条件下,其他玩家动作的分布。
核心思想:相关装置给出的建议是“自我执行”的。即使玩家在得知建议后,他也没有动机偏离这个建议,因为他知道其他人的建议与他的建议是相关的,遵循建议对他最有利。
在交通灯例子中,分布 ( D ) 以50%概率选择(行,停),50%概率选择(停,行)。这是一个相关均衡,因为:
- 当我被建议“行”时,我知道对方肯定被建议“停”。此时我选择“行”的收益是1,选择“停”的收益是0,所以“行”是最佳反应。
- 当我被建议“停”时,我知道对方肯定被建议“行”。此时我选择“停”的收益是0,选择“行”的收益是-100(碰撞),所以“停”是最佳反应。
相关均衡与纳什均衡的关系
相关均衡是比纳什均衡更广泛的概念。
- 每个(混合策略)纳什均衡都是一个相关均衡:在纳什均衡中,每个玩家独立随机化。这定义了一个联合动作分布,但该分布是独立的(乘积分布)。在这种情况下,得知自己的动作不会提供关于他人动作的任何信息,因此纳什均衡的条件(自己的策略是对他人策略的最佳反应)自动满足了相关均衡的条件。
- 存在不是纳什均衡的相关均衡:交通灯例子就是一个。该分布无法分解为两个独立随机化的乘积,因此它不是一个混合策略纳什均衡,但它是一个有效的相关均衡。
我们可以这样理解概念的包含关系:
优势策略均衡 ⊂ 纯策略纳什均衡 ⊂ 混合策略纳什均衡 ⊂ 相关均衡
相关均衡的集合更大,因此它提供了更多可能的、有时效率更高的协调结果。
粗相关均衡:一个更弱的概念
有时,玩家可能无法在得知建议后偏离,而只能在事前决定是否参与这个相关协调机制。这就引出了一个更弱的概念:粗相关均衡。
一个分布 ( D ) 是一个粗相关均衡,如果对于每个玩家 ( i ) 和该玩家的任何一个固定动作 ( a_i' ),玩家 ( i ) 遵循建议所获得的期望收益,不低于他不管建议是什么都总是播放固定动作 ( a_i' ) 所获得的期望收益。
用公式表达:
[
E_{a \sim D}[u_i(a)] \geq E_{a_{-i} \sim D}[u_i(a_i', a_{-i})]
]
注意右边,玩家 ( i ) 的动作 ( a_i' ) 是固定的,与分布 ( D ) 无关。
与相关均衡的关键区别:
- 相关均衡:要求即使在你看到建议之后,遵循建议也是最佳反应。
- 粗相关均衡:只要求在期望意义上、在你看到建议之前,参与协调比不参与(采用任何固定动作)更好。
一个粗相关均衡可能偶尔会给出“坏”建议(即如果玩家看到该建议,他会想偏离),但只要从协调中获得的平均收益足够高,玩家仍然愿意事前选择参与。而一个真正的相关均衡给出的每一个建议,在当时当地都必须是“好”建议。
用“遗憾”重新定义均衡
为了将均衡概念与学习算法联系起来,我们可以用“遗憾”来重新表述它们。
首先定义策略修改规则 ( f )。对于一个玩家,这是一个函数,将其实际播放的每个动作 ( a ) 映射到一个可能不同的动作 ( f(a) )。可以把它想象成一个“后座司机”,总是指责你“当初本该那么做”。
给定一个动作剖面 ( a ),玩家 ( i ) 对于策略修改规则 ( f ) 的遗憾是:
[
\text{Regret}i(f, a) = u_i(f(a_i), a) - u_i(a_i, a_{-i})
]
它衡量了如果按照“后座司机” ( f ) 的建议修改行动,玩家能多获得多少收益。
现在,我们可以给出基于遗憾的等价定义:
-
粗相关均衡:一个分布 ( D ) 是粗相关均衡,当且仅当对于每个玩家 ( i ) 和每个常数策略修改规则 ( f )(即 ( f(a) \equiv c ),总是建议同一个动作 ( c )),期望遗憾非正:
[
E_{a \sim D}[\text{Regret}_i(f, a)] \leq 0
]
这等价于说:没有哪个固定动作能带来比遵循协调机制更高的期望收益。 -
相关均衡:一个分布 ( D ) 是相关均衡,当且仅当对于每个玩家 ( i ) 和所有策略修改规则 ( f )(包括非常数的),期望遗憾非正:
[
E_{a \sim D}[\text{Regret}_i(f, a)] \leq 0
]
这等价于说:没有任何一种(依赖于所获建议的)行动修改方案能带来更高的期望收益。也就是说,遵循建议(即使用恒等映射 ( f(a)=a ))本身就是最好的策略修改规则。
学习动态与均衡收敛
基于遗憾的观点,我们立刻得到一个重要结论:
- 我们已知的多项式权重算法可以保证,在任意损失序列下,玩家的累积遗憾(相对于最好的固定专家)以 ( O(\sqrt{\log K / T}) ) 的速率趋于零。
- 根据上述定义,“相对于最好的固定专家的遗憾”正是“相对于常数策略修改规则的遗憾”。
- 因此,如果在一个博弈中,所有玩家都使用多项式权重算法进行学习,那么随着时间推移,他们共同产生的行动序列的经验分布,将收敛到一个近似粗相关均衡。
这非常强大:我们有一个简单、高效、独立于玩家数量的学习动态,可以在任何博弈中快速收敛到粗相关均衡。
那么,对于更强的相关均衡呢?我们能否找到一个学习算法,保证玩家的“相对于所有策略修改规则的遗憾”都趋于零?如果存在这样的算法,那么当所有玩家使用它时,他们的行为将收敛到相关均衡。
这引导我们提出下一个核心问题:
能否设计一种专家学习算法,其保证不仅优于最好的固定专家,而且优于任何可能的“后座司机”(策略修改规则)?
下节课预告
本节课中,我们一起学习了相关均衡和粗相关均衡的概念。我们看到了如何通过引入相关装置来达成更高效的协调,并用“遗憾”的概念重新定义了这些均衡。最重要的是,我们发现多项式权重算法天然地引导玩家走向粗相关均衡。
在下一讲中,我们将直面最后的挑战:设计一种能够保证“无内部遗憾”或“无交换遗憾”的学习算法。这种算法的保证将强于多项式权重算法,并能引导玩家走向相关均衡。我们将看到,这不仅是可能的,而且同样可以通过高效、分散式的学习动态来实现。

总结:
本节课我们扩展了博弈均衡的概念。从混合策略纳什均衡出发,我们引入了相关均衡,它通过一个协调装置允许玩家行动相关,从而能够实现更高效、更公平的结果。我们还介绍了更弱的粗相关均衡。通过用“遗憾”重新定义这些概念,我们揭示了多项式权重算法能自然收敛到粗相关均衡。这为我们在下一讲中寻求收敛到相关均衡的算法奠定了理论基础。
010:从无外部遗憾学习到无交换遗憾学习

在本节课中,我们将学习如何设计一种学习算法,使其在任意博弈中都能收敛到相关均衡。我们将从回顾相关均衡的遗憾定义开始,然后抽象掉博弈论,专注于设计一种能保证“交换遗憾”递减的在线学习算法。最后,我们将看到,当所有参与者都使用这种算法时,他们的经验行为分布会收敛到一个近似相关均衡。
相关均衡的遗憾定义
上一节我们介绍了相关均衡和粗相关均衡。本节中,我们来看看如何用“遗憾”来刻画相关均衡。
一个策略修改规则是一个映射函数 f,它将玩家实际选择的行动 a 映射到另一个建议的行动 f(a)。你可以把它想象成一个“后座司机”,总是告诉你“你本应该那么做”。
给定一个行动组合分布 D,玩家 i 对于某个策略修改规则 f 的期望遗憾是:
如果玩家 i 听从 f 的建议修改其行动(假设其他玩家的行动不变),其期望收益的改进量。
一个分布 D 是一个 ε-近似相关均衡,如果对于每个玩家和每个可能的策略修改规则,该玩家的期望遗憾都不超过 ε。
换句话说,在相关均衡中,没有玩家能通过听从任何“后座司机”的事后建议来显著提高自己的收益。
从序列到分布
当我们考虑一个学习算法在时间序列上的表现时,我们会生成一个行动组合序列 a^1, a^2, ..., a^T。
我们定义序列的交换遗憾如下:
对于任何玩家 i 和任何策略修改规则 f,玩家 i 在该序列上的平均收益,与假设他听从 f 的建议修改其每个行动后所能获得的平均收益之差,最多为 δ(T)。
这里的关键联系是:
如果我们有一个行动序列,其交换遗憾为 δ(T),那么该序列的经验分布(即均匀随机选取序列中的一天)就是一个 δ(T)-近似相关均衡。
因此,要找到相关均衡,我们只需设计一个能产生低交换遗憾序列的算法。
学习目标:最小化交换遗憾
现在,我们暂时忘记博弈论,专注于在线学习问题。
设定如下:
- 有 K 个“专家”(在博弈中对应 K 个行动)。
- 时间 t = 1 到 T。
- 每一天,算法选择一个专家(行动)。
- 随后,算法收到一个损失向量 l^t,其中 l^t(j) 是专家 j 在第 t 天的损失。
- 算法承受其当天所选专家的损失。
多项式权重算法 的保证是:算法的累积损失不超过任何单个固定专家的累积损失(加上一个较小的遗憾项)。这被称为保证无外部遗憾。
我们现在的目标是更强的保证:无交换遗憾。
我们希望算法的累积损失,不超过任何策略修改规则 f 应用于算法自身历史行动序列后所能获得的累积损失(加上一个较小的遗憾项)。
算法设计思路
如何实现无交换遗憾?关键在于观察策略修改规则的作用方式。
将时间序列根据算法实际选择的行动 j 划分为子集 S_j(即所有算法选择行动 j 的日子)。
一个策略修改规则 f 在子集 S_j 内的建议必须是固定的(即总是建议同一个行动 f(j))。
因此,如果我们能在每个子集 S_j 内部都保证无外部遗憾(即与子集内最好的固定行动相比),那么整体上就能保证无交换遗憾。
这启发我们运行 K 个多项式权重算法的副本(每个对应一个行动 j),每个副本负责管理当算法选择行动 j 时“应该做什么更好”的建议。但这里存在一个自我指涉的问题:在算法选择行动之前,我们并不知道当天属于哪个子集 S_j。
黑箱算法框架
以下是解决该问题的算法框架:
- 初始化:创建 K 个多项式权重算法(PW)的副本,记为 PW_1, PW_2, ..., PW_K。
- 每日操作:
- 每个副本 PW_i 输出一个关于 K 个专家的概率分布 q_i。
- 算法将这些分布聚合为一个总的分布 p(如何聚合是关键,稍后说明)。
- 算法根据分布 p 随机选择一个专家 j 并行动。
- 算法观察到损失向量 l。
- 对于每个副本 PW_i,算法向其反馈的损失向量不是原始的 l,而是经过缩放的 p_i * l(即每个损失分量乘以 p_i)。
- 聚合分布 p 的构造:
令 Q 为一个 K x K 矩阵,其中第 i 列是副本 PW_i 的分布 q_i。
我们将总分布 p 定义为该矩阵的平稳分布(或主特征向量)。即,p 满足:p_j = Σ_{i=1 to K} [ p_i * q_i(j) ] 对所有 j 成立。
这个构造有一个至关重要的性质:从效果上看,“以概率 p_i 选择专家 i” 与 “以概率 p_i 委托副本 PW_i 做决定” 是完全等价的。这为我们分析算法提供了两种等效的视角。
算法分析
我们利用多项式权重算法对每个副本的保证进行分析。
对于副本 PW_i,它接收到的损失序列是缩放后的 p_i * l^t。根据多项式权重算法的理论,对于任何固定的专家 j*,副本 PW_i 的累积损失满足:
Σ_t [ Σ_j q_i^t(j) * (p_i^t * l^t(j)) ] ≤ Σ_t [ p_i^t * l^t(j*) ] + O(√(log K / T))
现在,我们对所有 K 个副本的不等式进行求和。
- 左边求和:利用聚合分布 p 的性质,所有副本的损失期望之和恰好等于主算法自身的累积损失。
- 右边求和:对于每个副本 PW_i,我们选择与之比较的固定专家 j* 为 f(i),其中 f 是我们想比较的任意策略修改规则。求和后,右边第一项变成了假设我们听从策略修改规则 f 的建议后所能获得的累积损失。
最终我们得到:
算法的累积损失 ≤ 听从策略修改规则 f 后的累积损失 + O(K √(log K / T))
因此,该算法保证了交换遗憾以 O(K √(log K / T)) 的速率趋近于零。通过足够长时间的运行,我们可以使遗憾任意小。
收敛到相关均衡
当我们将这个算法应用于博弈时:
- 每个玩家独立运行该算法(或其他任何能保证低交换遗憾的算法)。
- 随着时间推移,玩家们共同生成一个行动序列。
- 由于每个玩家的交换遗憾都很低,该行动序列的经验分布就是一个近似相关均衡。
这样,我们就得到了一种高效的、分散式的学习动态过程,在任何博弈中都能保证收敛到相关均衡,且无需对博弈结构做任何假设。达到 ε-近似相关均衡所需的时间步数,与博弈的行动数目 K 的平方根有关,但与玩家数量无关。
总结

本节课中,我们一起学习了如何通过设计保证“无交换遗憾”的在线学习算法,来实现对“相关均衡”的收敛。
- 我们首先回顾了用遗憾定义的相关均衡。
- 然后,我们将问题转化为设计一个能最小化交换遗憾的在线学习算法。
- 我们提出了一个巧妙的算法框架,它运行多个多项式权重算法副本,并通过构造一个平稳分布来聚合它们的建议。
- 我们分析了该算法,证明了其交换遗憾会随着时间递减。
- 最后,我们得出结论:当博弈中的所有玩家都使用这类算法时,他们的联合行为会自然收敛到相关均衡。这为在复杂、未知环境的博弈中找到稳定解提供了一种通用且实用的方法。
011:均衡效率与成本分摊游戏

在本节课中,我们将学习如何评估博弈中均衡结果的效率。即使我们无法精确预测玩家最终会到达哪个均衡点,我们仍然可以分析均衡结果的社会福利(或社会成本)可能有多好或多坏。我们将通过定义两个关键指标——无政府价格和稳定价格——来实现这一点,并以一类具体的博弈(公平成本分摊游戏)为例进行深入探讨。
均衡效率的度量基准
上一节我们介绍了多种均衡概念,并讨论了玩家可能如何收敛到均衡。然而,一个博弈通常存在多个均衡,这使得我们的预测变得模糊。本节中,我们将关注一个更高层面的问题:无论玩家最终到达哪个均衡,我们能对社会福利(或社会成本)做出怎样的预测?
为了进行这种评估,我们首先需要一个比较的基准。这个基准被称为 opt,它代表在忽略玩家个体激励、可以全局最优地分配行动时,所能达到的最佳社会成本(或社会福利)。换句话说,opt 是纯粹从算法优化角度得到的最优解,但它本身可能不是一个纳什均衡。
我们将使用社会成本(所有玩家成本之和)作为衡量标准。在成本最小化博弈中,我们希望社会成本尽可能小。
无政府价格与稳定价格的定义
基于上述基准,我们定义两个衡量均衡效率的比率。
无政府价格 衡量的是最坏情况下的效率损失。它假设我们无法控制玩家选择哪个均衡,只能保证他们最终会到达某个纳什均衡。因此,我们需要考虑所有可能的纳什均衡中,社会成本最差的那个。
稳定价格 则衡量的是最乐观情况下的效率损失。它假设我们(例如作为系统设计者)有能力通过设置初始状态等方式,引导玩家到达某个特定的纳什均衡。因此,我们可以选择社会成本最好的那个均衡。
以下是它们的正式定义。对于一个给定的博弈 G,设其所有纯策略纳什均衡的集合为 NE(G),社会成本函数为 SC(·),最优社会成本为 opt。
- 无政府价格 定义为最差均衡的社会成本与最优社会成本的比值:
PoA(G) = max_{a ∈ NE(G)} [ SC(a) / opt ] - 稳定价格 定义为最好均衡的社会成本与最优社会成本的比值:
PoS(G) = min_{a ∈ NE(G)} [ SC(a) / opt ]
显然,对于任何博弈,PoS(G) ≤ PoA(G)。这两个比值都大于等于1。比值越接近1,说明均衡效率越高;比值越大,说明因玩家自私行为导致的效率损失越严重。
这些概念可以自然地推广到其他均衡概念(如混合策略纳什均衡、相关均衡)和其他目标函数。
案例研究:公平成本分摊游戏
现在,我们将在公平成本分摊游戏这类具体博弈中分析无政府价格和稳定价格。首先,我们回顾一下这类游戏的定义。
公平成本分摊游戏是拥塞游戏的一个特例。在拥塞游戏中:
- 存在一组设施。
- 每个玩家的行动是选择一个设施子集(例如,网络中的一条路径)。
- 每个设施
j有一个成本函数l_j(k),表示当有k个玩家使用该设施时,每个使用者需承担的成本。 - 玩家的总成本是其使用的所有设施的成本之和。
在公平成本分摊游戏中,设施成本函数具有特定形式:存在一个建设该设施的固定资本成本 w_j,这个成本由所有使用者均摊。因此,成本函数为:
l_j(k) = w_j / k
这类游戏模拟了基础设施共建共享的场景:建设一条光纤或道路需要固定成本 w_j,如果 k 个玩家共同使用它,则每人支付 w_j / k。
在这种游戏中,社会成本(所有玩家成本之和)有一个简洁的形式:它等于所有被至少一个玩家使用的设施的资本成本 w_j 之和。因为对于每个被 k 个玩家使用的设施 j,玩家们支付的总成本正好是 k * (w_j / k) = w_j。
公平成本分摊游戏的稳定价格
我们将证明,对于有 n 个玩家的公平成本分摊游戏,其稳定价格恰好等于第 n 个调和数 H_n,其中 H_n = 1 + 1/2 + 1/3 + ... + 1/n ≈ ln n。
这个结论包含两部分:存在性(下界)和上界。
下界证明:一个恶劣的实例
我们首先通过构造一个具体的游戏实例来证明稳定价格至少可以达到 H_n。
考虑一个有 n 个玩家的游戏,玩家 i(i 从 1 到 n)可以选择:
- 独自建立一条直接连接到终边的边,成本为
1/i。 - 与其他玩家共享一条公共边,该边的建设成本为
1 + ε(ε是一个任意小的正数)。
此外,从每个玩家到公共边的起点的连接成本为0。
- 最优解:所有玩家共享公共边。社会成本 =
1 + ε≈ 1。 - 唯一的纳什均衡:通过最佳响应动态分析可以发现,从共享状态开始,成本最高的玩家(支付
(1+ε)/n)有动机转向成本更低的私人边(成本1/n)。这会导致连锁反应,最终所有玩家都选择建立自己的私人边。因此,唯一的纳什均衡是每个玩家都使用私人边。 - 均衡社会成本:
1 + 1/2 + 1/3 + ... + 1/n = H_n。
因此,在这个游戏中,PoS = H_n / (1+ε) ≈ H_n。由于 ε 可以任意小,我们证明了稳定价格可以无限接近 H_n。
上界证明:任意游戏的分析
接下来我们证明,对于任何有 n 个玩家的公平成本分摊游戏,其稳定价格至多为 H_n。这意味着上述实例是最坏情况。
证明的关键在于利用拥塞游戏的势函数。我们曾用势函数证明最佳响应动态会收敛。对于公平成本分摊游戏,势函数 Φ(a) 在行动剖面 a 下的值为:
Φ(a) = Σ_{j ∈ used facilities} w_j * (1 + 1/2 + ... + 1/k_j)
其中 k_j 是在 a 中使用设施 j 的玩家数量。
我们观察到势函数与社会成本 SC(a) 存在以下关系:
SC(a) ≤ Φ(a) ≤ H_n * SC(a)
- 下界成立是因为括号内的调和和至少为1。
- 上界成立是因为括号内的调和和最多为
H_n(当k_j = n时)。
现在进行思想实验:
- 从社会最优解
a*(满足SC(a*) = opt)开始运行最佳响应动态。 - 根据势函数性质,动态过程会收敛到某个纳什均衡
a',且势函数值不会增加:Φ(a') ≤ Φ(a*)。 - 那么,均衡
a'的社会成本满足:
SC(a') ≤ Φ(a') ≤ Φ(a*) ≤ H_n * SC(a*) = H_n * opt - 均衡
a'不一定是最好的纳什均衡,但最好均衡的社会成本不会比SC(a')更高。因此,最好均衡的社会成本也满足≤ H_n * opt。
这就证明了对于任意游戏,PoS ≤ H_n。结合下界,我们得到 PoS = H_n。
公平成本分摊游戏的无政府价格
与稳定价格不同,公平成本分摊游戏的无政府价格可能非常糟糕。
下界证明:一个简单的恶劣实例
考虑一个游戏:n 个玩家都需要从起点 s 到终点 t。有两条平行边:
-
边1:建设成本为
1。 -
边2:建设成本为
n。 -
最优解:所有玩家共享成本为1的边。
opt = 1。 -
纳什均衡:所有玩家共享成本为
n的边也是一个纳什均衡!因为每个玩家支付n/n = 1,如果单独偏离到另一条边,需要独自承担成本1(或1+ε),没有改善。因此,存在一个社会成本为n的均衡。 -
无政府价格:
PoA ≥ n / 1 = n。
上界证明:任意游戏的界限
我们可以证明,对于任何公平成本分摊游戏,任何纳什均衡下的社会成本至多是 opt 的 n 倍。证明思路是利用纳什均衡的定义。
设 a 是一个纳什均衡,a* 是社会最优解。对于任意玩家 i,考虑他从均衡行动 a_i 偏离到最优行动 a_i*(而其他玩家保持均衡行动)。由于 a 是均衡,此偏离不会让玩家 i 受益:
cost_i(a) ≤ cost_i(a_i*, a_{-i})
玩家 i 在偏离后的成本,最多等于他独自承担其最优路径上所有设施的成本(即这些设施的资本成本 w_j 之和)。而在最优解 a* 中,他最多与所有 n 个玩家共享这些设施,因此其成本至少为这些设施资本成本之和的 1/n。于是有:
cost_i(a) ≤ Σ_{j in a_i*} w_j ≤ n * (Σ_{j in a_i*} w_j / n) ≤ n * cost_i(a*)
对所有玩家求和,得到:
SC(a) = Σ_i cost_i(a) ≤ Σ_i [n * cost_i(a*)] = n * SC(a*) = n * opt
因此,PoA ≤ n。结合下界实例,我们得到 PoA = n。
总结
本节课中,我们一起学习了如何量化分析博弈均衡的效率。
- 我们引入了无政府价格和稳定价格这两个概念,分别从最悲观和最乐观的角度,衡量因玩家自私决策而可能造成的社会福利损失。
- 我们以公平成本分摊游戏为案例,深入分析了这两个价格。
- 其稳定价格为
H_n ≈ ln n,这意味着即使能引导玩家到达最好的均衡,效率损失也可能随着玩家数量对数增长。 - 其无政府价格为
n,这意味着如果对均衡选择毫无控制,在最坏情况下效率损失可能与玩家数量成线性关系,这是非常严重的损失。
- 其稳定价格为

这些分析揭示了在分布式、自私决策的系统中,协调与引导的重要性。
012:机制设计入门与房屋分配问题 🏠

在本节课中,我们将从博弈论转向机制设计。我们将学习机制设计的基本概念,并通过一个具体的“房屋分配问题”来理解如何设计一个既高效(帕累托最优)又能激励参与者诚实报告偏好的机制。
机制设计:逆向博弈论 🔄
上一节我们介绍了博弈论,即分析在给定游戏规则下,理性参与者会如何行动。本节中,我们来看看机制设计,你可以将其视为“逆向博弈论”。
在机制设计中,我们面临的情况是:
- 我们知道参与者的最终效用函数(他们关心什么结果)。
- 但游戏的规则(参与者的行动集,以及行动如何映射到结果)尚未定义。
机制设计的目标是:设计游戏规则,使得当参与者按照我们预测的理性方式行动时,能够实现我们设定的目标(例如,达成一个“好”的资源分配结果)。
房屋分配问题:模型与目标 🎯
我们从一个简单但重要的问题开始:房屋分配问题。这个模型后来被应用于现实中的肾脏配对交换。
问题模型如下:
- 有
n个参与者,每人初始拥有一件物品(例如一座房子),记作H_i。 - 每个参与者对市场上所有的
n件物品有一个严格的偏好排序≻_i。例如,H_j ≻_i H_k表示参与者i更喜欢物品j而非物品k。这个排序也包括参与者自己的物品。 - 我们的目标是设计一个算法(机制):
- 输入:每个参与者报告的偏好排序(可能不真实)。
- 输出:一个重新分配物品的方案(匹配)。
- 这个算法定义了一个博弈:
- 行动集:每个参与者可以报告的任何偏好排序。
- 结果与收益:根据所有人报告的偏好,算法输出一个分配方案,参与者根据其真实偏好获得相应物品,从而得到效用。
我们的目标是设计算法,使其诱导的博弈满足两个关键属性:
- 帕累托最优:算法输出的分配方案应该是“好”的,即不存在另一种能让所有人都不变差、且至少让一个人变得更好的方案。
- 占优策略激励相容:对于每个参与者,无论其他人报告什么,如实报告自己的真实偏好都是一个占优策略。
为什么需要激励相容?🤔
你可能会问:如果算法试图根据报告的偏好给出好结果,为什么参与者还要撒谎?
以下是机制设计与算法设计的关键区别:
- 算法设计:假设输入是给定的、正确的,目标是产生高质量的输出。
- 机制设计:输入是由策略性参与者提供的,他们可能为了自身利益而误报偏好。
如果我们只设计了一个能根据输入产生高质量分配(如帕累托最优)的算法,但参与者有动机撒谎,那么:
- 算法解决的可能是基于虚假报告的问题实例。
- 最终产生的分配方案,对于参与者真实的偏好而言,可能质量很差。
因此,机制设计必须确保参与者有动机诚实报告,这样我们基于报告得到的“好”结果,才真正对应于真实世界中的“好”结果。
顶级交易圈算法 🔄
以下是为解决房屋分配问题而设计的“顶级交易圈”算法。
算法步骤:
- 初始化:所有参与者和物品都在市场中。
- 当市场中还有参与者时,重复以下步骤:
a. 构建一个有向图:每个仍在市场中的参与者作为一个节点,并画一条指向他当前最喜爱的物品(即该物品所有者)的边。
b. 在这个图中,必然存在至少一个环(因为每个节点都有一条出边,在有限节点中沿着边行走必然会遇到重复节点)。
c. 执行交易:找到任意一个环,按照环的顺序进行物品交换(即每个参与者获得他刚才所指向的物品)。
d. 移除:将本轮中所有达成交易的参与者(即环上的参与者)从市场中移除。 - 当市场清空时,算法结束,分配完成。
算法示例:
假设有5个参与者,偏好如下:
- 参与者1:
H2 ≻ H5 ≻ H3 ≻ H1 ≻ H4 - 参与者2:
H3 ≻ H1 ≻ H2 ≻ H4 ≻ H5 - 参与者3:
H1 ≻ H4 ≻ H2 ≻ H5 ≻ H3 - 参与者4:
H1 ≻ H5 ≻ H3 ≻ H4 ≻ H2 - 参与者5:
H4 ≻ H1 ≻ H3 ≻ H5 ≻ H2
第一轮:
- 参与者指向:1→2, 2→3, 3→1, 4→1, 5→4。
- 发现环:1 → 2 → 3 → 1。
- 执行交易:1得H2,2得H3,3得H1。移除参与者1,2,3。
第二轮:
- 剩余参与者:4, 5。剩余物品:H4, H5。
- 参与者指向:4→5 (H5是4在剩余物品中最喜欢的),5→4。
- 发现环:4 → 5 → 4。
- 执行交易:4得H5,5得H4。
- 最终分配:
(1:H2, 2:H3, 3:H1, 4:H5, 5:H4)。
算法性质分析 ✅
现在我们来分析顶级交易圈算法的三个关键性质。
1. 帕累托最优性
定理:顶级交易圈算法对任何输入的偏好报告,总能产生一个帕累托最优的分配。
证明思路(反证法):
- 假设算法产生的分配
μ不是帕累托最优,则存在另一个分配ν帕累托优于μ。 - 考虑算法第一轮被清除的参与者(他们获得了自己全局最喜爱的物品)。在
ν中,他们不可能得到比这更好的物品,因此他们在ν中必须得到与μ中完全相同的物品。 - 同理,考虑第二轮被清除的参与者。他们获得的是在第一轮物品被移除后,自己最喜爱的物品。由于第一轮参与者的分配在
ν中已固定,这些参与者也无法在ν中获得更好的物品(他们最喜爱的物品可能已在第一轮被分配且无法变动),因此他们在ν中的分配也必须与μ相同。 - 以此类推,通过归纳法可以证明,每一轮被清除的参与者在
ν和μ中的分配都完全相同。 - 这意味着
ν和μ是同一个分配,与ν帕累托优于μ的假设矛盾。因此,μ一定是帕累托最优的。
2. 个体理性
定理:顶级交易圈算法是个体理性的,即每个参与者最终得到的物品,至少不差于他最初拥有的物品。
证明:
在算法的每一轮,每个参与者都指向当前剩余物品中自己最喜爱的一个。由于参与者自己的物品始终在市场中(除非他被清除),因此他指向的物品要么优于自己的物品,要么就是自己的物品。他最终获得的正是他某轮所指的物品,故结果不会差于他自己的初始物品。
3. 占优策略激励相容性
定理:在顶级交易圈算法中,如实报告偏好是每个参与者的占优策略。
证明思路(关键直觉):
我们可以将算法动态地视为:每一轮,参与者都被要求“指向”当前最喜爱的剩余物品。
- 定义一个参与者在某一时刻的可选集:如果他此刻指向某个物品,能立即形成一个包含他自己的环,从而获得该物品,那么该物品就在他的可选集中。
- 核心洞察:一个参与者的可选集只会随时间扩大或保持不变,而不会缩小。因为可选集中的参与者和物品,只有当他本人被卷入一个环时才会被移除市场。
- 这意味着,不存在“机不可失”的情况。如果参与者最喜欢的物品当前不在可选集中(例如,因为很多人竞争),他无需急于在可选集中选择一个次优物品。他可以耐心等待,因为:
a. 当前可选集中的物品未来仍然可得。
b. 未来可能有更优的物品进入他的可选集(例如,当持有他次优物品的人,其最喜爱的物品被移除后,可能会指向他)。 - 因此,最优策略就是始终指向当前真实最喜爱的物品。这个策略可以通过向算法如实报告完整偏好来实现。所以,诚实报告是一个占优策略。
现实应用:肾脏配对交换 🩺
房屋分配问题不仅是理论模型,更是肾脏配对交换系统的核心。
- 背景:许多患者需要肾移植,有亲属愿意捐献,但可能因血型或组织不兼容而无法直接捐赠。
- 问题:如果患者A的捐赠者与患者B兼容,患者B的捐赠者与患者A兼容,他们可以通过交换受益。
- 挑战:法律禁止器官买卖,因此无法用货币构建市场。
- 解决方案:构建一个以物易物的交换市场,患者-捐赠者对作为参与者,肾脏作为物品,兼容性决定偏好。顶级交易圈算法被用于实际匹配,每年拯救成千上万的生命。
总结 📚
本节课中我们一起学习了:
- 机制设计是逆向博弈论,目标是通过设计游戏规则,使得理性参与者的自私行为能达成社会合意的结果。
- 房屋分配问题是一个经典的机制设计模型,参与者带着物品进场,希望通过交换获得更喜爱的物品。
- 顶级交易圈算法通过迭代地寻找并执行交易环来解决该问题。
- 我们证明了该算法具有三个理想性质:
- 帕累托最优:总能产生一个无法使所有人同时变得更好的分配。
- 个体理性:参与者不会因参与交换而受损。
- 占优策略激励相容:诚实报告偏好是每个参与者的占优策略,这确保了机制输入的真实性。
- 该算法在肾脏配对交换等现实世界中有重要应用,展示了机制设计的强大力量。

从下一讲开始,我们将继续深入机制设计领域,探索更多复杂而有趣的问题。
013:稳定匹配与机制设计

在本节课中,我们将学习稳定匹配问题,并探讨如何设计机制来找到好的匹配,同时激励参与者真实报告其偏好。我们将从稳定匹配的基本概念开始,介绍盖尔-沙普利算法,并分析其激励特性。
稳定匹配问题概述
稳定匹配问题涉及一个双边市场,例如学生与学校。双方都对另一方有偏好排序。我们的目标是找到一个匹配,使得没有一对参与者(一个学生和一个学校)会同时更愿意与对方匹配,而不是与当前匹配的伙伴在一起。这样的匹配被称为“稳定匹配”。
稳定匹配的定义
一个匹配是稳定的,如果不存在“阻塞对”。阻塞对是指一对未被匹配的参与者(学生 M 和学校 W),他们同时满足以下条件:
- 学生
M更偏好学校W,而不是他当前匹配的学校。 - 学校
W更偏好学生M,而不是它当前匹配的学生。
如果存在这样的阻塞对,匹配就是不稳定的,因为双方都有动机脱离当前的匹配而相互配对。
盖尔-沙普利算法
盖尔-沙普利算法(也称为“延迟接受算法”)是寻找稳定匹配的一种经典方法。该算法有两种形式:学生求婚版本和学校求婚版本。我们首先介绍学生求婚版本。
学生求婚的延迟接受算法
以下是算法的步骤:
- 初始化:所有学生和学校都标记为未匹配。
- 求婚阶段:每个未匹配的学生向他尚未被拒绝过的、最偏好的学校求婚。
- 暂定接受/拒绝阶段:
- 每个学校收到求婚申请后,会将其与当前暂定的匹配对象(如果有的话)进行比较。
- 学校会暂定接受它最偏好的申请者,并拒绝所有其他申请者(包括可能被替换掉的先前暂定匹配对象)。
- 循环:重复步骤2和3,直到所有学生都匹配成功。
该算法保证会终止,并输出一个稳定的匹配。
算法的性质
上一节我们介绍了如何找到稳定匹配。本节中我们来看看盖尔-沙普利算法找到的匹配具有哪些优良性质。
学生最优与学校最劣
学生求婚的延迟接受算法不仅找到一个稳定匹配,而且找到的是学生最优稳定匹配。这意味着,在所有可能的稳定匹配中,该算法为每个学生匹配到了他/她所能匹配到的最好的学校(即“可实现”的最佳伙伴)。
对称地,学校求婚的延迟接受算法找到的是学校最优稳定匹配。
一个有趣的结构性事实是:学生最优稳定匹配同时也是学校最劣稳定匹配。也就是说,对于学校而言,这是所有稳定匹配中最差的一个。反之亦然,学校最优稳定匹配也是学生最劣稳定匹配。
激励兼容性
在机制设计中,我们不仅关心找到好的结果,还关心参与者是否有动机真实报告其偏好。
学生的激励
如果我们运行学生求婚的延迟接受算法,那么对于学生来说,真实报告偏好是一个占优策略。这意味着,无论其他学生和学校如何报告,任何学生通过虚假报告自己的偏好都无法获得比真实报告更好的匹配结果。
直觉在于,算法旨在寻找学生最优匹配,这与每个学生个体希望获得最好可实现匹配的目标是一致的。
学校的激励
然而,对于学校一方,情况则不同。在学生求婚算法下,学校没有动机总是真实报告偏好。事实上,学校有时可以通过虚假报告来获得更好的匹配结果。
如果我们运行学校求婚算法,那么角色互换:学校有动机真实报告,而学生则可能没有。
不可能性结果
一个重要的结论是:不存在一种总能产生稳定匹配的机制,能够同时使得学生和学校双方都拥有真实报告的占优策略。这是稳定匹配问题固有的一个限制。我们所能达到的最好情况,就是像盖尔-沙普利算法那样,保证其中一方的激励兼容性。
总结

本节课中我们一起学习了稳定匹配的核心概念。我们定义了稳定匹配和阻塞对,并介绍了盖尔-沙普利算法来寻找稳定匹配。我们了解到,该算法找到的匹配对于求婚方是最优的,对于受求婚方是最劣的。在激励方面,算法能确保求婚方有动机真实报告偏好,但无法同时保证双方都如此。这是一个机制设计中权衡的经典案例。
014:市场设计与瓦尔拉斯均衡 🏷️💰

在本节课中,我们将学习一个包含买家和不可分割商品的市场模型。我们将探讨如何通过设定价格和分配商品,来达到一个既稳定(即瓦尔拉斯均衡)又具有高社会福利的状态。我们将介绍一个简单的算法来实现这一目标,并分析其性质。
市场模型概述
我们首先定义市场的基本组成部分。
- 参与者:有 N 个买家。
- 商品:有 M 件不可分割的商品,构成集合 G。“不可分割”意味着每件商品最多只能分配给一个买家。
- 估值函数:每个买家 i 都有一个估值函数 vᵢ。该函数为买家 i 可能获得的任何商品组合(即 G 的子集 Sᵢ) 赋予一个介于 0 和 1 之间的价值。即:vᵢ: 2ᴳ → [0, 1]。
- 价格:每件商品 j 有一个价格 pⱼ。
- 效用:买家 i 获得商品组合 Sᵢ 时的效用 uᵢ 是准线性的,即其估值减去为该组合支付的总价格:uᵢ(Sᵢ, p) = vᵢ(Sᵢ) - Σ_{j∈Sᵢ} pⱼ。
- 市场状态:一个市场状态由两部分组成:
- 分配方案 S:一个可行的分配,即分配给每个买家 i 的商品组合 Sᵢ 的集合,且这些组合之间互不相交(一件商品最多属于一个人)。
- 价格向量 p:所有商品的价格列表。
我们的目标:社会福利与均衡
在机制设计中,我们希望引导市场达到理想的状态。主要有两个目标:
- 最大化社会福利:社会福利定义为所有买家估值之和。最优社会福利 OPT 是所有可行分配中能达到的最大社会福利值:OPT = max_{S 可行} Σᵢ vᵢ(Sᵢ)。
- 达到瓦尔拉斯均衡:这是一个稳定的市场状态,在此状态下,给定当前价格,没有买家可以通过更换其商品组合来显著提高自己的效用(即达到近似最优反应)。
上一节我们介绍了市场模型和两个核心目标。本节中,我们来看看如何通过一个算法来同时逼近这两个目标。
算法:价格上升与商品再分配
为了使问题更易于处理,我们首先做一个重要的简化假设:每个买家是单位需求的。这意味着每个买家最多只想获得一件商品。此时,买家的估值函数可以简化为对单件商品的估值 vᵢⱼ,其获得商品 j 的效用为 uᵢ(j) = vᵢⱼ - pⱼ。
基于此,我们可以描述一个寻找近似瓦尔拉斯均衡的算法。算法的核心思想是模拟一个“升价拍卖”过程。
以下是算法的步骤:
-
初始化:
- 将所有商品价格 pⱼ 设为 0。
- 将所有买家标记为“未匹配”(即没有获得任何商品)。
-
循环:
- 只要存在一个“ε-不快乐”的买家 i(即存在某件商品 j‘,使得 uᵢ(j’) > uᵢ(当前商品) + ε),就执行以下操作:
- 任意选取一个这样的买家 i。
- 让买家 i 选择能带给他最大效用的商品 j*(即 j = argmax_j uᵢ(j)*)。
- 如果 uᵢ(j*) > 0,则:
- 将商品 j* 分配给买家 i。
- 如果商品 j* 之前已分配给其他买家,则取消那个买家的分配。
- 将商品 j* 的价格 pⱼ* 提高 ε(即 pⱼ := pⱼ + ε**)。
- 只要存在一个“ε-不快乐”的买家 i(即存在某件商品 j‘,使得 uᵢ(j’) > uᵢ(当前商品) + ε),就执行以下操作:
-
终止与输出:
- 当没有买家是 ε-不快乐的时,算法终止。
- 输出最终的价格向量 p 和分配方案 μ(其中 μ(j) 表示获得商品 j 的买家)。
算法分析:收敛性与均衡
现在我们来分析这个算法的性质。
-
收敛性:算法会在有限步内终止。
- 原因:价格只会上升,且每件商品的估值上限为 1。每次循环只将一件商品的价格提高 ε。由于最多只有 N 件商品会被最终分配(单位需求),所有商品的总价格上限为 N。因此,循环次数最多为 N / ε。
-
输出是 ε-瓦尔拉斯均衡:算法终止时,市场状态 (S, p) 满足:
- 个人近似最优:每个买家 i 在当前价格下,其当前商品带来的效用,不低于任何其他商品带来的效用减去 ε。这正是我们循环终止的条件。
- 未匹配商品价格为零:在算法中,只有被买家竞争的商品价格才会上升。最终未匹配的商品价格始终为初始值 0,这符合均衡的直观(卖家无法通过降价来售出这些商品)。
- 分配可行:算法始终维护一个可行的分配(每件商品最多给一个人)。
从均衡到近似最优社会福利
我们证明了算法能找到一个 ε-瓦尔拉斯均衡。一个更深刻的结果是,这样的均衡分配本身也是近似社会福利最优的。
定理:设 (S, p) 是一个 ε-瓦尔拉斯均衡(即使是通过其他方式找到的)。那么,分配 S 的社会福利至少是最优社会福利减去 εN。即:
Σᵢ vᵢ(Sᵢ) ≥ OPT - εN
证明思路:
- 对均衡状态下的每个买家 i,写出其 ε-近似最优条件:对于任何其他可行分配 S‘,有 vᵢ(Sᵢ) - Σ_{j∈Sᵢ} pⱼ ≥ vᵢ(S’ᵢ) - Σ_{j∈S‘ᵢ} pⱼ - ε。
- 将所有 N 个买家的这个不等式相加。
- 观察不等式两边的价格项:Σᵢ Σ_{j∈Sᵢ} pⱼ 和 Σᵢ Σ_{j∈S‘ᵢ} pⱼ。在均衡中,所有未匹配商品价格为 0,因此第一个和式包含了所有正价商品。而第二个和式可能包含一些价格为 0 的未匹配商品,但绝不会包含比第一个和式更高的正价商品(因为 S’ 是可行分配,不能重复分配商品)。实际上,可以证明 Σᵢ Σ_{j∈S‘ᵢ} pⱼ ≤ Σᵢ Σ_{j∈Sᵢ} pⱼ。
- 将价格项抵消或放缩后,我们得到 Σᵢ vᵢ(Sᵢ) ≥ Σᵢ vᵢ(S‘ᵢ) - εN。由于 S‘ 是任意可行分配,自然对最优分配也成立,因此定理得证。
这个结果的精妙之处在于,价格在寻找均衡时是关键工具,但在最终衡量社会福利时却被“抵消”掉了。均衡的稳定性保证了分配的(近似)全局效率。
超越单位需求:总替代品
前面的算法依赖于“单位需求”的强假设。那么对于更一般的、买家可能想要商品组合的情况呢?
关键在于估值函数需要满足 “总替代品” 性质。粗略地说,这个性质要求:当某些商品价格上升时,买家最优商品组合中,对那些价格未变商品的需求不会减少(只会增加新的替代品或保持不变)。
- 单位需求 估值是总替代品的一个特例。
- 如果所有买家的估值函数都满足总替代品性质,那么类似的升价算法仍然有效,可以找到近似瓦尔拉斯均衡,并且该均衡同样能保证近似最优的社会福利。
总结
本节课中我们一起学习了:
- 建立了一个包含买家、不可分割商品、估值、价格和准线性效用的市场模型。
- 明确了市场设计的两个核心目标:最大化社会福利和实现瓦尔拉斯均衡。
- 针对“单位需求”的简化情况,介绍了一个升价拍卖算法,该算法通过不断将商品分配给最想要它的买家并提高该商品价格,最终收敛到一个 ε-瓦尔拉斯均衡。
- 分析了算法的收敛性(最多 N/ε 步)。
- 证明了一个关键理论联系:任何瓦尔拉斯均衡(即使是近似的)所对应的分配,本身也是近似社会福利最优的(至多损失 εN)。
- 简要提到了将结论推广到更一般估值函数(满足总替代品性质)的可能性。
本节课的核心在于展示了如何通过一个分散式的价格调整过程(算法),同时达到市场的稳定性(均衡) 和效率(近似最优社会福利),这为理解现实市场机制和设计在线平台提供了理论基础。
015:机制设计基础与VCG机制

在本节课中,我们将学习机制设计的基本概念,并深入探讨一种名为VCG(Vickrey-Clarke-Groves)的通用机制。我们将了解如何设计一个既能有效分配资源,又能激励参与者诚实报告其偏好的系统。
概述
上一节课我们研究了市场均衡,并看到价格动态如何自然地收敛到福利最大化的分配。本节课我们将从机制设计的视角出发,不再依赖“看不见的手”,而是主动设计一个算法来决定谁得到什么。我们的目标是设计一个机制,既能做出好的分配决策,又能妥善处理激励问题,使参与者愿意告诉我们他们的真实效用函数。
机制设计的一般设定
我们首先定义一个非常通用的机制设计设定。
- 参与者:我们有
n个参与者(或代理人)。 - 备选方案:机制需要从一组备选方案
A中选择一个。这可以是拍卖中谁得到哪些物品,也可以是城市规划中决定修建图书馆还是警察局。 - 估值函数:每个参与者
i有一个估值函数v_i,它将每个备选方案a ∈ A映射到一个实数v_i(a),表示参与者i从方案a中获得的效用(以货币单位衡量)。 - 结果:一个机制产生的结果是一个二元组
(a, p),其中:a是选定的备选方案。p = (p_1, p_2, ..., p_n)是一个价格向量,p_i表示参与者i需要支付的金额(如果为负,则表示机制向参与者付款)。
- 拟线性效用:我们假设参与者的效用函数是拟线性的。这意味着参与者
i对结果(a, p)的效用计算方式为:
u_i(a, p) = v_i(a) - p_i
这个假设包含两层含义:1) 参与者可以将对物品的偏好转化为货币价值;2) 参与者对货币的效用是线性的(例如,20美元的效用是10美元的两倍)。
这个设定非常通用,可以涵盖多种场景,例如单物品拍卖、多物品组合拍卖以及公共物品(如图书馆)的提供问题。
什么是机制?
一个机制本质上是一个算法,它将参与者报告的偏好(可能不真实)映射到一个结果。形式上,一个机制由两部分组成:
- 分配规则:一个函数,根据所有参与者报告的估值函数,选择一个备选方案
a。 - 支付规则:一个函数,根据所有参与者报告的估值函数,决定每个参与者需要支付的金额
p_i。
我们的目标是设计一个同时满足多个理想属性的机制。
机制的理想属性
以下是我们在设计机制时希望达成的一系列目标:
- 个体理性:参与者不会因参与机制而受损。对于每个参与者
i,无论其他参与者报告什么,如果i报告其真实估值,那么他最终获得的效用(根据真实估值计算)必须非负。即:v_i(a) - p_i ≥ 0。这确保了人们愿意参与。 - 占优策略激励相容:诚实报告是每个参与者的占优策略。无论其他参与者如何报告,对于参与者
i的任何真实估值v_i和任何可能的虚假报告v_i',诚实报告带来的效用都不低于虚假报告。这保证了我们收到的报告是真实的,从而可以基于真实信息进行优化。 - 配置效率(社会福利最大化):机制选择的备选方案
a总是能最大化所有参与者报告估值之和,即社会福利:∑_i v_i(a)。这是我们希望达成的社会目标。 - 无赤字:机制设计者(如拍卖行)不会亏钱。所有参与者支付的总和必须非负:
∑_i p_i ≥ 0。这是最弱的收入要求。
案例分析:单物品拍卖
让我们在一个简单场景——单物品拍卖中,检验这些属性。假设有一个物品要卖给 n 个投标人。备选方案集合就是 n 个投标人(谁得到物品)。每个投标人 i 的估值 v_i 表示他获得物品的价值,未获得时价值为0。
如果我们要求配置效率,那么分配规则必须将物品给予报告估值最高的投标人。因此,设计空间主要集中在支付规则上。
以下是两种支付规则的比较:
- 一价拍卖:获胜者支付其出价。
- 问题:这不是激励相容的。如果获胜者知道第二高出价,他会有动机报出略高于第二高出价的价格,而非其真实估值,以获得正效用。
- 二价拍卖(维克瑞拍卖):获胜者支付第二高的出价。
- 验证:可以证明,对于每个投标人,无论其他人如何出价,报告真实估值都是最优策略。
- 属性:二价拍卖同时满足个体理性、占优策略激励相容、配置效率和无赤字。它实际上等同于常见的英式增价拍卖。
二价拍卖在简单场景中成功实现了所有目标。接下来,我们看看能否在更一般的设定中也做到这一点。
Groves机制族
为了在一般设定中达成目标,我们引入 Groves机制族。其定义如下:
- 分配规则:选择能最大化报告的社会福利的备选方案
a*。即:a* = argmax_{a ∈ A} ∑_i v_i(a)。 - 支付规则:对于参与者
i,其支付为:
p_i = h_i(v_{-i}) - ∑_{j ≠ i} v_j(a*)
其中:v_{-i}表示除i外所有其他参与者的报告估值向量。h_i是一个任意的、只依赖于v_{-i}的函数(即不依赖于i自己的报告)。
关键定理:对于任意选择的函数 h_i,任何Groves机制都是占优策略激励相容且配置效率的。
直觉解释:支付规则的设计使得参与者 i 的效用(u_i = v_i(a*) - p_i)在化简后等于 [∑_{所有 j} v_j(a*)] - h_i(v_{-i})。由于 h_i(v_{-i}) 不受 i 自己报告的影响,为了最大化自身效用,i 实际上希望机制选择能最大化真实总社会福利 ∑_j v_j(a) 的方案 a*。而机制正是根据报告来选择最大化报告社会福利的方案。因此,当 i 诚实报告时,两者的目标一致,诚实成为最优策略。
Groves机制族保证了激励相容和效率,但个体理性和无赤字属性则取决于 h_i 函数的选择。
VCG机制
为了同时满足所有四个属性,我们需要为 h_i 选择一个特定的形式。这就引出了 VCG(Vickrey-Clarke-Groves)机制。
在VCG机制中,我们定义:
h_i(v_{-i}) = ∑_{j ≠ i} v_j(a*_{-i})
其中 a*_{-i} 是当参与者 i 不参与机制时,能最大化其余参与者社会福利的备选方案。即:
a*_{-i} = argmax_{a ∈ A} ∑_{j ≠ i} v_j(a)
因此,VCG机制的支付规则为:
p_i = [∑_{j ≠ i} v_j(a*_{-i})] - [∑_{j ≠ i} v_j(a*)]
支付的含义:参与者 i 需要支付其参与给其他所有人带来的负外部性。即,由于 i 的参与,机制从原本对其他人最好的方案 a*_{-i},变为了考虑 i 后的方案 a*,这可能导致其他人的总福利下降。i 需要补偿这个下降的差额。
VCG机制的性质:
- 占优策略激励相容与配置效率:作为Groves机制的一员,它天然满足这两点。
- 个体理性:由于
a*是最大化总社会福利的方案,包含i的社会福利总和不低于不包含i时的社会福利(因为i的估值非负)。这保证了i的效用非负。 - 无赤字(甚至非负支付):由于
a*_{-i}是在i不参与时最大化其他人福利的方案,因此∑_{j ≠ i} v_j(a*_{-i}) ≥ ∑_{j ≠ i} v_j(a*)。这意味着支付p_i总是非负的,机制只会收钱,不会付钱,从而满足无赤字。
因此,VCG机制在极其一般的机制设计设定中,同时满足了所有四个理想属性。
总结与局限
本节课我们一起学习了机制设计的基础。我们首先定义了机制的理想属性:个体理性、激励相容、配置效率和无赤字。接着,我们通过单物品拍卖的例子进行了直观理解。然后,我们介绍了强大的Groves机制族,它通过巧妙的支付规则将参与者的利益与社会福利对齐,从而保证了激励相容和效率。最后,我们通过选择特定的外部性支付规则,得到了VCG机制,它成功地在一般设定下实现了所有四个目标。
然而,VCG机制并非完美无缺,这也是课程后续内容的方向:
- 其他目标:VCG最大化社会福利,但拍卖者可能更关心收入最大化,这需要不同的机制。
- 计算复杂性:在许多复杂场景(如组合拍卖)中,精确计算社会福利最大化的分配(即
a*)可能是NP难问题。VCG机制的性质严重依赖于“精确最大化”这一步。如果使用近似算法,不仅会损失一部分福利,更会破坏激励相容性和无赤字等所有良好属性。因此,需要新的技术来处理计算困难的优化问题。

本节课中我们一起学习了:机制设计的基本框架与目标、Groves机制族如何通过支付规则实现激励相容、以及VCG机制如何通过让参与者支付其造成的外部性,在一般设定下同时达成个体理性、激励相容、配置效率和无赤字这四大目标。我们也认识到VCG机制在追求收入和应对计算复杂性方面的局限性。
016:单参数域与单调分配规则

在本节课中,我们将学习如何在一个称为“单参数域”的受限但重要的机制设计环境中,完整地刻画哪些目标函数可以通过占优策略真实机制来实现。我们将证明,关键在于分配规则是否满足“单调性”。
概述
上一讲我们介绍了极其一般的机制设计框架,并介绍了VCG机制。VCG机制能最大化社会福利,但它并不适用于所有目标,例如最大化拍卖者的收入。为了理解我们能优化哪些目标,我们需要一个更精确的理论。
今天,我们将聚焦于“单参数域”。在这种设定下,每个参与者的偏好可以由一个单一的私有参数(例如,对物品的价值)来描述。我们将证明,在这样的域中,一个分配规则能够通过某个支付规则实现占优策略真实性,当且仅当该分配规则是“单调”的。这为我们提供了一个强大的工具:将复杂的机制设计问题简化为设计单调算法的问题。
单参数域的定义
在一般的机制设计中,每个参与者 i 的估值函数 v_i(a) 可以将任意备选方案 a 映射到一个任意的实数。这意味着描述一个参与者的偏好可能需要很多参数。
单参数域通过引入一个结构性假设来简化问题:
- 存在一个公开已知的“价值汇总函数”
w_i(a),它编码了参与者i对不同结果的相对偏好顺序。 - 参与者
i的真实私有信息是一个单一的标量v_i。 - 参与者
i对结果a的实际估值是私有参数v_i与公开函数w_i(a)的乘积:
v_i(a) = v_i * w_i(a)
关键点:复杂的偏好结构(由 w_i(a) 编码)是公开已知的;我们只需要从参与者那里获取一个数字 v_i。
示例
-
单物品拍卖:
- 公开函数
w_i(a):如果参与者i赢得物品,则w_i(a) = 1;否则为0。 - 私有参数
v_i:参与者i对物品的真实价值。 - 因此,估值函数为:
v_i(a) = v_i(如果赢得)或0(如果未赢得)。
- 公开函数
-
网络路径采购(反向拍卖):
- 机制设计者想购买连接源点和汇点的路径,参与者是网络中的边。
- 公开函数
w_i(a):如果路径a包含边i,则w_i(a) = 1(表示参与者需要提供服务并产生成本);否则为0。 - 私有参数
c_i:参与者i提供服务所产生的真实成本。 - 因此,成本函数为:
c_i(a) = c_i(如果边被使用)或0(如果未被使用)。
-
广告位拍卖(关注独立访客数):
- 机制设计者出售不同网站的广告位,每个广告位对应一组观众。
- 公开函数
w_i(a):分配给参与者i的广告位集合所覆盖的独立观众总数。这包含了计算并集等复杂逻辑。 - 私有参数
v_i:参与者i从每个独立观众身上获得的平均价值(例如,点击转化价值)。 - 因此,估值函数为:
v_i(a) = v_i * (独立观众数)。
单调分配规则
在单参数域中,机制 M 由一个分配规则 x(v) 和一个支付规则 p(v) 组成,其中 v 是所有参与者报告的估值向量。
定义(单调性):
对于任意参与者 i,固定其他所有参与者的报告 v_{-i}。令 y_i(v_i) = w_i(x(v_i, v_{-i})),即当参与者 i 报告 v_i 时,其公开价值汇总函数的结果。分配规则 x 是单调非递减的,如果对于任意 v_i' > v_i,都有:
y_i(v_i') >= y_i(v_i)
直观理解:如果你提高报价(在拍卖中)或降低要价(在采购中),你得到的分配结果不应该对你更不利。在单物品拍卖中,这意味着如果你在某个报价下能赢,那么在所有更高的报价下你也必须能赢。
主要定理:单调性表征
定理:
在单参数域中,一个分配规则 x 可以通过某个支付规则 p 实现占优策略真实性,当且仅当 x 是单调非递减的。
此外,如果 x 是单调的,那么唯一(在满足个体理性等自然条件下)能使其真实的支付规则如下:
对于参与者 i,其支付为:
p_i(v_i, v_{-i}) = v_i * w_i(x(v_i, v_{-i})) - ∫_{0}^{v_i} w_i(x(z, v_{-i})) dz
理解支付规则:
- 第一项
v_i * w_i(...)是参与者i根据其报告估值对分配结果的估值。 - 第二项是积分项,可以理解为参与者
i因其报告而获得的“信息租金”。 - 这个公式通用地涵盖了第二价格拍卖等经典规则。
示例:单物品第二价格拍卖
- 分配规则:将物品分配给最高出价者。这是单调的(出价越高,越可能赢)。
- 设赢家
i报告v_i = 100,次高出价v_2 = 75。其公开函数w_i在获胜时为1,否则为0。 - 支付计算:
p_i = 100 * 1 - ∫_{0}^{100} w_i(x(z, v_{-i})) dz- 当
z <= 75时,w_i(...) = 0(未获胜)。 - 当
z > 75时,w_i(...) = 1(获胜)。 - 因此,积分
∫_{0}^{100} ... dz = ∫_{75}^{100} 1 dz = 25。 - 最终支付:
100 - 25 = 75。这正是第二价格。
- 当
定理证明(思路)
方向一:若单调,则可实现真实性
给定单调分配规则 x,我们使用上述支付规则。需要证明对任意参与者 i,真实报告 v_i 总是优于任何误报 v_i'。
证明核心:
- 写出参与者
i在真实报告和误报下的效用差。 - 代入支付规则公式,许多项会消去。
- 最终需要证明的不等式简化为:
∫_{v_i}^{v_i'} [y_i(z) - y_i(v_i')] dz <= 0(当v_i' > v_i时)
或类似形式。 - 由于
y_i(z)是单调的(根据假设),上述积分的几何意义是曲线下的面积与矩形面积的比较。通过画图分析可以清晰看出,单调性保证了不等式成立。
几何直观:
- 当误报更高 (
v_i' > v_i) 时,积分项是y_i(z)在区间[v_i, v_i']上的积分(曲线下面积),它不会超过以y_i(v_i')为高的矩形面积。 - 当误报更低 (
v_i' < v_i) 时,情况类似但方向相反。 - 单调性确保了这些面积比较总是成立。
方向二:若可实现真实性,则必单调
假设存在一个支付规则 p 使得机制 (x, p) 是占优策略真实的。我们需要证明 x 必须是单调的。
证明核心:
- 利用真实性定义,写出当参与者真实值为
v但误报为v'时,真实性要求的效用不等式。 - 同样,写出当参与者真实值为
v'但误报为v时的另一个效用不等式(真实性必须对所有可能真实值成立)。 - 将这两个不等式相加。一个巧妙的关键点是,支付项
p_i(v)和p_i(v')会完全消去。 - 消去后,我们得到:
(v' - v) * y_i(v') >= (v' - v) * y_i(v) - 如果
v' > v,我们可以除以正数(v' - v),得到:
y_i(v') >= y_i(v)
这正是单调性的定义。
因此,任何真实机制都必然隐含着一个单调的分配规则。
总结与意义
本节课我们一起学习了单参数域中机制设计的核心表征定理:
- 单参数域将复杂的偏好结构简化为一个公开已知的组件和一个私有标量参数,涵盖了拍卖、采购等许多重要场景。
- 单调性是分配规则能否与支付规则搭配实现占优策略真实性的关键检验标准。
- 定理意义:它将机制设计问题分解为两个独立的步骤:
- 算法设计步骤:专注于设计一个能优化你目标函数(如收入、效率)的单调分配规则。
- 机制设计步骤:一旦有了单调分配规则,支付规则可以由定理中的公式自动给出,从而保证真实性。

这极大地简化了机制设计过程。在接下来的课程中,我们将利用这个工具,探索如何在单参数域中设计最大化收入的拍卖,以及如何处理计算上困难的组合拍卖问题。
017:机制设计与计算复杂性

在本节课中,我们将学习机制设计中的一个核心挑战:当社会福利最大化问题在计算上难以精确求解时,如何设计一个既能保证激励相容性,又能获得良好近似解的机制。我们将以“背包拍卖”作为案例进行研究。
回顾与问题引入
上一节我们介绍了VCG机制,它在理论上能完美解决一大类机制设计问题:它能最大化社会福利,是占优策略激励相容的,并且满足预算平衡与个体理性。
然而,VCG机制存在两个主要问题:一是它只能处理社会福利最大化这一目标;二是它假设我们能精确求解社会福利最大化问题。本节我们将重点关注第二个问题。在许多实际场景中(如拍卖机场起降时段或无线电频谱),社会福利最大化问题可能是NP难的,我们无法在多项式时间内精确求解。
一个自然的想法是使用近似算法来求解这个优化问题。但问题在于,VCG机制的所有优良性质(如激励相容性)都严格依赖于精确求解优化问题。如果我们简单地用一个近似算法替换精确求解步骤,并沿用VCG的支付规则,那么这些性质可能会被彻底破坏,例如支付可能变为负值。
因此,我们需要更巧妙的方法:设计一个单调的近似算法,然后根据上一讲的结论,为其配上一个支付规则,从而构建一个占优策略激励相容的机制。
案例研究:背包拍卖
为了具体说明,我们引入“背包拍卖”问题。设想一个场景:拍卖一架飞机上的座位。我们有:
- n个竞拍者:每个竞拍者代表一个旅行团体(如单人商务旅客、五口之家)。
- 公开的规模
w_i:每个团体的人数(公开信息,不可虚报)。 - 公开的预算B:飞机上的总座位数。
- 私人估值
v_i:每个团体对获得机票的私人估值。
可行分配是所有满足总规模不超过预算B的竞拍者子集。竞拍者i在分配a中的效用为 v_i * a_i,其中 a_i ∈ {0, 1} 表示其是否获胜。这是一个单参数域。
社会福利最大化问题是:选择可行子集S,最大化 Σ_{i∈S} v_i。这正是经典的背包问题,是NP难的。因此,我们无法在多项式时间内运行精确的VCG机制。
我们的目标是:设计一个多项式时间的机制,它是社会福利的α近似(例如,总能获得至少最优解一半的福利),并且是占优策略激励相容的。
简化问题:利用单调性
由于这是单参数域,根据上一讲的结论,一个分配规则能被配以支付规则从而成为占优策略激励相容的机制,当且仅当该分配规则是单调非减的。
单调性定义:对于任意竞拍者i,如果其在报价 v_i 时能获胜,那么在任何更高的报价 v_i' > v_i 下,他也必须获胜。换言之,提高报价绝不能导致从赢变为输。
因此,我们的任务简化为一个纯粹的算法设计问题:设计一个用于背包问题的、单调非减的α近似算法。一旦找到这样的算法,我们就可以直接套用上一讲的通用支付规则来构建机制。
设计近似算法:分式松弛法
直接为整数背包问题设计单调的近似算法比较困难。我们采用一个常见策略:先研究其分式松弛版本。
整数背包问题(原问题):
最大化: Σ_i (x_i * v_i)
约束条件: Σ_i (x_i * w_i) ≤ B
x_i ∈ {0, 1} (对于所有 i)
分式背包问题(松弛问题):
最大化: Σ_i (x_i * v_i)
约束条件: Σ_i (x_i * w_i) ≤ B
0 ≤ x_i ≤ 1 (对于所有 i)
在分式版本中,x_i 可以取0到1之间的分数,意味着可以“部分满足”一个团体的需求。
关键观察1:分式问题的最优值 OPT_f 总是大于等于整数问题的最优值 OPT,因为可行域更大了。
关键观察2:分式背包问题可以在多项式时间内求解(它是一个线性规划)。更重要的是,其最优解具有简单的贪心结构:
- 按价值密度
v_i / w_i(即“性价比”)降序排列所有竞拍者。 - 按此顺序,尽可能多地(直至完全满足)分配资源给当前竞拍者,直到预算B用完。
- 最后一个被考虑的竞拍者可能会获得一个分数分配。
证明思路(反证法):如果最优解中,一个高价值密度的竞拍者未被完全满足,而一个低价值密度的竞拍者却被部分满足,那么我们可以将后者的少量资源重新分配给前者,从而在满足约束的前提下提高总价值,这与“最优”矛盾。
因此,求解分式最优解 OPT_f 的算法非常简单:贪心算法。
从分式解到整数解:一个2-近似算法
我们能否直接使用贪心算法得到的整数部分(即完全满足的竞拍者前缀)作为整数解呢?不幸的是,这可能非常糟糕。
反例:假设预算B=10。有两个竞拍者:
- A: 价值
v=10, 规模w=10, 价值密度 = 1。 - B: 价值
v=1.1, 规模w=1, 价值密度 = 1.1。
贪心算法会先分配B(用掉1个座位,获得价值1.1),然后没有足够座位给A。最终价值为1.1,而最优整数解是分配A,价值为10。近似比可以任意差。
我们需要一个更鲁棒的算法。以下是我们的2-近似单调算法:
- 排序:将所有竞拍者按价值密度
v_i / w_i降序排列。 - 构造候选集S:按上述顺序,将竞拍者依次加入集合S,直到加入下一个竞拍者会使得总规模超过预算B。记这个“下一个”竞拍者为
i。 - 最终决策:比较两个选项的价值:
- 选项1:集合S的总价值
V(S) = Σ_{j∈S} v_j。 - 选项2:单个最高估值竞拍者的价值
v_max = max_j v_j。
- 选项1:集合S的总价值
- 输出:输出
V(S)和v_max中价值更高的那个选项所对应的分配(即,要么分配整个集合S,要么只分配给那个最高估值的竞拍者)。
算法性能分析:
- 令
OPT_f为分式最优值。我们知道OPT_f ≥ OPT(整数最优值)。 - 分式最优解会完全满足S中的所有竞拍者,并部分满足竞拍者
i。因此,V(S) + v_i ≥ OPT_f。 - 根据不等式性质,
max{V(S), v_i} ≥ OPT_f / 2。 - 由于
v_max ≥ v_i,所以max{V(S), v_max} ≥ max{V(S), v_i} ≥ OPT_f / 2 ≥ OPT / 2。 - 因此,该算法是原整数背包问题的2-近似算法。
证明算法的单调性
最后,我们需要证明这个分配规则是单调非减的,这是机制具有激励相容性的关键。
证明概要:固定其他竞拍者的报价,考虑竞拍者 i 将其报价从 v_i 提高到 v_i'。
- 情况1:在报价
v_i时,i因为属于集合S而获胜。- 提高报价会提高
i的价值密度,使其在排序中位置可能提前,但绝不会被移出能放入预算的前缀集合S。因此,在v_i'下,i仍然在集合S’中。 - 此外,提高报价增加了S’的总价值,这使得算法更有可能选择集合S’作为输出(而不是选择单个最高价者)。因此,
i仍然获胜。
- 提高报价会提高
- 情况2:在报价
v_i时,i因为自己是最高价者v_max而获胜。- 提高报价后,
i仍然是最高价者。 - 算法可能转而选择集合S’,但这只有当
i进入了S’时才可能发生。如果算法选择S’,则i作为S’的成员获胜;如果算法仍选择单个最高价者,那也还是i。因此,i仍然获胜。
- 提高报价后,
综上,无论哪种情况,提高报价都不会导致竞拍者从赢变为输。所以,该分配规则是单调非减的。
总结
本节课我们一起学习了如何应对机制设计中的计算复杂性挑战。通过背包拍卖的案例,我们:
- 明确了问题:VCG机制需要精确求解NP难的社会福利最大化问题,这在实际中不可行。
- 利用了单参数域的特征:将机制设计问题简化为寻找单调的近似算法。
- 采用了分式松弛策略:通过分析更容易处理的分式背包问题,利用其最优解的贪心结构来指导整数算法的设计。
- 设计并分析了一个2-近似算法:该算法通过比较“贪心前缀集合”和“单个最高价者”的价值来做出分配决策,并证明了其近似比。
- 证明了单调性:我们详细论证了该算法满足单调非减性质,因此可以搭配上一讲的支付规则,构建出一个占优策略激励相容的、多项式时间的2-近似机制。

这个案例表明,即使面对计算上棘手的问题,我们仍然可以设计出兼具良好经济属性和计算效率的机制。对于其他复杂的分配问题,也可以遵循类似的思路进行分析和设计。
018:收益最大化拍卖

在本节课中,我们将要学习如何设计拍卖机制来最大化卖家的收益,而不是社会福利。我们将看到,与福利最大化不同,收益最大化需要一个合理的基准来衡量成功。为此,我们将引入一个关键概念——虚拟价值,并推导出在单物品拍卖中最大化期望收益的最优机制。
收益最大化的基准问题
上一节我们介绍了社会福利最大化及其通用机制。本节中,我们来看看如何最大化收益。首先需要明确“最大化收益”的含义。对于福利最大化,目标很明确:将物品分配给估值最高的人。但对于收益最大化,情况则复杂得多。
考虑一个只有一个竞拍者的单物品拍卖。此时,唯一可行的真实机制是设定一个固定价格。如果竞拍者的估值高于这个价格,他就会购买,卖家获得等于价格的收益;否则,交易不发生,收益为零。
问题在于,在知道竞拍者的实际估值之前,我们无法设定“完美”的价格。例如,如果事后发现竞拍者估值100美元,那么定价100美元就是最优的;但如果他的估值只有10美元,最优定价就应该是10美元。我们无法在事前承诺一个能恰好匹配未知估值的价格。因此,我们需要一个不同的基准。
一种常见的方法是假设我们知道竞拍者估值的概率分布。这样,我们就可以在期望意义上定义和最大化收益。例如,假设单个竞拍者的估值在0到1之间均匀分布。如果我们设定价格 p,那么期望收益为 p * (1 - p)。通过简单的微积分可知,当 p = 0.5 时,期望收益最大,为0.25。这个“期望收益”为我们提供了一个可以努力达到的明确基准。
扩展到多个竞拍者
现在,我们考虑单物品、有 n 个竞拍者的情况。我们知道,在单参数域中,任何真实机制都对应一个单调非递减的分配规则 x_i(b),以及由此决定的支付规则 p_i(b)。
我们的目标是设计一个真实机制,最大化期望收益:
期望收益 = E[ Σ p_i(v) ],其中期望值是关于所有竞拍者估值(独立同分布)的。
根据单参数域的刻画定理,支付可以表示为分配规则的函数。经过一系列期望和积分的推导与变换(核心步骤是交换积分顺序和变量代换),我们可以得到一个关键结论:竞拍者 i 的期望支付等于其“虚拟价值”的期望值。
虚拟价值 φ_i(v_i) 的定义如下:
φ_i(v_i) = v_i - (1 - F_i(v_i)) / f_i(v_i)
其中:
v_i是竞拍者i的估值。F_i(v_i)是估值分布的累积分布函数(CDF)。f_i(v_i)是估值分布的概率密度函数(PDF)。
因此,整个机制的期望总收益等于期望虚拟福利,即所有竞拍者被分配物品时的虚拟价值之和。
最优分配规则
既然期望收益等于期望虚拟福利,那么最大化收益的问题就转化为了一个看似熟悉的问题:最大化虚拟福利。这与最大化社会福利(即真实估值之和)的形式完全相同,只是将“估值”替换成了“虚拟价值”。
因此,最优分配规则变得清晰:
- 计算每个竞拍者基于其报价
b_i的虚拟价值φ_i(b_i)。 - 将物品分配给虚拟价值最高且为正的竞拍者。
- 如果所有虚拟价值都为负,则不分配物品。
这个规则非常直观。它就像一个“虚拟价值第二价格拍卖”,但增加了一个保留价:只有当最高虚拟价值为正时,才进行分配。
支付规则与具体机制
确定了分配规则后,支付规则由 Myerson 引理自动确定。对于胜出的竞拍者 i,其支付金额 p_i 是使其刚好能胜出的最低报价,即:
p_i = inf { b_i : φ_i(b_i) ≥ 0 且 φ_i(b_i) ≥ φ_j(b_j) 对所有 j ≠ i }
在常见的正则分布(即虚拟价值函数 φ(v) 是单调递增的分布,如均匀分布、指数分布)假设下,虚拟价值随估值增加而增加。此时,将物品分配给虚拟价值最高者,等价于分配给估值最高者(前提是其虚拟价值为正)。因此,最优机制简化为:
一个带有保留价 r 的第二价格拍卖,其中保留价 r 是使得虚拟价值为零的估值,即 φ(r) = 0。
胜者支付的价格是 第二高报价与保留价 r 中的较大者。如果最高报价低于保留价 r,则物品不售出。
核心洞察与总结
本节课我们一起学习了收益最大化拍卖的设计:
- 基准:我们通过引入估值分布,在期望意义上定义收益最大化的基准。
- 虚拟价值:通过数学推导,我们发现最大化期望收益等价于最大化“虚拟福利”。虚拟价值
φ(v) = v - (1-F(v))/f(v)是将估值转化为对收益贡献的关键公式。 - 最优机制:对于正则分布,收益最大化的单物品拍卖是一个带有最优保留价的第二价格拍卖。它有时会为了收益而牺牲效率(即不售出物品)。
- 与福利最大化的关系:一个重要的结论是,在有
n+1个竞拍者时运行福利最大化拍卖(即标准第二价格拍卖)所获得的期望收益,总是高于在有n个竞拍者时运行收益最大化拍卖所获得的收益。这意味着,吸引更多竞拍者参与(提升福利),往往比精细地优化定价策略(提升收益)对增加收益更有效。

因此,即便卖家的直接目标是收益,专注于创造一个有吸引力、能最大化社会福利的拍卖平台,从长远看可能才是最优策略。
019:定价与先知不等式 🧮

在本节课中,我们将要学习如何利用简单的定价策略来近似实现社会福利和收入最大化。我们将从一个抽象的“先知博弈”问题入手,并将其映射到现实中的商品定价场景,最终证明一个简单策略可以达到最优基准的一半。
背景与动机
上一节我们介绍了拍卖机制,它能精确地最大化社会福利或收入。然而,拍卖在现实中存在诸多实施困难,例如需要将所有参与者聚集在同一时间地点。
本节中,我们来看看一种更简单、更普遍的销售方式:标价销售。卖家为商品设定一个(或一组)固定价格,买家依次到来,决定是否以该价格购买。一旦售出,交易即告结束。我们的目标是:在这种更受限的设定下,能否设计定价策略,使其期望收益或社会福利与最优拍卖的结果相媲美?
模型设定
我们考虑销售单件商品(例如一辆二手车)。模型如下:
- 有
n个买家依次到来。 - 每个买家
i有一个类型,该类型对应一个已知的估值分布F_i。买家i的真实估值v_i独立地从F_i中抽取。 - 当买家到来时,卖家能观察到其类型,并为其提供一个固定价格
p_i。 - 买家决策:如果其估值
v_i >= p_i,则购买商品,支付p_i,交易结束;否则离开,商品仍可出售给后续买家。 - 目标:在买家依次到来、卖家必须提前设定价格的前提下,设计定价策略,以最大化期望社会福利(商品对买家的价值)或期望收入。
先知博弈与阈值策略
为了分析上述定价问题,我们首先引入一个抽象的先知博弈:
- 游戏进行
n轮。 - 第
i轮,你会看到一个奖励π_i,它从已知分布G_i中抽取。 - 每轮看完奖励后,你必须决定:接受该奖励并结束游戏,或拒绝该奖励并进入下一轮。
- 你只能获得一次奖励。
- 先知作为比较基准,可以预知所有轮次的奖励实现值,并总是选择最大值。先知的期望收益为
E[max_i π_i]。
我们的目标是:设计一个策略,使得期望收益尽可能接近先知的收益。
一个非常简单的策略是阈值策略:设定一个阈值 T,接受第一个奖励值不低于 T 的轮次的奖励。
定价问题与先知博弈的对应关系:
- 奖励
π_i对应买家i的估值v_i。 - 阈值
T对应商品售价p。 - 接受奖励对应商品被售出。
- 你的收益
π_i对应售出时的社会福利v_i。 - 先知的收益
max_i v_i对应了最优社会福利(即若能聚集所有买家并运行VCG拍卖所能获得的社会福利)。
因此,如果我们能在先知博弈中证明阈值策略的收益至少是先知的 1/2,那就意味着在定价问题中,存在一个固定价格 p,使得期望社会福利至少是最优社会福利的 1/2。
主要定理与证明
定理(先知不等式):对于任意一组奖励分布 G_1, ..., G_n,存在一个阈值策略,其期望收益至少为先知期望收益 E[V*](其中 V* = max_i π_i)的一半。
证明思路:
我们将分析一个具体的阈值策略:设定阈值 T = E[V*] / 2。我们将证明,采用此策略的期望收益 E[reward] >= E[V*] / 2。
在证明中,我们将使用定价问题的语言(“售出商品”、“买家效用”等),这更直观且与最终应用直接相关。
首先,注意到社会福利(即我们的收益)由两部分组成:卖家收入和买家效用。
- 若商品以价格
p售予买家i,则:- 卖家收入
Revenue = p - 买家效用
Utility = v_i - p - 社会福利
Welfare = Revenue + Utility = v_i
- 卖家收入
我们的目标是下界估计期望社会福利 E[Welfare] = E[Revenue] + E[Utility]。
1. 期望收入的下界
我们的策略设价格 p = T = E[V*] / 2。
期望收入 = 价格 × 商品被售出的概率。
即:E[Revenue] = p * Pr[item sold] = (E[V*] / 2) * Pr[item sold]。
2. 期望买家效用的下界
买家 i 的贡献是:当商品在轮到 i 时仍未售出,且 v_i > p,则其效用为 v_i - p。
经过一系列推导(核心是利用了商品未售出的概率至少是始终未售出的概率,以及求和项的非负性),我们可以得到:
E[Utility] >= (E[V*] - p) * Pr[item never sold] = (E[V*] / 2) * Pr[item never sold]。
3. 合并下界
将收入和效用的下界相加:
E[Welfare] = E[Revenue] + E[Utility]
>= (E[V*] / 2) * Pr[item sold] + (E[V*] / 2) * Pr[item never sold]
= (E[V*] / 2) * (Pr[item sold] + Pr[item never sold])
= (E[V*] / 2) * 1
= E[V*] / 2
证毕。我们证明了该阈值策略的期望社会福利至少是最优期望社会福利(先知收益)的一半。
从社会福利到收入最大化
上一部分我们解决了社会福利的近似最大化。现在,我们来看看如何近似最大化收入。
回忆在单参数环境中,迈尔森定理指出:收入最大化等价于虚拟福利最大化。最优拍卖将物品分配给具有最高虚拟估值 φ_i(v_i) 的买家,但仅当该虚拟估值为正时。
因此,最优收入 OPT_rev 等于 E[max_i φ_i(v_i)^+],其中 (x)^+ = max(x, 0)。
我们可以将先知博弈框架直接迁移过来:
- 将第
i轮的“奖励”重新定义为π_i = φ_i(v_i)^+。 - 先知的收益
E[max_i π_i]现在就是最优收入OPT_rev。 - 我们同样可以采用阈值策略,设定阈值
T_rev = OPT_rev / 2,并接受第一个虚拟奖励π_i超过此阈值的买家。
关键点:这对应于一个基于虚拟估值的阈值策略。为了将其转化为实际的定价策略,我们需要为不同类型 i 的买家设定不同的价格 p_i。
价格 p_i 应满足:φ_i(p_i) = T_rev = OPT_rev / 2。
即,p_i = φ_i^{-1}(OPT_rev / 2)。
这样,当买家 i 的估值 v_i >= p_i 时,等价于其虚拟估值 φ_i(v_i) >= OPT_rev / 2,从而触发购买。
因此,我们得到了一个差异化定价策略:根据买家的类型(分布)设定不同的价格,其期望收入至少能达到最优拍卖收入的一半。
总结
本节课中我们一起学习了:
- 标价销售模型:一种比拍卖更简单、更实用的销售方式,买家依次到来并决定是否按设定价格购买。
- 先知博弈:一个分析序贯决策的抽象框架,其目标是与能预知未来的“先知”的收益竞争。
- 先知不等式:证明了一个简单的阈值策略(接受第一个超过某个阈值的奖励)的期望收益至少能达到先知收益的一半。
- 社会福利近似:通过将定价问题映射到先知博弈,我们证明了存在一个统一定价,使得期望社会福利至少是最优社会福利的一半。
- 收入近似:通过将“奖励”重新定义为虚拟估值,并应用相同的先知不等式逻辑,我们得到了一个差异化定价策略,其期望收入至少是最优拍卖收入的一半。

核心结论是:尽管标价销售在信息和时序上受到限制,但通过精心设计(尤其是基于统计分布的阈值计算),我们仍然可以保证获得最优机制下大部分的社会福利或收入。这为实践中简单、可扩展的销售机制提供了理论依据。
020:无先验知识下的收益最大化

在本节课中,我们将学习如何在没有先验分布知识的情况下设计拍卖机制以最大化收益。我们将重点关注数字商品拍卖这一案例,并尝试设计一个在最坏情况下也能保证收益的机制。
课程概述
到目前为止,我们学习了最优拍卖设计。在单物品拍卖的设定下,我们能够解析地推导出收益最大化的拍卖形式。上一节课我们提到,虽然拍卖理论很优美,但在日常生活中,我们购买的大多数商品都是通过固定标价完成的。我们意识到,如果愿意放弃精确的最优性,接受一个近似因子(例如2倍),那么简单的固定标价策略就可以近似最优拍卖的收益。
然而,无论是最优拍卖还是收益最大化的定价方案,都依赖于一个关键假设:我们知道买家估值的概率分布。这些分布定义了虚拟价值函数,我们需要计算甚至反演这些函数才能确定具体的定价。但在实际部署时,我们往往不知道这个分布从何而来。
这与我们讨论社会福利时的情形截然不同。运行VCG机制可以在非常广泛的设定下优化社会福利,且不需要任何分布知识。它总是能给出社会福利最优的分配,并且是占优策略激励相容的。
因此,本节课的目标是思考:我们能否为收益问题找到类似的、不依赖于分布的机制?我们希望设计一个算法或机制,它总是占优策略激励相容的,并且能在最坏情况下陈述某种收益保证,就像VCG机制为福利所做的那样。
数字商品拍卖设定
我们将通过一个案例研究来探讨这个问题,这个案例被称为数字商品拍卖,或者也可以称为无限供给拍卖。这是与单物品拍卖截然不同的另一个极端。
数字商品拍卖适用于销售软件、电影租赁等商品。这些商品的生产可能涉及高昂的固定成本(如软件开发、电影制作),但一旦生产完成,边际复制成本为零。这与单物品拍卖存在硬性供给约束不同,在数字商品拍卖中,原则上每个竞拍者都可以获胜。
在单参数域的框架下,数字商品拍卖的可行结果集是所有竞拍者的可能子集。每个竞拍者 i 对赢得商品有一个未知的估值 v_i。如果获胜,其效用为 v_i;否则为0。由于没有供给约束,任何子集的竞拍者都可以被宣布为获胜者。
这是一个简单的拍卖设定,但与单物品拍卖(最严格的供给约束)相反,它处于供给约束最宽松的另一端。
从收益的角度看,数字商品拍卖是一个很好的案例,因为在这里,收益和社会福利的冲突最为激烈。
社会福利最大化的结果是什么?答案是:给所有人商品。VCG机制在数字商品设定下就会这样做:将商品分配给所有人。为了同时满足占优策略激励相容和个人理性,VCG机制只能向每个人收取0费用。因此,社会福利最大化的机制收益为零。
这清楚地表明,在这个设定中,收益和社会福利是完全冲突的。如果我们想获得收益,就必须考虑人为地限制供给。
定义收益基准
考虑收益时的一个棘手问题是:没有一个明确的基准。对于社会福利,我们有一个清晰的上限——社会福利最大化的结果。但对于收益,理论上我可以无限提高价格,但这通常无法构成一个真实的拍卖机制。
之前我们通过引入估值先验分布解决了这个问题,从而可以谈论拍卖的期望收益和最优拍卖。但现在我们希望摆脱对先验分布的依赖。
我们可以利用从先验分布中学到的知识来构建直觉。在数字商品拍卖中,如果知道先验分布,收益最优的拍卖实际上就是一个固定价格。对于单个买家,我们能做的唯一真实的机制就是设定一个固定价格。最优机制会将价格设定为使虚拟价值从负转正的那个值。
因此,即使不知道先验分布,我们也可以设定一个目标:设计一个机制,其收益能够与事后看来最优的固定价格所获得的收益相竞争。这里的“事后”指的是,如果我们已经知道了所有竞拍者的真实估值,那么总存在一个能最大化收益的固定价格。
首先,这个基准定义不依赖于任何分布假设。其次,如果现实中确实存在一个(我们未知的)分布,那么竞争过这个基准也意味着我们同时竞争过了那个分布下的最优拍卖收益。
固定价格基准的数学描述
假设我们设定一个固定价格 p。谁会购买商品?所有估值大于等于 p 的竞拍者。我们的总收益是:
收益(p) = p * (估值 ≥ p 的竞拍者数量)
假设有 n 个竞拍者,其真实估值为 v_1, v_2, ..., v_n。事后看来,能使收益最大化的价格 p* 必然是某个竞拍者的估值,即 p* ∈ {v_1, v_2, ..., v_n}。这是因为收益函数 p * (#估值 ≥ p) 是一个分段常数函数,只有当 p 恰好等于某个估值时,提高价格才可能导致买家流失。
因此,如果我们按降序排列估值:v_(1) ≥ v_(2) ≥ ... ≥ v_(n),那么最优固定价格基准 OPT 可以写成:
OPT = max_{i} [ i * v_(i) ]
其中,i 表示将价格设定为第 i 高的估值 v_(i) 时,会有前 i 个竞拍者购买,收益为 i * v_(i)。
基准的调整与挑战
然而,直接竞争这个 OPT 基准对真实的机制来说要求过高。问题尤其出现在 i = 1 的情况,即最优收益来自仅向出价最高的单个竞拍者销售。
考虑只有一个竞拍者的极端情况:最优价格就是他的估值。但一个真实的机制无法在询问其估值后,又以此作为价格向他收费——这违反了激励相容性。即使有多个竞拍者,如果最优收益几乎全部来自那个最高估值者,机制同样难以竞争。
因此,我们需要弱化这个基准。一个合理的修正是:只考虑那些至少向两人销售的固定价格策略。即,我们定义新的基准 OPT_≥2:
OPT_≥2 = max_{i ≥ 2} [ i * v_(i) ]
在数字商品的实际场景中(如Netflix订阅),最优定价通常期望能卖给大量用户,而不仅仅是少数人。因此,这个修正后的基准在实践中是合理的。
我们的新目标是:设计一个占优策略激励相容的机制,使其收益与 OPT_≥2 竞争。
构建机制:收益提取器
我们首先构建一个有用的子程序,称为收益提取器。它的目标是:给定一个独立于竞拍者报价的收益目标 R,如果存在某个固定价格能够获得至少 R 的收益(即 OPT_≥2 ≥ R),那么该机制就恰好获得收益 R;否则,它可能获得零收益。
以下是数字商品收益提取器的算法:
- 获取所有竞拍者的报价(假设他们诚实报价)。
- 将报价从高到低排序:
b_(1) ≥ b_(2) ≥ ... ≥ b_(n)。 - 找到最大的整数
k,使得b_(k) ≥ R / k。 - 如果存在这样的
k,则前k个竞拍者获胜,并各自支付R / k。其他竞拍者不获胜且支付0。 - 如果不存在这样的
k,则无人获胜。
为什么它是激励相容的?
我们可以动态地描述这个算法:从 k = n 开始,向所有 n 个竞拍者提供价格 R/n。任何拒绝该报价的竞拍者将被永久移除。然后,向剩余竞拍者提供更高的价格 R/(n-1),依此类推。价格随着轮次只升不降。对于竞拍者来说,拒绝一个低于其估值的报价是劣势策略,因为会失去未来可能以可接受价格获胜的机会;接受一个高于其估值的报价也是劣势策略,因为价格只会越来越高。因此,诚实报价是占优策略。
为什么它能提取收益 R?
如果 OPT_≥2 ≥ R,则存在某个 k ≥ 2,使得 k * v_(k) ≥ R,即 v_(k) ≥ R/k。这意味着至少前 k 个竞拍者的估值满足条件。算法会找到某个满足条件的 k'(可能是 k 或更大),并恰好收取 R 的总收益。如果 OPT_≥2 < R,则对于所有 k ≥ 2,都有 v_(k) < R/k,算法找不到满足条件的 k,收益为零。
收益提取器将收益最大化问题转化为了一个估计问题:如果我们能以一个独立于目标人群报价的方式,较好地估计出 OPT_≥2 的值,并将其作为 R 输入收益提取器,我们就能获得有竞争力的收益。
随机抽样拍卖
现在,我们利用收益提取器来构建完整的机制。核心思想是:通过随机抽样来估计 OPT_≥2,并将估计值用于对另一组人群运行收益提取器。
随机抽样拍卖算法如下:
- 将全体
n个竞拍者随机且独立地分成两个集合S'和S''(例如,抛硬币决定)。 - 在集合
S'上,计算其自身的OPT_≥2值,记为R'。 - 在集合
S''上,计算其自身的OPT_≥2值,记为R''。 - 在集合
S'上运行收益提取器,但使用R''作为收益目标。 - 在集合
S''上运行收益提取器,但使用R'作为收益目标。 - 总收益是两次运行收益之和。
为什么它是激励相容的?
对于集合 S' 中的任意竞拍者,他们面临的收益提取器使用的目标 R'' 完全来自于另一个集合 S'' 的报价,与 S' 中任何人的报价无关。根据收益提取器的性质,这对 S' 中的每个人都是占优策略激励相容的。同理对 S'' 成立。
收益分析:
随机抽样拍卖的总收益至少是 min(R', R'')。因为考虑 R' 和 R'' 的大小关系:
- 如果
R' ≥ R'',那么在S''上运行的收益提取器(使用目标R')可能失败(如果S''的OPT_≥2小于R'),但在S'上运行的收益提取器(使用目标R'')一定会成功,因为S'的OPT_≥2是R',而R' ≥ R'',所以它至少能提取R''。 - 反之,如果
R'' ≥ R',则至少能提取R'。
因此,总收益≥ min(R', R'')。
将收益与基准联系起来
设全局最优基准 OPT_≥2 = k * p,其中 p 是最优固定价格,k ≥ 2 是在该价格下会购买的人数。
现在考虑那 k 个“本应获胜”的竞拍者。通过随机分割,他们中的一部分(设为 k' 人)进入了 S',另一部分(k'' 人)进入了 S'',且 k' + k'' = k。
在集合 S' 上,即使我们只是简单地采用价格 p,也能获得至少 k' * p 的收益。因此,R' ≥ k' * p。同理,R'' ≥ k'' * p。
因此,随机抽样拍卖的收益满足:
收益 ≥ min(R', R'') ≥ min(k' * p, k'' * p) = p * min(k', k'')
那么,其与全局最优基准的比值至少为:
收益 / OPT_≥2 ≥ [p * min(k', k'')] / [p * k] = min(k', k'') / k
这里的 min(k', k'') 正是将 k 个物品随机分到两个篮子后,较小篮子中的物品数量的期望值。
组合学引理
考虑抛 k 次均匀硬币,令 H 为正面朝上次数,T 为反面朝上次数。我们关心 E[min(H, T)]。
可以证明,当 k ≥ 2 时,E[min(H, T)] ≥ k/4。
简要论证:考虑每次抛掷对 min(H, T) 的期望增量。当已抛掷次数为奇数时,H 和 T 不可能相等,下一次抛掷有1/2的概率增加较小值。当已抛掷次数为偶数时,有可能相等,此时增量为0,但不会为负。通过分析奇偶轮次,可以得出总期望值至少为 k/4。
将此引理应用于我们的场景:k' 和 k'' 相当于 k 次独立随机分配的结果(每个竞拍者进入 S' 如正面,进入 S'' 如反面)。因此,E[min(k', k'')] ≥ k/4。
由期望的线性性,我们得到:
E[收益] ≥ E[p * min(k', k'')] = p * E[min(k', k'')] ≥ p * (k/4) = OPT_≥2 / 4
结论与总结
在本节课中,我们一起学习了如何在没有先验分布知识的情况下,为数字商品拍卖设计一个具有收益保证的机制。
- 问题设定:我们研究了数字商品(无限供给)拍卖,其中收益与社会福利目标存在根本冲突。
- 基准定义:我们定义了不依赖于分布的收益基准
OPT_≥2,即事后最优的、至少向两人销售的固定价格策略所能获得的收益。 - 核心工具:我们构建了收益提取器,这是一个给定收益目标
R后,能在目标可行时恰好提取R收益的真实机制。 - 最终机制:我们提出了随机抽样拍卖。它通过随机将竞拍者分成两组,互相用对方的
OPT_≥2估值作为收益目标来运行收益提取器。 - 收益保证:我们证明了随机抽样拍卖的期望收益至少是
OPT_≥2的 1/4。这个因子4源于我们竞争的是至少向两人销售的基准,而随机分割时,较小群体规模的期望至少是总体的1/4。
这个结果表明,即使在没有分布知识的最坏情况下,我们也能设计出具有恒定近似比的收益最大化机制。虽然近似因子4可能看起来较大,但通过调整基准(例如要求至少向 k 人销售,k 稍大),我们可以利用相同技术获得 (1+ε) 的近似比。

本节课将机制设计问题与统计估计问题巧妙结合,展示了随机化在应对不确定性时的强大力量。
021:在线数字商品拍卖

在本节课中,我们将学习如何设计一个在线拍卖机制,用于销售数字商品。该机制无需预先知道买家估值的分布,也无需将所有买家聚集在一起进行一次性拍卖,而是可以顺序地接待买家。我们将利用多项式权重算法来实现这一目标,并证明其收益能与事后最优固定价格相竞争。
在线拍卖模型
上一节我们介绍了随机抽样拍卖,它解决了不知道估值分布的问题,但仍需一次性聚集所有买家。本节中,我们来看看如何同时解决这两个问题,设计一个顺序接待买家的在线拍卖。
我们考虑一个数字商品拍卖场景。卖家有无限供应(例如,软件副本)。共有 n 个买家,每个买家 i 对商品有一个私有估值 v_i,我们假设所有估值都缩放至区间 [0, 1]。买家按顺序到达。在时间 t,买家 t 到达并出价 b_t(在真实机制下,b_t 应等于其真实估值 v_t)。卖家必须立即决定是否将商品分配给该买家以及收取多少费用,且此决策只能基于截至当前时刻 t 所观察到的所有出价历史 (b_1, ..., b_t)。
我们的目标是设计一个占优策略真实的在线拍卖,使其收益能与“事后最优固定价格”这一基准相竞争。我们定义事后最优固定价格 p* 为:在所有买家估值序列已知后,能使总收益 p * (# of buyers with v_i ≥ p) 最大化的那个价格 p。
“要么接受,要么离开”拍卖
为了设计在线机制,我们聚焦于一种简单但强大的拍卖形式:“要么接受,要么离开”拍卖。
在每一轮 t,卖家在观察到买家 t 的出价之前,先根据历史出价 (b_1, ..., b_{t-1}) 决定一个价格 s_t。当买家 t 到达并出价 b_t 后,规则如下:
- 如果
b_t ≥ s_t,则买家赢得商品,并支付s_t。 - 如果
b_t < s_t,则买家未赢得商品,支付为0。
这种机制本质上是顺序定价,但通过以拍卖形式询问出价,我们可以了解到买家的确切估值(假设真实出价),而不仅仅是“是否高于价格”这一比特信息。这对于后续的算法设计更为方便。
关键性质:任何“要么接受,要么离开”拍卖都是占优策略真实的。因为价格 s_t 是在看到买家 t 的出价之前独立确定的,买家无法通过虚报来影响自己面临的价格,因此诚实出价是其最优策略。
因此,整个机制设计问题简化为:如何根据历史出价序列,为每一天 t 选择一个好的价格 s_t。
将定价问题转化为专家学习问题
我们的目标是使总收益尽可能接近事后最优固定价格 p* 的收益。这启发我们使用多项式权重算法,该算法可以在顺序决策中保证其累积收益与 hindsight 下最佳专家的收益相近。
以下是我们的转化思路:
- 定义专家:每个“专家”对应一个候选的固定价格
p。我们从一个有限的候选价格集合P中选取专家,例如P = {α, 2α, 3α, ..., 1},其中α是一个离散化参数。 - 定义收益:在每一天
t,如果专家(价格p)被采用,其收益g_t(p)定义为:g_t(p) = p,如果当天买家估值v_t ≥ p。g_t(p) = 0,如果v_t < p。
注意,即使当天我们没有实际采用价格p,只要我们知道买家估值v_t,我们就能计算出所有专家p ∈ P的假设收益。这正是我们采用拍卖形式(而非纯定价)的好处——它让我们能观察到v_t,从而计算反事实收益。
- 算法流程:
- 初始化多项式权重算法,专家集合为
P。 - 在每一天
t:
a. 根据多项式权重算法当前的权重分布,选择一个专家(即一个价格p_t)。
b. 以此价格p_t运行“要么接受,要么离开”拍卖。
c. 观察到买家估值v_t(或真实出价)。
d. 为每一个专家p ∈ P计算其当天收益g_t(p)(如上述定义)。
e. 将收益向量(g_t(p))_{p∈P}反馈给多项式权重算法,更新权重。
- 初始化多项式权重算法,专家集合为
根据多项式权重算法的理论保证,经过 T 轮后,算法所获得的累积收益满足:
算法总收益 ≥ (最佳专家总收益) - O(√(T log |P|))
其中,“最佳专家总收益”正是候选价格集合 P 中,能使总收益 ∑_{t=1}^T g_t(p) 最大化的那个价格 p 所获得的总收益。根据我们的收益定义,这恰好等于在价格 p 下售出商品所获得的总收入。
从有限候选集到连续价格区间
目前我们的保证只针对有限的候选价格集合 P。我们需要将其与在整个连续区间 [0,1] 上最优的价格 p* 进行比较。
设我们选择的候选价格集合为 P = {α, 2α, 3α, ..., 1},共有 |P| ≈ 1/α 个价格。
关键引理:对于任意最优价格 p* ∈ [0,1],存在一个候选价格 p' ∈ P,满足 p' ≤ p* 且 p* - p' ≤ α。那么,使用价格 p' 与使用价格 p* 的收益之差最多为 α * n。这是因为,对于每一个原本在价格 p* 下会购买的买家,在更低的价格 p' 下他仍然会购买,但每笔收入减少了最多 α。
因此,我们有:
最佳候选价格收益 ≥ 最优价格收益 - αn
结合多项式权重算法的保证,我们得到:
算法总收益 ≥ (最优价格收益 - αn) - O(√(T log (1/α)))
这里 n = T 是买家总数(轮数)。现在我们可以优化选择离散化参数 α 来平衡两项损失。令 α = 1/√n,则:
算法总收益 ≥ 最优价格收益 - O(√(n log n))
保证的意义与比较
我们得到的保证是加性的:算法收益至少是最优固定价格收益减去一个 O(√(n log n)) 的项。
- 与随机抽样拍卖比较:随机抽样拍卖给出的是一个乘性近似保证(例如,4-近似),即使最优收益很低(例如只卖给两个人)也成立。而我们的在线算法在最优收益
OPT较小时(小于√n log n),加性项可能占主导,保证较弱。但是,当OPT随n线性增长时(这在许多实际场景中成立,例如买家估值来自某个固定分布),我们的算法收益与OPT的比率将趋近于 1,即达到近乎完美的近似,这比固定的乘性近似(如 4-近似)渐近更优。 - 实际含义:如果买家估值是独立同分布地从某个未知分布中抽取的,那么随着买家数量
n的增加,我们的在线顺序定价算法的平均单买家收益将收敛到最优固定价格的平均收益。
总结
本节课中,我们一起学习了如何为在线数字商品拍卖设计一个无需先验分布、且能顺序接待买家的机制。
- 我们采用了“要么接受,要么离开”的拍卖框架,它本质是顺序定价且是占优策略真实的。
- 我们将定价问题转化为一个在线学习问题:将每个候选价格视为一个专家,利用多项式权重算法来动态选择每日的价格。
- 通过将连续价格区间离散化,并分析离散化带来的收益损失,我们证明了算法总收益不低于事后最优固定价格收益减去一个
O(√(n log n))的项。 - 这个加性保证意味着,在最优收益随买家数量线性增长的典型场景下,我们的算法能渐近地达到近乎最优的收入。

这种方法巧妙地将机制设计与在线学习结合起来,实现了对未知环境且顺序到达场景下的稳健收益最大化。
022:严格评分规则

在本节课中,我们将学习如何设计一种机制,以激励专家真实地报告其关于未来事件的概率信念。我们将探讨“严格评分规则”的概念,这是一种能够确保专家在最大化其期望收益时,必须诚实报告其真实信念的合同或支付规则。
概述
在之前的课程中,我们主要研究了拍卖机制设计,关注如何分配物品和收取金钱。在本节中,我们将转向信息问题,特别是如何激励拥有更准确信息的专家向我们真实地报告其概率信念。例如,我们可能想知道某位候选人赢得选举的概率。我们将设计一种合同,该合同根据专家报告的信念和最终观察到的结果来支付报酬,并确保专家为了最大化其期望收益,必须报告其真实的信念。
问题设定
假设我们想了解候选人A赢得下一次总统选举的概率(选举结果只有A或B获胜)。我们有一位精通政治的朋友(专家),他拥有比我们更准确的信念。我们希望与他签订一份合同,激励他今天告诉我们他的真实信念。
合同流程如下:
- 专家今天报告一个概率信念(例如,“我认为A有70%的概率获胜”)。
- 未来,我们观察到实际的选举结果(A赢或B赢)。
- 根据专家报告的信念和实际发生的结果,合同规定我们支付给专家一定金额。
我们的目标是设计这份合同(即评分规则),使得专家为了最大化其根据自身信念计算的期望收益,最好的策略就是如实报告其真实信念。
初步尝试与失败
首先,我们考虑一些简单的、但会失败的合同设计。
尝试一:只赌赢家
合同:询问专家“你认为谁会赢?”。如果专家预测正确,则支付1美元。
分析:专家会报告他认为更可能获胜的候选人。但这只告诉我们他认为谁更可能赢(一个比特的信息),而无法得知他具体的概率估计(例如,是51%还是99%认为A会赢)。因此,这个合同无法充分获取我们想要的信息。
尝试二:按报告概率支付
合同:专家报告一个概率 p(A获胜的概率)。如果A最终获胜,支付 p 美元;如果B获胜,支付 1-p 美元。
分析:假设专家的真实信念是A获胜的概率为 q。如果他报告 p,他的期望收益为:
E[收益] = q * p + (1 - q) * (1 - p)
这是一个关于报告值 p 的线性函数。为了最大化这个期望值,专家会极端化其报告:
- 如果
q > 0.5,他会报告p = 1(100%确信A赢)。 - 如果
q < 0.5,他会报告p = 0(100%确信B赢)。
因此,即使我们问了正确的问题(概率是多少),这个合同仍然只激励专家报告他认为更可能的结果,而不是具体的概率值。它不是一个严格的评分规则。
正式模型
现在,我们建立正式模型来研究这个问题。
- 结果空间:设未来事件有
d种可能的结果,记为y。例如,y可以是 {A赢, B赢}。 - 专家信念:专家对结果有一个私人的概率分布信念,记为
Q。Q(y)表示专家认为结果y发生的概率。 - 评分规则:我们设计的合同是一个函数
S(P, y)。它表示当专家报告的概率分布为P,并且最终观察到的结果为y时,专家获得的支付。 - 专家目标:专家选择报告一个分布
P(不一定等于其真实信念Q),以最大化其根据自身真实信念Q计算的期望支付。该期望支付为:
S(P, Q) = Σ_y [ Q(y) * S(P, y) ]
注意,S(P, Q)是Q的线性函数。 - 严格评分规则的定义:一个评分规则
S是严格的,当且仅当对于专家的任何真实信念Q,诚实报告P = Q都能严格最大化其期望支付。即,对于所有P ≠ Q,都有:
S(Q, Q) > S(P, Q)
如果“大于等于”成立,则称为弱严格评分规则。
凸函数与严格评分规则
严格评分规则与凸函数有着深刻而优美的联系。首先,我们简要回顾凸函数的概念。
一个函数 F 是凸的,如果对于其定义域内任意两点 x, y 和任意权重 λ ∈ [0,1],满足:
F(λx + (1-λ)y) ≤ λF(x) + (1-λ)F(y)
几何上,连接函数图像上任意两点的线段都位于图像上方(或之上)。另一个等价性质是:函数在其任一点的切线(或超平面)都位于函数图像之下。
核心定理:严格评分规则的刻画
一个评分规则 S 是严格(或弱严格)的,当且仅当存在一个凸函数 F,使得对于任何报告 P 和真实信念 Q,期望支付可以表示为:
S(P, Q) = F(P) + ∇F(P) · (Q - P)
其中,∇F(P) 是 F 在点 P 处的梯度(对于概率分布,是在单纯形上的导数)。
进而,对于单个结果 y 的实际支付规则为:
S(P, y) = F(P) + ∇F(P) · (e_y - P)
这里 e_y 是一个指示向量,在对应结果 y 的位置为1,其余为0。
定理解读:
- 构造性:任意给定一个凸函数
F,按上述公式构造出的S就是一个严格评分规则。 - 完备性:所有的严格评分规则都可以通过这种方式,由某个凸函数
F生成。 - 函数
F的意义:F(Q) = S(Q, Q),即当专家信念为Q且诚实报告时,他所获得的期望支付。
直观理解:专家的期望支付 S(P, Q) 可以看作是在点 P 处对凸函数 F 做的一阶泰勒展开(线性近似)。由于 F 是凸的,这个线性近似在 P 点处是 F 的支撑超平面,并且在整个定义域上都位于 F 之下。当专家真实信念为 Q 时,他通过选择报告 P 来“选择”一个支撑超平面。为了最大化 S(P, Q)(即这个线性近似在 Q 点的值),他必须选择那个在 Q 点与 F 相切的超平面,而这对应的正是报告 P = Q。
经典示例:对数评分规则
现在,我们来看一个著名的严格评分规则实例。
对数评分规则定义如下:当专家报告分布为 P,且实际结果 y 发生时,支付为:
S(P, y) = log(P(y))
(通常还会加上一个常数以保证支付非负,但激励性质不变)。
验证其严格性:
- 计算期望支付:
S(P, Q) = Σ_y Q(y) * log(P(y))。这正是分布Q与P之间的交叉熵(的负数)。 - 找出对应的凸函数
F:当专家诚实报告 (P = Q) 时,其期望支付为F(Q) = Σ_y Q(y) * log(Q(y))。这正是分布Q的香农熵(的负数)。香农熵是概率分布上的凹函数,因此其负数-H(Q)是凸函数。 - 根据定理,由凸函数
F(Q) = -H(Q)生成的评分规则就是对数评分规则。我们可以通过计算梯度来验证这一点,结果确实吻合。
因此,对数评分规则是严格的。它激励专家真实报告其信念,因为任何误报都会降低其期望对数收益。
与机器学习的联系
上一节我们介绍了严格评分规则的数学刻画,本节中我们来看看它与机器学习的一个深刻联系。
在机器学习中,当我们训练一个模型(例如分类器)来预测概率分布时,我们需要定义一个损失函数(Loss Function)来度量预测值与真实标签之间的差异。常见的损失函数包括:
- 回归问题:均方误差
(y_pred - y_true)^2 - 分类问题:交叉熵损失
-Σ y_true * log(y_pred)
这些损失函数恰好对应着严格评分规则的负数。例如:
- 最大化对数评分规则
log(P(y))等价于最小化交叉熵损失-log(P(y))。 - 最大化二次评分规则(支付与
-(y_pred - y_true)^2相关)等价于最小化均方误差。
为什么这种联系很重要?
在机器学习中,我们的训练数据可以看作是从某个真实条件分布 Q 中抽样得到的结果 y。当我们使用梯度下降等算法最小化一个损失函数时,我们实际上是在寻找使损失(即负评分)期望值最小的模型参数。如果所使用的损失函数对应一个严格评分规则,那么:
- 这个最小化过程的全局最优解,正是让模型的预测分布
P等于真实数据分布Q。 - 也就是说,算法被激励去恢复真实的概率分布,而不仅仅是做出正确的硬分类。
因此,严格评分规则的理论为机器学习中许多标准损失函数的选择提供了合理性解释:它们不仅是直观的,而且在激励“真实概率预测”的意义上是最优的。
总结
本节课中,我们一起学习了如何设计机制以激励专家真实披露其概率信念。
- 我们首先明确了问题:设计一份基于报告和结果的支付合同(评分规则)。
- 我们通过两个反例,说明了简单的支付方案无法激励专家报告细致的概率信息。
- 接着,我们建立了正式模型,定义了严格评分规则的概念。
- 然后,我们探讨了严格评分规则与凸函数之间的核心定理,该定理完全刻画了所有可能的严格评分规则。
- 我们分析了对数评分规则这一经典例子,并验证了其严格性。
- 最后,我们揭示了严格评分规则与机器学习中常见损失函数(如交叉熵、均方误差)的内在联系,说明了这些损失函数在促使模型学习真实概率分布方面的理论依据。

理解严格评分规则,是连接机制设计、信息理论与机器学习的一个重要桥梁。
023:从极小极大定理到校准预测

在本节课中,我们将学习如何利用博弈论中的核心工具——极小极大定理,来推导机器学习算法。具体来说,我们将探讨如何设计一个算法,使其能够做出“校准”的预测。校准预测是指,即使面对由对手(而非自然概率过程)生成的序列,预测结果也能表现得像真实的概率一样。
校准问题:天气预报员的困境
假设有一位天气预报员,他每天早晨预测当天降雨的概率。我们作为观察者,想要检验他是否真的“知道”每天的真实降雨概率(即他是一位“先知”预报员),还是只是一个不懂气象学的“骗子”。
一个简单的检验方法是“平均一致性”:检查他长期预测的平均值是否与实际降雨频率接近。然而,这个检验太容易被通过。例如,预报员可以简单地预测“今天的天气和昨天一样”(即昨天降雨则预测100%,否则预测0%)。这种策略虽然毫无气象知识,却能轻易通过平均一致性检验。
为了抓住这种“骗子”,我们需要一个更严格的检验:“预测条件平均一致性”。这个检验要求,对于预报员做出的每一个具体的预测值(例如,当他预测30%降雨概率时),在这些日子里的实际降雨频率应该接近30%。我们将预测值分到100个桶中(例如,0%,1%,…,99%),然后检查每个桶内的预测偏差。
然而,即使对于“先知”预报员,如果某个预测值(例如50%)只做出过很少几次,那么该桶内的实际频率也很难恰好是50%。因此,我们不能要求每个桶的误差都极小,而是要求所有桶的加权平均误差很小,权重即为该预测桶被使用的频率。这个度量被称为平均校准误差。
我们的目标是:设计一个预测算法,即使面对由对手任意生成的天气序列(即没有真实的概率过程),也能保证平均校准误差很小,从而通过检验,保住“工作”。
将问题形式化为零和博弈
我们将每一天的预测问题建模为一个零和博弈。
- 学习者(预报员):希望最小化校准损失的增加。其策略是选择一个预测值 ( p ),该值是 ( 1/M ) 的倍数(例如,若 ( M=100 ),则可预测 0%, 1%, …, 100%)。
- 对手(自然/上帝):希望最大化校准损失的增加。其策略是选择当天的实际结果 ( y \in {0, 1} )(0表示无雨,1表示有雨)。
在第 ( s ) 天,学习者做出预测 ( p_s ),对手选择结果 ( y_s )。我们之前推导出,当天平方校准损失的增加量 ( \Delta_s ) 满足以下上界:
[
\Delta_s(p_s, y_s) \leq 2 \cdot V_{i(s)}(s-1) \cdot (y_s - p_s) + 1
]
其中,( V_i(s-1) ) 表示在第 ( s ) 天之前,所有预测落入第 ( i ) 个桶的日子的预测偏差 ( (y_t - p_t) ) 之和。( i(s) ) 是预测 ( p_s ) 所属的桶。
因此,我们将博弈的收益(成本)函数定义为这个上界:
[
\text{Cost}(p, y) = 2 \cdot V_{i(p)} \cdot (y - p) + 1
]
学习者希望最小化这个成本,对手希望最大化它。
利用极小极大定理分析博弈值
根据极小极大定理,在零和博弈中,行动顺序不影响博弈值。因此,我们可以分析“对手先行动”的情形。
如果对手先行动,意味着在每天开始时,对手会承诺并公布当天降雨的概率 ( q_s )。然后学习者再做出预测。在这种情况下,学习者知道了真实的“概率”,他最优的策略就是预测一个最接近 ( q_s ) 的、被允许的离散值 ( p_s )。由于预测精度为 ( 1/M ),他总能保证 ( |p_s - q_s| \leq 1/(2M) )。
此时,对手选择混合策略 ( q_s ) 后,学习者的期望成本为:
[
\mathbb{E}[\text{Cost}] = 2 \cdot V_{i(p)} \cdot (q_s - p_s) + 1
]
因为 ( |q_s - p_s| \leq 1/(2M) ),且历史偏差 ( V_i ) 的绝对值不会超过总天数 ( T ),所以这个期望成本的上界大约是 ( T/M + 1 )。
极小极大定理告诉我们,在原始问题(学习者先行动)中,也存在一个学习者的混合策略(即预测算法),能够保证无论对手如何选择 ( y_s ),其期望的成本增加量也受限于 ( O(T/M) )。
推导具体的预测算法
我们不仅证明了这种算法的存在性,还可以利用博弈的均衡结构,找到一个简单、具体的算法。
回顾成本函数:( 2 V_i \cdot (y - p) + 1 )。学习者需要选择一个关于预测 ( p ) 的分布,使得无论 ( y=0 ) 还是 ( y=1 ),期望成本都较小。
考虑历史偏差 ( V_i ) 的符号:
- 所有 ( V_i \geq 0 ):说明历史预测总体偏低。此时应预测 ( p = 1 )(100%降雨)。这样 ( (y-1) \leq 0 ),正负相乘使得项 ( 2 V_i \cdot (y-1) \leq 0 ),成本上界为1。
- 所有 ( V_i \leq 0 ):说明历史预测总体偏高。此时应预测 ( p = 0 )(0%降雨)。这样 ( (y-0) \geq 0 ),成本上界也为1。
- 存在 ( V_i > 0 ) 且 ( V_j < 0 ):这是一般情况。由于预测值是离散的,必定存在两个相邻的桶 ( i ) 和 ( i+1 ),使得 ( V_i > 0 ) 且 ( V_{i+1} < 0 )。
对于情况3,设这两个桶对应的预测值为 ( p ) 和 ( p' = p + 1/M )。我们可以找到一个概率 ( q )(通过解 ( q V_i + (1-q) V_{i+1} = 0 )),使得随机化策略:“以概率 ( q ) 预测 ( p ),以概率 ( 1-q ) 预测 ( p' )” 能恰好抵消掉与 ( V ) 相关的项。计算后,该策略的期望成本上界约为 ( 2|V_{i+1}|/M + 1 \leq 2T/M + 1 )。
因此,具体算法如下:
每天,计算所有预测桶的历史偏差 ( V_i )。
- 如果所有 ( V_i \geq 0 ),则预测100%降雨。
- 如果所有 ( V_i \leq 0 ),则预测0%降雨。
- 否则,找到相邻的两桶 ( i, i+1 ) 满足 ( V_i > 0 > V_{i+1} )。计算 ( q = |V_{i+1}| / (|V_i| + |V_{i+1}|) )。然后,以概率 ( q ) 预测桶 ( i ) 的最大值 ( p ),以概率 ( 1-q ) 预测桶 ( i+1 ) 的最小值 ( p' = p + 1/M )。
这个简单的随机化算法保证了期望的平方校准损失增长缓慢,从而使得平均校准误差以 ( O(1/\sqrt{T}) ) 的速率趋于零,这与“先知”预报员所能达到的最佳速率相同。
总结与思考
本节课中,我们一起学习了如何将校准预测问题形式化为一个零和博弈,并利用极小极大定理证明了存在(并实际构造出)一个预测算法。该算法无需任何关于数据生成过程(气象学)的先验知识,即使面对完全由对手生成的序列,也能做出校准的预测,通过严格的统计检验。
这一论证的核心在于极小极大定理允许我们在分析中“交换”学习者和对手的行动顺序。在对手先行动的视角下,学习者实质上变成了“先知”,从而其性能边界就是“先知”所能达到的最佳边界。这意味着,任何“先知”预报员能通过的频率类统计检验,我们的算法也能通过。
这引发了一个深刻的思考:对于不可重复事件(如单次降雨、贷款违约、司法保释风险)的概率预测,我们究竟能通过经验数据检验出什么?本节课的结论表明,只要检验是基于长期频率或平均值,那么任何声称拥有“真实概率”的预测者所能通过的检验,也总存在一个无需任何领域知识的算法能够通过。因此,设计能够真正区分“真知”与“伪装”的检验,是一个挑战。

在下一讲(也是本课程最后一讲)中,我们将把类似的思路应用于推导另一类强大的机器学习算法——Boosting算法。
024:博弈论视角下的Boosting算法 🚀

在本节课中,我们将要学习如何利用博弈论的工具,特别是零和博弈与极小极大定理,来解决机器学习中的一个核心问题:如何将一个仅比随机猜测好一点点的“弱学习器”,组合成一个具有极高准确率的“强学习器”。我们将推导出著名的Boosting算法(如AdaBoost)背后的理论框架。
问题设定与核心概念 🎯
我们考虑一个二元分类问题。给定一个包含 N 个带标签样本的数据集 S = {(x_i, y_i)},其中 x_i 是特征向量,y_i ∈ {0, 1} 是标签。我们的目标是学习一个假设 h,它能够根据特征 x 预测标签 y。
一个假设 h 在数据集 S 上的准确率定义为它正确预测的样本比例:
准确率(h) = (1/N) * Σ_{i=1}^{N} [h(x_i) == y_i]
我们也可以考虑一个加权准确率。给定一个权重向量 w(一个在样本上的概率分布),加权准确率为:
加权准确率(h, w) = Σ_{i=1}^{N} w_i * [h(x_i) == y_i]
弱学习器与强学习器 🤔
上一节我们定义了分类问题的基本框架。本节中,我们来定义本节课的核心概念。
- 弱学习器: 一个算法
A,对于数据集S上的任何权重分布w,它都能输出一个假设h,使得该假设的加权准确率严格大于 50%(例如,至少 51%)。它只是比随机猜测(准确率50%)好“一点点”。 - 强学习器: 一个算法,能够输出一个在数据集
S上达到100%准确率的假设(即完美分类)。
一个自然的问题是:如果我们拥有一个弱学习器作为“黑盒”子程序,能否通过某种方式高效地将其提升为一个强学习器?直觉上,强学习似乎难得多。但我们将证明,在计算复杂度意义上,弱学习与强学习是等价的。
构建零和博弈 🎲
为了证明上述等价性,我们将构造一个两人零和博弈。这是本节课的关键步骤。
- 最小化玩家(数据玩家): 其纯策略是选择一个数据点
(x_i, y_i)。混合策略是一个在数据点上的权重分布w。 - 最大化玩家(学习玩家): 其纯策略是选择一个假设
h(来自弱学习器的假设空间H)。混合策略是一个在假设上的分布P。 - 收益函数(对学习玩家而言): 当数据玩家选择点
i,学习玩家选择假设h时,收益为[h(x_i) == y_i](预测正确为1,错误为0)。因此,学习玩家的期望收益就是他选择的假设在数据玩家权重分布下的加权准确率。数据玩家则希望最小化这个收益。
这个博弈的直观解释是:学习玩家试图找到一个对所有数据点都表现良好的假设,而数据玩家则试图找到一个难以预测的数据点来“刁难”学习玩家。
应用极小极大定理 🔄
上一节我们定义了一个博弈。本节中,我们利用博弈论的核心定理——极小极大定理——来分析它。
根据极小极大定理,对于零和博弈,以下两个值是相等的:
V = min_w max_h 加权准确率(h, w) = max_P min_i 期望准确率(P, i)
其中 期望准确率(P, i) = Σ_{h} P(h) * [h(x_i) == y_i],即对于数据点 i,在假设分布 P 下的平均预测正确率。
现在,考虑弱学习器的定义。它保证对于任何权重 w,都存在一个假设 h 使得 加权准确率(h, w) > 0.5。这意味着博弈的值 V > 0.5。
根据极小极大定理的等价形式,存在一个假设分布 P*(学习玩家的最优混合策略),使得对于每一个数据点 i,都有:
期望准确率(P*, i) = Σ_{h} P*(h) * [h(x_i) == y_i] > 0.5
也就是说,存在一个固定的假设集合(按 P* 加权),对于数据集中每一个样本,超过半数的假设都能预测正确。
构造强分类器:加权多数投票 🗳️
我们得到了一个关键的分布 P*。本节中,我们看看如何利用它来构建一个强分类器。
我们利用分布 P* 构建一个加权多数投票分类器。对于一个新的输入 x:
- 计算在分布
P*下,所有预测标签为1的假设的权重和:S1 = Σ_{h} P*(h) * [h(x) == 1] - 计算预测标签为0的权重和:
S0 = 1 - S1 - 如果
S1 > 0.5,则最终预测为1;否则预测为0。
为什么这个分类器是强学习器(完美分类)?固定任意一个数据点 (x_i, y_i):
- 如果真实标签
y_i = 1,根据P*的性质,期望准确率(P*, i) > 0.5意味着S1 > 0.5。因此我们的投票分类器预测为1,正确。 - 如果真实标签
y_i = 0,则正确预测的假设是那些输出0的,它们的权重和S0 = 期望准确率(P*, i) > 0.5,因此S1 < 0.5。投票分类器预测为0,正确。
因此,该分类器在所有训练样本上都能正确分类,达到了100%的准确率。
高效算法:多项式权重与最佳响应 ⚙️
上一节我们从理论上证明了强分类器的存在性。本节中,我们给出一个高效的算法来近似计算它。
直接计算最优分布 P* 可能很困难,因为假设空间 H 可能非常大。然而,我们只需要一个近似均衡策略,使得对于每个数据点,期望准确率略高于50%(例如,50.5%)即可。
我们可以通过模拟博弈的重复进行来找到这样的近似均衡。我们采用以下动态过程:
- 数据玩家使用多项式权重算法来更新其在数据点上的权重分布
w_t。该算法只需要维护N个权重。 - 学习玩家在每一轮
t,针对数据玩家当前的混合策略w_t进行最佳响应。这正是调用弱学习器子程序:输入权重w_t和数据集,输出一个假设h_t,使得加权准确率(h_t, w_t) > 0.5。 - 数据玩家根据
h_t在各个数据点上的表现(损失向量[h_t(x_i) != y_i])来更新其多项式权重。
已知理论表明,当数据玩家使用多项式权重算法,学习玩家使用最佳响应时,经过 T = O(log N / ε²) 轮后,双方的平均策略构成一个 ε-近似均衡。这里我们只需要 ε < 0.01,因此轮数 T = O(log N)。
最终算法输出: 学习玩家的平均策略,即均匀混合这 T 轮中产生的假设 {h_1, h_2, ..., h_T}。最终的强分类器就是对这些 T 个假设进行简单多数投票(由于是均匀混合,等价于未加权的多数投票)。
算法总结与含义 📝
本节课中,我们一起学习了如何利用博弈论将弱学习器提升为强学习器。以下是完整的算法步骤:
- 初始化: 设置数据权重
w_1为均匀分布(每个样本1/N)。 - 循环: 对于
t = 1到T(T = O(log N)):- 使用当前权重
w_t调用弱学习器,得到一个假设h_t。 - 计算
h_t在每个样本上的错误指示器:loss_i = [h_t(x_i) != y_i]。 - 使用多项式权重更新规则,根据
loss向量更新权重,得到w_{t+1}。
- 使用当前权重
- 输出: 最终分类器为
H_final(x) = MajorityVote(h_1(x), h_2(x), ..., h_T(x))。
这个算法就是著名的 AdaBoost 算法框架的核心。它高效(仅调用 O(log N) 次弱学习器),并且实际效果非常好。从博弈论视角看,Boosting 本质上是在数据分布(数据玩家)和模型集合(学习玩家)之间寻找一个均衡,而多数投票分类器就是这个均衡下的稳健策略。
总结
在本节课中,我们:
- 定义了弱学习器和强学习器的概念。
- 通过构造一个零和博弈,将学习问题转化为博弈问题。
- 应用极小极大定理,证明了弱学习蕴含强学习(存在性)。
- 利用多项式权重算法和最佳响应动态,给出了一个高效的算法(AdaBoost)来实际构建强分类器。
- 最终的强分类器是多个弱假设的多数投票,其理论保证源于博弈均衡的性质。

这个精彩的例子展示了博弈论与机器学习之间深刻而富有成效的交叉,为我们设计强大的学习算法提供了坚实的理论基础和实用工具。

浙公网安备 33010602011771号