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()
时间: 2024-04-05 11:29:03 浏览: 120
import numpy as np import matplotlib.pyplot as plt import math
这段代码实现了一个博弈论中的策略演化模型,用于描述两种策略在不同收益条件下的演化过程。
具体来说,这个模型中有两种策略,分别对应猎人和猎物在上述演化博弈中的两种行为。模型中的参数包括猎物的价值(V)、猎人的成本(C)和初始状态下的猎物数量(W0)。根据博弈矩阵的收益情况,可以计算出不同策略组合下的收益期望,分别对应EHH、EHD、EDH和EDD。
模型中的核心是策略演化过程的计算。在每个时间步长中,猎人和猎物的数量比例会随机变化,而策略的选择则基于当前收益期望和策略演化方程。策略演化方程描述了一个简单的梯度上升过程,即每个个体根据当前的收益情况和策略比例来更新自己的策略选择。在这个模型中,使用了一个简单的线性更新规则来计算策略的选择概率。
最后,模型通过绘制策略演化过程中的概率和平均收益来展示了策略演化的效果。可以看到,随着时间的推移,策略的选择概率和平均收益都趋于稳定状态,这也是演化博弈的一个重要特征。
阅读全文