Sunteți pe pagina 1din 35

Introducere n teoria Agenilor Inteligeni

1. Domeniul agenilor inteligeni, utilitatea lor i poziionarea n cadrul domeniului


mai larg al Inteligenei Artificiale
Ce este un agent ? Un agent este un sistem computaional (hardware sau software)
situat ntr-un mediu de execuie i acioneaz autonom n acel mediu pentru a-i
ndeplini scopurile pentru care a fost proiectat.
Un agent i percepe mediul prin senzori i poate aciona asupra acelui mediu
prin efectori. Capacitatea efectoric reprezinta multimea tuturor actiunilor posibile ale
unui agent ce pot modifica mediul de executie in care lucreaza. Interactiunea dintre
mediu si agent se efectueaza in mod continuu.
n figura 1, este prezentat un sistem cu ageni.
intrri

Agent

Figura 1a. Sistem cu


agent.
Mediu
ieiri

Definiia se refer la ageni n general, nu la ageni inteligeni. Ea nu spune


nimic despre tipul de mediu pe care l ocup agenii. Agenii care trebuie s opereze
robust ntr-un mediu variabil, nesigur sau deschis, unde probabilitatea ca aciunile s
eueze este mare, sunt numii ageni inteligeni sau ageni autonomi.
De regul, n domeniile de complexitate rezonabila, un agent nu va avea un
control complet asupra mediului, ci unul parial, adic l va putea influena. Dintre
aciunile pe care le poate efectua un agent asupra mediului su de execuie, nu toate vor
putea fi executate ntr-o anumita situaie; aciunile au anumite precondiii asociate ce
definesc starile mediului n care pot fi ndeplinite.
Noiunea de agent inteligent este considerata a fi o abstraciune de nivel foarte
nalt deoarece asigur o modalitate convenabil de descriere a entitilor de mare
complexitate. Sistemele cu agenti inteligenti reprezinta o soluie buna pentru
administrarea sistemelor complexe.
Agentii inteligenti efectueaza in mod continuu 3 functii:
perceperea conditiilor dinamice din mediu;
raionamentul pentru interpretarea percepiilor, deducerea
inferenelor i determinarea aciunilor;
aciunea pentru influenarea condiiilor din mediu;
Un agent se poate caracteriza in functie de comportamentul sau. Un agent
inteligent trebuie s perceap schimbrile din mediul su de execuie, s acioneze fr
intervenia utilizatorului si s comunice cu utilizatorul sau cu ali ageni. Astfel
1

comportamentul unui agent este descris de urmatoarele caracteristici:


autonomie: se refer la posibilitatea unui agent de a-i controla propriile aciuni
independent de alte entiti, putnd interaciona cu acestea doar n cazul n care
dorete. De obicei un agent autonom nu apeleaz la altcineva (alt agent sau fiin
uman) dect dac nu posed suficiente cunotine pentru a ndeplini de unul singur
o anumit atribuie. Agentul opereaz ca un proces de sine stttor, fr intervenie
uman direct i deine controlul asupra aciunilor i strii sale interne; Ei pot
aciona n numele utilizatorului folosind cunotine sau reprezentri ale scopurilor
sau dorinelor utilizatorului.
reactivitate: este o proprietate necesar atunci cnd agentul acioneaz n medii
dinamice. Agenii trebuie sa menina o interaciune continua cu mediul nconjurtor
i sa rspunda n timp util la schimbrile ce apar n mediu, adic de a se adapta la
acestea. n astfel de medii evenimentele externe pot schimba chiar pre-condiiile
pentru nceperea execuiei unei aciuni si astfel rezultatul ar putea fi imprevizibil si
chiar eronat. Printr-o continu reactualizare a informaiilor despre mediu, se poate
evita atingerea unor evenimente nedorite. Dac nsui scopul se modific, atunci nu
mai exist nici un motiv pentru continuarea procedurii curente.
proactivitate: se refer la capacitatea unui agent de a lua iniiativa; el nu este condus
de evenimente ci este capabil de a-i genera scopurile i de a aciona raional pentru
a le ndeplini. Agentul nu numai c reacioneaz la schimbrile mediului su de
execuie, ci este capabil s manifeste un comportament orientat spre scop prin
preluarea iniiativei;
Trebuie gasit un echilibru ntre comportamentul reflex i cel orientat spre scop.
n general, se dorete ca agentul s ncerce s-i ating n mod sistematic scopurile,
ns s nu continue o anumit aciune n condiiile n care este clar c aceasta nu va
reui. El trebuie s reacioneze la noua situaie i s-i selecteze un nou mod de
comportament. Totui, agentul nu trebuie s reacioneze n mod continuu i astfel s
nu se mai poat concentra asupra atingerii efective a scopurilor.
abilitate social (social ability"): se refer la cooperarea dintre ageni in
partajarea scopurilor. Un simplu schimb de informaii nu poate fi considerat drept
comportament social, care se dovedete mult mai complex. Exist cazuri n care
atingerea propriilor scopuri intr n conflict cu interesele altor ageni. n astfel de
cazuri se recurge la negociere, alegerea unor aciuni alternative, etc.
continuitatea n timp: se refer la capacitatea agenilor de a-i putea suspenda
temporar activitatea si a o continua de unde a ramas. Activitatea trebuie memorat
ntr-o anumit manier astfel nct s poat fi recreat atunci cnd agentul este
reanimat.
Alte atribute ale agenilor:
o adaptarea;
o capacitatea de nvare. Agenii pot, n anumite circumstane, s nvee din
evenimentele repetitive ce au loc n mediul nconjurtor astfel nct s
poat prezice evenimentele viitoare i n anumite cazuri, s acioneze
asupra mediului;
o mobilitatea reprezint capacitatea de a se mica de la un sistem la altul;
o task-oriented;

Se numeste agent inteligent o entitate fizic sau virtual care are urmtoarele
caracteristici:
este capabil de a aciona ntr-un anumit mediu;
poate comunica direct cu ali ageni sau cu utilizatorul;
are un anumit scop;
este capabil de a percepe (ntr-o manier limitat) mediul n care evolueaz;
dispune de anumite resurse;
are anumite competene i ofer anumite servicii;
se poate eventual reproduce;
comportamentul su este determinat de tendina de a-i satisface obiectivele;
Prin entitate fizic nelegem o entitate care acioneaz ntr-o lume real, deci poate
fi: un robot, un avion, o main, etc. Ca entitate virtual poate fi: un modul informatic,
o component logic.
Aciunea este un concept fundamental al agenilor inteligeni. Agenii realizeaz
anumite aciuni prin care pot modifica mediul n care se afl sau pot comunica ntre ei.
Agenii sunt dotai cu autonomie, ceea ce nseamn c nu sunt dirijai de
comenzi venite de la utilizator, sau de la un alt agent, ci de un ansamblu de tendine
proprii, care pot lua diferite forme i pot fi influenate de mai muli factori. Agenii au
autonomie n ceea ce privete comportamentul i resursele de care dispun.
Agenii nu au dect o reprezentare parial a mediului n care se afl i nu au o
viziune global a lumii. Acetia sunt caracterizai de un anumit comportament, care se
rezum la modul de comunicaie, aciune, reproducere, realizarea necesitilor i
obiectivelor, plecnd de la celelalte elemente de care dispune: percepii, reprezentari,
aciuni, comunicaii i resurse.
Agentul poate fi astfel vzut ca: element dintr-o organizaie colectiv;
organizaie de nivel inferior i deci are toate caracteristicile unei organizaii.
Sisteme cu un singur agent. Un sistem cu un singur agent ar putea avea mai
multe entiti, civa actuatori sau chiar civa roboi. Fiecare entitate trimite rezultatele
i primete aciunile, pe care trebuie s le ndeplineasc, de la un singur proces central.
Agentul central modeleaz fiecare entitate.
Dei poate prea c sistemele cu un singur agent ar trebui s fie mai simple dect
sistemele multiagent, cnd exist un task complex, sistemele multiagent ofer mai mult
uurin de lucru. n general, un agent dintr-un sistem cu un singur agent modeleaz el
nsui mediul i interaciunile acestuia. Agentul este parte a mediului.

Figura 2. Sistem cu un singur agent, care modeleaz el nsui mediul i


interaciunile acestuia.
3

Ce este un sistem multiagent? Un sistem multiagent este un sistem format


din cel puin doi ageni inteligeni capabili s interacioneze ntre ei n vederea realizrii
unor scopuri individuale sau comune (scopuri globale) i care partajeaz acelai mediu
de lucru.
Sistemele multiagent (Multiagent Systems) - SMA constitue un subcmp al
Inteligentei Artificiale, al crui scop este de a furniza principiile pentru construcia de
sisteme complexe.
Inteligenta Artificiala Distribuita este un subdomeniu al IA si este mprit n
dou subdiscipline: DPS (Distributed Problem Solving) i SMA (Multiagent Systems).
Principalele teme considerate n DPS sunt problemele legate de managementul
informaiilor, cum ar fi descompunerea task-urilor i sinteza soluiilor. SMA permite ca
subproblemele astfel obtinute s fie distribuite agenilor - fiecare avnd interesele i
scopurile lui.
Sistemele multiagent difer de cele cu un singur agent prin aceea c exist mai
muli ageni care i ndeplinesc propriile scopuri i aciuni. n cele mai complete
sisteme multiagent, exist o interaciune direct ntre ageni, adic acetia comunic
ntre ei (figura 3). Dei aceast interaciune poate fi vzut ca un stimul din mediu, se va
prezenta comunicaia dintre ageni ca fiind separat de mediul nconjurtor.
In sistemele multiagent dinamica mediului poate fi determinat de ali ageni.
Fiecare agent este o parte a mediului i este modelat ca o simpl entitate. Poate exista un
numr variat de ageni, cu diferite grade de eterogenitate i cu sau fr capacitatea de a
comunica direct.

Figura 3. Un scenariu general pentru un sistem multiagent i interaciunea dintre


ageni (comunicaia).

Utilitatea sistemelor multiagent. Motivaia utilizrii sistemelor multiagent:


paralelism;
programare simpl;
robustee;
pentru a studia inteligena;
scalabilitate;
rezolvare eficient a problemelor.
Nu se poate pretinde ca SMA s fie utilizate n proiectarea tuturor sistemelor
complexe, dar majoritatea domeniilor cer aceast soluie. SMA poate fi folosit chiar i
n domenii n care se pot folosi sisteme ce nu sunt distribuite.
Prin paralelism un SMA poate mri viteza de operare a sistemului deoarece
imparte un task complex in mai multe subtask-uri si le asigneaza unor ageni diferii.
Robusteea in SMA se obtine prin folosirea agenilor redundani. Dac controlul
i responsabilitile sunt mprite ntre diferii ageni, sistemul poate tolera ratri din
partea unuia sau mai multor ageni.
Un alt avantaj al SMA este acela c este mai uor s se adauge noi ageni
sistemului - scalabilitate, dect s se adauge o nou capacitate unui sistem monolitic.
Din perspectiva programatorului, modularitatea sistemelor multiagent poate
conduce la o mai simpl programare. Dect s se asigneze ntregul task unui agent
centralizat, programatorii pot identifica subtask-uri i asigna controlul acestor subtaskuri
unor ageni diferii.
Sistemele multiagent pot fi folosite pentru a studia inteligena datorita
proprietatii sociale de care dispune.
2. Tipuri de sisteme multiagent.
2.1 Functia sistemului. Unele dintre cele mai importante caracteristici ale sistemelor
multiagent sunt:
funcia sistemului;
arhitectura agentului (inteligenta, eterogenitatea, reactivitate vs. deliberare);
arhitectura sistemului (comunicaii, protocoale, implicarea omului, etc.).
2.2. Arhitectura unui agent. Caracteristicile esentiale ale unui agent sunt:
gradul de inteligenta;
gradul de eterogenitate;
gradul de comunicatie;
In functie de gradul de inteligenta se disting urmatoarele tipuri de agenti:
1. Agenii reactivi au o comportare prestabilit similar reflexelor, fr a-i
menine nici o stare intern; ei actioneaza direct si simplu la modificarile mediului.
2. Agenii deliberativi (cognitivi) sunt concepui ca entiti inteligente, capabile de a
raiona i a rezolva singuri anumite probleme, meninndu-i starea intern i
prezicnd efectele aciunilor.
3. Agenti cu deliberare reactiv care implic un amestec de comportare reactiv i
deliberativ. Aceasta a fost proiectat pentru controlul n timp real al mediilor
dinamice.
Dei linia care desparte agenii reactivi de cei deliberativi este oarecum confuz,
un agent cu nici o stare intern este cu siguran reactiv, iar unul care se bazeaz pe
aciuni furnizate de alt agent, este deliberativ.
In functie de gradul de eterogenitate se disting urmatoarele tipuri de agenti:
1. Agenti omogeni
2. Agenti eterogeni
5

In functie de gradul de comunicatie se disting urmatoarele tipuri de agenti:


1. Agenti necomunicativi
2. Agenti comunicativi
3.2 Arhitectura unui SMA. In functie de ultimile doua trasaturi se pot obtine, in
ordinea complexitatii, urmatoarele tipuri de scenarii de sisteme multiagent:
SMA cu ageni omogeni i necomunicativi;
SMA cu ageni eterogeni i necomunicativi;
SMA cu ageni eterogeni i comunicativi;
Pentru fiecare din aceste scenarii, vor fi prezentate problemele aprute si
tehnicile folosite pentru a le rezolva.
3.2.1 Sisteme multiagent formate din ageni omogeni necomunicativi.
Cel mai simplu scenariu de sistem multiagent implic ageni omogeni
necomunicativi. Toi agenii au aceeai structur intern (senzori, scopuri, cunotine
despre domeniu, funcii de decizie, aciuni posibile) dar cu intrri senzoriale i aciuni
actuale diferite deoarece ei sunt situai pe poziii diferite n spaiu.
Probleme i tehnici de rezolvare.
Perspectiva local vs. global. O alt problem care trebuie luat n considerare
la proiectarea unui sistem multiagent este ct de mult informaie ar trebui s fie
disponibil agenilor. Chiar dac ar fi posibil s se ofere agenilor o perpectiv global a
lumii, ar putea fi mai eficient s li se limiteze viziunea la una local.
Luam ca exemplu un caz de ageni multipli care mpart acelasi set de resurse.
Att timp ct agenii sunt identici i nu comunic, dac ei au o viziune global asupra
resurselor, ar putea s acioneze simultan asupra acelorai resurse. Un efect preferat ar fi
acela cnd agenii ar aciona asupra unor pri diferite ale resurselor.
Modelarea starii interne a altor ageni. Scopurile, aciunile i cunotinele altor
ageni pot fi necunoscute i de aceea au nevoie de modelare. Fr comunicaie, agenii
sunt forai s se modeleze unul pe altul numai prin observarea aciunilor. Utilizarea
RMM (Recursive Modeling Method) ofer posibilitatea de a modela starea intern a
unui agent astfel nct s i se poat prezice aciunile viitoare. n acest mod, agenii au
posibilitatea de a nva aciunile altor ageni. Chiar dac agenii omogeni cunosc
scopurile i structura altora, este posibil s nu tie i aciunile viitoare ale lor. Partea de
informaie lips este starea intern (pentru agenii deliberativi) i intrrile senzoriale
(pentru agenii reactivi).
Modul n care agenii pot interaciona. Atunci cnd comunicaia nu este
posibil, agenii pot afecta ali ageni prin una sau dou tipuri de sinergie.
Sinergia activ apare atunci cnd un agent modific mediul astfel nct s
afecteze intrrile senzoriale ale altor ageni. De exemplu un agent robot poate lsa
un semn n urma lui pentru ca alt agent s l observe.
Sinergia pasiv implic alterarea mediului, astfel nct s se modifice efectele
aciunii altor ageni. De exemplu, dac un agent oprete electro-valva principal de
alimentare cu ap a unei cldiri, atunci efectul aciunii altui agent care ncearc s
deschid electro-valva de alimentare cu ap a czii de baie, este anulat.
Modaliti de nvare. O modalitate de nvare care poate fi aplicat n
domenii cu ageni omogeni i necomunicativi este aceea de a-i nva pe ageni s
acioneze asupra altor ageni. Un agent poate fi nvat s execute anumite aciuni care
6

nu l ajut pe el direct, dar care permit altor ageni similari s fie mai eficieni n viitor.
3.2.2 Sisteme multiagent formate din ageni eterogeni necomunicativi.
Adaugnd posibilitatea de eterogenitate n domeniul sistemelor multiagent, se
obin sisteme cu un potenial mai ridicat. Agenii pot fi eterogeni n mai multe moduri:
ei pot avea scopuri, aciuni, cunotine diferite.
Ca i n cazul omogenitii, agenii sunt situai diferit n mediu si, astfel, ei au
intrri senzoriale diferite i deci pot avea scopuri, aciuni i/sau cunotine diferite.
Exist o multitudine de avantaje cauzate de existena eterogenitii.
Probleme i tehnici de rezolvare. Att timp ct agenii eterogeni necomunicativi pot
alege s fie complet omogeni, multe din problemele ce au aprut la agentii omogeni
necomunicativi pot fi prezente i aici. In plus, datorita eterogenitatii mai pot aparea
urmatoarele probleme:
Bunavoina vs. competitivitate. Una din cele mai importante probleme care
trebuie considerate la proiectarea unui sistem multiagent este dac agenii vor fi
binevoitori sau competitivi. Chiar dac ei au scopuri diferite, ei pot fi binevoitori i
doritori s ajute ali ageni sau pot fi egoiti, acionnd numai pentru a-i ndeplini
propriile scopuri. n partea opus se afl agenii care, n loc s i ndeplineasc scopul,
acioneaz opus altor ageni.
n unele situaii poate fi n interesul agentului s coopereze cu alt agent.
Ageni stabili vs. ageni care evolueaz. O alt caracteristic important este dac
agenii sunt stabili sau dac pot evolua. Agenii care evolueaz pot fi folositori n
medii dinamice.
Modelarea starii interne a altor ageni.. Si in acest caz, scopurile, aciunile i
cunotinele altor ageni pot fi necunoscute i de aceea au nevoie de modelare.
Astfel RMM este utila si pentru modelarea strii agenilor eterogeni. Un alt motiv
pentru care modelarea altor ageni este util este acela c uneori agenii depind unul
de altul pentru a-i ndeplini scopul. Pot exista aciuni care cer cooperare pentru o
execuie reuit.
Agenii pot nva i modele de echipe de ageni, dar cnd sunt implicate echipe de
ageni, situaia poate deveni mai complicat i este nevoie de modelarea rolului
fiecrui agent.
Managementul resurselor. Atunci cnd resursele folosite de ageni sunt limitate,
pot aprea probleme iar proiectanii de sisteme multiagent trebuie s decid cum vor
fi mprite aceste resurse ntre ageni.
3.2.3 Sisteme multiagent formate din ageni eterogeni necomunicativi.
SMA este mai puternic atunci cnd li se adaug agenilor i abilitatea de a
comunica unul cu altul, fcnd astfel posibil transformarea sistemului multiagent n
unul care este echivalent cu un sistem inteligent format dintr-un singur agent.
Un scenariu complet de sistem multiagent este prezentat n figura 4. n acest
scenariu gradul de eterogenitate al agenilor poate fi oricare (de la omogenitate pn la o
complet eterogenitate). Cheia este abilitatea agenilor de a transmite direct informaiile
unul altuia. Comunicrile pot fi de tip broadcast, astfel nct s poate fi interpretate de
oricine sau point to point adica au o int precis.
Comunicaia poate fi vzut si ca o parte a interaciunii dintre un agent i mediu.
7

Scopuri
Aciuni

Domeniu de cunotine

Scopuri
Aciuni
Domeniu de cunotine

Scopuri

Aciuni
Domeniu de cunotine

Figura 4. Un scenariu general de SMA de comunicare. Agenii pot fi eterogeni


pentru orice rang (eterogenitatea este reprezentata prin fonturi diferite). Informaia, in
acest caz, este transmis direct ntre ageni (indicat de sgei).
Probleme i tehnici de rezolvare.
Att timp ct agenii comunicativi eterogeni pot alege s fie necomunicativi sau
complet omogeni, multe din problemele ce au aprut la categoriile descrise mai sus pot
fi prezente i aici. Dar capacitatea de a comunica ridic un alt set de probleme pentru
care exist alte tehnici de rezolvare.
a) Posibilitatea agenilor de a se nelege unul pe altul. n toate sistemele multiagent
comunicative trebuie s existe un limbaj i un protocol care s fie utilizat de ageni
n momentul cnd interacioneaz.
b) Organizarea cilor (actelor) de comunicaie. Comunicatia poate fi considerata ca o
aciune care nu este diferit de alta. Cnd un agent transmite informaii unui alt
agent are un efect similar oricrei alte aciuni transmise. De aceea, agenii pot defini
condiii preliminare i efecte pentru actele comunicative.
c) Posibiliti de nvare. Exist multe posibiliti de a mbunti SMA utiliznd ML
(Machine Learning). O alternativ interesant ar fi aceea de a permite agenilor s
nvee singuri cum s comunice i cum s interpreteze.

