netlogo - Netlogo 代码框架:意见形成过程和复制器动态/ESS
问题描述
我有一个关于建模游戏理论框架的相对具体的问题。老实说,我不太精通 Netlogo 中的编程,并从 Youtube 视频中获得了基本代码设置。
但是为了扩展我用于学士论文的框架,我想模拟非平衡动力学并看看会发生什么:
首先是我为我的学士论文考虑的模型:
一个人可以在两种意见之间进行选择,一种代表公众舆论,另一种代表任何其他相反的意见。因此策略空间由 S = (A,B) 或多或少给出。个人获得回报,取决于选择相同策略 A 或 B 的人口份额。因此,回报 fct。用于在公众中代表意见 A(公众意见)由 U(A)= x * a 和 x 给出;份额和a;任何代表与我的朋友/邻居等意见相同的一致性效果或效用的正数。
但是代理人有一个基本的倾向是不同意他们的指数 i 给出的舆论。这意味着如果我们假设(为简单起见)所有代理均等分布在从 0 到 1 代理的区间上,那么接近 1 的代理在这个意义上本质上更不快乐,而接近 0 的代理本质上对公众舆论更满意。
所以收益函数。因为意见 B 由 U(B) = (1-x) a + i b 给出,其中 i 作为刚刚提到的索引,b 再次为任何正数,为“遵循”他们的基本倾向提供了额外的效用
在我的学士论文中,我提出了一个均衡分析,您可以在其中看到即使只有一小部分人在为意见 B 蜂拥而至,它也可能导致公众舆论发生变化的连锁反应。当然取决于选择的变量值。
所以我现在模拟这个的想法如下:收益取决于我想用进化博弈论/复制器动力学覆盖的人口份额,看看会发生什么。我认为 2x2 收益矩阵在对角线上为 1 或任何其他正数,否则为 0 就足够了(在最近的代码中仍然是 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
解决方案
推荐阅读
- java - IntList 排序方法
- node.js - node_module 上的基本 webpack 打字稿示例失败,包括 TS7016
- python - gensim Word2Vec 是否包含上下文中的相邻句子?
- javascript - 为什么数组拼接方法在直接打印到控制台时输出不同的值?
- neo4j - Neo4j 匹配某类节点的随机单个节点
- javascript - Material ui按钮不考虑css样式来覆盖默认样式
- string - CloudWatch 自定义指标是否可以是变量而不是硬编码字符串
- windows - 角 CLI 安装
- javascript - 不同语言的响应API JSON
- javascript - 有什么方法可以访问 JS 文件中的 Django 模板变量和 URL 标记,以便用户无法检查数据和链接?