matlab进化博弈代码该文件夹包含MATLAB和R代码,用于重现Niehus等人的结果。
“细菌战策略的演变”。
具体而言,文件入侵_analysis.m根据经典博弈论实施入侵分析(例如,参见McElreath,R.&Boyd,R.社会进化的数学模型。社会进化的数学模型(2013))。
它假设一个单态的种群,其中反复出现罕见的突变体,并针对每个突变体测试其是否可以入侵。
这种成对的入侵算法可以有效地找到最佳的本构策略。
它遵循Niehus等人在补充方法和结果中显示的伪代码。
函数mass_battle.m实现了Niehus等人所述的协同进化锦标赛。
(请参见方法),然后得出图4。它允许多态性多种群,其中所有三种传感策略都可以在一对一竞争中相遇并竞争。
为了确定这种进化种族的长期赢家,正在对亚种群进行突变,迁移和选择。
请注意,此脚本可以运行长达几个小时,并且可以调整控制参数以提高收敛速度。
R文件vis_mass_batt_fig4c.R加载mass_battle.m的结果,并将其绘制为如图4
c所示的样式,从而可以检查收敛性和主导策略。