2016-11-29 60 views
0

我正嘗試使用概率爲NetLogo中的一個海龜自己的變量分配[0]或[1]個別值,但只找到打印或報告概率輸出的方法,而不是用它們來確定一個變量值。代理組中的變量值的概率,netlogo

例子:

我問兩隻烏龜,以檢查他們是否每個想與對方交換信息,並分配一個變量exchangeinfo。如果exchangeinfo = 0,則不發生信息交換。如果exchangeinfo = 1,則發生信息交換。

目前我已經硬編碼[set exchangeinfo 1]作爲佔位符。

但是我希望每隻烏龜有25%的機會exchangeinfo = 1,但我不想一次設置一個變量。

有什麼建議嗎?

+1

'向龜[IF(隨機漂浮物1 0.25 <)設置exchangeinfo 1] ' – Alan

+0

@Alan,謝謝! – LRB

回答

0

@ Alan的評論將起作用。這是一個超級簡單的模型,可以做我認爲你所要求的。

turtles-own[exchangeinfo] 

to setup 
    clear-all 
    reset-ticks 
    make_turtles 
end 

to go 
    move 
    tick 
    if (ticks = 1) [inspect turtle 1] 
end 

to make_turtles 
    create-turtles 10 
    ask turtles 
    [ 
    set color pink 
    set size 2 
    set xcor random max-pxcor 
    set ycor random max-pycor 
    set exchangeinfo 0 
    ] 
end 

to move 

    ask turtles 
    [right random-float 270 
    forward random-float 3 
    if ((count (turtles in-radius 2)) > 0) 
    [move-to one-of turtles in-radius 2] 

    ] 

    encounter ;<- this is the function that will decide whether or not to exchange info. 

end 

to encounter 
    ask turtles[ 
    if (count turtles-here > 0) 
    [ifelse (random-float 1 < 0.25) ;note this is essentially @Alan's answer 
     [set exchangeinfo 1] 
     [set exchangeinfo 0] 
    ] 
    ] 
end 

我假設你再想某種

ask turtles-here [if (exchangeinfo = 1) [do stuff]] 

以及

+0

謝謝!這看起來會很好地做到這一點。 – LRB