Recherche de conformation de molécules et apprentissage du ...

1 juin 2005 - 2.3 Prototype réalisé . ... 3.3 Ajouts au prototype . ...... Nous avons réalisé un prototype d'application mettant en ÷uvre les principes vus dans les ...
1MB taille 25 téléchargements 81 vues
Master Recherche Intelligence Articielle, Raisonnement, Coopération, Langage

Recherche de conformation de molécules et apprentissage du potentiel de Lennard-Jones par systèmes multi-agents adaptatifs

Rapport de Stage Master Recherche Intelligence Articielle, Raisonnement, Coopération, Langage Camille BESSE-PATIN Encadré par Marie-Pierre Gleizes & Carole Bernon

Institut de Recherche en Informatique de Toulouse Université Paul Sabatier 31062 Toulouse Cedex 9 Année 2004-2005 Résumé : Les rôles structuraux et/ou fonctionnels des biomolécules s'expliquent par

les conformations qu'elles peuvent prendre. Seulement, la complexité et la méconnaissance des inuences inter-atomiques ne permettent pas de calculer ces conformations de manière ecace. Des approches basées sur des méthodes d'optimisation globale et/ou locale existent mais se trouvent limitées par leurs hypothèses sur l'évaluation de la fonction énergétique à minimiser. L'approche proposée ici a comme objectif d'apprendre ces interactions atomiques puis de les composer de manière simple, locale et ecace, en utilisant une technologie basée sur les systèmes multi-agents adaptatifs (AMAS). Dans un premier temps, cette approche a pour but de résoudre des problèmes de conformation par minimisation de l'énergie de Lennard-Jones induite des interactions de van der Waals puis, dans un deuxième temps, elle sera utilisée pour apprendre ces interactions.

M2R IA RCL - IRIT

Camille Besse-Patin

i

Juin 2005

M2R IA RCL - IRIT

Remerciements Je remercie Marie-Pierre Gleizes pour m'avoir permis de découvrir les multi-agents il y a de cela maintenant deux ans et de m'avoir encadré pendant toute la durée de mon stage en me faisant participer aux diérentes activités de recherche. Je remercie également Carole Bernon, co-encadrante de ce stage pour avoir eu la gentillesse de relire ving-trois fois ce rapport en corrigeant les fautes d'orthographes, pour m'avoir aider à développer mes idées et pour m'avoir accompagné à la plate-forme AFIA pour ma première présentation en public. Je tiens vivement à remercier Pierre Glize pour les discussions durant lesquelles il m'a beaucoup aidé et pour m'avoir donné envie de devenir enseignant-chercheur. J'espère sincèrement avoir la possibilité de continuer de travailler sur la voie de la coopération. Jeunes docteurs (ou presque mais il se reconnaîtra), Davy Capera, Jean-Pierre Georgé et Gauthier Picard ont été des collègues et amis particulièrement agréables, je les en remercie. Merci aussi à l'ensemble des membres de l'équipe SMAC pour l'excellente ambiance de travail, les pauses cafés sympathiques et les réunions animées. Enn, je tiens à vous remercier de l'attention portée à ce rapport.

Camille Besse-Patin

ii

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

iii

Juin 2005

M2R IA RCL - IRIT

Table des matières Introduction

1

1 La conformation de biomolécules

3

1.1

1.2

1.3

Contexte biologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Qu'est-ce qu'une molécule ? . . . . . . . . . . . . . . . . . . . . . 1.1.2 Qu'est-ce qu'une protéine ? . . . . . . . . . . . . . . . . . . . . . 1.1.3 La représentation des protéines . . . . . . . . . . . . . . . . . . . Prédiction de la conformation d'une protéine . . . . . . . . . . . . . . . 1.2.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Minimisation du potentiel de Lennard-Jones . . . . . . . . . . . . 1.2.2.1 Méthodes par optimisation globale . . . . . . . . . . . . 1.2.2.1.1 Méthodes stochastiques . . . . . . . . . . . . . 1.2.2.1.2 Méthodes déterministes . . . . . . . . . . . . . 1.2.2.2 Méthodes de recherche directe et méthodes par dérivation Les systèmes multi-agents adaptatifs (AMAS) . . . . . . . . . . . . . . . 1.3.1 La théorie des AMAS . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 L'adaptation par auto-organisation coopérative . . . . . . . . . . 1.3.3 L'agent coopératif . . . . . . . . . . . . . . . . . . . . . . . . . .

2 La résolution par AMAS 2.1 2.2

2.3 2.4

Le système . . . . . . . . . . . . . . . . . . . . . . . . . Les agents . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Environnement et interactions . . . . . . . . . . . 2.2.2 Représentations et aptitudes . . . . . . . . . . . . 2.2.3 Compétences . . . . . . . . . . . . . . . . . . . . 2.2.4 Situations non coopératives . . . . . . . . . . . . 2.2.5 Algorithme d'un cycle de résolution . . . . . . . . Prototype réalisé . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Implantation de l'algorithme coopératif . . . . . 2.3.2 Visualisation du repliement de molécule . . . . . Résultats de l'application . . . . . . . . . . . . . . . . . 2.4.1 Résultats temporels . . . . . . . . . . . . . . . . 2.4.2 Avantages et limites des AMAS pour ce problème

3 Apprentissage par AMAS 3.1 3.2

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

Le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Camille Besse-Patin

iv

3 3 4 5 5 6 6 7 8 9 10 10 11 12 14

17 17 18 18 18 19 20 21 22 22 23 23 25 27

29 30 30

Juin 2005

M2R IA RCL - IRIT

3.3 3.4

3.2.1 Environnement et interactions . . . . . 3.2.2 Représentations et aptitudes . . . . . . 3.2.3 Compétences . . . . . . . . . . . . . . 3.2.4 Situations non coopératives . . . . . . 3.2.5 Algorithme d'un cycle d'apprentissage Ajouts au prototype . . . . . . . . . . . . . . Résultats de l'application . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

31 32 32 33 34 36 36

Conclusion et perspectives

39

Bibiographie

42

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Camille Besse-Patin

v

39 40

Juin 2005

M2R IA RCL - IRIT

Table des gures 1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4

Deux acides aminés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Potentiel de Lennard-Jones . . . . . . . . . . . . . . . . . . . . . . . . . Théorème de l'adéquation fonctionnelle : relations d'inclusion entre systèmes adéquats et coopératifs . . . . . . . . . . . . . . . . . . . . . . . . Adaptation par auto-organisation dans un environnement dynamique . . Modèle d'un agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 7 13 14 15

Déplacement d'un atome-agent . . . . . . . . . . . . . . . . . . . . . . . Interface graphique utilisée . . . . . . . . . . . . . . . . . . . . . . . . . Évolution de l'énergie potentielle d'une molécule à 17 atomes (en gras) . Évolution de l'énergie potentielle d'une molécule à 17 atomes après amélioration de la coopération. . . . . . . . . . . . . . . . . . . . . . . . . . Évolution de l'énergie potentielle d'un molécule à 42 atomes . . . . . . . Tableau récapitulatif des temps de calcul en fonction du nombre d'atomes. Graphique récapitulatif du temps de calcul en fonction du nombre d'atomes et estimation de la complexité temporelle. . . . . . . . . . . . . . . . . .

20 24 25

Rappel de la fonction de Lennard-Jones et des paramètres R0 et ε. . . . Sollicitations des atomes . . . . . . . . . . . . . . . . . . . . . . . . . . . Tableau de prise de décision. . . . . . . . . . . . . . . . . . . . . . . . . . Courbe d'évolution de l'erreur durant l'apprentissage de six fonctions sur de la Glycine (5 atomes) . . . . . . . . . . . . . . . . . . . . . . . . . . .

30 31 33

Camille Besse-Patin

vi

25 26 26 27

37

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

vii

Juin 2005

M2R IA RCL - IRIT

Introduction Une partie importante de la recherche en bioinformatique concerne la conception de molécules pour des applications spéciques telles que le développement d'enzymes pour le recyclage de déchets toxiques, le développement de catalyseurs pour le traitement de matériaux, ou encore la conception d'agents médicamenteux pour la lutte contre le cancer. La conception de ces médicaments dépend de la précision avec laquelle on détermine la conformation des macro-molécules biologiques associées. Ce problème, connu sous le nom du problème de conformation de molécules, consiste à trouver la conguration spatiale d'une molécule qui a atteint son niveau d'énergie potentielle minimal. Sous l'hypothèse qu'une conformation naturelle de molécule correspond à la conformation pour laquelle l'énergie a atteint ou est proche du minimum global, ce problème peut être modélisé comme un problème d'optimisation. Malheureusement, sachant que l'énergie potentielle totale d'une molécule dépend des actions mutuelles des atomes au sein de cette molécule, le nombre possible de congurations de basse énergie peut croître 2 exponentiellement avec le nombre d'atomes. Il est de l'ordre de O(eN ) pour une molécule de N atomes [Hoa79]. De nombreuses approches réussissent à minimiser l'énergie potentielle avec plus ou moins de succès. Elles utilisent fréquemment des algorithmes génétiques ou se basent sur des méthodes d'optimisation mathématiques telles que la procédure de Monte Carlo Inverse [BR03] ou encore des méthodes hybrides [MM94]. L'objectif de ce stage était dans un premier temps d'arriver à minimiser cette énergie potentielle puis, dans un second temps, d'essayer d'apprendre de manière locale les fonctions d'interactions régissant le comportement des atomes au sein d'une molécule en utilisant une modélisation multi-agent, et plus particulièrement l'auto-organisation coopérative. Ce document débute par la présentation du contexte biologique, des enjeux du problème et de l'état de l'art du domaine et de la technologie employée (Chapitre 1). Il développe ensuite l'application des bases théoriques posées et détaille les résultats obtenus concernant la minimisation énergétique (Chapitre 2). La partie suivante (Chapitre 3) explique comment les systèmes multi-agents adaptatifs peuvent apprendre les fonctions locales d'énergie potentielle régissant les interactions atomiques et les algorithmes mis en place pour réaliser cette tâche. La dernière partie est une discussion sur les apports et les perspectives du travail fourni.

Camille Besse-Patin

1

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

2

Juin 2005

M2R IA RCL - IRIT

Chapitre 1 La conformation de biomolécules La géométrie des biomolécules joue un rôle important dans la compréhension de leur fonction au sein de l'organisme. La prédiction de leur structure 3D constitue donc aujourd'hui un enjeu majeur pour l'industrie pharmaceutique dont l'intérêt réside dans la création de nouveaux médicaments et l'étude de leurs propriétés associées.

