# A New Stochastic Process of Prestack Inversion for Rock Property Estimation
## 2 Methods  
### Adaptive Particle Swarm Optimization  
Particle swarm optimization (PSO) is one of the swarm intelligence (SI) algorithms that was first introduced by [PERSON] and [PERSON] in 1995, which simulates the behaviors of birds flocking randomly while searching for food in space [24]. The PSO algorithm is comprised of a collection of particles that move around the search space, influenced by their own best past location and the best past location of the whole swarm or a close neighbor [25]. When compared with a genetic algorithm (GA), PSO does not change the number of populations in each generation or change the binary encoding, mutation and crossover. It solves the fitness function which can be non-differentiable. In addition, this method can be applied to optimize the objective function in large dimensions, which can produce quality solutions more efficiently than alternative methods. As for geophysics, PSO has a good performance in the inverse problem. [PERSON] et al. used PSO to solve inverse problems and computed a fast approximation of the posterior distribution of reservoir properties [26]. [PERSON] and [PERSON] in 2007 used PSO to invert seismic data and compare GA with PSO for efficiency [27]. [PERSON] et al. (2012) used PSO in tomography and illustrated the benefits of this global optimization approach [28]. For the conventional PSO issue, the velocity and future position of each particle are updated as follows:  
\[v_{i}=\omega\times v_{i-1}+c_{1}\times rand_{1}\times(\textit{Pbest}_{i}-x_{i})+ c_{2}\times rand_{2}\times(\textit{Gbest}-x_{i}) \tag{1}\]  
\[x_{i+1}=x_{i}+v_{i} \tag{2}\]  
where \(\omega\) is inertia weight, \(c_{1}\) and \(c_{2}\) are acceleration coefficients which are usually equal to 2. \(rand_{1}\) and \(rand_{2}\) are independently random numbers within the range [0, 1]. \(\textit{Pbest}_{i}\) is the local best in each generation and \(\textit{Gbest}\) is the global best. \(x_{i}\) and \(x_{i+1}\) are the current and future position, respectively. Various types of PSO have been developed in recent decades, such as chaotic particle swarm optimization (CPSO), multi-objective particle swarm optimization (MOPSO) and discrete particle swarm optimization (DPSO), which can be applied for different issues. Adaptive particle swarm optimization (APSO), has a better performance than traditional PSO, especially in searching the global minimum in the data-domain [23]. APCO allows adaptive parameter estimation and elitist learning strategy (ELS) in optimization, which has better performance for issues of solution accuracy, convergence speed and algorithm reliability when compared to PSO. Therefore, APCO performs well in optimizing objective function and searching for the global best solution of the seismic inversion problem. Figure 1 shows the general workflow of APCO algorithm. The workflow can be described as several steps:  
1: The distribution of the population needs to be identified. When related to inversion, it means that the models of P-wave velocity, S-wave velocity and density compose one particle, and then hundreds or thousands of particles compose a swarm or a population. In each generation, these particles will add movement either by statistics or other information. \[x_{i}^{k}=\left\{v_{p}^{k},v_{s}^{k},\rho^{k}\right\} \tag{3}\]  
where \(v_{p}\), \(v_{s}\) and \(\rho\) are p-wave velocity, s-wave velocity, and density, respectively. And \(x_{i}^{k}\) is the \(k\) particle in the \(i\)_th_ iteration. 2: Generate and modify the population within the model space. 3: Estimate the evolutionary state with distance. In each generation, calculate the mean distance of particle \(i\) to all the other particles by  
\[d_{i}=\frac{1}{N-1}\sum_{j=1,j\
eq i}^{N}\sqrt{\sum_{s=1}^{D}\left(\alpha_{i}^{s }-x_{j}^{s}\right)^{2}} \tag{4}\]  
Here, \(N\) is the number of particles, and \(D\) is the number of dimension in an array. In the inverse problem, \(D\) is the number of sample points in the model.