Opinions as points on a line
The Deffuant-Weisbuch bounded-confidence model represents each agent's opinion as a single number, usually on [0, 1] — think of it as a position from one extreme to another on some issue. Agents meet in random pairs, and whether they influence each other at all depends on a single rule: they only update if their opinions are already close enough.
for a random pair (i, j) meeting at a step:
if |x_i - x_j| < epsilon: # bounded confidence threshold
x_i += mu * (x_j - x_i)
x_j += mu * (x_i - x_j) # (using the pre-update x_i)
else:
# opinions too far apart -- no interaction, both stay unchanged
epsilon = confidence bound (how open-minded agents are)
mu = convergence rate, 0 < mu <= 0.5
Why a threshold changes everything
Without the threshold ε, repeated random pairwise averaging always drags the whole population toward one shared opinion — averaging is a contraction, and with unlimited exchanges over unlimited time it converges to consensus. The bounded-confidence threshold breaks that guarantee: two agents who disagree by more than ε simply never influence each other, no matter how many times they meet, so the population can permanently split into isolated clusters that never again interact once the gaps between them exceed ε. This single rule — ignore anyone too different from you — is the entire mechanism behind everything from consensus to complete polarisation in the model.
Three regimes, one parameter
Sweeping ε from large to small moves the model through three qualitatively different outcomes. A large ε (roughly above 0.5) means almost everyone is within range of almost everyone else, and the population converges to a single consensus opinion. A moderate ε produces polarisation: two or three stable clusters form, each internally agreeing but too far from the others to ever interact again. A small ε (roughly below 0.2) leaves opinions too fragmented to cluster much at all — many small, mutually isolated groups persist indefinitely, a state sometimes called fragmentation. Real social platforms are frequently argued to behave like the moderate-ε regime: not full consensus, not complete fragmentation, but a small number of firmly separated camps.
Echo chambers as an emergent, not designed, outcome
Nothing in the model explicitly creates an "echo chamber" — there is no rule that says agents seek out similar others or avoid dissimilar ones beyond the local averaging rule. Echo chambers and filter bubbles emerge purely from the interaction between random mixing and the bounded-confidence cutoff: once a cluster's internal spread narrows to less than ε and its distance to the next-nearest cluster exceeds ε, that cluster is permanently sealed off, even though every agent inside it still meets outsiders at exactly the same rate as before. This is a useful, humbling result for thinking about real platforms — a recommender algorithm does not need to be deliberately isolating people for echo chambers to appear; simple homophilous influence with any threshold at all is sufficient.
What breaks a stable cluster apart
Two levers reliably prevent permanent fragmentation in extensions of the base model: raising ε lets more distant agents still interact, which is the direct route back toward consensus; and adding a small amount of opinion noise or occasional random reassignment gives clusters a chance to drift close enough to merge, or lets a stubborn outlier occasionally re-enter range of the mainstream. Real-world analogues are intuitive — broader exposure to different perspectives (larger effective ε) and some tolerance for randomness or serendipity in who you interact with (noise) are exactly the mechanisms proposed to reduce polarisation in real social networks, which is part of why this simple model is cited so often outside physics and applied maths.
Frequently asked questions
Is the bounded-confidence threshold epsilon the same for everyone?
In the base Deffuant model, yes — every agent shares the same open-mindedness threshold. Extensions give agents individual thresholds (some more open-minded than others), which generally makes the more open agents act as bridges between clusters that would otherwise stay permanently separated.
Why don't opinions just converge to one value eventually, given enough time?
Because once two clusters' opinions differ by more than epsilon, no further pairwise meeting between their members can ever cause an update — the bounded-confidence rule makes that separation permanent, not just slow. Consensus only happens when epsilon is large enough that no stable gap that size can form in the first place.
What real-world behaviour does this model try to capture?
The idea that people update their views toward others they consider reasonably credible or similar, but dismiss views that are 'too extreme' or too far from their own without engaging with them — a simplified but useful stand-in for confirmation bias and selective exposure that produces realistic-looking polarisation and echo chambers from a very small rule set.
Try it live
Everything above runs in your browser — open Opinion Dynamics and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.
▶ Open Opinion Dynamics simulation