Agent-based modeling philosophy
Agent-based models are endlessly fascinating to me. Instead of starting a model with a large dataset of historical data and trying to find statistical correlations, the agent-based modeler tries to recreate the dynamics that generated that data in the first place.
There's something curious and interesting about searching for the essence of a dynamic. Simplifying the chaos to a few simple parameters feels like a mastery of nature, if only for a moment. The fewer number of variables the better - simplicity wins.
And yet this godly scientific moment is illusory. The simulation and the story that can be inferred by data is bounded by the modeler's design.
"We should recognize that systems originate with us, human beings. We construct them by making appropriate distinctions, be they made in the real world by our perceptual capabilities or conceived in the world of ideas by our mental capabilities."
George Klir, Facets of Systems Science
Variables that matter
A famous complex systems model is the Boids model of distributed behavior by Craig Reynolds to simulate flocking behavior of birds (paper here). This undulating flow of agent birds across the screen has only three parameters: separation, alignment, cohesion.
Values between zero and two generates the complex waves like starlings in flight. Try for yourself with this P5.js Flocking app by Coding Train . Example parameter values
separation = 2.0
alignment = 1.4
cohesion = 1.0
However, arbitrary parameters are not anchored to a measure in the real world. What does 1.4 alignment actually mean? How could that possibly be measured?
Without understanding the meaning behind these parameter values in an agent-based model history can be repeated, but the behaviors creating the future cannot be influenced.
Behavior and context
Behaviors are everywhere in our digital lives. Invisible, hidden and collected by our phone, browser, and institutions. Predictions calculated about what we'll like, and each one of us has our own personal digital journey through the web.
Frequencies and stats like "likelihood to click this ad based on all the ads we've ever shown them" are trivial to implement but don't give any explicit understanding as to *why* that action was chosen. This understanding is implicit inference.
Actionable agent-based models will have behavioral parameters linked to explicit human behavior data, which can be collected via surveys, studies, and polls.
Beyond the build
Still, a modeler cannot escape their role as constructor of narratives and a small sliver of a bounded universe of interacting agents. When data scientists and executives eager to try new techniques there’s a tendency to “just collect the data and we’ll figure out what to do with it later.”
Data collection is biased, and questions have power. There is a reason why politicians fight over census questions - data is power and can be used to tell stories. So this endeavor of data curation must be thoughtful and, of course, kind
Building an agent-based model is not trivial. It takes a creative mind to observe the chaos of reality (drank through a lens of id, ego, and uniqueness of self) and distill the behavior essence to a few interacting variables drawn through time.
“ABM is a mindset more than a technology”
Eric Bonnabeau, Simulating Human Systems
This 2002 paper Simulating human systems by Eric Bonnabeau had a large influence on my interests and perspective around modeling and simulation. He discusses real-world applications for agent-based models of organizations, markets, and more.
Agent-based models for simulating human systems are useful when the population is mixed with different personas, the interaction between people is complex or nonlinear, and when the aggregate behaviors are emergent or feedback loops signaling with the environment.
Nature is the ultimate distributed system; the outdoors is a great inspiration for systems thinking. For all the constituent parts there are rules of interaction, randomness, and a shared ecosystem where dynamics unfold and create future pathways of being.
To reiterate Bonnabeau: agent-based modeling is a mindset. And the deeper we can go into the human psyche to actually understand and measure behavioral motivations, the more impactful our models and simulations become.