1
ENIB - module Modélisation et Simulation Comportementale - 2005.
L’architecture comportementale de Pattie Maës
P. De Loor
2
Approche P.Maës
Orienté but (unique ou permanent)
Adaptatif
Planification dynamique
Robuste
Rapide (réactif)
3
Modules de compétence
Action / sémantique
Sémantique :
ce que ça peut faire Code executable {
...
}
4
Sémantique d ’un module de compétence
c : pré-conditions (liste)
a : ajout (liste de propositions)
d : retrait (liste de propositions)
α : degrés d ’activation
c α
false
true
seuil
activation
t
5
3 types de liens entre modules
c: a:
xyx c: a:
xyx
Successeur pour xyx
Prédéc
esseur pour xyx
d:
xyx
Conflit pour xyx
6
Activation : environnement et buts
c: a:
xfx
d:
xyx
environnement
Faits :
a xfxffy
module
α
ffy
Buts :
z xyxffy
xyx
• flux continu : croissance perpétuelle du flux d ’activation
+ +
7
Inhibition par buts permanents atteints
Buts « une fois »
Buts et sous-but « permanents »
c: a:
xfx
d:
xyx
environnement
Faits :
a xyx
ffy
module
α
ffy
Buts :
z xyxffy
xyx
• flux continu : décroissance perpétuelle du flux d ’activation
-
8
Activation des Successeurs
Un module s ’active
– il diffuse de l ’énergie d ’activation à ses successeurs « en instance » d ’activation
c: a:
xfx
d:
xxx
α1
ffy
xyx
Environnement : xyx est faux (pas encore atteint) c: a:
xyx
d:
xyy
α2
ffy
Successeur pour xyx
+
9
Activation des Prédécesseurs
Un module est inactif
– il diffuse de l ’énergie d ’activation à ses
prédécesseurs « en instance » d ’activation
c: a:
xfx
d:
xxx
α1
ffy
xyx
Environnement : xyx est faux
c: a:
xyx
d:
xyy
α2
ffy
Prédécesseur pour xyx
+
10
Inhibition des conflits
Un module actif ou non
• diminue l énergie des modules en conflit avec lui qui pourraient l ’empêcher d ’être exécutable
c: a:
xfx
d:
xyx
α1
ffy
xyx
Environnement : xyx est vrai (sous-but permanent) conflits mutuels (boucle) : priorité au max(αi)
c: a:
xyx
d:
xyy
α2
ffy
Conflit pour xyx
-
11
Algorithme
Calcul des activations des modules perception
Diffusion d ’énergie d ’activation Parmis les modules exécutables
exécuter celui qui a le max(α) mettre son α = 0
Si aucun modules exécutable
diminuer le seuil d ’activation
action
12
Paramètres
θ : niveau d ’activation des modules
∅ : quantité d énergie injectée dans le réseau par un fait vrai
γ : quantité d énergie injectée dans le réseau par un but
δ : quantité d ’énergie prélevée par un but permanent « protégé » ou sous-but.
13
Ajustement paramètres
Art
équilibre mathématique
– Σα = constante
• énergie fournit par les but/faits
• énergie diffusée d ’un module à l’autre
• nb de liens entre modules
– nb de faits communs dans les a,d et c
14
Ajustement de paramètres : exemple
fait environnement
∅
c
}
fait
c
fait
c
fait
m
k
k n* φ 1 α α = +
15
Planification dynamique
environnement buts
a
b
16
Point de vue planification
pre-conditions non satisfaites : sous- buts
add/del listes : prédictions
pre-conditions satisfaites : buts protégés.
17
Point de vue programmation par but
Planification orientée par état / but
le rapport ∅/ γ gère l ’équilibre
Favorise
– les actions qui permettent d ’atteindre le but le plus proche
– une action unique à plusieurs actions
18
Adaptativité
Choix des actions en ligne
Si une action rate son objectif
– son activation a été mise à 0
– une autre action peut être préférée
Si un objectif est atteint « par hasard »
– les actions correspondantes ne sont plus activées
Nouvel objectif
– Préservation de l ’objectif en cours (dépend des paramètres)
19
Biais
Buts en parallèle : difficile
• une action contribuant à un but est choisie
• le chemin correspondant est renforcé
• l ’autre but attendra
état buts
état buts
20
Exemple
A
B C
A B C
Stack-a-on-b
c: (clear-a clear-b) a: (a-on-b clear-c) d: (clear-b, a-on-c)
Initial State : clear-a, a-on-c, clear-b Goal : a-on-b, b-on-c, clear-a
Actions :
Take-a-from-c c: (clear-a a-on-c) a: (clear-c)
d: (a-on-c)
….
21
Principales influences
1-stack-a-on-b
2-stack-b-on-c
Goal :
a-on-b, b-on-c,
clear-a
3-take-a-from-b
clear-b
Init :
clear-b a-on-c clear-a
4-take-a-from-c
3 activations - 1 inhibition
2 activations
choix
α1> α2 (dépend de ∅, δ,λ)
Ps : clear-b est un sous but rendant stack-b-on-c activable
22
Conflit
1-stack-a-on-b
2-stack-b-on-c
Goal :
a-on-b, b-on-c,
clear-a
3-take-a-from-b
clear-b
State :
clear-b clear-c clear-a
4-take-a-from-c
3 activations - 1 inhibition
2 activations
La dynamique va choisir
23
Deux solutions
B C A A
B C
A B C
stack-a-on-b take-a-from-b stack-b-on-c stack-a-on-b
stack-b-on-c stack-a-on-b
A B C B C
A B A C
B C A
B C
A
B C A
take-a-from-c
B C A
take-a-from-c
24
Problèmes
Paramétrage
Réflexion versus vitesse
– θ
• plus réfléchi
• plus rapide
Boucles / instabilitées
Actions atomiques
Environnement = faits
– variables ?
25
Conclusion
Architecture mixte liant :
– Paradigme réactif
– Paradigme cognitif (délibératif) – Rapide mais oscillant
Concurrents plus récents :
– Architectures PRS/BDI
• Introduction de la rationalité
• Introduction d’états mentaux issus de la psychologie (désirs, croyance, intention)
26
Bibliographie
[Coh 90] Cohen and Levesque, Intention is choice with commitment.
Artificial Intelligence, 42(3), 1990.
[Geo 86] M.P. Georgeff, A. L. Lansky, Procedural Knowledge, Proceedings of the IEEE Vol 74, N° 10, October 1986.
[MAES 89] P. Maes, The dynamics of action selection, Proceedings of the international Joint Conference on Artificial Intelligence, IJCAI-89, 1989.
[Sin 99] Singh M P. Rao A.S. and Georgeff M.P. Formal Methods in DAI : Logic-Based Representation and Reasoning, in « Multiagent
Systems », edited by Gerhard Weiss, The MIT Press.
[Woo 95] M. Wooldridge and R.Jennings, Intelligent Agents : Theory and practice. The knowledge Engineering Review, 10(2), p115-152, 1995.