You are on page 1of 75

Modelarea și analiza

sistemelor multi-agent
3. Arhitecturi de agenți (II)

Florin Leon

Universitatea Tehnică „Gheorghe Asachi” din Iași


Facultatea de Automatică și Calculatoare

http://florinleon.byethost24.com/curs_masma.htm
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Arhitecturi de agenți (II)
1. Arhitectura BDI
2. Arhitectura PRS
3. Arhitecturi stratificate

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 2


Arhitecturi de agenți (II)
1. Arhitectura BDI
2. Arhitectura PRS
3. Arhitecturi stratificate

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 3


Raționamentul practic
 Raționamentul teoretic (speculativ) reprezintă utilizarea rațiunii
pentru a decide ce să crezi
 Dacă agentul crede p și crede că p → q, atunci crede q
 Raționamentul practic reprezintă utilizarea rațiunii pentru a decide
cum să acționezi
 Dacă agentul trebuie să ajungă în locația x, atunci pornește spre
locația x
 „Raționamentul practic este o modalitate de a cântări considerații
conflictuale pentru și împotriva unor opțiuni aflate în competiție,
unde considerațiile relevante sunt furnizate de ceea ce dorește /
prețuiește agentul și de ceea ce crede agentul”
(Bratman)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 4


Raționamentul practic
 Constă în două procese principale:
 A decide ce scopuri trebuie atinse
 Deliberarea
 Rezultatul deliberării este o intenție
 A decide cum se pot atinge aceste scopuri
 Analiza mijloace-scopuri (means-ends analysis /
reasoning)
 Rezultatul analizei mijloace-scopuri este un plan

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 5


Intențiile: exemplu
 Mihai (Michael W. ) termină facultatea cu note bune
 Are mai multe opțiuni pentru alegerea carierei
 Alege să rămână în învățământul superior
 Se angajează să urmeze această direcție
 Acționează în vederea atingerii scopului, de exemplu
încearcă să intre la doctorat
 Încearcă din nou dacă eșuează
 Nu va selecta opțiuni care vin în contradicție cu intenția
curentă, de exemplu să petreacă în fiecare noapte
 Își menține intenția cât timp acest lucru este rațional

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 6


Rolurile intențiilor
 Intențiile conduc analiza mijloace-scopuri
 Când un agent are o intenție, va încerca să o îndeplinească
 Dacă o modalitate eșuează, agentul va încerca diferite
alternative
 Intențiile constrâng deliberările viitoare
 Agentul nu va lua în calcul opțiuni ce pot intra în conflict cu
intențiile curente

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 7


Rolurile intențiilor
 Intențiile sunt persistente
 Agentul nu trebuie să renunțe fără un motiv întemeiat
 Intențiile persistă:
 până când sunt îndeplinite
 până când este clar că nu pot fi îndeplinite
 până când dispare motivul pentru care au fost adoptate
 Intențiile influențează convingerile despre viitor
 Agentul poate planifica presupunând că intențiile vor fi
îndeplinite

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 8


Analiza mijloace-scopuri
 O tehnică deseori folosită de oameni pentru rezolvarea
problemelor
 Primul program de inteligență artificială care a implementat
procedura a fost General Problem Solver, realizat de Allen
Newell și Herbert Simon în 1959 la Universitatea Carnegie
Mellon
 Putea rezolva, în principiu, orice problemă simbolică formalizată:
demonstrare de teoreme, probleme de geometrie, turnurile din
Hanoi etc.
 Explozie combinatorică a stărilor intermediare
 A evoluat în arhitectura Soar

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 9


Analiza mijloace-scopuri
 Se bazează pe un set de reguli care pot transforma o
stare a problemei în alta
 Regulile se reprezintă sub forma unei părți stângi,
care descrie precondițiile (condițiile de aplicare) și
o parte dreaptă care descrie schimbările din starea
problemei ca urmare a aplicării regulii
 În acest scop se elaborează o tabelă de diferențe,
în care se precizează ce operație este aplicabilă
pentru fiecare stare a problemei

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 10


Exemplu
 Să considerăm modul în care poate călători cineva:
 Dacă distanța care trebuie parcursă este mai mare de
