#netlogo #virus #agent-based-modeling
Вопрос:
Я пытаюсь изменить процедуру передачи в своей вирусной модели по распространению Covid-19, чтобы зараженные черепахи вызывали процедуру и заражали восприимчивых черепах, вместо того, чтобы восприимчивые черепахи искали зараженных.
Мой предыдущий код выглядит так:
to transmit; procedure for transmitting the desease to nearby people, inspired by epiDEM
let caller self ; adress the susceptible turtle by the name caller
if susceptible? = TRUE
[
let nearby-infected turtles-here with [infected? = TRUE] ;replaced turtles in-radius with turtles-here to make the radius as small as possible
if nearby-infected != nobody
[ ask nearby-infected [set c-count c-count 1 set p-count p-count [age-susceptibility] of caller]
let transmission-risk 0.1 * age-susceptibility ;would benefit from inclusion of protective-measures, right now 0.1 times ag-susc as the radius might be too big resulting ín too fast spread
if random-float 1 < transmission-risk [
set infected? TRUE set susceptible? FALSE
set nb-infected (nb-infected 1)]
]
]
end
и мой текущий код выглядит так:
to transmit
if infected? = true
[
let caller self ; adress infectious turtle by name caller
let nearby-susceptible turtles-here with [susceptible? = TRUE] ;replaced turtles in-radius with turtles-here to make the radius as small as possible
if nearby-susceptible != nobody
[
set c-count c-count count nearby-susceptible
set p-count p-count sum [age-susceptibility] of nearby-susceptible
ask nearby-susceptible
[
let transmission-risk 0.1 * age-susceptibility ;would benefit from inclusion of protective-measures, right now 0.1 times ag-susc as the radius might be too big resulting ín too fast spread
if random-float 1 < transmission-risk [
set infected? TRUE set susceptible? FALSE
ask caller [set nb-infected (nb-infected 1)]
]]
]]
end
Как ни странно, уровень заражения при последней процедуре не так высок, в предыдущей вирус распространялся очень быстро, но в этом новом коде он распространяется очень низко.
Я не уверен, что не так с кодом, может ли быть так, что, когда я спрашиваю близлежащих восприимчивых к установке скорости передачи и статуса заражения, он делает это один раз для всех них, вместо того, чтобы вычислять это индивидуально?
Число c, число p и особенно число nb-инфицированных также намного выше, когда модель запускается с моим предыдущим кодом (число nb-инфицированных более чем в 20 раз выше на одном шаге с предыдущим кодом).
Интуитивно я думаю, что все число должно быть больше, когда процедура повторяется для каждой зараженной черепахи, в отличие от восприимчивых черепах, просто вызывающих процедуру один раз, независимо от того, сколько зараженных черепах находится в радиусе.
Буду признателен за любую помощь!