【问题标题】:How do you go about making a convert probability chance for an agent in netlogo?您如何为 netlogo 中的代理提供转换概率机会?
【发布时间】:2021-07-03 02:24:35
【问题描述】:

我目前正在 NetLogo 2D 中进行僵尸启示录模拟。在我目前的模拟中,当僵尸与人类发生碰撞时,人类有 100% 的机会变成僵尸。我想更改它,以便我可以使用滑块来设置转换率 - 例如,如果我的滑块上有 50% 的转化率,那么当僵尸与人类碰撞时,它们有 50% 的机会变成僵尸,否则杀死攻击的僵尸。

这就是我目前设置项目的方式,到目前为止我所做的方式是检测它们何时发生碰撞,并将人类健康状况设置为 -1,然后做出一个 if 语句来说明健康状况是否为低于 1,使他们成为僵尸。

如果我在正确的方向上提供任何帮助,我将不胜感激,因为我已经花时间思考这个问题并且没有提出任何解决方案。

【问题讨论】:

  • 我还想补充一下,你的模型看起来很有趣。

标签: simulation netlogo agent


【解决方案1】:

对您的代码进行最小的调整,您可以将set health -1 替换为

if random 100 < conversion_probability [ set health 0 ]

正如您在问题中所说,conversion_probability 是一个从 0 到 100 的滑块。

我还想指出,您可以像这样检测墙壁

to detect_wall
  if [solid] of patch-ahead 2
  [
    face one-of patches in-radius 2 with [not solid]
  ]
end

执行left x 然后right x 只会让乌龟向左转,然后在它原来面对的地方转身,除非它看到僵尸,否则它不会改变humans 的行为。 .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多