• Aucun résultat trouvé

Parmi les nombreuses méthodes utilisant les algorithmes évolutionnaires, cette section présente les méthodes associant un AE et un modèle de connaissances. L’utilisation de connaissances conduit à qualifier ces approches de méthodes d’optimisation intelligente [Huyet et Paris, 2004] ou « optimisation guidée par les connaissances ». Les AE classiques sont considérées comme des « heuristiques aveugles » car elles n’utilisent pas d’informations spécifiques sur le problème à traiter, mais une évaluation globale de la qualité des individus. Nous allons nous

intéresser dans cette section aux méthodes qui extraient de la connaissance du problème pendant le processus évolutionnaire afin d’améliorer la performance de la recherche. Ces méthodes se différencient par le type de méthode d’apprentissage utilisé (réseaux de neurones, arbres de décision ou réseaux bayésiens), le type de connaissances acquises ainsi que la manière de les utiliser. Comme dans les sections précédentes, les méthodes recensées seront analysées selon le point de vue de la manipulation de connaissances et de l’interaction entre le modèle et la recherche.

2.5.1 Les algorithmes culturels

Les algorithmes culturels utilisent une représentation directe des connaissances acquises au cours du processus évolutionnaire. Ces connaissances permettent de réduire efficacement le temps de calcul [Becerra et Coello Coello, 2005]. Ils sont basés sur l'évolution culturelle des populations. Le principe, illustré sur la figure 2.16, est de construire un espace des connaissances lié au problème à traiter, et de relier cet espace des connaissances avec l'espace de recherche. Les algorithmes culturels sont donc basés sur un modèle évolutif agissant à deux niveaux différents : le niveau micro-évolutif sur l'espace de la population d’individu et le niveau macro-évolutif sur l'espace de connaissance. La population contient un ensemble d'individus qui évoluent de la même manière que pour un algorithme évolutionnaire classique. L'espace des connaissances contient les informations et les connaissances spécifiques au problème à résoudre qui seront utilisées pour guider et influencer l'évolution des individus des populations au cours des générations. La méthode repose sur deux processus d'interaction entre les espaces qui répondent aux questions suivantes :

- comment et quels individus de la population influencent l'espace des connaissances : c'est la fonction d'acceptation ;

- comment et quelles connaissances influencent l'évolution des populations : c'est la fonction d'influence.

Figure 2.16. Algorithme de base d’un algorithme culturel

Plusieurs travaux ont été réalisés à partir de cette méthode : VGA (Version space guided Genetic Algorithm) utilisant un algorithme génétique classique et « Version Space » pour le niveau macroévolution [Reynolds et al., 1994] ; une autre implémentation utilise la programmation génétique et « program segments » [Zannoni et Reynolds, 1997]. La méthode CAEP (Cultural Algorithm with Evolutionary Programming) [Chung, 1997] utilise la programmation génétique pour le niveau évolutif et une représentation à deux composantes pour l'espace des connaissances : la première composante appelée « situational knowledge » est le meilleur individu trouvé et l'autre composante appelée « normative knowledge » est l'ensemble des informations sur l'intervalle de recherche de chaque paramètre du problème.

Cette dernière méthode a été adaptée en contexte multiobjectif [Alami et El Imrani, 2007]. Dans ce modèle, la population est partagée en classes représentant chacune une sous population, et donc une culture différente. Chaque sous population est traitée séparément puis on organise des échanges culturels entre les sous populations. Ces échanges peuvent être réalisés soit en échangeant des individus entre populations, soit directement par échange de connaissances (individus ou intervalles de recherche de paramètres).

Ce premier type de méthode possède une modélisation limitée des connaissances (individus et intervalles) mais il illustre les principales problématiques de l’apprentissage pour l’optimisation d’une recherche : la mise à jour des connaissances selon une sélection d’individus, et l’utilisation des connaissances pour générer de nouveaux individus. L’injection de connaissances est majoritairement réalisée par le contrôle de l’opérateur de mutation (intervalles de valeurs possibles). 2.5.2 Learning Evolution Model (LEM)

Cette méthode est l’une des plus populaires de ce domaine de recherche récent. Plusieurs études utilisant le LEM [Michalski, 2000] ont été réalisées principalement par G. Cervone, K. Kaufman et R. Michalski. Le principe de l’approche LEM est de combiner un algorithme évolutionnaire [Cervone et al., 2000] et un système d’apprentissage. Dans l’algorithme évolutionnaire non-darwinien, les opérateurs darwiniens classiques (mutation, croisement) ne sont plus aléatoires mais basés sur les connaissances ; c'est-à-dire qu’ils réalisent des opérations en concordance avec le domaine de connaissance du problème à résoudre.

L’apprentissage permet d’obtenir des individus en formulant des hypothèses de configuration et d’instanciation [Michalski, 2000]. La méthode consiste à classer les solutions de la population en trois groupes selon leur performance : les « bonnes », les « mauvaises » et les « indifférentes » (respectivement supérieure, inférieure à 25% par rapport à la moyenne et entre ces deux bornes). Puis, le système examine les caractéristiques des bonnes et mauvaises solutions afin de déterminer un ensemble d’hypothèses, sous forme de règles sur les attributs des solutions. Les auteurs ont utilisé les méthodes d’apprentissage de type AQ (algorithmes proposé par Michalski [Michalski, 1969]) pour générer les hypothèses. Les règles sont ensuite utilisées pour générer de nouvelles solutions directement par instanciation.

