# A Cellular Automata-Based Crossover Operator for Binary Chromosome Population Genetic Algorithms
## 5 CGACell Operator for Binary Chromosomes Population of Genetic Algorithms  
In this section, the crossover operator based on cellular automata is introduced (_CGACell operator_) for the case of chromosomes represented by genes with binary values. Consider a cellular automaton \(\gamma\) and a genetic algorithm \(G\) with the population consisting of genes with binary values \(P(t)=\{ch_{1},ch_{2},\ldots,ch_{nc}\}\), where \(ch_{i}\) is the \(i\) chromosome, \(ch_{i}=\{g_{i1},g_{2},\ldots,g_{ng}\}\), \(g_{iq}\in\{0,1\}\) for \(q=\overline{1..ng}\) and \(i=\overline{1..nc}\), \(nc\in\mathbb{N}^{*}\) is the number of chromosomes in \(P(t)\) at time \(t\in\mathbb{N}^{*}\), and \(ng\in\mathbb{N}^{*}\) is the number of genes of the chromosomes \(ch_{i}\) with \(i\in\mathbb{N}^{*}\). Definition 5 (CGACell Crossover Operator): The crossover operator CGACell is defined for a population of binary chromosomes \(P(t)=\{ch_{1},ch_{2},\ldots,ch_{nc}\}\), a cellular automaton \(\gamma\) (\(k\)-dimensional, \(k\in\mathbb{N}^{*}\)), and a neighborhood \(V_{h}\) established according to a given template for taking neighbors, where \(V_{h}=\{v^{1},v^{2},\ldots,v^{n_{t}}\}\), \(v^{i}\in\mathbb{N}^{k}\), \(i=\overline{1..n_{r}}\), \(nr\in\mathbb{N}^{*}\) is the elements number of \(V_{h}\), as follows:  
\[CGACell(\mathbb{C}_{s},V_{h},\gamma)=kD\ CA(C_{s},V_{h},\gamma), \tag{1}\]  
Figure 16: The Order Crossover (OX) for two parent chromosomes with 9 genes in the component and the parameters of the four cutting positions equal to 2, 4, 6, and 7. _where \(kD\ CA(C_{s},V_{h},\gamma)\) represents the descendant chromosome obtained by applying a \(k\)-dimensional cellular automaton (\(kD\ CA\)) on a set of chromosomes \(C_{s}\) (with \(C_{s}\subset P(t)\)) chosen by the selection techniques established by \(GA\), with a cardinality correlated with the size of the neighborhood used \(V_{h}\)._  
**Remark 3** (**CGACell ECA**). : _In the one-dimensional case of cellular automata, the crossover operator CGACell ECA is obtained. We have the relationship \(CGACell(C_{s},V_{h},\gamma)=1D\ CA(C_{s},V_{h},\gamma)\), where the neighborhood \(V_{h}\) consists of three elements represented by the neighboring cells on the left and right of the current cells, where \(V_{h}=\{v^{1},v^{2},v^{3}\},v^{i}\in\{0,1\}\), \(n_{r}=3\), \(i=\overline{1..n_{r}}\), \(nr\in\mathbb{N}^{*}\) is the elements number of \(V_{h}\)._  
_Observation The CGACell ECA operator can be applied in two ways: individually on each chromosome chosen in the selection stage for recombination or mixed on genes on the same positions (or corresponding through a mapping) from a number of chromosomes chosen for recombination equal to the cardinality of the set of memory \(M\) of the cellular automaton (equal to three for the exemplified case)._  
_Example 1--CGACell ECA_  
_The method of applying the operator CGACell ECA at the chromosome level using an ECA with rule \(110\) previously presented in section CA (remark \(1\)) is illustrated in Figure 17. Also, the results of the CGACell ECA crossover operator for ECA Rule \(90\) are illustrated in Figure 18. The two offspring chromosomes correspond to the chromosomes chosen by selection to participate in reproduction for \(GA\). Cells that change their state by applying CGACell ECA crossover and according to ECA rule \(110\) or \(90\) are highlighted on a white colored background for each descendant. For cells in extreme positions, they are generically filled with inactive values equal to zero for full ECA rule application._  
_Example 2--CGACell ECA_  
_The crossover operator CGACell ECA can also be applied in mixed mode on three chromosomes chosen after the selection stage.