本文只整理和总结一下我的理解,文末列出了可供参考的更详细完整的资料。建议先看参考资料[1](博弈论公开课)的博弈论课程,可以直接从第11讲开始看。参考链接[2]是关于演化博弈非常经典的一本书。参考链接[5]涵盖内容比较完整,关于演化博弈的各个方面都涉及到了。

概念

  本文统一采用参考链接[2]的符号表示。
  E(A,B)E(A,B)E(A,B)表示对手采用BBB策略而自己采用AAA的收益,简写作AAA对BBB的收益。
  NE表示纳什均衡,ES表示演化稳定。

收益矩阵

(下面表格来自参考文献[6])

CCC DDD
CCC rrr sss
DDD ttt ppp
Cooperation Defection
Cooperation Reward Sucker
Defection Temptation Punishment

  其中r=E(C,C)r=E(C,C)r=E(C,C)表示双方均采用C(合作)策略的收益,p=E(D,D)p=E(D,D)p=E(D,D)表示双方均采用D(背叛)策略的收益,s=E(C,D)s=E(C,D)s=E(C,D)表示对方采用D策略而己方采用C策略的收益,t=E(D,C)t=E(D,C)t=E(D,C)表示对方采用C策略而己方采用D策略的收益。收益矩阵还有一种表示法(参考链接[1][5]使用该表示法)

CCC DDD
CCC r,rr,rr,r s,ts,ts,t
DDD t,st,st,s p,pp,pp,p

演化稳定

  (上面表格来自参考文献[6])下面两个定义出自参考链接[1]。
定义1(来自Maynard Smith的生物学定义)
  在一个双参与人的对称博弈中,策略S^\hat{S}S^是演化稳定策略当且仅当存在一个ϵˉ>0\bar{\epsilon}>0ϵˉ>0,
(1−ϵ)E(S^,S^)+ϵE(S^,S′)>(1−ϵ)E(S′,S^)+ϵE(S′,S′)(1-\epsilon)E(\hat{S},\hat{S})+\epsilon E(\hat{S},S')> (1-\epsilon)E(S',\hat{S})+\epsilon E(S',S') (1−ϵ)E(S^,S^)+ϵE(S^,S′)>(1−ϵ)E(S′,S^)+ϵE(S′,S′)
对于任意偏离S^\hat{S}S^的策略S′S'S′都成立,且对任意ϵ<ϵˉ\epsilon<\bar{\epsilon}ϵ<ϵˉ都成立。
上面式子的意思是,1−ϵ1-\epsilon1−ϵ的概率下对S^\hat{S}S^策略采用S^\hat{S}S^策略加上ϵ\epsilonϵ的概率下对S′S'S′策略采用S^\hat{S}S^的收益严格大于。。。的收益。
定义2(经济学定义)
  (上面表格来自参考文献[6])在一个双参与人的对称博弈中,策略S^\hat{S}S^是演化稳定策略需满足下面两个条件:
