# A Novel Adaptive FCM with Cooperative Multi-Population Differential Evolution Optimization
## 4 Proposed Co-Evolutionary Framework
### Evaluation of Clustering Results
The ratio of the numerator and the denominator represents the clustering effect of the \(k\)th cluster. The clustering validity index is defined as the sum of the clustering effect (the ratio) of all clusters. The smaller the index is, the better the clustering effect of the dataset is, and the corresponding \(c\) to the minimum value is the optimal number of clusters. \[V_{\text{E}}=\sum\limits_{i=1}^{\frac{1}{n}\sum\limits_{j=1}^{n}x_{i}^{n}||x _{i}-u_{i}||^{2}+\frac{1}{2}||v_{i}-\overline{v}||^{2}} \tag{24}\]  
The cooperative multi-population differential evolution algorithm with elitism is presented below as Algorithm 3 and will be referred to as parallel coevolution. ``` Input: Best Subset \(\text{P}_{\text{best\_subset}}\), B number of DE strategies \(\text{DE}=\{\text{DE}_{1}\), \(\text{DE}_{2},\dots\)\(\text{DE}_{\text{B}}\}\), fitness criterion \(t\), total generations G, number of subpopulations \(\text{P}\), number of individuals in each subpopulation \(\text{P}\), number of individuals in the elite population \(\text{P}_{\text{e}}\). 1. Create P subpopulations \(\text{S}=\{\text{S}_{1},\text{S}_{2},\dots\)\(\text{S}_{\text{P}}\}\) by randomly populating \(\text{P}\) candidates for each subpopulation
2. For i = 1 to P
3. rand = random number between 1 and B
4. \(\text{DES}_{\text{i}}=\text{Assign strategy }\text{DE}_{\text{rand}}\) to \(\text{S}_{\text{i}}\)
5. End
6. Elite population \(\text{E}=\text{\O}\)
7. For gen = 1 to G
8. For i = 1 to S
9. \(\text{S}_{\text{i}}=\text{S}_{\text{i}}\) U E
10. Evolve subpopulation \(\text{P}_{\text{i}}\) using strategy \(\text{DES}_{\text{i}}\)
11. End
12. TG = Sort all \(\text{P}\) x P individuals in decreasing order of fitness using criterion f
13. Transient elite population TE = [Top \(\text{P}_{\text{e}}\) individuals from TG]
14. TTE = TE U E
15. E = [Top \(\text{P}_{\text{e}}\) individuals from TTE]
16. End
17. //Consensus-Based Selection//
18. Create bins C = \(\{\text{C}_{1},\text{C}_{2},\dots\)\(\text{C}_{\text{max},\text{n}}\}\)
19. For j = 1 to P\(\text{P}_{\text{e}}\)
20. Decode \(\text{E}_{\text{j}}=\{\text{clusters\_centers},\text{ fitness},\text{ number of clusters }\text{E}_{\text{nj}}\}\)
21. Assign \(\text{E}_{\text{j}}\) to bin \(\text{C}_{\text{k}}\) where k = \(\text{E}_{\text{nj}}\)
22. End
23. largest_bin = \(\{\text{C}_{1}\}\)
24. For j = 2 to max_n
25. If size(\(\text{C}_{\text{j}}\)) >= size(largest_bin)
26. largest_bin = largest_bin U Cj
27. End
28. End Output: Select fittest individual from largest_bin, use cluster_centers from this individual as initial cluster centers

## 5 Simulation Results

The proposed method is compared to some standard algorithms from the literature and their parameters used in this study are listed below. 1. The canonical FCM or FCM-AO is implemented with \(m=2\) and membership convergence of \(\varepsilon=0.001\). The value of \(c\) is varied from \(c=2\) to \(c=\sqrt{n}\). To compare with the proposed method, FCM-AO is run parallelly with different initializations for each value of \(c\). 2. A single differential evolution-based FCM called automatic differential evolution-based fuzzy clustering (ADEFC) in [9] is run for \(G=100\) generations with a population size of 40. The crossover probability \(C_{r}=0.8\) and the scale factor \(F_{s}=0.5\). The vector representation of DE-FCM is the same as that used in the proposed method. 3. The PSO-V variant of the particle swarm optimization-based FCM presented in [61] is based on FCM-AO when the cluster prototypes are randomly initialized. The datasets used are run for 50 particles (50 different cluster prototype initializations) for 1000 iterations. The acceleration parameters \(a_{1}=a_{2}=1.5\) and the maximum velocity is chosen as \(\Delta y_{\max}=0.25\). The number of clusters are varied from \(c=2\) to \(c=\sqrt{n}\) and all implementations are run parallelly. 4. The Kernel-based fuzzy c-means (KFCM) using genetic algorithms (GA) is named GAKFCM [32].