Я практикую свои навыки работы с Netlogo, пытаясь имитировать скорость вирусного заражения в закрытой среде. Моделирование, которое я придумал, работает хорошо, но после просмотра результатов что-то кажется неправильным с точки зрения того, как агенты заражают других агентов. Вот мой код «заражения» («нормальные» — здоровые люди, а «носители» — наоборот):
ask carriers [
if any? other normals-here [
let r random 50
if r < 50 [set virus? false]
if r < 50 + Infectivity [
ask normals-here [set virus? true]
ask normals-here [set color red]
]
]
]
Моя общая идея заключается в том, что при взаимодействии на одном и том же участке между носителем и нормальным агентом, если нормальный агент имеет r + инфекционность (контролируемая переменная в моделировании с коэффициентом 0-50) = число больше, чем 50, то агент получает вирус. Я хочу, чтобы у каждого нормального агента была случайная переменная r от 0 до 50, и если эта переменная становится больше 50 при добавлении уровня «заразности», этот агент получает вирус. Если r остается ниже 50 при добавлении коэффициента «инфекционности», он остается «нормальным».
мой код выглядит нормально? Я чувствую, что здесь что-то не так, но я не могу этого увидеть.