Title: Rsolution de problmes par mergence tude dun Environnement de Programmation mergente
1Résolution de problèmespar émergenceÉtude dun
Environnement de Programmation Émergente
2Plan 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 4Les 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 dentités en interaction
- Nombre variable dentité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
5Lidé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
6Ré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
7Objectifs
- 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
9Exemple 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
12Mécanismes dauto-organisation exemple
13Auto-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
14Quelques 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
15SMA 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 lauto-organisation
- Chevrier Drogoul Hassas Mataric Mathieu
Müller Odell Parunak
16- Partie 3
- Théorie et technologie AMAS
17Principe
- SMA
- Auto-organisation
- Mécanismes basés sur la notion de coopération
18Théorie AMAS (1)
19Théorie AMAS (2)
Adaptation par réorganisation des parties
20Technologie 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
21Lapproche 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
23Note 1 EPE Emergent Programming Environment
ou Environnement de Programmation Émergente
24Concept
- 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
25Utilité 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
26Simplification 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
27Description des agents
- Agents
- In entrée , Out sortie
- , x calcul
- 1 valeur numérique 1
- test d'égalité
- F "FirstTime" (expression du choix)
28Fonctionnement
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 i1
res resi return res
29Auto-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 31Considé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
32Architecture
33Le logiciel EPE
34 35Ré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)
36Vers 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 ?
37Topologie de l'espace de recherche
38Résultats et conséquences
39- Partie 7
- Exemple élémentaire
40Description et utilité
- Difficultés précédentes observation,
compréhension, traçage "pas à pas" - Exemple élémentaire 5 agents , , 3
constantes
41Auto-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é
42Ré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
44Les difficultés
- Le piège de la simplicité des agents
- Une classe particulière de problèmes
- La difficulté d'implémentation
45EPE 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
46Perspectives
- 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
47Vers 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 gt 0) r rx
x x-1 return r
48Ré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
49Conclusion
- É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