# An Improved Shuffled Frog Leaping Algorithm for Electrical Resistivity Tomography Inversion
## 3 Inversion of ERT Based on the Shuffled Frog Leaping Algorithm
### Adaptive Movement Operator  
As shown in Equation (3), the leap distance of the frog is determined by the product of the weight coefficient rand and the distance between the best and worst individuals (\(X_{b}-X_{w}\)). By controlling the size of the weight coefficient rand, the frog leap distance can be adjusted. However, since the weight coefficient rand is a random number, the frog leap distance is updated randomly, making it difficult to fully utilize the guidance of the optimal solution. This can easily cause the algorithm to get stuck in local optima or skip the global optimum. To address this issue, this paper introduces an adaptive movement operator strategy in the research process to improve the algorithm's optimization accuracy and accelerate convergence.  
The basic concept behind the adaptive movement factor is that, in the early stages of the algorithm, the frog should take relatively large steps to facilitate a broad search for the global optimum and effectively avoid getting trapped in local optima. As the number of iterations increases, the algorithm narrows the search space around the global optimum, enabling the frog to make smaller, more precise movements to fine-tune the solution. This adaptive strategy enhances the algorithm's ability to balance exploration and exploitation, improving both its optimization accuracy and convergence speed. Consequently, in the later stages of the algorithm, the movement step size is reduced, allowing for a more refined search within the current search space and ensuring that the global optimum is not overlooked. This gradual reduction in step size helps the algorithm focus on fine-tuning the solution and achieving better convergence while still retaining the ability to explore larger areas during the earlier stages.  
After multiple experiments, this paper adopts an exponential function to design the adaptive step-size movement operator. The adaptive movement operator used in the design is  
\[\theta_{i}=a^{(sqrt(i/ii))} \tag{5}\]  
where \(i\) represents the current iteration number within the subpopulation, \(ii\) represents the current iteration number of the population, and \(a\) is set to 0.5. By introducing the adaptive movement operator, Equations (3a) and (4) are replaced by  
\[\Delta_{w}(t+1)=\theta_{i}\times\left[\left(X_{b}(t)-X_{w}(t)\right)\right] \tag{6}\]  
\[\Delta_{w}(t+1)=\theta_{i}\times\left[\left(X_{g}(t)-X_{w}(t)\right)\right] \tag{7}\]  
In the early stages of the algorithm, the population iteration counts \(ii\) as small, resulting in a larger search step size. This allows the algorithm to perform a large-scale search for the global optimum in the solution space, helping to avoid getting trapped in a local optimum. As the iteration count \(ii\) increases, the algorithm narrows down the search space where the global optimum is located. In the later stages of the algorithm, the step size decreases, enabling the algorithm to perform a refined search within the current range, which helps to prevent missing the global optimum.