У меня есть модель с сетью преференциальных вложений, связывающей одну породу агентов. Они должны влиять друг на друга, основываясь на одной собственности, которой они [доверяют?], И на своих соседях. Таким образом, если больше соседей имеют [доверие? = true], они также должны принять это свойство. Код влияния установлен как таковой и работает в обычном режиме:
to influence
; defines sexworkers-trust as the link to trusting sexworkers
let sexworkers-trust link-neighbors with [ trust? = true ]
; defines total-neighbors as the total link to neighbors
let total-neighbors link-neighbors
; if mistrusting sex workers are surrounded by more trusting neighbors, they are influenced and start trusting
if not trust? and random-float 1.0 < (neighbors-influence * (count sexworkers-trust / count total-neighbors ) ) [
set trust? true
set color green ]
end
На данный момент у меня также есть дополнительная опция, в которой (если установлено «вкл.») Определенное количество секс-работников входит в мир каждые 10 тиков. Они также добавляются в сеть. Теперь, как только эта опция ввода включена, симуляция через некоторое время останавливается с сообщением об ошибке «деление на ноль».
Здесь ниже мой код ввода, может быть, там есть ошибка?
to enter
; creates 5 sex workers, randomly trusting/mistrusting
create-sexworkers 5 [
setxy random-xcor random-ycor
set trust? one-of [ true false ]
if trust? = TRUE [ set color green ]
if trust? = FALSE [ set color red ]
set birth-tick ticks ]
; asks trusting sex workers to create a link to one of the other trusting sex workers
ask sexworkers with [ trust? = true ]
[ create-link-with one-of other sexworkers with [ trust? = true ] ]
end
Кроме того, нормально доверять? = true должно указываться секс-работниками, становящимися зелеными, но почему-то код ввода также делает это неправильно, они, кажется, не имеют соответствующих цветов в своих свойствах.
Возможно, мне придется разделить это на два вопроса, но я думаю, что это связано с процессом ввода, который, в свою очередь, приводит к сбою процесса влияния.
Большое спасибо!