我正密切关注模型库中萤火虫模型的行为。
最近,我认为每个萤火虫可能会在当前步骤前一步查看其他人的闪烁状态。
这个问题的原因如下: 在go程序中,例如在步骤t,每个萤火虫递增其自己的时钟(t + 1),然后查看其他的'如果焦点萤火虫没有在步骤t + 1闪烁,则闪烁。但是,其他人的状态是'闪烁的焦点萤火虫正在看着仍然是在步骤t。
虽然这可能不会影响模型的全局行为,但我认为这可以让萤火虫响应自己的闪光。
我想知道这种解释是否正确。
(原始程序)
to go
ask turtles [
move
increment-clock
if ( (clock > window) and (clock >= threshold) )
[ look ]
]
ask turtles [
recolor
]
tick
end
如果我的理解是正确的,那么程序的描述看似合适。
to go
ask turtles [
move
increment-clock
]
ask turtles [
recolor
]
ask turtles [
if ( (clock > window) and ((clock >= threshold) ))
[ look ]
]
tick
end
to look ; turtle procedure
if count turtles in-radius 1 with [color = yellow] >= flashes-to-reset
[ set clock (reset-level - 1)]
end