Arhitecturi de Ageni Inteligeni

II

1. Tipuri, aciuni i comportament


Aciune i comportament. Aciunea poate fi vzut ca o transformare a strii
globale a sistemului (mediului). Iniial se consider mediul ca fiind stabil. Agentul
modific starea sistemului rezultnd o alt stare stabil. Reacia mediului la aciunea
unui agent implic o aciune care poate avea diferite rezultate.
Se consider c agentul este influenat de mediul n care se afl dar i exercit
influen asupra mediului.
Conduita agenilor este generat de diferenele ntre comportamentul dirijat ctre
scopuri explicite i comportamentul reflex, dirijat de percepii. Prin definiie, toi agenii
sunt ndemnai la aciune de tendinele lor. Tendinele pot proveni din mediul n care se
afl agenii, sau agenii le pot avea explicit exprimate. n primul caz, se poate vorbi de
comportament reflexiv, iar n cel de-al doilea de comportament predefinit.
Sistemul interacional - are la baz noiunea de percepie, definit ca
modalitatea prin care agentul preia informaii din mediu. Percepia i permite agentului
s elaboreze aciuni pentru a-i urmri elul.
Sistemul perceptiv poate fi:
pasiv - percepiile sunt ceea ce sesizeaz n mod direct agentul;
activ - percepiile sunt rezultatul construciilor care depind de scheme
perceptive anterioare, care sunt construite progresiv n decursul
interaciunilor agentului cu mediul, i/sau cu alti ageni.
Relaia ntre agent i mediul n care se afl pune problema de a ti dac agentul
dispune de o reprezentare simbolic explicit a mediului su, dac poate raiona plecnd
de la aceast reprezentare, sau dac aceast reprezentare se situeaz la nivel subsimbolic, adic este integrat n capacitile sale senzo-motorii. n primul caz, agenii
sunt cognitivi, n cel de-al doilea caz, ageni sunt reactivi.
Sistemul reprezentaional. n cadrul sistemelor multi-agent o problem
important este reprezentarea lumii din care face parte agentul i a cunotinelor pe care
le are acesta.
Cunotinele reprezint ansamblul de informaii (fapte, experiena, concepte)
necesare unui individ (sau unei maini) pentru a se organiza i a rezolva o sarcin sau o
problem considerat complex.
Pentru a putea fi utilizat de ctre sistemele informaice, cunoaterea este
memorat sub forma unor piese de cunoatere, care descriu: obiectele, faptele,
fenomenele, procesele i evenimentele din acea parte a lumii reale. Totalitatea pieselor
de cunoatere memorate alctuiesc un model al lumii, care este accesat prin intermediul
unor proceduri de organizare, clasificare, cutare, recunoatere.
Problema cunoaterii este legat de noiunile de conceptualizare i raionament.
n cadrul sistemului reprezentaional al agentului, este important de stabilit care sunt
conceptele apriori i care sunt conceptele construite de agent plecnd de la cele apriori.
9

Cunostintele conduc la elaborarea unui rationament.


