Sunday, August 14, 2005

On the Selfish Gene

Although written by a biologist, namely Richard Dawkins, the book The Selfish Gene has furnished me with many new ideas about evolving algorithms and the notion of Intelligent Design. These new ideas are centered around the idea of an evolving objective function.

An objective function measures how well something performs; an easy example is the mean squared error fitting function used to find a function that fits some data points. Genetic Algorithms/Genetic Programming are gradient free optimization techniques used to find a vector/algorithm that minimizes some objective function. However, this objective function must be engineered by the human if one of these evolutionary computational techniques is to work. An interesting question is, how can we understand the objective function that we (humans) are trying to minimize? In other words, how does nature measure how fit one individual is? If one can demonstrate that this objective function has remained fixed over time, then perhaps one might be justified in believing in Intelligent Design (perhaps Providence only engineered the perfect objective function, instead of creating man in his image). While reading The Selfish Gene, I started thinking about how we (humans) are more than victims of some vicious objective function. When other humans are viewed as part of our environment, then it's easy to see how they must be factored into the objective function. In other words, the fitness score that other humans give us must be factored into the overall objective function. Evidently, if humans are responsible for some part of the fitness score and humans have evolved over time, then the objective function must have evolved simultaneously.

I am interested in computational evolution because I believe this holds the key to object recognition. If humans (which evolved) are masters at object recognition, then why not utilize evolution to find an algorithm that can recognize objects? There is something lacking in the traditional formulation of Genetic Programming. First of all, GP theory does not help us define an objective function, namely the most important driving force of evolution. Secondly, I'm not convinced that haphazard crossovers are superior to mutations.