Genetic Algorithms Are NOT Function Optimizers

enetic Algorithms (GAs) have received a great deal of attention egarding their potential as optimization techniques for complex unctions. The level of interest and success in this area has led to a umber of improvements to GA-based function optimizers and a good eal of progress in characterizing the Jcinds of functions that are y/hard for GAs to optimize. With all this activity. there has been a atural tendency to equate GAs with function optimization. However. e motivating context of HoUand's initial GA work was the design d implementation of robust adaptive systems. In this paper we argue t a proper understanding of GAs in this broader adaptive systems on text is a necessary prerequisite for understanding their potential pplication to any problem domain. We then use these insights to tter understand the strengths and limitations of GAs as function ptimizers. The need to solve optimization problems arises in one form or other in almost every field and, in p 'cular, is a dominant theme in the engineering world. As a consequence, an enormou amount of effort has gone into developing both analytic and numerical optimiza 'on techniques. Although there are now many such techniques. there are still large classes of functions which are beyond analytical methods and present significant diflkulties for numerical techniques. Unfortunately, such functions are not bizarre, theoretical constructs; rather, they seem to be quite commonplace and show up as functions which are not continuous or differentiable everywhere. functions which are non-convex, multi-modal (multiple peaks), and functions which contain noise. As a consequence, there is a continuing search for new and more robust optimization techniques capable of handling such problems. In the past decade we have seen an increasing interest in biologically motivated approaches to solving optimization problems, including neural networks (NNs), genetic algorithms (GAs), and evolution strategies (ESs). The initial success of these approaches has led to a number of improvements in the techniques and a good deal of progress in understanding the kinds of functions for which such techniques are well-suited. In the case of GAs, there are now standard GA-based optimization packages for practical applications and, on the theoretical side, continuing eflbrts to better understand and characterize functions that are "GA-easy" or "GA-hard". However, with all this activity, there is a tendency to eqUOle GAs with function optimization. There is a subtle but important difference between "GAs as function optimizers" and "GAs are function optimizers". The motivating context that led to Holland's initial GA work was the design and implementation of robust adaptive systems. In this paper we argue that a proper understanding of GAs in this broader adaptive systems context is a necessary prerequisite for understanding their potential application to any problem domain. We then use these insights to better understand the strengths and limitations of GAs as function optimizers. 2 WHAT IS A GENETIC ALGORITHM? Figure 1 provides a flow diagrain of a fairly generic version of a GA. If we ask what this algorithm is intended to do, we find ourselves in an awkward "can before the horse" situation. The algorithm in question wasn't designed to solve any particular problem (like sorting, tree traversal, or even function· optimization). Rather, it is a high level simulation of a biologically motivated adaptive system, namely evolution. As such. the kinds of questions one asks have a different slant to them. We would like to know what kind ofemergent behavior arises from such a simple set of rules, and how changes in the algorithm affect such behavior. As we understand better the kind of adaptive behavior exhibited by GAs, we can begin to identify potential application areas that might be able to exploit such algorithms. . Such discussions about evolutionary systems are not new, of course, and certainly predate the emergence of GAs. Although a precise and agreed upon statement of the role of evolution is diffi:ult to find, I think it is fair to say that there is general agreement that its role is not function optimization in the usual sense of the term. Rather, one thinks of evolution in terms of a strategy to explore and adapt to complex and timevarying fitness landscapes. . Randomly generate an initial population M(O) ! Compute and save the fiU'less u(m) for each individual m in the current population M(t) ~ Define selection probabilities p(m) for each individual m in M(t) SO that p(m) is proponional to u(m)