20 km, ia trenul
 Dacă distanța este între 2 și 20 km, ia autobuzul
 Dacă distanța este mai mică de 2 km, merge pe jos
 Tabela de diferențe este următoarea:

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 11


Exemplu
 Să presupunem că o persoană X din Iași vrea să-și
viziteze un prieten Y din București

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm


Planificarea
 Analiza mijloace-scopuri este o metodă de planificare
 Agentul primește:
 O reprezentare a stării curente a mediului
 O reprezentare a scopului care trebuie atins
 O reprezentare a acțiunilor care pot fi îndeplinite (operatori)
 Agentul trebuie să genereze un plan (o secvență
de acțiuni) care, plecând din starea curentă,
să îndeplinească în final scopul

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 13


Limbaje de reprezentare
 STRIPS (STanford Research
Institute Problem Solver)
 Fikes & Nilsson, 1971

 Robotul Shakey și blocurile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 14


Reprezentarea stărilor
 O stare este o conjuncție de termeni pozitivi,
propoziționali sau de ordin întâi
 Valide:

 Invalide:

 Presupunerea lumii închise (closed-world


assumption)
 Orice condiție care nu este menționată într-o stare
este considerată falsă

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 15


Reprezentarea scopurilor
 O conjuncție de termeni pozitivi
 De exemplu

 O stare propozițională s satisface scopul g dacă


ea conține toți atomii din g (și posibil alții)

 Starea
satisface scopul

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 16


Reprezentarea acțiunilor
 Scheme de acțiuni
 Precondiții
 Postcondiții (efecte)

lista de ștergere lista de adăugare

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 17


Exemplu
 Starea curentă

 satisface precondiția acțiunii Fly (acțiunea este aplicabilă):

 cu substituțiile

 Acțiunea concretă

 Rezultat (starea următoare)


.

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 18


Presupunerea STRIPS
 Problema cadrului (frame problem)
 Reprezentarea logică a numărului mare de non-efecte
obișnuite, implicite, ale unei acțiuni
 Exemplu:

 Trebuie adăugate explicit unele axiome de cadru:

 Presupunerea STRIPS (STRIPS assumption) evită


această problemă
 Orice termen care nu este menționat în efect rămâne
neschimbat

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 19


Exemplu: Lumea blocurilor
 On(b, x)  Clear(x)
 Move(b, x, y)  Block(b)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 20


Exemplu: Lumea blocurilor

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 21


Planuri
 Un plan este o secvență de acțiuni π = (a1, ....., an),
care determină starea următoare a mediului, Δn
 Un plan este corect dacă:
 Δ0 este starea inițială a mediului
 Precondițiile fiecărei acțiuni ai sunt satisfăcute în starea
anterioară a mediului, Δi-1
 Δn este starea finală (scopul)
 Generarea unui plan este o problemă de căutare
 Prin progresie
 Prin regresie
 Euristică

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 22


Biblioteci de planuri
 În multe implementări ale raționamentului
practic, agentului i se dă o bibliotecă
(o colecție) de planuri
 Precondiții
 Corpul planului
 Postcondiții

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 23


Arhitectura BDI
 Rao & Georgeff (1991)

 Beliefs – convingeri
 Informațiile agentului despre mediu (inclusiv agenții din mediu)
 Desires – dorințe
 Obiectivele sau stările de lucruri pe care agentul le-ar dori realizate
(într-o lume ideală)
 De exemplu: a găsi prețul cel mai bun, a merge la petrecere, a deveni bogat
 Scopuri: dorințele adoptate de agent pentru a fi urmărite
 Scopurile trebuie să fie necontradictorii: a merge la petrecere sau a sta acasă
(ambele pot fi dorințe, dar numai una poate fi un scop)
 Intentions – intenții
 Dorințele pe care agentul s-a angajat să le realizeze
 A început execuția unui plan

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 24


Pseudocodul general
 Implementarea unui agent cu raționament practic

while true do
observe the world
update internal world model
deliberate about what intention to achieve next
use means-ends reasoning to get a plan for the intention
execute the plan
end while

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 25


Timpul de calcul
 Deliberarea și planificarea au un cost computațional,
necesită timp
 La finalul procesului de deliberare, există riscul ca
intenția aleasă să nu mai fie optimă
 La fel și pentru planificare
 Implementarea agentului este optimă dacă:
 Deliberarea și planificarea sunt suficient de rapide
 Mediul este static

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 26


