A reimplementation of Schweitzer et al. 1996 as well as additional improvemnts for the Course Agent Based Modelling for Social Systems FS2023 ETH Zürich
AlexBocken
044aab26ca
The agent step() function has been further improved. Now, ants behave as roamers and follow a positive gradient in pheromones until they find food, when they find food they will switch what chemical they are dropping (A -> B) and will look for A. When they return they will recruit new ants. Currently, the sensitivity to the pheromone concentration is clamped linear, meaning that: { 0 if concentration < lower_threshold sens(concentration) = { concentration if lower_threshold < c < higher_threshold { higher_threshold else A correct non-linear response is yet to be added. Similarily next steps could include adding a sensitivity decay to ants as described in the paper. A proper setup for sane initial values such that interesting behaviour can be observed can also still be implemented (consult the paper) The visualization function in server.py can also still be adjusted to automatically (?) adjust the normalization for color values. |
||
---|---|---|
agent.py | ||
LICENSE | ||
main.py | ||
model.py | ||
multihex.py | ||
README.md | ||
server.py | ||
shortlist.md |
ants
A reimplementation of Schweitzer et al. 1996 as well as additional improvemnts for the Course Agent Based Modelling for Social Systems FS2023 ETH Zürich
For the course Agent Based Modelling for Social Systems FS2023 we were tasked to implement a model of our own (in groups). For this, we decided to implement an enhanced version of Active random walkers simulate trunk trail formation by ants (Schweitzer et al. 1996) using Python and Mesa.
For now, wanted features can be found in our shortlist. For everything else start at main py
For a live visualization of the project you can execute server.py.