**4.1 Monte Carlo Gauss-Seidel iterative algorithm**

Based on the fixed-point type necessary condition given in Lemma 2, the Monte Carlo Gauss-Seidel iterative algorithm is presented in Algorithm 1.

## **Algorithm 1**: Optimization of the sensor rules.

Given the fusion rule *F*0:


$$I\_j^{(0)}(Y\_{\vec{\eta}}) = \mathbf{0}/\mathbf{1}.\tag{26}$$

• Step 3: Iteratively search for the *L* sensor rules until a termination criterion in Step 4 is satisfied. The *n* þ 1th iteration is given as follows: for *i* ¼ 1, … , *N*,

$$I\_1^{(n+1)}(Y\_{i1}) = I\left[P\_{11}(I\_2^{(n)}(Y\_{i2}), I\_3^{(n)}(Y\_{i3}), \dots, I\_L^{(n)}(Y\_{iL}); F^0; P^{\epsilon 0}, P^{\epsilon 1})\right] \hat{L}(Y\_i),\tag{27}$$

$$I\_2^{(n+1)}(Y\_{i2}) = I\left[P\_{21}(I\_1^{(n+1)}(Y\_{i1}), I\_3^{(n)}(Y\_{i3}), \dots, I\_L^{(n)}(Y\_{iL}); P^0; P^{\varepsilon 0}, P^{\varepsilon 1})\right] \hat{L}(Y\_i)\right],\tag{28}$$

$$I\_L^{(n+1)}(Y\_{iL}) = I\left[P\_{L1}(I\_1^{(n+1)}(Y\_{i1}), \dots, I\_{L-1}^{(n+1)}(Y\_{i(L-1)}); F^0; P^{\varepsilon 0}, P^{\varepsilon 1})\hat{L}(Y\_i)\right].\tag{29}$$

• Step 4: For *i* ¼ 1, … , *N*, the termination criterion of the iteration process is

$$\begin{aligned} I\_1^{(n+1)}(Y\_{i1}) &= I\_1^{(n)}(Y\_{i1}), \\ I\_2^{(n+1)}(Y\_{i2}) &= I\_2^{(n)}(Y\_{i2}), \\ \dots &\dots \\ I\_L^{(n+1)}(Y\_{iL}) &= I\_L^{(n)}(Y\_{iL}). \end{aligned} \tag{30}$$

Remark 4: When we obtain *I*1ð Þ *Yi*<sup>1</sup> for *i* ¼ 1, … , *N*, we can compress *y*<sup>1</sup> by defining *I*<sup>1</sup> *y*<sup>1</sup> � � <sup>¼</sup> *<sup>I</sup>*1ð Þ *Yi*<sup>1</sup> if the distance <sup>k</sup>*y*<sup>1</sup> � *Yi*1k<sup>≤</sup> <sup>k</sup>*y*<sup>1</sup> � *Yi* 0 <sup>1</sup>k for all *i* <sup>0</sup> 6¼ *i*. In the same way, we can compress *yj* for *j* ¼ 2, … , *L*. In fact, the method is to find one nearest neighbor of *yj* for *j* ¼ 1, … , *L* and use the corresponding compression rule. Moreover, we can utilize the k-nearest neighbor (**knn**) to compress *yj* (see more in [41]).

Remark 5: The main computation burden of Algorithm 1 is included in (27)–(29). If we let the number of discretized points *N*<sup>1</sup> ¼ *N*<sup>2</sup> ¼ … ¼ *NL* ¼ *N* in [31], then *Pj*1ð Þ� *L Y* ^ð Þ*<sup>i</sup>* , *<sup>j</sup>* <sup>¼</sup> 1, … , *<sup>L</sup>*, and *<sup>i</sup>* <sup>¼</sup> 1, … , *<sup>N</sup>* are computed *LN<sup>L</sup>* times for each iteration, as in [31]. But they only need to be computed *LN* times in Algorithm 1. Thus, the computational complexity of Algorithm 1, i.e., *O LN* ð Þ is much less than that in [31], that is, *O LN<sup>L</sup>* � �. It is more efficient to tackle large-scale sensor networks with dependent observations and channel errors.
