# A Novel Adaptive FCM with Cooperative Multi-Population Differential Evolution Optimization
## 4 Proposed Co-Evolutionary Framework
### Differential Evolution Algorithms
DE/current-to-best/1: The current-to-rand strategy is modified so that the scaled difference between a randomly chosen candidate and the target vector is replaced by the difference between the best candidate in the present generation and the target vector. \[\mathbf{m}_{i}(g+1)=\mathbf{p}_{i}(g)+F_{s}[\mathbf{best}(g)-\mathbf{p}_{i}( g)]+F_{s}[\mathbf{p}_{1}(g)-\mathbf{p}_{2}(g)]\] (11)  
DE/rand/2 may result in better perturbation than strategies that use one difference vector [52]. DE/best/1 and DE/best/2 take advantage of the best candidate solution in the current population and have faster convergence towards the optimal solution [53]. DE/current-to-best/1 achieves a compromise between exploitation and exploration of the solution space, whereas DE/current-to-rand/1 has a rotation-invariant mutation strategy [54]. After mutation, the crossover operator is used to create trial candidates called trial vectors which then replace the target vector in the next generation based on their relative fitness. The trial vector is created using a bitwise or binomial crossover operator control by the crossover rate parameter \(C_{r}\) from the interval [0, 1] as,  
\[\mathbf{u}_{i,j}(g+1)= \begin{cases}\mathbf{m}_{i,j}(g+1)&\text{if}\,\,\eta\leq C _{r}\,\text{or}\,j=\text{randint}(1,d)\\ \mathbf{p}_{i,j}(g)&\text{otherwise}\end{cases}  \tag{12}\]  
where, \(\eta\) is a random number generated by using the uniform probability distribution in [0, 1]. The random integer _randint_(1, \(d\)) is an integer in the range [1, \(d\)] and is used to ensure that at least one mutant vector parameter is taken into account for constructing the trial vector. Since the binomial operator is used to effect bitwise crossover, the strategies are suffixed with a /bin, e.g., DE/rand/1/bin. The other commonly used crossover operator with differential evolution is the exponential operator. A starting point (bit) for crossover is chosen at random, and bit-wise elements of the trial vector either come from the mutant vector or the target vector depending on a series of Bernoulli experiments of probability \(C_{r}\). The trial vector takes the mutant vectors bits until the Bernoulli experiment is unsuccessful for the first time or the trial vector is already complete. The remaining bits then come from the target vector. Together, the two parameters (\(F_{s}\) and \(C_{r}\)) constitute the parameter set of the differential evolution algorithm. It is not difficult to see why DE is so popular--unlike other population-based optimization methods, DE only uses two parameters which for most problems are easy to tune. To evolve a candidate, a tournament selection operator is used to compare the trial vector to the candidate vector using a one-to-one greedy selection criterion. The trial vector replaces the candidate vector in the new generation if it is better as measured by the fitness function \(f\), otherwise the candidate vector in previous generation is retained. \[\mathbf{p}_{i}(g+1)= \begin{cases}\mathbf{u}_{i}(g+1)&\text{if}\,f\left( \mathbf{u}_{i}(g+1)\right)>f\left(\mathbf{p}_{i}(g)\right)\\ \mathbf{p}_{i}(g)&\text{otherwise}\end{cases}  \tag{13}\]  
In addition, several updates of the basic strategy and its variations have been proposed with a view of speeding up convergence with good exploration in the initial generations. The other consideration is the self-tuning of the two parameters in the DE parameter set. The updates used in this paper are listed below. 7. Composite DE (CoDE): This variant uses three different mutation strategies and three control parameter settings, combining them randomly to create trial vectors [55]. The three mutation strategies are rand/1/bin, rand/2/bin, and current-to-rand/1. The binomial crossover operator is not applied to current-to-rand/1. The choice of three control parameter settings will be discussed in Section 5. In a generation, for every target vector, three trial vectors are created using each of the mutation strategies with one of the control parameter settings combined in a random manner.