SlideShare a Scribd company logo
1 of 64
Download to read offline
Modelarea și analiza
sistemelor multi-agent
2. Arhitecturi de agenți (I)
Florin Leon
Universitatea Tehnică „Gheorghe Asachi” 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
2
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
3
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
4
Definiție
 O arhitectură de agenți este o anumită metodologie
pentru construirea agenților, care specifică în ce mod
poate fi un agent descompus într-o mulțime de
module și cum trebuie să interacționeze acestea.
Mulțimea totală a modulelor trebuie să precizeze în
ce mod datele de la senzori și starea curentă a
agentului determină acțiunile și următoarea stare
internă a agentului. O arhitectură cuprinde tehnicile
și algoritmii care stau la baza acestei metodologii.
(după Pattie Maes)
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
5
Formalizare: agent și mediu
 Stările mediului
 S = { s1, s2, ... }
 Acțiunile posibile, date de capacitatea efectorică
 A = { a1, a2, ... }
 Un agent standard poate fi văzut ca o funcție:
 action : S*  A
 S* este mulțimea șirurilor de elemente ale lui S
 Comportamentul mediului:
 env : S x A  (S)
 (S) este mulțimea părților lui S
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
6
Determinismul mediului
 Mediu determinist
 env(s,a) are o singură valoare (singleton)
 Mediu nedeterminist
 env(s,a) are mai multe valori
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
7
Istoricul
 Modalitate de reprezentare a interacțiunilor
dintre agent și mediu
starea inițială
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
8
Proprietate invariantă
 O proprietate invariantă a sistemului se
păstrează în toate istoricele posibile
 De exemplu:
 Agent controller de reactor nuclear
 Proprietate invariantă: reactorul nu explodează
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
9
Echivalență comportamentală
 hist(ag, env) = mulțimea tuturor istoricelor agentului
ag în mediul env
 Agenții ag1 și ag2 sunt echivalenți comportamental
în mediul env dacă și numai dacă
hist(ag1, env) = hist(ag2, env)
 Agenții ag1 și ag2 sunt echivalenți comportamental
dacă și numai dacă hist(ag1) = hist(ag2) pentru toate
mediile
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
10
Agent pur reactiv
 Un agent pur reactiv decide acțiunile fără a-și
lua în considerare istoricul
 action : S  A
 S în loc de S*
 Exemplu: termostatul
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
11
Percepția și acțiunea
 see : S  P
 ieșirea funcției see
este un percept
  precept (principiu,
normă)
 action : P*  A
 s1, s2  S, s1  s2, dar see(s1) = see(s2)
  s1 și s2 sunt stări indistinctibile
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
12
Exemplu: stări indistinctibile
 Pentru un termostat, combinația de stări:
 „Temperatura este OK” (x)
 „Cioloș este prim-ministru” (y)
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
13
Capacitatea perceptivă
Agent fără capacitate perceptivă
| E | = 1
Agent omniscient
| E | = | S |
E = mulțimea stărilor diferite percepute
S = mulțimea tuturor stărilor
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
14
Agenți cu stare
 Agentul pornește cu starea
internă it = i0
 Observă starea mediului s
 p = see(s)
 Își actualizează starea internă
 it+1 = next(it, p)
 Selectează o acțiune
 a = action(it+1)
 Repetă de la observare
 see : S  P
 next : I x P  I
 I este mulțimea stărilor interne
 action : I  A
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
15
Arhitecturi de agenți
 La început (până în 1985), aproape toți agenții
proiectați în cadrul cercetărilor de IA au folosit
raționamentul simbolic
 Raționament logic explicit pentru a decide acțiunile
 Problemele legate de raționamentul simbolic au
provocat o reacție împotriva acestei abordări,
mișcarea agenților reactivi (după 1985)
 Din 1990, au fost propuse o serie de alternative:
arhitecturi hibride, care încearcă să combine
avantajele arhitecturilor simbolice și a celor reactive
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
16
Arhitecturi de agenți
 Patru clase principale de arhitecturi:
 Deliberative
 Agenți folosind raționamentul deductiv
 Agenți folosind raționamentul practic
 Reactive
 Hibride
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
17
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
18
Arhitecturi logice
 Abordarea tradițională pentru
construirea de sisteme
inteligente
 Reprezentare simbolică a
mediului și comportamentului
 Formule logice
 Manipulare sintactică a
acestei reprezentări
 Deducții logice sau
demonstrații de teoreme
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
19
Agenți deliberativi
 A delibera = a examina în detaliu, a rezolva,
a soluționa
 Folosesc formule ale logicii predicative de
ordin I
 Exemple:
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
20
Comportamentul
 L = mulțimea
propozițiilor logice de
ordin I
 D = (L)
 Starea internă a unui
agent este un element
Δ al lui D
 Notăm
dacă formula  poate fi
dedusă din Δ folosind
doar regulile de
deducție ρ
 see : S  P
 next : D x P  D
 action : D  A
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
21
Pseudocod
încearcă apoi să
găsească o acțiune
coerentă (care nu este
interzisă explicit)
încearcă mai întâi să
găsească o acțiune care
poate fi dedusă din baza
de date Δ
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
22
Lumea aspiratorului
 Percepte: dirt (murdărie), null
 Acțiuni: forward (un pas înainte), suck (aspiră),
