Nicholas Khorasani

Computer Engineer | Software Engineer

Tolerance in Polarized Societies: A Game Theoretic Agent-Based Model

May 2024

TLDR

  • Built an agent-based game-theoretic simulation in Python modeling ideological polarization and opinion dynamics.
  • Implemented the Multiplicative Weights no-regret learning algorithm for enabling agents to adapt their strategies throughout the simulation.
  • Designed utility functions balancing ideological distance and tolerance.
  • Simulated various initial conditions to observe their impact on polarization dynamics.

Project Overview

This project simulates ideological polarization in a population of agents, each with a fixed belief and an adaptive strategy for tolerating disagreement. At each round, agents are randomly paired and decide how tolerant to be, earning utility based on both ideological distance and mutual tolerance.

We observed that despite initial biases, many agents converge toward higher tolerance over time. This emergence of cooperation highlights how simple rules and repeated interactions can produce complex societal dynamics.

Simulation Details

The simulation models 1,000 agents. Each agent:

  • Holds a fixed ideology (from -1 to 1).
  • Chooses a tolerance level (low, medium, or high) each round.
  • Receives utility based on ideological distance and the joint tolerance decision.

Tolerance strategies evolve over time using no-regret learning — specifically, the Multiplicative Weights (MW) algorithm. Agents shift probability mass toward strategies that perform better in interactions.

Full Report and Code

📄 Project Report (PDF)

💻 GitHub Repository

What I Learned

  1. Implemented no-regret learning in an agent-based simulation from scratch.
  2. Designed utility functions that balance ideological similarity with openness to opposing views.
  3. Observed the emergence of cooperative behavior across diverse initial conditions.
  4. Gained deeper insight into how global patterns can emerge from local interactions.

Contributions and Acknowledgements

Built by Nicky Khorasani and Eli Propp for Multi Agent Systems (Spring 2024) at the University of Waterloo taught by Professor Seyed Majid Zahedi.