2016-03-02 31 views
0

我試圖修改以前的Netlogo Predator-Prey model以符合我的目的。我遇到的麻煩是,我想控制捕食者在遭遇獵物時殺死獵物的概率,我不知道如何去解決。我知道我在接口端需要一個滑塊,並且我具有('kill-probability'),但將它們放在代碼中是另一回事。如何控制捕食者在Netlogo Predator-Prey模型中殺死獵物的概率?

這裏是模型我試圖適應的部分:

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 

任何和所有幫助將不勝感激。

回答

0

這裏的邏輯是在區間[0,1]中得到一個隨機數(如果以百分比的形式考慮,則在[0,100]中),如果隨機數小於滑動值,則執行動作。滑塊控制概率。因此,使用「殺概率」你的名字滑塊,並假設它從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代替