Opinion Dynamics Model
1 Motivation
Dynamics of decision making is commonly known to be much more than just the choice between right or
wrong or black and white, but can be seen much more to be based onto a continuous scale. For example
the political attitude of a person is usually somewhere in the middle between a left-wing and a right-wing
extremist. Reasons for that are quite obvious but yet the underlying dynamics are very interesting and
are going to be investigated with this model.
2 Model Definition
We consider a large number of N individuals (agents) and we let 1 denote a radical right-wing attitude
and −1 the opposing left-wing attitude. At the beginning of the model every individual is assumed to
have its own independent opinion respectively a random number between 0 and 1. We will furthermore
observe the behavior of the individual opinions after the human start to interact with respect to their
political attitude.
We assume that, whenever two people with attitude x1 and x2 meet, they either neglect each other as
their attitude is too different, or start discussing about politics adjusting their attitude towards their
discussion partner. Hence:
(x1, x2) → (x1 + µ(x2 − ( xx 11 ), x , x2 2)+ , µ( |x x1 1 − −x x2 2|)) > τ , |x1 − x2| ≤ τ (1)
We hereby speak of a so called threshold τ > 0 and an adjustment parameter 0 < µ ≤ 0.5. The bigger τ,
the more likely two individuals adjust their opinions. In case µ = 0.5 two discussing people always find
a perfect consensus and always get out of a discussion with the same attitude.
The model is performed dynamically with equidistant time steps:
1. Pick two agents at random
2. Compare their opinions
3. If the difference is larger than the threshold skip and start with the next time-step
4. Otherwise adjust their opinions according to (1) and start the next time-step.
Of course the model dynamics is ends up with clustering-efects as more and more people adjust their
opinions towards each other. Dependent on the size of the adjustment parameter and the threshold either
one or even more clusters appear in the end. Those could be translated with political parties.
3 ToDo's
Task 1
Implement the basic model in MATLAB and perform some test-runs for about N = 1000
and 20000 timesteps.
1
Task 2
Perform a parameter-sweep to find out which parameterset (τ,µ) causes how many clusters and where
they are located.
Task 3a
Place the agents on a rectangular lattice and replace the first point in the time steps by:
"Pick two neighboured agents at random". Try out and compare the results of different types of neighbourhoods (Moore, Von Neumann, Moore 2nd order,...). Investigate the clustering efects not only in
terms of a timed graph but also in terms of a heat-map of the grid.
Task 3a
Apply a so called movement phase - i.e. agents can switch their positions at the end of each time-step in
order to get new neighbours.
Task 4a
Instead of investigating spatial relationships via a grid, place all N agents into an abstract environment
and implement a network structure between the agents. I.e. create a number of links (edges) between
the agents, so that any two agents (vertices of the network) connected with a network edge means, that
they are having social interaction with each other (may talk to each other). As it is not trivial, how to
draw the edges in order to receive a realistic social network, leave it unmentioned.
Run the model with the developed static network, so that a picked agent may talk to a randomly picked
connected agent.
Task 4b
Think about updating the network in time, as social interactions are in general not static.
Programming Language
MATLAB (Cellular automata result)
Hi! My name is Fernando Téllez. I am a senior year student of electrical engineering at Universidad Simón Bolívar (USB), one of the most prestigious universities in my country (Ranked 34° at the QS University Rankings: Latin America 2015).
I code using matlab ON A DAILY BASIS to solve any kind of engineering, logical, statistical and mathematical problem.
€35 EUR in 3 Tagen
4,9 (7 Bewertungen)
3,8
3,8
6 Freelancer bieten im Durchschnitt €37 EUR für diesen Auftrag