Opinions diverge / Networks echo and divide / Physics models why
Basis paper at JASSS (open access) · Companion model, Deffuant et al. (2000) · Review, Castellano et al. (2009) · Popular introduction (Medium)
Take a population of agents, each holding an opinion on a line, and let each one move towards the average of the neighbours whose opinion is within some distance ε of its own. Nothing else. Depending on ε the population ends in consensus, in two camps, or in many fragments, and the passage from one regime to the next is sharp. This is the bounded-confidence model, the simplest mechanism that produces polarisation from purely local, symmetric interactions. It is a statistical-mechanics problem in disguise: a many-body system with a control parameter, an order parameter, and transitions between phases, on which the tools of the degree apply directly.
R. Hegselmann and U. Krause, “Opinion dynamics and bounded confidence: models, analysis and simulation”, Journal of Artificial Societies and Social Simulation 5(3), 2 (2002), jasss.org/5/3/2.html. Open access, with every simulation described in enough detail to be rerun.
Companion: G. Deffuant, D. Neau, F. Amblard and G. Weisbuch, “Mixing beliefs among interacting agents”, Advances in Complex Systems 3, 87 (2000), the pairwise version of the same idea. Map of the field: C. Castellano, S. Fortunato and V. Loreto, “Statistical physics of social dynamics”, Reviews of Modern Physics 81, 591 (2009). The Medium article by Michael Ng is a readable first contact, not a source.
1. Study. The statistical physics of social dynamics as laid out in the Castellano review: voter, Ising-like and bounded-confidence models, order parameters, and what “phase transition” means in a finite system of agents. Network science with networkx: lattices, random graphs, small-world and scale-free topologies and the measures that distinguish them. Good practice for stochastic simulation: seeds, ensembles, error bars, finite-size scaling.
2. Reproduce. Implement the Hegselmann–Krause model (synchronous averaging) and the Deffuant–Weisbuch model (random pairwise encounters) in Python. Reproduce the time-evolution plots, the number of final clusters as a function of ε, the approximate 1/(2ε) rule for the number of clusters, and the asymmetric-confidence cases. Matching the published figures is the checkpoint.
3. Find the gaps and go beyond.
Statistical physics from the degree; Python with NumPy, networkx and Matplotlib. No laboratory work. Suitable for one student.