What is agent-based modeling (ABM)?
Agent-based modeling (ABM) builds a model from many individual actors following their own simple rules, so the overall pattern emerges from their interactions.
Agent-based modeling (ABM) diagram example
Agent-based modeling (ABM) builds an agent-based model, which represents a system as a population of separate actors, called agents, each with its own state and rules. Agents might be customers, traders, vehicles, or cells. The model is useful when differences between individuals matter and when the overall pattern emerges from many local decisions.
How it works
Instead of equations for totals, you give each agent a rule such as buy if the price is below my limit, or copy the choice of my neighbors. Then you let them interact over many steps. Patterns that nobody programmed, such as traffic jams, price bubbles, or clusters, can appear. The cost is complexity: results depend on many details, and it is hard to tell which rule caused which pattern. For questions about totals and feedback, a stock-and-flow model is often simpler and as accurate.
A good practice is to start with the simplest rules that could produce the pattern, then add detail only when the model fails to match reality. Each added rule should earn its place by explaining something new.
Example
Say 1,000 shoppers each have a private maximum price drawn between 5 and 15. A product is priced at 10. Roughly half of the shoppers, 500, have a limit above 10 and buy. If the price rises to 12, about 30 percent, which is 300, still buy. The demand curve was not assumed. It emerged from adding up individual rules. This is an illustration with round numbers.
How to model it in Machinations
Machinations works mainly at the aggregate level, but you can approximate groups of agents with Pools, one per type, and use a Gate to split them by a probability. Registers can hold each group's rule. Play many times at once to see the spread of outcomes that comes from randomness.
See agent-based modeling (ABM) in a system you can Play
Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.