## 2 Materials and Methods
### Recursive Exhaustive Search for Sensor Placement  
Analytically determining the optimal sensor placement in space is not feasible [5; 6; 9; 10; 41], necessitating methods such as exhaustive search (ES) to explore all possible configurations within a discrete search space defined by a rasterization value \(r_{e}\). However, due to the continuous nature of the sensor positions, the coverage achieved with ES may not be optimal. In addition to the problems with the discrete search space that affect the accuracy of the optimization algorithms, the computational complexity is usually high and often results in the need to find a balance between accuracy and computational complexity.  
To tackle both the accuracy and computational complexity of ES, a recursive exhaustive search (RES) approach was developed that combines the concepts of ES and greedy search (GS) to recursively traverse the environment in search of the optimal solution. In RES, the potential sensor positions are initially separated by \(r_{e}\), same as in ES. As shown in Algorithm 1, in each iteration, the search space area is recursively refined around the positions with the highest coverage until the termination conditions are met.  
The step size \(r_{e}\) for ES was chosen so that it is one order of magnitude lower than the rasterization value of the environment \(r_{\text{v}}\). The coverage value C is calculated for each of the possible positions and the position or positions with the highest coverage value are selected. With RES, this process is repeated at each iteration, shrinking the search space around the selected position and halving its size for each of the axes of the global coordinate system. In each iteration, the value of \(r_{e}\) is also reduced by one order of magnitude. The execution is terminated if the size of the search space falls below the value of the floating point precision \(r_{e}\leq 1\times 10^{-8}\,\text{m}\).  
```
1:\(r_{e}=1.0\)
2:\(lower\_bounds=[x_{min},y_{min},z_{min}]\)-initially set to lower bounds of environment model
3:\(upper\_bounds=[x_{max},y_{max},z_{max}]\)-initially set to upper bounds of environment model
4:functionRES(\(r_{e},lower\_bounds,upper\_bounds\))
5:if\(r_{e}\leq 1\times 10^{-8}\)then
6:return\(0,None\)
7:endif
8:\(potential\_solutions\leftarrow\) sample the area between \(min\) and \(max\) values for each axis with a step size of \(r_{e}\)
9:\(C_{max},best\_solutions\leftarrow\) solution(s) with highest coverage value \(C\) from the \(potential\_solutions\)
10:\(half\_dim=(upper\_bounds-lower\_bounds)/4\)
11:for\(solution\) in \(best\_solutions\)do
12:\(C,current\_solutions\leftarrow\) RES(\(r_{e}/10,solution-half\_dim,solution+half\_dim\))
13:if\(C>C_{max}\)then
14:\(C_{max}=C\)
15:Replace \(best\_solutions\) with the \(current\_solutions\)
16:elseif\(C==C_{max}\)then
17: Append \(current\_solutions\) to the list of \(best\_solutions\)
18:endif
19:endfor
20:return\(C_{max},best\_solutions\)
21:endfunction
```  
**Algorithm 1** Recursive Exhaustive Search (RES)  
While ES provides comprehensive coverage exploration, RES offers a refined approach with reduced computational demands. Further optimization of RES may enhance its practical applicability for sensor placement problems in real-world scenarios.