演化博弈、复制动态方程与仿真

  • Post author:
  • Post category:其他



摘要

演化博弈的通俗理解、相关推导和复制动态方程的引入过程,和鹰鸽博弈的仿真。



概念

  • 本文统一采用参考链接[2]的符号表示。



  • E

    (

    A

    ,

    B

    )

    E(A,B)






    E


    (


    A


    ,




    B


    )





    表示对手采用



    B

    B






    B





    策略而自己采用



    A

    A






    A





    的收益,简写作



    A

    A






    A









    B

    B






    B





    的收益。

  • NE表示纳什均衡,ES表示演化稳定。

演化博弈的通俗理解是,有个包含无穷数量个体的群体,有一些策略可以供每个个体选择,例如策略A和策略B。每个个体一开始不知道如何选择策略(即有限理性),所以随机选择策略并与其它个体博弈,失败的个体被淘汰,获胜的个体选择的策略被称作优势策略并得到保留。个体之间重复进行博弈,优势策略的占比越来越高,直到所有个体都选择了优势策略。

一般来说优势策略都是混合策略,也就是以多大的概率选择A策略和以多大的概率选择B策略,完全选A或选B都是相对劣势的策略。多次博弈后选择两个策略的概率会逐渐保持不变,这时就称作达到了演化稳定状态。

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



收益矩阵

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




C

C






C







D

D






D







C

C






C







r

r






r







s

s






s







D

D






D







t

t






t







p

p






p




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策略的收益。收益矩阵还有一种表示法,这种表示法可能更常见一点:




C

C






C







D

D






D







C

C






C







r

,

r

r,r






r


,




r







s

,

t

s,t






s


,




t







D

D






D







t

,

s

t,s






t


,




s







p

,

p

p,p






p


,




p






演化稳定

下面两个定义出自参考链接[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-\epsilon






1













ϵ





的概率下对



S

^

\hat{S}













S







^











策略采用



S

^

\hat{S}













S







^











策略加上



ϵ

\epsilon






ϵ





的概率下对



S

S’







S

























策略采用



S

^

\hat{S}













S







^











的收益严格大于。。。的收益。


定义2(经济学定义)


在一个双参与人的对称博弈中,策略



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






















)








两个定义的关系


参考链接[1]表示两个定义完全等价,定义1较为严谨,定义2更方便使用。



对称博弈

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




C

C






C







D

D






D







C

C






C







r

1

,

r

2

r_1,r_2







r










1


















,





r










2























s

1

,

t

1

s_1,t_1







s










1


















,





t










1























D

D






D







t

2

,

s

2

t_2,s_2







t










2


















,





s










2























p

1

,

p

2

p_1,p_2







p










1


















,





p










2




















中,下标不同的收益不同。

(参考链接[1]公开课中第11集的

1:05:30

处老师犯了个错误,弹幕里提到了对称博弈我觉得也不对,不知道哪有问题)一个应该是非对称博弈的例子

为啥散户炒股票总赔钱? -bilibili

应该是零和博弈。



Bishop定理

该定理的进一步解释见参考链接[2]《演化与博弈论》。

如果



S

^

\hat{S}













S







^











是一个由纯策略



A

,

B

,

C

,

A,B,C,\cdots






A


,




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

其中



A

A






A





策略表示强势,



B

B






B





策略表示弱势,



E

(

A

,

A

)

=

0

,

E

(

A

,

B

)

=

2

,

E

(

B

,

A

)

=

1

,

E

(

B

,

B

)

=

0

E(A,A)=0,E(A,B)=2,E(B,A)=1,E(B,B)=0






E


(


A


,




A


)




=








0


,




E


(


A


,




B


)




=








2


,




E


(


B


,




A


)




=








1


,




E


(


B


,




B


)




=








0





。根据定义2可得出,两个策略均不是演化稳定策略。演化稳定策略是一个混合策略,用



S

^

\hat{S}













S







^











表示,



S

^

=

2

3

A

+

1

3

B

\hat{S}=\frac{2}{3}A+\frac{1}{3}B













S







^










=




















3
















2





















A




+




















3
















1





















B





。设突变策略



S

=

k

A

+

(

1

k

)

B

S’=kA+(1-k)B







S
























=








k


A




+








(


1













k


)


B





,列出收益矩阵计算收益(以



E

(

S

,

S

^

)

E(S’,\hat{S})






E


(



S






















,











S







^








)





为例)




2

3

A

\frac{2}{3}A


















3
















2





















A







1

3

B

\frac{1}{3}B


















