We employ a genetic algorithm to automatically generate a fuzzy process controller. Unique to this approach is that each controller is represented by an unordered list of an arbitrary number of rules. We establish the efficacy of a specialized "add rule" and "delete rule" mutation operators, and propose a mechanism by which rule base size evolves.
A critical aspect of this methodology is the emergence of an appropriately-sized rule base as a result of the genetic search.
The approach produces a representation of the underlying fuzzy structure more parsimonious than with prior examples of genetic search 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.
In addition, while an appropriate action may be strongly conditioned by a subset of the control variables, techniques based upon solution space partitioning require that every output be dependent upon every input. We overcome this limitation with a mechanism through which the consequent of a rule may be calculated solely from relevant variables.
The method has been successfully applied to several difficult control problems, including the classical cart-pole benchmark, boat steering, and aircraft landing.