• Aucun résultat trouvé

3.4 Algorithme évolutionnaire guidé par les connaissances

3.4.8 Evaluation et modification « en ligne » du modèle de connaissances

Durant le processus évolutionnaire, le modèle de connaissances est conservé tel quel tant que l’optimisation donne de bons résultats. Comme nous l’avons évoqué précédemment, si la recherche stagne, deux interprétations sont possibles : soit l’optimum global est atteint, soit la recherche est piégée dans un optimum local. Contrairement à un AE classique, il nous faut modifier le modèle utilisé pour le guidage car un simple redémarrage ou une diversification avec les mêmes probabilités risque d'aboutir au même état. Si la performance des meilleurs individus (ceux de l’archive) ne progresse pas significativement pendant un nombre prédéfini de générations, le modèle est révisé, soit par lissage des probabilités, soit par un apprentissage de paramètres.

Lissage des probabilités. Dans un premier temps, le modèle est lissé uniformément selon un

coefficient ‘degré’ variant de 0 à 1, 0 correspondant à une modification sans effet et 1 créant une distribution uniforme qui revient à annuler l’expérience et correspond ainsi à un algorithme évolutionnaire classique de telle façon que, dans le pire des cas, le système conserve une performance minimale. Les probabilités sont modifiées dans le modèle selon l’équation suivante :

(

)

Exp P

P'= × × 1−deg

où P et Exp sont les anciennes valeurs de la probabilité et du coefficient d’expérience. Le coefficient Exp peut être considéré comme un poids (compris entre 0 et 1) représentant la pertinence du modèle de connaissances et donc quantifier dans quelle mesure une forme « d’expérience » est acquise ou non pour guider l’algorithme évolutionnaire. Il dépend du nombre de cas appris et de la confiance initiale de l’expert dans le modèle en début de procédure. Le coefficient d’expérience Exp est mise à jour avant chaque lissage ou apprentissage.

Le lissage des probabilités permet de remettre en cause progressivement les évidences fixées lors de l’étape de réactualisation des classes après l’apprentissage entraînant ainsi l’accès possible vers de nouvelles zones pour l’algorithme de recherche mais une diminution de la complexité des schèmes performant maintenus par le modèle.

Apprentissage de paramètres. Lorsque le lissage atteint un certain niveau, le modèle de

connaissances peut être considéré comme erroné. Ce lissage progressif a par exemple permis d’introduire dans la population de nouveaux schèmes performants mal appréhendés par le modèle courant. Il est alors possible de lancer un apprentissage de paramètres à partir d’une sélection d’individus de la population courante et des populations et archives précédentes pour prendre en compte ces nouveaux éléments.

L’apprentissage, réalisé par un algorithme spécialisé, est basé sur l’utilisation des cas passés. Un cas correspond à un individu avec les valeurs ou les états des critères, concepts, décisions et objectifs associés. Les cas sont choisis parmi la population courante ou parmi les populations antérieures. Dans notre approche, nous avons choisi d’utiliser l’algorithme EM d’apprentissage pour les réseaux bayésiens. Celui recherche l’optimisation des probabilités du réseau en maximisant la probabilité que le réseau représente les cas d’apprentissage. Les probabilités existantes ainsi que le poids de l’expérience (coef. Exp) du réseau sont prises en compte comme des cas supplémentaires dont le poids et le nombre dépendent de l’expérience du réseau de telle façon que la connaissance acquise est combinée avec de nouvelles connaissances. L’algorithme d’apprentissage possède deux critères possibles pour l’arrêt de l’apprentissage : le nombre d’itérations effectuées (nombre d’étapes E-M) et l’amélioration courante de la vraisemblance du réseau selon les données (log-vraisemblance) par rapport à la dernière itération. Les deux possibilités ont été testée dans un mode s’arrêtant après n itérations et différents modes pour la log- vraisemblance : amélioration minimale de 10, 1, 0.1 et 0.01 % requise pour continuer l’apprentissage (erreur empirique minimale requise pour arrêter la phase d’apprentissage). Les résultats des ces tests sont présentés dans le chapitre 4.

Pour la sélection des cas pour l’apprentissage, nous avons mis en œuvre différentes stratégies inspirées des études existantes afin de réévaluer ces choix en tenant compte du fait que de la connaissance « a priori » est disponible. Quatre stratégies de sélection ont été testées :

- la sélection complète de tous les individus depuis le début du processus évolutionnaire ; même si cette solution est très coûteuse en temps, elle a été conservée à titre comparatif sur les petites instances,

- la sélection ciblée des meilleurs individus depuis le début de l’algorithme (illustrée sur la figure 3.20 à gauche), elle utilise deux files non-limitées en taille triées par ordre de performance (une file par objectif). A chaque génération, si la performance du meilleur individu trouvé pour l’objectif i est notée Best_Obji, les

individus dont la performance appartient à l’intervalle [Best_Obji ; Best_Obji +

25%] sont intégrés dans la file. Les files sont réactualisées à chaque génération, - la sélection ciblée des meilleurs individus depuis le début de l’algorithme

