2016-11-29 7 views
0

Я пытаюсь использовать вероятность присвоения [0] или [1] отдельных значений для переменной черепахи в NetLogo, но только нашел способы печати или представления вероятностных выходов, а не используя их для определения значения переменной.Вероятность для переменной значения в агрегированных сетях, netlogo

Пример:

Я задаю два черепах, чтобы проверить, что каждый из них, хотят ли обмениваться информацией друг с другом, и присвоили переменной exchangeinfo. Если exchangeinfo = 0, то обмен информацией не происходит. Если exchangeinfo = 1, то происходит обмен информацией.

В настоящее время я жестко закодирован [set exchangeinfo 1] в качестве заполнителя.

Но я бы хотел, чтобы каждая черепаха имела 25% -ный шанс exchangeinfo = 1, но я не хочу устанавливать переменные по одному.

Любые предложения?

+1

'спросить черепах [если (случайно-поплавок 1 <0,25) [установить exchangeinfo 1]] ' – Alan

+0

@ Алан, спасибо! – LRB

ответ

0

@ Комментарий Алана будет работать. Вот супер простая модель, которая будет делать то, что, я думаю, вы просите.

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