You are on page 1of 69

Systmes Multi-Agents (SMA)

Zahia Guessoum
Equipe SMA (Systmes Multi-Agents) LIP6 (Laboratoire d'Informatique de Paris 6) Zahia.Guessoum@lip6.fr http://www-poleia.lip6/~guessoum/

-------------------------

SMA Objectifs
y Objectif 1 : Analyse thorique et exprimentale des

mcanismes d auto-organisation

modliser, expliquer et simuler des phnomnes naturels, et susciter des modles d auto-organisation

y Objectif 2 : Ralisation d artefacts distribus

capables d accomplir des tches complexes par interaction


raliser des systmes informatiques complexes partir de concepts d agent, de communication, de coopration et de coordination d actions.

Zahia Guessoum

SMA Objectifs
y Objectif 2 : Ralisation d artefacts distribus

capables d accomplir des tches complexes par interaction


raliser des systmes informatiques complexes partir de concepts d agent, de communication, de coopration et de coordination d actions.

Gnie Logiciel & SMA

Zahia Guessoum

Problme
yComment raliser un SMA dont les agents ont les

proprits :
pro-activit autonomie adaptation Sociablit  mobilit

scurit !!

Zahia Guessoum

Dans cette partie du cours ...


y Architectures dagents & Environnements de

dveloppement
    

Introduction Langages Architectures Environnements Conclusion

Zahia Guessoum

Langages

Zahia Guessoum

Outils

Zahia Guessoum

Langages Objets
AGENT 0 LANGAGES OBJETS ACTIFS

Agents vs. objets


y Les objets sont galement des entits autonomes

computationelles. Quelle est la diffrence?




agents sont :
habituellement

persistants, ractifs, comme les objets, mais aussi proactifs, peuvent tre self-aware (conscient de soi-mme) contrlent leurs actions


un objet :
no say regarding the use and execution of its public methods. Un agent peut refuser, forwarder le message, ... nest pas intelligent
has

Zahia Guessoum

Des objets aux objets actifs


y Objet actif = objet + thread y Un programme : plusieurs atvits concurrentes  Sur des machines multi-processeurs,  Sur des machines distribus,
 

Pour modliser des systmes complexes,

Zahia Guessoum

10

Des objets aux objets actifs


y Envoi de messages synchrones


objet1 method1

objet2 method2

objet2 method2

Zahia Guessoum

11

Des objets aux objets actifs


y Envoi de messages asynchrones


objet1

objet2

objet2 method2

Zahia Guessoum

12

Des objets aux objets actifs


y Envoi de messages asynchrones


MailBox Quand un message est recu, il est stock dans un mail box

Processus (activit) retirer les messages du mail box

Zahia Guessoum

13

Objets actifs (Actalk)

Zahia Guessoum

14

ActiveObject ...
y default classes ...  ActivityClass
exemple

de probleme : pr-emption voir les sous-classes ou insrer Processor yield

body [true]whileTrue: [self acceptNextMessage. Processor yield]

Zahia Guessoum

15

Actalk
y Trois classes (ou hirarchies de classes) connatre  Activity
process

Address
mailBox

ActiveObject

Zahia Guessoum

16

Activity ...
Address :
doesNotUnderstand: aMessage ^self receiveMessage: aMessage

Activity : body [true]whileTrue: [self acceptNextMessage]

createProcess ^[self body] newProcess


Zahia Guessoum 17

ActiveObject ...
y Sous classer ActiveObject pour dfinir des

comportements


ActiveObject subclass: #ActivePredator

y Utiliser la mthode

active pour crer des objts

actifs

aPredator := ActivePredator new active

Zahia Guessoum

18

ActiveObject ...
y dfault classes ...  ActivityAddress
diffrents

types de messages

synchrones & asynchrones

Zahia Guessoum

19

ActiveObject ...
y Dfinir le comportement objet  Sous classer ActiveObject (simple classe)

Utiliser le framework
MailBox Activity

ActiveObject

Zahia Guessoum

20

Principales reprsentations
y Objets actifs Malgr leur apparence de sujets communiquant, les objets actifs ne savent pas rflchir sur leur comportement, sur les liens qu'ils entretiennent avec d'autres objets...(Ferber 89).

Zahia Guessoum

21

Architectures
ARCHITECTURES RACTIVES ARCHITECTURES DLIBRATIVES ARCHITECTURES HYBRIDES ARCHITECTURES MODULAIRES

Langages dagents
AGENT 0 LANGAGES OBJETS ACTIFS

Agent 0
y Agent 0 (Shoham, 1993)  propose un nouveau style de programmation et propose un vrai langage (AOP) intgrant un grand nombre des concepts dfinissant la notion d'agent. y Caractristiques de Agent 0  un langage de programmation interprt permettant de programmer les agents.  fond sur un langage formel rduit utilisant la logique modale pour dcrire les tats mentaux.  Les agents sont programms en terme de rgles d'changes mentaux

Zahia Guessoum

24

Agent 0
y AGENT-0 a trois composantes :
  

1) un systme logique pour dfinir les tats mentaux de l'agent ; 2) un langage de programmation pour programmer les agents 3) un processus "agentification", pour compiler les programmes agents en un systme excutable (bas-niveau). Les Actions provoquant des faits dtermins (externes ou internes) par des Dcisions, Les Capacits indiquant dans quelle mesure l'agent est capable d'effectuer une action, Les Croyances faisant rfrence l'tat du monde, aux tat mentaux et aux comptences des autres, et contraignant les dcisions, Les Obligations traduisant des engagements et proposant des alternatives pour les dcisions.

