630 likes | 795 Views
Émergence fonctionnelle par auto-organisation dans les systèmes artificiels. Adaptive Multi-Agent Systems Carole BERNON Équipe SMAC (Systèmes Multi-Agents Coopératifs) Institut de Recherche en Informatique de Toulouse http://www.irit.fr/SMAC. Plan.
E N D
Émergence fonctionnelle par auto-organisation dans les systèmes artificiels Adaptive Multi-Agent Systems Carole BERNON Équipe SMAC (Systèmes Multi-Agents Coopératifs) Institut de Recherche en Informatique de Toulouse http://www.irit.fr/SMAC
Plan • Principes généraux des systèmes multi-agents (SMA) • Exemples d’applications • Problématiques de l’équipe SMAC • Émergence • Auto-organisation • Coopération • Théorie des AMAS (SMA adaptatifs) • Exemple d’applications • Conclusion – Apports possibles
Bref historique… • Intelligence Artificielle (IA) – Systèmes experts • Avant 1980 • Programmes capables d’exécuter des tâches complexes • Concentration de « l’intelligence » dans un unique système • Systèmes experts, représentation des connaissances • Modèles de raisonnement • IA Distribuée (IAD) - Systèmes Multi-Agents (SMA) • Résolution collaborative de problèmes • Décentralisation des données (IAD) et du contrôle (SMA) • Tout a tendance à devenir agent… • Assistants personnels, interfaces, recherche d’information, vie artificielle, agents économiques… • Mais tout n’est pas SMA…
Informatique répartie Parallélisme Intelligence Artificielle Programmation . . . . Psychologie sociale Sociologie Economie . . . . Systèmes complexes en physique Ethologie Ecologie . . . . Vie artificielle Réseaux de neurones . . . . À la croisée d’influences SMA
Exemple : « algorithme de colonies de fourmis » • Insectes sociaux, intelligence collective (en essaim) • [Dorigo96] • Métaheuristique d’optimisation • Recherche du plus court chemin dans un graphe • Acheminement de données dans un réseau téléphonique • Problème du voyageur de commerce • Repliement de protéines • Etc. • Auto-organisation, stigmergie • Problèmes dynamiques, multi-objectifs [Wikipédia]
Notion de SMA • Ensemble d’entités en interaction situées dans un environnement commun et devant réaliser collectivement une tâche • Contrôle décentralisé dans les entités
Notion d’agent • Entité réelle ou virtuelle située dans un environnement qu’elle peut (partiellement) percevoir et sur lequel elle peut agir de manière autonome [Ferber95] Action Perception Environnement • Contrôle du comportement • Réactif (réponse à des stimuli) • Pro-actif (dirigé par le but) • Social (interaction)
Métaphore biologique Pas de modèle symbolique représentant l’environnement Pas de but, pas (peu) de mémoire Comportement réflexe Communication indirecte Interaction par l’environnement SMA avec beaucoup d’agents Organisation implicite Validation expérimentale Métaphore sociologique Représentation explicite des autres et de leurs connaissances Notion de but, de mémoire Décision délibérative Communication directe Interactions directes via langages d’interaction SMA à peu d’agents Organisation sociale Validation formelle Agent réactif / cognitif
Environnement de l’agent Environnement de l’agent Environnement de l’agent Environnement de l’agent Percevoir Agir Agent – Cycle de vie Décider SMA Environnement du SMA
Quand utiliser un SMA ? • Complexité inhérente de l’application • Limitations logicielles/matérielles • Hétérogénéité des composants • Absence de solution globale • Modélisation de systèmes naturels/sociaux • Distribution inhérente de l’application • Différents domaines de connaissances • Distribution • Des données • Du contrôle • Des connaissances • De la sémantique • Des ressources
Quand utiliser un SMA ? (2) • Contraintes d’exécution • Résolutions concurrentes, simultanées, asynchrones • Contraintes de fiabilité, physiques… • Besoin d’évolutivité • Changement d’échelle • Changement dynamique de données, de traitement • Adaptation à des modifications / à l’environnement • Besoin d’ouverture • Ajout / retrait dynamique de composants • Développement incrémental
Mais… • Absence de contrôle global • Absence de vision globale • N’est pas forcément la solution idéale • N’est pas une solution miracle
Plan • Principes généraux des systèmes multi-agents (SMA) • Exemples d’applications • Problématiques de l’équipe SMAC • Émergence • Auto-organisation • Coopération • Théorie des AMAS (SMA adaptatifs) • Exemple d’applications • Conclusion – Apports possibles
Quelques exemples dans l’industrie… • Massive Software • Animation graphique (de foules) • Lord of the rings, Harry Potter, Happy feet… • Magenta Technology • Planification, allocation de ressources en temps réel • Transport routier, maritime… • Internet personnalisé • Méta-recherche, réseau social « intelligents » • Dynalogic • Simulation urbaine, optimisation circulation • Whitestein Technologies • Télécommunications, logistique, chaînes de production • AOS • Plate-forme de développement de systèmes autonomes (Jack)
Exemples en biologie - AgentCell • [Emonet05] • Modèle étudiant les relations entre les processus intra-cellulaires stochastiques et le comportement de cellules • Chimiotactisme numérique • Escherichia Coli • Exemple 1 • 1166 cellules, pas d’attracteur chimique • Exemple 2 • E. Coli nageant dans un gradient vertical d’aspartate
Exemple en biologie - MitoScoP • [Lales07] • ACI IMPBio • Modélisation du métabolisme mitochondrial • Agents réactifs • Exemple • Bicouche avec 2 types de lipides • À 2 queues (PC) • À 4 queues (cardiolipine) • Structure conservée • Apparition de cloisonnements
Plan • Principes généraux des systèmes multi-agents (SMA) • Exemples d’applications • Problématiques de l’équipe SMAC • Émergence • Auto-organisation • Coopération • Théorie des AMAS (SMA adaptatifs) • Exemple d’applications • Conclusion – Apports possibles
Responsable Marie-Pierre GLEIZES 16 permanents 2 post-doc 11 doctorants 6 axes de recherche Équipe SMAC • Systèmes Multi-Agents Coopératifs • IRIT – Thème 3 • Dialogue Interaction Autonomie Coopération
Centres d’intérêts • Systèmes multi-agents (logiciels) • Les agents interagissent et évoluent dans un environnement commun • Résolution de problèmes : interactions résolution • Simulation : interactions observation • Objectif de l’équipe • Concevoir des systèmes complexes adaptatifs • SMA qui s’adaptent pour réagir à un environnement dynamique • Adaptation dirigée par auto-organisation • La fonction adéquate du système émerge
Constat • Applications : • Complexes (contrôle aérien) • Ouvertes (Internet) • Environnement : • Ouverts (Internet) • Évolutifs (RoboCup) • Besoin de concevoir des systèmes de plus en plus complexes • Mais • Problème incomplètement spécifié • Algorithme pas toujours connu • Des « imprévus » doivent être pris en compte
Solution ? • Un système doit réaliser la « bonne » fonction, celle pour laquelle il a été créé
Pour tout système fonctionnellement adéquat, dans un environnement donné, il existe un système à milieu intérieur coopératif qui réalise une fonction équivalente Systèmes coopératifs Systèmes à milieu intérieur coopératif Théorème de l’adéquation fonctionnelle Systèmes fonctionnellement adéquats
Solution ? • Un système doit réaliser la « bonne » fonction, celle pour laquelle il a été créé • Théorème sur l’adéquation fonctionnelle coopération • Le système doit pouvoir s’adapter à son environnement
Auto-organisation • Motif ou fonction du niveau global d’un système (SMA) qui émerge suite aux interactions entre composants de plus bas niveau (agents) [Camazine01] • Transformation autonome de la topologie d’un système (e.g. connexions réseau) par ses composants résultant du fonctionnement de ce réseau [Camps97] • Processus par lequel un système change son organisation interne pour s’adapter aux changements de ses buts et de l’environnement sans contrôle externe explicite. L’auto-organisation résulte souvent en un comportement émergent désirable ou non [TFGSO04].
Système Environnement Principe d’auto-organisation Temps t+1 : f*s + Action Perception Temps t : fs
Solution ? • Un système doit réaliser la « bonne » fonction, celle pour laquelle il a été créé • Théorème sur l’adéquation fonctionnelle coopération • Le système doit pouvoir s’adapter à son environnement • Auto-organisation des composants adaptation • Pas d’algorithme pour construire un système complexe adaptatif • La fonction doit émerger au macro-niveau
Agent • Autonomie de décision • Plongé dans un environnement (évolutif) • But propre (local) • Essaie de l’atteindre en utilisant une vue locale de son environnement • Cycle de vie (classique) • Percevoir • Décider • Agir
Agent coopératif • Attitude coopérative (moteur de l’auto-organisation) • Détecte certaines situations (SNC) • Un signal perçu est incompris ou mal compris (incompréhension, incompétence, ambiguïté) • L’information résultant de cette perception n’est pas utile au raisonnement de l’agent (improductivité) • Son raisonnement débouche sur des actions inutiles pour les autres agents (inutilité) • Et d’autres situations de conflit ou de concurrence • Les traite pour revenir à un état coopératif • Il ignore la fonction globale du système
Modèle d’agent coopératif • Module d’interaction • Interface agent / environnement • Module des représentations • Connaissance partielle à propos des autres, de son environnement ou de soi-même • Module des compétences • Connaissance commune à propos d’un certain domaine • Module des aptitudes • Capacités à raisonner sur ses représentations, ses compétences et ses perceptions • Module de coopération • Représente l’attitude coopérative de l’agent
Actions Perception Capteur Effecteur Représentations Aptitudes Capteur Effecteur Capteur Effecteur Compétences Capteur Effecteur Capteur Effecteur Coopération Capteur Effecteur Capteur Effecteur Interaction Modèle d’agent coopératif Stimuli Actions
Solution ? • Un système doit réaliser la « bonne » fonction, celle pour laquelle il a été créé • Théorème sur l’adéquation fonctionnelle coopération • Le système doit pouvoir s’adapter à son environnement • Auto-organisation des composants adaptation • Pas d’algorithme pour construire un système complexe adaptatif • La fonction doit émerger au macro-niveau • Chaque composant possède sa propre fonction locale indépendante de la fonction globale agent • Les agents forment un AMAS • Adaptation compétences, représentations AMAS
Plan • Principes généraux des systèmes multi-agents (SMA) • Exemples d’applications • Problématiques de l’équipe SMAC • Émergence • Auto-organisation • Coopération • Théorie des AMAS (SMA adaptatifs) • Exemple d’applications • Conclusion – Apports possibles
Quelques applications • Commerce électronique (Arcadia, Abrose) [Camps98] • RoboCup [Pasquet99] • Routage dans des réseaux téléphoniques [Dotto99] • Résolution d’équations • Prévision de crues [Sontheimer99] • Programmation émergente [Georgé04] • Conception de mécanismes aéronautiques [Capera05] • Réseau de neurones [Mano06] • Allocation dynamique de fréquences [Cornet06] • Ontologies dynamiques [Ottens07] • Conception avionique [Welcomme08] • …
Exemples d’applications • Simulation de fourmis fourrageuses [Topin99] • Robots transporteurs [Picard04] • Recherche de la conformation spatiale d’une molécule [Besse05]
ANTS – Fourmis fourrageuses • Simulation d’une fourmilière de fourmis fourrageuses • Dans le but de comparer fourmis réelles et fourmis « coopératives » • But global • Ramener le plus de nourriture au nid • Non explicitement donné • Cette fonction doit émerger • But local • Fourrager et ramener de la nourriture • Communication • Indirecte • Dépôt de phéromone
Attitude sociale chez un agent-fourmi • Environnement dynamique • Apparition / disparition de nourriture • Comportement coopératif • Éviter les situations non coopératives (SNC) • Jugées de son point de vue (local) • Les énumérer pour pouvoir les traiter • Exemple de SNC : concurrence • Entre une piste de phéromone et de la nourriture • Entre deux sources de nourriture • Entre le nid et de la nourriture
SNC de concurrence (1) • Deux choix possibles • Continuer à suivre la piste • Aller vers la source de nourriture • Ne pas être en concurrence • Aller vers la source de nourriture
SNC de concurrence (2) • Deux choix possibles • Aller vers la source exploitée • Aller vers l’autre source • Ne pas être en concurrence • Aller vers l’autre source (même s’il y en a moins)
SNC de concurrence (3) • Deux solutions • Rentrer directement au nid • Rentrer en déposant plus de phéromone • Communication spontanée • Rentrer en déposant plus de phéromone
Robots • Robots transporteurs • Deux pièces séparées par deux couloirs • Couloirs de la largeur d’un robot • Tâche allouée à un robot : • Prendre une boîte dans une pièce • La déposer dans l’autre pièce • Perception locale • Pas de communication directe
Situations jugées non coopératives • Ne pas pouvoir avancer • En face d’un mur • En face d’un autre robot allant dans la direction opposée • Résoudre ce conflit • Se déplacer de côté • Le robot le plus proche de son but a l’avantage • Devoir reculer (donc s’éloigner de son but) • Car on est obligé de laisser la place • Résoudre cette inutilité • Se déplacer de côté (si possible) • Avancer tant que c’est possible OU jusqu’à rencontrer un autre robot qui recule et est plus près de son but
Comportement émergent • Evitement des autres robots codé • Sens de circulation émergent • Non codé explicitement • Ne peut être déduit du code des agents
Bio-S: Conformation spatiale de protéines • Molécule = atomes liés par deux types de liaisons • Interactions fortes • Mise en commun d’électrons • Définissent des distances inter-atomiques quasiment stables • Interactions faibles • Natures diverses • Interactions de van der Waals • Interactions électrostatiques • Liaisons di-hydrogènes • …. • Effets du solvant • Effet si nombreuses et entre voisins
Énergie des liaisons faibles • Fonction d’énergie potentielle • Interactions de van der Waals • Équilibre (rayon de vdW) • Suit une loi (Lennard-Jones, choisie) • Empirique, paramètres équation inconnue • Énergie potentielle globale d’une molécule • Somme des énergies « faibles » entre couples d’atomes • La conformation spatiale est obtenue en • Minimisant l’énergie potentielle de la molécule • Tout en respectant les contraintes des liaisons fortes
Approches • Problème NP-complet • Molécules réelles : repliement en 10-6 s • Hypothèse : un jour pour simuler une nanoseconde 30 années CPU !! • Approches existantes • Folding@home : distribue le calcul sur un réseau mondial • Rosetta : compare une conformation donnée à une base de données • Mais… • On ne connaît pas tout à propos de la molécule • L’énergie potentielle n’est pas connue • Résolution par émergence • Idéal : …en un temps limité…
Approche par AMAS • Résolution par émergence • Energie globale de la molécule inconnue • Agent = atome • Ne connaît pas l’énergie globale de la molécule • A une vue locale (ses voisins) • Essaie de minimiser son énergie locale • Se déplace pour rester coopératif • Pour réduire l’énergie potentielle • Tant que son énergie n’est pas minimale • Sans pénaliser ses voisins (augmenter leur énergie) • Ce qui se traduit par cette SNC • Détection : être lié à un atome de plus haut niveau d’énergie • Action : se déplacer pour réduire cette énergie