# A Reputation-Based Collaborative User Recruitment Algorithm in Edge-Aided Mobile Crowdsensing
## 4 Reputation-Based Collaborative User Recruitment Algorithm
### User Reputation  
Intuitively, reputation is a key indicator for tasks to track users' historical performance and assess the accuracy of these sensing data [49]. In MCS, because of the users' random mobility, users can easily choose to participate in different tasks anywhere and at any time. However, when the cloud platform \(P\) recruits users for tasks, past reputation scores only represent the users' previous performance and credibility. There are other parameters that will have an influence on recruiting the appropriate users to complete the tasks, for instance, distance, time limitation, and so on. Therefore, the user reputation score should be comprehensively calculated based on past performance and current characteristics. In our system, the cloud platform \(P\) publishes \(n\)sensing tasks \(\theta=(\theta_{1},\theta_{2},\ldots,\theta_{n})\). The detailed information can be described as \(F_{\theta}=\left(\theta_{j}^{typ},I_{\theta_{j}},t_{\theta_{j}},R_{\theta_{j} },R\omega_{\theta_{j}}\right)\). Then the cloud platform \(P\) collects the information of all users and establishes a user reputation module to evaluate the historical performance of the users and calculate their reputation scores, which aims at selecting the proper users and promoting the whole performance on sensing and computing for tasks. With increased participation time, users would have massive records of their historical performance. However, as the former records will diminish values over \begin{table}
\begin{tabular}{c c} \hline \hline
**Symbols** & **Description** \\ \hline \(p\) & Cloud Platform \\ \(U\) & Users \\ \(\theta\) & Tasks \\ \(S_{n}\) & Static nodes \\ \(\sigma_{u_{i}}(t)\) & User reputation \\ \(B\) & Total budget \\ \(\Re_{\theta_{j}}\) & Task spatial coverage percentage \\ \(D\) & Distance factor \\ \(C\) & Cost for task \\ \(f\) & Fitness function \\ \(\alpha,\beta,\omega,\lambda\) & Balancing coefficients \\ \(\eta,\mu,\varphi\) & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Symbols and interpretations. time, these outdated data will be worthless and no longer reflect the real situation of users at present. Consequently, we should pay more attention to the recent records. Therefore, we introduce and improve Equation (6) [37] to estimate the users' reputation scores based on their past behavior. We give more weight to the last five user records and deduce the user's \(u_{i}\) past reputation scores \(\sigma_{u_{i}}(t^{-})\) before time \(t^{-}\) as follows:  
\[\sigma_{u_{i}}\big{(}t^{-}\big{)}=\sum_{N_{Complete}=1}^{\min(N_{Complete} ^{\text{cov}})}\bigg{(}\frac{1}{2}\bigg{)}\sigma_{u_{i},\text{score}}^{N_{Complete}}, \tag{6}\]  
where \(N_{Complete}\) denotes the number of tasks completed by user \(u_{i}\) and \(\sigma_{u_{i},\text{score}}^{N_{Complete}}\) is the score the task \(\theta\) calculates after user \(u_{i}\) accomplishes. We comprehensively consider the spatial and temporal coverage for the tasks, so \(\sigma_{u_{i},\text{score}}^{N_{Complete}}\) is defined by  
\[\sigma_{u_{i},\text{score}}^{N_{Complete}}=\alpha\frac{A_{u_{i},\theta_{j}}^{ \text{cov}}}{A_{\theta_{j}}^{\text{cov}}}+(1-\alpha)\frac{T_{u_{i},\theta_{j }}}{T_{\theta_{j}}}, \tag{7}\]  
where \(\alpha\) denotes the weight coefficients ranging from 0 to 1. \(A_{\theta_{j}}^{\text{cov}}\) represents the expected sensing coverage area of the task \(\theta_{j}\) and \(A_{u_{i},\theta_{j}}^{\text{cov}}\) is the coverage area that the user \(u_{i}\) senses for the task \(\theta_{j}\). \(T_{u_{i},\theta_{j}}\) denotes the working time of user \(u_{i}\) for the task \(\theta_{j}\) and \(T_{\theta_{j}}\) is the sensing duration of the task \(\theta_{j}\). A larger value of \(\sigma_{u_{i},\text{score}}^{N_{Complete}}\) signifies the excellent performance of the user for the task, which also shows higher reliability and credibility. As we know, when the cloud platform \(P\) recruits users for task \(\theta_{j}\), the user reputation module first calculates all the participants' past reputation scores.