1.1 Contexte biologique Un médicament est généralement constitué d'un ligand et d'une protéine. Le ligand constitue la partie thérapeutique du médicament, la protéine correspond au transporteur du ligand. L'industrie pharmaceutique produit tous les jours de nouveaux ligands qui ont besoin d'un moyen d'assimilation au sein des cellules pour être ecaces médicalement. La problématique est donc de déterminer quelles sont les protéines ayant des anités susantes avec le ligand pour pouvoir être utilisées comme "transporteur". Cette problématique se décompose en deux sous-problèmes : d'une part, déterminer la conformation stable d'une protéine, d'autre part, étudier l'appariement d'une protéine et d'un ligand. La première classe de sous-problèmes consiste à rechercher la position dans l'espace de moindre énergie1 . La seconde (problème du "docking" en anglais) s'attache plutôt à déterminer comment le ligand et la protéine porteuse interagissent et s'apparient. Lors de ce stage, nous chercherons plutôt à résoudre la première classe de problèmes. Un exemple de résolution de la deuxième classe de problèmes peut être trouvé dans le rapport de DEA de B. Gaudou [Gau04].

1.1.1 Qu'est-ce qu'une molécule ? Une molécule est un ensemble d'atomes. La taille d'un atome est environ d'un dizième de nanomètre, soit un dix milliardième de mètre. Pour comprendre quelles sont les propriétés d'une molécule, il est notamment nécessaire de connaître les atomes la composant, ainsi que les liaisons qui existent entre eux. Ces liaisons peuvent être de deux types : les liaisons covalentes (ou liaisons fortes) et les diverses interactions intervenant entre deux ou plusieurs atomes (ou liaisons faibles). Les liaisons covalentes 1 Hypothèse

couramment utilisée

Camille Besse-Patin

3

Juin 2005

M2R IA RCL - IRIT

Ο

R1 N

C





C

R2

Ο

N

Fig. 1.1  Deux acides aminés

résultent de la mise en commun d'un électron de la couche externe de chaque atome lié. C'est donc une paire d'électrons assemblés nécessitant une énergie phénoménale pour la casser. Les interactions sont quant à elles plus souples et nécessitent beaucoup moins d'énergie pour les casser. On appelle structure primaire d'une molécule la description de toutes les liaisons covalentes de celle-ci. La structure secondaire représente la structure primaire auquelle on a ajouté la description des principales interactions modelant la molécule. La structure tertiaire est la position relative dans l'espace de chaque atome de la molécule. Cette représentation englobe la totalité des liaisons covalentes et la totalité des interactions de moindre énergie. On l'appelle aussi conformation de la molécule.

1.1.2 Qu'est-ce qu'une protéine ? Les protéines sont des molécules organiques complexes représentant un composant important des organismes vivants. Elles agissent comme des enzymes dans diérentes réactions chimiques au sein de notre corps, l'ADN serait inopérant en leur absence. Elles sont aussi importantes dans le processus de défense immunitaire et sont souvent l'élément clé dans beaucoup de maladies. Par conséquent, leur étude a une énorme importance dans la compréhension du fonctionnement du corps humain et dans la lutte contre les maladies mortelles. A cause de la très grande complexité des protéines (la taille moyenne d'une protéine est de plusieurs milliers d'atomes), un traitement informatique est nécessaire pour analyser leur structure. Une protéine est un polymère (chaîne linéaire) d'acides aminés. Tous les acides aminés ont une structure similaire. Ils sont formés d'un squelette des trois atomes (appelé chaîne principale) N − Cα − C auquel se rattache (au niveau du Cα ) une chaîne latérale secondaire appelée résidu (noté R sur la gure 1.1). Il existe vingt acides aminés diérents caractérisés chacun par leur résidu (par exemple, les deux plus simples sont la Glycine qui n'a pas de résidu et l'Alanine dont le résidu est un carbone seul). Une protéine est donc une succession d'acides aminés liés entre eux de la manière décrite par la gure 1.1. Dans la littérature, on trouve souvent le terme de polypeptides pour caractériser les protéines de moins de 20 acides aminés. A la vue de la complexité des protéines, nous ne travaillerons par la suite que sur des polypeptides même si nous continuerons à les qualier de protéines ou de molécules.

Camille Besse-Patin

4

Juin 2005

M2R IA RCL - IRIT

1.1.3 La représentation des protéines Il est très facile d'admettre que la structure primaire des protéines sut pour prédire leur structure tertiaire. En eet, à partir de contraintes telles que les liaisons covalentes et une modélisation donnée des interactions entre les atomes, chaque atome peut trouver sa place dans l'espace tridimensionnel relativement aux autres atomes. L'idée est donc de trouver un formalisme allégé représentant cette structure primaire ecacement. Ce formalisme existe déjà, il s'agit du format PDB de la Protein Data Bank [PDB03]. Ce format est une norme d'écriture de chiers textes (ASCII), qui décrivent les structures tridimensionnelles de macromolécules biologiques, destinée aux chercheurs, aux enseignants et aux étudiants. Ces chiers renferment un très grand nombre d'informations sur les protéines, non seulement les coordonnées atomiques de la protéine mais aussi, dans un certain nombre de cas, sur les atomes, petites molécules organiques, eau et ions qui constituent l'environnement de la protéine regroupés sous l'appellation d'hétéroatomes. En outre on peut retrouver dans les chiers PDB les séquences d'acides aminés constituant la protéine, des informations sur les structures secondaires (feuillets, hélices, boucles ...), ainsi que des données bibliographiques (références des publications), le nom des auteurs qui ont déterminé la structure, la date d'établissement de la structure et bien d'autre choses encore. Par exemple :

ATOM ATOM ATOM ATOM

145 146 147 148

N CA C O

VAL VAL VAL VAL

A 25 A 25 A 25 A 25

32.433 31.132 30.447 29.520

16.336 16.439 15.105 15.059

57.540 58.160 58.363 59.174

1.00 1.00 1.00 1.00

11.92 11.85 12.34 15.65

A1 A1 A1 A1

N C C O

Ce morceau représente les quatre atomes (un par ligne) de la chaîne principale (N − Cα − C − O, colonne 3) du vingt-cinquième acide aminé (ici de la VALine) (resp. colonnes no 6 et 4) d'une protéine. Les colonnes 5, 6 et 7 représentent la position des atomes.

1.2 Prédiction de la conformation d'une protéine Le problème du repliement ("folding" en anglais) consiste à prédire la structure tertiaire de la protéine (sa structure 3D) à partir de sa séquence d'acides aminés (structure primaire décrite par le format vu ci-dessus). On considère en eet qu'une protéine a un unique état stable, déterminé par sa séquence d'acides aminés. L'une des théories qui répond à ce problème est celle de Gibbs [BPL82], basée sur des considérations énergétiques. Cet état stable est considéré comme étant celui d'énergie minimum. Il s'agit donc de prévoir la structure tertiaire de la protéine correspondant à son minimum d'énergie. La principale diculté est liée à la fonction d'énergie qui se révèle être très complexe pour prendre en compte au mieux l'ensemble des interactions possibles. De récents travaux ont montré que les interactions jouant les rôles les plus importants dans la détermination de la structure tertiaire (ou conformation) sont :  les interactions de van der Waals modélisées par un potentiel de Lennard-Jones ;

Camille Besse-Patin

5

Juin 2005