y Les concepts de base sont :


   

Zahia Guessoum

25

Agent 0
Le cycle de contrle d'un agent AGENT-0

Zahia Guessoum

26

Agent 0
y Le cycle de contrle est assez simple. Il consiste en

la rptition de la boucle suivante :


 

lire les messages, mettre jour l'tat mental, excuter les actions prvues pour le cycle courant.

Zahia Guessoum

27

Agent 0

Zahia Guessoum

28

LALO
y Lalo est une extension de Agent 0. L'utilisateur peut

choisir de spcifier le comportement l'aide :


 

de rgles comme dans AGENT-0, d'un ensemble de plan ou plus simplement d'une faon procdurale.

y L'intrt de LALO par rapport AGENT-0 rside

surtout dans son aspect compil. Le compilateur LALO gnre partir du programme de l'agent, un code source C++ pour l'agent, et le code source d'un programme d'installation dans la base de donnes (Oriente Objet) des agents qui contient au lancement les croyances et engagements
29

Zahia Guessoum

Le compilateur Lalo

Zahia Guessoum

30

Dautres langages
y Placa y MtaTem y

langages exprimentaux Mais rcemment : langage JASON


Des

Zahia Guessoum

31

Architectures
ARCHITECTURES RACTIVES ARCHITECTURES DLIBRATIVES ARCHITECTURES HYBRIDES ARCHITECTURES MODULAIRES

Architectures dagents
Agent capteurs action

Environement

Zahia Guessoum

33

Architectures existantes dagents


 Modles d'agents ractifs


(Brooks 1989 ; Ferber 1989 ; Ferber et Drogoul 1992)

y Modles d'agents cognitifs (dlibratifs)




(Braganza et Gasser 1987 ; Bouron 1992 ; Boissier et Demazeau 1994)

Modles d'agents hybrides




( TouringMachines[Ferguson92] ;InteRRap [Mller 94] ; Modle de Bussmann et Demazeau [Bussmann et Demazeau 94] ) ; DIMA

Agent combinant en gnral des capacits cognitives et ractives loges dans des modules diffrents.
Zahia Guessoum 34

Architectures ractives

Travaux de Brooks
y But  Chercher une solution aux problmes dIA y Brooks souligne deux principales ides de son

travail :


Dans les systmes ractifs, l'intelligence est dans l'univers et non pas dans des systmes dsincarns tels que les systmes experts. L'intelligence merge de l'interaction des agents avec leur environnement.

Zahia Guessoum

36

Architectures dagents ractifs


y Agent Rflexe Simple
ARS senseurs Monde? Rgles: conditions ==> actions Quelle action? effecteurs action perception

Zahia Guessoum

37

Architectures dagents ractifs


y Agent Rflexe + Mmoire
perception AGTM tat? volution du monde? Que font les actions? Rgles: conditions ==> actions Quelle action? effecteurs action
Zahia Guessoum 38

senseurs Monde?

Architectures dagents ractifs


y Principe


Stimuli/Rponses
Robots

(Brooks89) Fourmis (Ferber89&Drogoul92) cosystmes (Hill 98) Pengi, un programme de planification (Agre and Chapman 87).

y Architectures
    

Aucun consensus Aucune mthodologie Solution ad hoc Tout est prs-cbl

Zahia Guessoum

39

Architectures cognitives

Architecture de subsomption
y Hirarchie de comportements accomplissant des y y

y y

