如何控制捕食者在Netlogo Predator-Prey模型中杀死猎物的概率?

时间:2016-03-02 19:43:26

标签: netlogo

我试图修改以前的Netlogo Predator-Prey model以符合我的目的。我遇到的麻烦是我想控制掠夺者在遭遇遭遇猎物时杀死猎物的概率,我不确定如何去做。我知道我需要一个接口侧的滑块而且我有这个(' kill-probability')但是将它一起放入代码是另一回事。

以下是我尝试改编的模型部分:

to catch-sheep  ;; wolf procedure
 let prey one-of sheep-here                    ;; grab a random sheep
 if prey != nobody                             ;; did we get one?  if so,
   [ ask prey [ die ]                          ;; kill it
     set energy energy + wolf-gain-from-food ] ;; get energy from eating
end

任何和所有帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这里的逻辑是在区间[0,1]中得到一个随机数(如果以百分比形式考虑,则在[0,100]中),如果随机数小于滑块值,则执行操作。滑块控制概率。因此,使用滑块名称' kill-probability'并假设它从0到1运行,修改你的代码如下:

to catch-sheep
 let prey one-of sheep-here
 if prey != nobody and random-float 1 < kill-probability    ; this is the line I changed
   [ ask prey [ die ]
     set energy energy + wolf-gain-from-food ]
end

如果您的滑块是百分比,请改用random 100 < kill-probability