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