(illustrée sur la figure 3.20 à droite), elle utilise deux files triées par ordre de performance dont la taille est limitée (une file par objectif). Nous utilisons la taille de la population comme limite maximale pour chaque file,

La seconde stratégie est inspirée d’études existantes mais elle ne permet pas d’obtenir un nombre constant de cas pour l’apprentissage.

Les zones délimitées peuvent ne contenir que peu de solutions si la limite fixée est trop basse et que certaines solutions surpassent largement les autres individus comme pour les zones performantes dans l’exemple de gauche de la figure 3.20. Pour remédier à ce problème, la troisième stratégie illustrée sur la partie droite de la figure 3.20, permet de contrôler directement le nombre d’individus par zone. Le nombre d’individus de chaque file est fixé de façon à limiter le temps d’apprentissage mais il requiert beaucoup plus d’opérations pour la gestion des files (file triée par ordre croissant des individus par rapport à chaque objectif).

Figure 3.20. Sélection en fonction de la performance relative( à gauche) et selon des files limitées (à droite) Dans tous les cas, aucun doublon n’est ajouté de façon à ce que la concentration des solutions après l’exécution d’un processus évolutionnaire ne déséquilibre pas l’apprentissage au profit des zones déjà explorées, surtout si elles sont proches de l’optimum.

Les individus retenus sont ensuite mis en forme pour l’apprentissage par le réseau. L’état de chaque nœud décision est désigné par la valeur du gène correspondant, excepté si le gène est inactif, auquel cas le nœud est instancié à la valeur « inhibé ». Pour les nœuds objectifs, le front de Pareto idéal est assimilé à la meilleure zone obtenue à tout instant. Par exemple sur la figure 3.21, le quadrillage des classes utilise comme point de référence les meilleurs et pires individus obtenus pour chaque objectif (point idéal et point nadir, cf. partie 2.1). Afin de pouvoir être comparées, les performances des scénarios sont toujours exprimées relativement aux autres solutions connues. Enfin, lorsque les nœuds intermédiaires du modèle correspondant à des critères identifiables, ils sont instanciés selon les données de l’individu. Par exemple, dans l’exemple de la réalisation de satellites, nous avons vu que les experts ont défini dans la structure un nœud qui généralise le choix réalisé pour les tâches 1, 3 et 4 (sélection du mode de réalisation : mode 0, 1 ou 2 pour les trois tâches). Si un individu sélectionné pour l’apprentissage a les choix de tâches 1, 3 et 4 instanciés par exemple à l’état « mode 0 » alors le nœud généralisé peut être instancié à 100% pour l’état « mode 0 ». Cette instanciation traduit le fait que lorsqu’une décision de type « choix entre les modes 0, 1 et 2 » doit être prise, il faut opter pour l’état « mode 0 ». Nous procédons de façon identique pour tous les nœuds observables. Cette opération permet, d’une part, d’accélérer les calculs d’apprentissage puisque l’état de chaque nœud instancié n’est plus à établir par le calcul et d’autre part, de positionner la connaissance « a priori » de l’expert dans une optique d’aide à la décision. Cette possibilité est un aspect fortement novateur de notre approche

Figure 3.21. Recherche de classes pertinentes

Une fois le modèle modifié après un lissage de probabilités ou un apprentissage de paramètres, les classes de paramètres sont recalculées de la même façon que lors de l’initialisation, excepté une opération supplémentaire réalisée avant d’extraire les classes de paramètres. En effet, le problème d’une approche supervisée est que les classes peuvent ne pas être représentées dans la population existante. En l’absence de données sur la région recherchée, le modèle répond par des probabilités représentant la moyenne d’occurrences sur l’ensemble des cas observés (toute la population).

Pour chaque classe d’objectif recherchée, le modèle fournit néanmoins sa pertinence, notamment en fonction du nombre d’individus de la population représentant cette section de l’espace de recherche. Lorsqu’une classe apparaît peu probable (c’est-à-dire qu’il est peu probable que des solutions existent dans cette région de l’espace), nous allons rechercher la classe représentant la région la plus proche non représentée dans le modèle.

La pertinence d’une classe d’objectif est déterminée de la façon suivante : un objectif est fixé dans le réseau (par exemple, « bon » pour l’objectif délai global) puis la classe est acceptée (considérée comme pertinente) si la probabilité d’avoir l’état attendu (par exemple ‘bon’ pour le coût afin d’avoir la classe d’objectif « bon » pour le délai global et « bon » pour le coût global) est supérieure à 1%. Dans le cas contraire, un mécanisme sélectionne la région la plus proche encore non représentée par une classe tel qu’illustré sur la figure 3.21. Cette opération permet d’avoir un modèle contenant des probabilités couvrant une majeure partie des solutions performantes afin de conserver le caractère de guidage global. D’autre part, elle permet de guider vers des fronts de Pareto de différentes formes.