Learn the basic terminology

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 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.

Check out Conway's Game of Life model in HASH

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 `init.json`

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.**