【学术小白成长之路】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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

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