Discovery of Understandable Math Formulas Using Genetic Programming

Genetic programming (GP) can be applied to a wide variety of problems and produce human competitive results, but the solution GP comes up with is often hard to understand. This paper shows that picking the right functions sets, setting up the appropriate program structure, and adding a parsimony factor can help to reduce the complexity of the evolved solution and to make the evolved solution easier to understand. Even though the algorithm for finding the greatest common factor (GCF) of two positive integers is well known, this paper will use evolving the GCF algorithm as an example and show that the right program structure, functions sets, and an appropriate parsimony factor can reduce computation time, decrease solution size, increase the understandability of the evolved program, and make the evolved algorithm more generalizable.