# A Task-Centric Cooperative Sensing Scheme for Mobile Crowdsourcing Systems
## 4 Task-Centric Cooperative Sensing Scheme
### Improved Participant Selection Scheme  
In this section, based on the _TCPS_ algorithm, we explore an improved participant selection scheme called IPSA in the MCS system. In consideration of the fairness and consumption, two key factors of the MCS, we can make the system work more efficiently. Sorting the residual power of all participants in every task cycle and dynamically choosing the high-power participants to fulfill the tasks can guarantee that every participant can take part equally in the sensing task. Meanwhile, by making the full use of current sample data which changes slowly and can be predicted in the next time we can further cut down the counts of our participant selection set, thus reducing the power consumption of the MCS. However using the predicting data will result in inaccurate data and make the selection more unreliable, so we propose a solution coping with the extra error. Initially all sensing participants are assigned to be chosen from the MCS system into the active set, and we set a priority queue to sort the sensing ability of participants over the energy consumption for the sensing tasks. Then we set a threshold of these participants' energy consumption on the sensing tasks to make the sensing participants which have worked for a long time to be set idle in the next task cycle. In this algorithm, the span of the MCS system can be extended \(N\) times where \(N\) is the task frequency number because the algorithm select a set in every task cycle instead of only selecting for one time. As defined in the second part of this paper, the matrix of real sensing data is defined as:  
\[Data_{R}=\ \left[grid_{K_{1}},grid_{K_{2}},\dots,grid_{K_{R}}\right] \tag{8}\]  
With some inaccurate sensing data as substitute for real sensing data, such as:  
\[Data^{\prime}_{R}=\left[grid_{K_{1}},grid_{K_{2}}^{\prime},\dots,grid_{K_{R}}\right] \tag{9}\]  
In the matrix \(Data^{\prime}_{R},grid_{k2}\)' is an inaccurate data. Then we use the equation to calculate matrix \(B\):  
\[B=\left(Data^{T}_{R}*Data_{R}\right)^{-1}*Data^{T}_{R}*Data_{M-R} \tag{10}\]  
To judge the error from this inaccurate data from the loss of data integrity, we define a compensation matrix to correct the \(Data_{R}\). \[\Delta E=\left[0,\Delta E_{2},0\dots\ 0\right] \tag{11}\]  
where \(\Delta E_{2}\) can be obtained from the observation offset errors proposed in those existing spatio-temporal correlation-based data collecting works [33]. To indicate the inaccurate data, the true data matrix \(Data^{\prime}_{R}\) can be obtained from the compensation matrix and the actual sensing data matrix \(Data_{R}\):  
\[Data^{\prime}_{R}=Data_{R}+\Delta E \tag{12}\]  
Then if we use this inaccurate data \(Data_{R}\) to estimate the data of idle sensing regions \(Data_{M-R}\) by Equation (6):  
\[Data^{\prime}_{M-R}=Data^{\prime}_{R}*\mathbf{B} \tag{13}\]Then the errors caused by \(\Delta E\) we define as follows:  
\[\sigma(k)=\Delta E*B,k\in 1,2,...,M-R \tag{14}\]  
where \(\Delta E\) is the error value matrix as a result of selecting sensing region K\({}_{2}\)', we define:  
\[\Delta C=max\left\{\frac{\sigma\left(k\right)}{\text{Data}_{M-R}}|\mathbf{k} \in 1,2,...,\text{ M}-\mathbf{R}\right\} \tag{15}\]  
To judge the error caused by inaccurate data from the data loss for selecting \(I_{R}\), we need to correct the formula, we define the new threshold of data integrity loss:  
\[\text{loss\_threshold}\text{' }=\text{loss\_threshold}-\Delta C \tag{16}\]  
Based on this, in a time period we can select a set \(I_{R}\) if the follow formula is correct:  
\[C=\left|\frac{Data_{M-R}^{\prime}-Dita_{M-R}}{Data_{M-R}}\right|<loss\_threshold ^{\prime} \tag{17}\]  
The IPSA is described in detail in Algorithm 2. ```
Input: Training data Data. \(I_{s}\) is the finally set of active participant selection.