La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Résolution de problèmes par émergence Étude d’un Environnement de Programmation Émergente Jean-Pierre Georgé."— Transcription de la présentation:

1 Résolution de problèmes par é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 Émergence et auto‑organisation
Partie 2 Émergence et auto‑organisation

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

10 Émergence : définitions
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
REINE Gradient de phéromone produit par la 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 Théorie et technologie AMAS
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
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) 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, lignes de codes

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

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 possibles) Capacité du système à produire "plus grand" / "plus petit" Un premier pas de "scaling up" (un agent addition supplémentaire, organisations possibles, parcours de moins de 200 organisations)

43 Enseignements et perspectives
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 : EPE : 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; } 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


Télécharger ppt "Résolution de problèmes par émergence Étude d’un Environnement de Programmation Émergente Jean-Pierre Georgé."

Présentations similaires


Annonces Google