# Realistic Aspects of Simulation Models for Fake News Epidemics over Social Networks
## 3 Model
### Agent-Based Spreading Simulation  
With reference to the SBFC model in Figure 3, two parallel spreading processes take place in our simulations:  
* Fake news spreading process: a node creates a fake news item and shares it over the network for the first time. The fake news starts to spread within a population of susceptible (S) agents. When a susceptible node gets \"infected\" in this process, it becomes a believer (B);
* Debunking process: a node does fact-checking. It becomes \"immune\" to the fake news item and rather starts spreading debunking messages within the population. When a node gets \"infected\" in this process, it becomes a fact-checker (FC).  
Based on the content of the messages found in its own feed upon accessing the OSN, an agent has a probability of being infected (i.e., either gulled by fake news from other believers or convinced by debunking from other fact-checkers) and a probability of becoming a fact-checker itself. If the agent changes its state, it has a probability of sharing its opinion to its neighbors. If the agent is a bot, it is limited to sharing the news piece. The algorithmic description of the node infection and OSN interaction process is provided in more detail in Algorithm 1. For better clarity, we also provide a diagrammatic representation of our agent-based fake news epidemic simulation process in Figure 4. The diagram reproduces the operations of each agent and helps differentiate between the baseline behavior and the improvements we introduce in this work. In the figure, margin notes explain these improvements, showing where enhancements (such as time-varying news engagement, weighted networks, and non-synchronous social network access) act to make the behavior of the nodes more realistic.  
Figure 3: Fake news epidemic model. S, susceptible; FC, fact-checker; B, believer.  
Figure 4: Diagrammatic representation of our fake news epidemic simulation process.  
```
\(A\leftarrow\) node connected at time \(t\) if\(A\) is a botthen \(A\) shares the fake news item if\(A\) is a fact-checkerthen \(r_{A}\leftarrow\) sharing rate of \(A\) \(A\) shares the debunking message with all neighbors with probability \(r_{A}\) if\(A\) is a susceptible or a believer agentthen while\(A\) has unread messages \(m\) in the feeddo \(m\leftarrow\) message \(E\leftarrow\) engagement of message \(m\) at time \(t\) // \(m\) can be fake news or debunking \(v_{A}\leftarrow\) vulnerability of \(A\) \(w_{m}\leftarrow\) trust in the sender if\(m\) is a debunking messagethen  Consider \(E\) decreased by a factor \(k\) \(p_{spread}\gets v_{A}\cdot w_{m}\cdot E\) \(A\) agrees with the content of \(m\) with probability \(p_{spread}\) // After scanning all messages, A can become either a believer of a fact-checker if\(A\) did not become a believer and was not convinced by any debunking messagethen \(R_{A}\leftarrow\) recovery rate of \(A\) \(A\) becomes fact-checker with probability \(R_{A}\) if\(A\) became a believerthen \(r_{A}\leftarrow\) sharing rate of \(A\) \(A\) shares the fake news item with all neighbors with probability \(r_{A}\) elseif\(A\) became a fact-checker or was convinced by a debunking messagethen \(r_{A}\leftarrow\) sharing rate of \(A\) \(A\) shares the debunking with all neighbors with probability \(r_{A}\)  Generate the time \(t^{\prime}>t\) of the next access to the network
```  
**Algorithm 1**Spreading of fake news and debunking.