3
















1





















B







k

A

kA






k


A




0 2



(

1

k

)

B

(1-k)B






(


1













k


)


B




1 0

可以计算出





E

(

S

^

,

S

^

)

=

2

2

3

1

3

+

1

1

3

2

3

=

2

3

E

(

S

,

S

^

)

=

2

k

1

3

+

1

(

1

k

)

2

3

=

2

3

E

(

S

^

,

S

)

=

2

2

3

(

1

k

)

+

1

1

3

k

=

4

3

k

E

(

S

,

S

)

=

2

k

(

1

k

)

+

1

(

1

k

)

k

=

3

k

(

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




















3














2






































3














1






















+




1




















3














1






































3














2






















=















3














2




























E


(



S






















,











S







^








)




=




2









k




















3














1






















+




1









(


1









k


)




















3














2






















=















3














2




























E


(









S







^








,





S






















)




=




2




















3














2



























(


1









k


)




+




1




















3














1



























k




=















3














4



























k










E


(



S






















,





S






















)




=




2









k









(


1









k


)




+




1









(


1









k


)









k




=




3


k


(


1









k


)
























最后得到两个策略



S

^

\hat{S}













S







^















S

S’







S

























的收益矩阵为




S

^

\hat{S}













S







^













S

S’







S



























S

^

\hat{S}













S







^













2

3

\frac{2}{3}


















3
















2


























4

3

k

\frac{4}{3}-k


















3
















4
































k







S

S’







S



























2

3

\frac{2}{3}


















3
















2


























3

k

(

1

k

)

3k(1-k)






3


k


(


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







^











中的



k

k






k





值:





E

(

A

,

S

^

)

=

2

(

1

k

)

E

(

B

,

S

^

)

=

k

2

(

1

k

)

=

k

,

k

=

2

3

\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







^








)




=




k










2


(


1









k


)




=




k


,




k




=















3














2








































补充一个例子

博弈的相关均衡 -知乎

A B
A (6,6) (2,7)
B (7,2) (0,0)

这是一个对称博弈,可以尝试用Bishop定理,设混合策略S中选择策略A和B的概率分别为



k

k






k









1

k

1-k






1













k





,则





E

(

A

,

S

)

=

6

k

+

2

(

1

k

)

E

(

B

,

S

)

=

7

k

\begin{aligned} & E(A,S)=6k+2(1-k) \\ & E(B,S)=7k \\ \end{aligned}















































E


(


A


,




S


)




=




6


k




+




2


(


1









k


)










E


(


B


,




S


)




=




7


k




























E

(

A

,

S

)

=

E

(

B

,

S

)

E(A,S)=E(B,S)






E


(


A


,




S


)




=








E


(


B


,




S


)





解得



k

=

2

/

3

k=2/3






k




=








2/3









E

(

A

,

S

)

=

E

(

B

,

S

)

=

14

/

3

E(A,S)=E(B,S)=14/3






E


(


A


,




S


)




=








E


(


B


,




S


)




=








14/3





,确实小于相关均衡的收益5。



鹰鸽博弈

假设同一物种的两个竞争对手在某个价值为



G

G






G





的资源位置相遇,有两个纯策略:

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

(此处更详细的说明见

鹰派与鸽派的博弈 -豆瓣

)

收益矩阵

H D
H


V

C

2

\frac{V-C}{2}


















2
















V





C























V
D 0


V

2

\frac{V}{2}


















2
















V























其中需要满足



V

<

C

V<C






V




<








C





,否则纯策略



H

H






H





就是ESS。使用同样的方法计算ESS,设



S

^

=

k

H

+

(

1

k

)

D

\hat{S}=kH+(1-k)D













S







^










=








k


H




+








(


1













k


)


D











E

(

H

,

S

^

)

=

V

C

2

k

+

(

1

k

)

V

E

(

D

,

S

^

)

=

(

1

k

)

V

2

\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







^








)




=






































2














V









C




















k




+




(


1









k


)


V










(


1









k


)













2














V














































E

(

H

,

S

^

)

=

E

(

D

,

S

^

)

E(H,\hat{S})=E(D,\hat{S})






E


(


H


,











S







^








)




=








E


(


D


,











S







^








)





,可解得



k

=

V

C

k=\frac{V}{C}






k




=




















C
















V
























,代入得





E

(

H

,

S

^

)

=

E

(

D

,

S

^

)

=

V

(

C

V

)

2

C

E

(

S

^

,

S

^

)

=

k

2

V

C

2

+

k

(

1

k

)

V

+