turn (întoarcere la dreapta cu 90°)
 Predicatele domeniului:
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
23
Reguli
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
24
Raționalitate computațională
 engl. “calculative rationality”
 Un program care, dacă s-ar executa infinit de rapid,
ar demonstra un comportament perfect rațional
 Un program de șah cu raționalitate computațională
ar alege mutarea optimă, dar luarea deciziei ar putea
dura un miliard de ani
 Demonstrarea de teoreme este lentă
 Dacă mediul se poate schimba mai repede decât
viteza de decizie a agentului, raționalitatea
computațională este inacceptabilă
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
25
Discuție
 Avantajele arhitecturilor logice
 Semantică simplă, elegantă
 Formalizare foarte bună
 Există multe sisteme de demonstrare automată a teoremelor
 Probleme
 Transformarea stărilor mediului în reprezentare simbolică
 De exemplu extragerea de proprietăți declarative din imagini
 Modele neintuitive, complicate
 Complexitatea computațională
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
26
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
27
Propoziții temporale
 antecedent (despre trecut) 
consecvent (despre prezent și viitor)
 Pe baza informațiilor despre trecut,
acționează în prezent și viitor
 MetateM face distincție între acțiunile
agentului și acțiunile mediului
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
28
Notații
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
29
Definiții temporale
Since: φ𝒮ψ este satisfăcut acum dacă ψ este adevărat la un moment în trecut și φ este adevărat
la orice moment după acel moment
Zince (since slab): φ𝒵ψ este satisfăcut acum dacă (ψ este adevărat la un moment în trecut și
φ este adevărat la orice moment după acel moment) SAU ψ s-a întâmplat întotdeauna în trecut
Until: φ𝒰ψ este satisfăcut acum dacă ψ este adevărat la un moment în viitor și φ este adevărat la
orice moment înainte de acel moment
Unless: φ𝒲ψ este satisfăcut acum dacă (ψ este adevărat la un moment în viitor și φ este
adevărat la orice moment înainte de acel moment) SAU ψ se va întâmpla întotdeauna în viitor
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
30
Definiții temporale
σ este un șir de stări s1, s2, ...
i este indexul de timp („acum”)
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
31
Definiții temporale
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
32
Teorema separației
formulă despre
trecut
formulă despre
prezent și viitor
Dacă ξi este adevărat la momentul de timp n,
atunci execută ψi
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
33
Exemplul 1: îmbinarea cozilor
 Două cozi la aeroport: cetățeni (1) și străini (2)
 Un singur ghișeu al poliției de frontieră
 b = coada 1 este mai mare decât coada 2
 m1: preia din coada 1
 m2: preia din coada 2
 Reguli:
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
34
Exemplul 2: manager de
resurse
 Dacă o resursă este cerută de un proces,
atunci va trebui la un moment dat alocată
acelui proces
 Dacă resursa nu este cerută, atunci nu
trebuie alocată
 La un moment dat, resursa trebuie alocată cel
