• Aucun résultat trouvé

3.4 Algorithme évolutionnaire guidé par les connaissances

3.4.7 Croisement « guidé par les connaissances »

Le croisement de solutions implique la sélection d’une paire de parents, puis la sélection des gènes à transmettre. Dans une approche génétique classique, le croisement est l'étape assurant le brassage génétique de la population. C’est le principal processus d’amélioration des individus par combinaisons d’individus performants. Néanmoins, le croisement aléatoire classique est également impliqué dans la destruction de « schèmes » longs potentiellement intéressants (voir théorème des schèmes). L’approche classique utilisée pour contrer ce phénomène consiste à restreindre le croisement entre individus considérés comme potentiellement compatibles. L’hypothèse sous- jacente est alors que les individus proches, soit dans l’espace des paramètres, soit dans l’espace des objectifs, représentent des connaissances compatibles tandis que les éléments plus éloignés représentent des connaissances antagonistes. La proximité dans l’espace des paramètres correspond au nombre d’instanciations cohérentes entre les individus alors que la proximité dans l’espace des objectifs s’exprime par une mesure de distance comme par exemple la distance euclidienne. En utilisant cette distance, le croisement d’un individu est restreint aux individus compris dans une sphère dont le rayon est un paramètre prédéfini. Ce type de méthode limite la destruction de schèmes antagonistes mais elle limite également le transfert de connaissances entre les individus. La compatibilité entre les individus est toujours établie de façon globale pour tous les gènes. Les croisements infructueux ont deux origines possibles : soit certains gènes représentent effectivement des connaissances antagonistes, c’est-à-dire que leur différentes instanciations permettent effectivement de différencier les solutions dans l’espace des objectifs ; soit le croisement a échangé des gènes inactifs ou peu importants, ce qui se traduit par des enfants peu différents des parents. Le fait de « connaître », ou plutôt d'avoir une connaissance relative à propos de l'influence des gènes sur les objectifs, notamment les gènes à l'origine de la bonne évaluation de l’individu, va nous permettre d'orienter la sélection des gènes à croiser : les gènes sont croisés sauf si cette opération

entre en contradiction avec l’intégrité de l’individu. Ceci nous amène à distinguer deux phases de

croisement unilatéral dans l’action de croisement entre les deux individus. L’acceptation du

croisement se fait, pour chaque gène de chaque individu, selon la pertinence de l’état actif du gène pour l’individu considéré. L’opérateur ainsi obtenu peut organiser le croisement des gènes afin de conserver les schèmes performants de l’individu, éviter les croisements inutiles et, favoriser ainsi le brassage des gènes restants. On remarquera que le modèle regroupe différentes configurations de gènes potentiellement performantes. L’opérateur de croisement permet d’alterner de façon cohérente entre les différentes configurations « a priori » équivalentes.

Une possibilité mise en œuvre, par exemple dans les travaux de S. Rochet [Rochet et Baron, 2005], consiste à réalise un croisement uniforme à partir des deux parents (chaque parent transmet environ 50% des ses gènes avec un taux de croisement de 74% dans ces travaux). Ce choix favorise le brassage génétique de la population. En effet, du fait de la dominance de la seconde partie du chromosome dans le codage choisi, un opérateur de croisement en peu de points du chromosome favorise l'un des parents. Cette démarche est fondée sur une hypothèse réductrice consistant à supposer que les choix de conception sont plus importants en termes d’impact sur les objectifs que les choix de conduite. Or même si c’est le cas en général, l’opérateur que nous proposons généralise ce concept quelque soit le gène impliqué. En outre, l’opérateur de croisement proposé permet de prendre en compte les gènes inactifs en empêchant les croisements inutiles par l’exploitation de la connaissance structurelle.

L’opérateur de croisement proposé est représenté sur la figure 3.19. Il correspond à l’utilisation d’une fonction parcourant la population pour sélectionner des individus pour le croisement. Cette fonction nécessite les données du projet étudié, la probabilité de croisement ainsi que la connaissance structurelle. La fonction débute donc par un parcours de la population où chaque individu évalué (les enfants ne participent pas au processus courant) peut être sélectionné pour le croisement selon la probabilité de croisement (notée prob_crois). Si l’individu est sélectionné, sa classe est déterminée (tel qu’exposé dans la section 3.4.9) si ce n’est pas déjà fait, puis la classe du second parent est choisie selon la stratégie de croisement utilisée (parents de classe différentes pour la stratégie exploratoire et parents de la même classe pour l’intensification).

Une fois les deux parents déterminés, l’opérateur parcourt les gènes du chromosome. Pour chaque gène, différents modes peuvent être mis en œuvre pour le croisement « guidé par les connaissances » :

- Mode « utilisation de la connaissance a priori» : la connaissance du modèle est utilisée et le croisement de chaque individu est dissocié (l’algorithme de la figure 3.19 montre seulement les opérations réalisées pour un parent dans ce cas, les opérations réalisées sur l’autre étant similaires). Le croisement unilatéral d’un gène pour un parent est accepté selon la pertinence de l’état actif du gène. La probabilité de croisement est alors inversement proportionnelle à la probabilité de l’état courant donnée par le modèle.

- Mode « Diplo » : ce mode intervient, lorsqu‘un gène est déclaré inactif. Il correspond à la sauvegarde de la mémoire diploïde contenue dans les gènes inactifs. Lorsque ce mode est désactivé, les gènes inactifs sont croisés de façon similaire à l’AE classique (croisement accepté si le tirage aléatoire est inférieur à 0.5), sinon on ne change pas la valeur du gène.

- Mode K-struct : lorsque la connaissance structurelle est utilisée, chaque instanciation d’un nœud « inhibant » ici les nœuds OU (noté choix de chemin dans l’algorithme) entraîne l’ajout de -1 pour les nœuds inhibés correspondants dans la classe courante.

L’opérateur de croisement « guidé par les connaissances » proposé constitue, à notre connaissance, la première tentative de contrôle total de l’opérateur de croisement, c’est-à-dire du choix de chaque gène et chaque parent selon une connaissance donnée par un modèle. Les méthodes existantes recensées opèrent au mieux un contrôle limité de certains gènes, sinon elles utilisent soit une connaissance spécifique (par exemple, l’hypothèse de primauté des choix de conception), soit un processus de sélection restreint par une mesure de similarité.