2. Plan de l’exposé
Influences historiques
― Les deux Intelligences Artificielles
― Les problématiques Multi‐agents
― Domaines d’application des SMA
Concepts fondamentaux des agents
― Entité située
― Entité autonome
― Le monde est ouvert
― Population d’agents
― Modèles d’interaction
― Manifestation de l’Intention
Architectures d’agents
― Pourquoi distribuer l’intelligence ?
― Les deux classes d’architectures parallèles
― Architectures à contrôle centralisé
― Architectures à contrôle distribué
― Agents réactifs et cognitifs
― Exemple d’agent réactif et cognitif
― Architectures de subsomption
― Architectures dynamiques de contrôleurs
― Les Véhicules de Braitenberg
― Architectures à Règles de Production
― Architectures à Blackboards
― Agents Epistémiques
― Conclusion
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 2
3. Influences historiques
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 3
Informatique Sciences Cognitives
« Vers le Parallélisme » « Vers l’Humain »
Algorithmique
Distribuée
Intelligence
Artificielle
Sciences de l’Homme et de
la Société (SHS)
Biologie et
Physique
SIMD MIMD Numérique Symbolique Psychologie
Linguistique
Neurobio Biosphère
IAD : Intelligence Artificielle Distribuée
SMA : Systèmes Multi‐Agents
Sociologie
1985
4. Les deux Intelligences Artificielles
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 4
81/2
Vienner : Processus, Feedback
Hebb : Neurones formels
Von Neumann : Automates
Perceptron,
Holland : Algos génétiques
Minsky, Papert :Réfutation du Perceptron
Conway : Jeu de la Vie
Hewitt : Acteurs
1950 1960 1970 1980 1990
2000
Langton : Automate autoreproducteur
MLP: Perceptron multi‐couches
Wolfram :Automates cellulaires
Hillis : Connection‐Machine
Minsky : Société de l’esprit
Hewitt : Monde ouvert
Langton : Artificial Life
Brooks : Animats
Hopfield, McClelland, Rumelhart : PDP : Renouveau perceptron
McCarthy : Lisp
GPS
Winograd : SCHRDLU
Colmerauer : Prolog
Sussman : Machine‐Lisp (MIT)
Fahlman : Réseaux sémantiques
Smalltalk
Sowa : Graphes Conceptuels
Machines 5ème Génération
Prolog,Lisp,…
Minsky : Frames
PLC
Hearsay II : Blackboards
Kickpatrick : Recuit Simulé
Turing : Test d’Intelligence
Weizenbaum : ELIZA
Searle : Chambre Chinoise
Lorentz : Chaos
InterViews
M3L MAIA
MEGA
DAFT
WEBAMBIANT
IA Symbolique
Séquentielle (GOFAI)
IA Distribuée
8. Fonction = calcul décontextualisé
Une fonction est une entité passive qui n’a pas de «
dehors » [il faut l’appeler pour qu’elle agisse] :
― Elle ne perçoit pas d’extérieur (normalement elle n’affecte pas
de variables globales),
― Elle n’a pas d’histoire (chaque exécution est indépendante des
précédentes)
― Elle n’agit pas sur les choses. Il n’y pas d’effet de bord ni sur les
arguments x, y (calculer z ne modifie pas x et y) ni sur les
variables globales
BAD !
F[x_]:= (CPT++; x+CPT)
CPT=1; Print[f[1]] ; Print[f[2]]
3
5
La variable globale CPT peut être vue comme un
environnement minimaliste pour F qui n’est plus une
pure fonction.
Entité située
Agent = agir in situ
Un agent A0 est situé en (x,y) dans un espace et il possède
un voisinage :
― Il peut le percevoir localement et non globalement
― Il peut se le représenter
― Il peut agir sur cet environnement :
Relativement : par exemple en se déplaçant
Absolument : par modification de l’état physique ou mental des choses
du voisinage (choses = des objets, d’autres agents, des humains)
Il existe une dimension temporelle (t) : Chaque
changement d’état de l’agent et/ou des choses modifie
l’environnement et fait progresser le temps.
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 8
F
xi
yi
Zi
temps
y
x
Voisinage
local de A0
A0
… espace
11. Population d’agents
Variables globales et locales
En programmation classique les variable globales sont
accessibles à tous et les variables locales ne sont
accessibles à personne.
Global X, Y
Func foo Local a,b
… a …
… X …
Func bar Local u,v,w
… u,v …
… X …
Dans un SMA rien n’est complètement global
L’environnement étant vaste (sans compter le problème de
la représentation récursive – je sais que je sais que je sais...
―) et ouvert, il n’est pas possible en un lieu donné (par
exemple, dans un agent) de stocker toute la représentation
du monde. Par contre, un agent peut se déplacer ou
encore interagir avec d’autres agents qui sont dans son
voisinage pour explorer l’environnement.
Dans un SMA rien n’est complètement local
Pour un agent donné, toutes ses entités (informations,
processus, buts, …) sont locales mais elles restent
accessibles à l’introspection par d’autres agents. Le moyen
d’accéder à cette information passe par les interactions
entre les agents.
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 11
Champ Social Ouvert
Agent
omniscient
(Alta Vista)
Voisinage
d’ordre 1
Voisinage
d’ordre 2
Diamètre social
X,Y
a, b
u,v,w
12. Modèles d’interaction
1. Interaction Agent ↔ Agent
Niveau communication
― Transactions : Agent Communication Languages (ACL)
― Conversation Policies
Niveau connaissance (Knowledge Level)
― Echange de connaissances : KIF, XML, DAML
― Hétérogénéité sémantique
2. Interaction Humain ↔ Agent
― Interactions langagières : Analyse de requêtes en LN
― Raisonnement sur le structure et le fonctionnement
― Traitement de la référence (Dérive cognitive, CommonSense)
3. Interaction Multi‐agents
― Résolution distribuée de problèmes (IAD) : coopération, conflits,
négociation, …
― Extraction de comportements sur les flots d’interaction
4. Interaction Multi‐humains
― Modalité langagière : chat, mail, forums, formulaires, …
― Médiation par les objets informationnels
― Suivi de conversations
― Extraction de pratiques sociales
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 12
Collectifs médiatisésCoopération / compétition
Dialogue Homme‐MachineACL
Agent Humain
1‐1
N‐N
21. Exemple d’agent réactif et cognitif
Jean‐Paul Sansonnet ‐‐ LIMSI‐CNRS 21
Rob réactif
La fonction de transition T est un ensemble non ordonné de règles de type
Si condition alors action
qui sont exécutées dans une boucle infinie et non déterministe :
Si DP ∧ PO Alors SORTIR
Si DP ∧ PF Alors OUVRIR
Si DP ∧ PFC ∧ C Alors DEVEROUILLER
Si DP ∧ PFC Alors RANDOM-WALK
Si DC ∧ C Alors RANDOM-WALK
Si DC ∧ ¬ C Alors PRENDRE-CLE
Question :
prouver que le système {règles + CI} où CI = conditions initiales quelconques,
converge c’est‐à‐dire que Rob finit bien par sortir au bout d’un « certain temps ».
Rob cognitif
L’agent possède un plan P pour sortir qu’il exécute de manière séquentielle et
déterministe quelle que soit sa position de départ et quel que soit l’état initial du
monde :
ALLER-A DP ― appel du sous‐plan ALLER‐A(x,y)
Si PO Alors SORTIR
Sinon Si PF Alors OUVRIR;SORTIR
Sinon Si PFC
Alors Si C Alors DEVEROUILLER;OUVRIR;SORTIR
Sinon ALLER-A DC
PRENDRE-CLE
ALLER-A DP
DEVEROUILLER;OUVRIR;SORTIR
Porte
Serrure
DP
DC
Porte ouverte : PO
Porte Fermée : PF
Porte Fermée à clé : PFC
Rob
Rob possède la clé : C
Rob ne possède pas la clé : ¬ C
Problème :
« Rob le robot doit sortir
de la pièce ».
Position DP = Devant la Porte
Position DC = Devant la Clé