ECAgentGUI: An Agent Based Modelling GUI

ECAgentGUI is a user-friendly, low code solution to creating agent based models with the ECAgents framework, offering a functional python based GUI which allows a user to create agent based models through a series of logical, sequential steps. ECAgentGUI includes a backend system which writes the code to build the agent based model specified by the user through the GUI as well as a data collector and visual output of the model.

Python implementation by:

Original Paper:

Gower-Winter, B., and Nitschke, G. (2022). Extreme Environments Perpetuate Cooperation. In Proceedings of the IEEE Symposium Series on Computational Intelligence, pages: 1243-1250, IEEE Press, Singapore.


RoboViz: Robot Visualisation Tool

RoboViz is a visualisation tool created using Python and the Panda3D library, designed to parse JSON configuration files in order to visualise robots made of several predetermined parts. It emulates and extends the viewing aspects of the RoboGen simulation tool, allowing the user to visualise a swarm of multiple robots in a single task environment. The different part types have been made distinguishable by different colours, and an additional control scheme for navigating the 3D environment has been added. RoboViz allows the user to reconfigure the swarm within the program, changing the swarm size, composition and terrain dimensions.

Python Implementation by:

Original Paper:

Auerbach, J., Concordel, A., Kornatowski, P., and Floreano, D. (2019). Inquiry-Based Learning With RoboGen: An Open-Source Software and Hardware Platform for Robotics and Artificial Intelligence, IEEE Transactions on Learning Technologies, 12(3): 356-369.


From Hunter Gatherer to Agriculture: An Agent Based Model

Little is known about how social behaviours, or cultures, emerged in groups, and why some cultures persist and others do not.  For example, it is unclear how some groups made the leap from hunter gather to agriculture based cultures, while at the same time, some groups stuck with hunter gather based cultures.  This Agent-Based Model (ABM) implementation: From Hunters to Gatherers to Agriculture (FHG2A) is a reimplementation and extension of an ABM used for experiments reported by van der Vaart et al. (2006).  This ABM has been re-implemented in Ruby, ReLogo and C# where each ABM implementation replicates the emergence of the ideal free distribution in agent populations observed in the original experiments (van der Vaart et al., 2006).  These ABM implementations provide readily extendable computational tools for social scientists, and include simplified user interfaces and visualised statistical data.

Ruby Implementation by:

ReLogo Implementation by:

C# Implementation by:

Original Paper and Experimental ABM:

van der Vaart, E., de Boer, B., Hankel, A., and Verheij, B. (2006). Agents Adopting Agriculture: Modelling the Agricultural Transition.  In, Proceedings of the International Conference on Simulation of Adaptive Behaviour: From Animals to Animats, pages: 750-761.  Springer, Rome, Italy.


Self-Driving Cars for Autonomous Intersection Management

Recently there has been increasing research and development attention on producing adaptive control systems for autonomous vehicles.  Furthermore, there have been proposals that current road and highway infrastructure undergo significant changes.  For example, replacing traffic lights and stop signs and allowing autonomous vehicles to coordinate their own interactions so as to avoid collisions and safely navigate through intersections, thereby increasing vehicle throughput in congested road networks. 

This project source code is a reimplementation and extension of the Austin Universities Autonomous Intersection Manager (AIM) simulator (version 4.0). The original simulator managed intersections with autonomous vehicles (self-driving cars) using a First-Come-First-Served policy.  This reimplementation (AIM5) is more efficient than the original and includes pedestrians for vehicles to avoid. These pedestrians spawn randomly and cross the intersection when allowed by a traffic light system lights controlled by a pedestrian policy and triggered by the pedestrians pushing a button. AIM5 uses a multi-threaded, easily extendable design that performs well on multi-core processors.

Java Implementation by:

Original Paper and Experimental ABM:

Dresner, K., and Stone, P. (2004).  Multi-agent Traffic Management: A Reservation-Based Intersection Control Mechanism.  In, Proceedings of the Third International Joint Conference on Autonomous Agents and Multi-agent Systems, pages 530-537.  ACM, New York. USA.

Egyptian artifact

Farmers to Pharaohs: An Agent Based Model for Simulating Early Egypt

Recently there has been increasing interest from archaeologists, anthropologists and social scientists in using computational Agent-Based Models (ABMs) to simulate “what-if” hypothesis about historical societies.  That is, to see how real world societies may have turned out if the decisions made by individuals or the environment had been different.   In this project an ABM is used to investigate the conditions under which small Neolithic farming communities in the ancient Egyptian Nile Valley (ca. 4000 BC) transformed into one large complex unified state led by a divinely-sanctioned king (Pharaoh).

This is the project source code for a fully implemented and extensible version of the original NetLogo simulation (Nitschke et al. 2017) in Python using the MESA library.  This implementation provides a full image-based GUI display of the land, input devices for the user to modify the simulation and graphs to display useful data in real time, in addition to a Jupyter Notebook with detailed information on the workings of the code and possible extensions.

The ABM can be run with different “society start parameters” to simulate different Egyptian states emerging from different individual agent (simulated household) actions and Nile Valley environment conditions.  This ABM implementation is thus an extensible, general computational tool to test various “what-if” hypotheses about how and why specific social and environmental conditions resulted in specific types of (historical) societies.

Python implementation by:

Original Paper and Experimental ABM:

Nitschke, J., Nitschke, G., Furman, A., and Cherry, M. (2017). Modelling Patterns of Wealth Disparity in Predynastic Upper Egypt. In,  Proceedings of the Fourteenth European Conference on the Synthesis and Simulation of Living Systems: Advances in Artificial Life, pages 322-323. MIT Press, Lyon, France.