mult unui singur proces
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
35
Reguli de execuție
Dacă un proces a cerut resursa la momentul anterior, i se va aloca cândva în viitor
Dacă un proces nu a cerut resursa niciodată (∎¬r1 din definiția zince) SAU la un moment
dat i-a fost alocată și nu a cerut-o atunci (a1 ∧ ¬r1 de după 𝒵) iar din acel moment nu a mai
cerut-o din nou (¬r1 dinaintea lui 𝒵), atunci nu trebuie să-i fie alocată resursa (¬a1)
Dat fiind orice moment anterior, resursa nu poate fi alocată simultan ambelor procese
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Limbajul MetateM
// The agent that says 'hello' to everyone it knows
type agent;
ability send: metatem.agent.ability.Send;
ability print: metatem.agent.ability.Print;
logging FINE;
ruleblock: {
start => greet ;
greet & in(X,known) => NEXT send(X,hello);
receive(From, Message) => NEXT print("Received message, ", Message, ", from ", From, ".");
}
( http://www.csc.liv.ac.uk/~anthony/metatem.html )
36Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
37
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
38
Caracteristici
 Comportamentul este definit de reguli de tipul:
situație  acțiune
 Mai multe comportamente se pot „aprinde”
(engl. “fire”) simultan
 De exemplu regulile CLIPS/Jess sau Jason
 Comportamentele sunt aranjate pe straturi
 Cu cât un strat este mai jos, cu atât are prioritate mai mare
 Straturile inferioare pot inhiba straturile superioare
 Exemplu: dacă i se apropie cuiva o muscă de ochi, închide
ochii din reflex, chiar dacă atunci era concentrat să citească
o carte
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
39
Comportamentul
 Comportamentul este o pereche (c, a)
 c  P este o condiție, a  A este o acțiune
 Comportamentul se va aprinde dacă:
see(s)  c, cu s  S
 Beh este mulțimea tuturor perechilor (c, a)
 Relație de inhibiție: ≺ ⊆ R x R, cu R ⊆ Beh
 Notație: b1 ≺ b2 dacă (b1, b2)  ≺
 b1 inhibă b2
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
40
Pseudocod
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
41
Exemplu
 Explorarea unei planete și colectarea unor roci
 Reguli:
 1. Dacă detectezi un obstacol, atunci schimbă direcția
 2. Dacă transporți roci și ești la bază, atunci descarcă rocile
 3. Dacă transporți roci și nu ești la bază, atunci mergi în
sensul creșterii gradientului semnalului de la bază
 4. Dacă detectezi o rocă, atunci ridic-o
 5. Dacă (adevărat), atunci mergi aleatoriu
 Ierarhia de comportamente:
 1 ≺ 2 ≺ 3 ≺ 4 ≺ 5
 Comportamentul global este emergent
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
42
Cooperare
 Rocile pot fi grupate în anumite locuri
 Agenții lasă urme de particule radioactive
când găsesc roci și se întorc la bază
 Alți agenți le urmează în sensul descrescător
al gradientului semnalului și ridică particule
 Intensitatea urmei scade
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
43
Cooperare
 Noi reguli:
 6. Dacă transporți roci și nu ești la bază, atunci
lasă 2 particule și mergi în sensul creșterii
gradientului semnalului de la bază
 7. Dacă percepi particule atunci ridică 1 particulă
și mergi în sensul descreșterii gradientului
semnalului de la bază
 Ierarhia de comportamente:
 1 ≺ 2 ≺ 6 ≺ 4 ≺ 7 ≺ 5
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Discuție
 Avantaje
 Simplitate, economie, calcule mai rapide, robustețe, eleganță
 Dezavantaje
 Neavând modele ale mediului, agenții trebuie să aibă suficiente
informații locale. Implicit vor „gândi” pe termen scurt
 Nu este evident cum ar putea învăța agenții din propria experiență
 Emergența implică dificultatea de înțelegere a comportamentului
global
 Nu există o metodologie clară pentru construirea unor astfel de sisteme
 Metoda „încercare și eroare”
 Sunt greu de constuit agenți cu multe straturi de comportament
(de exemplu > 10)
 Dinamica interacțiunilor devine prea complexă
 Posibilă soluție: agenți care evoluează
44Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
45
Arhitecturi de agenți (I)
1. Arhitecturi abstracte
2. Arhitecturi logice
3. MetateM
4. Arhitecturi reactive
5. Arhitectura de subsumare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
46
Arhitectura de subsumare
 engl. “subsumption architecture”
 Propusă de Rodney Brooks în 1986 pentru roboți
 “A Robust Layered Control System for a Mobile Robot”
 Extinsă într-o nouă perspectivă asupra inteligenței
artificiale
 “Intelligence without Reason”
 “Intelligence without Representation”
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
47
Musca și robotul 
 O muscă probabil:
 Nu își construiește o
descriere 3D a obiectelor
 Nu raționează asupra
amenințării unui om cu o
paletă sau despre
convingerile și scopurile
acestuia
 Nu își construiește teorii
fizice elementare asupra
aterizării pe tavan
 Însă musca probabil:
 Are legături strânse între
senzori și efectori
 Are modele pre-cablate de
comportament
 Are tehnici de navigație
simple
 Funcționează aproape ca o
mașină deterministă
 Şi totuși se descurcă mai
bine în lumea reală decât
mulți roboți inteligenți
construiți de om până acum
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
48
Metode anterioare de control
pentru roboți
 Foloseau o abordare „divide-et-impera”
 Percepție (senzori) – modelare – planificare – execuție –
control motor – acțiune (efectori)
 Opinia lui Brooks:
 Inteligența de nivel uman este foarte dificilă de implementat
și nu este singurul tip de inteligență
 Abordarea „divide-et-impera” a condus la blocaje în
rezolvarea unor probleme irelevante
 Modelul rezultat nu are robostețe
 Toate subsistemele sunt necesare pentru ca robotul să
funcționeze
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
49
Motivație
 Brooks consideră comportamentul uman doar
aparent rațional
 Acesta ar fi expresia externă a unor comportamente
independente fără control central
 Se urmează calea evolutivă a inteligenței
 Se începe cu o inteligență simplă, mai ușor de implementat
decât inteligența umană
 După asigurarea succesului, modelul se extinde cu niveluri
mai înalte de inteligență
 Model robust deoarece straturile inferioare pot funcționa în
continuare chiar și atunci când straturile superioare eșuează
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
50
Idei de bază
 Comportamentul inteligent:
 Nu necesită reprezentări explicite
 Nu necesită raționamente abstracte (simbolice)
 Emerge din interacțiunea unor comportamente simple
 Raționalitatea necesită un mediu
 Scopul lui Brooks era să dezvolte creaturi artificiale
complete, capabile să acționeze în lumea reală, nu
într-un mediu simplificat
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
51
Arhitectura de subsumare
 Metodologie stratificată pentru sisteme de control al roboților
 Straturile inferioare sunt asemănătoare reflexelor
 Straturile superioare permit atingerea unor scopuri de nivel mai
înalt
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
52
Automate finite augmentate
 Fiecare strat este format din procesoare simple conectate:
automate finite augmentate (engl. “augmented finite state
machines”)
 Automate finite completate cu cronometre
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
53
Aspecte importante ale
automatelor
 Ieșirile sunt funcții simple de intrări și starea internă
 Intrările pot fi suprimate (“suppressed”)
 Ieșirile pot fi inhibate (“inhibited”)
 Aceasta permite straturilor superioare să subsumeze
funcțiile straturilor inferioare
 Pentru ca o situație să fie tratată pe un strat superior,
intrarea unui strat inferior este suprimată și acesta nu mai
știe de existența situației
 Straturile inferioare continuă să funcționeze la fel ca
în absența straturilor superioare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Subsumarea
 Fiecare strat are acces direct la informațiile senzoriale din
mediu
 Fiecare strat are propriul scop
 Straturile lucrează concurent și asincron
 Suprimarea substituie semnalul de intrare al unui automat
dintr-un strat inferior cu semnalul dat de pe un nivel
superior
 Inhibiția elimină semnalul de ieșire al unui automat
dintr-un strat inferior
 Noi straturi pot fi adăugate deasupra unora existente, fără
a fi nevoie de modificarea straturilor inferioare
54Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Caracteristici
 Nu există o ierarhie clasică a straturilor de tipul
subsistemelor, subrutinelor etc.
 Nu există sincronizare
 Mesajele pot fi pierdute fără notificare
 Trebuie retrimise de mai multe ori
 Straturile funcționează în paralel
 Se poate folosi mediul extern pentru comunicare
 Stările automatelor se schimbă când primesc mesaje
sau când expiră perioada de timp desemnată
 Robotul Herbert: o stare durează maxim 3 secunde
55Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Roboții lui Brooks
 Allen
 Evită obstacolele și se îndreaptă către o locație
 Herbert
 Găsește cutii de suc și le aduce la locația de start
56Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Allen
 Stratul 0
 Evită obstacolele, fuge dacă se apropie ceva
 Stratul 1
 Se adaugă deplasarea aleatorie
 Stratul 2
 Se adaugă urmărirea unui obiectiv îndepărtat
57Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
58
 Stratul 0
 Evită obiecte statice sau în mișcare
 Folosește 12 sonare cu ultrasunete: 12 măsurători pe secundă,
cu zgomot puternic
 Calculează o forță de respingere rezultantă pe baza ponderilor
proporționale cu 1 / d2
 Acțiuni: stă pe loc sau fuge
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
59
 Stratul 1
 Deplasare cu un unghi aleatoriu, schimbat o dată la 10 secunde
 Direcția aleasă dă o forță de atracție
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Stratul 2
 Asigură explorarea la distanță
 Inhibă mișcarea aleatorie din stratul 1
 Suprimă intrarea în modulul avoid, pentru a injecta
noua comandă de direcție
 pathplan comandă direcția
 integrate asigură actualizările pentru pathplan,
folosind un motor de diferențe: forțează robotul să se
deplaseze în direcția dorită, compensând modificările
date de evitarea obstacolelor
60Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
61Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Herbert
 Dispozitive
 Scanner cu laser pentru a găsi cutiile
 Senzori de proximitate cu infraroșu pentru a identifica pereții
 Busolă magnetică pentru a se orienta
 Senzori pe „mână” pentru apucarea cutiilor
 Nu există comunicare directă între straturile interne
 Când se opresc roțile, pornesc senzorii pentru cutii
 Când o cutie este între „degete”, apucă și trage „mâna”
 Reguli diferite înainte și după găsirea unei cutii
 Pe baza condiției de separare a „degetelor”
 Navigare pentru a se întoarce în locația inițială: după ce treci de o
ușă mergând spre sud, întoarce-te la stânga
62Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
Toto (Mataric)
 Robotul construiește un graf intern, corespunzător
hărții mediului
 Se alocă autonom noduri noi pentru repere noi și se
actualizează relațiile de vecinătate
 Pentru deplasarea la o anumită locație, se produce o
excitație în graful intern a locației scop
 Excitația se răspândește până la locația curentă,
analog cu un plan
 Când robotul se mișcă, se schimbă și reprezentarea
locației
63Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
64
Aspecte tipice ale arhitecturii
 Sistemele cu subsumare pot face predicții, planuri și
pot avea scopuri, fără reprezentări centralizate,
manipulabile și simbolice
 Nu necesită modele ale lumii reale
 Nu există comunicare de nivel înalt între straturi
 Nu există memorie comună
 Lumea reală este folosită drept model
 Lumea reală este propriul său model
 Acuratețe
 Nu sunt necesare calcule pentru actualizare
Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm

More Related Content

More from Florin Leon

More from Florin Leon (20)

Faza de testare (II)
Faza de testare (II)Faza de testare (II)
Faza de testare (II)
 
Aspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltareAspecte conexe procesului de dezvoltare
Aspecte conexe procesului de dezvoltare
 
Modele bazate pe energie
Modele bazate pe energieModele bazate pe energie
Modele bazate pe energie
 
Retele neuronale profunde
Retele neuronale profundeRetele neuronale profunde
Retele neuronale profunde
 
Regresia liniara, logistica, softmax
Regresia liniara, logistica, softmaxRegresia liniara, logistica, softmax
Regresia liniara, logistica, softmax
 
Clasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilorClasificarea bazata pe ansambluri. Selectia trasaturilor
Clasificarea bazata pe ansambluri. Selectia trasaturilor
 
Algoritmi de clasificare
Algoritmi de clasificareAlgoritmi de clasificare
Algoritmi de clasificare
 
Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)Algoritmi de grupare (clustering)
Algoritmi de grupare (clustering)
 
