Ideology Diffusion Agent-based model
Proyect using NetLogo
Topics
- Multiagent Systems
- Computational Sociology
Inspired by the concept of metacreation (the idea of endowing machines with creative behavior), I began exploring complex systems by taking a MOOC on Agent Based Modeling (ABM). This field studies how systems composed of multiple individual elements (agents) interact with each other, and give rise to aggregate (emergent) properties that generally are not predictable from the elements themselves. In other words, in complex systems order can emerge without any design or designer (self-organization).
Even though these kind of systems have been studied previously by using equation-based models and fractal theory, Agent Based Modeling makes the underlying mechanisms of complex systems explicit, in a way they can be understood by young children. In 1980 Papert confirmed this hypothesis by describing a turtle agent (from Logo language)) as a “body-syntonic” object: A user could project oneself into the turtle and, in order to figure out what commands it should be given, users could imagine what they would do with their bodies to achieve the desired effect. In this way ABMs are an intuitive representation of complex phenomena that are generally difficult to apprehend.
The model I developed as a final project for the MOOC addresses the phenomenon of Ideology Difussion: How people decide which political viewpoint to adopt? Are people surrounded by those who share their same political viewpoint less likely to change theirs? What is the minimum number of influencers required for a person changing his political viewpoint (peer pressure)? On the other hand, in a system with multiple competing ideologies, does the system reach a balance (ideological segregation), or a dynamic equiliburm is established (of agents that continually change their ideology)? Can we relate the dynamics of this model to cultural segregation?
I invite you to try the model and draw your own conclusions. You can download it here. Remember to install NetLogo first.