MCM520 ← 资料站首页 博弈论 · 深度手册 打开交互阅读器 →

博弈论 · 深度手册

分类:经典模型 | 难度:★★★ 高阶 | 编号:game

一、这是什么(一句话用途)

多方策略互动决策(定价 / 竞标 / 资源争夺)

二、核心思想

博弈论研究多个理性主体策略互动时的决策:你的收益不仅取决于自己的选择,还取决于对手的选择。核心概念是"纳什均衡"——在这个策略组合下,任何一方单独改变策略都不会变得更好,因而是稳定的。它广泛用于定价战、招投标、资源争夺、机制设计。建模关键是准确定义局中人、各自可选策略、以及双方策略组合下的收益(支付),再从支付矩阵中找均衡。

三、数学原理与推导

以两人策略博弈为例,行方策略 ii、列方策略 jj,支付矩阵行方收益 AijA_{ij}、列方 BijB_{ij}。

纯策略纳什均衡:策略对 (i∗,j∗)(i^*,j^*) 满足
Ai∗j∗≥Aij∗ (∀i),Bi∗j∗≥Bi′j∗ (∀j) A_{i^*j^*}\ge A_{ij^*}\ (\forall i),\qquad B_{i^*j^*}\ge B_{i'j^*}\ (\forall j)
即任一方单方面偏离都无利。

混合策略:行方以概率 pp 选上、列方以 qq 选左。令列方在两纯策略的期望收益相等解混合均衡:

p A11+(1−p)A21=p A12+(1−p)A22 ⇒ p=A22−A21(A11−A12)−(A21−A22) p\,A_{11}+(1-p)A_{21}=p\,A_{12}+(1-p)A_{22}\ \Rightarrow\ p=\frac{A_{22}-A_{21}}{(A_{11}-A_{12})-(A_{21}-A_{22})}

同理解得 qq。动态博弈用逆向归纳从末端点倒推子博弈完美均衡。

四、建模 / 求解步骤

  1. 确定局中人 / 策略 / 收益
  2. 列收益矩阵
  3. 找占优 / 纳什均衡
  4. 分析混合策略
  5. 敏感性讨论

五、关键公式速查

纳什: 任一方单变策略无利可得

六、典型示例

双寡头定价、招投标报价策略。

完整算例(数字演示,照着算一遍)

场景:两人零和支付矩阵(行方 A):

     乙左 乙右
甲上  3   -1
甲下 -2    2

混合策略:A 选上概率 p*=4/8=0.5;值 v=1。

结论:纳什均衡为双方各 0.5 随机,A 期望支付为 1。

七、Python 实现示例

import os, numpy as np
import pandas as pd
HERE = os.path.dirname(os.path.abspath(__file__))
df = pd.read_csv(os.path.join(HERE,"..","datasets","game.csv"))
A = df.drop(columns=["strategy"]).to_numpy(dtype=float)  # 行方收益(零和)
# 混合策略纳什均衡(行方)
from scipy.optimize import linprog
n=A.shape[0]
res=linprog(-np.ones(n), A_ub=-A.T, b_ub=-np.ones(A.shape[1]), bounds=[(0,None)]*n)
p=res.x/p.sum()
v=p@A@np.ones(A.shape[1])/A.shape[1]
print("行方混合策略:", np.round(p,3))
print("博弈值(行方期望)=%.3f"%v)

配套文件:py_game.py(需 numpy / pandas;与下方数据集配套练习)

八、MATLAB 实现示例

%% 博弈论(混合策略)示例(MATLAB,需 linprog)
df = readtable('..\datasets\game.csv');
A = table2array(df(:,2:end));
n=size(A,1); f=-ones(n,1); Aineq=-A'; bineq=-ones(size(A,2),1);
x=linprog(f,Aineq,bineq,[],[],zeros(n,1));
p=x/sum(x); v=p'*A*ones(size(A,2),1)/size(A,2);
disp(p'); fprintf('博弈值=%.3f\n', v);

配套文件:m_game.m(基础 MATLAB / Octave 即可运行)

九、练手数据集(可下载)

3×3 零和博弈收益矩阵(行方视角)。用于求混合策略纳什均衡与博弈值。

  • 字段:strategy, C1, C2, C3
  • 行数:3 行
  • 下载:game.csv

十、常见误区与避坑清单

  • 均衡可能多个 / 无纯策略
  • 收益要客观
  • 动态博弈用逆向归纳

十一、结果怎么解读

均衡即稳定策略组合。

十二、常与谁搭配

与优化结合做机制设计。

十三、论文写作技巧(怎么把它写进论文)

把 博弈论 写进论文,核心不是堆公式,而是讲清「为什么用它、结果怎么呈现、如何对比」三件事。

1. 动机怎么写(为什么用它而不是别的)

这类是数学建模的「经典武器」。写作时先建实际问题的数学抽象(状态、转移、随机性),再引入 博弈论 作为求解 / 仿真工具,强调它比纯解析更贴近现实不确定性。

2. 结果怎么写(图表与指标)

结果可用仿真曲线、状态转移图、收敛 / 稳定分布图呈现;蒙特卡洛给直方图与置信区间,马尔可夫给转移矩阵与稳态分布。

3. 可直接套用的写作话术

  • 中文模板:针对<问题>,本文采用 博弈论 进行多方策略互动决策(定价 / 竞标 / 资源争夺)。该方法能够自动刻画<优势>,在处理<场景>时相较<对比方法>更具<特点>。
  • 英文模板:To address , we adopt 博弈论 to 多方策略互动决策(定价 / 竞标 / 资源争夺). Benefiting from its ability to , it outperforms on .

4. 同类易踩的写作坑

说明随机种子的可复现性;区分「均值结果」与「单次实现」,论文应报统计平均而非偶发轨迹。

5. 典型论文段落范例(可直接参考 / 改写)

下面是一段可直接套用的论文表述,已按本算法定制,填空处(…)替换成你的真实数值即可。

为刻画异质网络上的传染病扩散,本文采用 博弈论 进行 10,000 次蒙特卡洛仿真,估计基本再生数 R0 的 95% 置信区间为 [2.1, 2.6],较确定性 ODE 更接近真实不确定性。

To capture epidemic spread over heterogeneous networks, we use 博弈论 with 10,000 Monte-Carlo runs, estimating the 95% CI of R0 as [2.1, 2.6], which is closer to the true uncertainty than a deterministic ODE.

十四、相关手册(延伸阅读)

(暂无直接关联手册,可前往手册库浏览其它算法)

十五、本手册导航


本手册由「算法深度手册生成器」自动产出,配套提供 Python / MATLAB 双版本示例与可下载练手数据集。