如何在Netlogo中创建随机二进制/布尔变量

时间:2015-03-06 00:09:04

标签: netlogo agent-based-modeling

我想为每只乌龟分配一个随机的布尔变量,但是我没有看到一个模拟伯努利分布抽签的函数。

这很接近,但它很尴尬:

ifelse random-in-range 0 1 < .5 [set expensive? false]
[ set expensive? true ]

任何人都知道更好的方法吗?

1 个答案:

答案 0 :(得分:4)

一些选择:

  • one-of [ true false ]

  • random 2 = 1

  • random-float 1 < 0.5 - 如果您需要修改概率,以获得您想要的任何伯努利分布

如果我在模型中处理很多概率性东西,我想添加

to-report probability [ p ]
  report random-float 1 < p
end

简单易懂。

另请注意,ifelse在您的代码中是多余的。你可以set expensive? one-of [ true false ]或者你喜欢的方法。