## 2 The Proposed Multi-Objective Majority-Minority Cellular Automata Algorithm (MOMmCAA)
### Basic Concepts of Cellular Automata with Majority Rule
```
Result: New smart-cell \(\mathbf{evol}\)  Input: \(\mathbf{s}_{i}\), \(prop\_w\); \(el=\text{most repeated element in }\mathbf{s}_{i}\); forall\(k\) in \(length(\mathbf{s}_{i})\)do \(\mathbf{cm}(k)=\mathbf{s}_{i}(k)-el\); end for cm = cm \(*\) prop \(w*\)rand; \(\mathbf{evol}=\mathbf{s}_{i}-\mathbf{cm}\);
```  
**Algorithm 1**Majority (minority) rule for a single smart-cell [47]  
The majority (minority) rule applied to a neighboring smart-cell is described in Algorithm 2. The most repeated value of a neighboring smart-cell \(\mathbf{s}_{i}\) is taken as the change factor, depending on the average weight of the neighbor cost \(\mu(\mathbf{h}(\mathbf{s}_{j}))\). If the cost \(\mu(\mathbf{h}(\mathbf{s}_{i}))\) is larger than \(\mu(\mathbf{h}(\mathbf{s}_{j}))\), then the weight \(\mathbf{p}\) is large and there is a higher probability of changing \(\mathbf{s}_{i}\) by taking a random ratio between \(-prop\_w\) and \(prop\_w\) of the most repeated element in \(\mathbf{s}_{j}\) and modifying each randomly selected position in \(\mathbf{s}_{i}\). Figure 1: Examples of cellular automata with two states and a neighborhood size of 3, applying majority, minority, and majority with probability evolution rules. ```
Result: New smart-cell \(\mathbf{evol}\)  Input: \(\mathbf{s}_{i}\), \(\mu(\mathbf{h}(\mathbf{s}_{i}))\), \(\mathbf{s}_{j}\), \(\mu(\mathbf{h}(\mathbf{s}_{j}))\)\(prop_{-}\)w; \(\mathbf{evol}=\mathbf{s}_{i}\); \(sm=\mu(\mathbf{h}(\mathbf{s}_{i}))+\mu(\mathbf{h}(\mathbf{s}_{j}))\); \(\mathbf{pon}=1-(\mu(\mathbf{h}(\mathbf{s}_{j}))/sm)\); \(\mathbf{el}=\text{most repeated element in neighbor }\mathbf{s}_{j}\); \(\mathbf{r}=(\text{rand}*prop\_w)-(prop\_w/2)\); forall\(k\) in \(\mathbf{length}(\mathbf{evol})\)do if\(rand<=\mathbf{pon}\)then \(\mathbf{evol}(k)=\mathbf{evol}(k)+(r*\mathbf{el})\);  end if  end for
```  
**Algorithm 2**Majority (minority) rule with one neighbor [47]  
The rule for rounding values in a smart-cell (Algorithm 3) consists of rounding off \(n_{r}\) to the most significant decimal values of the selected elements in \(\mathbf{s}_{i}\)[42]. The least significant decimal digit is the \(n_{r}\)-th digit to the right of the decimal point. The least significant digit remains unchanged if the first non-significant digit is less than 5; otherwise, the least significant digit is incremented by 1. This rule is applicable to find proper parameters for optimization problems. ```
Result: New smart-cell \(\mathbf{evol}\)  Input: \(\mathbf{s}_{i}\), \(\mathbf{f}(\mathbf{s}_{i})\), \(\mathbf{f}(\mathbf{b}_{S})\), \(n_{r}\); \(\mathbf{evol}=\mathbf{s}_{i}\); \(\mathbf{sum}=f(\mathbf{s}_{i})+f(\mathbf{b}_{S})\); \(\mathbf{pon}=1-(f(\mathbf{s}_{i})/sum)\); forall\(k\) in \(\mathbf{length}(\mathbf{evol})\)do if\(rand<=\mathbf{pon}\)then \(\mathbf{evol}(k)=round(\mathbf{evol}(k),n_{r})\);  end if  end for
```  
**Algorithm 3**Rounding rule [42]  
The adaptation of the majority and minority rules considers the elements of each solution that are repeated to a greater or lesser degree in the same smart-cell or in one or two additional smart-cells to obtain a new position. The randomness in choosing evolution rules and neighbors allows for access to the information in the rest of the population, thereby generating large and small changes in the position of a smart-cell, which favors the exploration and exploitation phases to escape from local optima and avoid the stagnation of the solutions. The MmCAA is presented in Figure 2. In (A), each smart-cell checks its neighbors using different majority and minority rules. These rules produce new solutions (B) and the best solution in the neighborhood is selected to update the smart-cell (C). The pseudo-code of MmCAA is described in (D).