Homology in Genetic Programming
Application to inverse problem solving
Homologie en Programmation Génétique
Application à la résolution d'un problème inverse
Résumé
Evolutionary Algorithms (EA) are search methods working iteratively on a population of potential solutions that are randomly selected and modified.
Genetic Programming (GP) is an EA that allows automatic search for programs, usually represented as syntax trees (TGP) or linear sequences (LGP).
Two mechanisms perform the random variations needed to obtain new programs : the mutation operator (local variation) and the crossover operator (programs recombination).
The crossover operator blindly exchanges parts of programs without taking the context into account, this is a "brutal" operation that may be responsible of the uncontrolled growth of programs during evolution.
Mainly inspired by the homologous recombinaison of DNA strands, we introduce the Maximum Homologous Crossover for LGP.
The MHC ensures, thanks to a measure of similarity, that recombinaison of programs is respectful.
We show on classical GP benchmarks, e.g. the symbolic regression problem, that when using MHC the search process is less brutal and that an accurate control of programs size is also possible. These results are used to address a real world problem : the inversion of atmospheric components.
We show that, with a constant computational effort, it is also possible to find teams of inversion predictors that outperform standard models.
Genetic Programming (GP) is an EA that allows automatic search for programs, usually represented as syntax trees (TGP) or linear sequences (LGP).
Two mechanisms perform the random variations needed to obtain new programs : the mutation operator (local variation) and the crossover operator (programs recombination).
The crossover operator blindly exchanges parts of programs without taking the context into account, this is a "brutal" operation that may be responsible of the uncontrolled growth of programs during evolution.
Mainly inspired by the homologous recombinaison of DNA strands, we introduce the Maximum Homologous Crossover for LGP.
The MHC ensures, thanks to a measure of similarity, that recombinaison of programs is respectful.
We show on classical GP benchmarks, e.g. the symbolic regression problem, that when using MHC the search process is less brutal and that an accurate control of programs size is also possible. These results are used to address a real world problem : the inversion of atmospheric components.
We show that, with a constant computational effort, it is also possible to find teams of inversion predictors that outperform standard models.
Les Algorithmes Évolutionnaires (AE) sont des méthodes de recherche par itération de sélections et de variations aléatoires sur une population de solutions potentielles.
La Programmation Génétique (PG) est un AE qui permet la recherche automatique de programmes et qui manipule des représentations complexes : arbres (PGA) ou listes de longueur variables (PGL).
Les variations aléatoires permettant de créer de nouveaux programmes peuvent être des modifications locales (mutations) ou des recombinaisons de programmes (croisements).
L'opérateur de croisement recombine aléatoirement des sous-parties de programmes sans tenir compte du contexte : c'est une opération «brutale» qui est une des causes supposées de la croissance incontrôlée de la taille des programmes.
Inspirés par la recombinaison homologue de l'ADN, nous définissons, le Croisement par Maximum d'Homologie (CMH) pour la PGL.
A partir d'une mesure de similarité entre les expressions à recombiner, le CMH favorise les échanges qui respectent les structures communes préexistantes.
La capacité du CMH à effectuer une recherche moins brutale et à permettre un contrôle précis de la taille des programmes est mise en évidence sur des problèmes classiques de PG comme l'approximation de fonctions par régression symbolique.
En partant des différents résultats obtenus, nous appliquons notre méthode à la résolution d'un problème réel : l'inversion des composantes atmosphériques. De plus, nous montrons comment, à coût constant, il est possible de rechercher des combinaisons de modèles inverses dont les performances sont supérieures aux modèles standards.
La Programmation Génétique (PG) est un AE qui permet la recherche automatique de programmes et qui manipule des représentations complexes : arbres (PGA) ou listes de longueur variables (PGL).
Les variations aléatoires permettant de créer de nouveaux programmes peuvent être des modifications locales (mutations) ou des recombinaisons de programmes (croisements).
L'opérateur de croisement recombine aléatoirement des sous-parties de programmes sans tenir compte du contexte : c'est une opération «brutale» qui est une des causes supposées de la croissance incontrôlée de la taille des programmes.
Inspirés par la recombinaison homologue de l'ADN, nous définissons, le Croisement par Maximum d'Homologie (CMH) pour la PGL.
A partir d'une mesure de similarité entre les expressions à recombiner, le CMH favorise les échanges qui respectent les structures communes préexistantes.
La capacité du CMH à effectuer une recherche moins brutale et à permettre un contrôle précis de la taille des programmes est mise en évidence sur des problèmes classiques de PG comme l'approximation de fonctions par régression symbolique.
En partant des différents résultats obtenus, nous appliquons notre méthode à la résolution d'un problème réel : l'inversion des composantes atmosphériques. De plus, nous montrons comment, à coût constant, il est possible de rechercher des combinaisons de modèles inverses dont les performances sont supérieures aux modèles standards.