Genetic programming and its applications to the synthesis of digital logic

Genetic programming is applied to the synthesis of arbitrary logic expressions. As a new method of logic synthesis, this technique is uniquely advantageous in its flexibility for both problem applicability and optimization criterion. A number of experiments were conducted exploring this method with different types of logic gates and population sizes. While complete function coverage is not guaranteed, the best experimental test results over eight randomly designed functions, of four to seven input variables, have produced logic equations with a 98.4% function coverage. In addition, the relation between the training set size for the genetic program and function coverage was also empirically explored. These experiments showed that only small training sets were necessary for function recognition.