Genetic design of rule-based fuzzy controllers

This dissertation considers the application of genetic algorithms (GAs) to the automatic generation of fuzzy process controllers, where each controller is represented as an unordered list of an arbitrary number of rules. This produces a faithful and parsimonious representation of the underlying fuzzy structure. The algorithm evolves both the composition and size of the rule base from randomness. Evolving controllers in the form of a rule base offers unique flexibility exceeding that of prior genetic efforts in which lists of parameters evolve under a fixed set of membership functions, or tables of output values evolve to a fixed set of physical system configurations. 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. Semantic matching is accomplished by aligning similar rules in the two parent strings before recombination. In addition, the crossover and mutation rates are specified as ranges rather than single numbers, and are keyed to rules rather than bits since the degree to which a rule is disrupted should be independent of its length. The internal mechanism presiding to the evolution of successful controllers is examined and the methodology is applied to several nonlinear control problems--three variations on the benchmark cart-pole problem, a boat rudder controller, and an airplane autolander. 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.