tches Chaque comportement est en comptition avec les autres (pour excuter un contrle sur l agent) Les couches les plus basses =comportements primitifs (viter obstacle) sont prioritaires sur les couches suprieures Aucun raisonnement explicite Exemple dapplication: simulation d un explorateur de Mars (rseau d architectures de subsomption)
41

Zahia Guessoum

Architecture de subsomption
viter les objets Rcprer de l nergie Optimiser les cemins Cnstruire une carte du territoire explorer Prendre et dposer Des objets Avancer alatoirement Environnement Effecteurs

Capteurs

Zahia Guessoum

42

Blackboard

Zahia Guessoum

43

Blackboard
y Un cadre de travail pour structurer et contrler le

comportement d un systme de rsolution mettant en uvre des sources de connaissances multiples, varies et pouvant donner lieu des erreurs. (mdicales, )

y Titre de noblesse dans de nombreuses applications

y Mais : le contrle est centralis et nest pas laiss

l initiative des sources de connaissances y Aucune communication directe entre les sources de connaissances

Zahia Guessoum

44

Systmes multi-bases de connaissances


KB4 KB1 KB5

KB3 KB2

KB6 KB6
Zahia Guessoum 45

Systmes multi-bases de connaissances


y Distribuer le contrle y Chaque agent a trois types de connaissances :
  

C. du domaine ou expertise C. de contrle C. de communication et d interaction AnalyseVentilatoire

SuiviVentilation PlanificationThrapeutique

Apne Persistante Frquence x 2 Ranimateur SignalProcesseur Ventilateur ActionsThrapeutiques Symptme ! Alarme Patient CMV (Controlled Mechanical Ventilation)

Zahia Guessoum

46

Archcitecture BDI
y Agent rationnel  Perception/actions  Attitudes informatives : croyances, connaissances..  Pro-attitudes: Dsirs, intentions, obligations, choix...  Comportement guid par buts, intentions, ..sur la base des informations quil a sur son monde

Zahia Guessoum

47

Archcitecture BDI
y Reprsentation: tats mentaux y Logique classique (LC) insuffisante  En LC, la dnotation d une expression dpend seulement de celle de ses sous expressions
Ex:

p=>q dpend seulement des valeurs de p et q Jean croit p (indpendant de la valeur de p)

Faux pour les notions intentionnelles (croyances)


Ex:

Zahia Guessoum

48

Archcitecture BDI
y Reprsenter l intentionnalit : logiques modales  Utiliser des oprateurs modaux pour nuancer les assertions de la logique classique
et ncessaires (logiques ontiques) Futur et pass (logiques temporelles) Savoir et croyances (logiques epistmiques)
Possible