(

1

k

)

2

V

2

=

V

(

C

V

)

2

C

E(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







^








)




=



















2


C














V


(


C









V


)


























E


(









S







^








,











S







^








)




=









k










2




















2














V









C






















+








k


(


1













k


)


V




+








(


1













k



)










2




















2














V






















=



















2


C














V


(


C









V


)



























复制动态方程

关于复制动态方程的进一步解释见参考链接[5]。[2]中的解释不太清晰,虽然用的是[2]中的符号表示。

定义两个策略的适应度



W

H

W_H







W










H

























W

D

W_D







W










D





















和种群的平均适应度



W

ˉ

\bar{W}













W







ˉ











分别为





W

H

=

W

0

+

p

E

(

H

,

H

)

+

(

1

p

)

E

(

H

,

D

)

W

D

=

W

0

+

p

E

(

D

,

H

)

+

(

1

p

)

E

(

D

,

D

)

W

ˉ

=

p

W

H

+

(

1

p

)

W

D

W_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 \\







W










H




















=









W










0




















+








pE


(


H


,




H


)




+








(


1













p


)


E


(


H


,




D


)









W










D




















=









W










0




















+








pE


(


D


,




H


)




+








(


1













p


)


E


(


D


,




D


)















W







ˉ










=








p



W










H




















+








(


1













p


)



W










D

























其中



W

0

W_0







W










0





















代表个体在博弈之前的基础适应度(?)。可以看出



p

E

(

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

=

p

H

+

(

1

p

)

D

S=pH+(1-p)D






S




=








p


H




+








(


1













p


)


D





是混合策略(不知道



E

(

H

,

S

)

E(H,S)






E


(


H


,




S


)









W

H

W_H







W










H





















之间有什么关系)。下一代中采取



H

H






H





策略的比例为





p

n

+

1

=

p

n

W

H

W

ˉ

p_{n+1}=p_n\frac{W_H}{\bar{W}}







p











n


+


1





















=









p










n




































W







ˉ





















W










H









































若定义



q

=

(

1

p

)

q=(1-p)






q




=








(


1













p


)





,且





q

n

+

1

=

q

n

W

D

W

ˉ

q_{n+1}=q_n\frac{W_D}{\bar{W}}







q











n


+


1





















=









q










n




































W







ˉ





















W










D









































可验证





p

n

+

1

+

q

n

+

1

=

p

n

W

H

+

q

n

W

D

W

ˉ

=

1

p_{n+1}+q_{n+1}=\frac{p_nW_H+q_nW_D}{\bar{W}}=1







p











n


+


1





















+









q











n


+


1





















=


























W







ˉ





















p










n



















W










H




















+





q










n



















W










D






































=








1







由递推关系推导出复制动态方程





d

p

d

t

=

p

n

+

1

p

n

=

p

W

H

W

ˉ

W

ˉ

=

p

W

H

(

p

W

H

+

(

1

p

)

W

D

)

p

W

H

+

(

1

p

)

W

D

=

p

(

1

p

)

(

W

H

W

D

)

W

H

(

1

p

)

(

W

H

W

D

)

\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}




























d



t















d



p






















=








=








=




























p











n


+


1



























p










n




















=




p




















W







ˉ





















W










H
































W







ˉ


































p













p



W










H




















+




(


1









p


)



W










D































W










H

























(


p



W










H




















+




(


1









p


)



W










D


















)








































W










H

























(


1









p


)


(



W










H


























W










D


















)














p


(


1









p


)


(



W










H


























W










D


















)










































这里不知道推导过程哪里有问题,正确的复制动态方程应该是





d

p

d

t

=

p

(

W

H

W

ˉ

)

\frac{\text{d}p}{\text{d}t} = p(W_H-\bar{W})


















d



t















d



p






















=








p


(



W










H




































W







ˉ








)







仿真





W

0

=

0

W_0=0







W










0




















=








0









C

=

6

C=6






C




=








6









V

=

3

V=3






V




=








3





,仿真结果如图所示。

在这里插入图片描述

另外仿真可得



W

0

W_0







W










0





















对结果几乎没有影响,复制动态方程中的分母



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)*EHD
    wD = W0 + p*EDH + (1-p)*EDD
    WBar = p*wH + (1-p)*wD
    p += 0.1 * p*(wH - WBar)
    pvec.append(p)
    WBarvec.append(WBar)
plt.plot(pvec)
plt.plot(WBarvec)
plt.legend(['p', 'wBar'])
plt.show()



版权声明:本文为qq_34288751原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。