Figure 2.17. Algorithme global du LEM

Dans le LEM, les nouveaux individus sont construits par « ingénierie génétique », dans le sens où ils sont déterminés selon les hypothèses apprises. L’algorithme du LEM dans [Cervone, 2000] est illustré sur la figure 2.17. Une fois la population initiale obtenue, l’algorithme alterne entre l’apprentissage et le mode évolutionnaire. Dans le mode apprentissage, le processus d’optimisation comprend cinq étapes :

- la génération des hypothèses par apprentissage inductif basé sur les différences entre les bons et les mauvais individus ;

- la génération d’une nouvelle population : les individus sont obtenus par instanciation des hypothèses apprises lors de l’étape précédente ;

- la combinaison des nouveaux individus avec le H-group ;

- enfin, la sélection les individus pour former la nouvelle population.

Dans [Michalski, 2000], les auteurs ont comparé le LEM avec d'autres méthodes d'optimisation évolutionnaire (algorithmes évolutionnaires, programmation évolutionnaire et stratégies évolutionnaires) sur différents type de problèmes à résoudre. Le LEM a largement surclassé les autres méthodes notamment lorsque le nombre de variables est important. Il requiert un nombre d'étapes beaucoup moins important pour trouver des solutions et il est relativement peu sensible au choix de la population initiale. Une version multi-objectif du LEM, appelée LEMMO, a également été proposée par L. Jourdan [Jourdan, 2005]. Du point de vue de l’injection de connaissances, le « guidage » est appliqué principalement dans le mode apprentissage sans interactions réelles avec le mode génétique qui est finalement utilisé pour diversifier la population lorsque l’apprentissage est bloqué dans un optimum

2.5.3 Autres méthodes d’optimisation « guidée par les connaissances »

M. Sebag et C. Ravise dans [Sebag et Ravise, 1996] ont proposé un système adoptant une démarche similaire au LEM étudié dans la partie précédente, c’est-à-dire un AE guidé par un système d’apprentissage automatique adapté de type AQ. La principale différence concerne l’acquisition de la connaissance et son utilisation pour un contrôle adaptatif des opérateurs génétiques de l’AE. Dans ce système, l'apprentissage fournit des règles caractérisant les croisements ou les mutations efficaces qui sont ensuite réutilisées par un opérateur « masque » qui contrôle les paramètres évolutionnaires (taux de croisement, mutation, différents types d’opérateurs possibles : croisement uniforme, croisement à n-points, etc.). Lors du processus évolutionnaire, chaque événement, tel que la génération d’un nouvel individu, est classé selon son impact sur le processus évolutionnaire : bon/mauvais, si la nouvelle génération est meilleure/pire que la précédente et inactif s’il n’y a pas d’évolution. Les exemples d’apprentissage sont alors composés du « masque » d’opérateur utilisé, de la classe de l’événement et des individus en question. L’algorithme d’apprentissage symbolique fournit alors les règles décrivant le plus grand nombre d’exemples disponibles. Chaque règle lie un « schème » génétique potentiel, un « schème » évolutionnaire (instanciation du masque) et une classe d’événements (bon, mauvais ou indifférent). Par exemple, une règle peut signifier : ne pas mettre le point de croisement entre les gènes i et j (« schème » sur le masque de l’opérateur de croisement), si le parent relève du « schème » H. Les auteurs proposent alors trois stratégies de contrôle possible pour l’utilisation des règles :

- une stratégie d’intensification sur les zones performantes pour laquelle seules les règles issues d’événements de la classe « bon » sont pris en compte ;

- une stratégie classique dans laquelle on cherche à ne pas générer de mauvais individus ; - enfin une stratégie appelée moderne qui s’attache à préserver la diversité génétique de la

population en rejetant les événements inactifs.

Dans une autre étude [Sebag et al., 1997], M. Sebag propose une méthode couplant un AE de type stratégie de recherche utilisant des règles afin de mémoriser les erreurs passées. Il utilise un nouvel opérateur évolutionnaire appelé « mutation de fuite » qui génère des individus les plus différents possible des individus de mauvaise qualité ou « virtual loser ».

Ces deux dernières études sont particulièrement intéressantes car elles proposent un processus d’injection original de connaissances acquises. Un aspect important commun avec le LEM de Michalski relève de la sélection des exemples d’apprentissage qui est contrôlée, d’une part, pour faciliter et améliorer l’apprentissage, mais également pour contrôler le déroulement de la recherche. Dans le même esprit, les travaux de A.L. Huyet et J.L. Paris dans [Huyet et Paris, 2004] mettent en œuvre un système d’optimisation guidé par les connaissances (recherche par AE et apprentissage par arbre d’induction) dans lequel les exemples d’apprentissage sont choisis parmi les

trois dernières générations avant l’apprentissage sans doublons. Ce dernier élément permet de ne pas biaiser la construction du modèle avec la fréquence d’occurrence des individus dans les générations notamment en fin d’optimisation lorsque la dérive génétique est importante. Néanmoins dans cette étude, les connaissances acquises ne sont utilisées que pour une injection de solutions prometteuses, ce qui, sur un problème complexe, ne permet pas d’éviter la dégradation de schèmes complexes par un algorithme évolutionnaire classique. Cette démarche a toutefois permis une amélioration significative des performances pour différents problèmes de configuration de systèmes de production proches de notre problématique de sélection d’un produit/projet mais avec une taille a priori moins conséquente en termes de nombre de gènes et d’interactions possibles.