Last time we have settled on what the physicists call “the interaction potential”, and now it’s time to work on the mechanics of using it.
Let’s assume we have two people initially separated by some distance in their views. We can use the force vs distance function/table/graph to estimate the “kick” each one of them receives from a single interaction. By “kick” I mean how much more their views diverge or converge relative to before the interaction happened.
At this point it’s worth pausing and reviewing how realistic this model is. In general one does not really interact, in person, online or in any other way, with every single other person. And the interactions do not happen continuously. Moreover, we tend to interact with those of like views way more often than with those of radically different views. At least most people do. Some actually spend a lot of time arguing with the strangers online. An accurate model would have to take all these and many other intricacies into account. But, as a first approximation, I want to make it simple, but still useful. So I will make the following assumption: If we have a bunch of people, we assume that everyone interacts continuously with everyone else, and changes their views in accordance with the “force” exerted between them.
So the next step is the following: given the positions of each person, calculate the overall “kick” they get from them, by adding each individual kick. How do we calculate each individual one, though? If this was a physics simulation, say, with molecules instead of people, we would probably use the Newton’s second law, the famous F=ma, to calculate the impulse from each kick over a small time interval, translate it into change in velocity, and track this velocity change and the position change from step, to step, to step… Until we are finished with the simulation. This seems unnecessarily complicated for our purposes. Humans are not molecules, though they often behave like ones in large crowds, pushing and shoving and moving together. So, instead of tracking “velocity”, we simply assume that each interaction directly results in the change in position (here the position being the opinion held, not the actual physical position, though two are often correlated, given that people tend to congregate where the like-minded people are, and physical proximity may induce opinion proximity as well).
Thus the algorithm I picked for this toy model is pretty straightforward:
for a given number of steps for each person calculate the combined kick from everyone else, given their positions relative the the person change the position of the person by the amount proportional to the kick
Of course, there are multiple adjustable parameters in this model:
- Strength of the interaction (can be modeled as the gain level relative to some preset default value).
- “Effective” distance of the interaction (can be modeled as the width of the chosen distribution, relative to some preset default value).
- Initial spread of the people’s opinions.
This should be enough to start! The next step is to actually write the program implementing the model and find a way to visualize it. I discuss it in the next post.