Ex:
pre(x,y)) : A sait que x est pre de y B(A, pre(x,y)) : A croit que x est pre de y
K(A,

Zahia Guessoum

49

Archcitecture BDI
y Reprsenter l intentionnalit: Smantique  Logique oprationnelle : structures symboliques interprtes
Les

assertions logiques sont values relativement une thorie associe un agent B(x,f) est vrai ssi f est vrai dans la thorie associe l agent x Pb: manque de smantique rfrentielle Une thorie associe un agent est opaque pour un autre agent

Zahia Guessoum

50

Archcitecture BDI
y Reprsenter l intentionnalit: Smantique  Logique des mondes possibles
Les

assertions logiques sont values relativement aux mondes accessibles pour un agent B(x,f) est vrai ssi f est vrai dans tous les mondes accessibles par l agent x Pb: omniscience logique des agents (un agent croit toutes les consquences logiques de ses croyances)

Zahia Guessoum

51

Archcitecture BDI
y Reprsenter l intentionnalit: Smantique  Logique des mondes possibles : Axiomes
Axiome

de distribution (K) B(a,(p=>q))=>B(a, p=>B(a,q)) B(a,p) et B(a, (p=>q)) => B(a,q) Principe de non contradiction (D) B(a,p) => non B (a, non p) Introspection positive et ngative B(a,p) => B(a, B(a,p)) Non B(a,p) => B(a, Non B(a,p))

Zahia Guessoum

52

Archcitecture BDI
y Smantique des mondes possibles


tant donn:
un

ensemble de mondes possibles: W0, W1,W2,..,Wn Un ensemble d agents: a0,a1.. Un ensemble de relations daccessibilit Ra0, Ra1,..(une par agent): W Ri W si W est accessible par l agent Ai


On a les axiomes suivants: |=W P si P est vrifi dans le monde W

 W tel que W Ra W , |=W P |=W il est possible que P si W tel que W Ra W et |=W P
|=W

A croit P si

Zahia Guessoum

53

Archcitecture BDI
y Thorie de laction intentionnelle


Un agent x a l intention de raliser une action a (intention(x,a)) si x a comme but quune proposition P sur l tat du monde soit vraie et que les conditions suivantes sont satisfaites:
x

croit que P appartient aux consquences de l action a x croit que P n est pas vrai actuellement x croit qu il est capable de faire a x croit que a sera possible et donc que P pourra tre vrifi

Zahia Guessoum

54

Archcitecture BDI
y Intentions et buts : agence rationnelle

Notion

Associer les tats intentionnels des agents leurs actions et consquences


de but persistent L agent a pour but qu une proposition p devienne ventuellement vrai, et qu il croit que p n est pas actuellement vrai Avant d abandonner p: il faut qu il croit que son but de satisfaire p ait t atteint ou qu il ne sera jamais atteint. Intentionnalit partir de but persistent

L agent a l intention de faire l action a ssi: Il a comme but persistent d amener son tat vers un tat o il croit qu il doit faire l action a Puis faire l action a

Zahia Guessoum

55

Architecture BDI

Monitor Data Input Data Base (Beliefs) System Interfaces Goals (Desires) Interpreter (Reasonner) Stack (Intentions) KAS (Plans) Sensors

Environment

Effectors

Data Output

Command Generator

Zahia Guessoum

56

Architecture BDI
Perception input brf beliefs Generate options desires filter intentions action
Zahia Guessoum 57

Action output

Architectures hybrides

Layered Agent Architectures


y Usually, but not always, deliberative architectures y Decision making is performed via separation to several

software layers y Each layer reasons at a different level of abstraction. Layers interact y Two major types:


vertical layers: perception input and action output are dealt with by a single layer each horizontal layers: each layer directly connects to perception input and action output

Zahia Guessoum

59

Layers design
y Typically, at least two layers, one for reactive behavior

and one for proactive y No reason not to have multiple layers y Typology: information and control flow between the layers, e.g.:
Agent Perception Action

Zahia Guessoum

60

Information and Control Flow


Action output

Layer n Perceptual input Layer 2 Layer 1 Action output

Layer n

Layer n

Layer 2 Layer 1

Layer 2 Layer 1

Perceptual input
Zahia Guessoum 61

Perceptual Action output input

Horizontal Vertical (one pass) Vertical (two pass)

Layers Pros and Cons


y Horizontal  each layer acts like an agent - provides independency, simplicity  for n different behaviors we implement n layers  competition between layers can cause incoherence  need for mediation between layers: exponentially complex, a control bottleneck y Vertical  Low complexity, no control bottleneck  Less flexible and not fault tolerant: one decision needs all layers
Zahia Guessoum 62

Example: TOURINGMACHINES
Perception input Modeling layer

Perception subsystem

Planning layer

Action subsystem

Reactive layer Action output Control subsystem


Zahia Guessoum 63

TOURINGMACHINES
y Three layers produce suggestions for action:  reactive: implements situation-action rules as in Brooks subsumption architecture  planning: achieves proactiveness via plans based on a library of schemas  modeling: model of world, other agents, self, predicts conflicts, generates goals to resolve them y Domain of implementation: multiple vehicles

Zahia Guessoum

64

Example: INTERRAP
Cooperation layer Social knowledge

Plan layer

Planning knowledge

Behavior layer

World model

World interface

Perception input
Zahia Guessoum 65

Action output

INTERRAP
y A vertically layered two pass architecture y Layers have similar purposes as in

TOURINGMACHINES y Each layer is associated with a knowledge-base y Layers interact with each other:
 

bottom-up: activation top-down: execution

Zahia Guessoum

66

Modular agent Architectures


y Reactive Agents  Toward cognitive y Cognitive Agents  Facilitate the design  Improve performances y Hybrid Agents  Facilitate the design (modularity)  Improve performances
Zahia Guessoum 67

Modular agent Architectures


y Problem?


Most existing architectures are well suitable for a category of problems  Need variable granularity ...

y Solution


Model of architecture (Integrate all the well defined architectures, )  Modular model
Reactive

agent (reactive components) Adaptive/cognitive (reactive and hybrid components)




Minimal component : a proactive component

Zahia Guessoum

68

Towards agent development environment


Several categories:
1.

Mobile agent platforms

Ex. Aglets, Mole, Odyssey,


2.

Model oriented platforms

Ex. JAFMAS, COOL, Madkit, DIMA, MACE,


3.

Simulation platforms

Ex. Swarm, StarLogo, CORMAS, Manta,


4.

Standardization platforms

Ex. FIPA-OS, JADE, Grasshopper,

Zahia Guessoum

69

You might also like