Faza de testare (I)
Faza de testare (I)Faza de testare (I)
Faza de testare (I)
 
Faza de implementare
Faza de implementareFaza de implementare
Faza de implementare
 
Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)Sabloane de proiectare comportamentale (II)
Sabloane de proiectare comportamentale (II)
 
Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)Sabloane de proiectare comportamentale (Ib)
Sabloane de proiectare comportamentale (Ib)
 
Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)Sabloane de proiectare structurale (II)
Sabloane de proiectare structurale (II)
 
Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)Sabloane de proiectare structurale (I)
Sabloane de proiectare structurale (I)
 
Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)Sabloane de proiectare creationale (II)
Sabloane de proiectare creationale (II)
 
Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)Sabloane de proiectare creationale (I)
Sabloane de proiectare creationale (I)
 
Faza de proiectare
Faza de proiectareFaza de proiectare
Faza de proiectare
 
Faza de analiza
Faza de analizaFaza de analiza
Faza de analiza
 
Limbaje de modelare. UML
Limbaje de modelare. UMLLimbaje de modelare. UML
Limbaje de modelare. UML
 
Introducere in ingineria programarii
Introducere in ingineria programariiIntroducere in ingineria programarii
Introducere in ingineria programarii
 

Arhitecturi de agenti (I)

  • 1. Modelarea și analiza sistemelor multi-agent 2. Arhitecturi de agenți (I) Florin Leon Universitatea Tehnică „Gheorghe Asachi” 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
  • 2. 2 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 3. 3 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 4. 4 Definiție  O arhitectură de agenți este o anumită metodologie pentru construirea agenților, care specifică în ce mod poate fi un agent descompus într-o mulțime de module și cum trebuie să interacționeze acestea. Mulțimea totală a modulelor trebuie să precizeze în ce mod datele de la senzori și starea curentă a agentului determină acțiunile și următoarea stare internă a agentului. O arhitectură cuprinde tehnicile și algoritmii care stau la baza acestei metodologii. (după Pattie Maes) Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 5. 5 Formalizare: agent și mediu  Stările mediului  S = { s1, s2, ... }  Acțiunile posibile, date de capacitatea efectorică  A = { a1, a2, ... }  Un agent standard poate fi văzut ca o funcție:  action : S*  A  S* este mulțimea șirurilor de elemente ale lui S  Comportamentul mediului:  env : S x A  (S)  (S) este mulțimea părților lui S Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 6. 6 Determinismul mediului  Mediu determinist  env(s,a) are o singură valoare (singleton)  Mediu nedeterminist  env(s,a) are mai multe valori Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 7. 7 Istoricul  Modalitate de reprezentare a interacțiunilor dintre agent și mediu starea inițială Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 8. 8 Proprietate invariantă  O proprietate invariantă a sistemului se păstrează în toate istoricele posibile  De exemplu:  Agent controller de reactor nuclear  Proprietate invariantă: reactorul nu explodează Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 9. 9 Echivalență comportamentală  hist(ag, env) = mulțimea tuturor istoricelor agentului ag în mediul env  Agenții ag1 și ag2 sunt echivalenți comportamental în mediul env dacă și numai dacă hist(ag1, env) = hist(ag2, env)  Agenții ag1 și ag2 sunt echivalenți comportamental dacă și numai dacă hist(ag1) = hist(ag2) pentru toate mediile Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 10. 10 Agent pur reactiv  Un agent pur reactiv decide acțiunile fără a-și lua în considerare istoricul  action : S  A  S în loc de S*  Exemplu: termostatul Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 11. 11 Percepția și acțiunea  see : S  P  ieșirea funcției see este un percept   precept (principiu, normă)  action : P*  A  s1, s2  S, s1  s2, dar see(s1) = see(s2)   s1 și s2 sunt stări indistinctibile Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 12. 12 Exemplu: stări indistinctibile  Pentru un termostat, combinația de stări:  „Temperatura este OK” (x)  „Cioloș este prim-ministru” (y) Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 13. 13 Capacitatea perceptivă Agent fără capacitate perceptivă | E | = 1 Agent omniscient | E | = | S | E = mulțimea stărilor diferite percepute S = mulțimea tuturor stărilor Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 14. 14 Agenți cu stare  Agentul pornește cu starea internă it = i0  Observă starea mediului s  p = see(s)  Își actualizează starea internă  it+1 = next(it, p)  Selectează o acțiune  a = action(it+1)  Repetă de la observare  see : S  P  next : I x P  I  I este mulțimea stărilor interne  action : I  A Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 15. 15 Arhitecturi de agenți  La început (până în 1985), aproape toți agenții proiectați în cadrul cercetărilor de IA au folosit raționamentul simbolic  Raționament logic explicit pentru a decide acțiunile  Problemele legate de raționamentul simbolic au provocat o reacție împotriva acestei abordări, mișcarea agenților reactivi (după 1985)  Din 1990, au fost propuse o serie de alternative: arhitecturi hibride, care încearcă să combine avantajele arhitecturilor simbolice și a celor reactive Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 16. 16 Arhitecturi de agenți  Patru clase principale de arhitecturi:  Deliberative  Agenți folosind raționamentul deductiv  Agenți folosind raționamentul practic  Reactive  Hibride Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 17. 17 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 18. 18 Arhitecturi logice  Abordarea tradițională pentru construirea de sisteme inteligente  Reprezentare simbolică a mediului și comportamentului  Formule logice  Manipulare sintactică a acestei reprezentări  Deducții logice sau demonstrații de teoreme Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 19. 19 Agenți deliberativi  A delibera = a examina în detaliu, a rezolva, a soluționa  Folosesc formule ale logicii predicative de ordin I  Exemple: Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 20. 20 Comportamentul  L = mulțimea propozițiilor logice de ordin I  D = (L)  Starea internă a unui agent este un element Δ al lui D  Notăm dacă formula  poate fi dedusă din Δ folosind doar regulile de deducție ρ  see : S  P  next : D x P  D  action : D  A Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 21. 21 Pseudocod încearcă apoi să găsească o acțiune coerentă (care nu este interzisă explicit) încearcă mai întâi să găsească o acțiune care poate fi dedusă din baza de date Δ Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 22. 22 Lumea aspiratorului  Percepte: dirt (murdărie), null  Acțiuni: forward (un pas înainte), suck (aspiră), turn (întoarcere la dreapta cu 90°)  Predicatele domeniului: Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 23. 23 Reguli Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 24. 24 Raționalitate computațională  engl. “calculative rationality”  Un program care, dacă s-ar executa infinit de rapid, ar demonstra un comportament perfect rațional  Un program de șah cu raționalitate computațională ar alege mutarea optimă, dar luarea deciziei ar putea dura un miliard de ani  Demonstrarea de teoreme este lentă  Dacă mediul se poate schimba mai repede decât viteza de decizie a agentului, raționalitatea computațională este inacceptabilă Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 25. 25 Discuție  Avantajele arhitecturilor logice  Semantică simplă, elegantă  Formalizare foarte bună  Există multe sisteme de demonstrare automată a teoremelor  Probleme  Transformarea stărilor mediului în reprezentare simbolică  De exemplu extragerea de proprietăți declarative din imagini  Modele neintuitive, complicate  Complexitatea computațională Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 26. 26 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 27. 27 Propoziții temporale  antecedent (despre trecut)  consecvent (despre prezent și viitor)  Pe baza informațiilor despre trecut, acționează în prezent și viitor  MetateM face distincție între acțiunile agentului și acțiunile mediului Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 28. 28 Notații Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 29. 29 Definiții temporale Since: φ𝒮ψ este satisfăcut acum dacă ψ este adevărat la un moment în trecut și φ este adevărat la orice moment după acel moment Zince (since slab): φ𝒵ψ este satisfăcut acum dacă (ψ este adevărat la un moment în trecut și φ este adevărat la orice moment după acel moment) SAU ψ s-a întâmplat întotdeauna în trecut Until: φ𝒰ψ este satisfăcut acum dacă ψ este adevărat la un moment în viitor și φ este adevărat la orice moment înainte de acel moment Unless: φ𝒲ψ este satisfăcut acum dacă (ψ este adevărat la un moment în viitor și φ este adevărat la orice moment înainte de acel moment) SAU ψ se va întâmpla întotdeauna în viitor Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 30. 30 Definiții temporale σ este un șir de stări s1, s2, ... i este indexul de timp („acum”) Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 31. 31 Definiții temporale Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 32. 32 Teorema separației formulă despre trecut formulă despre prezent și viitor Dacă ξi este adevărat la momentul de timp n, atunci execută ψi Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 33. 33 Exemplul 1: îmbinarea cozilor  Două cozi la aeroport: cetățeni (1) și străini (2)  Un singur ghișeu al poliției de frontieră  b = coada 1 este mai mare decât coada 2  m1: preia din coada 1  m2: preia din coada 2  Reguli: Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 34. 34 Exemplul 2: manager de resurse  Dacă o resursă este cerută de un proces, atunci va trebui la un moment dat alocată acelui proces  Dacă resursa nu este cerută, atunci nu trebuie alocată  La un moment dat, resursa trebuie alocată cel mult unui singur proces Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 35. 35 Reguli de execuție Dacă un proces a cerut resursa la momentul anterior, i se va aloca cândva în viitor Dacă un proces nu a cerut resursa niciodată (∎¬r1 din definiția zince) SAU la un moment dat i-a fost alocată și nu a cerut-o atunci (a1 ∧ ¬r1 de după 𝒵) iar din acel moment nu a mai cerut-o din nou (¬r1 dinaintea lui 𝒵), atunci nu trebuie să-i fie alocată resursa (¬a1) Dat fiind orice moment anterior, resursa nu poate fi alocată simultan ambelor procese Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 36. Limbajul MetateM // The agent that says 'hello' to everyone it knows type agent; ability send: metatem.agent.ability.Send; ability print: metatem.agent.ability.Print; logging FINE; ruleblock: { start => greet ; greet & in(X,known) => NEXT send(X,hello); receive(From, Message) => NEXT print("Received message, ", Message, ", from ", From, "."); } ( http://www.csc.liv.ac.uk/~anthony/metatem.html ) 36Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 37. 37 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 38. 38 Caracteristici  Comportamentul este definit de reguli de tipul: situație  acțiune  Mai multe comportamente se pot „aprinde” (engl. “fire”) simultan  De exemplu regulile CLIPS/Jess sau Jason  Comportamentele sunt aranjate pe straturi  Cu cât un strat este mai jos, cu atât are prioritate mai mare  Straturile inferioare pot inhiba straturile superioare  Exemplu: dacă i se apropie cuiva o muscă de ochi, închide ochii din reflex, chiar dacă atunci era concentrat să citească o carte Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 39. 39 Comportamentul  Comportamentul este o pereche (c, a)  c  P este o condiție, a  A este o acțiune  Comportamentul se va aprinde dacă: see(s)  c, cu s  S  Beh este mulțimea tuturor perechilor (c, a)  Relație de inhibiție: ≺ ⊆ R x R, cu R ⊆ Beh  Notație: b1 ≺ b2 dacă (b1, b2)  ≺  b1 inhibă b2 Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 40. 40 Pseudocod Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 41. 41 Exemplu  Explorarea unei planete și colectarea unor roci  Reguli:  1. Dacă detectezi un obstacol, atunci schimbă direcția  2. Dacă transporți roci și ești la bază, atunci descarcă rocile  3. Dacă transporți roci și nu ești la bază, atunci mergi în sensul creșterii gradientului semnalului de la bază  4. Dacă detectezi o rocă, atunci ridic-o  5. Dacă (adevărat), atunci mergi aleatoriu  Ierarhia de comportamente:  1 ≺ 2 ≺ 3 ≺ 4 ≺ 5  Comportamentul global este emergent Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 42. 42 Cooperare  Rocile pot fi grupate în anumite locuri  Agenții lasă urme de particule radioactive când găsesc roci și se întorc la bază  Alți agenți le urmează în sensul descrescător al gradientului semnalului și ridică particule  Intensitatea urmei scade Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 43. 43 Cooperare  Noi reguli:  6. Dacă transporți roci și nu ești la bază, atunci lasă 2 particule și mergi în sensul creșterii gradientului semnalului de la bază  7. Dacă percepi particule atunci ridică 1 particulă și mergi în sensul descreșterii gradientului semnalului de la bază  Ierarhia de comportamente:  1 ≺ 2 ≺ 6 ≺ 4 ≺ 7 ≺ 5 Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 44. Discuție  Avantaje  Simplitate, economie, calcule mai rapide, robustețe, eleganță  Dezavantaje  Neavând modele ale mediului, agenții trebuie să aibă suficiente informații locale. Implicit vor „gândi” pe termen scurt  Nu este evident cum ar putea învăța agenții din propria experiență  Emergența implică dificultatea de înțelegere a comportamentului global  Nu există o metodologie clară pentru construirea unor astfel de sisteme  Metoda „încercare și eroare”  Sunt greu de constuit agenți cu multe straturi de comportament (de exemplu > 10)  Dinamica interacțiunilor devine prea complexă  Posibilă soluție: agenți care evoluează 44Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 45. 45 Arhitecturi de agenți (I) 1. Arhitecturi abstracte 2. Arhitecturi logice 3. MetateM 4. Arhitecturi reactive 5. Arhitectura de subsumare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 46. 46 Arhitectura de subsumare  engl. “subsumption architecture”  Propusă de Rodney Brooks în 1986 pentru roboți  “A Robust Layered Control System for a Mobile Robot”  Extinsă într-o nouă perspectivă asupra inteligenței artificiale  “Intelligence without Reason”  “Intelligence without Representation” Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 47. 47 Musca și robotul   O muscă probabil:  Nu își construiește o descriere 3D a obiectelor  Nu raționează asupra amenințării unui om cu o paletă sau despre convingerile și scopurile acestuia  Nu își construiește teorii fizice elementare asupra aterizării pe tavan  Însă musca probabil:  Are legături strânse între senzori și efectori  Are modele pre-cablate de comportament  Are tehnici de navigație simple  Funcționează aproape ca o mașină deterministă  Şi totuși se descurcă mai bine în lumea reală decât mulți roboți inteligenți construiți de om până acum Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 48. 48 Metode anterioare de control pentru roboți  Foloseau o abordare „divide-et-impera”  Percepție (senzori) – modelare – planificare – execuție – control motor – acțiune (efectori)  Opinia lui Brooks:  Inteligența de nivel uman este foarte dificilă de implementat și nu este singurul tip de inteligență  Abordarea „divide-et-impera” a condus la blocaje în rezolvarea unor probleme irelevante  Modelul rezultat nu are robostețe  Toate subsistemele sunt necesare pentru ca robotul să funcționeze Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 49. 49 Motivație  Brooks consideră comportamentul uman doar aparent rațional  Acesta ar fi expresia externă a unor comportamente independente fără control central  Se urmează calea evolutivă a inteligenței  Se începe cu o inteligență simplă, mai ușor de implementat decât inteligența umană  După asigurarea succesului, modelul se extinde cu niveluri mai înalte de inteligență  Model robust deoarece straturile inferioare pot funcționa în continuare chiar și atunci când straturile superioare eșuează Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 50. 50 Idei de bază  Comportamentul inteligent:  Nu necesită reprezentări explicite  Nu necesită raționamente abstracte (simbolice)  Emerge din interacțiunea unor comportamente simple  Raționalitatea necesită un mediu  Scopul lui Brooks era să dezvolte creaturi artificiale complete, capabile să acționeze în lumea reală, nu într-un mediu simplificat Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 51. 51 Arhitectura de subsumare  Metodologie stratificată pentru sisteme de control al roboților  Straturile inferioare sunt asemănătoare reflexelor  Straturile superioare permit atingerea unor scopuri de nivel mai înalt Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 52. 52 Automate finite augmentate  Fiecare strat este format din procesoare simple conectate: automate finite augmentate (engl. “augmented finite state machines”)  Automate finite completate cu cronometre Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 53. 53 Aspecte importante ale automatelor  Ieșirile sunt funcții simple de intrări și starea internă  Intrările pot fi suprimate (“suppressed”)  Ieșirile pot fi inhibate (“inhibited”)  Aceasta permite straturilor superioare să subsumeze funcțiile straturilor inferioare  Pentru ca o situație să fie tratată pe un strat superior, intrarea unui strat inferior este suprimată și acesta nu mai știe de existența situației  Straturile inferioare continuă să funcționeze la fel ca în absența straturilor superioare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 54. Subsumarea  Fiecare strat are acces direct la informațiile senzoriale din mediu  Fiecare strat are propriul scop  Straturile lucrează concurent și asincron  Suprimarea substituie semnalul de intrare al unui automat dintr-un strat inferior cu semnalul dat de pe un nivel superior  Inhibiția elimină semnalul de ieșire al unui automat dintr-un strat inferior  Noi straturi pot fi adăugate deasupra unora existente, fără a fi nevoie de modificarea straturilor inferioare 54Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 55. Caracteristici  Nu există o ierarhie clasică a straturilor de tipul subsistemelor, subrutinelor etc.  Nu există sincronizare  Mesajele pot fi pierdute fără notificare  Trebuie retrimise de mai multe ori  Straturile funcționează în paralel  Se poate folosi mediul extern pentru comunicare  Stările automatelor se schimbă când primesc mesaje sau când expiră perioada de timp desemnată  Robotul Herbert: o stare durează maxim 3 secunde 55Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 56. Roboții lui Brooks  Allen  Evită obstacolele și se îndreaptă către o locație  Herbert  Găsește cutii de suc și le aduce la locația de start 56Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 57. Allen  Stratul 0  Evită obstacolele, fuge dacă se apropie ceva  Stratul 1  Se adaugă deplasarea aleatorie  Stratul 2  Se adaugă urmărirea unui obiectiv îndepărtat 57Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 58. 58  Stratul 0  Evită obiecte statice sau în mișcare  Folosește 12 sonare cu ultrasunete: 12 măsurători pe secundă, cu zgomot puternic  Calculează o forță de respingere rezultantă pe baza ponderilor proporționale cu 1 / d2  Acțiuni: stă pe loc sau fuge Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 59. 59  Stratul 1  Deplasare cu un unghi aleatoriu, schimbat o dată la 10 secunde  Direcția aleasă dă o forță de atracție Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 60. Stratul 2  Asigură explorarea la distanță  Inhibă mișcarea aleatorie din stratul 1  Suprimă intrarea în modulul avoid, pentru a injecta noua comandă de direcție  pathplan comandă direcția  integrate asigură actualizările pentru pathplan, folosind un motor de diferențe: forțează robotul să se deplaseze în direcția dorită, compensând modificările date de evitarea obstacolelor 60Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 61. 61Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 62. Herbert  Dispozitive  Scanner cu laser pentru a găsi cutiile  Senzori de proximitate cu infraroșu pentru a identifica pereții  Busolă magnetică pentru a se orienta  Senzori pe „mână” pentru apucarea cutiilor  Nu există comunicare directă între straturile interne  Când se opresc roțile, pornesc senzorii pentru cutii  Când o cutie este între „degete”, apucă și trage „mâna”  Reguli diferite înainte și după găsirea unei cutii  Pe baza condiției de separare a „degetelor”  Navigare pentru a se întoarce în locația inițială: după ce treci de o ușă mergând spre sud, întoarce-te la stânga 62Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 63. Toto (Mataric)  Robotul construiește un graf intern, corespunzător hărții mediului  Se alocă autonom noduri noi pentru repere noi și se actualizează relațiile de vecinătate  Pentru deplasarea la o anumită locație, se produce o excitație în graful intern a locației scop  Excitația se răspândește până la locația curentă, analog cu un plan  Când robotul se mișcă, se schimbă și reprezentarea locației 63Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm
  • 64. 64 Aspecte tipice ale arhitecturii  Sistemele cu subsumare pot face predicții, planuri și pot avea scopuri, fără reprezentări centralizate, manipulabile și simbolice  Nu necesită modele ale lumii reale  Nu există comunicare de nivel înalt între straturi  Nu există memorie comună  Lumea reală este folosită drept model  Lumea reală este propriul său model  Acuratețe  Nu sunt necesare calcule pentru actualizare Florin Leon, Modelarea si analiza sistemelor multi-agent, http://florinleon.byethost24.com/curs_masma.htm