Cunoaterea are loc prin interaciunea agentului cu mediul sau cu ali ageni.
Aceste interaciuni pot fi de natura unor confruntri, refuzuri, obieciuni, cooperri,
controverse. Rezultatele acestor cunotine sunt concepte, teorii i legi noi dup care se
ghideaz agentul n aciunile pe care le face.
Cunotinele pe care le are un agent nu le au toi ceilali ageni.
O regul cunoscut de un agent poate fi infirmat de alt regul cunoscut de alt
agent. Multimea regulilor unui agent formeaza micro-teoria unui agent. O micro-teorie
este o entitate particular, a crei aplicabilitate este local i dependent de acel context.
Reprezentarea cunotinelor poate fi vzut din urmtoarele puncte de vedere:
simbolico-cognitivist, conexionist, interacionist. n inteligena artificial distribuit, n
cele mai multe cazuri, agenii care sunt cognitivi, dispun de stri mentale i sunt
dezvoltai plecnd de la modele simbolico-cognitiviste. Celelalte dou metode sunt
aplicate n cazul agenilor reactivi, pentru care problemele strilor mentale se reduc la
selecia aciunii pertinente n raport cu percepiile locale ale agenilor. Ipoteza
simbolico-cognitivist consider c reprezentrile accesibile unui individ se exprim
sub forma de simboluri, care se refer direct la entiti ale mediului. Aceste simboluri
sunt unite prin intermediul unui limbaj intern, definit de o gramatic formal i de
operaiile care le pot fi aplicate. Un simbol este un element particular, care se refer la
ceva anume, adic la ceea ce reprezint el de fapt, i care se numete referentul su. De
exemplu, simbolul 2 se refer la al doilea element al numerelor naturale. n ipoteza
simbolico-cognitivist inteligena unui agent cognitiv este bazat pe simboluri.
Semantica reprezint capacitatea de a interpreta expresiile n raport cu ceea ce
se numete un model. O expresie nu poate fi evaluat ca fiind fals sau adevarat fr a
ti la ce sunt ataate simbolurile care compun expresia i mulimea unde acestea au
valori. Asocierea ntre simboluri i valori ale unui domeniu D este definit printr-o
funcie de interpretare.
2. Arhitectura general a unui agent inteligent.
Mediul de execuie al unui agent este caracterizat de o mulime de stri:
S= {s1, s2, s3......}.
n orice moment, mediul se gsete n una din aceste stri.
Capacitatea efectoric a agentului este reprezentat de o mulime de aciuni:
A={a1, a2,...}.
n aceste ipoteze, un agent poate fi vzut ca o funcie:
act: S*A,
care alege o aciune de executat n concordan cu starea mediului. Un agent modelat de
o astfel de funcie e un agent standard.
Un agent inteligent poate ns decide aciunea urmtoare i n funcie de strile
mediului pe care le-a traversat pn la un moment dat (de experiena" acumulat). Prin
urmare, i comportamentul mediului poate fi modelat printr-o funcie:
env: SA(S),
unde (S) semnific mulimea de mulimi care pot fi formate cu elementele lui S.
Valoarea funciei ntr-o anumit stare a mediului, adic rezultatul aciunii
agentului, reprezint o mulime de stri. Dac aceste mulimi au un singur element, ceea
ce nseamn c aciunea rezult ntr-o singur stare posibil a mediului, mediul este
determinist i comportamentul su poate fi anticipat. n caz contrar, mediul este
10

nedeterminist.
O interactiune oarecare h ntre agent i mediu:
a0
an
a1
a2
n 1
h : s0
s1
s2
....... a

sn
...
unde s0 reprezint starea iniial a mediului, si reprezint stri ale mediului si ai aciuni,
poate fi reprezentat ca istorie dac i numai dac:

Comportamentul caracteristic al unui agent n mediu este mulimea tuturor


istoriilor care satisfac proprietile menionate. Dac o anumit proprietate este
caracteristic tuturor acestor istorii, aceasta este o proprietate invariant a agentului n
mediul su. Mulimea istoriilor agentului ag n mediul med se noteaz hist(ag, med).
Doi ageni ag1 i ag2 au comportamente echivalente n raport cu un mediu,
(med), dac i numai dac:
hist(ag1, med) = hist(ag2, med)
Doi ageni ag1 i ag2 au comportamente echivalente dac i numai dac au
comportamente echivalente n raport cu toate mediile:
med, hist(ag1, med) = hist(ag2, med)
Agenii care, prin prisma autonomiei, nu nceteaz niciodat interaciunile cu
mediul au istorii infinite.
Luarea deciziilor de ctre un agent inteligent se bazeaz, pe aceast istorie a
interaciunilor cu mediul. Concret, acest lucru este modelat prin introducerea unor stri
interne. Dup observarea mediului, agentul i actualizeaz starea intern iar aciunea
urmtoare este selectat n funcie de aceast stare, dup care ntregul ciclu se reia.
Un agent este un sistem cibernetic care primete informaii din mediu i
acioneaz la rndul su asupra acestuia.
n cazul unui agent care acioneaz n lumea real (hardware), cum ar fi de
exemplu un robot, funcia de percepie poate fi implementat hard (o camer video sau
diveri ali senzori). Un agent software trebuie s dispun de mecanisme de examinare a
mediului direct, prin accesarea unei variabile sau a unei zone de memorie, sau indirect,
prin intermediului unor mesaje.
Funcia de percepie poate fi definit astfel:
see: SP
unde P este o mulime de elemente de percepie. n acest caz, funcia de aciune poate fi
redefinit astfel:
act: P*A
Procesul de luare a deciziilor de aciune n funcie de percepia mediului poate fi
reprezentat ca n figura 1:

Figura 1. Percepia i
aciunea unui agent.

Uneori este posibil ca dou stri distincte s1 i s2 s provoace acelai percept.


Dac pentru aceeai poziie a agentului, acelai obiect are n starea s 1 valoarea V1 iar n
starea s2 valoarea V2 si s1s2, ns see(s1)=see(s2) atunci din punctul de vedere al
11

agentului, strile s1 i s2 sunt indistinctibile.


Dac insa, pentru:
s1,s2 S: s1 s2, see(s1) see(s2),
agentul poate distinge toate strile mediului si se numeste omniscient.
La cealalt extrem, dac:
s1,s2 S: see(s1)=see(s2),
adic toate strile mediului provoac acelai percept, agentul nu are capacitate de
percepie. El nu poate distinge nici o stare; pentru el toate strile mediului sunt identice.
2.1 Arhitecturi logice. n cadrul SMA, care sunt formate din ageni cognitivi,
fiecare agent dispune de o baz de cunotine care cuprinde informaiile necesare
realizrii sarcinii sale i gestiunii interaciunilor cu ceilali ageni i cu mediul n care se
afl. Agenii sunt contieni, adic au scopuri i planuri explicite pentru a le realiza.
Abordarea tradiional n ceea ce privete construirea sistemelor artificiale
inteligente se refer la nzestrarea acestora cu reprezentri simbolice ale domeniului n
care acestea funcioneaz. Concretiznd, agenii ar trebui astfel s aib o descriere a
mediului la nivel de formule logice, iar rezultatul aciunilor ar corespunde unei deducii
logice.
Un sistem bazat pe ageni care ii ndeplineste obiectivele n forma unei
demonstraii de teoreme nu imparte o problema complexa in subprobleme pentru a fi
rezolvata cu uurin ci o executa intreaga.
Agenii bazai pe logic au strile interne organizate sub forma unei mulimi de
formule predicative de ordinul nti.
Fie L mulimea formulelor predicative de ordinul nti i D=(L) baza de date
format din multimea mulimilor de formule L. Starea intern a unui agent bazat pe
logic este un element al mulimii D. Luarea unei decizii este determinat de o
mulime de reguli de inferen, . Se noteaz cu faptul c formula poate fi
derivat din numai prin regulile de inferen .
Algoritmul urmtor prezint procesul decizional al unui agent bazat pe logic :
function act(: D): A
begin
foreach aA do
if Do(a) then return a
endif
endfor
return null
end

foreach aA do
if non (Do(a)) then return a
endif
endfor

Pe baza regulilor de inferen i a formulelor predicative, agentul ncearc s


determine aciunea urmtoare a pe care trebuie s o efectueze: Do(a). n prima bucl
for, agentul ncearc s deriveze o aciune posibil din starea intern A. Dac acest lucru
este posibil, funcia va returna aciunea respectiv i agentul o va selecta pentru
execuie. Dac nu reuete s gseasc aa ceva, agentul caut o aciune consistent cu
baza de cunotine i cu regulile de inferen, adic o aciune care nu este interzis n
mod explicit, astfel nct non(Do(a)) s nu poat fi derivat. n final, dac nici o aciune
corect nu poate fi gsit, se returneaz aciunea nul.

12

2.2 Arhitecturi reactive (reflexe)

Consideraii teoretice. Arhitecturile bazate pe logic sunt arhitecturi clare deoarece


comportamentul agenilor este definit explicit. ns complexitatea inerent a acestora
este un dezavantaj evident, mai ales n cazul mediilor complexe, dinamice. Apar, de
asemenea, i probleme de extensibilitate i robustee, iar atingerea scopurilor multiple
aflate n competiie este dificil. O abordare diferit este adus de arhitecturile reactive
sau reflexe.
Sistemele multi-agent constituite din ageni reactivi se bazeaz pe principiul c
nu este absolut necesar ca agenii s fie inteligeni individual deoarece sistemul are un
comportament global inteligent. Agenii acioneaz conform unui mecanism de reacie
la evenimentele externe, iar deciziile lor se bazeaz n ntregime pe starea prezent a
mediului, far nici o referire la trecut. Acest mecanism nu ine cont nici de explicitarea
scopurilor, nici de mecanisme de planificare.
Una dintre cele mai cunoscute arhitecturi pentru ageni reactivi este arhitectura
de subordonare. Exist dou caracteristici definitorii ale acestei arhitecturi. n primul
rnd, agentul ia deciziile prin intermediul unui set de module comportamentale. Fiecare
comportament poate fi gndit ca o funcie de aciune individual care, in mod continuu,
preia intrarea sesizat i, conform acesteia, genereaz o aciune. Modulele nu folosesc
reprezentarea simbolic. n cele mai multe implementri, aceste module sunt
implementate sub forma unor reguli de forma:
situaie aciune specific
n al doilea rnd, se consider c mai multe module comportamentale pot avea
dreptul de a fi active la un moment dat i de aceea trebuie s existe un mecanism de
selecie a unei aciuni unice pentru acel moment. O idee ar fi organizarea modulelor
ntr-o ierarhie de subordonare cu mai multe nivele. Nivelele inferioare au posibilitatea
de a inhiba activitatea nivelelor superioare deoarece au prioritate mai ridicat.
n arhitecturile reactive exist o strns legtur ntre funcia perceptiv i cea
acional - intrarea senzorial nu este transformat sau prelucrat foarte mult i nici nu
se ncearc transformarea percepiilor n reprezentri simbolice. Funcia de decizie act
se realizeaz printr-o mulime de comportamente posibile mpreun cu o relaie de
inhibiie ntre acestea. Un comportament este o relaie (c, a), unde cP este o
submulime de percepii numit condiie, iar aA este o aciune. Un comportament (c, a)
se va activa cnd mediul este n starea sS dac i numai dac funcia de percepie,
see(s) c.
Fie Beh mulimea tuturor astfel de reguli (behaviour"):
Beh={(c,a)|cP^ aA}, unde:
Beh: RR (c, a) (c, a) dac ((c, a), (c, a)) i (c, a) inhib (c, a)
Cu mulimea de reguli de comportament ale agentului RBeh este asociat o
relaie de inhibiie binar definit pe mulimea de comportamente: RxR, tranzitiv,
nereflexiv i antisimetric:
- b1, b2, b3 R, dac b1 b2 i b2 b3, atunci b1 b3,
astfel nct b b,
- b1, b2, b3 R, dac b1 b2 i b2 b1, atunci b1=b3,
13

Dac pentru dou comportamente b1 i b2 exist (b1,b2), se spune c b1


inhib pe b2" sau b1 are prioritate fa de b2" i se scrie b1b2.
Algoritmul de alegere a funciei de aciune este urmtorul :
function act(p: P): A
var fired: (R)
var selected: A
begin
fired = {(c, a)|(c, a) R and pc}
foreach (c,a) fired do
if (
endif
endfor
return null
end

(c, a) fired a.i. (c' , a') (c, a))


then return a

Se calculeaz mai nti toate comportamentele care se pot activa, i apoi pentru
fiecare comportament se determin dac exist un comportament cu prioritate mai mare.
Dac un astfel de comportament nu exist, se returneaz aciunea a corespunztoare
comportamentului. Dac nici un comportament nu se activeaz, se returneaz o aciune
nul (n momentul urmtor agentul nu va efectua nici o aciune).
Comparnd aceast abordare cu cea a agenilor bazai pe logic, din punct de
vedere al complexitaii, metoda este mai bun, asigurnd n cazul cel mai ru O(n2),
unde n este maximum dintre numrul de comportamente i numrul de elemente de
percepie.
Cteva din avantajele acestei arhitecturi sunt: simplicitate, robustee,
complexitate redus. Ea are drept model lumea real, evitnd n acest mod pstrarea
unui model intern al mediului. Dificultile care in de dinamica mediului sunt evitate
prin nlturarea oricror ncercri de predicie.
Dezavantajele sale sunt: agenii nu au un model al mediului si, astfel, ei trebuie
s aib suficient de multe informaii disponibile n mediul local pentru a determina
aciunea pe care s o urmeze; este dificil nzestrarea unor ageni reactivi cu abilitatea
de a nva i de a-i mbunti performanele n timp; deciziile sunt luate numai pe
baza informaiilor locale i de aceea sunt considerate ca fiind decizii pe termen scurt.
Unii cercettori au ncercat unificarea arhitecturilor raional i reactiv. n acest
caz, raionalitatea este dobndit prin utilizarea definiiilor pentru reducerea scopurilor
la o mulime de scopuri mai simple. Reactivitatea intervine prin folosirea
constrngerilor de integritate pentru simularea regulilor situaie-aciune i prin
formularea procedurilor de demonstrare a teoremelor n aa fel nct s poat fi
ntrerupte pentru efectuarea de observaii i executarea de aciuni.
2.3 Arhitecturi BDI-(Beliefs-Desires-Intentions)
n acest tip de arhitectur starea agentului este definit de trei caracteristici:
convingeri (beliefs"), dorine (desires") i intenii (intentions").
Modelul ncearc o adaptare n domeniul agenilor a filosofiei raionamentului
practic, care presupune mai nti stabilirea scopului i apoi evidenierea mijloacelor
disponibile pentru atingerea acelui scop. Pentru indeplinirea unui scop un agent BDI
trebuie sa parcurga urmatorii pasi:
14

sa-si stabileasca dorinele, adic mulimea scopurilor de atins.


s determine opiunile disponibile, n funcie de posibilitile de aciune.
sa aleaga o alternativa pe baza starii curente, adica sa isi stabileasca intentia.
trebuie s aiba convingerea c scopul poate fi atins. Dac agentul ar avea
convingerea c realizarea scopului este imposibil, urmrirea n continuare a
inteniei ar fi iraional.
5. inteniile trebuie s fie persistente. Dac agentul are motive s-i menin intenia,
acesta trebuie s fac un efort acceptabil pentru mplinirea acesteia.
6. inteniile nu trebuie s fie prea insistente. Dac devine clar c scopul nu poate fi
atins, agentul trebuie s poat renuna la intenie.
7. dac dispare motivul care st la baza unei intenii, aceasta trebuie abandonat.
8. pe timpul cat urmrete o anumit intenie, s nu se ncerce alte aciuni care ar putea
intra n conflict cu aceasta.
9. daca i-a ndeplinit intenia sau a decis c intenia nu poate fi ndeplinit, aceasta
este abandonat.
Pentru agenii cu aceast arhitectur este important s se realizeze un compromis
ntre situaiile n care ei trebuie s-i menin i s-i urmreasc inteniile curente, chiar
n urma unui eec, i situaiile n care trebuie s-i reanalizeze i eventual s-i
abandoneze inteniile. Un agent care nu se oprete niciodat s-i reconsidere aciunile
va continua execuia chiar i atunci cnd este clar c ncearc imposibilul. Un agent care
ncearc n permanen s-i evalueze scopurile i inteniile nu va avea suficient timp s
acioneze efectiv pentru ndeplinirea lor.
Analizand modul n care se comport agenii ndrznei i cei prudeni n medii
cu rata schimbrilor variabil s-a constatat c ei evolueaza diferit. Astfel, atunci cnd
rata schimbrilor era mic, agenii ndrznei au avut evoluii superioare, deoarece nu
pierdeau timpul reanalizndu-i mereu obiectivele, dar cnd rata schimbrilor era mare,
agenii prudeni se comportau mai bine, pentru c se puteau adapta modificrilor
frecvente. Concluzia este c n mediile statice sunt mai potrivii agenii cu un
comportament proactiv, orientat spre scop, n timp ce in mediile dinamice sunt mai
potrivii agenii cu un comportament reactiv, care s modifice permanent inteniile
curente n funcie de situaie.
Pentru a formaliza componentele unei arhitecturi BDI, fie Bel mulimea tuturor
convingerilor, Des mulimea tuturor dorinelor iar Int mulimea tuturor inteniilor
posibile. n general, aceste mulimi sunt compuse din formule logice de ordinul nti.
Starea unui agent BDI, la un moment dat, este o triplet (B, D, I), unde BBel, DDes
i IInt. n figura 2 se prezint schematic modul de selecie al unei aciuni.
1.
2.
3.
4.

Figura 2.
Diagrama unei
arhitecturi BDI.

Funcia de revizuire a convingerilor are rolul de a actualiza mulimea


convingerilor pe baza perceptelor i covingerilor curente:
belrev:(Bel)P(Bel)
15

Funcia de generare a opiunilor are rolul de a decide cum vor fi atinse


obiectivele:
optgen : (Bel) (Int)(Des)
Aceast funcie trebuie s recunosc oportunitile aprute n mediul de execuie
i s ofere agentului noi modaliti de a-i ndeplini inteniile sau posibilitatea de a
atinge obiective care nu puteau fi atinse anterior.
Procesul deliberativ al agentului este modelat de o funcie filtru, care
actualizeaz mulimea inteniilor pe baza inteniilor prealabile i a convingerilor i
dorinelor curente:
filter: (Bel)(Des)(Int)(Int)
Aceast funcie trebuie s asigure:
abandonarea inteniilor irealizabile sau pentru care costul de realizare
este mai mare dect beneficiul asociat cu ndeplinirea lor;
meninerea inteniilor nerealizate nc, dar despre care se presupune c
pot aduce un ctig;
adoptarea de noi intenii, pentru realizarea inteniilor existente sau pentru
exploatarea noilor circumstane favorabile aprute.
Filtrul nu poate introduce de la sine noi intenii. Acestea sunt ori intenii
anterioare, ori opiuni nou adoptate:
B(Bel), D(Des), I(Int), filter(B,D,I)ID
Funcia de execuie returneaz o intenie function act(p: P): A
begin
atomic executabil:
B = belrev(B, p)
exec: (Int) A
D = optgen (D, I)
Funcia de selecie a aciunii urmtoare este de forma:
I = filter(B, D, I)
act: P A
return
exec(I)
i rezult pe baza algoritmul urmtor :
end

n practic, reprezentarea inteniilor printr-o mulime nestructurat este prea


simplist. De aceea, se poate asocia fiecrei intenii o anumit prioritate, care s indice
importana sa relativ. De asemenea, inteniile pot fi implementate sub forma unei stive.
Cnd este adoptat o intenie, aceasta este introdus n stiv. Cnd este ndeplinit, este
extras din stiv. Inteniile mai concrete se vor gsi mai aproape de vrful stivei, iar cele
mai abstracte - n partea inferioar a acesteia.
Arhitectura BDI este un model intuitiv de simbolizare a procesului de decizie,
oferind i o descompunere funcional clar a problemei pe care trebuie s o rezolve
agentul.
2.4 Arhitecturi stratificate. Comportamentele de tip reactiv i proactiv de care
trebuie s dispun un agent inteligent, pot fi asigurate prin descompunerea tipurilor
amintite n subsisteme separate, care s propun aciuni specifice. Ideea care st la baza
acestui tip de arhitectur este existena mai multor straturi care interacioneaz, fiecare
cu un anumit caracter. n funcie de modul n care se realizeaz controlul i transmiterea
informaiilor, se pot deosebi dou mari categorii de arhitecturi stratificate:
Stratificare orizontal: Nivelurile software sunt fiecare direct conectate la intrri i
la ieiri cu senzorii i efectorii acionnd n paralel. Fiecare nivel acioneaz ca un
agent, prezentnd propriile sugestii n ceea ce privete urmtoarea aciune care
trebuie executat; Acestea ofer simplicitate, n sensul c existena unui nou nivel
nu implic modificri semnificative. Totui, deoarece nivelele pot aciona n acelai
timp este posibil ca agentul s aib un comportament inconsistent. Pentru a asigura
consistena trebuie inclus un mediator care are rolul de a decide cine are controlul
16

asupra agentului la un anumit moment. Aceasta implica faptul c toate interaciunile


posibile trebuiesc considerate.
Stratificare vertical: Senzorii i efectorii sunt administrai de cel mult un nivel
fiecare. n arhitecturile verticale, controlul se propag de la un nivel la altul.
Avantajul principal al stratificrii orizontale este simplitatea conceptual: dac
un agent trebuie s manifeste n tipuri de comportament, atunci vor fi implementate n
straturi (figura 3).

Figura 3.
Stratificare
orizontal.

Totui, deoarece straturile concureaz pentru generarea de sugestii privind


aciunile, trebuie asigurat coerena comportamental pe ansamblu. De regul, se
introduce o funcie de mediere, care decide ce strat deine controlul la un moment dat.
ns proiectarea acestei funcii poate fi foarte dificil - pentru n straturi care pot propune
fiecare m aciuni, funcia trebuie s fie capabil s trateze mn variante posibile.
Aceste probleme sunt atenuate ntr-o stratificare vertical (figura 4). Acest tip de
arhitectur poate fi divizat n dou subcategorii, din punctul de vedere al modului de
control:
Control cu trecere simpl: controlul parcurge secvenial nivelele, pn cnd ultimul
nivel genereaz o aciune;
Control cu trecere dubl: primul pas const n trimiterea informaiilor spre nivelele
superioare, iar al doilea pas reprezint trimiterea deciziei de aciune napoi spre
straturile inferioare. Acest tip de control se aseamn cu procesul lurii deciziilor
ntr-o organizaie cu o ierarhie bine definit.

Figura 4. Stratificare vertical.


n ambele cazuri, complexitatea interaciunilor dintre straturi este mai redus n
comparaie cu arhitecturile stratificate orizontal. Dac fiecare strat poate sugera m
aciuni i exist n-1 interfee ntre cele n nivele, numrul maxim posibil de interaciuni
este m2(n-1). Dezavantajul acestei abordri const n reducerea flexibilitii informaiile i deciziile trebuie s parcurg toate straturile. O eroare la un anumit nivel
se va propaga, afectnd performanele agentului.
17

Comunicaia ntre ageni

III

Agenii pot comunica pentru a-i realiza scopurile proprii sau pentru a realiza
scopurile comune. Comunicaia permite agenilor s-i coordoneze aciunile i
comportamentul ceea ce face ca sistemul multi-agent s fie mai coerent. Agenii
comunica prin mesaje. Ei pot trimite i recepiona mesaje folosind reeaua de
comunicaie. Mesajele pot fi: afirmaii i interogri. Pentru stabilirea si asigurarea
comunicarii intre agenti se folosesc protocoale de comunicatie. Exist protocoale
binare i protocoale n-are. Protocoalele binare presupun comunicaia ntre doi ageni,
iar cele n-are implic un agent care transmite informaie i mai muli ageni care
recepioneaz informaia.
Efectul comunicaiei ntre ageni asupra opiniilor acestora. Agenii detin
permanent informaii despre starea mediului. Cand mediul evolueaz i starea se
modific agenii trebuie s-i revizuiasc cunotinele pe care le au dac anumite fapte
sunt modificate. n urma revizuirii opiniilor, se formeaz alte opinii. Agentul face
observaii asupra mediului n care evolueaz atat prin interaciunile sale cu acesta cat i
prin interaciunile sale cu ali ageni. Pentru rezolvarea anumitor surse de incertitudine,
agenii i comunic ipotezele pe care le-au formulat plecnd de la cunotinele pe care
le au i eventual probele care susin aceste ipoteze.
Interaciunea ntre ageni - reprezint stabilirea unei relaii dinamice ntre
doi sau mai muli ageni, prin intermediul unor aciuni reciproce, n acelai timp.
Situaiile n care agenii interacioneaz sunt: ajutor reciproc, schimb de date, punerea n
comun de cunotine pentru rezolvarea unei probleme, repartiia sarcinilor pe mai multe
procesoare. Interaciunea este o component de baz a unei organizaii.
Surse ale interaciunii pot fi:
Scopuri compatibile/incompatibile (n cazul agenilor cognitivi);
Relaii asupra resurselor.
Resursele reprezint toate elementele din mediu i materialele utile necesare
pentru realizarea unei activiti (cunotine, capabilitati, informaii, experien, etc).
Folosirea resurselor din sistem poate genera conflicte daca mai muli ageni au nevoie
de aceleai resurse n acelai timp i cu aceleai drepturi. Pentru evitarea conflictelor au
fost dezvoltate o serie te tehnici, printre care:
ordonarea prioritilor;
tehnici de negociere intre agenti;
Clasificarea interaciunilor se face innd cont de sursele principale ale
interaciunii, si acestea pot fi:
interaciunile sunt date de alocarea sarcinilor i partajarea
simpla colaborare
cunotinelor;
agenii se tachineaz ntre ei n rezolvarea sarcinilor
ntreptrundere
date;
colaborare coordonat se realizeaz coordonarea aciunilor pentru realizarea
sarcinilor i alocrii resurselor;
18

agenii au scopuri incompatibile i negociaz pentru


realizarea lor (competiie n care au aceleai resurse i
sunt situai n pozitii identice);
se realizeaz o grupare pentru satisfacerea scopurilor.
competiie colectiv
Capacitile agenilor n raport cu sarcinile reprezint competenele agenilor.
Situaii de interaciune ntre ageni. Prima situatie ar fi rezolvarea n mod
distribuit a unor probleme complexe n care ageni cooperani sunt organizai pentru a
lucra mpreun. Aceasta situatie se numeste cooperare. Datorit faptului c resursele
sunt distribuite ntre ageni, un agent ntr-un sistem distribuit nu este capabil sa rezolve
problema de unul singur. n astfel de cazuri, cele mai importante aspecte includ gsirea
unei soluii pentru: determinarea scopurilor, determinarea task-urilor comune, evitarea
conflictelor, interogarea pentru a obine noi cunostine i probe.
A doua situatie se refera la luarea unor decizii n mod distribuit n care sunt
folosii ageni ce pot fi necooperani sau pot avea scopuri diferite. Aceasta situatie se
numeste competiie. n acest caz, fiecare agent ncearc s i maximizeze profitul
propriu. Daca agentii sunt cooperanti dar au scopuri diferite, prin nteraciunea dintre ei,
se poate ajunge la o decizie acceptat de toi.
Protocoale de comunicatie ntre ageni - descriu mecanismele prin care
agenii schimb o serie de mesaje.
Cele mai importante protocoalele de comunicaie folosite in SMA sunt:
KQML (Knowledge Query and Manipulation Language) dezvoltat ca protocol
pentru schimbul de cunotine ntre ageni.
COOL (COOrdination Language) a fost dezvoltat pentru coordonare (aciunile
agenilor sunt interdependente i pentru atingerea unui scop comun acestea trebuie
coordonate).
Protocoalele de comunicaie constituie nivelul cel mai de baz, necesar ntr-un
sistem multi-agent.
Pentru reprezentarea cunotinelor n mediile multi-agent s-a dezvoltat limbajul
KIF (Knowledge Interchange Format). n afar de limbajul KIF, care poate fi folosit
ntr-un mesaj KQML, pot fi folosite i limbajele PROLOG, LISP, SQL sau orice alte
limbaje de comunicaie ntre ageni.
n cazul n care agenii au scopuri care sunt n conflict sau n cazul n care
agenii sunt necooperani obiectivul protocolului este de a maximiza rsplata agenilor.
n cazul n care agenii au scopuri similare sau probleme comune, obiectivul
protocolului este de a menine performana coerent global a agenilor fr a viola
autonomia lor.
Coordonarea n sistemele multi-agen - este o proprietate a sistemului multiagent. Gradul de coordonare este dat de gradul n care se pot evita activiti nedorite
prin reducerea utilizrii acelorai resurse, evitarea deadlock-urilor i meninerea unor
condiii de siguran. Coordonarea n sistemele multi-agent este necesar din
urmtoarele motive:
Prevenirea haosului. Nici unul dintre ageni nu are o vedere global
asupra ntregului grup din care face parte;
Existena constrngerilor globale;
Agenii posed diferite capaciti i posibiliti de expertiz;
Aciunile pe care le execut agenii sunt adesea interdependente.
competiie individual

19

Interaciune

conflicte

Interaciuni
suplimentare

rezolvare conflicte

generare conflicte

Coordonare

Cooperare

Competiie

Planificare

Negociere

Planificare
distribuit

Planificare
centralizat

Figura 1. Clasificarea modurilor de coordonare ntre ageni.


Cooperarea reprezint coordonarea ntre agenii care nu se afl n competiie,
iar competiia reprezint coordonarea ntre agenii care sunt necooperani sau au scopuri
diferite (figura 1). Pentru a exista o coordonare, agenii trebuie s menin modelul
celorlali ageni i, de asemenea, s dezvolte un model pentru interaciuni viitoare.
Coerena reprezint gradul n care sistemul se comport ca un tot unitar. Una din
problemele sistemelor multi-agent este meninerea coerenei globale fr a exista un
control global explicit.
Funciunile cooperrii sunt: ameliorarea supravieuirii individului sau a
grupului; creterea performanelor; rezolvarea conflictelor.
Protocolul reea contractual - este un protocol de coordonare ntre ageni
folosit pentru rezolvarea n mod distribuit i cooperant a problemelor. Acest protocol
este considerat ca fiind o form de negociere i a fost la nceput folosit pentru partajarea
sarcinilor. El furnizeaz soluia pentru determinarea agentului corespunztor care sa
indeplineasca un anumit task. Agentul care dorete a avea task-ul rezolvat este denumit
manager, iar agentul care poate executa task-ul este denumit contractor. Aceste roluri
nu sunt dinainte stabilite, ci un agent care este ntr-o etap manager poate fi contractor
n alt etap. Flexibilitatea face posibil descompunerea n continuare a task-urilor i un
contractor pentru un anume task poate aciona ca manager, solicitnd ali ageni pentru a
executa pri din task.
Din perspectiva managerului, protocolul const n urmtoarele etape:
Anun un task care trebuie executat;
Primete i evalueaz oferte de la poteniali contractori;
Acord contractul contractorului care corespunde cel mai bine;
Primete i sintetizeaz rezultate.
Din perspectiva contractorului, protocolul const din urmtoarele etape:
Primete anunuri de task-uri;
Evalueaz capacitatea proprie de a executa task-urile anunate;
Rspunde, primind sau rejectnd task-urile acordate;
Execut task-ul dac oferta a fost acceptat;
Raporteaz rezultatele.
Au fost dezvoltate variante ale protocolului iniial reea contractual, care
20

conduc la unele rezultate mbuntite sau fac posibil utilizarea sa pentru ageni
necooperani.
Metode de partajare a task-urilor. O strategie importanta in cooperarea
dintre agenti este descompunerea i apoi distribuirea task-urilor. Scopul acestei strategii
este de a reduce complexitatea task-urilor, astfel incat agenii sa aiba nevoie de mai
puine resurse i de capabiliti mai reduse.
Descompunerea task-urilor - poate fi fcut spaial, conform organizrii i
siturii surselor de informaii i a punctelor de decizie, sau funcional, conform
capabilitilor agenilor disponibili.
La analizarea task-urilor este necesar a fi luate n consideraie i constrngeri
cum ar fi: controlul, datele sau resursele.
Distribuirea task-urilor - se poate face dup urmtoarele criterii:
evitarea suprancrcrii resurselor critice;
task-urile sunt atribuite agenilor care au capabilitile necesare
execuiei lor;
agenii care au capabiliti speciale pot avea sarcina de a atribui taskurile altor ageni;
atribuirea de responsabiliti care se suprapun agenilor pentru a
asigura coeren;
atribuirea de task-uri strns dependente agenilor care sunt n
vecintate spaial sau semantic;
task-urile care au prioritate sau urgen ridicat pot fi reasignate.
Mecanisme utilizate pentru distribuirea task-urilor:
o mecanisme de pia: task-urile sunt atribuite agenilor printr-un
proces de selecie mutual sau acord global;
o negociere: task-urile sunt atribuite agenilor printr-un proces de acord
ntre agenii interesai;
o structur organizaional: agenii au responsabiliti bine
determinate de rezolvare a unor anumite task-uri;
o planificare multi-agent: agenii de planificare au responsabilitatea
atribuirii task-urilor;
o blackboard: mecanism de rezolvare a problemelor n care agenii din
sistem i expun cunotinele individuale asupra unei probleme
pentru a fi considerate n gsirea unei soluii.
Criterii de evaluare. Aceste criterii se aplic ndeosebi n cazurile n care
decizia trebuie luat ntr-un sistem n care agenii sunt interesai sau necooperani.
Mecanismele pot fi evaluate conform mai multor criterii, cum ar fi:
Bunstarea social reprezint suma tuturor utilitilor agenilor pentru o soluie dat.
Acest criteriu poate fi utilizat pentru a compara diferite mecanisme comparnd
soluiile oferite de acele mecanisme.
Eficien Pareto. i acest criteriu poate fi utilizat pentru a compara diferite
mecanisme, comparnd soluiile oferite de acele mecanisme. O soluie x este
eficient Pareto dac nu exist nici o alt soluie x, astfel nct cel puin un agent
este mai satisfcut n x dect n x.
Raionalitate individual. Participarea ntr-o negociere este individual raional (IR)
pentru un agent dac rsplata agentului n urma participrii nu este mai mic dect
dac nu ar fi participat. Un mecanism este IR dac este IR pentru toi agenii.
21

Stabilitate. Uneori mecanismele au o strategie dominant. Aceasta nseamn c un


agent este favorizat dac folosete o strategie specific, indiferent de strategiile
celorlali ageni. n sistemele n care o strategie dominant nu exist, criteriul de
stabilitate este echilibrul Nash (EN). n EN, fiecare agent alege o strategie care
este considerat a fi cel mai bun rspuns la strategiile celorlali ageni.
Luarea deciziei in sistemele multiagent. Sistemele multi-agent pot fi vzute
ca o colecie de funcionaliti care sunt realizate prin intermediul cunotinelor despre
anumite tipuri de probleme, dar i despre mediul n care opereaz agentul. Prin aceasta,
agentul poate interaciona la o schimbare a mediului, dar poate i interaciona cu ali
ageni n cutarea unei soluii pentru problemele sale. n astfel de situaii este nevoie de
coordonare ntre ageni. Coordonarea ntre ageni se poate realiza n mod centralizat, n
care este desemnat un agent coordonator, responsabil pentru detectarea
interdependenelor ntre agenii locali la diferite grade de abstractizare. n metoda
descentralizat, agenii sunt nzestrai cu inteligena necesar pentru a descoperi
inconsistenele ntre aciunile pe care le execut i comunic prin mesaje pentru a-i
adapta deciziile locale, astfel nct s se ajung la un plan sau la un set de planuri de
control local consistente. n aceasta metoda sistemele sunt mai uor de construit
deoarece este necesar ca modelul s fie definit exact numai la nivel local.
Luarea deciziei n mod distribuit. Diferite mecanisme pot fi folosite pentru
luarea deciziilor printr-o metod descentralizat, n cazul rezolvrii problemelor ntr-un
mediu multi-agent. Mecanisme de coordonare ntre ageni pot fi:
Mecanismul de votare este mecanismul prin care agenii i expun convingerile i
inteniile asupra unei probleme, prin acordarea unui vot, iar soluia este
aleas pe baza voturilor tuturor agenilor.
Mecanismul de licitaie este mecanismul prin care se ajunge la un acord ntre un
agent care ofer un serviciu i ali ageni care cer acel serviciu iar fiecare
dorete obinerea unui acord ct mai profitabil pentru el.
Mecanismul de pia este caracterizat de faptul c agenii coopereaz pentru a
ajunge la un echilibru n cadrul sistemului ntre agenii care produc i cei
care consum diferite servicii.
Mecanismul de negociere este un mecanism prin care se ajunge la o decizie comun
ntre doi sau mai muli ageni, fiecare ncercnd satisfacerea unui scop
sau obiectiv individual.
Formarea de coaliii este mecanismul prin care agenii negociaz formarea unor
organizaii sau grupri pe baza scopurilor pe care le au, scopuri care pot
fi mai bine satisfcute prin existena coaliiei.
Mecanismul de votare. n mecanismul de votare toi agenii i exprim
alegerea, iar soluia gsit este determinat de alegerile fcute de agenii din sistem.
Scopul general este de a gsi o regul de alegere social (global) care ordoneaz
soluiile n funcie de ordinea aleas de fiecare dintre ageni.
Protocolul folosit poate fi un protocol binar sau n-ar. n cazul protocolului binar
alternativele sunt comparate dou cte dou, alternativa mai slab este nlturat, iar cea
ctigtoare este n continuare comparat ca alt alternativ. n cazul protocolului binar,
ordinea n care sunt comparate perechile poate influena rezultatul final. La protocolul
n-ar toate alternativele sunt comparate simultan i cea care are cele mai multe voturi
este cea aleas. n cele mai multe cazuri, agenii declar preferinele lor i pot fi sinceri
sau nesinceri n declararea preferinelor.
22

Mecanismul de licitaie. Mecanismul de licitaie este ntlnit n cazurile n care


licitatorul dorete s vnd ceva i s obin cel mai mare pre posibil, iar mai muli
ageni doresc s cumpere la cel mai mic pre posibil. Spre deosebire de mecanismul de
votare n care profitul este pentru toi agenii, n mecanismul de licitaie profitul se
decide ntre doi ageni: licitatorul i ofertantul.
In funcie de felul n care agentul determin valoarea obiectului pe care l vinde
exista 3 tipuri de forme de licitatie:
licitaie cu valoare privat, n care valoarea depinde numai de preferinele agentului;
licitaie cu valoare comun, n care valoarea depinde total numai de evaluarea dat
de ali ageni;
licitaie cu valoare corelat, n care valoarea depinde parial de preferina agentului
i parial de evaluarea dat de ceilali.
In funcie de tipul de licitatie avem:
Licitaie de tip prim-pre ateptare deschis n care fiecare ofertant poate depune
oferta, iar licitaia se nchide cnd nu mai exist ali ofertani. Licitaia este ctigat
de ofertantul care a oferit cel mai bun pre.
Licitaie de tip prim-pre ofert necunoscut n care fiecare ofertant depune oferta
fr a cunoate oferta celorlali. Licitaia este ctigat de ofertantul care a oferit cel
mai bun pre.
Licitaie descresctoare n care licitatorul scade preul continuu pn cnd un agent
devine ofertant la preul curent.
Licitaie de tip pre secundar ofert necunoscut (licitaie Vickrey), n care fiecare
ofertant depune o ofert fr a cunoate ofertele celorlali. Licitaia este ctigat de
ofertantul care a oferit cel mai bun pre, dar preul este al urmtoarei oferte celei mai
bune. Toate cele patru metode sunt Pareto eficiente, selectnd ofertantul care a oferit
cel mai bun pre.
Mecanismul de pia. Mecanismul de pia este ndeosebi utilizat n cazurile
n care este necesar coordonarea ntr-un sistem cu un numr necunoscut de ageni, fiind
o metod pentru alocarea de resurse sau bunuri ntre ageni.
Motivaia folosirii mecanismelor de pia este c agenii pot determina o soluie
comun eficient, care ia n considerare tranzacii ntre ageni i faptul c valoarea,
pentru un agent, a diferitelor servicii poate fi interdependent, iar soluia poate fi
determinat fr a centraliza informaiile sau controlul. Mecanismele de pia cu
echilibru general presupun c agenii sunt competitivi, de aceea agenii pot aciona n
mod strategic i pot supraestima sau subestima anumite servicii sau bunuri pentru care
negociaz.
Mecanismul de negociere. Negocierea este o form de coordonare frecvent
ntlnit n sistemele multi-agent. Agenii mai nti i comunic poziiile, care pot fi n
conflict, dar ncearc s ajung la un acord fcnd concesii sau cutnd alternative.
Principalele caracteristici ale negocierii sunt: limbajul utilizat de agenii care particip la
negociere; protocolul folosit de ageni n negociere; procesul de decizie pe care l
urmrete fiecare agent pentru a-i determina poziiile, concesiile i criteriile pentru
acord. Au fost dezvoltate diferite tehnici de negociere. Tehnicile pot fi: centrate pe
mediu sau centrate pe agent.

23

Interaciunea, comunicaia, coordonarea i


alocarea task-urilor in SMA

1. Interaciunea in SMA.
1.1. Interaciunea agent-mediu - are la baz noiunea de percepie, definit ca
modalitatea prin care agentul preia informaii din mediu sau de la ali ageni.
Sistemul perceptiv poate fi:
pasiv - percepiile sunt ceea ce sesizeaz n mod direct agentul;
activ - percepiile sunt rezultatul construciilor care depind de scheme
perceptive anterioare, care sunt construite progresiv n decursul
interaciunilor agentului cu mediul, i/sau cu ali ageni.
Relaia ntre agent i mediul n care se afl pune problema de a ti dac agentul
dispune de o reprezentare simbolic explicit a mediului su, sau dac aceast
reprezentare se situeaz la nivel sub-simbolic, adic este integrat n capacitile sale
senzo-motorii. n primul caz, agenii sunt cognitivi, n cel de-al doilea caz, ageni sunt
reactivi.
1.2 Interaciunea ntre ageni. Interaciunea reprezint stabilirea unei relaii
dinamice ntre doi sau mai muli ageni, prin intermediul unor aciuni reciproce si
simultane. Situaiile n care agenii interacioneaz sunt: ajutor reciproc, schimb de date,
punerea n comun de cunotine pentru rezolvarea unei probleme, etc.
Interaciunea poate fi de doua tipuri:
prin comunicare;
prin modelarea strilor interne/intrrilor senzoriale ale altor ageni.
Surse ale interaciunii pot fi:
Scopuri compatibile/incompatibile (n cazul agenilor cognitivi);
Relaii asupra resurselor.
Folosirea resurselor din sistem poate genera conflicte daca mai muli ageni au
nevoie de aceleai resurse n acelai timp i cu aceleai drepturi. Pentru evitarea
conflictelor au fost dezvoltate o serie de tehnici, printre care:
ordonarea prioritilor;
tehnici de negociere intre ageni;
Principalele situaii de interaciune ntre agenii comunicativi sunt:
1. Rezolvarea n mod distribuit a unor probleme complexe n care ageni
cooperani sunt organizai pentru a lucra mpreun. Aceasta situaie se numete
cooperare; toi agenii au acelai scop. Datorit faptului c resursele sunt distribuite
ntre ageni, un agent nu este capabil sa-si rezolve ntotdeauna problema de unul singur
si astfel el trebuie sa coopereze.
Cooperarea poate fi :
simpla agenii interacioneaz doar pentru alocarea sarcinilor, resurselor i
partajarea cunotinelor, necesare ndeplinirii scopului individual;

24

coordonata - se realizeaz att o interaciune intre ageni pentru alocarea resurselor,


sarcinilor si partajarea cunotinelor cat si o coordonare a aciunilor pentru
ndeplinirea in comun a scopului propus;
2. Luarea unor decizii n mod distribuit n care sunt folosii ageni ce pot fi
necooperani sau pot avea scopuri diferite. Aceasta situaie se numete competiie. n
acest caz, fiecare agent ncearc s i maximizeze profitul propriu. Daca agenii sunt
cooperani dar au scopuri diferite, prin interaciunea dintre ei, se poate ajunge la o
decizie acceptat de toi. Competiia poate fi:
competiie individual - agenii au scopuri incompatibile i negociaz
pentru realizarea lor;
competiie colectiv - se realizeaz o grupare a agenilor pentru
satisfacerea in comun a scopurilor.
3. O cale intermediara de interaciune este cea de ntreptrundere in care agenii
se tachineaz ntre ei n rezolvarea sarcinilor date.
2. Comunicaia ntre ageni. Agenii pot comunica pentru a-i realiza scopurile
proprii sau pentru a realiza scopurile comune. Comunicaia permite agenilor s-i
coordoneze aciunile i comportamentul.
Agenii pot comunica prin intermediul mesajelor transmise direct de la un agent
la altul sau prin intermediul unei memorii comune (sisteme blackboard). Comunicaiile
pot fi categorizate dup nivelul de abstraciune al coninutului: de nivel nalt sau sczut.
Mesajele pot fi trimise i recepionate folosind o reea de comunicaie. Mesajele
pot fi: afirmaii i interogri.
Pentru stabilirea si asigurarea comunicrii intre ageni se folosesc protocoale de
comunicaie. Exist protocoale binare i protocoale n-are. Protocoalele binare presupun
comunicaia ntre doi ageni, iar cele n-are implic un agent care transmite informaie i
mai muli ageni care recepioneaz informaia.
Se spune c agenii i iau un angajament (commitment"). Se deosebete trei
tipuri de angajament: intern, cnd un agent hotrte el nsui s fac ceva, social, cnd
se angajeaz fa de alt agent i colectiv, cnd consimte la ndeplinirea unui anumit rol.
3. Coordonarea activitilor in SMA
3.1 Tipuri de coordonare intre ageni.
Coordonarea centralizata - este cea mai simpla coordonare si se realizeaz cu
ajutorul un agent de nivel superior care are o perspectiv mai larg asupra sistemului
numit agent coordonator. Aceasta const in realizarea unei arhitecturi de tip
master/slave (ierarhica) sau client/server (organizaionala).
Coordonarea descentralizata - agenii sunt nzestrai cu inteligena necesar
pentru a lua decizii la nivel local. n aceasta metoda sistemele sunt mai uor de
construit deoarece este necesar ca modelul s fie definit exact numai la nivel local.
3.2 Mecanismele folosite la coordonarea descentralizat.
1. Mecanismul de licitaie este mecanismul prin care se ajunge la un acord ntre un
agent care ofer un serviciu i ali ageni care cer acel serviciu iar fiecare dorete
obinerea unui acord ct mai profitabil pentru el.
2. Mecanismul de votare este mecanismul prin care agenii i expun convingerile i
inteniile asupra unei probleme, prin acordarea unui vot, iar soluia este aleas pe
baza voturilor tuturor agenilor.
3. Mecanismul de negociere este un mecanism prin care se ajunge la o decizie
comun ntre doi sau mai muli ageni, fiecare ncercnd satisfacerea unui scop sau
obiectiv individual.
25

4. Mecanismul de pia este caracterizat de faptul c agenii coopereaz pentru a


ajunge la un echilibru n cadrul sistemului ntre agenii care produc i cei care
consum diferite servicii.
6. Formarea de coaliii este mecanismul prin care agenii negociaz formarea unor
organizaii sau grupri pe baza scopurilor pe care le au, scopuri care pot fi mai bine
satisfcute prin existena coaliiei.
4. Descompunerea si alocarea task-urilor n SMA
4.1 Descompunerea task-urilor. O problema complexa ce necesita multe
resurse si putere de calcul pentru rezolvare trebuie descompusa in probleme mai simple
si apoi distribuite agenilor spre a fi rezolvate. Pentru a diminua coordonarea este
necesar ca subtask-urile astfel obinute sa fie independente unele de altele.
Descompunerea task-urilor poate fi fcut :
spaial, conform siturii surselor de informaii i a punctelor de decizie;
funcional, conform capabilitilor agenilor disponibili.
4.2 Alocarea task-urilor. La alocarea task-urilor se tine cont, in primul rnd, de
posibilitile agentului cruia i se atribuie acel task.
Moduri de alocare a task-urilor: Modul de alocare centraliza. Se prezint
dou cazuri:
structura ierarhic, superiorul va cere unui subordonat s-i execute taskul. Acest mod de alocare este ntlnit doar n organizaiile fixe;
structura egalitar, repartiia are loc prin definirea agenilor mediatori,
care centralizeaz cererile i ofertele i pune n coresponden clienii si
furnizorii de servicii. Acest mod de alocare poate fi folosit si in
organizaiile variabile;
Modul de alocare distribuit. Fiecare agent se ocup individual de obinerea de
la furnizori a serviciilor necesare. Aceste moduri nu se aplic dect organizaiilor
variabile. Se disting dou mecanisme de alocare distribuit n organizrile predefinite:
modul alocrii prin reeaua de legturi;
modul alocrii prin reea contractual.
Criterii de alocare a task-urilor:
task-urile sunt atribuite agenilor in funcie de capabilitatile lor;
se aloc activitile agenilor astfel nct s minimizeze comunicaia inter-agent i
s maximizeze coeziunea agentului;
atribuirea acelorai task-uri mai multor ageni pentru a asigura coeren;
atribuirea de task-uri strns dependente agenilor care sunt n vecintate;
task-urile care au prioritate se atribuie conform prioritatii lor.
evitarea suprancrcrii agenilor;
alocarea activitilor pentru ageni trebuie fcut astfel nct s permit operatorului
s identifice centrele i nivelele de decizie;
Mecanisme utilizate pentru distribuirea task-urilor:
negociere: task-urile sunt atribuite agenilor printr-un proces de acord ntre agenii
interesai;
mecanisme de pia: task-urile sunt atribuite agenilor printr-un proces de selecie
mutual sau acord global;
structur organizaional: agenii au responsabiliti bine determinate de rezolvare
a unor anumite task-uri;
26

Cooperarea i competiia n SMA

IV

1. Cooperarea n sistemele multi-agent.


Situaiile n care se impune o cooperare ntre ageni sunt:
un agent cere ajutorul altui agent;
la un agent sosesc rezultate referitoare la o informaie de la diferii ageni;
un agent nu obine o informaie pe care o cere de la alt agent, in acest caz,
coordonatorul trebuie s gseasc un alt plan de rezolvare pentru acel task.
n funcie de primele doua situaii cooperarea se poate face prin partajarea de
task-uri i partajarea de rezultate.
Partajarea task-urilor este un tip de cooperare n care nodurile locale se bazeaz pe
partajarea posibilitilor de calcul n execuia subtask-urilor problemei globale.
Partajarea rezultatelor este un mecanism de cooperare prin intermediul cruia,
rezultatele produse de un nod sunt trimise voluntar ctre alte noduri care pot
beneficia de ele dei nu au fost cerute anterior.

Cooperarea de tip partajare de task-uri. se verific atunci cnd un agent


detecteaz c nu are informaie suficient pentru a executa un anumit task. Agentul
trebuie deci, s stabileasc relaii de colaborare cu ali ageni. Astfel, agentul va verifica
ntre agenii cunoscui de el dac exist ageni capabili s l ajute. Dac exist unul sau
mai muli ageni care pot s-i ofere ajutor, primul pas este de a intra n cooperare cu ei.
Un agent poate iniia o cooperare de tip partajare de task-uri, fie n calitate de
organizator, fie n calitate de colaborator.
Ca organizator: un agent iniiaz o cooperare de tip partajare de task-uri atunci
cnd, la descompunerea unui task, unul sau mai multe subtask-uri nu pot fi
executate local, sau dac anumite date de intrare pentru acel task nu pot fi obinute
local.
Ca colaborator: un agent poate primi un mesaj de anun al unui task i i rspunde,
sau poate primi o cerere de execuie a unui task i ncearc s execute acel task.
n cazul n care exist mai mult dect un colaborator, agentul organizator anun
n primul rnd task-ul i apoi evalueaz propunerile de execuie a lui, pe baza crora
selecioneaz unul dintre agenii colaboratori care va ndeplinii cererea de execuie a
task-ului. Obiectivul cooperrii este ncrcarea i responsabilizarea unuia sau mai
multor colaboratori pentru executarea unui task dat, venind astfel n ajutorul
colaboratorului.
Cooperare de tip partajare de rezultate. se verific atunci cnd un agent
dispune de un anumit tip de informaie si caut ntre agenii cunoscui dac exist unul
sau mai muli ageni interesai n acest tip de informaie. Dac exist ageni interesai,
aceast informaie le este transmis voluntar.
Cooperarea de tip partajare de rezultate poate fi iniiat de ctre un agent n dou
situaii:
27

agent ofertant voluntar de informaie: agentul va verifica dac ali ageni pot
beneficia de acest rezultat. Dac da, atunci acest rezultat va fi expediat ctre acetia.
agent care reacioneaz la recepia de informaie voluntar: un agent primete date
n mod voluntar de la orice alt agent. Dac datele recepionate fac parte din datele de
intrare ale unui task n execuie sau care a fost deja executat, i dac sunt mai de
ncredere dect cele eventual existente, atunci respectivul task este reiniializat i
executat din nou. Dac datele recepionate completeaz datele de intrare necesare
pentru un anumit task, eventual cumulate cu cele deja existente, starea acestui task
se va modifica nainte de execuie.
2. Competiia n sistemele multi-agent.
2.1 Negocierea. Negocierea este forma cea mai utilizata in competiie.
Negocierea ntre doi sau mai muli ageni reprezint un schimb de mesaje bazat pe un
protocol, ce este destinat stabilirii unui acord asupra efecturii unei cooperri ulterioare.
Negocierea pentru partajarea task-urilor. Pentru ca doi sau mai muli ageni s
efectueze o cooperare de tip partajare de task-uri, agentul care pretinde ca alt
agent/ageni s realizeze un task dat, ncepe efectuarea unei negocieri cu acest/aceti
ageni, cu obiectivul de a nsrcina cel puin unul dintre ei s realizeze task-ul. Se pot
distinge urmtoarele dou mecanisme:
Client/Server: este procesul de negociere iniiat de un agent care dorete a fi ajutat
n realizarea unui task. Acesta, prin intermediul consultrii modelului de ageni
cunoscui, gsete numai un agent cu capacitatea de a realiza acest task. Negocierea
const ntr-un schimb de mesaje ntre agentul organizator i agentul colaborator ales,
cu scopul de a nsrcina acest agent cu realizarea task-ului. Rezultatul negocierii
poate fi nsrcinarea agentului colaborator cu realizarea task-ului pretins, dar poate
fi si verificarea faptului c acest agent nu reuete sau nu este dispus sa realizeze
acest task cu ndeplinirea restriciilor pretinse.
Reeaua contractual: diferena esenial fa de mecanismul client/server este
faptul c agentul colaborator gsete mai mult de un agent cu capacitatea de a
realiza task-ul dorit. In acest caz agentul organizator poate negocia simultan cu mai
mult de un agent sau chiar cu toi.

Protocoale de negociere client/server i reea contractual. Cnd un agent


detecteaz c are nevoie de ajutor, din cauz c nu este capabil s execute singur un
task, el consult modelul agenilor cunoscui pentru a vedea dac exist mcar un agent
capabil s execute acel task.
Dac agentul organizator deduce din modelul de ageni cunoscui c numai un
agent poate executa acel task, atunci el va ncerca s stabileasc o negociere
client/server, iar dac exist mai mult de un agent capabil de a executa acel task,
organizatorul va stabili cu aceti ageni o negociere de tip reea contractual.
Mesajele trimise de agentul colaborator ctre agentul organizator,
corespunztoare deciziilor luate, depind de tipul de negociere ce va avea loc. Astfel,
dac va exista un rspuns la o negociere de tip client/server, atunci mesajul va conine o
informaie asupra acceptului sau refuzului de execuie a task-ului. n cazul unei
negocieri de tip reea contractual rspunsul fiecrui agent colaborator, care poate
realiza task-ul cerut, va conine att o informaie asupra acceptului sau refuzului de
execuie a task-ului ct si o estimaie a timpului n care va executa task-ul.
28

Pe baza timpului de execuie estimat, in cazul unei negocieri contractuale,


agentul organizator va putea face selecia agentului cu care va negocia pentru realizarea
task-ului si i se va trimite un mesaj cu o cerere de execuie a acestui task. Agentul care
primete mesajul va calcula prioritatea pe care task-ul o va avea n cazul acceptrii i
apoi va verifica posibilitatea ndeplinirii termenului de execuie. Dac task-ul este
acceptat, el va fi inclus n agenda agentului colaborator i agentul organizator este
informat de acceptul cererii de realizare a task-ului. In caz contrar agentul organizator
va fi anunat de refuzul execuiei task-ului. Dac agentul organizator primete
informaia c task-ul a fost acceptat pentru execuia acestuia, atunci va accepta
rspunsul. Dac este informat de ctre agentul selecionat de refuzul execuiei task-ului,
agentul organizator va reveni la execuia celei mai bune propuneri din cele recepionate
(cu excepia celei refuzate). Acest proces se poate repeta pn la eventuala gsire a unui
agent capabil s execute task-ul.
n final, att n cazul negocierii de tip client/server, ct i al celei de tip reea
contractual, atunci cnd un agent colaborator va termina execuia task-ului, va trimite
ctre agentul organizator un mesaj coninnd rezultatul execuiei.
Att n cazul negocierii client/server, ct i n cazul de tip reea contractual,
dac nu este posibil gsirea unui agent care s poat executa un task pe care agentul
respectiv nu l poate executa, atunci execuia eueaz i agentul va trebui s ncerce un
plan alternativ.
Ca o concluzie: Protocoalele client/server i reea contractual sunt protocoale
de coordonare ntre ageni folosite pentru rezolvarea n mod distribuit i cooperant a
problemelor. Aceste protocoale sunt considerate ca fiind o form de negociere. Agentul
care dorete a avea task-ul rezolvat este denumit organizator, iar agentul care poate
executa task-ul este denumit colaborator. Aceste roluri nu sunt dinainte stabilite, ci un
agent care este ntr-o etap manager poate fi contractor n alt etap. Contractorul poate
descompune task-urile i poate solicita mai muli ageni pentru a executa pri din task.
Protocolul reea contractual furnizeaz, in plus, i soluia pentru determinarea agentului
corespunztor care s ndeplineasc un anumit task pe baza timpului de execuie estimat
de ctre acesta.
Vom face in continuare o analiz a protocolului reea contractual, acesta fiind
mai complex, att din perspectiva organizatorului ct si din cea a colaboratorului.
Din perspectiva organizatorului, protocolul const n urmtoarele etape:
Anun un task care trebuie executat;
Primete i evalueaz oferte de la poteniali contractori;
Acord contractul contractorului care corespunde cel mai bine;
Primete i sintetizeaz rezultate.
Din perspectiva colaboratorului, protocolul const din urmtoarele etape:
Primete anunuri de task-uri;
Evalueaz capacitatea proprie de a executa task-urile anunate;
Rspunde, primind sau refuznd task-urile acordate;
Execut task-ul dac oferta a fost acceptat;
Raporteaz rezultatele.
Protocolul asigur alocarea dinamic a sarcinilor, permite agenilor s-i ofere
serviciile, si ofer un balans natural al ncrcrii sistemului.

29

2.2 Conflictele. Considernd conflictele ce pot apare ntr-un SMA n diverse


situaii, se poate realiza o clasificare a acestora ca pozitive i negative. Astfel pe
parcursul partajrii task-urilor sau a rezultatelor pot aprea urmtoarele patru tipuri de
conflicte:
Conflicte pozitive n partajarea task-urilor apar atunci cnd exist diveri ageni
capabili s execute un task cerut de un organizator. Aceast situaie competitiv
trebuie s fie tratat printr-un mijloc de negociere;
Conflicte negative n partajarea task-urilor apar cnd nu exist nici un agent capabil
s execute (sau nu dorete s execute) un task cerut de un anumit organizator.
Acesta trebuie s aleag un plan alternativ pentru depirea acestei situaii;
Conflicte pozitive n partajarea rezultatelor apar n cazurile n care, la un moment
dat, exist diveri ageni care execut un task determinant i produc rezultate
diferite, dar coerente (complementare sau identice, dar cu credibilitate diferit);
Conflicte negative n partajarea rezultatelor apar atunci cnd exist ageni care
execut un anumit task i produc rezultate antagonice sau lipsite de consisten.
Dei situaiile conflictuale pozitive, n comparaie cu cele negative, au si o serie
de avantaje, de cele mai multe ori acestea trebuiesc eliminate, deoarece existena lor
prelungete timpul de luare a deciziilor in sistem.
Un mod de a elimina conflictele const n restrngerea analizei, selectnd doar
informaia relevant, dezvoltnd numai o alternativ i, n cazul n care aceasta eueaz,
schimbnd-o. Aceast strategie mai are i avantajul de a accelera luarea deciziilor.
Atunci cnd cantitatea de informaie se reduce, att analiza ct i luarea deciziilor sunt
mai rapide.
Totui, pentru a beneficia i de avantajele existenei conflictelor, mai ales a celor
pozitive, o strategie adecvat poate fi dat de obinerea alternativelor multiple i
simultane i ncercarea atingerii unui consens calificat pentru rezolvarea conflictelor.
Dac consensul nu este posibil, este necesar o alegere ghidat de diferite contribuii ale
diferitelor elemente din grup, accentund opiniile elementelor mai credibile. O alegere
trebuie fcut cnd nu este posibil satisfacerea tuturor elementelor din grup.
Deoarece apariia conflictelor este aproape imposibil de evitat este necesar
utilizarea unor tehnici pentru a le detecta i, n continuare, aplicarea unor metodologii
care permit rezolvarea lor.
Rezolvarea conflictelor. Rezolvarea unui conflict oblig la o luare de
decizie. Aceast luare de decizie ia n considerare analiza i compararea diferitelor
alternative i eventual, o alegere, n cazul n care consensul nu este posibil. Luarea unei
astfel de decizie trebuie, ns, s se fac n mod centralizat de ctre un agent de
coordonare pentru fiecare tip de conflict care poate apare.
Centralizarea rezolvrii fiecrui tip de conflict nu este o caracteristic bun a
unui sistem distribuit deoarece ntr-o reea de sisteme, oricare serviciu central d natere
la ntrzieri n procesul de rezolvare; de asemenea ar fi posibil ca un eec ntr-un punct
s poat cauza eecul ntregului sistem. Totui, exist i unele posibiliti de evita un
astfel de eec i anume prin executarea unui plan alternativ, care implic rezolvarea
acestui conflict, i care, n concluzie, poate fi executat cu succes.
Deoarece pentru fiecare tip de conflict care poate s apar ntr-un sistem multiagent trebuie s existe un agent capabil s rezolve acest tip de conflict, se poate
considera c rezolvarea conflictelor este distribuit ntre diferii ageni ai comunitii.

30

Unul din cazurile cele mai importante de conflicte este cel care apare la
partajarea rezultatelor, cnd diferii ageni care realizeaz acelai task, produc rezultate
inconsistente sau antagonice.
Rezolvarea conflictelor n partajarea rezultatelor. Propagarea rezultatelor
diferite obinute pentru un anumit tip de informaie ntr-o comunitate multi-agent,
conduce la obinerea de rezultate incorecte. Pentru evitarea acestei situaii se consider
dou metodologii de rezolvare i anume:
1. Dup ce agenii au detectat obinerea unor rezultate diferite pentru acelai tip de
informaii, ei intr n negociere n ideea obinerii unei soluii de compromis (de
exemplu pentru relaxarea condiiilor impuse respectivelor rezultate). In plus, este
necesar ca agenii s posede capaciti de a corecta rezultatele lor n comparaie cu
cele obinute de alt agent. Astfel, dac ntr-o anumit comunitate multi-agent, exist
mai mult de un agent care realizeaz un anumit task, trebuie ca fiecare din aceti
ageni s posede capacitatea de a-i corecta rezultatele pentru acest task; aceasta are
inconvenientul de a conduce la necesitatea multiplicrii capacitilor de a trata aceste
situaii de ctre diferii ageni.
2. Fiecare agent trebuie s dispun de mecanisme care s-i permit s detecteze dac
exist cel puin un alt agent care realizeaz un anumit task. Dac la un moment dat,
exist mai mult de un agent care execut un task determinat, exist posibilitatea s se
ajung la rezultate diferite. In acest caz rezultatele sunt trimise, nu numai agentului
care le-a cerut sau agenilor interesai de aceste rezultate, ci unui agent special, care
este nsrcinat cu rezolvarea conflictelor pentru acest tip de informaie. n mod
normal agentul care rezolv conflictele pentru un anumit tip de informaie, are si
capacitatea de a executa el nsui task-ul.

31

Organizaia n SMA

1. Noiunea organizaie in SMA.


Definiie Organizaia in SMA este o asociaie de ageni inteligeni cu concepii
sau preocupri comune, ce coopereaz in vederea realizrii unei activiti
organizate.
2. Teoriile organizaiilor. Teoriile organizaiilor se clasifica in:
1. Teoriile clasice se focalizeaz la nivelul agentului. Ele vd organizaia ca un
ansamblu unitar de ageni care ndeplinesc sarcini, o structur fix a sarcinilor i a
comunicaiilor agenilor. n fapt nu este acordat atenie structurilor semn/simbol n
comunicaia dintre ageni.
2. Sistemul de teorii ale organizrii Organizaia este vzut ca un obiect primar (de
baz). Acest obiect poate fi descompus n subsisteme, fiecare dintre ele avnd o
funcie n sistemul vzut ca tot unitar. Aceste subsisteme pot fi descompuse la rndul
lor, i aa mai departe. Modalitatea de a gndi n abordarea sistem-teoretic este de
sus n jos, contrar modalitii de jos n sus specific studiilor clasice ale teoriei
organizaiei.
3. Abordarea bazata pe cunotine privete agenii ca fiine autonome i inteligente.
Sistemele formate cu astfel de ageni au rolul de a simula modele ale organizrii
umane si ofer o perspectiv intrigant pentru studierea acestor organizaii. Acest
model ofer o perspectiv de jos n sus a gndirii. Deoarece majoritatea muncii care
este fcut n organizaiile umane este bazat pe inteligen, comunicaie, cooperare
i procesri paralele importante, aceasta abordare pare s ofere cel mai plauzibil
model de organizare.
3. Arhitectura unei organizaii.
n mod normal, o organizaie este alctuit dintr-o arhitectur care este legtura
dintre ageni. Nivelele de complexitate ale arhitecturii i ale agenilor definesc
complexitatea nivelului organizaiei. Arhitectura unei organizaii reprezint modul n
care agenii, procesele efectuate de ageni, i structura de simboluri folosit i produs
de ageni alctuiesc o organizaie.
Se disting urmtoarele patru aspecte ale arhitecturii organizaiilor in SMA:
1. Topologia sistemelor multi-agent este modul n care componentele de baz dintr-o
organizaie sunt ordonate n spaiu i timp. Componentele de baz ale unei
organizaii sunt agenii i obiectele.
2. Descompunerea funciilor sistemului. Modul n care sunt alctuite suborganizaiile,
in cadrul unei organizaii, pentru a ndeplini o anumita funcie. Aceste suborganizaii
pot fi descompuse, la rndul lor, n suborganizaii mai mici. Este aplicabil n
modelele multi-agent unde agenii au sarcini, competen i putere predeterminate.
32

3. Coordonarea i sincronizarea in sistem. Sunt capabilitati ale agenilor prin care ei


pot coopera, ocazional sau regulat, in vederea realizrii unor sarcini individuale sau
comune. Cooperarea se realizeaz cu ajutorul protocoalelor si a limbajelor de
comunicaie
4. Caracteristici semiotice ale sistemelor multi-agent. Diferite tipuri de semne se pot
folosi n strucrura de comunicaie i informare a agenilor. Trebuie s se fac, insa,
distincia ntre semne sonore i semne i s se mpart semnele n iconie, indexuri i
simboluri. Lucrul cu semnele implic reprezentarea i interpretarea. O reprezentare
este alctuita din seturi de simboluri structurate n funcie de care operaiile sunt
definite. Exemple ale reprezentrilor sunt cuvintele, desenele, propoziiile temporar
legate. Interpretarea reprezint nelegerea sensului reprezentrii.
4. Funciile unui agent in cadrul unei organizaii. Agenii se mpart n ageni cu
funcii de rspundere, ageni reprezentativi i ageni cu funcii reprezentative de
rspuns.
Funcia de rspundere a agentului. Un astfel de agent este o entitate bine
structurat i organizat care opereaz ntr-un mediu nconjurtor dar nu are specificaii
ale operaiilor sale. Acest agent are percepie i interaciune inclusiv posibilitatea de a
nva, insa nivelul cognitiv este absent. Funcia de rspuns a sistemului lucreaz numai
cu relaii cauzale, adic schimbul de informaii i structurile de comunicaie sunt n
termeni de semnale. Un exemplu de sistem cu funcie de rspuns este o reea de
calculatoare.
Agentul reprezentativ. Un astfel de agent are reprezentri la dispoziia sa i
poate proiecta extern i intern domeniul su cognitiv. Sistemele reprezentaionale
lucreaz cu iconie, indeci i simboluri, adic cu entiti i relaii semantice.
Reprezentarea, insa, are multe interpretri i nu este ntotdeauna clar care este cea
corect. Din aceasta cauza structura simbolurilor nu este ntotdeauna similar, putnd s
se foloseasc una sau alta dintre formele reprezentrii si, astfel, este ndoielnic c
interaciunea dintre ageni este neleas semantic. Un sistem expert este exemplu al
unui sistem reprezentaional fr autonomie.
Funcia reprezentativ de rspuns a agentului. Acest agent ncorporeaz ntradevr un sistem inteligent, interactiv i cognitiv. Este apt s perceap, s interacioneze
i s fie autonom. Sistemul de procesare caracteristic omului, este un exemplu de sistem
cu funcie de rspundere reprezentativ.
5. Funciile unei organizaii.
Principalele funcii ale unei organizaii sunt: funcia reprezentaional, funcia
organizaional, funcia executiv, funcia interactiv, funcia productiv, funcia
conservativ.
Organizaii concrete. Determinarea funciunilor, structurii, i parametrilor
unei organizaii conduc la definirea unei organizaii concrete.
6. Analiza organizaiei in SMA.
Analiza organizaiei presupune realizarea urmtoarelor etape: analiza
funcional i analiza structural.
Analiza funcional. Analiza funcional conduce la stabilirea (identificarea)
principalelor funcii pe care trebuie s le realizeze agenii. Organizaia este vzut ca un
33

sistem de roluri, fiecare rol fiind un ansamblu de proprieti pe care, agentul care are
respectivul rol, le manifest n cadrul organizaiei (figura).
Rolurile unui agent determin poziia pe care o ocup agentul n cadrul
organizaiei i reprezint ansamblul de activiti ce trebuiesc realizate n cadrul
organizaiei pentru realizarea obiectivelor organizaiei.
Rolurile (planificator, executant, meditator, etc.) sunt fixe sau dinamice.
Rolurile pot fi, dup funciile lor, grupate n subsisteme (suborganizaii) ale organizaiei
principale i pot fi:
distribuite;
concentrate printre componentele organizaiei.

Agent
Sub-organizaie
asociat
unei funcii
Organizaie
Figura. Reprezentarea unui sistem multi-agent din punct de vedere funcional.
Aceasta analiza exprim opiunea ntre ageni cognitivi sau reactivi, determin
obiectivele propuse a fi realizate i contextul de realizare.

Analiza structural. Analiza structural are rolul de a ordona ansamblul de


interaciuni care sunt posibile ntre ageni precum i de a evidenia relaiile abstracte
care exist ntre ageni i maniera n care evolueaz acestea n timp. Analiza structural
a unei organizaii multi-agent trebuie s aib n vedere urmtoarele aspecte:
relaia ntre ageni i sarcini;
relaiile abstracte ntre ageni;
modurile de cuplare ale agenilor;
structurile de subordonare i de luare a deciziilor.
Conform acestei analize organizaiile pot fi:
organizaii fixe-ierarhice-predefinite (cu echipe fixe);
organizaii cu structur variabil-egalitar-emergente;
organizaii cu structur variabil-egalitar-predefinit;
organizaii cu structur evolutiv.
Dimensiunea analizei. Studiul funciilor principale ( i implicit a rolurilor
agenilor ) se poate realiza n cadrul urmtoarelor dimensiuni:
fizic
social

relaional
de mediu

personal

Pentru o anumit organizaie fiecare dintre funciile enumerate mai sus poate fi
implementat sau nu la nivelul unei anumite dimensiuni. De exemplu, ntr-o organizaie
reactiv tipic, dimensiunile sociale i relaionale nu exist, toate funciile fiind
implementate numai la dimensiunile fizic i de mediu.
34

8. Definirea parametrilor de concretizare. Modul de distribuire a sarcinilor


ntr-un sistem multi-agent poate fi caracterizat de doi parametrii: gradul de specializare
i gradul de redundan.
Gradul de specializare al unui agent A pentru o problem P indic gradul de
competen pe care l are agentul n raport cu numrul de competene necesare pentru a
se rezolva problema P. Gradul de specializare al unui sistem multi-agent este dat de
media aritmetic a gradelor de specializare ale agenilor.
Gradul de redundan este dat de numrul de ageni care au aceeai
competen.
Se pot defini patru tipuri extreme de organizri a competenelor n funcie de
gradul de specializare i de redundan. Aceste tipuri sunt:
organizare hiperspecializat neredundant
organizare specializat redundant
organizare generalist redundant
organizare generalist neredundant
Specializare - agenii au de rezolvat anumite sarcini, fiecare in funcie de
competentele lor.
Redundan - o anumit sarcin poate fi rezolvat de mai muli ageni.
Problema care se pune este ca sistemul multi-agent s fie performant i capabil
de a se adapta condiiilor de mediu care se pot schimba (ceea ce reprezint eficacitatea
sistemului).
Funcia de performan a sistemului determin performana unui sistem S n
funcie de gradul de specializare i gradul de redundan.
6. Probleme ce pot aprea la proiectarea si implementarea organizaiilor cu ageni.
O parte dintre problemele cheie ale proiectrii i implementrii unor astfel de
sisteme pot fi enumerate mai jos:
Cum trebuie formulate, descrise, descompuse i alocate problemele care se doresc a
fi rezolvate?
Cum se sintetizeaz rezultatele oferite de grupul de ageni inteligeni?
Cum i cnd vor comunica i vor interaciona agenii?
Cum se va asigura faptul ca agenii s fie coereni n luarea deciziilor i execuia
aciunilor?
Cum vor reprezenta i vor manipula agenii aciunile, planurile i cunotinele?
Cum se vor detecta i reconcilia inteniile conflictuale i punctele de vedere diferite
asupra problemei de rezolvat ntre ageni?
Cum se va organiza alocarea resurselor limitate?
Cum se vor proiecta i construi sisteme multi-agent reale? Care vor fi metodologiile
i tehnologiile folosite?

35

S-ar putea să vă placă și