# Mutual Influence of Users Credibility and News Spreading in Online Social Networks
## 3 Trust Based News Spreading Model
### CN Layer  
While the spreading process is influenced by the credibility, it is also true that directed credibility between any couple of users also depends on the past interactions between them. So the spreading process also determines how credibility changes over time.  
To consider the evolution of \(C_{ji}\) over time, we introduce a credibility update mechanism triggered every time a spread node \(i\) proposes news to an uninformed node \(j\). In the following we suppose that each news is labelled by a number \(x\) (\(x=\{1...n\}\)). An ignorant node \(j\) that was exposed to a (new or re-shared) news \(n\) calculates the credibility towards node \(i\) taking into account all past interactions by using the following equation:  
\[C_{ji}(n)=\frac{\sum\limits_{x=0}^{n}(x+1)C_{news_{x}}}{\sum\limits_{x=0}^{n} (x+1)} \tag{3}\]  
where \(C_{news_{x}}\) is the credibility \(j\) assigns to the news \(x\).  
This equation is a weighted average that allows credibility for \(i\) to be updated according to \(j\)'s opinion about the truth of news it receives from \(i\). Indeed, in real OSNs people can change their behaviour over time, for instance, a node that often re-posted false news in the past could start to check news and stop forwarding fakes, or conversely a reliable node could get worse by starting to spread false news; in any case Equation (3) gives its neighbors a chance to tailor the credibility according to the truthfulness of news it propagates over time. To better understand the behaviour of Equation (3) over time, we simply rewrite it (through a series of simple mathematical steps) in the following way:  
\[C_{ji}(n)=\begin{cases}C_{news_{0}}&\text{if }n=0\\ \frac{n}{n+2}(C_{ji}(n-1)+\frac{2}{n}C_{news_{n}})&\text{if }n>0\end{cases} \tag{4}\]  
where the credibility \(j\) assigns to \(i\) after the propagation of the \(news_{n}\), is expressed in terms of the credibility at the previous step plus the credibility \(j\) assigns to the \(news_{n}\).  
To show how Equation (4) works, in Figure 2a,b several simulated scenario are reported. In each scenario we simulate the propagation of 200 news. Scenario \(CT\) is the simple case in which \(i\) propagates to \(j\) news that are always true. In this case \(C_{ji}\) assumes the constant value of \(1\) (\(j\) fully trusts \(i\)). In scenario \(CF\), \(i\) propagates always fake news, so \(C_{ji}\) is always zero. In scenario \(TF\), \(i\) spreads true news for \(n=1...50\) and fake news for \(n>50\). In this case, \(C_{ji}\) is initially equal to 1, but after the 50 th news it rapidly decreases to 0, assuming the value of 0.5 after only other 20 (fake) news. So, a user can lose half of his credibility if he/she spreads about 20 completely fake news. Scenario \(FT\) is the dual of \(TF\). It shows how a user can gain credibility by spreading completely true news. In Figure 1(b), scenario \(RTF\) simulates a user \(i\) that initially spreads 50 'almost true' news and then switches to 'almost false' news. Arbitrarily, we are supposing that user \(j\) assigns a random score in the range \([0.75,1.0]\) and \([0.0,0.5]\) respectively to 'almost true' and 'almost false' news. Again \(RTF\) is the opposite scenario of \(RTF\).  
In general, how a given user scores a news is a quite subjective issue. However, just for simulation purpose we will assume the following values for each \(C_{news_{x}}\):  
* \(C_{news_{x}}=0\) if the news \(x\) is false;
* \(C_{news_{x}}=1\) if \(x\) is true,
* if \(x\) is false but perceived as true (e.g., it cites false authoritative sources, and/or it seems coming from logical reasoning or it starts from a real event), then \(C_{news_{x}}\in[0,0.5]\),
* if \(x\) is true but perceived as false (e.g., it does not cite any sources, it is poorly described or its content is strange enough to sound fake), then \(C_{news_{x}}\in[0.5,1]\).