条件1:(S′,S′)(S',S')(S′,S′)是(对称)纳什均衡,即E(S^,S^)≥E(S′,S^)E(\hat{S},\hat{S})\geq E(S',\hat{S})E(S^,S^)≥E(S′,S^);
条件2:如果E(S^,S^)=E(S′,S^)E(\hat{S},\hat{S})=E(S',\hat{S})E(S^,S^)=E(S′,S^),那么E(S^,S′)>E(S′,S′)E(\hat{S},S')>E(S',S')E(S^,S′)>E(S′,S′)。
两个定义的关系
  (上面表格来自参考文献[6])参考链接[1]表示两个定义完全等价,定义1较为严谨,定义2更方便使用。

其它

对称博弈
  直观理解就是收益跟玩家无关,即收益矩阵

CCC DDD
CCC r1,r2r_1,r_2r1​,r2​ s1,t1s_1,t_1s1​,t1​
DDD t2,s2t_2,s_2t2​,s2​ p1,p2p_1,p_2p1​,p2​

中,下标不同的收益不同。
(参考链接[1]公开课中第11集的1:05:30处老师犯了个错误,弹幕里提到了对称博弈我觉得也不对,不知道哪有问题)一个应该是非对称博弈的例子 为啥散户炒股票总赔钱? -bilibili 应该是零和博弈。

Bishop定理
该定理的进一步解释见参考链接[2]《演化与博弈论》。
如果S^\hat{S}S^是一个由纯策略A,B,C,⋯A,B,C,\cdotsA,B,C,⋯组成的混合演化稳定策略,那么
E(A,S^)=E(B,S^)=E(C,S^)=⋯=E(S^,S^)E(A,\hat{S})=E(B,\hat{S})=E(C,\hat{S})=\cdots=E(\hat{S},\hat{S}) E(A,S^)=E(B,S^)=E(C,S^)=⋯=E(S^,S^)

懦夫博弈与混合策略

  关于懦夫博弈更详细的说明见 懦夫博弈 -百度百科。
  下面收益矩阵中的具体取值出自参考链接[1]。

A B
A 0 2
B 1 0

其中AAA策略表示强势,BBB策略表示弱势,E(A,A)=0,E(A,B)=2,E(B,A)=1,E(B,B)=0E(A,A)=0,E(A,B)=2,E(B,A)=1,E(B,B)=0E(A,A)=0,E(A,B)=2,E(B,A)=1,E(B,B)=0。根据定义2可得出,两个策略均不是演化稳定策略。演化稳定策略是一个混合策略,用S^\hat{S}S^表示,S^=23A+13B\hat{S}=\frac{2}{3}A+\frac{1}{3}BS^=32​A+31​B。设突变策略S′=kA+(1−k)BS'=kA+(1-k)BS′=kA+(1−k)B,列出收益矩阵计算收益(以E(S′,S^)E(S',\hat{S})E(S′,S^)为例)

23A\frac{2}{3}A32​A 13B\frac{1}{3}B31​B
kAkAkA 0 2
(1−k)B(1-k)B(1−k)B 1 0

可计算出
E(S^,S^)=2⋅23⋅13+1⋅13⋅23=23E(S′,S^)=2⋅k⋅13+1⋅(1−k)⋅23=23E(S^,S′)=2⋅23⋅(1−k)+1⋅13⋅k=43−kE(S′,S′)=2⋅k⋅(1−k)+1⋅(1−k)⋅k=3k(1−k)\begin{aligned} &E(\hat{S},\hat{S})=2\cdot\frac{2}{3}\cdot\frac{1}{3} +1\cdot\frac{1}{3}\cdot\frac{2}{3}=\frac{2}{3} \\ &E(S',\hat{S})=2\cdot k\cdot\frac{1}{3} +1\cdot(1-k)\cdot\frac{2}{3}=\frac{2}{3} \\ &E(\hat{S},S')=2\cdot\frac{2}{3}\cdot(1-k) +1\cdot\frac{1}{3}\cdot k=\frac{4}{3}-k \\ &E(S',S')=2\cdot k\cdot(1-k) +1\cdot(1-k)\cdot k=3k(1-k) \\ \end{aligned}​E(S^,S^)=2⋅32​⋅31​+1⋅31​⋅32​=32​E(S′,S^)=2⋅k⋅31​+1⋅(1−k)⋅32​=32​E(S^,S′)=2⋅32​⋅(1−k)+1⋅31​⋅k=34​−kE(S′,S′)=2⋅k⋅(1−k)+1⋅(1−k)⋅k=3k(1−k)​
最后得到两个策略S^\hat{S}S^和S′S'S′的收益矩阵为

S^\hat{S}S^ S′S'S′
S^\hat{S}S^ 23\frac{2}{3}32​ 43−k\frac{4}{3}-k34​−k
S′S'S′ 23\frac{2}{3}32​ 3k(1−k)3k(1-k)3k(1−k)

