Agent-based modeling (ABM) is a powerful way to simulate scenarios with complex deterministic behavior.
In contrast with traditional simulation and modeling, agent-based modelers describe the behavior of individual agents, rather than using formulas to describe the behavior or dynamics of the system as a whole. This allows for complex interactions to emerge from basic rules. In HASH, we call these rules behaviors.
A popular example of an agent-based simulation is Conway's Game of Life - a simulation performed on a grid, where each cell can be either alive or dead. Here, the cells are agents, and the rules are behaviors. The behaviors for Conway's Game of Life are as follows:
Any live cell with two or three neighbors survives.
Any dead cell with three live neighbors becomes a live cell.
All other live cells die in the next generation. Similarly, all other dead cells stay dead.
These simple interactions produce what is called emergent behavior, where simple rules create complex results.
Game of Life enthusiasts have spent years exploring the search space of the model and its possible creations.
Try playing with the Game of Life HASH model and modifying its initial state (contained in the
create_gol_grid.js file). Some arrangements of agents produce arrangements of agents known as "spaceships" that move across the grid as a group and can even generate new groups of agents.
What took Conway weeks can now be done in seconds, and with HASH you can set up experiments, run analyses, and leverage the power of cloud computing directly in your browser, extending agent-based modeling to real-world problems and scenarios with ease.