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

Random 如何在Netlogo中创建随机二进制/布尔变量,random,netlogo,agent-based-modeling,Random,Netlogo,Agent Based Modeling,我想给每只海龟分配一个随机布尔变量,但我没有看到一个函数可以模拟伯努利分布 这很接近,但很尴尬: ifelse random-in-range 0 1 < .5 [set expensive? false] [ set expensive? true ] ifelse在0 1

我想给每只海龟分配一个随机布尔变量,但我没有看到一个函数可以模拟伯努利分布

这很接近,但很尴尬:

ifelse random-in-range 0 1 < .5 [set expensive? false]
[ set expensive? true ]
ifelse在0 1<.5范围内随机[设置昂贵?错误]
[设置为昂贵?对]
有人知道更好的方法吗

有几个选项:

  • 其中一个[true-false]

  • random 2=1

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

如果我在一个模型中处理很多概率的东西,我喜欢添加

to-report probability [ p ]
  report random-float 1 < p
end
报告概率[p]
报告随机浮动1

作为一个简单的速记

另外,请注意,
ifelse
在代码中是多余的。你可以只做
设置昂贵吗?[true false]
中的一种或您首选的方法。

一些选项:

  • 其中一个[true-false]

  • random 2=1

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

如果我在一个模型中处理很多概率的东西,我喜欢添加

to-report probability [ p ]
  report random-float 1 < p
end
报告概率[p]
报告随机浮动1

作为一个简单的速记

另外,请注意,
ifelse
在代码中是多余的。你可以只做
设置昂贵吗?[true false]
中的一种或您首选的方法