【学术小白成长之路】02三方演化博弈(基于复制动态方程)期望与复制动态方程

从本专栏开始,笔者正式研究演化博弈分析,其中涉及到双方演化博弈分析,三方演化博弈分析,复杂网络博弈分析等等。
先阅读了大量相关的博弈分析的文献,总结了现有的研究常用的研究流程,针对每个流程进行拆解。具体学习每个步骤中的步骤的实现方法和流程。基础性文章,希望对您有帮助,如果存在错误或不足之处,还请海涵。且看且珍惜!

在这里插入图片描述

1. 期望计算

在计算期望收益之前,需要先计算出每个参与主体的收益,如下表1所示。
在这里插入图片描述
采取应对策略的概率:
在这里插入图片描述

首先,一般需要构建每个主体在采取,和不采取策略的期望收益,以及平均从期望收益,通常是构建三个期望收益等式。

企业的收益期望如下所示:
在这里插入图片描述

分别计算出采取和不采取的策略下的收益值与对应策略其他主体之间应对策略的概率之和:

计算出来的结果如下所示,具体的计算结果根据公式对应进去计算就可以
在这里插入图片描述
同理,可以根据以上的算式,算出其他主体的期望收益:
在这里插入图片描述
在这里插入图片描述

2. 复制动态方程构建

复制动态 和 演化稳定策略 是演化博弈理 论的两个核心范畴。“复制动态”是对有限理性的 参与主体策略调整过程的动态描述和分析

需要分别构造企业、政府和环境 NGO 行为策略的复制动态方程

其中复制动态方程=dx/dt=采取概率(采取期望收益 - 平均期望收益)
这个复制动态方程的构建,通常学者都是这么计算,只需要将上文的计算机过套入,并对式子进行化简处理。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过以上的方程,就可以构建出每个主体之间的动态方程。

构建动态方程后,就可以进行博弈分析中最重要的均衡点分析。

3. MATLAB计算期望与复制动态方程

每个主体的期望,可以通过我们手动进行构建

构建出每个主体的期望后,我们需要计算出平均期望和复制动态方程。我们只需要将方程对应的等式带入就可以,但是在文章中需要展现的是经过你自己整理后,最简的方程式。

因此,需要有一个手动计算的过程,手动计算容易出错,因此可以借助MatLAB实现一个化简的功能。

主要借助的就是simplify函数。

如下所示

%定义相应的参数
syms x y z e1 e2 e3 c1 c2 c3 c4 c5 s1 s2 s3 g1 g2;
%计算出第一个主体的期望
v11=(e1-c1+s1)*y*z+(e1-c1-s1)*y*(1-z)+(e1-c1)*(1-y)*z+(e1-c1)*(1-y)*(1-z);
v12=(e2-c2-g1-g2)*y*z+(e2-c2-g1)*y*(1-z)+(e2-c2-g2)*(1-y)*z;
%化简平均期望
v1=simplify(x*v11+(1-x)*v12)
%化简复制动态方程
fx=simplify(x*(v11-v1))

通过以上的原理,可以计算出每个主体的期望与复制动态方程的值

当用simplify函数实现化简后,如果未达到最简可以自己手动再进行一次化简。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
很抱歉,我无法提供完整的代码示例,因为这是一个非常复杂的问题,需要根据具体的演化博弈模型进行调整和修改。但是,我可以给出一个基本的流程和代码框架,供您参考。 1. 设置参数:根据具体的演化博弈模型,确定参与者数量、策略数量、收益函数等参数。 2. 求解收益矩阵:根据收益函数,生成一个收益矩阵。 3. 生成复制动态方程组:根据演化博弈动态方程,生成一个复制动态方程组。 4. 求解演化博弈均衡点及其特征值:使用matlab的非线性求解函数,如fsolve或fmincon,求解演化博弈的均衡点及其特征值。 5. 生成雅可比矩阵:根据均衡点,生成雅可比矩阵。 6. 数值仿真:使用matlab的ode45函数进行数值仿真,求解演化博弈的轨迹。 7. 生成相位图:使用matlab的plot函数生成演化博弈的相位图。 下面是一个示例代码框架: ``` % 设置参数 n = 3; % 参与者数量 m = 2; % 策略数量 r = 1; % 收益函数参数 s = 0.5; % 收益函数参数 % 求解收益矩阵 payoff = zeros(m^n,n); for i=1:m^n strategy = dec2base(i-1,m,n)-'0'+1; for j=1:n payoff(i,j) = r*sum(strategy==strategy(j))-s; end end % 生成复制动态方程组 syms x1 x2 x3 eq1 = x1*(payoff(1,1)*x1+payoff(2,1)*x2+payoff(3,1)*x3) == x1*(payoff(1,1)*x1+payoff(2,1)*x2+payoff(3,1)*x3); eq2 = x2*(payoff(1,2)*x1+payoff(2,2)*x2+payoff(3,2)*x3) == x2*(payoff(1,2)*x1+payoff(2,2)*x2+payoff(3,2)*x3); eq3 = x3*(payoff(1,3)*x1+payoff(2,3)*x2+payoff(3,3)*x3) == x3*(payoff(1,3)*x1+payoff(2,3)*x2+payoff(3,3)*x3); eq = [eq1, eq2, eq3]; % 求解演化博弈均衡点及其特征值 x0 = [1/3,1/3,1/3]; [x,fval,exitflag,output,jacobian] = fsolve(eq,x0); % 生成雅可比矩阵 J = double(subs(jacobian,{x1,x2,x3},{x(1),x(2),x(3)})); % 数值仿真 tspan = [0,10]; x0 = [1/3,1/3,1/3]; [t,x] = ode45(@(t,x) [x(1)*(payoff(1,1)*x(1)+payoff(2,1)*x(2)+payoff(3,1)*x(3));x(2)*(payoff(1,2)*x(1)+payoff(2,2)*x(2)+payoff(3,2)*x(3));x(3)*(payoff(1,3)*x(1)+payoff(2,3)*x(2)+payoff(3,3)*x(3))], tspan, x0); % 生成相位图 plot3(x(:,1),x(:,2),x(:,3)); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驭风少年君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值