# Resilient Consensus Control for Multi-Agent Systems: A Comparative Survey
## 3 Resilient Control for MASs
### Spoofing Attack
It also stipulates that the error values received by the attacked agents are the same and will not vary as the topology changes, resulting in low practicability of the conclusion. Ref. [70] studies the substitution spoofing attack on the transmission channel of the neighbor node, as shown in Figure 3. It only borrows the concept of the \"F-local\" to limit the maximum number of simultaneous attacks:  
\[\mid\{j\in\mathcal{N}_{i}(k):(j,i)\in\mathcal{E}_{A}(k)\}\mid\leq F,\ F\in \mathrm{R}, \tag{30}\]  
where \(\mathcal{E}_{A}(k)\) is the topological edge set that is attacked at time point \(k\). Let \(\mathcal{E}_{T}(k)\) be the trust edge set that is known to not be attacked:  
\[x_{j}^{i}(k)=d_{j}^{i}(k),\ j\in\mathcal{N}_{i},\ (j,i)\in\mathcal{E}_{A}(k), \tag{31}\]  
\[x_{j}^{i}(k)\equiv x_{j}(k),\ j\in\mathcal{N}_{i},\ (j,i)\in\mathcal{E}_{T}(k), \tag{32}\]  
where \(x_{j}^{i}(k)\) denotes the information received by node \(i\) through the edge \((j,i)\) at time point \(k\), and \(d_{j}^{i}(k)\) represents the error value. It can be proved that as long as the agent has a trust entry edge, all of its state values will always fall under a trust state value on the interval. Suppose that \(H(k)\) and \(h(k)\), respectively, represent the largest and minimum state values. When the deception attack occurs on the entry edge of agent \(i\), one has \(x_{ij}\
otin[h(k),H(k)]\). If \(x_{ij}\) is used to update the controller, the agent \(i\) may output an abnormal state value, which can lead to the extension of adjustment time, or even system instability. Then, one can design a weighted average sub-sequence reduction algorithm with trust edge set based on [71], so as to complete the screening of problematic state values. The algorithm can be summarized as the following: when there is no trust edge, from the sequence of state values sorted according to size obtained at each time, taking its own state value as the boundary, the first \(F\) and the last \(F\) state values are screened out; However, if there are trust edges, only the trust values will be sorted and directly used for updating, and other state values will not be processed:  
\[x_{i}(k+1)=x_{i}(k)+c\sum_{j\in\mathcal{R}_{i}(k)}a_{ij}(k)(x_{j}^{i}(k)-x_{i}( k)),\ i=1,\ldots,N, \tag{33}\]  
where \(\mathcal{R}_{i}(k)\) is the set of state values for updating after screening. If updated according to the above method, \(x_{i}(k+1)\in[h(k),H(k)]\) will always be satisfied and extreme deviation due to attack will not occur. When there is no trust edge set in the system, if the topology has \(2F+1\) robustness [71], the system can achieve elastic consensus under \(F\)-local deception attacks. Compared with [67; 68], (32) does not introduce random variables of spoofing attacks, so it can achieve more accurate consensus. When the system topology is time-varying \(\mathcal{G}(k)=(\mathcal{V},\mathcal{E}(k))\), the robustness condition needs to be satisfied in a sufficiently long continuous time series to ensure that each node is sufficient to screen the sequence and broadcast the state values accurately. When the system has a trust edge set, the situation is similar, except that the condition of robustness should be consistent with the trust edge set: that is, it should have \(2F+1\) generalized robustness with respect to \(\mathcal{E}_{T}\)[70]. In order to further improve the practicability of the conclusion, ref. [70] also considers the situation that the topology does not meet the robustness. If the topology \(\mathcal{G}(k)=(\mathcal{V},\mathcal{E}(k))\) has a spanning tree in a sufficiently long continuous time--that is, the consensus topology has a spanning tree--it can also achieve elastic consensus in a time-varying topology. Further, when \(\mathcal{G}_{T}(k)=(\mathcal{V},\mathcal{E}_{T}(k))\) contains a spanning tree, the goal can also be achieved.