# Partisan voter model

While doing literature review for my postdoctoral project I have taken a look at [1]. I have even implemented related interactive apps, but I have forgotten about them and not written a post about the model on Physics of Risk.

In this post I'll introduce you to the, idea of which is quite simple - voters are partisans in a sense that they will more readily accept opinions, if they are already predisposed. And I'll share an interactive app, which implements the model on a fully connected network.

## Model

Let us assume that voters have two opinions: internal and external. Internal opinion is defined at the start of simulation, while external opinion changes according to the usual rules of the voter model. Only the transition rates are heterogeneous based on whether the considered opinion matches the internal opinion.

Algorithm behind the model can be describe as follows:

1. Pick two random agents. Let the first agent have external opinion $$e_1$$ and internal opinion $$i_1$$, while we care only about the external opinion $$e_2$$ of the second agent.
2. If $$e_1 = e_2$$, nothing happens in the current iteration.
3. Otherwise the first agent will consider changing his opinion. If $$i_1 = e_2$$, then this change will occur with rate $$1 + \varepsilon$$. If $$i_1 \neq e_2$$, then the change will occur with rate $$1 - \varepsilon$$.

Couple of things of note. Some of the agents may have different internal and external opinions, $$e_k \neq i_k$$, which means that they are discordant. Discordant agents will strive to match their internal and external opinions by favoring peers with opinions matching their internal opinion. The degree of the "favoring" is controlled by rate $$\varepsilon$$. If $$\varepsilon = 1$$, then agents are perfect zealots - they will not consider opinions not matching their internal opinion at all (zero transition rate).

In the mean-field limit one can easily derive a set of ODEs, which approximate dynamics of the agent-based model:

$$\partial_t b_d = - 2 \varepsilon b_c b_d + \left( 1 - \varepsilon \right) b_c r_c - \left( 1 + \varepsilon \right) b_d r_d ,$$

$$\partial_t b_c = 2 \varepsilon b_c b_d - \left( 1 - \varepsilon \right) b_c r_c + \left( 1 + \varepsilon \right) b_d r_d .$$

In the above $$b_c$$ and $$b_d$$ stand for blue "concordant" and "discordant". Likewise $$r_c$$ and $$r_d$$ stand for red "concordant" and "discordant". To complete the set ODEs one needs to obtain ODEs for reds. These have identical form to the ODEs above with interchanged $$r \leftrightarrow b$$.

It is easier to study the dynamics of the model by considering global external magnetization:

$$M = \left( r_c + b_d \right) - \left( r_d + b_c \right) .$$

This observable is useful and make sense in the context of opinion dynamics, because it indicates average public opinion. Total fraction of discordant agents is also a useful metric:

$$D = r_d + b_d .$$

In general these two observables do not provide complete information about the system, but we know that internal opinions remain fixed from the simulation start. Hence:

$$r_c + r_d = p_{int} = \mathrm{const} ,$$

Another initial state parameter $$p_{ext}$$ sets the probability that any agent will be red "externally" at $$t = 0$$. Unlike the probability to be red "internally" it will not correspond to any useful constant.

Analysis of the model dynamics on the M-D plane shows that there three stationary points - opposite consensus states ($$M = \pm 1$$ and $$D = 0.5$$) and self-centered polarization state ($$M = 0$$ and $$D = 0$$). Self-centered polarization corresponding to stable stationary point, while consensus states are saddle points. Yet this analysis applies only in the thermodynamic limit $$N \rightarrow \infty$$. For a finite system only the consensus states are stable.

Hence [1] had considered the consensus times of this model for various $$N$$. The researchers have found that this model reaches consensus slower than the classical voter model.

## Interactive app

Below you should see an app, which implements Masuda's partisan voter model on fully connected network (every agent is able to interact with every other agent). In the upcoming post we will share an implementation of this model on a two-dimensional grid.

Notice that for non-trivial values of $$\varepsilon$$ the model appears to not be able to settle down close to the self-centered polarization state. Will you be patient enough to wait for the model to settle down into some consensus state?

Note that this app colors agents (cells) according to their external opinion, while in the equations above they are referred to by their internal opinions.

Acknowledgment. This post was written while reviewing literature relevant to the planned activities in postdoctoral fellowship ''Physical modeling of order-book and opinion dynamics'' (09.3.3-LMT-K-712-02-0026) project. The fellowship is funded by the European Social Fund under the No 09.3.3-LMT-K-712 ''Development of Competences of Scientists, other Researchers and Students through Practical Research Activities'' measure.