由演化稳定定义2,E(S^,S^)=E(S′,S^)E(\hat{S},\hat{S})=E(S',\hat{S})E(S^,S^)=E(S′,S^),但可以计算出,E(S^,S′)>E(S′,S′)E(\hat{S},S')>E(S',S')E(S^,S′)>E(S′,S′),所以E(S^E(\hat{S}E(S^是演化稳定策略。
  最后,由Bishop定理可求出(验证)演化稳定策略S^\hat{S}S^中的kkk值:
E(A,S^)=2(1−k)E(B,S^)=k2(1−k)=k,k=23\begin{aligned} &E(A,\hat{S})=2(1-k) \\ &E(B,\hat{S})=k \\ &2(1-k)=k,k=\frac{2}{3} \end{aligned}​E(A,S^)=2(1−k)E(B,S^)=k2(1−k)=k,k=32​​

鹰鸽博弈

  假设同一物种的两个竞争对手在某个价值为GGG的资源位置相遇,有两个纯策略:

  1. 鹰策略:你总是升级冲突,直到对方退出,或者你受到严重伤害。
  2. 鸽策略:你保持姿态直到对方退出,但如果对方升级冲突或看起来太强,你就退出。

(此处更详细的说明见 鹰派与鸽派的博弈 -豆瓣)
  收益矩阵

H D
H V−C2\frac{V-C}{2}2V−C​ V
D 0 V2\frac{V}{2}2V​

其中需要满足 V<CV<CV<C,否则纯策略HHH就是ESS。使用同样的方法计算ESS,设S^=kH+(1−k)D\hat{S}=kH+(1-k)DS^=kH+(1−k)D,
E(H,S^)=V−C2k+(1−k)VE(D,S^)=(1−k)V2\begin{aligned} E(H,\hat{S}) =& \frac{V-C}{2}k+(1-k)V \\ E(D,\hat{S}) =& (1-k)\frac{V}{2} \\ \end{aligned}E(H,S^)=E(D,S^)=​2V−C​k+(1−k)V(1−k)2V​​
令 E(H,S^)=E(D,S^)E(H,\hat{S})=E(D,\hat{S})E(H,S^)=E(D,S^),可解得 k=VCk=\frac{V}{C}k=CV​,代入得
E(H,S^)=E(D,S^)=V(C−V)2CE(S^,S^)=k2V−C2+k(1−k)V+(1−k)2V2=V(C−V)2CE(H,\hat{S})=E(D,\hat{S})=\frac{V(C-V)}{2C} \\ E(\hat{S},\hat{S})=k^2\frac{V-C}{2}+k(1-k)V+(1-k)^2\frac{V}{2} =\frac{V(C-V)}{2C} \\ E(H,S^)=E(D,S^)=2CV(C−V)​E(S^,S^)=k22V−C​+k(1−k)V+(1−k)22V​=2CV(C−V)​

复制动态方程

关于复制动态方程的进一步解释见参考链接[5]。[2]中的解释不太清晰,虽然用的是[2]中的符号表示。
定义两个策略的适应度WHW_HWH​和WDW_DWD​和种群的平均适应度Wˉ\bar{W}Wˉ分别为
WH=W0+pE(H,H)+(1−p)E(H,D)WD=W0+pE(D,H)+(1−p)E(D,D)Wˉ=pWH+(1−p)WDW_H=W_0+pE(H,H)+(1-p)E(H,D) \\ W_D=W_0+pE(D,H)+(1-p)E(D,D) \\ \bar{W}=pW_H+(1-p)W_D \\ WH​=W0​+pE(H,H)+(1−p)E(H,D)WD​=W0​+pE(D,H)+(1−p)E(D,D)Wˉ=pWH​+(1−p)WD​
其中W0W_0W0​代表个体在博弈之前的基础适应度(?)。可以看出pE(H,H)+(1−p)E(H,D)=E(H,S)pE(H,H)+(1-p)E(H,D)=E(H,S)pE(H,H)+(1−p)E(H,D)=E(H,S),其中S=pH+(1−p)DS=pH+(1-p)DS=pH+(1−p)D是混合策略(不知道E(H,S)E(H,S)E(H,S)和WHW_HWH​之间有什么关系)。下一代中采取HHH策略的比例为
pn+1=pnWHWˉp_{n+1}=p_n\frac{W_H}{\bar{W}} pn+1​=pn​WˉWH​​
若定义q=(1−p)q=(1-p)q=(1−p),且
qn+1=qnWDWˉq_{n+1}=q_n\frac{W_D}{\bar{W}} qn+1​=qn​WˉWD​​
可验证
pn+1+qn+1=pnWH+qnWDWˉ=1p_{n+1}+q_{n+1}=\frac{p_nW_H+q_nW_D}{\bar{W}}=1pn+1​+qn+1​=Wˉpn​WH​+qn​WD​​=1
由递推关系推导出复制动态方程
dpdt=pn+1−pn=pWH−WˉWˉ=pWH−(pWH+(1−p)WD)pWH+(1−p)WD=p(1−p)(WH−WD)WH−(1−p)(WH−WD)\begin{aligned} \frac{\text{d}p}{\text{d}t} =& p_{n+1}-p_n = p\frac{W_H-\bar{W}}{\bar{W}} \\ =& p\frac{W_H-(pW_H+(1-p)W_D)}{pW_H+(1-p)W_D} \\ =& \frac{p(1-p)(W_H-W_D)}{W_H-(1-p)(W_H-W_D)} \\ \end{aligned}dtdp​===​pn+1​−pn​=pWˉWH​−Wˉ​ppWH​+(1−p)WD​WH​−(pWH​+(1−p)WD​)​WH​−(1−p)(WH​−WD​)p(1−p)(WH​−WD​)​​
这里不知道推导过程哪里有问题,正确的复制动态方程应该是
dpdt=p(WH−Wˉ)\frac{\text{d}p}{\text{d}t} = p(W_H-\bar{W}) dtdp​=p(WH​−Wˉ)

仿真

取W0=0W_0=0W0​=0,C=6C=6C=6,V=3V=3V=3,仿真结果如图所示。

另外仿真可得W0W_0W0​对结果几乎没有影响,复制动态方程中的分母Wˉ\bar{W}Wˉ只影响曲线收敛的速度。

参考

  1. 【公开课】耶鲁大学:博弈论(中英双语字幕)-bilibili
  2. 约翰·梅纳德·史密斯(John Maynard Smith).《演化与博弈论》(Evolution and the Theory of Games)
  3. 鹰派与鸽派的博弈 -豆瓣
  4. https://www.cs.rug.nl/~michael/teaching/gametheorysheets.pdf
  5. Evolutionary Game Theory -Stanford Encyclopedia of Philosophy
  6. 李巧宇.基于演化博弈理论的自组织任务分配动力学研究[D].南开大学.2019.
  7. 懦夫博弈 -百度百科
  8. https://www.cs.cmu.edu/~sandholm/cs15-892F13/algorithmic-game-theory.pdf

附代码

import matplotlib.pyplot as plt
import numpy as np
V = 3
C = 6
W0 = 0
EHH = (V-C)/2.0
EHD = V
EDH = 0
EDD = V/2.0
p = 1e-3
pvec = []
WBarvec = []
for n in range(100):wH = W0 + p*EHH + (1-p)*EHDwD = W0 + p*EDH + (1-p)*EDDWBar = p*wH + (1-p)*wDp += 0.1 * p*(wH - WBar)pvec.append(p)WBarvec.append(WBar)
plt.plot(pvec)
plt.plot(WBarvec)
plt.legend(['p', 'wBar'])
plt.show()

演化博弈、复制动态方程与仿真相关推荐

  1. 三方演化博弈复制动态方程matlab仿真——matlab2016a版本

    三方演化博弈--matlab2016a版本 1.输入常微分方程组 %dx/dt=x(1-x)(0.2-yz) %dy/dt=y(1-y)(0.2-xz) %dz/dt=z(1-z)(0.2-xy),其 ...

  2. 双方博弈复制动态方程(y-z,z=0.3,z=0.5,z=0.7)与matlab数值仿真——matlab2016a版本

    双方博弈复制动态方程(y-z,z=0.3,z=0.5,z=0.7)与matlab数值仿真--matlab2016a版本 注明:源于对<基于演化博弈的装配式建筑应用研究>-金倩-4.4.1. ...

  3. [论文复现]演化博弈方法用于多智能体系统最优资源分配

    原文 演化博弈方法用于多智能体系统最优资源分配 -CSDN博客 https://ieeexplore.ieee.org/document/8243778/ 问题描述   有2种资源分配给6个个体,2种 ...

  4. 演化博弈的Python实现:基础篇1 基于复制动态的演化博弈

    写在前面 创作目的? 将自己求学期间所学所知进行总结:也希望阅读的同学有所收获. 如果对内容有疑惑.发现有错误? 希望在评论区提出,我会及时回复. 希望引用? 若不以盈利为目的,尽情引用:否则请注明出 ...

  5. 三方演化博弈仿真代码(MATLAB2018b)

    自己写的,如有不对敬请指正 以下的代码是用于某一参数改变时,三方主体演化博弈的仿真图,我不会使用for循环,所以是手动调整的参数的改变,但是比较容易理解和出图 简单来说,下列代码MATLAB运行的界面 ...

  6. 演化博弈的Python实现:基础篇2 基于复杂网络的演化博弈

    写在前面 创作目的? 将自己求学期间所学所知进行总结:也希望阅读的同学有所收获. 如果对内容有疑惑.发现有错误? 希望在评论区提出,我会及时回复. 希望引用? 若不以盈利为目的,尽情引用:否则请注明出 ...

  7. python演化博弈仿真_演化博弈应用:例子与思路

    演化博弈应用:例子与思路 Game theory is the study of mathematical models of strategic interaction between ration ...

  8. 演化博弈理论与应用研究综述[转]

    原文地址:http://blog.sina.com.cn/s/blog_49d15689010009oq.html 演化博弈理论与应用研究综述 王文宾,达庆利,陈伟达 (东南大学经济管理学院,南京,2 ...

  9. 演化博弈的Python实现:基础篇3 基于双层网络的演化博弈

    写在前面 创作目的? 将自己求学期间所学所知进行总结:也希望阅读的同学有所收获. 如果对内容有疑惑.发现有错误? 希望在评论区提出,我会及时回复. 希望引用? 若不以盈利为目的,尽情引用:否则请注明出 ...

最新文章

  1. [macOS]一些基础控件
  2. Java设计模式(三) -- 代理模式
  3. C#.NET常见问题(FAQ)-命名空间namespace如何理解
  4. PHP空指针,PHP 5.3.7之前版本空指针引用拒绝服务漏洞
  5. umask详解、cwd简介
  6. 非平坦结构元matlab,基于MATLAB的巴特沃思型数字滤波器设计.doc
  7. Java之杨辉三角的实现
  8. js获取当前日期星期几
  9. 互联网日报 | 滴滴在上海开放自动驾驶服务;腾讯游戏年度发布会线上举行;微软宣布将永久关闭实体店...
  10. mysql编号用什么类型_mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件...
  11. 微服务架构 性能提升_如何通过无服务器架构提高性能
  12. matlab 三维绘图 抛光,瓷砖抛光过程建模与仿真
  13. u盘读写测试_aigo U395固态U盘评测,速度可能会吓到你,价格很良心
  14. 基于php网络小说,五部小说点击破亿,盘点网络文学白金作家我吃西红柿!
  15. wwwscan网站目录文件批量扫描工具
  16. 【项目管理】三点估算
  17. FFmpeg常用指令记录sdp中提取sps/pps信息sps/pps(STAP-A解析)
  18. python教程,python小甲鱼
  19. 【成都站报名】美团点评、蚂蚁金服、腾讯专家共论前端热点技术
  20. 10 Three.js使用orbit controls插件(轨道控制)来控制模型交互动作

热门文章

  1. localhost可以访问,使用ip地址失败
  2. moviepy音视频开发:音频合成类AudioArrayClip介绍
  3. ksql kafka
  4. 刚刚开始学AT89S52单片机遇到的一些小问题 + 个人解决办法
  5. 软件项目规划大纲知识点
  6. Module containing this breakpoint has not yet loaded or the breakpoint adress could not be obtained.
  7. 小程序文档整理之 -- API(媒体)
  8. Grounded Language-Image Pre-training
  9. js设计模式--代理模式
  10. 人工智能革命:从ANI到AGI的道路