第 一部分 标准式博弈
第 1章 初探博弈论 2
1.1 博弈论的概念 2
1.2 历史背景与发展脉络 3
1.3 博弈的类型 3
1.3.1 非合作博弈与合作博弈 4
1.3.2 标准式博弈与扩展式博弈 4
1.3.3 完全信息博弈与不完全信息博弈,完美信息博弈与不完美信息博弈 4
1.3.4 零和博弈与非零和博弈 4
1.4 博弈论的核心假设 5
1.5 博弈模型的要素 5
1.6 小结 6
第 2章 标准式博弈基础 7
2.1 场景引入:电影博弈 7
2.2 标准式博弈的定义 7
2.3 常见的标准式博弈 8
2.4 标准式博弈的代码实现 9
2.5 小结 9
2.6 延伸阅读与思考 10
第3章 标准式博弈中的策略 11
3.1 场景引入:“剪刀-石头-布”博弈 11
3.2 策略的形式化定义 12
3.2.1 纯策略与混合策略 12
3.2.2 期望收益的计算 12
3.3 策略的代码实现 13
3.3.1 表示与计算“剪刀-石头-布”博弈的收益 13
3.3.2 纯策略与混合策略示例 14
3.4 占优策略与占优策略均衡 15
3.4.1 囚徒困境中的占优策略 15
3.4.2 代码实现:识别囚徒困境的占优策略 16
3.5 小结 17
第4章 纳什均衡 18
4.1 场景引入:从“匹配硬币”到“最佳应对” 18
4.2 纳什均衡的定义 19
4.2.1 最佳应对 19
4.2.2 纳什均衡 19
4.3 求解纳什均衡的代码实现 20
4.4 纳什均衡的存在性、多重性、最优性与社会福利 22
4.5 小结 22
4.6 延伸阅读与思考 23
第5章 支撑枚举法求解纳什均衡 24
5.1 场景引入:协调游戏中的多重均衡 24
5.2 支撑的最佳混合策略应对 26
5.3 混合策略的纳什均衡条件 28
5.4 支撑枚举法 30
5.5 支撑枚举法求解二人标准式博弈实例 31
5.6 小结 32
第6章 虚拟对弈求解纳什均衡 33
6.1 场景引入:重复“猜拳”的策略调整 33
6.2 虚拟对弈 34
6.2.1 虚拟对弈的代码实现 34
6.2.2 虚拟对弈的收敛性 38
6.3 随机虚拟对弈 38
6.3.1 随机虚拟对弈的代码实现 38
6.3.2 随机虚拟对弈的性质 42
6.4 小结 42
第二部分 扩展式博弈
第7章 扩展式博弈基础 44
7.1 场景引入:离散版的最后通牒博弈 44
7.2 扩展式博弈的定义 45
7.3 博弈树与信息集合:离散版的最后通牒博弈的表示 46
7.4 扩展式博弈中的策略与纯策略纳什均衡 46
7.4.1 策略的形式 47
7.4.2 求解与均衡 47
7.4.3 代码实现 47
7.5 扩展式博弈与标准式博弈的比较 51
7.6 小结 51
7.7 延伸阅读与思考 52
第8章 子博弈精炼纳什均衡 53
8.1 场景引入:动态竞价 53
8.2 子博弈精炼纳什均衡 54
8.2.1 子博弈的定义 54
8.2.2 子博弈精炼纳什均衡的定义 54
8.3 逆向归纳法求解:从后向前看 55
8.3.1 示例:二人扩展式博弈 55
8.3.2 多子博弈场景下的递归思路 56
8.4 逆向归纳法的代码实现 56
8.5 子博弈精炼纳什均衡与纳什均衡的关系及其合理性与局限性 62
8.5.1 子博弈精炼纳什均衡与纳什均衡的关系 63
8.5.2 合理性与“不合理行为” 63
8.5.3 多重性与唯一性 63
8.6 小结 63
第9章 扩展式虚拟自对弈 65
9.1 场景引入:大规模扩展式博弈 65
9.2 广义弱化虚拟对弈:从标准式到扩展式 65
9.2.1 广义弱化虚拟对弈的概念 66
9.2.2 行为策略与混合策略的等价性 66
9.3 全宽度扩展式虚拟自对弈 66
9.4 扩展式虚拟自对弈的代码实现 67
9.5 小结 78
第 10章 遗憾最小化 80
10.1 场景引入:广告投放 80
10.2 遗憾与无遗憾学习 81
10.3 反事实遗憾最小化 82
10.4 Kuhn扑克中反事实遗憾最小化的代码实现 83
10.4.1 Kuhn扑克博弈树定义 84
10.4.2 反事实遗憾最小化算法实现 86
10.4.3 主函数:训练并输出平均策略与博弈值 89
10.5 小结 90
第 11章 重复博弈 92
11.1 场景引入:重复的囚徒困境 92
11.2 有限与无限重复博弈 93
11.2.1 有限重复博弈 93
11.2.2 无限重复博弈 93
11.3 重复博弈的代码实现 94
11.3.1 有限重复囚徒困境模拟 94
11.3.2 Tit-for-Tat 策略与无限重复模拟 96
11.4 小结 99
11.5 延伸阅读与思考 100
第三部分 合作博弈
第 12章 合作博弈 102
12.1 场景引入:牛排定价博弈 102
12.2 合作博弈的定义 103
12.3 合作博弈的代码实现 103
12.4 小结 105
12.5 延伸阅读与思考 106
第 13章 特征函数 107
13.1 场景引入:农业合作社 107
13.2 特征函数的定义 107
13.3 特征函数的分类 108
13.3.1 单调博弈 109
13.3.2 超可加博弈 110
13.3.3 凸博弈 111
13.3.4 简单博弈 112
13.4 小结 112
第 14章 核与核仁 113
14.1 场景引入:购买冰淇淋 113
14.2 收益分配的原则 114
14.2.1 收益分配与有效性、个体理性 114
14.2.2 核 114
14.2.3 核的存在性 115
14.3 核仁 115
14.3.1 超额值 115
14.3.2 核仁的正式定义 116
14.4 核与核仁求解的代码实现 116
14.4.1 核的数值求解示例 116
14.4.2 核仁的数值求解思路 118
14.5 小结 119
14.6 延伸阅读与思考 120
第 15章 夏普利值 121
15.1 场景引入:满减优惠活动 121
15.2 夏普利值的定义 121
15.2.1 夏普利值 122
15.2.2 夏普利值的性质 122
15.3 夏普利值计算的代码实现 123
15.4 夏普利值与可解释机器学习 125
15.5 小结 132
第四部分 马尔可夫决策过程与随机博弈
第 16章 马尔可夫决策过程 134
16.1 场景引入:自动驾驶 134
16.2 马尔可夫决策过程的定义 134
16.3 最大化累计奖励 135
16.4 贝尔曼等式 136
16.5 求解马尔可夫决策过程的动态规划算法 136
16.5.1 值迭代 136
16.5.2 策略迭代 138
16.6 强化学习与无模型学习 140
16.6.1 值学习 140
16.6.2 策略梯度 141
16.7 小结 142
第 17章 随机博弈 143
17.1 场景引入:Goofspiel游戏 143
17.2 随机博弈的定义 144
17.3 马尔可夫假设与非平稳性问题 145
17.4 部分可观测假设 145
17.5 随机博弈的解概念 146
17.6 小结 147
第 18章 求解随机博弈 148
18.1 场景引入:双人网格化足球游戏 148
18.2 值迭代 151
18.3 策略迭代 153
18.4 强化学习 156
18.5 小结 158
第 19章 最佳应对学习 160
19.1 场景引入:合作与对抗中的策略选择 160
19.2 虚拟对弈 160
19.3 双时间尺度迭代 163
19.4 小结 166
第 20章 联合动作学习 167
20.1 场景引入:团队合作中的策略学习 167
20.2 虚拟对弈与值函数估计 168
20.3 虚拟对弈和混合策略 170
20.4 混合策略JAL算法 172
20.5 小结 173
第 21章 理性和收敛性 175
21.1 场景引入:机器人协作问题 175
21.2 理性和收敛性 176
21.3 与纳什均衡的关系 176
21.4 PHC算法 177
21.5 WoLF原则与WoLF-PHC算法 182
21.6 小结 186
第五部分 多智能体协作
第 22章 深度强化学习基础 188
22.1 深度值函数网络算法 188
22.1.1 值估计非平稳性问题 189
22.1.2 连续经验相关性问题 190
22.1.3 求解CartPole问题 192
22.1.4 过估计问题 193
22.2 深度策略梯度算法 195
22.2.1 更丰富的策略表达形式 195
22.2.2 可扩展至连续动作空间 196
22.2.3 策略梯度理论 197
22.2.4 实现策略梯度算法 198
22.3 演员-评论家算法 202
22.3.1 优势演员-评论家算法 204
22.3.2 近端策略优化算法 207
22.4 小结 209
第 23章 多智能体深度强化学习 210
23.1 场景引入:自动驾驶车辆交互 210
23.2 多智能体深度强化学习的核心挑战 211
23.3 多智能体深度强化学习的训练范式 212
23.4 小结 214
第 24章 独立学习 215
24.1 场景引入:交通信号灯控制系统 215
24.2 独立值学习 215
24.3 独立策略梯度算法 217
24.4 小结 218
第 25章 多智能体值函数学习 220
25.1 场景引入:资源收集+协作障碍任务 220
25.2 值函数分解 221
25.2.1 个体全局最大性质 222
25.2.2 线性值函数分解 223
25.2.3 单调值函数分解 223
25.3 小结 228
第 26章 多智能体近端策略优化 230
26.1 场景引入:团队对抗任务 230
26.2 Dec-POMDP 231
26.3 MAPPO的核心思想 231
26.4 MAPPO应用 233
26.4.1 缓解非平稳性问题 233
26.4.2 实现MAPPO 233
26.4.3 MAPPO的代码示例 235
26.5 小结 247
第 27章 多智能体序列学习 248
27.1 场景引入:合作任务中的多智能体学习 248
27.2 顺序更新模式的理论基础 248
27.2.1 优势函数分解与顺序更新 249
27.2.2 优势函数分解引理 249
27.2.3 策略单调提升界 250
27.3 A2OP算法 251
27.3.1 A2PO算法的单智能体策略单调提升界 252
27.3.2 A2PO算法的联合策略单调提升界 253
27.4 代码实现 254
27.5 MAT算法 259
27.6 小结 268
第 28章 蒙特卡洛树搜索和群体学习 269
28.1 蒙特卡洛树搜索 270
28.1.1 自博弈训练MCTS 271
28.1.2 Tic-tac-Toe 276
28.1.3 AlphaZero 279
28.2 群体学习 280
28.2.1 PSRO算法 280
28.2.2 经验博弈理论分析 281
28.2.3 元博弈及其求解 281
28.2.4 策略集合扩展 284
28.2.5 PSRO算法收敛性 285
28.3 小结 286