0

到目前为止,我使用 Behavior Space 运行的所有实验都是记录全局变量或跨不同代理集的代理变量的平均值。

但是,我需要在每次运行的两个/三个不同的时间步长上测量单个紧急代理(极端主义团体)的一组属性(暴力、实体性、同质性、规模)。我还需要在许多不同的模型场景中执行此操作,并且最好将它们全部汇总在同一个电子表格中。目的是绘制每个代理属性之间的关系,以个人代理作为我的案例。

如果可以使用行为空间,我似乎无法锻炼。我曾尝试在行为空间中使用例如[violence] 组作为记者,但输出是一个我无能为力的单个字符串变量。我也考虑过使用export-world原语,但据我了解,这将在每次执行时覆盖文件或每次创建单独的文件。

4

1 回答 1

1

可能有一种更优雅的方法可以做到这一点,但以下应该有效。为组 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 次会产生以下结果: 在此处输入图像描述

于 2021-04-23T19:53:59.157 回答