Adaptive Encoding for Evolutionary Algorithms

We are pursuing research into evolutionary algorithms (EAs) that have the ability to learn about the problems that they are working to solve, and gradually adapt themselves so that the EA will be able to solve similar problems more easily and quickly in the future.

This learning is accomplished by having the EA modify the genotype to phenotype mapping while also searching for a solution to a problem. The genotype is essentially the genetic code used to store individuals (potential solutions) inside the computer, and the phenotype is the interpretation of an individual in the language of the problem that is actually being solved. Thus the genotype to phenotype mapping defines how information is encoded in the genetic material and interpreted later when an individual is evaluated for fitness.

An illustration of a sample genotype to phenotype mapping.

An illustration of a sample genotype to phenotype mapping.

Each different mapping produces a different “view” of the fitness landscape that has been slightly rearranged. We expect that such an EA will be able to find a “view” of the landscape that allows it to solve the problem more easily than the landscape produced by a standard or default encoding. This will allow us to use evolution to automatically tune our algorithms for better performance on specific classes of problems.