{'fraction_non_alphanumeric': 0.01586042823156225, 'fraction_numerical': 0.0, 'mean_word_length': 4.981042654028436, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Evolving A Rule-Based Fuzzy Controller

In this article we demonstrate the application of genetic algorithms (GAs) to the automatic generation of fuzzy process controllers. Since each controller is represented as an unordered list of an arbitrary number of rules, the algorithm evolves both the composition and size of the rule base from initial randomness. Evolving controllers in the form of a rule base offers unique flexibility exceeding that of prior genetic efforts. The key to this methodology is the observation that the genetic algorithm does not merely evolve bit strings, but operates over a higher-level space of control rules. Both aspects are factors in the learning algorithm. To preserve rule integrity in a reproducing pair of strings, the combined loci must match semantically. This was the obstacle that hindered prior rule-based genetic fuzzy approaches. We demonstrate our algorithm by its application to the boat rudder control problem. We believe that this methodology has great potential for scalability since string size varies with the number of rules and not the number of variables or partitions. Finally, the method's generality permits its further application to the evolution of any system that can be specified as a set of rules.