M2R IA RCL - IRIT  les interactions électrostatiques modélisées par un potentiel de Coulomb ;  les liaisons di-hydrogènes ;  les liaisons di-sulfures ;  les eets du solvant (en général l'eau). A titre d'exemple, il existe des logiciels tels que AMBER [AMB] et CHARMm [CHA] qui proposent de simuler le repliement d'une protéine.

1.2.1 Limitations Étant donnée la complexité du problème, nous avons décidé de limiter notre étude aux interactions de van der Waals. Ce choix résulte de plusieurs facteurs. Premièrement, les atomes d'hydrogène ne sont pas décrits par le format employé. Il était donc dicile de prendre en compte les liaisons di-hydrogènes. Ensuite, les eets du solvant sont très liés à la modélisation des interactions électrostatiques et si nous avions voulu les prendre en compte dans notre modélisation, il aurait fallu ajouter des milliards de molécules d'eau. Enn, ne connaissant pas les fonctions d'interactions entre les atomes et comme on se proposait de les apprendre, il semblait naturel de penser que cet apprentissage, s'il convergeait, prendrait aussi en compte les interactions que nous n'avions pas explicitement modélisées.

1.2.2 Minimisation du potentiel de Lennard-Jones Plus connu dans la littérature sous le nom de LJ cluster (pour cluster de LennardJones) ce problème s'exprime comme suit : Étant donné un cluster de N atomes, le problème LJ cluster est de trouver la position relative de ces atomes qui représente l'énergie potentielle globale minimale dans un espace euclidien à trois dimensions. L'énergie potentielle globale étant la somme des énergies résultant des interactions entre chaque couple d'atomes de la molécule. Nous l'avons modélisée à l'aide du potentiel de Lennard-Jones (cf. gure 1.2) : Ã !12 Ã !6  R0  R0 −2 EvdW (eV ) = ε 

rij

rij

(1.1)

où R0 représente la distance à laquelle l'énergie potentielle locale est minimale, ε la valeur de ce minimum, rij la distance entre les deux atomes i et j et EvdW l'énergie potentielle produite par l'interaction des deux atomes i et j . R0 et ε sont les paramètres que nous nous proposons d'apprendre par la suite. Comme le montre l'équation 1.1, pour une paire d'atomes le minimum de l'énergie potentielle est atteint lorsque la distance entre ceux-ci est de R0 . Lorsque cette distance tend vers zéro, le potentiel tend vers l'inni mais lorsque les atomes s'éloignent ostensiblement, la contribution de ce couple à l'énergie potentielle globale de la molécule s'approche de zéro. De ces considérations, il est raisonnable de s'attendre à ce que, dans la solution optimale du problème LJ cluster, toutes les distances interatomiques de la

Camille Besse-Patin

6

Juin 2005

M2R IA RCL - IRIT

Fig. 1.2  Potentiel de Lennard-Jones

molécule soient proches de leur distance R0 correspondant au couple d'atomes considéré. Il a été montré que ce problème de détermination du minimum d'énergie global d'un LJ cluster appartient à la classe des problèmes NP-durs [WV85]. En d'autres termes, il n'existe pas d'algorithme connu qui puisse résoudre ce problème en un temps polynomial. De nombreuses méthodes existent pour ce problème dans la littérature, allant de modèles de programmation mathématiques [GKS97] aux algorithmes génétiques [DTMH96] en passant par des méthodes de Monte Carlo par échantillonnage [WD98]. Mais toutes se basent sur une optimisation de la fonction englobant toutes les interactions existantes au sein de la molécule. Quelle que soit la méthode employée, il leur est nécessaire d'estimer la fonction globale à minimiser. Je tire ce bref état de l'art de la thèse de Ellen Fan [Fan02], dans laquelle on peut retrouver le détail de ces méthodes et les références associées.

1.2.2.1 Méthodes par optimisation globale Les approches par optimisation globale peuvent être classées soit comme des méthodes stochastiques soit comme des méthodes déterministes. Les méthodes telles que le recuit simulé ou les algorithmes génétiques sont considérées comme étant stochastiques. La méthode du gradient ou encore le Branch and Bound [Pin96] sont des méthodes déterministes.

Camille Besse-Patin

7

Juin 2005

M2R IA RCL - IRIT

1.2.2.1.1 Méthodes stochastiques Recuit simulé Comme son nom l'indique, le recuit simulé exploite une analogie avec la métallurgie où les métaux sont réchaués puis refroidis pour atteindre le minimum d'énergie de la structure cristalline. Si le système physique est refroidi susamment lentement, il est alors capable d'atteindre l'état le plus stable en évitant les minima locaux. L'avantage majeur du recuit simulé par rapport aux autres méthodes réside dans sa capacité à éviter de tomber dans les minima locaux de la fonction globale. L'algorithme développe une recherche aléatoire qui n'accepte pas seulement la diminution de la valeur de la fonction (notée f ) mais permet aussi des changements qui l'augmente. Cette augmentation a une probabilité de se produire égale à : µ

p = exp −

δf T



(1.2)

où δf est l'incrément de f et T un paramètre de contrôle, qui par analogie avec le domaine d'application original est appelé "température" du système.

Algorithmes génétiques Les algorithmes génétiques sont des techniques d'op-

timisation dérivées de la théorie de l'évolution. Ils contiennent une population d'individus représentant chacun une solution. La population évolue par générations successives jusqu'à atteindre un critère d'arrêt. Un algorithme génétique modélise en général chaque individu par un vecteur de bits. Un "enfant" de la nouvelle génération est produit par une combinaison d'une partie des vecteurs de ses parents (appartenant à la génération précédente). C'est une analogie avec l'ADN de nos chromosomes qui, dans la nature, est transmis de génération en génération. Un des principaux intérêts dans les algorithmes génétiques est leur adéquation aux problèmes d'optimisation diciles. Par exemple, Deaven et al. [DTMH96] ont appliqué cette technique au problème de la détermination de la conguration d'énergie minimale d'ensembles d'atomes, incluant les LJ clusters. Ils commencent avec une population de p clusters candidats. Les clusters sont alors "croisés" entre eux pour former de nouveaux clusters "ls" de la manière suivante : ils choisissent aléatoirement un plan passant par le centre de masse de chaque cluster "parent", ils coupent alors les clusters suivant ce plan et assemblent ensuite les "ls" faits de deux moitiés. Ils appliquent ensuite un algorithme d'optimisation locale sur ces "ls" avant de passer à la génération suivante et ainsi de suite. Le processus est répété de nombreuses fois jusqu'à ce qu'aucune amélioration n'apparaisse plus au l des générations, indiquant alors que l'algorithme a atteint la meilleure conformation connue. Cet algorithme a été capable de trouver les meilleures conformations connues pour les clusters tests de la littérature allant de 2 à 100 atomes.

Camille Besse-Patin

8

Juin 2005

M2R IA RCL - IRIT

1.2.2.1.2 Méthodes déterministes Méthode du gradient La méthode du gradient est l'une des principales méthodes classiques utilisées en optimisation. Le principe est très simple, il s'agit de suivre la ligne de plus grande pente de la fonction à optimiser, qui, d'un point de vue mathématique, correspond à la dérivée de cette dernière. Cependant, cette méthode possède des inconvénients bien connus : 1. le choix de l'incrément est empirique ; 2. si l'incrément est trop petit, le nombre d'itérations peut être très élevé ; 3. si l'incrément est trop grand, les valeurs de la suite risquent d'osciller autour du minimum sans converger ; 4. rien ne garantit que le minimum trouvé soit un minimum global (sauf fonction convexe). Ce dernier point est la limite la plus importante de cette méthode d'optimisation. En eet, le minimum global est souvent masqué par un minimum local. Il est alors impossible avec la méthode du gradient d'aller au-delà de ce minimum. Cette méthode va donc s'y arrêter et rien ne peut prouver qu'il n'existe pas un autre minimum meilleur au-delà.

Branch and Bound La méthode du Branch and Bound (B&B) est une approche recherchant une solution optimale en n'explorant qu'une partie de l'espace de recherche. Une borne (bounds ) optimiste et une borne pessimiste assurent qu'aucune solution optimale n'appartienne aux parties élaguées de l'espace de recherche. Le B&B garantit alors de trouver un minimum global (mais pas forcément optimal) ayant une certaine précision après un nombre déni d'étapes. L'idée est que l'ensemble des solutions acceptables est décomposable en plusieurs (plus petits) sous-ensembles dont on calcule aussi la borne optimiste et la borne pessimiste. On atteint alors un état où peuvent se produire les cas suivants : 1. le sous-ensemble est vide ; 2. le meilleure solution espérée (borne optimiste) est moins bonne que la pire solution espérée (borne pessimiste) d'un autre sous-ensemble ; 3. la meilleure solution est dans ce sous-ensemble. Dans les deux premiers cas, on élimine les sous-ensembles de l'espace de recherche car ils ne peuvent pas contenir de meilleure solution ; dans le dernier cas, on réitère l'opération en partageant le sous-ensemble. La borne optimiste est calculée en relaxant le problème, la pessimiste avec une méthode ecace et rapide en temps de calcul. Le calcul des bornes est très important sinon cette approche peut dégénérer dans une recherche de l'espace complet et peut devenir alors inecace.

Camille Besse-Patin

9

Juin 2005

M2R IA RCL - IRIT

1.2.2.2 Méthodes de recherche directe et méthodes par dérivation Nous considérons, dans cette section, le problème non contraint de minimisation suivant :

minf (x)

(1.3)

où x ∈ Rn , et f : Rn → R. Un grand nombre d'algorithmes ont été développés pour résoudre les problèmes de minimisation non contraints i.e. dans lesquels les atomes n'ont aucune liaison covalente. Les méthodes basées uniquement sur la comparaison des valeurs de la fonction sont appelées méthodes de recherche directe (direct search methods en anglais). Ces méthodes sont employées lorsque la fonction f n'est pas dérivable ou lorsqu'aucune information sur sa dérivabilité n'est disponible. Au contraire des méthodes basées sur la dérivée (Derivative-based methods ) pour lesquelles f doit être continue et ses dérivées faciles à calculer. Une application des méthodes de recherche directe à l'optimisation de la géométrie des molécules peut être trouvée dans le rapport [MM94] dans lequel Meza and Martinez comparent une méthode de recherche directe aux algorithmes génétiques ou encore au recuit simulé utilisant le potentiel de Lennard-Jones. Leur conclusion indique que la méthode par recherche directe est aussi ecace que les algorithmes génétiques et signicativement meilleure que le recuit simulé pour un grand nombre d'atomes. D'autres bons résultats ont aussi été obtenus en couplant certaines de ces méthodes. Par exemple, l'ecacité obtenue en couplant le recuit simulé et la méthode du gradient a été grandement améliorée sur les petites molécules. La principale diculté de la résolution du problème de minimisation du potentiel de Lennard-Jones provient du fait que la fonction globale possède un grand nombre de variables avec une quantité faramineuse de minima locaux. L'idée de ce travail était donc d'éviter d'avoir à calculer cette fonction globale en proposant une approche ascendante basée sur les systèmes multi-agents adaptatifs. Aucune méthode présentée ci-dessus ne fait de véritable résolution ascendante du problème. C'est sur cette particularité que se base notre approche. L'ignorance de la fonction globale à minimiser induit une approche ne présentant pas le défaut d'avoir à calculer ladite fonction. Dans la partie suivante, nous allons détailler l'état de la technologie enployée par notre approche avant de présenter le travail réalisé.

1.3 Les systèmes multi-agents adaptatifs (AMAS) Les systèmes multi-agents (SMA) sont des systèmes basés sur la distribution des connaissances et du contrôle sur un ensemble d'entités appelées agents. Métaphore de l'organisation sociale, un système multi-agent est vu comme une société d'agents autonomes en interdépendance avec d'autres [Woo02]. Autonomie, répartition des tâches, interactions, coordination sont autant de concepts inhérents au domaine des agents.

Camille Besse-Patin

10

Juin 2005

M2R IA RCL - IRIT Ferber donne une dénition communément admise de l'agent comme étant " une entité virtuelle ou réelle qui est capable d'agir sur son environnement, qui possède des moyens de perception et de représentation partielle de son environnement, qui est capable de communiquer avec d'autres agents et qui est autonome dans sa prise de décision" [Fer95]. Ce comportement autonome est la conséquence de ses observations, de ses compétences et des interactions avec les autres agents. Ainsi, selon l'application, des agents pourront créer d'autres agents, assisteront un utilisateur (agent assistant), se déplaceront dans un réseau (agent mobile), pourront faire de l'apprentissage, coordonneront les actions d'autres agents, détecteront des pannes, etc. Nous nous intéressons plus particulièrement aux systèmes multi-agents adaptatifs. Au sein de ces systèmes, l'organisation des agents n'est pas xe mais se transforme suivant les besoins du système et sa confrontation à l'environnement. Cette modication des interactions entre agents se fait de manière autonome d'où son nom d'auto-organisation. Tout l'intérêt de ces systèmes réside dans l'émergence de structures organisationnelles adéquates à la tâche du système, ceci étant produit par les interactions entre les agents. Nous allons donc présenter une façon de construire et manipuler les systèmes multiagents adaptatifs : la théorie des AMAS.

1.3.1 La théorie des AMAS La théorie des AMAS se base sur le théorème de l'adéquation fonctionnelle qui justie l'interdépendance qui peut exister entre un comportement local coopératif et l'adéquation fonctionnelle à la fonction globale collective [Geo04]. L'adéquation fonctionnelle d'un système est un jugement eectué par un observateur sur la pertinence de son activité dans l'environnement. "Fonctionnel" réfère à ce que le système est en train de produire, ce qu'un observateur jugerait comme le comportement du système. Et "adéquat" signie simplement que le système a le "bon" comportement, jugé par un observateur ou par l'environnement. L'adéquation fonctionnelle d'un système peut donc être vue comme le comportement approprié pour la tâche en cours.

Théorème 1 Pour tout système fonctionnellement adéquat, il existe au moins un sys-

tème à milieu intérieur coopératif qui réalise une fonction équivalente dans le même environnement. La démonstration de ce théorème [Cam98] se déduit de l'application de l'axiome2 et des quatre lemmes suivants par des opérations de surjection et d'inclusion d'ensembles :

Axiome 1 Un système fonctionnellement adéquat n'a aucune activité antinomique sur son environnement.

La véracité de cette assertion ne peut pas être prouvée, car il faudrait un observateur extérieur à l'activité de tous les systèmes évoluant dans un certain univers physique, tout en n'interagissant aucunement avec celui-ci an de ne pas le perturber.

Lemme 1 Tout système coopératif est fonctionnellement adéquat. 2 Cet

axiome joue un rôle similaire, pour la classe des systèmes fonctionnellement adéquats, à la thèse de Church pour les fonctions eectivement calculables.

Camille Besse-Patin

11

Juin 2005

M2R IA RCL - IRIT La démonstration s'appuie sur l'axiome précédent, car par dénition un système coopératif n'a pas d'activité antinomique.

Lemme 2 Pour tout système S fonctionnellement adéquat, il existe au moins un système coopératif S* qui soit fonctionnellement adéquat dans le même environnement.

La démonstration consiste en une expérience de pensée de déconstruction du système S pour en construire un nouveau S*. Elle est réalisée en quatre étapes : dénir un algorithme de construction d'un système coopératif, montrer que cet algorithme se termine, montrer que le système coopératif obtenu est équivalent au système initial pour l'environnement, montrer que le nouveau système est fonctionnellement adéquat.

Lemme 3 Tout système à milieu intérieur coopératif est un système coopératif. Le milieu intérieur correspond aux parties du système ainsi qu'aux supports physiques nécessaires à leurs échanges. Un système à milieu intérieur coopératif possède des échanges coopératifs avec son environnement, car ceux-ci sont un sous-ensemble des échanges que réalisent ses parties.

Lemme 4 Pour tout système coopératif, il existe au moins un système à milieu intérieur coopératif avec une fonction équivalente dans le même environnement.

La méthode est identique à celle du lemme 2. La particularité réside dans l'objet de la construction qui est maintenant chaque partie du système. Le théorème de l'adéquation fonctionnelle permet de ne s'intéresser qu'à des systèmes très particuliers (à milieu intérieur coopératif) pour obtenir des systèmes fonctionnellement adéquats dans un environnement donné (cf. gure 1.3). Cela implique de manière sous-jacente que l'on va se focaliser sur les interactions entre les parties du système et faire en sorte qu'elles soient coopératives. Mais tant que nous ne pouvons pas spécier le comportement coopératif de ces parties, nous les décomposons en sousparties plus élémentaires (que nous appellerons agents) capable de s'auto-organiser pour obtenir la fonction non formellement spéciée.

1.3.2 L'adaptation par auto-organisation coopérative Un moyen d'évoluer pour un système S consiste à transformer sa fonction actuelle fs de manière autonome (donc par auto-organisation) an de s'adapter à l'environnement, considéré comme une contrainte qui lui est donnée (cf. gure 1.4). Chaque partie Pi d'un système S réalise une fonction partielle fpi de la fonction globale fs . fs est le résultat de la combinaison -notée par l'opérateur "⊗"- des fonctions partielles fpi (les èches dirigées vers le haut dans la gure 1.4). La combinaison étant déterminée par l'organisation courante des parties, il s'ensuit que fs = fp1 ⊗ fp2 ⊗ ... ⊗ fpn . Comme généralement fp1 ⊗fp2 6= fp2 ⊗fp1 , transformer l'organisation (les doubles èches courbées dans la gure 1.4) conduit à changer la combinaison des fonctions partielles et donc à modier la fonction globale fs . L'auto-organisation a lieu lorsque le système n'est pas fonctionnellement adéquat, i.e. lorsqu'un ou plusieurs agents sont dans des états, jugés localement, non coopératifs avec leur environnement (gure 1.4). Rendre les agents coopératifs consistera donc à

Camille Besse-Patin

12

Juin 2005

M2R IA RCL - IRIT

–Ž –  Ž

¢œ¸–Žœȱ¥ –’•’Žžȱ’—·›’Žž›ȱŒ˜˜™·›Š’

ȱŚ

 ‘ ·˜ ›¸ –

Ž

ȱǭ œ ȱř

Ž ––

¢œ¸–ŽœȱŒ˜˜™·›Š’œ

ȱŘ ŗ ȱǭ Žœȱ

¢œ¸–Žœȱ˜—Œ’˜——Ž••Ž–Ž—ȱŠ·šžŠœ

Fig. 1.3  Théorème de l'adéquation fonctionnelle : relations d'inclusion entre

systèmes adéquats et coopératifs

fournir des règles de détection de la non coopération et des moyens d'en sortir pour revenir le plus rapidement possible dans un état coopératif. Glize propose des moyens de détection de ces états non coopératifs (ou SNC pour situations non coopératives) pour chaque phase du cycle perception-décision-action de l'agent autonome [Gli01], charge à chacun ensuite de trouver les moyens de résoudre ces SNC ou de les éviter :

Dénition 1 Un agent est dit coopératif si et seulement si cper ∧ cdec ∧ cact est vraie

avec :  cper : l'agent est apte à tout instant à interpréter de manière non ambiguë un signal de son environnement social ;  cdec : l'agent peut employer ses propres compétences sur l'information produite par le traitement du signal ;  cact : la transformation du milieu que l'agent réalise est protable à son environnement. Glize [Gli01] dénit aussi la coopération de manière proscriptive, ce qui permet d'introduire les conditions de réorganisation des agents :

Dénition 2 Un agent est dit en situation non coopérative (ou SNC) si et seulement si ¬cper ∨ ¬cdec ∨ ¬cact est vraie.

Un agent peut donc se trouver dans trois SNC diérentes (¬cper , ¬cdec ou ¬cact ) ayant chacune des interprétations diérentes :

Camille Besse-Patin

13

Juin 2005

M2R IA RCL - IRIT

Fig. 1.4  Adaptation par auto-organisation dans un environnement dynamique

¬cper

¬cdec

¬cact

L'incompréhension est détectée lorsque l'agent est incapable d'extraire le contenu informatif d'un signal. L'ambiguïté est détectée lorsque l'agent attribue plusieurs interprétations à un même signal. L'incompétence survient lorsque l'agent est incapable d'exploiter dans son raisonnement un signal reçu. L'improductivité survient lorsque l'utilisation d'un signal ne débouche sur aucune conclusion. La concurrence est une situation dans laquelle un agent croit que l'action d'un autre agent va aboutir au même état du monde (les deux agents ont le même but). Le conit correspond à une situation lors de laquelle un agent croit que l'action d'un autre agent va être incompatible avec la sienne (les deux agents ont deux buts antinomiques). L'inutilité lorsqu'un agent croit que son action ne va pas modier le monde.

1.3.3 L'agent coopératif L'agent peut, grâce aux critères ci-dessus, décider localement s'il est en situation coopérative ou non. En eet, par rapport aux croyances qu'il a sur lui-même, il peut localement déterminer si ce qu'il reçoit est compréhensible et lui permet de réaliser son action. Il peut également, en fonction de ses perceptions, juger localement si ses actions ont été utiles. Dans le cas inverse l'agent agit de manière à résorber ces situations non coopérative. Plus généralement, pour qu'un comportement collectif cohérent puisse être observé, un agent doit être constitué de cinq parties indispensables (cf. gure 1.5) :  Les compétences sont des connaissances d'un domaine particulier qui permettent à l'agent de réaliser la fonction partielle qui lui est assignée ;  Les diérentes représentations qu'il a de lui-même, des autres agents et de l'environnement lui confèrent une croyance sur ce qu'il sait de lui-même, des autres et

Camille Besse-Patin

14

Juin 2005

M2R IA RCL - IRIT

    Stimuli    

Représentations Aptitudes Compétences Coopération Interaction



   Actions   

Fig. 1.5  Modèle d'un agent

de son environnement. Les croyances peuvent être implicites ou explicites ;  L'attitude sociale appelée la coopération contient les critères locaux qui vont permettre à l'agent de décider de son comportement et de se réorganiser avec les autres agents ;  Les aptitudes sont les capacités qu'un agent possède pour raisonner sur ses représentations et ses connaissances ;  Les agents ont un moyen d'interaction qui leur permet de communiquer soit de manière directe, soit en utilisant l'environnement. Nous avons vu ci-dessus une approche de conception descendante [Pic04] permettant une résolution ascendante [Geo04] basée sur la coopération. Cette méthode, appliquée au problème présenté en début de chapitre, va nous permettre de minimiser la fonction d'énergie globalement inconnue en raisonnant uniquement sur les éléments composant les molécules. Le chapitre suivant présente donc la modélisation du problème à l'aide des AMAS et les algorithmes de résolution des situations non coopératives.

Camille Besse-Patin

15

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

16

Juin 2005

M2R IA RCL - IRIT

Chapitre 2 La résolution par AMAS Comme nous l'avons expliqué dans le chapitre précédent, l'objectif ici est de minimiser l'énergie potentielle de la molécule. Cette énergie est calculée par la somme des énergies induites des interactions de van der Waals entre chaque paire d'atomes. La composition des fonctions de Lennard-Jones étant un calcul complexe et fastidieux, mais néanmoins possible pour un petit nombre d'atomes, une approche de résolution sans calcul de la fonction globale a été proposée au travers des AMAS. L'application de la théorie des AMAS au problème de repliement de molécules commence par une spécication des objectifs et de l'environnement du système. Ensuite, nous avons spécié de quelle manière le système se décompose en agents et comment celui-ci va résoudre le problème de la recherche du minimum d'énergie. Ce chapitre va tout d'abord présenter le système à modéliser puis sa décomposition en AMAS. La troisième partie est consacrée à l'implantation du système, et la dernière, aux résultats du système et aux conclusions que l'on peut en tirer.

2.1 Le système Dans notre problème, nous n'avons qu'une seule entité de macro-niveau : la molécule. Nous considérons donc que la molécule, composée d'atomes, est notre système multi-agent. Son objectif est de minimiser son énergie interne résultant des interactions entre ses atomes. Elle ne possède pas d'environnement si ce n'est l'utilisateur et la plateforme sur laquelle elle évolue, mais avec lesquels les interactions sont quasi-inexistantes. Intuitivement, on devine que les agents composants du système sont les atomes. Leur implication dans le calcul de l'énergie fait d'eux des acteurs priviliégiés du phénomène de repliement. Nous allons maintenant aborder une description détaillée de chaque entité de ce système pour permettre de diérencier par la suite le système chargé de rechercher la conformation de moindre énergie de celui qui sera ensuite chargé d'apprendre les interaction de van der Waals (cf. Chapitre 3).

Camille Besse-Patin

17

Juin 2005

M2R IA RCL - IRIT

2.2 Les agents Les atomes sont nos agents, nous les appelons atomes-agents dans la suite du texte, ce sont les entités les plus élémentaires du système. Ce sont eux qui vont décider et agir pour faire décroître leur énergie localement et ainsi celle de la molécule, globalement, par le biais de leurs interactions. La description de ces agents va suivre celle donnée dans la théorie AMAS (cf. Chapitre 1.3). Dans un premier temps, elle va commencer par l'environnement des agents et leurs interactions avec celui-ci, puis elle plongera plus profondément dans leur structure pour explorer leurs représentations, aptitudes et compétences an d'expliquer leur méthode de fonctionnement coopérative.

2.2.1 Environnement et interactions L'environnement de chaque atome-agent est composé de ses atomes voisins (perceptibles) et de ses atomes liés par liaisons covalentes (appelés covalents dans la suite). Suivant le conseil de bio-chimistes, nous avons considéré que la distance de perception d'un atome est égale à huit angströms (8.10−10 mètres). Ainsi les interactions de van der Waals se produisent uniquement avec les atomes présents dans la sphère proche de l'atome-agent considéré. Les atomes covalents quant à eux induisent uniquement des contraintes mécaniques sur ses déplacements. Les perceptions de l'atome-agent sont donc de deux types :  Ses liaisons fortes (liaisons covalentes) dont les longueurs xes (données par les biochimistes) doivent être maintenues à 1% près tout au long de la résolution du problème ;  Ses liaisons faibles (interactions de van der Waals) dont les longueurs induisent son niveau d'énergie potentielle. Au travers de ses liaisons faibles, l'atome-agent perçoit aussi les niveaux d'énergie potentielle de ses voisins. De la même manière, il perçoit au travers de ses liaisons fortes l'état des liaisons fortes de ses covalents. Dès lors, l'atome-agent traite de manière coopérative ses perceptions. Il ordonne ses voisins et ses covalents de manière à déterminer lesquels sont les plus en diculté. Ainsi, son voisin de plus grande énergie (son "pire voisin") sera celui à aider prioritairement aux autres voisins. En suivant le même raisonnement sur les covalents, il est capable de déterminer quel covalent se trouve dans la "pire" situation (i.e. celui dont la somme des erreurs sur chaque liaison covalente est la plus grande). Les liaisons fortes primant sur les liaisons faibles, un raisonnement puis une décision adaptée et coopérative découlera de ces perceptions.

2.2.2 Représentations et aptitudes Un atome-agent se caractérise essentiellement par sa position dans l'espace, son type et son niveau d'énergie. Sa représentation de lui-même et des autres agents de son voisinage comprend donc ces données. Il n'a aucune connaissance de la molécule dans sa

Camille Besse-Patin

18

Juin 2005

M2R IA RCL - IRIT globalité. En revanche, ses représentations sont toujours justes, certaines et complètes1 dans l'application développée. Sa position induit quels sont les voisins avec lesquels il va interagir. Son type implique l'utilisation de fonctions d'énergie potentielle propres qui lui permettent de calculer son niveau d'énergie potentielle et celui de ses voisins. Il peut alors décider de quelle manière il va agir en se basant sur ses représentations et ses connaissances. Un atome-agent raisonne de manière coopérative sur les deux types de perception qu'il possède :  Sur les liaisons fortes, en déterminant le déplacement qui diminue l'erreur de son "pire" covalent ;  Sur les liaisons faibles, en déterminant le déplacement qui diminue l'énergie potentielle de son "pire" voisin tout en veillant à ne pas agrandir l'erreur de son covalent ayant la plus grande erreur. Pour cela, l'atome-agent calcule un vecteur tridimensionnel de déplacement selon les contraintes ci-dessus qui représente la somme de deux vecteurs déplacement (un pour chaque contrainte). Ce calcul est présenté dans la partie 2.2.3 consacrée aux compétences de l'agent. Avant de parvenir à ce résultat, plusieurs comportements sociaux ont été testés pour l'atome-agent. Ce dernier pouvant se comporter de manière individualiste vis-àvis de ses voisins, ou, à l'opposé de manière plus altruiste. Un exemple de comportement individualiste serait de se déplacer de manière à maximiser sa diminution d'énergie potentielle propre. L'atome-agent altruiste cherche, au contraire de l'exemple précédent, à minimiser l'énergie potentielle de son pire voisin, au détriment d'autres atomes présents dans son champ de perception. Des solutions visant à se déplacer suivant la contrainte mécanique des liaisons fortes ont aussi été essayées. Le problème majeur de ce type d'approche réside dans les atomes-agents possédant trois covalents ou plus qui se retrouvent immobilisés en attendant que ceux moins contraints se déplacent. Au nal, ces méthodes augmentent plus l'énergie globale de la molécule qu'elles ne la diminuent. La solution coopérative se trouve, de ce point de vue, bien mieux adaptée.

2.2.3 Compétences L'atome-agent est capable de percevoir le niveau d'énergie potentielle de ses voisins aux travers des interactions qu'il possède avec eux. Il est aussi capable de mesurer l'erreur existant sur les liaisons covalentes qu'il possède. Mais la seule manière qu'il a d'agir réellement sur son environnement est sa capacité à se déplacer dans l'espace tridimensionnel. Il peut ainsi inuencer les énergies potentielles de ses voisins et modier les erreurs sur ses liaisons covalentes. L'action de chaque atome-agent se résume donc à un déplacement dans l'espace et de fait à une mise à jour de la liste de ses voisins perceptibles après le déplacement. Le déplacement est eectué comme suit : le vecteur de déplacement pour son pire covalent est un vecteur (déterminé lors du raisonnement) colinéaire à la liaison covalente existant 1 Une

éventuelle parallélisation de tous les agents rendrait obsolète ces assertions.

Camille Besse-Patin

19

Juin 2005

M2R IA RCL - IRIT

Pire voisin Pire covalent

Déplacement Déplacement pour pire voisin

Déplacement pour pire covalent

Atome−Agent agissant

Fig. 2.1  Déplacement d'un atome-agent

entre les deux atomes-agents considérés et proportionnel à l'erreur existant sur cette liaison. Le vecteur de déplacement pour le pire voisin est perpendiculaire au vecteur de déplacement pour le pire covalent et situé dans le plan formé par l'atome-agent agissant, son pire covalent et son pire voisin. Sa norme est elle aussi proportionnelle à la force existant entre l'atome-agent agissant et son pire voisin en étant toutefois limitée à un cinquième du déplacement du pire covalent pour éviter de trop brusques distorsions. Le fait que le choix du vecteur pour le pire voisin soit perpendiculaire au vecteur pour le pire covalent s'explique dans la partie 2.2.4 consacrée aux situations non coopératives. La gure 2.1 illustre le déplacement expliqué ci-dessus.

2.2.4 Situations non coopératives Pour cette application, nous avons déterminé trois types de situations non coopératives pour les atomes-agents :  Le premier concerne les liaisons covalentes et le "pire covalent" : si, parmi ses covalents, il existe une erreur supérieure au 1% autorisé, l'atome-agent concerné se déplace de manière à résorber l'erreur du pire covalent ;  Le deuxième concerne le voisinage perceptible et le "pire voisin" : si, parmi ses voisins, il existe un atome dont l'énergie potentielle n'est pas minimale, l'atomeagent concerné se déplace de manière à diminuer l'énergie potentielle du pire voisin ;  Le dernier concerne ces deux déplacements : il se peut qu'ils entrent en conit si le déplacement pour le "pire voisin" va à l'encontre du déplacement pour le "pire covalent". Mais cette situation est évitée par le déplacement (pour le "pire voisin") perpendiculaire au déplacement pour le "pire covalent". Les premières et les dernières situations non coopératives peuvent être évitées ou résolues au contraire de celles du second type. De fait, les atomes-agents sont perpétuellement en situation non coopérative à la recherche du minimum d'énergie potentielle de leur "pire voisin". Le but sous-jacent de ce type de situation est de rechercher un équilibre dynamique des forces au sein des molécules repliées.

Camille Besse-Patin

20

Juin 2005

M2R IA RCL - IRIT À ce stade de la modélisation, on pourrait envisager de faire un parallèle avec la réalité microscopique. Il est certain que dans la nature, les molécules ne se gent pas dans un état ou dans un autre. Elles ne font qu'atteindre un état d'équilibre qui sera rompu à la prochaine perturbation de température, pression, etc. Cet aspect dynamique se trouve ainsi correctement modélisé avec notre approche.

2.2.5 Algorithme d'un cycle de résolution Un cycle de résolution correspond, dans ce type d'application, à l'exécution d'un cycle de vie complet (perception, décision et action) pour chaque agent présent dans le système. Dans l'optique d'une parallélisation de l'application où chaque agent serait un processus spécique, nous avons choisi de faire en sorte que tous les atomes-agents rééchissent sur le même état de la molécule à un instant donné avant de se déplacer tous simultanément. Ainsi, l'ordre de déplacement des atomes n'inue pas sur la vitesse de convergence de la résolution. Dans l'algorithme indiqué ci-dessous, la condition d'arrêt de l'algorithme est volontairement abstraite, ce point sera expliqué dans la partie 2.4 présentant les résultats de l'application, les avantages et les limites de ce type d'approche.

Tant que (Equilibre non atteint) faire

[Chaque atome-agent de la molécule réechit à la manière de se déplacer] Pour chaque atome de la molécule faire [Perception de l'environnent, décision des déplacement à eectuer] Calculer déplacement pire covalent Calculer déplacement pire voisin

Fin Pour

[Tous les atomes se déplacent simultanément] Pour chaque atome de la molécule faire [Action du déplacement] Se déplacer

Fait

Fin Pour

Le calcul de la complexité de cet algorithme sera eectué dans la partie 2.4.1 qui présente les résultats de l'application dont l'implémentation est expliquée dans la partie 2.3.

Camille Besse-Patin

21

Juin 2005

M2R IA RCL - IRIT

2.3 Prototype réalisé Nous avons réalisé un prototype d'application mettant en ÷uvre les principes vus dans les parties précédentes. Ce programme a été réalisé en Java, un langage orienté objet se prêtant mieux à la conception de systèmes multi-agents. Ce prototype se scinde en deux parties :  Une partie comprenant l'implantation de l'algorithme de résolution (cf. partie 2.3.1) ;  Une partie de visualisation décomposée elle-même en plusieurs sous-modules (cf. partie 2.3.2). Un partie exécutable uniquement en mode batch a également été implémentée pour permettre l'utilisation éventuelle des serveurs de calculs de l'Institut de Recherche en Informatique de Toulouse (IRIT) ou du Centre Interuniversitaire de Calcul de Toulouse (CICT) qui n'acceptent pas d'interfaces graphiques.

2.3.1 Implantation de l'algorithme coopératif Cette partie comprend essentiellement la modélisation de la molécule et des atomesagents. Une molécule est modélisée par une classe contenant une liste d'atomes-agents coopératifs. Elle possède une méthode lui permettant d'exécuter un cycle de fonctionnement complet, à savoir :  Elle fait appel à la méthode de perception et de décision des atomes-agents dans une première boucle ;  Elle fait ensuite agir chacun des atomes-agents dans une seconde boucle de manière à simuler la simultanéité des déplacements. Elle possède d'autres méthodes permettant notamment de calculer son énergie potentielle et de mesurer la totalité des erreurs faites sur les liaisons covalentes de tous ses atomes. La molécule est gérée par une plate-forme d'exécution qui stocke toutes les informations nécessaires à la visualisation des résultats : le cycle en cours de calcul, le niveau d'énergie courant de la molécule, le seuil d'énergie à partir duquel on estime que la résolution est satisfaisante, le nombre de cycles maximal qu'on souhaite réaliser, etc. Les atomes-agents, quant à eux, possèdent des méthodes identiques à celles de la molécule : calcul du niveau d'énergie potentielle et calcul de l'erreur existant sur les liaisons covalentes. Ces calculs sont respectivement sous-traités par la tables des fonctions de Lennard-Jones et la table des longueurs des liaisons fortes. L'atome-agent qui souhaite connaître son niveau d'énergie le demande à la table des fonctions en lui fournissant sa liste de voisin courante. La table peut ainsi sommer les énergies induites par les interactions existant entre l'atome-agent considéré et chacun de ses voisins. De la même manière, un atome-agent souhaitant savoir quelle est l'erreur existant sur l'une de ses liaisons covalentes, s'adresse à la table correspondante qui lui fournit la valeur de référence donnée initialement par les biochimistes. Pour réaliser tous ces calculs tridimensionnels, un module de gestion de vecteurs et de matrices 3D homogènes a également été implémenté, Java ne proposant pas ce type de modules dans la version de base de la SDK. Il s'agit surtout ici, de calculs de produits

Camille Besse-Patin

22

Juin 2005

M2R IA RCL - IRIT vectoriels et matriciels ou encore de transformation de vecteurs par des matrices. Ce module a aussi été utilisé par la partie visualisation/interface de notre prototype.

2.3.2 Visualisation du repliement de molécule Comme le montre la gure 2.2, l'interface permet de visualiser plusieurs éléments de résultats tels que la molécule en trois dimensions (1), la courbe d'évolution de l'énergie (2), le niveau d'énergie de la molécule (3), le cycle courant de résolution (5) et le temps de résolution (en bas de la barre d'outils). Elle permet aussi de modier les conditions d'arrêt en cours de résolution : le seuil minimal du potentiel énergétique que peut atteindre la résolution (4) et le nombre maximal de cycles xé par l'utilisateur (6). En dehors de l'aspect visualisation de résultats, cette interface permet d'interagir directement avec la molécule. Il est possible de disposer aléatoirement les atomes dans l'espace tout en maintenant le respect des liaisons fortes, et il sera bientôt possible2 de perturber la molécule en sélectionnant et déplaçant les atomes pendant la résolution. Cette interface a été réalisée par Tristan Faure, étudiant à l'Institut Universitaire Technologique en Informatique de Toulouse, pour améliorer l'utilisabilité du logiciel. Il a en plus rajouté la possibilité d'enregistrer des vidéos de la résolution ainsi qu'une aide à l'utilisation de notre application. Le prototype présenté dans cette partie nous a permis de tester et de valider les aspects théorique présentés en début de chapitre. Nous allons maintenant décrire et analyser les résultats que cette application a permis de produire.

2.4 Résultats de l'application De nombreux ajustements ont été faits pour améliorer la coopération tout au long de la réalisation de ce système de résolution. Nous avons déni un certain nombre de critères permettant d'évaluer les diérentes versions des atomes-agents. Un critère basé sur la vitesse de convergence en nombre de cycles de résolution (ou un cycle correspond au déplacement de tous les atomes-agents de la molécule), un critère de résolution en temps de calcul même si de nombreuses optimisations sont encore à réaliser, un autre critère basé sur la capacité à sortir de certains minima locaux et enn un critère basé sur la valeur de l'énergie minimale atteinte (dépendant des fonctions d'énergies utilisées cf. Chapitre 3). Pour l'exemple, voici les courbes d'évolution de l'énergie potentielle d'une molécule de dix-sept atomes avec deux implantations diérentes du comportement social des agents. Dans le premier cas, gure 2.3, les agents ne sont pas encore capables d'éviter le dernier type de situations non coopératives (déplacement inutile) vue dans la partie 2.2.4. Par conséquent, il arrive que l'énergie globale de la molécule reste stable ou même augmente. Au contraire de la gure 2.4 dans laquelle on peut voir que l'amélioration est 2 En

cours de réalisation pendant l'écriture de ce rapport.

Camille Besse-Patin

23

Juin 2005

M2R IA RCL - IRIT

Fig. 2.2  Interface graphique utilisée

immédiate et continue. On observe néanmoins que dans le premier cas, les atomes sont déja capables de s'extraire de minima locaux.Cette capacité a été conservée au fur et à mesure des versions. Par exemple sur la gure 2.5, cas plus complexe puisqu'il s'agit d'une molécule possédant quarante-trois atomes, la recherche atteint des minima locaux (' 500e cyle) et s'en extirpe avec brio.

Camille Besse-Patin

24

Juin 2005

M2R IA RCL - IRIT

Fig. 2.3  Évolution de l'énergie potentielle d'une molécule à 17 atomes (en gras)

La courbe en gras représente l'énergie potentielle de la molécule, la courbe ne représente la quantité de déplacement par atome, celle en pointillés, la moyenne de la courbe ne sur 20 pas.

Fig. 2.4  Évolution de l'énergie potentielle d'une molécule à 17 atomes après

amélioration de la coopération.

2.4.1 Résultats temporels Il convient de remarquer que la résolution de ce problème est déterministe et donc qu'à partir d'une situation initiale donnée, la résolution se fait toujours dans le même temps et dans le même nombre de cycles et la valeur atteinte est la même. A noter aussi qu'aucun critère d'arrêt ne s'est révélé réellement satisfaisant et qu'il a donc été nécessaire d'avoir l'avis d'un opérateur humain pour stopper le processus de recherche du minimum global. En eet, aucune preuve de terminaison du programme n'a pu être dé-

Camille Besse-Patin

25

Juin 2005

M2R IA RCL - IRIT

Fig. 2.5  Évolution de l'énergie potentielle d'un molécule à 42 atomes

montrée puisque l'objectif de cette application est de trouver un équilibre dynamique. Il est aussi réellement dicile d'estimer numériquement qu'une valeur ottante s'est stabilisée. Il faudrait pour cela xer arbitrairement un temps pendant lequel l'énergie potentielle n'a pas - ou peu - évoluée. Ce que nous n'avons pas souhaité faire, préférant laisser l'application explorer l'espace de recherche plus longtemps pour ensuite estimer le temps de résolution en fonction du temps de calcul par cycle et le nombre de cycles suivant le jugement d'un opérateur humain. En tenant compte de ces considérations, le tableau 2.6 présente les résultats obtenus par notre algorithme sur une machine mono-processeur de 1.7 Gh avec 1 Go de RAM.

Nombre d'atomes 5 9 13 17 42 82

Nombre de cycles ' 500 ' 900 ' 1300 ' 1700 ' 3500 ' 4700

Temps écoulé ' 1 min ' 5 min ' 9 min ' 20 min '7h ' 2 jours

Fig. 2.6  Tableau récapitulatif des temps de calcul en fonction du nombre

d'atomes.

On remarque que la résolution se fait linéairement en nombre de cycles. Cette considération nous a poussé à calculer la complexité de l'algorithme énoncé dans la partie 2.2.5. Pour cela, il faut savoir que les calculs des déplacements pour le pire covalent et pour le pire voisin sont respectivement en O(k) et O(N ) où k est une constante et N le nombre d'atomes de la molécule. De plus, les résultats expérimentaux montrent que le nombre de cycles est majoré par une fonction en O(N ), ce qui nous donne un algorithme de complexité temporelle en O(N 3 ). Ce résultat se retrouve aussi expérimentalement

Camille Besse-Patin

26

Juin 2005

M2R IA RCL - IRIT (cf. gure 2.7).

Fig. 2.7  Graphique récapitulatif du temps de calcul en fonction du nombre

d'atomes et estimation de la complexité temporelle.

2.4.2 Avantages et limites des AMAS pour ce problème Comme nous l'expliquions dans le Chapitre 1, cette approche par résolution ascendante limite la complexité de l'algorithme à employer pour parcourir l'espace de recherche et limite aussi l'espace de recherche exploré. De ces deux limitations résultent le tableau vu dans la partie précédente. De plus, ces chires ouvrent des perspectives nouvelles dans le domaine de la bioinformatique et la recherche de nouveaux médicaments avec toutefois pour le moment un bémol. En eet, en dehors de ces résultats plus que satisfaisants, plusieurs lacunes peuvent être remarquées dans cette application : 1. Nous ne prenons en compte, lors de la modélisation du problème, que les interactions de van der Waals. Il faudrait aussi introduire dans notre modèle les interactions avec le milieu, tel que l'eau, ou encore les liaisons électrostatiques qui font relativement pêcher notre modèle. Relativement, car il est possible de substituer aux fonctions de Lennard-Jones des fonctions plus complètes englobant les diérents types d'interactions dans la limite où ces fonctions ne possèdent pas de minima locaux ; 2. À ce jour, les fonctions de Lennard-Jones utilisées pour modéliser les interactions de van der Waals ne sont pas connues. Cette limite là, loin de nous décourager, nous a incité à essayer de faire apprendre les paramètres de ces fonctions en utilisant à nouveau la théorie des AMAS sur un autre système et dans un autre but. C'est l'objet du Chapitre 3.

Camille Besse-Patin

27

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

28

Juin 2005

M2R IA RCL - IRIT

Chapitre 3 Apprentissage par AMAS Nous avons vu dans le chapitre précédent que la minimisation de l'énergie potentielle pouvait se faire à l'aide d'un système multi-agent adaptatif. Seulement, les conformations obtenues dépendent de la connaissance des fonctions de Lennard-Jones dont les paramètres ne sont pas aujourd'hui connus des biochimistes. L'idée développée dans ce chapitre est d'utiliser la coopération comme un moteur d'apprentissage des paramètres de Lennard-Jones. Ici, le système développé devra s'adapter aux sollicitations de la molécule pour modier ces fonctions de manière à améliorer la similitude avec les molécules naturelles. L'idée développée est très simple, à partir d'une molécule d'apprentissage, nous cherchons la conguration d'énergie minimale avec le système décrit au chapitre précédent, puis, nous comparons la conformation trouvée à celle souhaitée. La diérence entre les deux permet d'améliorer de manière coopérative les fonctions de Lennard-Jones. Ainsi un processus itératif de ce type devrait permettre d'apprendre ces fonctions. On peut aussi remarquer ici, d'une part que l'apprentissage se fait sur des molécules réelles où d'autres types d'interactions sont mises en oeuvre. De fait, les interactions apprises pourraient modéliser aussi les autres interactions non modélisées mais évoquées dans le chapitre 1. D'autre part les fonctions apprises seront universelles et une fois ce problème résolu, elles pourraient être utilisées par d'autres approches présentée aussi dans le chapitre 1. Dans tout système d'apprentissage, il faut se munir d'une base d'apprentissage. Cette base, constituée d'un ensemble de molécules, a été fournie par Monique Evrard chercheur à l'Institut Pharmacologique de Biochimie Structurale, unité de recherche du CNRS à Toulouse. Ce chapitre a donc pour but d'expliquer comment les systèmes multi-agents adaptatifs vont permettre d'apprendre les paramètres en se basant sur la coopération. Le plan se déroule de manière analogue à celui du chapitre 2. Dans un premier temps, nous allons développer les objectifs et l'environnement du système d'apprentissage, puis dans un second temps nous expliciterons plus en détail le fonctionnement des agents de ce système, pour enn terminer sur une brève présentation des expérimentations eectuées.

Camille Besse-Patin

29

Juin 2005

M2R IA RCL - IRIT

3.1 Le système Le système à concevoir a pour objectif d'apprendre les paramètres de LennardJones. Contrairement à la modélisation du chapitre précédent nous n'avons pas d'entité de macro-niveau que nous pourrions décomposer en un ensemble d'agents en interactions. En revanche nous avons un ensemble de fonctions qui interagissent dans un environnement qui reste à dénir. Chaque fonction a pour but d'apprendre les deux paramètres R0 et ε (cf. gure 3.1) qui concernent le couple d'atomes dont elle régit les interactions. Les fonctions seront donc nos agents dans ce système.

Fig. 3.1  Rappel de la fonction de Lennard-Jones et des paramètres R0 et ε.

3.2 Les agents Responsables de l'adéquation de leur paramètres avec ceux souhaités pour la conformation à apprendre, les fonctions sont considérées comme les agents de notre système. Elles seules peuvent en eet réduire les erreurs existant entre la conformation souhaitée et la conformation à atteindre en agissant directement sur leurs paramètres. En eet, une fonction de Lennard-Jones régit la distance existant entre deux types d'atomes non covalents de telle sorte que l'énergie potentielle produite par l'interaction soit minimale. Par exemple, il existe une seule fonction régissant toutes les interactions existantes entre les atomes de type N (Azote) et de type C (Carbone). La distance à laquelle l'énergie est minimale est R0 , et la valeur de ce minimum énergétique est de −ε (cf. gure 3.1). En agissant sur le R0 la fonction peut modier la distance à laquelle les couples des types d'atomes qu'elle régit va se trouver lorsque la molécule sera stable. En agissant sur ε, la fonction peut augmenter ou diminuer la puissance de la contrainte

Camille Besse-Patin

30

Juin 2005

M2R IA RCL - IRIT de toutes les liaisons faibles qu'elle régit. La description de ces "fonctions-agents" va suivre celle donnée dans la théorie AMAS (cf. Chapitre 1.3). Dans un premier temps, leur l'environnement et leurs interactions avec celui-ci seront décrites, puis la description concernera leur structure pour explorer leurs représentations, aptitudes et compétences an d'expliquer leur méthode de fonctionnement coopérative.

3.2.1 Environnement et interactions Dans le système d'apprentissage deux molécules sont présentes. Celle qui doit être apprise, issue de la base d'apprentissage et qui n'évolue pas au cours du temps, et celle qui doit apprendre, qui utilise les fonctions inexactes de Lennard-Jones et qui leur demande de s'améliorer pour ressembler à la molécule à apprendre. La deuxième molécule a exactement la même structure primaire que la première molécule ; elle est composée des mêmes atomes et liaisons fortes entre les atomes. L'environnement des fonctionsagents est donc constitué de la molécule apprenante, de la molécule à apprendre et éventuellement de l'utilisateur du système si celui-ci souhaite introduire des perturbations. Il est en eet prévu qu'il puisse sélectionner et déplacer un atome pendant une minimisation. L'environnement interagit avec ces fonctions aux travers de sollicitations de correction de paramètres. Les atomes de la molécule apprenante évaluent leur erreur. Chaque atome mesure pour chaque voisin, à quelle distance il se trouve de celui-ci. Il évalue alors à quelle distance il devrait se situer de chaque voisin, distance qui est donnée par la molécule apprenante. L'erreur est la diérence entre la distance mesurée dans la molécule apprenante et la distance correspondante dans la molécule à apprendre. Les atomes indiquent alors aux fonctions-agents qui les concerne cette erreur à corriger. Un exemple est donnée par la gure 3.2 où l'atome A mesure la diérence entre FAB souhaitée et FAB (la fonction régissant les interactions entre l'atome A et l'atome B ).

Fig. 3.2  Sollicitations des atomes

D'autre part, les fonctions-agents interagissent entre elles. En eet, pour un atome donné, plusieurs fonctions régissent ses interactions. On peut donc considérer que les fonctions-agents interagissent entre elles au travers des atomes qu'elles ont en commun.

Camille Besse-Patin

31

Juin 2005

M2R IA RCL - IRIT Pour cela nous dénissons la notion de voisinage entre deux fonctions.

Dénition 3 Une fonction-agent FAB est voisine d'un fonction FCD si et seulement

si :

 A est identique à C ou D ;  ou B est identique à C ou D.

Autrement dit, deux fonctions-agents sont voisines si et seulement si elles régissent un type d'atome commun.

3.2.2 Représentations et aptitudes Une fonction est représentée par les deux types d'atomes dont elle régit l'interaction et par les paramètres qui spécient cette interaction. Dans la gure 1.2, un atome de type i interagit avec un atome de type j . Une fonction est en outre caractérisée par ses paramètres qui xent l'allure de la fonction, l'abscisse (R0 ) et l'ordonnée (ε) de son minimum. Ses aptitudes de raisonnement permettent à une fonction de déterminer coopérativement quelle adaptation des paramètres doit être faite lors de sollicitations de l'environnement. Ainsi, après que toutes les demandes de modication aient été réalisées par les atomes, la fonction-agent décide de la manière de modier R0 et ε. Une demande de modication correspond à une demande, soit d'éloignement, soit de rapprochement, soit de satisfaction. Le tableau 3.3 résume les modications eectuées sur les paramètres en fonction de la majorité des demandes. On remarque que les atomes satisfaits de leur fonction le leur signale pour renforcer aussi le comportement correct courant (ligne 2 du tableau 3.3). On remarque que les demandes qui ne sont pas forcément majoritaires mais qui sont en quantité susante peuvent changer la manière dont sont modiés les paramètres. Par exemple à la ligne 7 du tableau 3.3, il se peut que le nombre de demande d'augmentation de R0 soit plus grand que le nombre de demandes de diminution, la décision prise est de relâcher cette contrainte plutôt que de favoriser la majorité au détriment du reste. Cette prise en compte de la minorité ajoute une part de coopération dans la prise de décision. Il est à noter aussi que si les notications de satisfaction sont majoritaires mais qu'il existe encore des demandes de changements, on modie tout de même ε pour rester coopératif en relâchant un peu la contrainte (ligne 2 du tableau 3.3).

3.2.3 Compétences La seule manière dont peut agir une fonction-agent est de modier ses deux paramètres R0 et ε. A chaque cycle d'apprentissage, elle les modie donc suivant le tableau 3.3 mais de manière coopérative. La fonction-agent va en eet établir quelle est celle, parmi ses voisines, qui est la plus en diculté. Elle va agir ensuite de manière à aider cette "pire voisine" sans se mettre elle-même en diculté. Pour déterminer celle qui est

Camille Besse-Patin

32

Juin 2005

M2R IA RCL - IRIT Majorité des demandes Plus loin Moins loin Satisfait + + + + + + + + + + + +

Ajustement des paramètres R0 ε → → → % & → & → % → % → → & → →

Fig. 3.3  Tableau de prise de décision.

Légende : • - : Le nombre de demandes n'est pas majoritaire ; • + : Le nombre de demandes fait partie de la majorité ; • % : augmentation de la valeur du paramètre ; • & : diminution de la valeur du paramètre ; • → : la valeur du paramètre est inchangée. le plus en diculté, elle mesure la somme des erreurs existant pour cette fonction, au sein de la molécule apprenante. Si la plus en diculté du voisinage d'une fonction-agent n'est pas la fonction-agent elle même, alors celle-ci relâche ses contraintes (en augmentant la valeur de son minimum −ε) de manière à réduire l'erreur de sa voisine. Dans le cas où elle est elle-même la plus en diculté, elle agit de la manière décrite dans le tableau 3.3.

3.2.4 Situations non coopératives Nous avons déterminé deux types de situations non coopératives :  Le premier concerne les sollicitations de l'environnement. Tant que la fonction en perçoit, elle est en situation non coopérative. Pour la résoudre, elle emploie les compétences énoncées dans la partie 3.2.3.  Le deuxième concerne l'inutilité d'actions inverses pour deux fonctions voisines. Il se peut en eet que les deux modications se compensent et n'apportent rien de plus à leur environnement commun. Ce dernier type de situations non coopératives est très dicile à détecter et à résoudre. Il faudrait pouvoir les éviter, mais à ce jour, plusieurs solutions ont été testées avec des résultats parfois mitigés. Deux solutions ont été retenues : une première qui consiste à ne laisser évoluer qu'une seule fonction-agent à chaque cycle pour permettre aux autres fonctions-agents de percevoir ce changement an de ne pas faire d'action antinomique ; une deuxième, un peu plus complexe mais un peu plus ecace, qui pousse les fonctions-agents à rechercher la limite de la coopération en agissant à l'inverse des choix qu'elles auraient fait si elles avaient été les plus en diculté. De prime abord, ce raisonnement tend vers l'altruisme dont on a vu qu'il ne fonctionnait pas ecacement

Camille Besse-Patin

33

Juin 2005

M2R IA RCL - IRIT dans le système de résolution présenté au chapitre 2. Seulement, l'expérience a montré que lorsque une fonction-agent agit dans son sens propre (égoïste), elle augmente l'erreur de ses voisines. De la même manière, lorsqu'elle est passive, elle n'aide pas à diminuer cette erreur non plus. Nous avons donc fait en sorte que les fonctions-agents aident à réduire cette erreur en agissant coopérativement. Mais ici les actions coopératives sont impossibles à déterminer puisqu'elle sont dépendantes de la conformation courante de la molécule. Nous avons donc imaginé que puisque les fonctions-agents ne diminue pas l'erreur locale en agissant égoïstement, le raisonnement inverse serait meilleur. Le peu d'expérimentations faites a montré que la diminution de l'erreur globale est moins chaotique et plus rapide.

3.2.5 Algorithme d'un cycle d'apprentissage A l'aide de la description des fonctions-agents faite ci-dessus, nous avons écris un algorithme d'apprentissage des paramètres des fonctions de Lennard-Jones. Cet algorithme reprend en totalité l'algorithme de résolution puisqu'une minimisation de l'énergie vers un état stable est nécessaire avant de pouvoir améliorer les fonctions d'énergie potentielle.

Camille Besse-Patin

34

Juin 2005

M2R IA RCL - IRIT

Tant que (Fonctions en situation non coopérative) faire

[On fait une résolution complète] Tant que (Equilibre non atteint) faire [Chaque atome-agent détermine la manière de se déplacer] Pour chaque atome de la molécule faire [Perception de l'environnent, décision des déplacement] Calculer déplacement pire covalent Calculer déplacement pire voisin

Fin Pour

[Tous les atomes se déplacent simultanément] Pour chaque atome de la molécule faire [Action du déplacement] Se déplacer

Fait

Fin Pour

[On mesure alors pour chaque atome de la molécule l'erreur par rapport à la molécule à apprendre et on eectue les demandes correspondantes aux fonctions] Pour chaque atome de la molécule faire Calculer l'erreur sur les distances Eectuer la demande correspondante

Fin Pour

[Toutes les fonctions s'adaptent alors aux demandes de manière coopérative] Pour chaque fonction utilisée dans la molécule faire Décider de l'action à eectuer Si (la pire du voisinage n'est pas la fonction agissante) Alors Ajuster ε pour relâcher les contraintes

Sinon

Eectuer l'action décidée

Fin Si Fait

Fin Pour

Camille Besse-Patin

35

Juin 2005

M2R IA RCL - IRIT

3.3 Ajouts au prototype L'algorithme présenté ci-dessus a été implanté dans le prototype présenté dans la partie 2.3. Cette implantation a consisté à introduire d'une part l'agentication des fonctions de Lennard-Jones dans la table des fonctions, et d'autre part un mécanisme de sollicitations de la part des atomes sur les fonctions. L'interface graphique a été adaptée en parallèle pour pouvoir présenter les résultats adéquats à l'application. L'image 2.2 comprend déjà les modications pour l'apprentissage, à savoir un bouton radio permettant l'alternance entre l'application de résolution et l'application d'apprentissage.

3.4 Résultats de l'application Peu d'expérimentations de cet algorithme ont pu être réalisées. Seuls des tests de convergence ont été faits au cours du développement ainsi que des expérimentations destinées à améliorer l'algorithme. Mais aucun test de performance n'a été eectué. Il est en eet dicile de réaliser ce type d'expérimentations car l'apprentissage de six fonctions dure environ une heure. Nous avons essayé avec un nombre supérieur de fonctions mais la machine sur laquelle l'application tournait ne le supportait pas. Nous avons donc eectué tous les tests de coopération, convergence et stabilité sur l'apprentissage de six fonctions. Nous sommes bien conscients que ces tests ne susent pas à montrer la convergence et l'ecacité de l'algorithme. Mais nous savions pertinemment dès le début de ce stage que l'apprentissage complet de ces fonctions prendrait énormément de temps. Néanmoins, les résultats obtenus sur les expérimentations eectuées laissent présager des résultats intéressants. Nous arrivons en eet à réduire l'erreur des fonctions de manière signicative et à atteindre un état d'équilibre dynamique à peu près stable (cf. gure 3.4). À peu près stable car après un certain temps, les eets de la situation non coopérative évoquée dans la partie 3.2.4 peuvent parfois se faire sentir. Les fonctionsagents modient leurs paramètres à qui mieux-mieux sans aucune répercussion sur la conformation du fait d'actions antinomiques. Ce sera le prochain problèmeà résoudre. En dehors des résultats basés sur les expérimentations, nous pouvons envisager des perspectives intéressantes. Il serait en eet possible de réaliser plusieurs apprentissages en parallèle sur diérentes molécules mais sur les mêmes fonctions. Ainsi il serait peutêtre possible d'apprendre les diérents états stables d'une même molécule. On pourrait aussi éviter les phénomènes de sur-apprentissage inhérents à ce type d'application.

Camille Besse-Patin

36

Juin 2005

M2R IA RCL - IRIT

Fig. 3.4  Courbe d'évolution de l'erreur durant l'apprentissage de six fonctions

sur de la Glycine (5 atomes)

Camille Besse-Patin

37

Juin 2005

M2R IA RCL - IRIT

Camille Besse-Patin

38

Juin 2005

M2R IA RCL - IRIT

Conclusion et perspectives Conclusion Le projet initial avait pour objectif de découvrir de nouvelles molécules soignantes (ligands) et de les xer à des protéines de manière à ce qu'elles soient assimilables par le corps humain. Pour atteindre cet objectif, il a fallu déterminer des objectifs intermédiaires tels que la recherche de conformation de molécules, l'apprentissage des fonctions d'interactions permettant de trouver des conformations réelles et la recherche de conformation de deux molécules en interaction. Ce rapport porte tout d'abord sur la recherche de conformation de molécules, et sur le problème de minimisation de l'énergie induite des interactions de van der Waals. Ce Master étant avant tout une initiation au monde de la recherche, une partie importante de ce stage a été consacrée à l'étude de la littérature du domaine. Ainsi, l'état de l'art du premier chapitre présente aussi la technologie employée pour résoudre notre problème en un condensé ciblé sur ce qui nous paraissait pertinent pour le projet. Grâce au travail réalisé précédemment d'une part, et à l'apprentissage par autoorganisation dans les systèmes multi-agents adaptatifs d'autre part, nous avons, et c'est ce qui est décrit dans le deuxième chapitre, amélioré le système de minimisation de l'énergie potentielle de Lennard-Jones développé au cours de ma maîtrise d'IUP. Ainsi, ce chapitre montre les résultats positifs obtenus par le prototype réalisé. Toutefois, nous avons également remarqué que ce système de résolution était inecace s'il n'était pas couplé à un ensemble de paramètres décrivant les fonctions de Lennard-Jones employées. Nous avons donc décidé d'apprendre, à l'aide de la même technologie, ces paramètres inconnus encore pour la plupart des types d'atomes considérés dans l'application. C'est l'objet du troisième chapitre qui décrit notre spécication du système d'apprentissage, son implémentation et les résultats encourageants obtenus. Ce chapitre explique comment le système d'apprentissage s'adapte de manière coopérative en apprenant les paramètres évoqués plus haut. Il montre également que la théorie des AMAS est une solution satisfaisante à ce type d'applications complexes. Elle fournit de bons résultats en dépit de sa jeunesse et de son manque de formalisme, problème en passe d'être résolu suite au projet de "Modélisation par Automates de Systèmes multiagents à Émergence" [MAS]. Je nirai en exprimant mon attrait pour le monde de la recherche et ma grande motivation pour eectuer une thèse. Les débouchés oerts tels que l'enseignement et la

Camille Besse-Patin

39

Juin 2005

M2R IA RCL - IRIT recherche m'intéressent inniment plus que les aspects économiques et compétitifs du monde entrepreneurial dont j'ai pu avoir un aperçu au cours de mes études.

Perspectives Mon stage de maîtrise IUP a montré la faisabilité de la recherche de conformation de molécules, le stage réalisé en Master a conrmé cette étape en améliorant les algorithmes employés et a montré que l'apprentissage des lois de Lennard-Jones était possible. Les objectifs ciblés ont donc été atteints avec des résultats positifs et encourageants. Beaucoup de travail reste cependant à faire à la n de ce stage, un travail d'apprentissage des fonctions de Lennard-Jones qui prendra beaucoup de temps. Néanmoins, les fonctions apprises sont universelles et n'auront plus à être modiées par la suite, le temps d'apprentissage est donc un élément qui peut être considéré comme négligeable. Enn, tout le travail de ce stage était axé sur la faisabilité des deux systèmes développés et non pas sur leurs performances. Une partie du travail futur consistera donc aussi en l'optimisation des algorithmes et du code proprement dit. En dehors de ces aspects expérimentaux, les perspectives de recherche s'orientent maintenant plutôt vers l'amélioration de la coopération des fonctions-agents pendant l'apprentissage avant de s'attaquer au multi-apprentissage ou apprentissage parallélisé. Une fois les fonctions de Lennard-Jones apprises, nous pourrions envisager de résoudre la dernière étape de la recherche de nouveaux médicaments, à savoir le "docking" de ligand sur protéine. Tous les problèmes associés tels que le positionnement du ligand au départ, les autres types d'interactions et les phénomènes liés au milieu expérimental réel deviendraient des nouveaux paramètres à prendre en compte. Il serait éventuellement possible d'imaginer ensuite une structure moléculaire qui se créerait de toutes pièces autour du ligand de manière à pouvoir s'arrimer à la protéine selon les congurations proposées. En conclusion, l'ensemble des problèmes énoncés ci-dessus représenterait l'objet idéal d'une étude plus poussée, dans le cadre d'un thèse par exemple.

Camille Besse-Patin

40

Juin 2005

Bibliographie [AMB]

The amber molecular dynamics package. http ://amber.scripps.edu/.

[BPL82]

L. E. Baker, A. C. Pierce et K. D. Luks : Gibbs energy analysis of phase equilibria. Society of Petroleum Engineers Journal, 22:731742, 1982.

[BR03]

Mark Bathe et Gregory C. Rutledge : Inverse monte carlo procedure for conformation determination of macromolecules. Journal of Computational Chemistry, 24(7):876890, 2003.

[Cam98]

Valérie Camps : Vers une théorie de l'auto-organisation dans les sytèmes multi-agents basée sur la coopération : application à la recherche d'information dans un système d'information répartie. Thèse de doctorat, Université Paul Sabatier, IRIT, Toulouse III, 1998.

[CHA]

Chemistry at harvard http ://www.charmm.org/.

macromolecular

mechanics.

[DTMH96] David M. Deaven, N. Tit, J.R. Morris et K.M. Ho : Structural optimization of lennard-jones clusters by a genetic algorithm. Chemical Physics Letters, 256:195200, jun 1996. [Fan02]

Ellen Fan : Global Optimization of Lennard-Jones Atomic Clusters. Thèse de doctorat, McMaster University, Hamilton, Ontario, 2002.

[Fer95]

Jacques Ferber : Les systèmes multi-agents. Vers une intelligence collective. InterEditions, 1995.

[Gau04]

Benoit Gaudou : Application des techniques de planication de mouvement à la biologie moléculaire. Mémoire de Master, DEA Représentation de la Connaissance et Formalisation du Raisonnement, Université Paul Sabatier, Toulouse III, 2004.

[Geo04]

Jean-Pierre Georgé : Résolution de problèmes par émergence. Étude d'un environnement de programmation émergente. Thèse de doctorat, Université Paul Sabatier, IRIT, Toulouse III, 2004.

[GKS97]

Mark S. Gockenbach, Anthony J. Kearsley et William W. Symes : An infeasible point method for minimizing the lennard-jones potential. Computational Optimization and Applications, 8(3):273286, 1997.

[Gli01]

Pierre Glize : L'adaptation des systèmes à fonctionnalité émergente par auto-organisation coopérative. Mémoire d'habilitation à diriger des recherches, Université Paul Sabatier, Toulouse III, 2001.

[Hoa79]

M.R. Hoare : Structure and dynamics of simple microclusters. In Advances in Chemicals Physics, volume 40, pages 49135, 1979.

M2R IA RCL - IRIT [MAS]

Modélisation par automates de systèmes multi-agents à émergence. http ://www.irit.fr/MASE.

[MM94]

Juan C. Meza et Mónica L. Martinez : Direct search for the molecular conformation problem. Journal of Computational Chemistry, 15(6):627 632, 1994.

[PDB03]

Team PDB : The protein data bank. In Phil Bourne et Helge Weissig, éditeurs : Structural Bioinformatics, pages 161179, 2003.

[Pic04]

Gauthier Picard : Méthodologie de développement de systèmes multi-agents adaptatifs et conception de logiciels à fonctionnalité émergente. Thèse de doctorat, Université Paul Sabatier, IRIT, Toulouse III, 2004.

[Pin96]

J.D. Pintér : Global Optimization in Action (Continuous and Lipschitz Optimization : Algorithms, Implementation and Applications). Kluwer Academic Publishers, Boston, USA, 1996.

[WD98]

David Wales et Jonathan Doye : Global optimization by basin-hopping and the lowest energy structures of lennard-jones clusters containing up to 110 atoms. ArXiv Condensed Matter e-prints, mar 1998.

[Woo02]

Michael Wooldridge : An introduction to multi-agent systems. John Wiley & Sons, 2002.

[WV85]

Luc T. Wille et Jan Vennik : Computational complexity of the groundstate determination of atomic clusters. Journal of Physics A Mathematical General, 18:L419L422, jun 1985.

Camille Besse-Patin

42

Juin 2005