$35
Define and implement an Agent Based Model of any of the following natural or human phenomena:
Vehicle movement through a regulated street network (with traffic lights, signs, intersections, right of passage etc)
Virus spread among a group or between groups of people
Evacuation behaviour from a building under panic
Bird flocking
Interaction of pedestrians and traffic in a regulated street network
Ant behaviour
Any phenomena of your choice (we can discuss choices during labs with me)
You can use an Agent based simulator, written in Python and covered during lectures, as a basis of your model (https://github.com/hsayama/PyCX), but you are also free to implement your own programme, in a programming language of choice. The only restrictions is that you cannot use any of the existing ABM frameworks listed in lecture materials and also here e.g.
Your model needs to satisfy the following properties:
A clear documentation outlining the model, its purpose and rules (how) and reasons (why) for underlying agent behaviour, as well as the intended output results of the simulation and the reason for tracking those. Tracking several output results is preferable. The documentation should also report results of running the model under several parameter scenarios and the observed outcomes.
The code of the model should be well-structured and documented.
The model should have an easy to run command-line or GUI that allows for changing the initial values of simulation parameters (the more parameters investigated the better, within reason).
The model must have a graphical display (2D or 3D) that allows for visual simulation of agent behaviour over time.
The model must have the ability to output results as time-based graphs (e.g. number of infected people over time or average vehicle speed over time, etc.).
Your documentation should be professional, self-contained i.e. contain all the relevant information and outputs and it should not exceed 8 pages in total (any code can be uploaded on GitLab).