【学术小白成长之路】03三方演化博弈(基于复制动态方程)均衡点与稳定性分析

本文主要是介绍【学术小白成长之路】03三方演化博弈(基于复制动态方程)均衡点与稳定性分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

在这里插入图片描述

文章目录

  • 1.均衡点计算
  • 2.稳定性分析
  • 3.MatLAB的代码实现

1.均衡点计算

参与主体根据既得利益不断调整策略以追求自身利益的改善,最终达到动态平衡的策略称为演化稳定策略(ESS)。

在判定演化稳定策略之前首先要求出演化博弈的均衡点。令F(x))=0、F(y)=0和F(z)=0,即系统策略选择的变化率为零时,可以得到该动力系统的均衡点。

在计算出均衡点之前,我们可以先构建出来雅可比矩阵,先不进行计算,用于后面将均衡点带入雅可比矩阵之中进行计算。

可以看出,雅可比矩阵就对应函数在x,y,z概率上的偏导。
在这里插入图片描述
如某篇文章中所示,在计算出复制动态方程后,通过构建的复制动态方程,来构建雅克比矩阵。
在这里插入图片描述

这时候,我们令F(x)=0;F (y)=0;F (z)=0就可以计算出对应的xyz的组合,如(0,0,0)、(0,1,0)这样的组合均衡点。

一般会解出来很多这样的组合解,但是这样均衡点不一定具有稳定,还需要进一步计算。

2.稳定性分析

获取均衡点之后,就可以用到上文构建的雅可比矩阵

将求得的均衡点代入雅可比矩阵求此时矩阵对应的特征值

依据特征值,来判断均衡点的稳定性,一般文章中都是以特征值全负值的数为ESS点

如果特征值均小于0,则均衡点有渐进稳定性,为演化稳定策略;
若的特征值均大于0,则为不稳定点;
若特征值有1或2个大大0,则为鞍点:
在这里插入图片描述

在这里插入图片描述

接下来,就可以进行模拟仿真的分析,可以借助Python,Matlab之内的工具进行实现

3.MatLAB的代码实现

%求均衡点及其特征值%
%(1)构建雅可比矩阵:diff是指求偏导
disp(['雅可比矩阵']):
A=[diff(fx,x) diff(fx,y) diff(fx,z);diff(fy,x) diff(fy,y) diff(fy,z);diff(fz,x) diff(fz,y) diff(fz,z)]%(2〉求均衡点:首先构建等式数组,然后使用solve函数来计算均衡点,输出对应的均衡点,最后构建均衡点数
equ=[fx==0,fy==0,fz==0];
answ=solve (equ,[x,y,z]);
%输出均衡点数组
disp(['均衡点:']):A1=[answ.x, answ.y, answ.z]
%均衡点个数
disp(['均衡点个数']):length(answ.x)

最后一点代码,不打了,有需要自己对应打把
在这里插入图片描述
在这里插入图片描述

这篇关于【学术小白成长之路】03三方演化博弈(基于复制动态方程)均衡点与稳定性分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046326

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

基于Canvas的Html5多时区动态时钟实战代码

《基于Canvas的Html5多时区动态时钟实战代码》:本文主要介绍了如何使用Canvas在HTML5上实现一个多时区动态时钟的web展示,通过Canvas的API,可以绘制出6个不同城市的时钟,并且这些时钟可以动态转动,每个时钟上都会标注出对应的24小时制时间,详细内容请阅读本文,希望能对你有所帮助...