Formalizare
 Actualizarea convingerilor
 Funcția de revizuire a convingerilor
(belief revision function)
 brf : (Bel) x P → (Bel) P = mulțimea perceptelor

 Procesul de deliberare
 deliberate : (Bel) → (Int)
 Procesul de planificare
 plan : (Bel) x (Int) → Plan

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 27


Pseudocodul general
formalizat

B := B0 // B0 sunt convingerile inițiale


while true do
get next percept ρ
B := brf(B, ρ)
I := deliberate(B)
π := plan(B, I)
execute(π)
end while

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 28


Funcțiile de deliberare
 Agentul deliberează evaluând opțiunile disponibile și
alegând între ele
 Funcțiile de deliberare pot fi descompuse în două
componente
 Generarea opțiunilor: agentul își generează o mulțime de
alternative posibile (dorințe)
 options : (Bel) x (Int) → (Des)
 Filtrarea: agentul alege între alternativele aflate în
competiție, generându-și intențiile
 filter : (Bel) x (Des) x (Int) → (Int)
 filter(B,D,I)  I  D (intențiile curente sunt ori intenții existente
deja ori opțiuni nou adoptate, nu pot apărea de nicăieri)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 29


Arhitectura generică BDI
B := B0 // B0 sunt convingerile inițiale
I := I0 // I0 sunt intențiile inițiale
while true do
get next percept ρ
B := brf(B, ρ)
D := options(B, I)
I := filter(B, D, I)
π := plan(B, I)
// acțiunile planului sunt executate una câte una
execute(π)
end while

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 30


Probleme
 Bucla de control este „supra-angajată”
 Agentul rămâne angajat în executarea unui plan până când
acesta este complet executat, chiar dacă planul nu
funcționează
 Agentul nu se oprește să-și reconsidere intențiile, chiar dacă
o intenție devine imposibil de îndeplinit sau apar noi
oportunități
 Dacă un plan eșuează, este necesară replanificarea
 Este importantă și reconsiderarea intențiilor

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 31


Strategii de angajament
 1. Angajament orb (fanatic)
 Agentul își menține o intenție până când crede că aceasta a
fost îndeplinită
 2. Angajament singular (single-minded)
 Agentul își menține o intenție până când crede că:
 a fost îndeplinită sau
 este imposibil de îndeplinit
 A determina dacă un scop este imposibil de îndeplinit poate
necesita foarte multe resurse de calcul
 Se pot revizui convingerile, dar nu și scopurile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 32


Strategii de angajament
 3. Angajament deschis (open-minded)
 Agentul își menține o intenție până când crede că:
 a fost îndeplinită sau
 este imposibil de îndeplinit sau
 scopul nu mai există
 Se pot revizui și convingerile și scopurile
 Pot apărea noi scopuri, de exemplu noi cereri sau revocarea
unor cereri anterioare
 Se rețin doar angajamentele compatibile cu scopurile curente
 Agentul are angajamente atât pentru scopuri (stările dorite)
cât și pentru mijloace (mecanismele prin care dorește să le
îndeplinească)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 33


1. Angajamentul orb
hd(π) = prima acțiune a planului
tail(π) = restul acțiunilor, de la a doua
sound(π) = dacă planul este corect

Dacă un plan
eșuează, încearcă
altul, până când
un plan a fost
executat cu succes
sau nu mai există
planuri aplicabile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 34


2. Angajamentul singular

