我有一个关于建模游戏理论框架的相对特定的问题。 老实说,我不太精通Netlogo编程,并从YouTube视频获得了基本代码设置。
但是为了扩展我的本科学位论文所使用的框架,我想模拟非平衡动力学并观察发生了什么:
首先我为我的学士论文考虑的模型:
一个人可以在两个代表公众舆论的选择之间选择一个,而另一个代表任何其他相反的看法。 因此策略空间或多或少地由S =(A,B)给出 根据选择相同策略A或B的人口份额,个人将获得回报 所以收益fct。 U(A)= x * a给出x代表公众舆论A的意思;份额和任何正数代表与我的朋友/邻居等具有相同意见或看法的一致性或有效性。
但是代理人有一个基本的倾向,就是不同意公众舆论所给出的指数i。 这意味着如果我们假设(为简单起见)假设所有代理在从0到1的代理之间平均分配,则从1的角度看,从本质上讲,接近1的代理会更不满意,而接近0的代理对内在观点更满意。 >
所以收益fct。对于B的意见是由U(B)=(1-x) a + i b给出的,其中i作为刚才提到的索引,b再次为任何正数,从而为“遵循”它们的基本形式提供了额外的效用性格
在我的学士论文中,我提出了一个均衡分析,您可以看到,即使只有一小部分人在寻求B的意见,也可能导致连锁反应,从而使公众的意见发生变化。当然取决于选择的变量值。
所以我现在模拟的想法如下: 收益取决于我想在进化游戏《理论/复制者动力学》中探讨的人口比例,并观察会发生什么。我认为2x2的回报矩阵在对角线上有1或任何其他正数,其他为0(在最近的Code中仍然是3x3矩阵)。
但是我该如何模拟在0到1的区间上平均分布的业务代表,然后将其索引插入到收益矩阵中呢?
我知道这听起来很懒,但是有人可以设置必要的代码行吗?这对我的研究将是巨大的帮助。
我希望它是可以理解的,并且我对您的提示,改进建议和批评家非常感兴趣。
非常感谢!
最好的问候, 拉斐尔
globals [
colors; all the colors/actions
payments
old-red-count
old-green-count
old-blue-count
]
to setup
ca
set colors [red green blue]
set payments [
[1 0 0]
[0 1 0]
[0 0 1]
]
ask patches [set pcolor white]
create-turtles num-turtles [
set color one-of colors
setxy random-pxcor random-pycor
]
reset-ticks
end
to-report payoff [a b]
set a position a colors
set b position b colors
report item b (item a payments)
end
to-report u [action]
let result 0
foreach colors [
let theta count turtles with [color = ?] / count turtles
set result result + (theta * payoff action ? )
]
report result
end
to go
tick
let current-population-count map [count turtles with [color = ?] ] colors
let new-population-count (map [?1 * (1 + u ?2)] current-population-count colors)
set new-population-count map [num-turtles * ? / sum new-population-count] new-population-count
ask turtles [die]
(foreach new-population-count colors [
create-turtles ?1 [
set color ?2
setxy random-pxcor random-pycor
]
])
end