## 4 C-Monoa
### Rule Encoding  
When utilizing optimization algorithms for numerical association rule mining, it is essential to design an appropriate rule representation method that effectively captures the relationships within mixed datasets. In the context of evolutionary algorithms, two primary approaches to rule encoding are the Michigan and Pittsburgh methods. These methods were originally conceived for learning classifier systems (LCS) rooted in genetic algorithms (GA) and have since found extensive application in various rule extraction techniques that leverage evolutionary algorithms [41]. The Michigan method treats each rule as an individual entity, with the entire collection of rules representing a population. This approach focuses not only on identifying high-quality individuals that accurately represent rules but also on ensuring an optimal coordination among the rules in the set. In contrast, the Pittsburgh method treats the entire rule set as a single individual, while multiple rule sets correspond to a population. This method allows genetic algorithms to directly encode each rule within an individual chromosome, associating it with specific genetic genes. Genetic operations such as crossover and mutation can then be executed on a rule-by-rule basis. Both the Michigan and Pittsburgh methods have their individual advantages and limitations, and the selection of one over the other is influenced by the specific requirements and context of the application. The Michigan method is particularly advantageous in scenarios that demand flexible adjustments in the number and combination of rules. Conversely, the Pittsburgh method is better suited for situations where optimizing the rule set as a cohesive unit is paramount [42]. In alignment with the objectives of this study, the Michigan method is designed to individually optimize each rule through chromosome encoding. Each chromosome comprises multiple genes, with the total number of genes corresponding to the number of features in the dataset. The rule encoding process is illustrated in Figure 2. For continuous data, each gene is structured with three elements: the first element, denoted as ac, indicates the presence of a specific feature in the rule. The second and third elements, ll and ul, represent the lower and upper limits of the rule item, respectively. In the case of discrete data, the gene structure includes two fields: the first field ac again signifies the existence of the feature, while the second field v holds the corresponding value for nominal or discrete attributes. Within the framework of the Michigan coding scheme, the value of the ac field ranges from \(-1\) to \(1\). Values between \(-1\) and \(0\) imply that the feature is absent from the rule, while values exceeding \(0\) (ranging from \(0\) to \(1\)) indicate its presence. Specifically, within this positive range, values from \(0\) to \(0.5\) suggest that the feature appears in the antecedent of  
Figure 1: The process of data processing. the rule, whereas values from 0.5 to 1 signify its role in the consequent of the rule. This nuanced encoding strategy allows for a flexible representation of rules that accommodate both continuous and discrete data effectively. During the creation of the initial population, we adopted a random yet balanced methodology to generate chromosomes. This approach guarantees that each feature has an equal probability of being included in the rules, whether in the antecedent or the consequent. To achieve this, we assigned a random value between \(-1\) and 1 to each feature, implementing a strategic partitioning rule based on these values. Specifically, if the random value lies within the interval (0, 0.5], it indicates that the feature is part of the rule's left-hand side. Conversely, if the random value falls within the interval (0.5, 1], this denotes that the feature is part of the rule's right-hand side.