Reconsideră
intențiile când
intenția curentă a
( fost îndeplinită,
când este imposibil
de îndeplinit sau
când nu mai există
planuri aplicabile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 35


Reconsiderarea intențiilor
 Agentul trebuie să verifice dacă intențiile au fost
îndeplinite sau dacă sunt imposibil de îndeplinit
 Agentul își va reconsidera intențiile (în bucla
exterioară) numai când:
 A executat complet un plan pentru îndeplinirea intențiilor
curente
 Crede că și-a îndeplinit intențiile curente
 Crede că intențiile curente nu se mai pot îndeplini
 Dacă apar noi oportunități?
 Algoritmul poate fi modificat pentru a reconsidera
intențiile după executarea fiecărei acțiuni
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 36
3. Angajamentul deschis

Reconsideră
intențiile după
fiecare acțiune

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 37


Când trebuie reconsiderate intențiile
 Reconsiderarea intențiilor este costisitoare din punct
de vedere computațional
 Dilemă:
 Un agent care nu le reconsideră destul de des va încerca
îndeplinirea lor chiar și când nu pot fi îndeplinite sau nu mai
există niciun motiv pentru îndeplinirea lor
 Un agent care le reconsideră permanent s-ar putea să nu
aibă suficient timp să le și îndeplinească
 Se poate include o componentă de control meta-nivel
care decide când să fie reconsiderate intențiile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 38


Angajament deschis
cu un control meta-nivel

Control meta-nivel

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 39


Interacțiuni posibile
 Funcția reconsider se comportă optim dacă și
numai dacă atunci când alege să delibereze,
agentul își schimbă intențiile
 Interacțiuni posibile între componenta de control
meta-nivel și componenta de deliberare:

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 40


Strategii de reconsiderare
 Kinny & Georgeff (1991) au investigat
experimental eficacitatea strategiilor de
reconsiderare a intențiilor
 S-au folosit două tipuri de strategii:
 Agenți îndrăzneți (bold): nu se opresc niciodată
să-și reconsidere intențiile
 Agenți precauți (cautious): se opresc să-și
reconsidere intențiile după fiecare acțiune

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 41


Dinamismul mediului
 Dinamismul mediului este reprezentat de rata
schimbărilor γ
 Dacă γ este mic (mediul se schimbă rar), atunci
agenții îndrăzneți se comportă mai bine
 Agenții precauți pierd timp reconsiderând angajamentele
 Agenții îndrăzneți lucrează pentru atingerea intențiilor
 Dacă γ este mare (mediul se schimbă frecvent),
atunci agenții precauți se comportă mai bine
 Agenții precauți pot recunoaște situațiile când intențiile trebuie
modificate și pot profita de ocaziile favorabile care apar

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 42


Formalizare
 Arhitectura BDI este fundamentată pe teoria
acțiunilor raționale ale oamenilor
 Arhitectura a fost formalizată riguros într-o familie de
logici BDI

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 43


Aplicații
 PRS, prima arhitectură care a încorporat
paradigma BDI, a fost implementată și utilizată
cu succes în diverse aplicații complexe:
 OASIS: Sistem de control al traficului aerian la
aeroportul din Sydney
 SWARMM: Un sistem de simulare pentru forțele
aeriene australiene
 SPOC: Un sistem de management al proceselor de
afaceri (Single Point of Contact, Agentis Solutions)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 44


Arhitecturi de agenți (II)
1. Arhitectura BDI
2. Arhitectura PRS
3. Arhitecturi stratificate

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 45


Planuri PRS
 Context (precondițiile)
 Scop (postcondițiile)
 Corp (rețeta planului, cursul de acțiune)
 Componentă a unei biblioteci de planuri precompilate
 Pe lângă mulțimea de acțiuni primitive, corpul poate
include scopuri intermediare, scopuri disjuncte sau
bucle

 Cunoștințele sunt reprezentate cu ajutorul logicii


predicatelor de ordin I

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 46


Sistemul de raționament procedural

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 47


Módul de lucru
 Agentul pornește cu un scop de nivel înalt (~main)
 Scopul este introdus într-o stivă de intenții
 Planurile pentru care precondițiile sunt îndeplinite
și postcondițiile sunt scopuri devin opțiuni
 Agentul trebuie să selecteze dintre planurile
disponibile pe cel mai bun, folosind:
 Planuri meta-nivel (planuri despre planuri)
 Utilități ale planurilor
 Planul selectat este executat

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 48


Bibliotecă de planuri
pentru lumea blocurilor

Scopuri:

ON Block3 Table  satisfăcut

ON Block2 Block3  plan: Stack


blocks that are already clear, care
folosește două invocări ale planului
Clear a block

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 49


OASIS
 Sistem de management al traficului aerian: prototip la aeroportul din
Sydney
 Agenți pentru fiecare aparat de zbor
 Agenți pentru modelarea vântului, verificarea traiectoriei, coordonare,
secvențiere
 “Belief-accessible worlds”: traiectorii posibile, în funcție de viteza
vântului, viteza și altitudinea minimă și maximă
 “Desire-accessible worlds”: ETA calculat = ETA dorit (timpul estimat de
sosire)
 “Intention-accessible worlds”: cele mai bune traiectorii dorite din punct
de vedere al consumului de carburant, performanțele aparatului de
zbor etc.
 Agentul secvențiator deliberează pentru a determina secvența optimă
de aterizări

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 50


Naveta spațială Discovery
 Sistem pentru monitorizarea defecțiunilor în timp real
 Arhitectura unui modúl PRS:
 O bază de date ce cuprinde convingerile curente ale
sistemului despre mediul de execuție
 O mulțime de scopuri curente
 O bibliotecă de planuri (sau proceduri) numite arii de
cunoștințe (Knowledge Areas, KA), care descriu secvențe de
acțiuni și teste care trebuie efectuate pentru a atinge scopuri
sau pentru a reacționa la unele situații
 O structură de intenții, cu o mulțime (parțial) ordonată de
planuri alese pentru execuție
 Mai multe instanțe ale sistemului pot rula în paralel
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 51
Sistemul de raționament procedural

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 52


Bucla principală a PRS

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 53


Exemplu: izolarea scurgerilor

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 54


Arhitecturi de agenți (II)
1. Arhitectura BDI
2. Arhitectura PRS
3. Arhitecturi stratificate

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 55


Arhitecturile stratificate
 Pentru multe probleme, nu sunt potrivite nici
abordările pur deliberative, de exemplu cu planificare
completă, și nici cele pur reactive
 Arhitecturile stratificate (hibride) încearcă să combine
aceste două metode
 Au mai multe straturi, cel puțin:
 Un strat reactiv, care nu implică raționamente complexe
 Un strat deliberativ, bazat pe un model simbolic al mediului
 Straturile sunt dispuse într-o ierarhie, cu diferite
niveluri de abstractizare

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 56


Straturile
 Trei straturi sunt suficiente pentru majoritatea
situațiilor
 Pot exista însă oricâte straturi
 Nivelul inferior: strat reactiv
 De obicei, implementare asemănătoare cu aceea din
arhitectura lui Brooks
 Nivelul mediu: strat proactiv
 Bazat pe reprezentarea simbolică a mediului
 Nivelul superior: strat social
 Reprezentarea altor agenți cu scopurile, convingerile lor etc.

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 57


Tipuri de stratificare
 Stratificarea orizontală  Stratificarea verticală
 Fiecare strat are acces la  Percepțiile și acțiunile sunt
percepții și acțiuni tratate de un singur strat
 Control cu o trecere sau cu
două treceri

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 58


Stratificarea orizontală
 Straturile concurează pentru determinarea acțiunii
 Este nevoie de un mediator, care decide stratul care
controlează agentul la un moment dat
 Mediatorul poate fi greu de proiectat: pentru n
straturi și m acțiuni, există mn interacțiuni posibile
 De exemplu: 3 straturi, 2 acțiuni, 23 = 8 interacțiuni
(fiecare strat poate alege orice acțiune)

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 59


Stratificarea verticală
 Prezintă similarități cu modul în care funcționează organizațiile
 Informațiile se trimit spre nivelurile superioare
 Deciziile de execuție se trimit spre nivelurile inferioare
 Complexitatea interacțiunilor dintre straturi este mai redusă:
m2(n-1) posibilități
 n-1 interfețe între n straturi, fiecare strat poate propune m acțiuni,
iar perechile de straturi adiacente pot propune m2 combinații de
acțiuni
 Scade toleranța la defecte
 Defectele dintr-un strat pot afecta întregul comportament al
agentului

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 60


TouringMachines Ferguson, 1992

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 61


Straturile
 Arhitectura constă în trei niveluri de
producere a activităților (activity producing
layers)
 Stratul reactiv
 Stratul de planificare
 Stratul de modelare
 Scenariul inițial: vehicule autonome

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 62


Stratul reactiv
 Are ca scop evitarea obstacolelor
 Poate trata doar starea curentă
 În partea dreaptă sunt doar acțiuni, nu și alte predicate
 Exemplu de regulă reactivă:

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 63


Stratul de planificare
 Asigură comportamentul proactiv al agentului,
ce trebuie să facă agentul în mod normal
 Folosește o bibliotecă de planuri, numite
scheme
 Schemele sunt planuri organizate ierarhic și
pot conține sub-scopuri

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 64


Stratul de modelare
 Reprezintă diferitele entități din mediu
 Agentul însuși
 Alți agenți
 Încearcă să prezică și să rezolve conflictele
 Noile scopuri generate sunt trimise stratului
de planificare, care își folosește biblioteca de
planuri pentru a încerca să le satisfacă

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 65


Subsistemul de control
 Conține reguli care decid ce strat controlează agentul
 Regulile de control pot suprima informații senzoriale sau
cenzura acțiuni
 Exemplu de regulă de cenzură (stratul reactiv nu mai știe
că a fost detectat un obstacol iar tratarea acestei situații
trebuie făcută de un strat superior):

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 66


InteRRap Müller, 1997

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 67


Straturile
 Stratul de comportament: reactiv
 Stratul de planuri: planificarea curentă
 Stratul de cooperare: interacțiuni sociale
 Fiecare strat are o bază de cunoștințe: reprezentarea
mediului pentru acel strat
 Straturile au reprezentări cu niveluri diferite de
abstractizare
 Comportament: informații senzoriale brute despre mediu
 Planuri: planurile și acțiunile agentului însuși
 Cooperare: planurile și acțiunile altor agenți

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 68


Interacțiunile
 Straturile interacționează
 Tipuri de interacțiuni:
 Activare de jos în sus
 Un strat trimite informațiile mai sus pentru că nu are
competența necesară să le trateze
 Execuție de sus în jos
 Un strat superior folosește un strat inferior pentru a-și
atinge scopurile

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 69


Funcțiile straturilor
 Fiecare strat îndeplinește două funcții
generale:
 Recunoașterea situațiilor și activarea scopurilor
 Similară cu funcția options din BDI
 Planificare și programare (scheduling)
 Selectarea planurilor de executat

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 70


Stanley Thrun, 2005

 Vehicul autonom care a


câștigat competiția DARPA
Grand Challenge din 2005
 211 km parcurși prin deșertul
Mojave din Nevada
 Premiu de 2.000.000 USD
 43 de echipe înscrise, 23 de
finaliști, doar 5 vehicule au
terminat cursa
 Stanley a terminat traseul în
6 ore și 53 minute, cu o viteză
medie de 30 km/h

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 71


Arhitectura lui Stanley
 30 de module independente, organizate în 6 straturi
 Stratul de interfață senzorială
 Primește datele de la senzori și le adaugă marcaje temporale
(time stamps)
 Datele vin cu frecvență ridicată, de exemplu 5 lasere trimit date
de 100 de ori pe secundă
 Stratul de percepție
 Transformă datele senzoriale cu marcaje temporale în modele
interne, reprezentând starea vehiculului/agentului și starea mediului
 Starea vehiculului: 15 variabile de stare, de exemplu poziție, viteză,
orientare, accelerație etc.
 Starea mediului: cartografierea terenului, identificarea drumului etc.

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 72


Arhitectura lui Stanley
 Stratul de planificare și control
 Găsirea căii, orientarea volanului, accelerare și frânare
 Stratul de interfață cu vehiculul
 Interfața dintre sistemul de control și actuatori
 Stratul de interfață cu utilizatorul
 Ecran cu atingere tactilă (touch-screen) pentru pornirea sistemului
 Stratul de servicii globale
 Servicii folosite de toate modulele, de exemplu stocarea de
informații în fișiere, ceasul sistemului etc.

 Dificultatea principală a fost legată de percepție: construirea


senzorilor și interpretarea informațiilor senzoriale

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 73


Avantaje și dezavantaje
 Arhitecturile stratificate permit o descompunere
naturală a funcționalităților
 Sunt soluții pragmatice
 Claritatea semantică este mai redusă decât în
abordarea logică
 Interacțiunile dintre straturi trebuie luate în
considerare

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 74


Concluzii
 Arhitectura BDI se bazează pe studiile
psihologice asupra raționamentului practic,
care presupune a decide ce scopuri trebuie
atinse și cum se pot atinge aceste scopuri
 Arhitecturile stratificate au mai multe straturi
dispuse într-o ierarhie, cu diferite niveluri de
abstractizare

Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm 75