问题描述
到目前为止,我使用 Behavior Space 运行的所有实验都是记录全局变量或跨不同代理集的代理变量的平均值。
但是,我需要在每次运行的两个/三个不同时间步长测量个别紧急代理(极端主义团体)的一组属性(暴力、实体性、同质性、规模)。我还需要在许多不同的模型场景中执行此操作,并且最好将所有内容汇总在同一个电子表格中。目的是绘制每个代理属性之间的关系,以单个代理作为我的案例。
如果可以使用行为空间,我似乎无法锻炼。我试过使用例如[violence] of groups 作为行为空间的记者,但输出是一个我无法做任何事情的单个字符串变量。我也考虑过使用 export-world 原语,但据我所知,这将在每次执行时覆盖文件或每次创建单独的文件。
任何建议将不胜感激。
解决方法
可能有一种更优雅的方法来做到这一点,但以下应该有效。 为组 n 中的个体暴力创建全局变量,比如 v0、v1、v2 ...,vn。 在每个刻度上设置这些。在行为空间中分别报告它们。
示例:
globals [ mass-violence v0 v1 v2]
turtles-own [ violence]
to setup
clear-all
create-turtles 3 [ setxy random-xcor random-ycor set violence 0 ]
reset-ticks
end
to go
set mass-violence 0
if ( ticks > 4 ) [ stop ]
ask turtles [ set violence random 100 set mass-violence mass-violence + violence]
set v0 [violence] of turtle 0
set v1 [violence] of turtle 1
set v2 [violence] of turtle 2
print (word mass-violence " " v0 " " v1 " " v2 )
tick
end
或者,您可以使用 Excel 命令解析您在 Excel 中最终得到的字符串,以从字符串中提取所选项目并将它们放入单独的列中。那会让你在同一个地方结束。例如,上述代码运行 5 次会产生以下结果:
,这个问题在几周前被广泛讨论过,无论是在 StackOverflow 上还是在 NetLogo 用户组上。翻阅档案。
,感谢所有建议。
我最终使用了 Dale Frakes 在 Netlogo 用户组论坛中建议的以下 solution。
这是一些“行为空间感知”代码,它以每个海龟(而不是模型运行)作为其案例生成表输出。代码很容易理解,我发现它特别直观,可以适应我的模型。