1 / 49

Résolution de problèmes par émergence Étude d’un Environnement de Programmation Émergente

Résolution de problèmes par émergence Étude d’un Environnement de Programmation Émergente. Jean-Pierre Georgé. Plan général. Problématique Émergence et auto-organisation Théorie & technologie AMAS (Adaptive Multi-Agent Systems) EPE : un Environnement de Programmation Émergente

ohio
Télécharger la présentation

Résolution de problèmes par émergence Étude d’un Environnement de Programmation Émergente

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Résolution de problèmespar émergenceÉtude d’un Environnement de Programmation Émergente Jean-Pierre Georgé

  2. Plan général • Problématique • Émergence et auto-organisation • Théorie & technologie AMAS (Adaptive Multi-Agent Systems) • EPE : un Environnement de Programmation Émergente • Implémentation • Expérimentations • 2ème stratégie : exemple élémentaire • Enseignements et perspectives

  3. Partie 1 • Problématique

  4. Les besoins futurs en informatique • “[…] Without new approaches, things will only get worse. ” [Horn 01, IBM] • Exemples : Autonomic Computing, Pervasive Computing / Ambient Intelligence • Caractéristiques : • Grand nombre d’entités en interaction • Nombre variable d’entités en cours de fonctionnement (système ouvert) • Contrôle centralisé impossible à mettre en œuvre • Environnement évolutif et dynamique • Tâche globale à réaliser • Systèmes non entièrement spécifiables Néo-computation

  5. L’idée de programmation émergente • Programmer = assembler des instructions • But : réaliser un programme adéquat • Comment ?  programmeur ou émergence • Définition : assemblage d'instructions d'un langage de programmation via des mécanismes non explicitement informés du programme à créer • Parcours de l'espace des programmes possibles

  6. Résolution de problèmes par émergence • Problème quelconque • Entités quelconques • Plus haut niveau • Plus informé ? • Mêmes principes que pour la programmation émergente • Enseignements de la programmation émergente réapplicables

  7. Objectifs • Programmation émergente : étude de faisabilité : • Prototype simplifié • Système multi-agent • Auto-organisation • Théorie AMAS • Résolution de problèmes par émergence • Améliorer notre compréhension de l'émergence et de l'utilisation de l'auto-organisation dans les systèmes artificiels, développer la théorie AMAS

  8. Partie 2 • Émergence et auto‑organisation

  9. Exemple introductif Vidéo : Guy Theraulaz, Laboratoire d'Ethologie et Cognition Animale, Toulouse

  10. Émergence : définitions • Émergence : • Niveau local / niveau global • Apparition de nouveauté • Irréductibilité • Cohérence et corrélation [Heylighen] [Lewes] [Langton] [Kim] [Goldstein] • Systèmes artificiels : Objet : la fonction globale du système émerge Condition : l'implémentation n'est pas explicitement dictée par la connaissance de la fonction globale

  11. Émergence et auto-organisation • Émergence = concept philosophique • Auto-organisation = explicitation des mécanismes [Prigogine] [Turing] [Camazine] [Bonabeau] [Theraulaz] • Auto-organisation  émergence ? • Définition : ensemble des processus au sein d'un système, issus de mécanismes basés sur des règles locales, qui conduisent ce système à produire des structures ou des comportements spécifiques non explicitement dictés par l'extérieur du système

  12. Mécanismes d’auto-organisation : exemple Gradient de phéromone produit par la reine REINE Dépôts de phéromone par les termites Construction de termitières

  13. Auto-organisation et systèmes artificiels • Cf. exemple des termites • Définir des mécanismes locaux • Mécanismes non informés du "comment" réaliser la fonction globale • Feedback et adaptation

  14. Quelques techniques • Calcul évolutionnaire • Réseaux neuronaux "dynamiques" • Algorithmes de colonies de fourmis • Optimisation par essaims particulaires • … • Notions communes : résolution de problèmes et recherche dans des espaces d'états

  15. SMA et auto-organisation • Agent : • Propriétés individuelles (caractéristiques, état, compétences) • Propriétés sociales (accointances) • Connaissances (sur soi, sur autrui, sur l'environnement) • Moyens de perception, de communication, d'action, voire d'apprentissage et de raisonnement • Notion d'autonomie • SMA : • Composé d'agents en interaction • Confronté à un environnement • Réalisation d'une fonction • Activité collective cohérente • Outil idéal pour l’auto-organisation [Chevrier] [Drogoul] [Hassas] [Mataric] [Mathieu] [Müller][Odell] [Parunak]

  16. Partie 3 • Théorie et technologie AMAS

  17. Principe • SMA • Auto-organisation • Mécanismes basés sur la notion de coopération

  18. Théorie AMAS (1) Systèmes Fonctionnellement Adéquats Systèmes Coopératifs Systèmes à Milieu Intérieur Coopératif

  19. Théorie AMAS (2) Adaptation par réorganisation des parties

  20. Technologie AMAS • Systèmes Multi-Agents capables d'auto-organisation basée sur la coopération • Coopération : • Tout signal perçu peut être interprété sans ambiguïté • L'information reçue est utile au raisonnement de l'agent • Le raisonnement conduit à des actions utiles pour autrui ou l'environnement • Situations Non Coopératives (SNC) • Moteur de l'auto-organisation = traitement des SNC • Traitement préventif possible : attitude coopérative

  21. L’approche expérimentale • Limites de l'approche théorique (démonstrations) • Approche expérimentale (cf. sciences naturelles) • Problèmes diversifiés traités par l'équipe • Un pas plus loin : la programmation émergente

  22. Éléments de catégorisation de problèmes • Nature de la réorganisation au sein du système • Nature de la fonction globale du système • Origine des SNC et nature de leur résorption • Existence ou non d'un feedback et distinction "but local / but global" • "Distance" entre fonction des parties et fonction globale • Utilisation d'une mémoire • La question des systèmes ouverts • Nature de l'environnement de l'agent

  23. Partie 4 • EPE1 Note 1 : EPE : Emergent Programming Environment ou Environnement de Programmation Émergente

  24. Concept • Instruction = agent • Programme = une organisation des agents • Exécution = interaction entre agents • Auto-organisation des agents • Application de la théorie AMAS aux agents (coopération) • Néo-programmeur : juge et influence au travers de l'environnement • Les difficultés : • Le feedback • Les mécanismes d'auto-organisation • La composition du système

  25. Utilité et exemple historique • Réponse aux problèmes de néo-computation : • Problèmes incomplètement spécifiés • Système continuellement adaptatif • Exemple historique : le problème du "deadlock" : /* Entry section for P1 */ /* Entry section for P2 */ Q1 := True; Q2 := True; TURN := 1; TURN := 2; wait while Q2 and TURN := 1; wait while Q1 and TURN := 2; /* Exit section for P1 */ /* Exit section for P2 */ Q1 := False; Q2 := False;

  26. Simplification du problème • Restriction à un sous-ensemble du calcul numérique • Exemple de la factorielle • Intérêt : • Composition simple • Simplification du feedback • Fonctionnement riche

  27. Description des agents • Agents : • In : entrée , Out : sortie • +, x : calcul • 1 : valeur numérique 1 • = : test d'égalité • F : "FirstTime" (expression du choix)

  28. Fonctionnement int factorielle (n) { int res; if (n = 0) res := 1; else if (n = 1) res := 1; else { int i = 2; res := i; while (i ≠ n) { i := i+1; res : = res*i; } } return res; }

  29. Auto-organisation : 1ère stratégie • Notion de "valeur de confiance" • Description des SNC : • NCSNeedIn • NCSNeedOut • NCSUselessness • NCSBlockingSituation • NCSInadequateData • Résorption des SNC et attitude coopérative

  30. Partie 5 • Implémentation

  31. Considérations générales • Des threads pour rester proche des phénomènes réels • Des agents simples mais des comportements complexes • 200 classes, 16.000 lignes de codes

  32. Architecture ProgrammingEnvironment MessageListener MessageSender Agent AcquaintancesManager MessageManager Specific Agents SynchronizationManager ReorganizationManager Architecture générale GUI

  33. Le logiciel EPE

  34. Partie 6 • Expérimentation

  35. Résultats expérimentaux • Capacité de calcul • Capacité de réorganisation • Vers un milieu intérieur coopératif (capacité à produire une organisation complète fonctionnelle) • Prise en compte du feedback • Un problème fortement discontinu • Un parcours "aveugle" • Échec de la 1ère stratégie (valeurs de confiance)

  36. Vers une 2ème stratégie • Feedback plus informé ? ("plus grand" / "plus petit") • Stratégie par "accaparement de but" • Question : corrélation entre proximité fonctionnelle et proximité organisationnelle ?

  37. Topologie de l'espace de recherche

  38. Résultats et conséquences Moyenne pour chaque catégorie de proximité organisationnelle Valeurs produites par les 2800 organisations sélectionnées

  39. Partie 7 • Exemple élémentaire

  40. Description et utilité • Difficultés précédentes : observation, compréhension, traçage "pas à pas" • Exemple élémentaire : 5 agents : +, *, 3 constantes

  41. Auto-organisation : 2ème stratégie • Feedback plus informé • Accaparement de but • Nouvelles NCS : • NCSInformedInadequateData • NCSInformedNeedIn • Objectif : satisfaire au mieux les buts individuels • Auto-organisation : la question du "comment" • Traitements : • Valeur potentielle de sortie • Notion de préjudice • Multiplicité des liens • Algorithme du traitement coopératif du préjudice imposé

  42. Résultats expérimentaux • Adéquation fonctionnelle atteinte efficacement (parcours de moins d'une centaine d'organisations sur les 7.776 possibles) • Capacité du système à produire "plus grand" / "plus petit" • Un premier pas de "scaling up" (un agent addition supplémentaire, 800.000 organisations possibles, parcours de moins de 200 organisations)

  43. Partie 8 • Enseignements et perspectives

  44. Les difficultés • Le piège de la simplicité des agents • Une classe particulière de problèmes • La difficulté d'implémentation

  45. EPE et la théorie AMAS • AMAS : • Détection • Résorption de SNC • Attitude coopérative • EPE : • Manque d'information pour la résorption • Problème fortement discontinu • Distance but local / but global • Traitement du préjudice

  46. Perspectives • Enrichissement de la théorie • Un langage de programmation complet • Traiter des problèmes de néo-computation réels • Développement d'outils et de méthodes

  47. Vers un langage complet • AgentProg (noté "Prog") • AgentSequence (noté ";") • AgentIfThenElse (noté "IfThenElse") • AgentWhile (noté "While") • AgentVariable (noté "x", où x est le nom de la variable) • AgentAssignment (noté ":=") • AgentReturn (noté "return") • AgentMinus (noté "-") factorielle (x) { if (x = 0) r := 1; else { r := x; x := x-1; while (x > 0) { r := r*x; x := x-1; } } return r; }

  48. Résolution de problèmes par émergence • Programmation émergente difficile • EPE : enseignements pour aborder d'autres problèmes à plus haut niveau, de façon plus informée • Exploration de mécanismes d'auto‑organisation • La question du "comment" • Parcours d'un espace de recherche par auto-organisation

  49. Conclusion • Étude de faisabilité du concept positive • Très loin d'un langage complet • Exploration du concept : • Connaissances sur la programmation émergente • Connaissances sur l'émergence et l'auto-organisation • Développement de la théorie AMAS • La voie de l'émergence

More Related