Lessons from implementing in parallel with 3 platforms the same didactic agent-based model

Presenter: Christophe Le Page

Part of the Session on Model Reuse

1 Like

Seems like the video is unavailable…

Thanks for letting us know! I’ve fixed the privacy settings on the video and it should be viewable now.

1 Like

Great talk. The model is elegant and demonstrate quite a complex system. It is great to see the efforts to compare alternative implementations. You focused in the presentation on the differences found between Cormas and Gama, but the Netlogo model also behaved differently (it did not put out the fire). Any idea why the Netlogo model led to different results?

Thanks Marco. You were a bit short of time to present the explanations for having differences with the Netlogo implementation in the talk. Here it is: in the Netlogo implementation, only the locations of the firefighters were read from the file, meaning that the two firefighters close to some fire were not considered initially “busy”. In Cormas and GAMA, this would not make any difference because of the by-default scheduling options of these two platforms: the order of activation of agents is the order of their creation, and the two firefighters close to some fire are specified in to the two first lines of the external .csv file. Hence these two firefighters are activated first and because they are close to some fire, their status is set to “busy”. In Netlogo, the order of activation of the agents is by-default randomized at each timestep. If they are not set “busy” initially, then the other firefighters activated before them in the first step will move randomly. It means that to ensure that the 3 implementations give exactly the same result, not only the locations but also the status of the firefighters have to be loaded from the external file. Doing so, we have been able to produce the same short movie for the Netlogo implementation.