Sunteți pe pagina 1din 86

Raport stiintific si tehnic in extenso

Cuprins:

Cuprins:..................................................................................................................................................1
Obiectivele generale ale proiectului.......................................................................................................2
Obiectivele etapei de executie: ..............................................................................................................2
Rezumatul etapei....................................................................................................................................3
Descrierea stiintifica si tehnica ..............................................................................................................5
Capitolul I: Modelarea si conducerea traficului urban prin controlul fazelor de semaforizare .....5
Controlul congestiei folosind retelele conservative ...............................................................5
Sisteme cu retele conservative ...................................................................................5
Controlul retelelor conservative.................................................................................8
Exemplu: ..................................................................................................................11
Analogia intre traficul urban si retelele conservativea ........................................................15
Tipuri de faze de intersectie si retelele compartimentale/conservative corespunzatoare ....18
Studii de caz.........................................................................................................................25
Studiu de caz I:.........................................................................................................25
Simularea fazei de tip 1 si a regulatorului corespunzator – SIMULINK ................27
Rezultatele simularii ................................................................................................29
Studiu de caz II: .......................................................................................................33
Simularea fazei de tip 3 si a regulatorului corespunzator – SIMULINK ................36
Concluzii ..............................................................................................................................43
Modarea cu retele Petri Hibride a intersectiilor...................................................................44
IntersecŃie în T cu două faze de semaforizare..........................................................44
IntersecŃie în cruce cu două faze de semaforizare ...................................................46
IntersecŃie în T cu două faze de semaforizare (2) ....................................................48
IntersecŃie în cruce cu trei faze de semaforizare ......................................................50
ParticularităŃi ale modului de conectare a modelelor obŃinute.................................50
Capitolul II: Arhitectura multiagent pentru simularea retelelor de trafic urban ..........................52
Elemente de configurare ale unei arhitecturi multi-agent....................................................52
Notiunea de agent ....................................................................................................52
Arhitecturi abstracte de agenti inteligenti ............................................................................55
Arhitectura bazata pe logica.....................................................................................57
Arhitectura reactiva..................................................................................................58
Arhitectura BDI (Belief-Desire-Intention) ..............................................................60
Arhitecturile stratificate ...........................................................................................63
Masina Turing..........................................................................................................64
Arhitectura InteRRaP...............................................................................................65
Problematica sistemelor multi-agent....................................................................................66
Concluzii referitoare la caracteristicile arhitecturii propuse pentru proiect.........................67
Platforma software de dezvoltare pentru comunitati multi-agent - JADE...........................68
Concluzii privind utilitatea platformei JADE ......................................................................71
Simulatorul de trafic ............................................................................................................73
Proiectare .................................................................................................................73
Implementare ...........................................................................................................77
Crearea intersectiilor in spatiul de lucru: .................................................................79
Crearea retelei de trafic prin conectarea intersectiilor: ............................................81
Concluzii generale ...............................................................................................................................84
Bibliografie ..........................................................................................................................................85
Anexe ...................................................................................................................................................86

1
Obiectivele generale ale proiectului

Obiectivele generale ale proiectului sunt:


- fluidizarea traficului in intersectii (reducerea timpilor de asteptare) prin adaptarea temporizarilor
de semaforizare la conditiile reale de trafic
- respectarea graficului de circulatie a mijloacelor RATB prin eventuala acordare de prioritate in
intersectii
- studiul impactului diversilor factori externi asupra monitorizarii traficului
- determinarea unor “regimuri de functionare” pentru sistemul de trafic urban (caracterizate prin
fluxul de mijloace de transport, conditii de mediu, etc.) si a modalitatilor optime de conducere
adaptate la context
- studiul impactului introducerii unor specificatii de functionare suplimentare pentru reteaua de
trafic urban: categorii de prioritate pentru diverse tipuri de vehicole (Salvare, Pompieri, etc.) – cu
eliberarea predictiva a traseului -, consilierea soferilor (recomandarea unor trasee mai putin
aglomerate)

Obiectivele specifice ale proiectului sunt:


- dezvoltarea unei ontologii domeniale – care sa asigure interoperabilitatea diverselor tipuri de
echipamente/ aplicatii software utilizate in conducerea si monitorizarea traficului
- Elaborarea unei biblioteci de modele formale in conformitate cu ontologia si evaluarea
impactului anumitor factori predefiniti asupra performatelor modelelor
- Elaborarea unui sistem de tip multi-agent cu nivel de supervizare, bazat pe suportul formal
anterior mentionat
- Elaborarea modelelor de trafic in abordarea neurala, fuzzy, genetica si testarea lor pe diverse
regimuri de functionare
- Proiectarea si realizarea unei aplicatii software de tip DSS care sa inglobeze toate abordarile puse
la punct anterior si care sa permita adaptarea tehnicii de conducere celei mai adecvate unei
situatii de trafic date
- testarea DSS prin conectarea sa la o retea de simulare a traficului urban pe baza traficului de date,
intr-o prima etapa si apoi la un test-bed real
- diseminarea rezultatelor

Obiectivele etapei de executie:


- Elaborarea unei biblioteci de modele formale in conformitate cu ontologia si evaluarea
impactului anumitor factori predefiniti asupra performatelor modelelor
- Elaborarea unui sistem de tip multi-agent cu nivel de supervizare, bazat pe suportul formal
anterior mentionat
- Proiectarea si realizarea unei aplicatii software de tip DSS care sa inglobeze toate abordarile puse
la punct anterior si care sa permita adaptarea tehnicii de conducere celei mai adecvate unei
situatii de trafic date
- diseminarea rezultatelor

2
Rezumatul etapei

In cadrul fazei I de pe 2009 au fost desfasurate o serie de activitati care au avut ca obiective:
- Finalizarea majoritatii activitatilor legate de Etapa a II-a a proiectului –
„Elaborarea bibliotecii de modele si evaluarea de performante”pentru traficul urban si anume:
- Elaborarea unui suport formal pentru evaluarea de performante a sistemelor complexe –
sinteza (AII.3.b) – avand in vedere ca formalismul retelelor Petri hibride, care a fost deja
ales pentru modelarea comportamentului macroscopic al retelelor de trafic urban in faza
anterioara (AII.3.a) a fost descris in raportul respectiv, in cadrul acestui raport vor fi
descrise retelele conservative care au fost alese pentru modelarea si controlul traficului la
nivel mesoscopic. Au fost alese doua formalisme atat pentru a modela aspecte
complementare ale retelelor de trafic (mesoscopic – la nivel de vehicol, dar fara a intra in
detaliu pentru fiecare in parte si macroscopic – la nivel de flux de vehicole in retea), cat si
pentru a se putea efectua o verificare formala a rezultatelor simularii obtinute pe baza a
doua abordari diferite, pentru aspectele comune. Aspecte ale suportului formal hibrid au
fost prezentate intr-o lucrare publicata in revista Control Engineering and Applied
Informatics (in primul numar indexat ISI al acesteia) la inceputul anului 2009 – anexata
raportului. Lucrarea a trezit interesul unor cercetatori francezi din Grenoble si Marseille si
a generat doua subiecte de proiect de licenta care au fost elaborate in co-tutela in perioada
martie-iulie. Proiectele respective sunt anexate raportului in format electronic.
- Verificarea si actualizarea bibliotecii de modele formale – implementare (AII.4.b) –
raportul include o serie de modele formale de intersectii; modelele hibride reprezinta
actualizarea si rafinarea modelelor de baza prezentate in raportul fazei anterioare;
verificarea s-a facut prin simulari corelate ale acelorasi configuratii, modelate cu ambele
formalisme. Rezultatele obtinute au fost prezentate la conferinta IFAC INCOM de la
Moscova, iar lucrarea respectiva este anexata raportului.
- Elaborarea bibliotecii de modele de tip agent – faza de initiere (AII.5.) – a fost facuta o
analiza a tipurilor de agenti in vederea selectarii unei configuratii optime pentru scopul
urmarit. A fost elaborata o aplicatie orientata agent care implementeaza modelele formale,
astfel incat sa permita studiul interactiunii acestora si sa reprezinte o baza experimentala
pentru realizarea etapei a III-a a proiectului. Structura de baza a aplicatiei multiagent a
fost prezentata in cadrul conferintei ECC 2009; lucrarea fiind anexata raportului.
- Initierea Etapei a IIIa a proiectului – „Elaborarea diverselor variante de politici de
conducere pentru fluidizarea traficului”:
o Elaborarea modelului conceptual de arhitectura bazata pe agenti cu nivel de
supervizare (AIII.1) – modelul conceptual al aplicatiei si principiile sale de functionare au constituit
subiectul unei lucrari deja acceptate la conferinta IFAC DECOM 2009, care va avea loc la sfarsitul
lunii septembrie; lucrarea este atasata in anexa.
o Evaluarea impactului unui set de factori asupra performantelor arhitecturii – studiu
preliminar (AIII.2.a) – au fost definite trei regimuri de functionare pentru arhitectura, pe baza unor
indicatori de performata; fiecare regim de functionare asigura un anumit set de performante, de la
functionarea in regim optimal – sistem complet necongestionat – pana la cea care asigura fluidizarea
doar pe un tronson pre-definit al retelei (cu congestii primare si secundare in rest), trecand prin
diferite stadii de functionare degradata. Lucrarea de la DECOM face referire si la aceste performante.
o Definirea arhitecturii – raportul contine schema functionala a arhitecturii; aplicatia
anexata reprezinta o implementare preliminara – in vederea testarii – a acesteia.
3
o Elaborarea de modele conceptuale pentru simularea, conducerea si optimizarea
traficului – analiza si sinteza (AIII.4.a) – este o activitate care continua practic AII.3 si foloseste
rezultatele AII.4.b si AII.5 de la modelare la conducere. Structura si modul de functionare ale
blocurilor de Value Judgement si respectiv ale nivelului supervizor definesc modelele elaborate.
o Studiul adecvantei tehnicilor de conducere la diverse niveluri de trafic (AIII.6.a si b)–
este facut la nivel formal pentru modelul bazat pe retele conservative si pe baza de simulare pentru
modelele hibride implementate ca agenti.
o Diseminare: a fost facuta pentru elemente punctuale printr-o lucrare publicata intr-o
revista ISI si conferintele mentionate anterior (doua conferinte IFAC ce asigura difuzarea lucrarilor
prin sistemul ifac.paperson-line, echivalent proceedings indexate ISI si European Control
Conference, una dintre cele mai prestigioase conferinte IEEE, cu volume inedxate ISI). La un nivel
global, proiectul ca intreg a fost prezentat la doua reuniuni europene (la Bigorre - Franta si Londra);
conform raportului de deplasare anexat, proiectul a fost prezentat ca studiu de caz in cadrul lucrarii
„Emerging sciences to support interoperability-based Complex Adaptive Systems in Intelligent
Manufacturing” , la Bigorre. Tot ca studiu de caz si ca domeniu de aplicatie pentru partenerul roman,
proiectul a fost diseminat si referit in activitatile de pregatire ale proiectului FP7/ STREP „Apollo”,
cu titlul „Living Laboratories Thematic Network”. Pe data de 10 septembrie coordonatorii
proiectului au fost invitati pentru negocieri la Bruxelles – deoarece a fost acceptat pentru finantare.
Structura raportului este urmatoarea:
- Un capitol formal care raspunde in mod special cerintelor etapei a II-a, dar si unor
elemente din etapa a IIIa (AIII.4.a si AIII.6) si care contine in mod unitar formalismul de modelare,
simulare si conducere bazat pe retele conservative, precum si modele formale bazate pe retele Petri
hibride, impreuna cu modalitatile de evaluare a performantelor acestora;
- Un capitol dedicat arhitecturii bazate pe agenti autonomi – care raspunde in special
necesitatilor etapei a IIIa – motivarea alegerii structurii, arhitectura, functionare, mediu de
implementare, raspunsul la diverse niveluri de trafic si la factori ca prioritizare de vehicule utilitare;
- Anexa I – articolul CEAI
- Anexa II – lucrarea INCOM
- Anexa III – lucrarea ECC
- Anexa IV – lucrarea DECOM
- Anexa V – format electronic – fisierele de simulare referite in primul capitol al
raportului in extenso
- Anexa VI – format electronic – cele doua proiecte de diploma
- Anexa VII – format electronic –simulator bazat pe agenti
- Concluzii si contributii

4
Descrierea stiintifica si tehnica
Capitolul I: Modelarea si conducerea traficului urban prin controlul fazelor de
semaforizare
Conducerea traficului urban in orase mari este inca o problema de studiu deschisa. In acest
raport este tratata problema evitarii congestiilor, astfel incat blocarea intersectiilor sa nu duca la
alterarea performantelor de trafic. Abordarea este una descentralizata, deoarece o problema de
optimizare cu constrangeri, de exemplu, care trateaza integral toata reteaua de intersectii, poate, mai
ales in conditii de mare incarcare a traficului sa nu aiba solutii. Vor fi prezentate, mai intai, cateva
notiuni teoretice despre controlul retelelor conservative, se va face apoi analogia intre fazele
intersectiilor si retelele conservative si apoi se vor prezenta o serie de simulari pe diverse tipuri de
faze din care se poate observa modalitatea de implementare a solutiei propuse. Modulele Simulink
care implementeaza modelele propuse si pe care s-au facut simularile referite in raport si in lucrarile
aferente sunt prezentate in format electronic in anexa VII.
Ca o completare a raportului precedent si ca o abordare complementara, la nivel macroscopic,
a problematicii capitolului, vor fi prezentate modele noi de tip retele Petri hibride, care completeaza
biblioteca de gen deja inceputa.
Din acelasi capitol fac parte si anexele I si II, in care este rezumata abordarea de modelare cu
retele Petri hibride, prezentata in detaliu in raportul fazei precedente si care prezinta in mod special
rezultatele simularilor complementare pentru cele doua tipuri de modele, demonstrand astfel pe de o
parte validitatea celor doua tipuri de abordari (prin similitudinea rezultatelor) si pe de alta parte
complementaritatea lor (prin posibilitati de interpretare extinse ale rezultatelor) si implicit necesitatea
pastrarii unei abordari duale.
Capitolul se incheie cu concluzii partiale si cu bibliografia referita (care va fi reluata in
capitolul final de bibliografie).

Controlul congestiei folosind retelele conservative


Sisteme cu retele conservative
Un sistem conservativ este un sistem compartimental avand o structura de retea cu
„rezervoare” de stocare numite compartimente. Fiecare nod al retelei reprezinta un compartiment
care este definit de o cantitate variabila xi(t) de materie – masa, multime de elemente, energie etc.

Figura 1: Exemplu de retea compartimentala/conservativa

5
Vectorul x(t)=[x1(t) x2(t) ... xn(t)]T este vectorul de stari al sistemului.
Fiecare arc i−>j reprezinta un transfer de masa care poate sa reprezinte un transport, o
transformare sau o interactiune intre speciile de materie din sistem. Rata de transfer numita debit sau
flux, de la un compartiment i la un alt compartiment j este o functie depinzand de starea sistemului
notata fij(x(t)). Arcele aditionale de intrare si iesire reprezinta interactiunea sistemului cu mediul
exterior : fluxurile de intrare bi(t) injectate din exterior in unele compartimentele ale retelei sau
fluxurile de iesire ei(t) din unele compartimente spre exterior.
Balanta fluxurilor dintre compartimete este definita de urmatorul set de ecuatii:

(1)

In aceste ecuatii, apar doar termenii care corespund legaturilor existente intre nodurile retelei.
Astfel toate fluxurile bi(t), ei(t) si fij(x(t)) pentru legaturile inexistente nu apar in ecuatii.
Modelul (1) are sens doar daca variabilele de stare xi(t) raman nenegative pe intreaga
dinamica a sistemului: . Functiile de flux fij si ei sunt definite pe valori nenegative si
luand valori nenegative:
.
Similar fluxurile de intrare bi sunt pozitive: . Mai mult, este evident ca dintr-un
compartiment vid nu poate exista un flux pozitiv (diferit de zero):
(2)
Din conditia (2), daca fij(x) si ei(x) sunt diferentiabile, atunci pot fi scrise sub forma:

Cu functiile rij(x) si qi(x) definite in R, nenegative si cel putin continue. Aceste functii se
numesc fluxuri specifice.
Presupunem ca fluxurile specifice rij(x) si qi(x) sunt continue, diferentiabile si strict pozitive,
cu argumentul functiei pozitiv.

Cu alte cuvinte, presupunem ca fluxurile fij si ei dispar numai daca xi=0. Aceasta presupunere
este valabila pentru majoritatea modelelor fizice si ingineresti descrise cu ajutorul retelelor
compartimetale.
Cu aceste notatii si definitii, sistemul compartimental (1) devine:

(3)

Reprezentarea pe stare sub aceasta forma este folosita pentru modelarea proceselor industriale
cum ar fi – coloane de distilare, reactoare chimice, schimbatoare de caldura, circuite de macinare,
sisteme de cozi si retele de comunicatie, procese biologice si ecologice – pentru ca apare conservarea
masei si de asemenea pot fi compartimentale.
Sistemele compartimentale au o serie de proprietati structurale foarte importante.
Definitie 1:
Sistem pozitiv. Un sistem dinamic este pozitiv daca
.
Proprietate 1: Un sistem compartimental este un sistem pozitiv.

6
Sistemul (3) este un sistem pozitiv. Intradevar, daca si xi=0, atunci
. Aceasta conditie este suficenta pentru a garanta invarianta in timp a
sistemului in cadranul pozitiv daca functiile rij(x) si qi(x) sunt diferentiabile.
Masa totala continuta de sistem este .
Un sistem compartimental conserva masa, in sensul ca bilantul de masa este pastrat constant
in interiorul sistemului. Acest lucru se poate urmari usor intr-un caz special: sistem inchis adica fara
fluxuri de intrare si de iesire.
Proprietate 2: Conservarea masei.
Un sistem compartimental (3) este disipativ din pct de vedere al ratei de alimentare
care are functia de stocare pt masa totala M(x). In cazul particular, in care sistemul
inchis nu are fluxuri nici de iesire si nici de intrare este usor de verificat faptul ca , care
demonstreaza ca masa totala a sistemul este conservata.
Sistemul (3) are urmatoarea forma in scrierea matriciala:
(4)
unde A(x) este numita matrice compartimentala care are urmatoarele proprietati:
1. A(x) este o matrice Metzler – matrice cu toate elementele nenegative in afara diagonalei
principale:
(inversiunea indicilor) ;i<>j
2. Diagonala principala a matricei A(x) contine numai elemente negative:
;
3. Matricea A(x) este diagonal dominanta:
.
Inversabilitatea si stabilitatea matricii compartimentale sunt strans legate de notiunea de
conectare la fluxul de iesire.
Definitie 2: Retele conectate la fluxul de iesire si de intrare
Un compartiment i se numeste „conectat la flux de iesire”, daca exista calea i->j->k->...->l
de la compartimentul i la l, din care se evacueaza un flux de iesire ql(x). Reteaua se numeste total
conectata la flux de iesire – TCFE – daca toate compartimentele sunt conectate la flux de iesire.
Un compartiment l se numeste „conectat la flux de intrare”, daca exista calea i->j->k->...->l
de la compartimentul i la l, iar compartimentul i este alimentat de un flux de intrare bi(x). Reteaua se
numeste total conectata la flux de intrare – TCFI – daca toate compartimentele sunt conectate la flux
de intrare.
Proprietate 3: Inversabilitatea si stabilitatea matricei compartimentale.
Matricea compartimentala A(x) este nesingulara si stabila daca si numai daca
reteaua compartimentala este total conectata la flux de iesire. Astfel nesingulariatatea
(inversabilitatea) si stabilitatea matricei compartimentale pot fi direct verificate prin analizarea retelei
compartimentale asociate.
Jacobianul asociat sistemului (4) este definit astfel:

Cand matricea Jacobian are o structura compartimentala, elementele din afara diagonalei
principale sunt nenegative. In aceasta situatie se manifesta urmatoarea proprietate.

7
Proprietate 4: Stabilitatea punctului de echilibru intr-o matrice Jacobian
compartimentala.
Fie sistemul (4) cu fluxurile de intrare constante bi= ct, pentru orice i.
a) Daca J(x) este o matrice compartimentala , atunci toate traiectoriile sunt marginite si
converg catre un punct de echilibru din .
b) Daca exista o multime compacta (inchisa – contine marginea si limita unui sir de elemente
din ea – si este marginita) si convexa (calea intre orice doua puncte este continuta in multime)
, care este invarianta sub orice transformare in t pozitiv si daca J(x) este o matrice
compartimentala nesingulara , atunci exista un unic punct de echilibru pentru
care matricea J(x) este global asimtotic stabila (GAS) in D.
Proprietatea 4 necesita ca matricea Jacobian compartimentala sa fi inversabila pentru a exista
un unic punct de echilibru GAS. Aceasta conditie nu este satisfacuta pentru un sistem inchis fara
fluxuri de intrare si de iesire, matricea J(x) fiind singurala. Totusi aceasta proprietate de unicitate a
punctului de echilibru GAS este conservata pentru toate sistemele inchise care sunt puternic
conectate.
Proprietate 5: Unicitatea punctului de echilibru pentru un sistem inchis puternic
conectat.
Daca un sistem inchis cu o matrice Jacobian compartimentala este puternic conectat (pentru
orice compartiment i exista o cale la oricare alt compartiment j al sistemului), atunci, pentru orice
M0>0 constant, hiperplanul este invariant si exista un unic punct
de echilibru GAS in H.

Controlul retelelor conservative


Congestia apare in retelele conservative/compartimentale in momentul in care ‚cererea’ de
flux de intrare depaseste intreaga capacitate a retelei. Cel mai suparator efect al congestiei este
acumularea nemarginita de materie in compartimetele retelei. Congestia poate fi evitata folosind un
regulator neliniar cu o structura asemanatoare sistemelor compartimentale.
Problema de control al congestiei se formuleaza in felul urmator:
Fie o retea compartimentala cu n compartimente, m fluxuri de intrare si p fluxuri de iesire,
care are urmatoarele proprietati:
1. Reteaua este total conectata la flux de intrare – TCFI – si total conectata la flux de
iesire – TCFE;
2. Fluxurile de transfer intre si din compartimentele retelei sunt marginite:
;
3. Capacitatile compartimetelor retelei sunt marginite:
4. Exista o cerere de flux de intrare, notata di pe fiecare nod de intrare al retelei: este
fluxul pe care un utilizator ar dorii sa-l injecteze in sistem, sau altfel spus fluxul pe
care utilizatorul ar dorii sa-l atribuie fluxului de intrare bi.
Congestia poate aparea in sistem daca cererea totala depaseste capacitatea maxima
disponibila a retelei, care este limitata la cea mai mare rata de transfer intre compartimete. Cand
congestia apare, unele legaturi ale retelei sunt saturate excesul de materie inmagazinat in
compartimete.
Prevenirea congestiei presupune controlarea fluxului de intrare, bi(t), injectat in sistem prin
micsorarea lui fata de cerere, di(t):

8
, unde ui(t) este o fractiune din fluxul cerut di(t). Se
presupune ca fluxurile de iesire sunt marimi de iesire masurabile ale sistemului.
Sistemul reprezentat in spatiul starilor devine:
(5)
(6)
unde:

Solutia problemei de control este un regulator dinamic neliniar cu urmatoarea structura:

cu urmatoarele notatii si definitii:


a) Ii multimea de noduri de intrare ale retelei ( card(Ii)=m);
b) Ie multimea de noduri de iesire ale retelei ( card(Ie)=p);
c) multimea de perechi de noduri (j,k) (cu si ) pentru care exista o cale directa de
la nodul d intrare j la nodul de iesire k;
d) multimea nodurilor de iesire care sunt accesibile din nodul de
intrare j;
e) multimea nodurilor de intrare care alimenteaza nodul de iesire i;
f) parametrii caracteristici ai retelei cu proprietatea:
;
g) functie monoton crescatoare, continua si derivabila cu proprietatea
.
Principiul legii de comanda este ilustrata in figura urmatoare:

9
Figura 2: Structura in bucla inchisa a sistemului compartimental

Regulatorul are o structura de sistem compartimental cu atatea compartimente (rezervoare)


cate iesiri yi sunt in sistemul controlat. Fiecare compartiment al regulatorului este alimentat (virtual)
cu o copie a fluxurilor de iesire din reteaua controlata. Apoi fluxurile care ies din regulator sunt
distribuite marimilor de control uj (intrari in reteaua controlata) in asa fel incat exista o singura cale
de la un nod de iesire k la un nod de intrare j, prin intermediul regulatorului pentru fiecare pereche
.
In forma matriciala legea de control se poate scrie astfel:
(7)
(8)
unde:

Combinand ecuatiile retelei (5) si (6) cu ecuatiile regulatorului se obtine setul de ecuatii ce
descrie sistemul in bucla inchisa:

(9)

Principalele proprietati ale legii de control (7) - (8) si ale sistemului in bucla inchisa (9):
1. Matricea L(x,z) (9) este o matrice compartimentala parametrizata in d. Sistemul inchis (9)
este un sistem pozitiv (Proprietatea 1). In plus fiind un sistem inchis functia de stocare
este invarianta (Proprietatea 2), iar traiectoriile starilor, avand
initializari nenegative, apartin multimii:
.
2. Variabilele de stare sunt marginite:
.
Primul obiectiv al controlului congestiei este obtinut prin forma regulatorului propus: este
mai mic decat capaciatea maxima a compartimentelor ximax, astfel se garanteaza evitarea saturarii
10
sistemului. Mai mult se poate observa ca depinde de conditiile initiale (x(0),z(0)). In multe aplicatii
practice este nevoie ca sistemul sa plece cu conditii initiale nule (x(0)=0). Astfel valoarea lui este
aleasa exclusiv de conditiile initiale ale regulatorului zj(0) si este egala cu: .
3. Cum era de asteptat, marimile de comanda uj(z) (fractiuni din fluxul de intrare cerut, calculate
de regulator) apartin intervalului [0,1]. Astfel din conditia (g) si conditia (f)
rezulta:

4. Deoarece reteaua controlata este TCFI si TCFI, si datorita structurii regulatorului, sistemul in
bucla inchisa (9) este un sistem compartimetal inchis puternic conectat (sau este o parte dintr-
un sistem compartimetal inchis puternic conectat). Cu alte cuvinte, daca sistemul controlat
are o matrice Jacobian compartimentala, atunci si sistemul in bucla inchisa are o matrice
Jacobian compartimentala. Astfel pentru un flux cerut d constant, sistemul in bucla inchisa
are un singur punct de echilibru GAS in cadranul pozitiv ( ) (Proprietatea 5).
5. Alegerea functiei este arbitrara, ea trebuie sa indeplineasca doar conditia (g). O alegerea
protrivita pentru aceasta functie este urmatoarea: , unde este o constanta
pozitiva foarte mica. Aceasta functie se comporta ca o functie de transfer de ordinul 1 (se
aproprie de forma unei trpte unitare filtrate) pentru un foarte mic.
6. Regulatorul propus in aceasta forma este robust. Pentru a contrui legea de comanda (7)-(8)
este nevoie doar de structura retelei controlate. Legea de comanda este independenta de
fluxurile . Acest lucru este foarte importanat deoarece in multe aplicatii
practice, cunoasterea precisa a acestor fluxuri este imposibila.

Exemplu:
Se da reteaua compartimentala/conservativa din figura de mai jos. Se cere construirea
modelului matematic al retelei si al controllerului neliniar, care previne congestia.

Figura 3: Reteaua compartimentala si controllerul neliniar

Modelul pe stare al retelei compartimentale


11
Modelul pe stare al regulatorului compartimental

Calculul comenziilor u1 si u2

µi reprezinta debitul maxim care poate iesi din compartimentul i.


procent din debitul total care iese din nodul i

Figura 4: Reteaua compartimentala si controllerul neliniar implemetate in SIMULINK

12
Figura 5: Structura procesului – reteaua compartimentala

Figura 6.Structura controllerului

Figura 7: Modulul de calcul al comenzilor u1 si u2

13
Figura 8: Debitele (de masini) de intrare d1 si d2

Figura 9: Evolutia starilor procesului in lipsa controllerului

Figura 10: Evolutia starilor procesului

14
Figura 11: Evolutia comenzilor u1 si u2

Figura 12: Debitele (de masini) de intrare d1 si d2 ponderate de comenzile u1 si u2

Analogia intre traficul urban si retelele conservative


Pentru a putea modela traficul rutier folosind retelele compartimentale (conservative) este
necesara identificarea componetelor de trafic si a marimilor fizice specifice care sa aiba
corespondenta cu elementele si marimile ce definesc retelele compartimentale (conservative).
Topologia unei retele compartimentale (conservative) este determinata de modul in care sunt
conectate, prin arce, diferite noduri.
Pastrand abordarea prezentata in raportele precedente si deja testata cu modelele de tip retele
Petri hibride, s-a urmarit evidentierea distincta a intersectiilor si a tronsoanelor de legatura dintre
acestea (artere rutiere).
Astfel modelul unei retele de trafic urban folosind formalismul retelelor compartimentale
poate presupune ca nodurile si arcele de legatura pot fi asimilate respectiv intersectiilor – nodurile –
si arterelor – arcele – care le interconecteaza. Aceasta ar reprezenta insa o abordare macroscopica –
de acelasi tip cu cel reprezentat de retelele Petri hibride – si care, chiar daca poate servi la validarea
modelelor, nu aduce alte detalii complementare.
Se propune deci in continuare o abordare mesoscopica prin modelarea dinamicii intersectiei si
pe acest model sa gaseste un algoritm de control al traficului care duce la evitarea congestiei si/sau
limitarea efectelor produse de aceasta.

15
Alegerea acestei abordari este sustinuta de faptul ca in momentul de fata traficul rutier –
fluxul (debitul) de masini - (poate fi) este controlat doar prin intermediul intersectiilor semaforizate –
mai precis raportul intre timpul de verde si cel de rosu dicteaza volumul de masini ce tranziteaza
intersectia intr-un interval de timp oarecare. Restul de semne de circulatie, precum si intersectiile
nesemaforizate controleaza ordinea tranzitarii dar nu si volumul de masini.
Intersectiile sunt punctele critice din cadrul retelei rutiere; rolul intersectiilor este de a dirija
traficul si acest lucru este realizat cu ajutorul semafoarelor, mai precis prin raportul dintre timpul de
verde si timpul de rosu din cadrul unui ciclu de semafor. Daca acest raport este fix, nu se modifica in
concordanta cu cerintele de trafic de la un moment dat, traficul din intersectie este ingreunat,
determinand aparitia fenomenului de congestie.
Plecand de la aceasta constatare, directia de cercetare din acest raport s-a indreptat spre
controlul intersectiei.
Astfel intersectia nu mai este privita ca un nod – rezervor, compartiment – ci directiile de
parcurgere a acesteia reprezinta arcele care conecteaza diferite tronsoane. Tronsoanele devin nodurile
retelei – rezervoare in care se acumuleaza masini –, iar directiile de deplasare din intersectie sunt
arcele care faciliteaza transferul de masini din cadrul retelei.
Proprietatea cea mai semnificativa a retelelor compartimentale este conservativitatea. O retea
compatimentala este conservativa din punctul de vedere al numarul de masini (volumul) pe care il
vehiculeaza in interiorul acesteia – aceasta prorietate este mai evidenta in cazul retelei
compartimentale inchise fara debite de intrare si iesire, unde volumul de masini ramane mereu
acealasi.
In cazul retelelor rutiere, aceasta proprietate se poate masura in orice moment de timp prin
estimarea dinamicii masinilor aflate pe un anumit tronson – nod.
Pentru a putea elabora in orice moment o comanda corecta, care sa reflecte realitatea din
trafic, este nevoie de masuratori si estimari cat mai precise a numarului (volumului) de masini aflate
pe fiecare tronson cat si in intersectie.
Lungimea unui tronson influenteaza intr-un mod negativ estimarea dinamicii acestuia. De
obicei, masuratorile se fac la capetele tronsonului, iar din datele obtinute se estimeaza numarul
(volumul) si debitul de masini de pe intrega lungime a tronsonului.
Pentru tronsoane scurte aceste estimari aproximeaza bine dinamica fluxului rutier ce-l
strabate.
Fluxul rutier – de masini – nu are in realitate o „curgere” continua – uniforma – ca in cazul
fluidelor; aceasta este presupunerea facuta in cazul modelelor de tip retele Petri hibride, ceea ce le
incadreaza in categoria modelelor macroscopice.
De fapt, daca in cazul fluidelor care circula prin conducte este suficient sa se faca masuratori
la un capat al conductei pentru a se putea determina debitul de cugere si presiunea fluidului din
conducta, acest lucru se datoreaza proprietatii fluidului de a ocupa, omogen, in intregime volumul
conductei prin care curge. In cazul fluxului rutier, nu este valabila decat pentru sectiuni de drum
foarte scurte, de 200-300 de metri. Astfel ca masuratorile de flux de la capetele tronsonului, pentru
tronsoane lungi si foarte lungi, nu reflecta corect comportamentul fluxului rutier din interiorul
acestuia. La capetele tronsonului masuratorile sunt corecte, dar nu pot fi extinse la intreg tronsonul
deoarece fluxul rutier nu este omogen si de aceea pot exista, in cadrul tronsonului, zone in care sa nu
fie masini sau, din contra in care sa existe un blocaj ale carui efecte nu s-au manifestat inca pe
lungimea totala a tronsonului. Din acest motiv s-a optat pentru un model mesoscopic, care sa
evidentieze si acest tip de comportament, evaluat ca util in predictia eventualelor situatii de congestie
si, in perspectiva, in rezolvarea conflictelor ridicate de prioritizarea vehicolelor utilitare.
Pe langa lungimea tronsonului, un alt factor, care influenteaza masuratorile si implicit
afecteaza conservativitatea retelei rutiere, este reprezentat de intersectiile nesemaforizate si strazile

16
laterale. Acestea „injecteaza” si „evacueaza” din tronson – nodul in cadrul retelei compartimentale –
un debit de masini nemasurabil, care afecteaza masuratorile efectuate la capetele tronsonului.
Din aceste motive corespondenta intre reteaua compartimentala si cea rutiera la nivel de
noduri, nu se va mai face intre nod si tronson, ci intre nod si o sectiune din tronson, denumita coada
de asteptare sau buffer.
Se numeste buffer sau coada de asteptare o portiune de tronson – format din una sau mai
multe benzi – delimitata de doua sisteme de masurare a traficului si/sau doua semafoare succesive,
de regula avand lungimea ordinul sutelor de metri. Acest buffer se comporta ca un rezervor, in care
dinamica masinilor poate fi masurata si/sau estimata. In buffer nu exista acumulari sau evacuari
nemasurabile – masinile intra doar prin zone in care pot fi masurate si deasemnea parasesc bufferul
prin zone bine stabilite. Astfel se poate preciza in orice moment situatia bufferul, dinamica – evolutia
sa in timp – este predictibila.
Buffer-ul corespunde nodului – rezervorului, compartimentului – din cadrul retelelor
compartimentale. Acesta este definit de capacitatea sa, adica numarul de masini care pot circula prin
zona delimitata a bufferului. Astfel sectiunea delimitata de tronson, in care pot rula un numar limitat
de masini la un moment dat, este „modelata” de un buffer sau rezervor caracterizat de aceeasi
capacitate.
In functie de structura intersectiei modelate, pot exista unul sau mai multe buffere de intrare
in intersectie sau buffere sursa si mai multe buffere de iesire din intersectie sau buffere destinatie –
cel putin un buffer sursa si cel putin un buffer destinatie.
Daca analizam cazul particular al unei intersectii de tip cruce (regasita in literatura de
specialitate si sub numele de „intersectie X”), putem identifica patru buffere sursa (reprezentate in
figura de mai jos cu rosu) si patru buffere destinatie (reprezentate cu albastru). In plus, se poate
observa ca cele patru buffere sursa sunt controlate, in prezent, prin intermediul a patru semafoare, cu
un ciclu de semaforizare fixat. Acesta configuratie a semafoarelor se va pastra si in viitor, singura
diferenta fiind faptul ca pentru fiecare semafor in parte se va calcula separat durata ciclului de
semaforizare (raportul intre timpul de verde si cel de rosu va putea fi variat) in functie de conditiile
de trafic. Fiecare semafor controleaza cate o faza a intersectiei, prin faza a intersectiei intelegandu-se
modul in care unul sau mai multe buffere sursa alimenteaza bufferele destinatie.

Figura 13: Intersectie de tip cruce – patru buffere sursa (rosu) si patru buffere
destinatie (albastru)
In aceste conditii, controlul intersectiei se reduce la controlul duratei fiecarei faze in parte.
Indiferent de structura si complexitate, orice ciclu de semaforizare de intersectie se poate
descompune in mai multe faze principale. Construirea corecta si inteligenta – „inteligent” se refera la

17
modul de distribuire al sensurilor de parcurgere a intersectiei pe fiecare faza – a fazelor usureaza
foarte mult controlul lor si mai departe al intersectiei.
Analizand, cu atentie, toate tipurile de intersectie si modurile de parcurgere ale acestora –s-au
identificat cinci tipuri de faze de intersectie fundamentale.

Tipuri de faze de intersectie si retelele compartimentale/conservative


corespunzatoare

Figura 14: Faza de tip 1

Pe timpul de verde un singur buffer alimenteaza bufferele destinatie. Modelul de mai sus este
modelul unei faze caracteristice intersectiei de tip cruce, unde orice buffer sursa poate alimenta toate
cele trei buffere destinatie din intersectie corespunzatoare celor 3 directii stanga, inainte si dreapta
sau S-E,S-N si S-V.

Figura 15: Faza de tip 2

Acest tip de faza este intalnita in intersectiile de tip cruce, in care exista si un verde
intermitent pentru virajul de dreapta. In acest caz, se poate observa existenta a doua sisteme
independente (nu exista fluxlui de transfer intre cele doua sisteme); sistemul 1 format din nodul sursa

18
1 si trei noduri destintie 2,3,4 si sistemul 2 format din nodul sursa 5 si cel destinatie 6. Cele doua
sisteme nu se conditioneaza reciproc, deoarece existenta virajului de stanga, modelat in primul
sistem, faciliteaza exacutarea virajului de dreapta din cel de-al doilea sistem.
Acest model se poate simplifica renuntandu-se la cel de-al doilea sistem deoarece masinile
care efectueaza virajul de dreapta (sistemul 2) nu intra in intesectie si nu se intersecteaza cu traseele
masinilor din primul sistem, astfel primelor li se poate da verde intermitent.

Figura 16: Faza de tip 3

Acesta faza este compusa din doua faze de tip 1, care sunt active pe acelasi verde –
semafoarele aflate pe aceeasi directie N-S sau E-V au verde/rosu simultan (sunt comandate doua cate
doua). O astfel de configuratie ridica mari probleme din punctul de vedere al estimarii si al
controlului dinamicii fazei – evolutia numarului de masini din buffere. Aceste probleme sunt
provocate de virajul de stanga. Traseul masinilor care efectueaza virajul de stanga se intersecteaza cu
traseul masinilor care vin din fata. In realitate – in trafic – aceasta problema este rezolvata prin
obligativitatea acordarii de priotate masinilor care vin din fata in momentul efectuarii virajului de
stanga.
Numarul (volumul sau debitul) de masini care vin din fata vor influenta numarul de masini
care vor putea efectua corect virajul de stanga. Teoria retelelor compartimetale nu ofera nici o
modalitate de modelare directa – printr-un element specific (nod sau arc) – a acestei influente
(interdependente) intre doua fluxuri.
Aceasta problema poate fi rezolvata in doua moduri: prima ar fi limitarea fluxului de masini
care pleaca din nodul sursa spre nodul destinatie din stanga, surplusul de flux, pentru a pastra
proprietate de conservativitate a retelei, este intors in nodul sursa, iar cea dea doua fiind introducerea
unui buffer (nod) intermediar.
Aceasta ultima solutie presupune trecerea fluxului de masini ce efectueaza virajul de stanga
printr-un buffer intermediar , intre cel sursa si cel destinatie, bufferul de intersectie, delimitat in
cadrul intersectiei.
Bufferul de intesectie este singurul care se afla delimitat – virtual – in interiorul intersectiei
restul fiind delimitate in afara intersectie. Motivul, pentru care acesta se afla in intersectie, rezulta din
modul in care se efectueaza virajul de stanga. Intr-o intersectie semaforizata/nesemaforizata virajul
de stanga se efectueaza ocolind centrul imaginar al intersectiei prin partea dreapta si acordand
prioritate masinilor ce vin din fata. Acest mod de efectuare a virajului de stanga determina formarea
unei cozi de asteptare in intersectie. Aceasta coada de asteptare are o capacitate de masini, limitata de
spatiul pe care acestea il pot ocupa in intersectie, pe banda de stanga, fara a perturba restul masinilor
ce tranziteaza intersectia. Acest tip de buffer se poate folosi in toate fazele in care se intersecteaza
19
doua sau mai multe trasee cu prioritati diferite.

Figura 17: Faza de tip 3 modelata folosind bufferele de intersectie – x2` si x4` buffere de
intersectie – pentru modelarea corecta a virajului de stanga – dinamica masinilor ce efectueaza
acest viraj.

Figura 18: Faza de tip 4


Aceasta faza este asemanatoare cu faza descrisa anterior, singura diferenta fiind lipsa
virajului de stanga. Prin lipsa virajului de stanga se elimina legatura dintre cele doua noduri sursa.
Daca in faza de tip 3 cele doua noduri sursa alimentau noduri destinatie comune, in faza de tip 4
fiecare nod sursa alimenteaza propriile noduri destinatii (nu mai exista noduri comune). Din
aceasta cauza faza poate fi impartita in doua subsisteme distincte care nu se conditioneaza. Desi
cele doua subsisteme nu se conditioneaza reciproc, ele impart in schimb acelasi semafor (timp de
semafor – au verde/rosu in acelasi timp). Pentru fiecare subsistem se obtine o comanda. Cum nu
pot fi aplicate simultan ambele comenzi, se alege cea mai mica dintre ele, care se transforma intr-
un timp de verde (cel mai mic) influentand astfel numarul de masini ce vor intra in intersectie,
evitandu-se blocarea intersectiei.

20
Figura 19: Faza de tip 5

Acest tip de faza se poate folosi in tandem cu faza de tip 4. Pentru a prevenii blocajele
datorate virajelor de stanga, din faza de tip 3 se elimina fluxurile care modeleaza virajul de stanga
si se obtine faza de tip 4, urmand ca intr-o faza ulterioara (faza de tip 5) sa se execute doar virajele
de stanga. Se alege eliminarea virajului de stanga din faza de tip 3, in intersectiile in care numarul
de masini care efectueaza virajul de stanga este mare (mult mai mare decat in majoritatea
intersectiilor cu viraj de stanga), comparabil cu numarul de masini care merg in fata sau in dreapta.
Astfel dintr-o faza de tip 3 se obtin doua faze, una de tip 4 si una de tip 5. Efectul fiind numarul
mai mare de masini care parcurg intersectia in cele doua faze succesive decat intr-o singura faza
de tip 3.
Fiecare buffer are o capacitate maxima, adica un numar maxim de masini pe care il poate
stoca. Aceast capacitate limita este utila in prevenirea congestiei. Controllerul de faza vehiculeaza un
numar limitat de masini in cadrul retelei compartimentale. Acest numar depinde de capacitatea totala
de stocare a intersectiei si a nodurilor (bufferelor) aferente. Exista posibilitatea, ca la un moment dat,
capacitatea anumitor noduri sa fie depasita chiar daca numarul total de masini suportat de intersectie
nu este depasit.
In acest moment capacitatea limita joaca un rol foarte important in prevenirea congestiei. S-
au identificat trei situatii de depasire in functie de tipul bufferului (de intrare, de iesire si de
intersectie).
Daca este depasita capacitatea de stocare a unui nod destinatie, surplusul de masini se va
acumula in intersectie determinand blocarea acestia. Pentru a preveni acest lucru, in momentul
depasirii capacitatii limita a unui nod destinatie culoarea verde a semaforului se schimba in rosu – se
poate opta alege rosu pe intreaga faza fie doar pe directiile si sensurile care alimenteaza bufferele
saturate (buffere care au atins capacitatea maxima de stocare) – stopand acumularea necontrolata de
masini in cadrul intersectiei.
Pentru cazul nodurilor de intersectie, depasirea capacitatii limita produce efecte nedorite doar
in cazul in care capacitatea nodului destinatie, de care este legat, este depasita sau spatiul ramas nu
poate primii intreaga cantitate de masini stocata in nodul de intersectie. Solutia fiind ca si in cazul
anterior, schimbarea culorii semaforului din verde in rosu pe directia respectiva, pentru a prevenii
blocarea intersectiei cu masinile ramase in bufferul de intersectie, acestea ne putanad fi preluate de
bufferul destinatie urmator. Daca bufferul (nodul) destinatie urmator nu este plin si poate asimila
cantitatea de masini din intersectie (bufferul de intesectie), atunci chiar daca numarul maxim de
masini suportat de nodulul de intersectie este depasit, surplusul se va acumula inaintea intersectie, pe
tronson, fara a incurca circulatia din interiorul intersectiei. In timpul fazei, acumularea de masini, in
bufferul de intersectie, nu este deranjanta, singurul lucru care trebuie urmarit este ca in momentul
21
schimbarii fazei sa se verifice daca intersectia, in special bufferul de intersectie, este libera. Daca este
libera se poate schimba faza, daca nu este libera se recomanda schimbarea fazei doar dupa golirea
intersectie.
In cazul nodurilor sursa depasirea capacitatii limita de stocare nu produce efecte negative
asupra traficului din intersectie, deoarece surplusul de masini se va acumula inainte de intersectie, pe
tronsonul din care face parte nodul sursa saturat.
In exemplul din figura de mai jos este reprezentata o faza de tip 1 dintr-o intersectie „cruce”
evidentiindu-se cele trei buffere destinatie (2, 3 si 4) si bufferul sursa (1). Sunt figurate deasemenea
capacitatile ocupate din fiecare buffer precum si fluxuri de transfer dintre noduri.

Figura 19: Intersectie „cruce” – faza de tip 1

Fluxurile de masini dintre aceste buffere sunt similare cu ratiile de transfer (fluxuri) dintre
nodurile unei retele compartimetale. Prin flux de masini se intelege debitul de masini, adica numarul
de masini pe unitatea de timp – unitatea de timp poate fi secunde, minute, ore sau un ciclu de
semafor.
La fel ca in cazul retelelor compartimentale, fluxurile de masini se pot imparti in mai multe
categorii: fluxuri de intrare in noduri sursa, fluxuri de iesire din noduri sursa – similare (identice) cu
fluxurile de intrare in nodurile destinatie si fluxuri de iesire din noduri destinatie. Aceste categorii de
fluxuri sunt evidentiate in figura de mai sus: d(t) este flux de intrare in nod sursa, v2, v3 si v4 fluxuri
de iesire din noduri sursa si f12, f13 si f14 fluxuri de iesire din nodul sursa (fluxuri de transfer intre
nodul sursa si nodurile destinatie).
Fluxul de intrare in nodul sursa, d(t), este un debit de masini variabil in timp ce depinde si de
caracteristicile tronsonul din care face parte nodul (bufferul). Acest debit are un caracter sezonier
depinzand de momentul zilei (traficul de dimineata, de pranz si seara), de ziua din saptamana
(traficul zilelor lucratoare si traficul de week-end) precum si de lunile anului (lunile de vacanta de
vara si de iarna).

22
Figura 20 a: Debit de intrare masurat din trafic (masini pe minut) - zi de luni

Figura 20 b: Debit de intrare masurat din trafic (masini pe minut) - zi de marti

Figura 20 c: Debit de intrare masurat din trafic (masini pe minut) - zi de sambata

Datele provin din masuratori efectuate in Piata Romana. Sunt debite de masini
masurate la 15 minute, incepand cu ora 00:00. Din analiza acestor grafice se poate observa
caracterul sezonier al fluxului rutier.
Din primele doua grafice se observa ca debitele mari de masini sunt mereu intre

23
acealeasi ore (asa zise ore de varf, cand oamenii se duc sau vin de la serviciu).
Comparand primele doua grafice cu ultimul se poate observa diferenta intre traficul de
mijloc de saptamana si cel weekend. Traficul de weekend este mai intens spre seara, cand
oamenii ies in oras, chiar daca valorile traficului de weekend nu le depasesc pe cele din cursul
saptamanii
Fluxul de iesire din nodurile destinatie, v2, v3 si v4, depinde atat de starea nodului – gradul
ocupare al nodului cu masini – cat si de starea trosonului pe care se afla nodul (buffer destinatie
respectiv). Acest lucru se poate observa foarte usor din modul in care sunt definite aceste fluxuri:
, unde reprezinta debitul de masini de pe tronsonul „i”, iar functia
modeleaza comportamentul masinilor care parasesc nodul respectiv. Aceasta functie g
este foarte utila deoarece debitul de masini care paraseste nodul destinatie nu va ajunge instantaneu
la valoarea debitului de pe acel tronson, deoarece este necesar un timp pana cand viteza masinilor din
nodul destinatie va atinge viteza masinilor ce se deplaseaza pe tronson. Debitul de evacuare va creste
monoton spre valoarea dictata de tronson.
Fluxul de masini dintre doua sau mai multe buffere – intre bufferele sursa si bufferele
destinatie –, adica fluxul de iesire din nodul sursa, poate fi descompus in trei componente la fel ca in
cazul fluxului de transfer din cadrul retelei compartimentale: si
, unde reprezinta procente din debitul total care iese din nodul sursa
1 si se distribuie nodurilor destinatie 2, 3 si 4, iar functia este definita mai sus.
Suma ponderilor, , este egala cu 1, rezultand faptul ca intreg debitul de masini
este distribiut nodurilor destinatie. Daca suma nu ar fi egala cu 1, ci mai mica, ar rezulta ca o
parte din debit se pierde lucru ce ar determina pierderea caracterului conservativ al retelei. Acelasi
lucru este valabil si in cazul in care suma ar fi mai mare ca 1, reteaua ar genera un debit inexistent.
Aceasta descompunere, prezenta mai sus, este naturala si evidenta.
De exemplu, dintr-un volum de masini care asteapta la semafor (in bufferul 1 delimitat de
liniile rosii), o parte vor face la dreapta (in bufferul din dreapta, 2, delimitat de liniile maro), alta
parte la stanga (in bufferul din stanga, 4, delimitat de linia rosie si cea verde) si restul vor merge
inainte (in bufferul din fata, 3, delimitat de liniile albastre). Daca raportam acest volum de masini,
care asteapta la semafor, la unitatea de timp – in acesta lucrare unitatea de timp reprezinta ciclul de
semafor (timpul total de semafor – timpul de verde si timpul de rosu) –, vom obtine debitul total de
masini furnizat de bufferul 1. Analog vom obtine debitul de masini spre stanga, spre fata si spre
dreapta. Raportand fiecare debit calculat anterior la debitul total de masini ce a „parasit” nodul sursa
1 vom obtine ponderile descrise mai sus .
In cazul intersectiilor cu faze de tip 3, faze in care apar bufferele de intersectie, se mai
diferentieaza o categorie de fluxuri: fluxuri de iesire din buffere de intersectie. Aceste au o structura
asemanatoare cu fluxurile de iesire din noduri destinatie, cu diferenta ca au valori mici. In figura de
mai jos sunt reprezentate toate categoriile de fluxuri, inclusiv fluxurile de iesire din noduri de
intersectie (f4`4 si f2`2).

24
Figura 21: Intersectie „cruce” – faza de tip 3

Studii de caz

Studiu de caz I:
Se da o intersectie „cruce”, care contine patru faze de tip 1. Se cere modelul fazei
precum si algoritmul de reglare care asigura evitarea congestiei in intersectie. Intersectia
„cruce” si o faza de tip 1 sunt ilustrate in figura de mai jos. Un astfel de algoritm de reglare
trebuie sa evite congestia in conditiile urmatoare: debite de alimentare mari, debite de
iesire din intersectie mici – traficul de pe tronsoanele adiacente este aglomerat – si buffere
destinatie aproape pline.

Figura 22: Intersectie „cruce” – faza de tip 1

25
Figura 23: Reprezentarea fazei de tip 1 folosind retelele compartimentale

Modelul pe stare al fazei de tip 1 este urmatorul:


x1 – starea nodului sursa 1;
x2 – starea nodului destinatie 2 –
dreapta;
x3 – starea nodului destinatie 3 –
inainte;
x4 – starea nodului destinatie 4 –
stanga;
Structura regulatorului neliniar corespunzator modelului de retea compartimentala
descris mai sus este urmatoarea:

z2, z3, z4 – starile regulatorului;


Calculul comenzii u:

- fluxurile totale de evacuare din nodurile retelei compartimentale.

- fluxurile virtuale de evacuare din nodurile regulatorului neliniar.

26
µi reprezinta debitul maxim care poate iesi din compartimentul i;
;
Debitele maxime de evacuare din noduri µi sunt alese astfel incat sa reflecte situatia
reala din trafic si sunt masurate in masini/sec.

Simularea fazei de tip 1 si a regulatorului corespunzator – SIMULINK

Figura 24: Sistemul compartimental inchis – retea faza si regulator neliniar

Figura 25: Modelul pe stare al fazei

27
Figura 26: Modelul pe stare al regulatorului compartimental

x10, x20, x30, x40 – conditiile initiale


ale procesului; conditiile initiale dicteaza
numarul maxim de masini ce poate fi stocat
la orice moment de timp in intersectie.
Alegerea lor se face in felul urmator: se
calculeaza capacitatile libere din fiecare
buffer destinatie, daca bufferele sunt pline se
renunta la calculul timpului de verde pentru
aceasta faza, pastrandu-se rosu in continuare
pana cand se mai golesc din buffere.
Capacitatile libere sunt insumate, iar
numarul obtinut este comparat cu numarul
de masini ce se afla in bufferul sursa. Dintre
cele doua numere se alege cel mai mic
initializandu-se nodul sursa cu aceasta
valoare (x10), iar nodurile destinatie sunt
initializate cu zero (se considera a fi goale).
Astfel se asigura permanenta locurilor
libere in bufferele destinatie.

Initializarea parametrilor fazei

28
z20, z30, z40 – conditiile initiale ale
regulatorului; conditiile initiale (atat cele ale
procesului cat si cele ale regulatorului)
dicteaza numarul maxim de masini ce poate
fi stocat la orice moment de timp in
intersectie. Pentru acest exemplu s-a optat
pentru conditii initale nule pe regulator.
Indiferent de modul in care se face
initializarea (pe proces sau pe regulator),
pentru aceeasi „masa” de masini se obtine
aceeasi comanda.
Initializarea parametrilor
regulatorului

Figura 27: Modulul de calcul al comenzii u


Parametrii de calcul ai
comenzii
a12, a13, a14 reprezinta procentele din fluxul de iesire al nodului sursa 1, care se distribuie
fiecarui nod destinatie in parte.

Rezultatele simularii
Cazul I: Functionarea in bucla deschisa vs. functionarea in bucla inchisa
- debit de intrare constant -

29
Figura 28: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul de
masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie (depasesc
numarul maxim adimis in intersectie).

Figura 29: Evolutia capacitatilor fazei – bucla inchisa. Congestia este evitata – masinile
nu se mai acumuleaza in intersectie – limita este evidentiata pe grafic cu roz).

30
Figura 30: Fluxul de intrare d (debit – masini/sec)

Figura 31: Fluxul de intrare d limitat de comanda u (debit – masini/sec). Debitul de


intrare d este limitat la o valoare pe care intersectia o poate asimila fara a se forma blocaje.

Figura 32: Evolutia comenzii u

Cazul II: Functionarea in bucla deschisa vs. functionarea in bucla inchisa


- debit de intrare variabil -

31
Figura 33: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul de
masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie (depasesc
numarul maxim adimis in intersectie).

Figura 34: Evolutia capacitatilor fazei – bucla inchisa (numarul de masini din fiecare
buffer). Congestia este evitata –limita este evidentiata pe grafic cu roz).

Figura 35: Fluxul de intrare d (debit – masini/sec)

32
Figura 36: Fluxul de intrare d limitat de comanda u (debit – masini/sec). Debitul de
intrare d este limitat la o valoare pe care intersectia o poate asimila fara a se forma blocaje.

Figura 37: Evolutia comenzii u

Studiu de caz II:


Se da o intersectie „cruce”, care contine doua faze de tip 3. Se cere modelul fazei precum
si algoritmul de reglare care asigura evitarea congestiei in intersectie. Intersectia „cruce” si o
faza de tip 3 sunt ilustrate in figura de mai jos. Un astfel de algoritm de reglare trebuie sa evite
congestia in conditiile urmatoare: debite de alimentare mari, debite de iesire din intersectie mici
– traficul de pe tronsoanele adiacente este aglomerat – si buffere destinatie aprope pline.

33
Figura 38: Intersectie „cruce” – faza de tip 3

Figura 39: Reprezentarea fazei de tip 3 folosind retelele compartimentale


Dar pentru acest strudiu de caz am optat pentru modelul simplificat al fazei de tip 3, fara
buffere intermediare, de intersectie. Efectul bufferelor de intersectie este inlocuit cu limitarea
fluxurilor de masini ce efectueaza virajul de stanga.

34
Figura 40: Reprezentarea fazei de tip 3 folosind retele compartimetale – modelul
simplificat
Modelul pe stare al fazei de tip 3 este urmatorul:
x1 – starea nodului sursa 1 S;
x2–starea nodului destinatie 2
E;
x3–starea nodului destinatie 3
N;
x4–starea nodului destinatie 4
V;
x5–starea nodului destinatie 5
N;
x6–starea nodului destinatie 6
S;
Structura regulatorului neliniar corespunzator modelului de retea compartimentala
descris mai sus este urmatoarea:

z2, z3, z4, z6 – starile regulatorului;


Calculul comenzii u1 si u2:

Fluxurile totale de evacuare din nodurile retelei compartimentale.

Fluxurile virtuale de evacuare din nodurile regulatorului neliniar.

35
µi reprezinta debitul maxim care poate iesi din compartimentul i;
;
In plus fata de modelul matematic, in simulare se adauga doua module de limitare a
fluxului. Pentru a simula virajul de stanga, faptul ca masinile care-l efectueaza trebuie sa
acorde prioritate celor care vin din fata, se introduce un modul de saturare a debitului de
intrare in nodul destinatie de stanga. Surplusul de flux rezultat este intors in nodul sursa.
La fel ca si in cazul anterior atat procesul cat si regulatorul trebuie initializate, trebuie alese
conditiile initiale. Conditiile initiale dicteaza numarul maxim de masini ce poate fi stocat la orice
moment de timp in intersectie. Alegerea lor se face in felul urmator: se calculeaza capacitatile libere
din fiecare buffer destinatie, daca bufferele sunt pline se renunta la calculul timpului de verde pentru
aceasta faza, pastrandu-se rosu in continuare pana cand se mai golesc din buffere. Capacitatile libere
sunt insumate, iar numarul obtinut este comparat cu numarul de masini ce se afla in bufferul sursa.
Dintre cele doua numere se alege cel mai mic initializandu-se nodul sursa cu aceasta valoare, iar
nodurile destinatie sunt initializate cu zero (se considera a fi goale). Astfel se asigura existenta in
permanenta locuri libere in bufferele destinatie. Initializarea in acest fel se realizeaza pe proces cu
regulatorul avand conditii initiale nule. Cu valorile capacitatilor libere ale bufferelor destinatie se
poate initializa direct regulatorul. Fiecare nod virtual din regulator ce corespunde unui buffer
destinatie din proces este initializat cu valoarea libera a bufferului respectiv.
Indiferent de modul de initializare, daca suma conditiilor initiale este aceeasi, comanda va fi
identica in ambele cazuri. Diferentele fiind doar la modul de evolutie al comenzii si ale starilor
procesului. Pentru conditii initiale nule pe proces si nenule pe regulator comanda pleaca de undeva
dintr-o vecinatate a lui 1 si scade pana la valoarea de regim stationar, iar starile procesului cresc din 0
spre valorile de regim stationar. In celalalt caz comanada creste de la 0 spre aceeasi valoare de regim
stationar, iar starile procesului scad spre valorile de regim stationar.
Debitele maxime de evacuare din noduri µi sunt alese astfel incat sa reflecte situatia reala din
trafic si sunt masurate in masini/sec.

Simularea fazei de tip 3 si a regulatorului corespunzator – SIMULINK

36
Figura 41: Sistemul compartimental inchis – retea faza si regulator neliniar

Figura 42: Modelul pe stare al fazei

37
Figura 43: Modelul pe stare al regulatorului compartimental

Figura 44: Modulul de calcul al comenzilor u1 si u2

Rezultatele simularii
Cazul I: Functionarea in bucla deschisa vs. functionarea in bucla inchisa
- debit de intrare constant -

38
Figura 45: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul
de masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie
(depasesc numarul maxim adimis in intersectie).

Figura 46: Evolutia (starilor sistemului) capacitatilor fazei – bucla inchisa (numarul
de masini din fiecare buffer). Congestia este evitata – masinile nu se mai acumuleaza in
intersectie (numarul lor nu depaseste maximul adimis in intersectie, in cazul de fata 10 –
aceasta limita este evidentiata pe grafic cu albastru).

39
Figura 47: Fluxurile de intrare d1 si d2 (debit – masini/sec)

Figura 48: Fluxurile de intrare d1 si d2 limitate de comanzile u1 si u2 (debit –


masini/sec). Debitule de intrare sunt limitate la o valoare pe care intersectia o poate asimila
fara a se forma blocaje.

Figura 49: Evolutia comenzilor u1 si u2

Cazul II: Functionarea in bucla deschisa vs. functionarea in bucla inchisa


- debit de intrare variabil -

40
Figura 50: Evolutia (starilor sistemului) capacitatilor fazei – bucla deschisa (numarul
de masini din fiecare buffer). Apare congestia – masinile se acumuleaza in intersectie
(depasesc numarul maxim adimis in intersectie).

Figura 51: Evolutia (starilor sistemului) capacitatilor fazei – bucla inchisa (numarul
de masini din fiecare buffer). Congestia este evitata – masinile nu se mai acumuleaza in
intersectie (numarul lor nu depaseste maximul adimis in intersectie, in cazul de fata 10 –
aceasta limita este evidentiata pe grafic cu albastru).

Figura 52: Fluxurile de intrare d1 si d2 (debit – masini/sec)

41
Figura 53: Fluxurile de intrare d1 si d2 limitate de comanzile u1 si u2 (debit –
masini/sec). Debitule de intrare sunt limitate la o valoare pe care intersectia o poate asimila
fara a se forma blocaje.

Figura 54: Evolutia comenzilor u1 si u2


Analiza rezultatelor simularii
Se poate observa foarte usor ca regulatorul neliniar propus, reuseste in fiecare caz sa evite
congestia. El calculeaza o comanda prin care se pondereaza debitul mare de intrare in intersectie
astfel incat sa se obtina un debit mai mic, care sa nu produca blocarea intersectiei. Comanda obtinuta
va fi intotdeauna intre 0 si 1. Cand se obtine o comanda foarte mica, care tinde spre zero, este de
preferat sa nu se dea verde pe aceasta faza, deoarece timpul de verde ar fi foarte mic, iar masinile in
incercarea de a trece prin intersectie ar putea-o bloca. Pentru a evita acest lucru se introduce un timp
minim de verde, iar daca regulatorul calculeaza un timp mai mic atunci se va opta pentru mentinerea
culorii rosu pentru acea faza.
Transferul comenzii spre semafor (adica transformarea ei in timp de verde), elementul de
executie din intersectie, se realizeaza folosind urmatoarea formula:

unde:
d – reprezinta debitul de intrare in nodul sursa;
dc – reprezinta debitul de intrare in nodul sursa calculat de regulator:

um – reprezinta comanda medie data de regulator (se face media pe valorile comenzii obtinute
dupa ce sistemul intra in regim stationar);
– reprezinta timpul maxim de verde admis pentru o faza;
– reprezinta timpul de verde rezultat in urma comenzii regulatorului.

Timpul de verde va fi un procent (um ) din timpul maxim de verde posibil. Daca um este foarte
mic atunci nu se va acorda verde. Chiar daca um ia orice valori intre 0 si 1, (timpul de verde) nu va
avea orice valori, ci doar un set de valori intregi calculat pe anumite intervale.

42
Concluzii
Modelarea traficului urban folosind retelele compartimentale (conservative) ofera doua
avantaje importante. Primul avantaj este faptul ca leaga in acelasi model (reprezentare) fluxul
(debitul) de masini de pe tronsoanele ce se intalnesc in intersectie, de capacitatile libere din
intersectie – capacitatile libere ale bufferelor destinatie din afara intersectiei. Astfel, se obtine prin
intermediul regulatorului neliniar calculat, o comanda ce indica fluxul optim de alimentare a
intersectiei astfel incat sa nu se creeze blocaje.
Comanda obtinuta permite modificarea timpul de verde al unei faze in conformitate cu
cerintele de trafic din acel moment. De asemenea, poate fi luata decizia de a da sau nu verde pentru
o faza, in cazul in care intersectia (capacitatile bufferelor destinatie sunt pline) este plina. Sunt
momente in care se prefera ca masinile sa se acumuleze in bufferele sursa decat sa li se dea acces in
intersectie, pe care o vor bloca din cauza lipsei de spatiu in bufferele destinatie. In plus, se poate
decide cat de mare sa fie timpul de rosu dintre faze – daca este cazul. Este de preferat ca schimabarea
fazelor sa nu se faca instantaneu (rosu pentru faza curenta si in acelasi timp verde pentru faza
urmatoare), ci sa se astepte un timp pentru a se elibera intersectia. Acest timp poate fi variat, in
functie de starea intersectiei (prin monitorizarea in permanenta a intersectiei). Aceasta fiind o
completare a algoritmului de reglare.
Al doilea avantaj este reprezentat de faptul ca acest tip de modelare ofera posibilitatea de a
descompune problema de control al traficului rutier, in problem mai mici – problema de control al
traficului din reteaua rutiera este descompusa in probleme de control al traficului prin intersectie.
Rezolvarea globala a problemei de control al traficului rutier presupune gasirea unei solutii pentru o
problema de optimizare cu constrangeri care, din cauza formei, nu are intotdeauna solutie.
In aceasta parte a raportului s-a propus o solutie de rezolvare a problemei congestiei traficului
urban. Deoarece aceasta problema nu se poate rezolva direct, s-a decis descompunerea in sub-
probleme care se pot rezolva mai usor, ulterior efectele pozitive locale (datorate rezolvarii congestiei
local) sa se extinda la intreaga retea rutiera solutionand astfel si problema globala de congestie. Sub-
problemele sunt reprezentate de controlul congestiei in intersectii, deoarece intersectiile sunt zonele
ce favorizeaza formarea congestiei. Controlul intersectiei s-a realizat prin controlul duratei fiecarei
faze in parte. Pentru fiecare faza exista cate un regulator care calculeaza timpul de verde
corespunzator, iar la nivelul de intersectie exista un supervizor care in functie de rezultatele primite
de la fiecare regulator de faza ia decizii care sa asigure o functionare fara congestii a intersectiei.
Din simulare (fara regulator – in bucla deschisa) pot obtine informatii despre : debite de
alimentare care produc congestii, faze de intersectie care sunt predispuse la aparitia congestiei,
intersectii care trebuiesc reconfigurate.
Solutia de modelare propusa ofera atat posibilitatea simularii traficului urban dintr-o retea
rutiera, punand in evidentia intersectii cu risc de congestie, faze de intersectie greu de controlat, cat si
posibilitatea calcularii unei legi de comanda a duratelor fazelor astfel incat sa se evite situatiile de
congestie.

Bibliografie capitol
[1] G.Bastin, V.Guffens, „Congestion Control in Compartmental Network Systems”;
[2] V. Guffens, H. Mounier and G. Bastin, “ Compartmental analysis of hop-by-hop congestion
control in communication networks”;
[3] G. Bastin and L. Praly, “Feedback stabilisation with positive control of a class of mass
balance systems”;
[4] G. Bastin and A. Provost, “Feedback stabilisation with positive control of dissipative
compartmental systems”;

43
Modarea cu retele Petri Hibride a intersectiilor
Sectiunea urmatoare reprezinta o completare a raportului fazei anterioare, prezentand o serie
de modele noi de tip hibrid (ca rezultat al activitatii AII.4.b - Verificarea si actualizarea bibliotecii
de modele formale – implementare); totodata aceste modele vor fi inglobate in modelul lumii pentru
agentii ce vor constitui arhitectura prezentata in capitolul urmator. Avand in vedere ca reprezinta
modele conceptuale – care necesita introducerea unei serii de parametri pentru a deveni modele de
intersectii concrete; se poate considera ca sectiunea face legatura cu activitatea AIII.4.a. - Elaborarea
de modele conceptuale pentru simularea, conducerea si optimizarea traficului – analiza si sinteza ,
facand practic legatura intre cele doua capitole de baza ale raportului.

IntersecŃie în T cu două faze de semaforizare


Faze de semaforizare:
1) 2-6, 2-4, 3-4, 3-5
2) 1-5, 1-6

6 2
3 5

4 1

Figura 55: Intersectie in T cu doua faze de semaforizare

Fluxurile de maşini pe cele trei tronsoane de intrare sunt reprezentate prin tranziŃiile I1, I2 şi
I3. Ieşirile pe cele trei tronsoane de ieşire sunt modelate prin tranziŃiile 4, 5 şi 6 (Fig.56).
Maşinile care intră pe tronsonul 2 au două posibilităŃi de deplasare:
a) către tronsonul 4 sau
b) către tronsonul 6
La fel maşinile care intră în intersecŃie pe tronsonul 1 au posibilităŃi de deplasare către
tronsoanele 5 şi respective 6, iar cele de pe tronsonul 3 către 4 sau 5. Fiecare dintre direcŃiile de
deplasare este reprezentată în model prin două informaŃii: tronson de intrare-tronson de ieşire (ex.
legătura între tonsoanele 2 şi 6 este reprezentată pe reŃea prin tranziŃia 2-6).
PoziŃiile P19, P20 şi P21 reprezintă poziŃiile complementare ce modelează capacitatea
tronsoanelor (1, 3 respectiv 2) de intrare (împreună cu poziŃiile P13, P17 şi respectiv P15).
În poziŃiile P14, P16 şi P18 se acumulează fluxurile de maşini pentru tronsoanele de ieşire (5,
4 şi respectiv 6).
PoziŃiile discrete sunt utilizate pentru a modela (împreună cu tranziŃiile continue în care intră
şi din care ies) vitezele de transfer ale maşinilor.

44
P19
0

P10 P8
5 u6=1
I2 u3=1

P13 P14
0 0

P1 P2
2-6 u4=1
P7 2-4 u5=1

P18
0
6 u14=1

P5 Faza 2 d1=1

Faza 1 d2=1

P11
3-5 u12=1

P20 P17
I3 u11=1
0 0

P16
P6 P3 P4
0 1-6 u8=1 1-5 u9=1

P9
P15
0
3-4 u13=1 4 u10=1

P12
I1 u7=1

P21
0

Figura 56: Model Petri hibrid pentru o intersectie in T cu doua faze de semaforizare

45
IntersecŃie în cruce cu două faze de semaforizare
IntersecŃia în cruce este prezentată în figura 57. Caracteristica unei intersecŃii în cruce cu două
faze de semaforizare constă în faptul că verdele pe o fază permite deplasarea în toate direcŃiile pentru
vehiculele ce vin din direcŃii opuse (ex. 1 şi 3 sau 2 şi 4).
Faze de semaforizare:
1) 1-6, 1-7, 1-8, 3-8, 3-5, 3-6;
2) 2-7, 2-8, 2-5, 4-5, 4-6, 4-7.

3 7

8 2
4 6

5 1

Figura 57: Intersectie in cruce cu doua faze de semaforizare

Fluxul de maşini pe fiecare tronson de intrare este modelat prin intermediul unei tranziŃii al cătrei
nume începe cu I (I1, I2, I3, I4), indicele reprezentând numărul trosonului pe care respectiva tranziŃie îl
modelează (Fig.58).
Fluxul de maşini pe tronsoanele de ieşire este modelat prin intermediul tranziŃiilor al căror nume
începe cu O (O5, O6, O7 şi O8), indicele reprezentând numărul tronsonului de ieşire modelat.
Fluxul de maşini pe diversele direcŃii de deplasare este modelat prin intermediul tranziŃiilor de tip
„i-o” (în care i reprezintă numărul tronsonului de ieşire şi o numărul tronsonului de intrare).
PoziŃiile P13, P14, P15 şi P16 sunt poziŃii complementare utilizate pentru a modela capacitatea
tronsoanelor de intrare.
Cele două faze de semaforizare sunt modelate prin tranziŃiile discrete Faza 1 şi Faza 2. Aceste
tranziŃii au ca poziŃii de intrare poziŃii discrete ce restricŃionează execuŃia tranziŃiilor continue
corespunzătoare direcŃiilor de deplasare din cadrul celeilalte faze şi ca poziŃii de ieşire poziŃiile discrete
ce restricŃionează execuŃia tranziŃiilor continue corespunzătoare deplasării pe direcŃiile din cadrul fazei.
Modelul prezentat este unul general. El poate fi particularizat pentru diverse tipuri de intersecŃii
in cruce cu două faze de semaforizare. Particularizarea constă în stabilirea diverşilor parametrii:
- durate de timp,
- viteze asociate tranziŃiilor continue,
- capacităŃile tronsoanelor de intrare în intersecŃie,
- numărul de maşini existent pe fiecare tronson la momentul iniŃial
- absenŃa anumitor direcŃii de deplasare prin suprimarea tranziŃiilor continue corespunzătoare (şi a
poziŃiilor discrete asociate acestora).
46
P13
0

I3 u1=1 O7 u5=1
P9

P1 P2
0 0
2-7 u17=1

P11 P17 P18


3-8 u2=1 3-5 u3=1 3-6 u4=1
P23

P6 P7 P16
0 0 0
O8 u15=1 2-8 u18=1 I2 u16=1

Faza 2 d21=1
Faza 1 d22=1
P10 2-5 u19=1

P24

4-7 u12=1
P8
O6 u20=1
0

P14 P5
I4 u11=1
0 0
4-6 u13=1
P4
P12 P19 P20
0 1-8 u7=1 1-7 u8=1 1-6 u9=1
P21

P3
O5 u10=1 0

4-5 u14=1
I1 u6=1

P22
P15
0

Figura 58. Model retele Petri hibride pentru intersectie in cruce cu doua faze de semaforizare

47
IntersecŃie în T cu două faze de semaforizare (2)
Faze de semaforizare (Fig.59):
3) 2-6, 2-4, 3-4, 3-5
4) 1-5, 1-6, 3-4

6 2
3 5

4 1

Figura 59: Intersectie in T cu doua faze de semaforizare (varianta)

Deplasarea maşinilor pe direcŃia 3-4 se poate face atât pe faza 1 de semaforizare cât şi pe faza 2,
această direcŃie nerestricŃionând deplasarea maşinilor ce vin de pe tronsonul 1.
Pentru ca acest lucru să fie posibil este nevoie ca tronsonul 3 să fie caracterizat de cel puŃin două
benzi, cel puŃin una dintre ele fiind afectată deplasării pe direcŃia 3-4. Acesată particularitate va fi
evidenŃiată şi în model prin diferenŃierea pentru tronsonul 3 a numărului de maşini funcŃie de direcŃia de
deplasare a acestora.
Fluxurile de maşini pe cele trei tronsoane de intrare sunt reprezentate prin tranziŃiile I1, I2 şi I3.
Ieşirile pe cele trei tronsoane de ieşire sunt modelate prin tranziŃiile O4, O5 şi O6 (Fig. 60).
Maşinile care intră pe tronsonul 2 au două posibilităŃi de deplasare:
c) către tronsonul 4 sau
d) către tronsonul 6
La fel maşinile care intră în intersecŃie pe tronsonul 1 au posibilităŃi de deplasare către
tronsoanele 5 şi respective 6, iar cele de pe tronsonul 3 către 4 sau 5. Fiecare dintre direcŃiile de
deplasare este reprezentată în model prin două informaŃii: tronson de intrare-tronson de ieşire (ex.
legătura intre tonsoanele 2 şi 6 este reprezentată pe reŃea prin tranziŃia 2-6). Pentru deplasarea maşinilor
de pe tronsonul 3 pe tronsonul 4 avem (conform modelului) două posibilităŃi: pe faza 1 de semaforizare -
tranziŃia 3-4(1) sau pe faza 2 de semaforizare – tranziŃia 3-4(2). În acest model, capacitatea tronsonului 3
a fost divizată în două părŃi: capacitatea trosonului 3 pentru maşinile care se deplasează către trosonul 5
(modelată prin poziŃiile P10 şi P14) şi capacitatea tronsonului 3 pentru maşinile care se deplasează către
trosonul 4 (modelată prin poziŃiile P17 şi P18)
Pentru modelarea capacităŃilor tronsonelor de intrare 1 şi 2 sunt folosite poziŃiile complementare
P8 şi P15 (pentru tronsonul 1) şi respectiv P12 şi P16 (pentru tronsonul 2).
În poziŃiile P9, P11 şi P13 se acumulează fluxurile de maşini pentru tronsoanele de ieşire (4, 6 şi
respectiv 5).
PoziŃiile discrete sunt utilizate pentru a modela (împreună cu tranziŃiile continue în care intră şi
din care ies) vitezele de transfer ale maşinilor. PoziŃiile discrete corespunzătoare tranziŃiilor continue ce
modelează deplasarea pe direcŃiile fazei 1 de semaforizare sunt poziŃii de ieşire din tranziŃia discretă
„Faza 1” şi de intrare pentru tranziŃia discretă „Faza 2”. Similar pentru poziŃiile discrete corespunzătoare
tranziŃiilor continue ce modelează deplasarea pe direcŃiile fazei 2 de semaforizare.
48
Faza 2 d2=1

Faza 1 d1=1 P6

P11 P12 P16


0 0 0
O6 u11=1 2-6 u13=1 I2 u12=1

P3 2-4 u14=1

P7

P14
3-5 u8=1
0 P10 P13
I3 u7=1 O5 u15=1
0 0

3-4(!) u9=1
P9
P1 P2
0 1-6 u4=1
1-5 u5=1
P4
P18 P17
I3 u16=1
0 0 P8
O4 u6=1 0

3-4(2) u10=1
I1 u3=1

P5
P15
0

Figura 60: Model retea Petri hibride pentru intersectia in T din figura 59

49
IntersecŃie în cruce cu trei faze de semaforizare
Faze de semaforizare (Fig.61):
1) 1-6, 1-7, 1-8, 3-8, 3-5, 3-6
2) 4-5, 4-6, 4-7
3) 2-7, 2-8, 2-5

3 7

8 2
4 6

5 1

Figura 61. Intersectie in cruce cu trei faze de semaforizare

La fel ca şi în cazul celorlalte modele prezentate, fluxul de maşini pe tronsoanele de intrare este
modelat prin tranziŃii al căror nume începe cu „I”, cel de pe tronsoanele de ieşire cu tranziŃii al căror
nume începe cu „O”. De asemenea, legăturile între două tronsoane sunt marcate printr-o numerotare de
forma i-j, unde i reprezintă indicele tronsonului de intrare iar j pe cel al tronsonului de ieşire.
Pentru o mai uşoară înŃelegere a legăturilor ce se realizează în model între diversele elemente ale
acestuia, arcele ce leagă poziŃiile discrete ce corespund deplasării în cadrul unei faze de semaforizare de
tranziŃiile discrete au fost colorate identic (Fig. 62).

ParticularităŃi ale modului de conectare a modelelor obŃinute.


Deşi nu face obiectul studiului actual, modelele corespunzătoare unor intersecŃii pot fi legate
între ele pentru a realiza modelul unui ansamblu de intersecŃii (în cazul în care se doreşte simularea
evoluŃiei acestuia). Compunerea constă în identificarea elementelor (a tranziŃiilor) ce modelează acelaşi
lucru şi „contopirea” acestora într-o singură tranziŃie.
Să presupunem că se conectează o intersecŃie de tip T cu una de tip cruce: tronsonul 1 al
intersecŃiei de tip T este conectat cu tronsonul 7 al intersecŃiei cruce.
În model acest lucru se realizează prin „contopirea” tranziŃiilor I1 (a modelului corespunzător
intersecŃiei în T) cu O7 (din modelul corespunzător intersecŃiei în cruce). Aceasă contopire va avea ca
rezultat înlocuirea celor două tranziŃii cu o alta care va avea ca poziŃii de intrare reunniunea între
mulŃimea poziŃiilor de intrare în I1 şi mulŃimea poziŃiilor de intrare în O7 iar ca poziŃii de ieşire
reuniunea între mulŃimea poziŃiilor de ieşire din I1 şi mulŃimea poziŃiilor de ieşire din O7. Astfel, în
tranziŃia rezultată vor intra atât P15 (din modelul corespunzător intersecŃiei în T) cât şi P14 (din modelul
corespunzător intersecŃiei în cruce). Ca poziŃie de ieşire, tranziŃia rezultată va avea doar pe P8 din
modelul intersecŃiei în T. Astfel au fost compuse cele două într-unul ce modelează două intersecŃii
legate.

50
P21
0
P1

I3 u1=1 O7 u5=1

P13 P14
0 0
2-7 u17=1

P2 P3 P4
3-8 u2=1 3-5 u3=1 3-6 u4=1
P11

P18 Faza 1 d21=1 P19 P24


0 0 0
O8 u15=1 2-8 u18=1 I2 u16=1

P8 2-5 u19=1
Faza 2 d23=1
P12

4-7 u12=1
P20
O6 u20=1
0

P22 P17
I4 u11=1
0 0
4-6 u13=1
P16
P5 P6 P7
0 1-8 u7=1 1-7 u8=1
P9 1-6 u9=1

P15
O5 u10=1 0

4-5 u14=1
I1 u6=1

P10 Faza 3 d22=1


P23
0

Figura 62. Modelul retele Petri hibride al intersectiei din fig.61

51
Capitolul II: Arhitectura multiagent pentru simularea retelelor de trafic
urban

Elemente de configurare ale unei arhitecturi multi-agent


Notiunea de agent
Diversificarea si complexitatea crescanda a aplicatiilor (din domeniile : inteligenta
artificială, robotica, interactiunea om-calculator, calculul distribuit, interfetele inteligente si
adaptabile, căutare pe Web, achizitia de cunostinte) au atras dupa sine necesitatea proiectarii de
sisteme de calcul inzestrate cu capacitati decizionale si responsabilitati, in scopul indeplinirii
obiectivelor aplicatiei. Aceste sisteme de calcul sunt denumite agenti si sunt capabile de actiuni
autonome ce trebuie efectuate in mediul de operare asociat, in scopul atingerii obiectivelor de
proiectare.
Desi nu exista o definitie unanima a notiunii de agent, intr-o larga acceptatie,
caracteristica centrala (principala) a unui agent sau comunitati de agenti (agentia) este
autonomia. Intr-o prima etapa, autonomia este definita ca fiind capacitatea de a actiona fara
interventia operatorului uman sau a altor sisteme. O alta interpretare a autonomiei este controlul
starii interne cat si a comportamentului agentilor. Importanta diferitelor atribute asociate unei
agentii variaza in functie de domeniul de aplicatie. De exemplu, in unele aplicatii, capacitatea de
invatare din propria experienta este primordiala, in timp ce in alte aplicatii, nu este necesara.
Agentul poate fi o unitate de procesare care opereaza in paralel cu alti agenti, un sistem
complet de procesare a informatiei. Este format din mecanisme de receptie-emisie mesaje,
memorie (pentru mentinerea unor stari), un procesor care analizeaza evenimentele de tip intrare,
actualizeaza starea prezenta si executa o serie de actiuni, interactionand cu alti agenti.
In figura 63 este prezentata o abstractizare a notiunii de agent care opereaza intr-un mediu
aferent. Agentul percepe semnale din mediu, prin intermediul senzorilor de intrare si genereaza
actiuni asupra mediului, care determina modificarea acestuia. Interactiunea agent-mediu este
nelimitata, ciclica, existand o influenta reciproca a unei entitati asupra celeilalte. Totusi, in
majoritatea domeniilor de complexitate rezonabila, mediul de operare al agentilor este
nedeterminist: actiuni identice, executate aparent in aceleasi circumstante pot avea efecte diferite
sau chiar nedorite (posibilitatea de eroare).

Agent

Senzor intrare Actiune iesire

Mediu

Figura 63. Interactiunea agent-mediu

52
De regula, un agent are asociat un set de actiuni disponibile, reprezentand capacitatatea
lui de a-si modifica propriul mediu. Trebuie precizat ca aceste actiuni nu pot fi executate in orice
situatie, ci doar cand pre-conditiile aferente sunt indeplinite.
Problema cheie cu care se confrunta un agent este de a decide care dintre actiuni sa fie
executate in scopul indeplinirii optime a obiectivului sau. La baza proiectarii sistemelor
decizionale se afla arhitecturile software de agenti, care sunt incorporate in mediul de lucru. Din
acest motiv, complexitatea proceselor decizionale poate fi afectata de proprietatile mediului. O
clasificare a acestor proprietati este prezentata in continuare:
- Medii accesibile/medii inaccesibile
Un mediu este accesibil unui agent, daca aparatul senzorial al respectivului agent ii
permite acestuia accesul la informatii complete, precise, actuale despre starea mediului. Detectia
aspectelor relevante din mediu conduce la alegerea unei anumite actiuni de executat. Un agent
care actioneaza intr-un mediu accesibil nu are nevoie de o stare interna care sa conserve
informatii despre starile anterioare. Cu cat mediul este mai accesibil, cu atat este mai usor de
construit agenti care sa opereze in el. In general, cele mai complexe medii (mediul fizic,
Internetul) sunt inaccesibile.
- Medii deterministe/medii nedeterministe
Dupa cum s-a mentionat anterior, un mediu este determinist (din punctul de vedere al
unui agent), daca orice actiune a agentului are o singura consecinta garantata. Cu alte cuvinte,
starea urmatoare a mediului este determinata complet de catre starea curenta si de actiunile
selectate de catre respectivul agent. Mediul fizic inconjurator poate fi vazut ca mediu
nedeterminist, si ridica probleme de proiectare a agentilor.
- Mediu static/mediu dinamic
Un mediu static este cel care ramane neschimbat sub actiunea agentului. Un mediu este
dinamic pentru agent in cazul in care acesta se schimba in timp ce agentul delibereaza. In cadrul
unui mediu dinamic, agentul trebuie sa tina seama de schimbarile intervenite in timp ce el alege
o actiune.
- Mediu discret/mediu continuu
Un mediu este discret in cazul in care exista un numar finit de actiuni si perceptii.
- Mediu episodic/mediu neepisodic
In cadrul unui mediu episodic, experienta agentului este divizata in episoade. Un episod
nu depinde de actiunile ce au aparut in vreunul din episoadele anterioare.
Mediile care sunt inaccesibile, dinamice, continue si neepisodice reprezinta cazurile cele
mai dificile pentru proiectarea unui agent. Un controler pentu un sistem complex sau un
instructor interactiv pentru invatarea unei limbi straine sunt agenti inteligenti care actioneaza in
cadrul unui astfel de mediu.
Avand in vedere multitudinea de roluri pe care le poate avea un agent, pe langa autonomie,
comportamentul acestuia este evidentiat de o serie de proprietati generale:
• comunicare – abilitatea de a interactiona cu alti agenti sau persoane prin intermediul
unui limbaj de comunicare specific agentilor KQML

53
• reactie – capacitatea de a reactiona in mod selectiv la schimbarile de mediu
• initiativa – abilitatea de a nu reactiona doar ca raspuns la mediu ci si din proprie
initiativa
• continuitati in timp – spre deosebire de programele obisnuite care se termina cand
procesarea se termina, agentul continua sa ruleze monotorizand continuu evenimentele
care-i vor declansa actiunea
• orientarea spre un anumit scop – agentul actioneaza astfel incat sa-si indeplineasca
scopul in interesul utilizatorului
Alte caracteristici, suplimentare, ale agentilor pot fi:
• mobilitate
• bunavointa – ca agentul nu are scopuri conflicte,agentul incearca sa execute ceea ce i se
impune
• inteligenta – capacitatea de a invata ,de a-si perfectiona performantele in timp
• adaptabilitate
Agentii care indeplinesc doar caracteristici generale sunt numiti agenti slabi (reactivi), iar
cei care indeplinesc si caracteristici suplimentare sunt numiti agenti complecsi (cognitivi).
Un agent poate fi definit izolat sau in comunitate cu alti agenti (Sistemele Multi-Agent).
Un sistem multiagent este un sistem distribuit format dintr-o colectie de agenti autonomi care
actioneaza intr-un mediu comun, fiecare agent acumuleaza cunostinte, capacitati si scopuri
proprii. In functie de tipurile de agenti, rezulta doua categorii de sisteme multiagent:
• cu agenti cognitivi SMAC - urmaresc sa simuleze aspecte cu comportament uman prin
tratarea notiunilor de scop cooperare, competitie, organizare, structuri sociale
• cu agenti reactivi SMAR- sistem in care agentii sunt unitati care prelucreaza informatie,
reactioneaza la schimbarile de mediu si executa actiuni simple corespunzatoare acelor
schimbari.Un astfel de sistem este inspirat din organizatii si activitati a comunitatilor
biologice de insecte.
Agenti inteligenti
Agentii care trebuie sa opereze robust in mediu dinamic, impredictibil sau deschis, si sunt
capabili de actiuni autonome flexibile in acest mediu, care conduc la executarea obiectivelor de
proiectare, se numesc agenti inteligenti. Flexibilitatea presupune urmatoarele
caracteristici necesare simultan:
- reactivitate – agentul este capabil sa perceapa mediul si sa raspunda intr-un
anumit timp la evenimentele(schimbarile) ce au loc in mediu pentru a satisface
obiectivele de proiectare ; modificarile mediului afecteaza atat obiectivele
agentului cat si pre-conditiile procedurilor executate de agent.
- pro-activitate - agentii inteligenti sunt capabili de un comportament orientat pe
scop, prin luarea initiativei in scopul indeplinirii obiectivelor ; aceasta proprietate
este o cerinta naturala , intalnita ori de cate ori este scrisa o procedura - bazata pe
definirea pre-conditiilor si obtinerea post-conditiilor in cazul validarii primelor.

54
Cu alte cuvinte, comportamentul orientat pe scop presupune stabilirea unui plan
de actiune.
Problema care se pune este asigurarea unei balante intre reactivitate si pro-activitate. Este de
dorit ca, pe de o parte, agentii sa urmaresca sistematic atingerea obiectivelor (dar numai in
conditii de validitate a actiunilor care trebuie efectuate sau a scopului) iar pe de alta parte, sa fie
capabili sa reactioneze in timp la noi situatii.
- abilitate sociala - agentii inteligenti sunt capabili sa interactioneze cu alti agenti
in scopul satisfacerii obiectivelor de proiectare. Aceasta cerinta este mai cu seama
valabila pentru comunitatile de agenti, in care cooperarea, partajarea obiectivelor,
negocierea intre entitati sunt dorite in scopul indeplinirii obiectivelor. Notiunea de
autonomie se reflecta in puterea agentului de a decide daca executa sau nu o
actiune la cererea unui alt agent.
Modul de lucru al agentilor inteligenti
Agentii inteligenti opereaza in cadrul unui mediu software cum ar fi sistemele de operare, bazele
de date sau retelele de calculatoare.Tehnologia aflata in spatele agentilor inteligenti este o
combinatie de tehnici din domeniul inteligentei artificiale si de metodologii de dezvoltare a
sistemelor, cum ar fi programarea orientata pe obiecte, care permite programelor atat sa invete
cat si sa reactioneze la mediul inconjurator. Agentii inteligenti interactioneaza cu mediul din care
fac parte prin criterii de selectie a datelor bazate pe reguli.
Un agent inteligent isi dezvolta regulile corespunzatoare prin intermediul instructiunilor
explicite furnizate de utilizator, prin imitarea utilizatorului, prin feedback (raspuns) pozitiv sau
negativ primit de la utilizator si prin indicatii obtinute in urma interactionarii cu agenti
inteligenti.

Arhitecturi abstracte de agenti inteligenti


O arhitectura de agent este o descriere functionala a componentelor interne ale unui
agent : structuri de date, operatii care pot fi efectuate asupra datelor, si fluxul de control intre
structurile de date. Diferitele tipuri de arhitecturi de agenti izvorasc din modul in care sunt

proiectate structurile de date si algoritmii din cadrul unui agent.


*
Formal, un agent standard poate fi descris ca o functie de tipul actiune : S → A unde
S = {s1 , s2 ,..}
constituie multimea starilor mediului (la un anumit moment de timp, mediul este
caracterizat de o anumita stare) , iar A = {a1 , a2 ,...} este multimea actiunilor pe care le poate efectua
agentul. Ideea de baza este ca agentul poate decide asupra actiunilor sale pe baza experientei
(istoricului)– descrisa de starile mediului, pe care agentul le-a intalnit in trecut.

55
Comportamentul unui mediu poate fi modelat ca o functie env : S × A → p( S ) care descrie
executarea unei actiuni a dintr-o anumita stare s. Daca starea rezultata este multipla, atunci
comportamentul mediului este nedeterminist. Istoria interactiunii agent-mediu poate fi
a0 a1 a2 au −1 au
h : s0 → s1 → s2 → s3 ... → su → ...
reprezentata ca secventa , unde s0 este starea initiala a mediului (din
care agentul incepe se execute procedura asociata) au este actiunea cu indexul u, pe care agentul o
alege de executat, iar su este starea cu indexul u a mediului. Secventa de mai sus va reprezenta o
posibila istorie a agentului daca si numai daca se pastreaza urmatoarele conditii:
∀u ∈ N , au = action ( ( s0 , s1 ,..su ) )
si ∀u ∈ N astfel incat u > 0, su ∈ env( su −1 , au −1 ) .
Comportamentul caracteristic al agentului actiune intr-un mediu env este multimea
tuturor secventelor care satisfac aceste proprietati. In general, ceea ce intereseaza este un
comportament nelimitat, cu secvente infinite.
Anumiti agenti decid asupra actiunilor fara sa tina cont de comportamentul anterior
(istoria actiunilor lor). Ei isi bazeaza procesul de decizie doar pe prezent, fara nicio referire la
trecut. Acestia sunt agentii pur reactivi, care pur si simplu raspund la mediul lor. Formal, se
definesc ca o functie actiune : S → A , cu semnificatia ca fiecare agent reactiv poate avea un
echivalent de agent standard.
Modelul abstractizat al agentului poate fi rafinat prin descompunerea in doua
susbsisteme: subsistemul de perceptie si subsistemul de actiune (fig.64).

Perceptie Actiune

Agent

Figura 64. Blocuri componente ale entitatii agent

Functia perceptie captureaza abilitatea agentului de a observa mediul sau, in timp ce functia
actiune reprezinta procesul de decizie al agentului. In general functia de perceptie este
implementata hardware in cazul in care agentul este plasat in mediul fizic, si este definita formal
astfel
perceptie : S → P
, unde P este o multime iesirilor blocului de perceptie (sau a semnalelor de
intrare perceptual). Functia perceptie transforma starile mediului in semnale de perceptie.
Functia actiune este redefinita astfel :
actiune : P* → A
care transforma secvente de perceptie in actiuni.
O interpretare mai naturala a procesului de decizie (in locul celui bazat pe istoricul
actiunilor) este de a considera ca agentii isi mentin starea (fig. 3). Acestia au o anumita structura
de date interna, utilizata pentru inregistrarea informatiilor despre starea mediului si istorie. Daca
I este multimea tuturor starilor interne ale agentului, atunci procesul de decizie este bazat, in

56
parte, pe aceasta informatie. Functia de perceptie este similara cu cazul anterior, insa functia de
selectare a actiunilor este definita acum ca fiind actiune : I → A , de la stari interne la actiuni.
De asemenea este introdusa o functie de succesiune
succesiune : I × P → I ,

care face o corespondenta intre perechea stare (interna, perceptie) si starea interna. (fig. 65)

Perceptie Actiune

succesor stare

Agent

Figura 65. Model de agent bazat pe stare


Comportamentul unui agent bazat pe stare poate fi sumarizat astfel : din starea initiala i0,
agentul observa starea mediului s si genereaza un semnal de perceptie perceptie(s). Starea interna
a agentului este dupa aceea actualizata prin functia succesiune, devenind succesiune
(i0,perceptie(s)). Actiunea selectata de agent va fi actiune(succesiune (i0,perceptie(s))). Dupa
executarea acestei actiuni, agentul urmeaza un alt ciclu de perceptie-succesiune-actiune.
In scopul implementarii functiei de decizie, se considera 4 clase de agenti :
- agenti bazati pe logica – in care procesul de decizie este realizat prin deductie logica
- agenti reactivi – in care procesul de decizie este implementat intr-o forma de corespondenta
directa de la situatie la actiune ;
- agenti bazati pe paradigma convingeri-dorinte-intentii – in care decizia depinde de maniera de
utilizare a structurilor de date reprezentative pentru convingeri, dorinte si respectiv intentii
- arhitectura ierarhizata (stratificata) - in care procesul de decizie este realizat prin diferite
niveluri software, fiecare din ele prezentand un rationament despre mediu la diferite niveluri de
abstractizare.
Fiecare din cele 4 tipuri de arhitecturi este caracterizata de o anumita structura interna a
agentului si de modul de operare al acestuia.

Arhitectura bazata pe logica


Este inspirata dintr-o abordare « traditionala » de proiectare a sistemelor bazate pe
inteligenta artificiala in care sistemului i se asociaza reprezentari simbolice ale mediului si ale
comportamentului dorit. Reprezentarea simbolica, in cazul de fata, este specificata prin formule
logice iar manipularea sintactica corespunde deductiei logice.

57
Starea interna a agentului consta intr-o baza de date de formule descrise prin logica
predicativa de ordinul I. Baza de date reprezinta informatia pe care agentul o poseda despre
mediul in care actioneaza si este intr-o oarecare masura asemanatoare cu convingerile unei fiinte
umane. Considerand L un set de propozitii bazate pe logica de ordinul I si D=p(L) multimea de
baze de date cu L elemente, atunci starea interna a agentului este un element al lui D, notat prin
∆, ∆1
…Procesul de decizie al agentului este modelat printr-un set de reguli deductive ρ , care
sunt reguli simple de inferenta. Functia de pereceptie a agentului ramane neschimbata (fig.2), in
timp ce functia de succesiune devine succesiune : D × P → D . Ea realizeaza corespondenta intre o
pereche de tip (baza de date, perceptie) si o noua baza de date. Functia de selectare a actiunii
devine actiune : D → A si este definita in termenii regulilor deductive.
Un neajuns major al acestei arhitecturi este ca procesul decizional devine dificil in cazul
in care mediul este dinamic, cu schimbari rapide : daca la un moment de timp t1 agentul
genereaza o baza de date ∆1 si incepe sa aplice regulile ρ , la un alt moment ulterior t2 decide ca
trebuie sa execute o anumita actiune a ; insa daca mediul a suferit modificari in intervalul t1-t2,
optimalitatea actiunii a nu mai este garantata.
Desi in aparenta simpla, proiectarea arhitecturii bazate pe logica se confrunta cu o serie
de probleme, ca de exemplu : transformarea informatiilor despre mediu in descriere simbolica
(declaratii) , reprezentarea (si rationarea) informatiilor temporale.

Arhitectura reactiva
Este caracterizata de doua trasaturi definitorii :
• procesul decizional se bazeaza pe o multime de comportamente oientate pe
indeplinirea obiectivelor ; fiecare comportament poate fi interpretat ca o
functie actiune individuala, care, in mod continuu, percepe semnalul de
intrare si il transforma intr-o actiune de executat. Fiecare din modulele
comportamentale este destinat indeplinirii unei anumite sarcini si poate fi
implementat , de exemplu (), prin automate cu numar finit de stari. In
multe cazuri, comportamentele sunt implementate prin reguli de forma :
situatie → actiune care asociaza intrarii perceptuale o actiune.
• pot fi executate simultan mai multe comportamente, alegerea unei anumite
actiuni la un moment dat facandu-se printr-un mecanism de selectie.
Modulele comportamentale pot fi asezate ierarhic , pe niveluri, unde
nivelurile de la baza sunt capabile sa inhibe nivelurile superioare, avand
prioritati mai mari.
Functia de decizie « actiune » este realizata printr-o multime de comportamente,
impreuna cu o relatie de inhibare care se mentine intre aceste comportamente. UN comportament
este o pereche (c,a) unde c ⊆ P este un set de perceptii numite conditii, si a ∈ A este o actiune. Un
comportament (c,a) se va executa cand mediul este in starea s ∈ S daca si numai daca
perceptie( s ) ∈ c . Asociate cu o multime de reguli comportamentale ale unui agent,
R ⊆ Beh este o relatie de inhibare pe multimea comportamentelor : p ⊆ R × R . Aceasta relatie

reprezinta o ordonare totala pe R (tranzitiva, nereflexiva si antisimetrica). Se scrie b1 p b2 daca


( b1 , b2 ) ∈p si reprezinta « b1 inhiba b2 », adica b1 este mai prioritar decat b2.

58
Selectia actiunii incepe prin calcularea multimea tuturor comportamentelor care pot fi
executate. Dupa aceea, fiecare comportament (c,a) care se executa, este verificat in scopul
sesizarii unui alt comportament de prioritate mai ridicata care s-ar putea executa. In caz contrar,
atunci actiune a a comportamentului, este selectata. Daca niciun comportament nu se executa,
atunci nicio actiune nu va fi selectata.
Cateva avantaje evidente ale arhitecturii reactive sunt : simplitate, economie, portabilitate
computationala, robustete la defecte, eleganta. Exista insa si cateva probleme fundamentale
nerezolvate, valabile in general pentru arhitecturi reactive :
- daca agentii nu utilizeaza modele ale mediului lor, atunci ar trebui sa aiba
suficienta informatie disponibila in mediul lor local, pentru a decide o actiune
acceptabila ;
- deoarece agentii pur reactivi iau decizii bazate pe informatii locale (de exemplu
despre starea curenta a agentului ) este dificil de observat cum procesul de decizie
ia in considerare informatia ne-locala (va trebui sa tina seama de o informatie :pe
termen scurt »)
- este dificil de inteles cum agentii reactivi pot fi proiectati astfel incat sa invete din
experienta, si sa isi imbunatateasca performantele in timp.
- Un aspect important al sistemelor pur reactive este ca intregul comportament
provine din interactiunea comportamentelor componente, cand agentul este plasat
in mediul sau. Relatia dintre comportamentele individuale, mediu si
comportamentul global este slab inteleasa, ceea ce face dificila indeplinirea
obiectivelor de catre agenti. De aceea, proiectarea agentilor nu se face pe baza
unei metodologii principiale, ci printr-un proces laborios de experimentari,
incercari, esecuri.
- In timp ce agentii efectivi pot fi generati cu un numar mic de comportamente
(tipic, mai putin de 10 niveluri) este mult mai dificila proiectarea agentilor care sa
contina mai multe niveluri. Dinamica interactiunilor intre diferite comportamente
devine prea complexa.
Pentru rezolvarea acestor neajunsuri au fost propuse variate solutii, una dintre cele mai
populare fiind ideea de agenti evolutivi care indeplinesc anumite sarcini.
Un exemplu de arhitectura reactiva este arhitectura Subsumption a lui Brooks (fig. 66).

59
P . A
E C
R . T
C I
E U
P N
T Explorare E
I
E Analiza

Evitare obstacole

Figura 66. Arhitectura Brooks


Prin arhitectura lui Brooks s-au putut implementa fizic robotii (prin conectarea perceptiilor cu
actiunea). Arhitectura consta intr-o serie de module, fiecare dintre ele fiind descris intr-un limbaj
bazat pe automatele finit deterministe (AFSM). AFSM proceseaza doar unitati din arhitecturi si
nu simboluri ca in cazul inteligentei artificiale . Modulele sunt grupate si plasate in nivele (ce
lucreaza asincron) astfel incat modulele de nivel inalt le pot inhiba pe cele de nivel inferior.
Fiecare nivel are un anumit comportament(behaviour ) . Arhitectura lui Brooks este un set de
comportamente simple, bazata pe :automatele finit deterministe, reguli care determina actiuni in
functie de situatie si retele neurale .Ordonarea comportamentelor se face in ordinea aparitiei
acestora. Aceasta arhitectura este o colectie de procese ce schimba mesaje .Un mesaj poate fi
blocat intr-un nod inhibitor de alt mesaj .Un mesaj poate fi inlocuit intr-un nod de tip
subsumption cu un alt mesaj .
In prezent exista foarte putine aplicatii ce se bazeaza pe agenti reactivi .Dezavantajele
acestui tip de arhitectura constau in dificultatea de a construi un sistem ce are un comportament
multiplu ;de asemenea un comportament care nu este prezis in design-ul agentilor reactivi nu este
de dorit , acelasi lucru fiind valabil si in cazul invatarii nemonitorizate intr-un astfel de sistem . O
aplicabilitate a acestora o constituie industria jocurilor pe calculator .

Arhitectura BDI (Belief-Desire-Intention)


Arhitecturile logice BDI au fost aplicate pentru anumite probleme practice cum ar fi
controlul traficului aerian, manipulatoare navelor cosmice, managementul telecomunicatiilor. Ele
reprezinta cel mai bun mod de a implementa un sistem de rationare practica (PRS-Practical
Reasoning System) – procesul de a decide, pas cu pas, asupra actiunilor de executat in scopul
indeplinirii scopurilor indepartate.
Rationarea practica implica doua procese importante:
• Deliberare-deciderea asupra scopurilor ce trebuie atinse
• Rationament mijloace-scopuri –cum se ating aceste scopuri .

60
Procesul de decizie incepe prin a analiza toate optiunile disponibile. Dupa generarea
setului de alternative, se decide care dintre acestea va fi aleasa. Optiunile alese se concretizeaza
in intentii care vor determina actiunile agentului. Astfel, intentiile influenteaza rationamentul
practic viitor al agentului. In plus, odata ce s-a adoptat o intentie, aceasta impune constrangeri
asupra rationamentului practic viitor. Prin analiza mijloace-scopuri se aplica constrangeri asupra
deliberarii viitoare (anumite optiuni inconsistente nu sunt mentinute) , dar se are in vedere si
nevoia de persistenta asupra acesteia (intentiile persista pana cand au fost atinse sau au fost
gasite imposibil de indeplinit).
Pe scurt, intentiile joca un rol multiplu in rationarea practica :
- intentiile conduc catre rationament mijloace-scopuri
- intentiile limiteaza deliberarea viitoare;
- intentiile persista;
- intentiile influenteaza convingerile pe se bazeaza rationamentul practic viitor.
O problema cheie in proiectarea agentilor cu rationament practic este de a realiza un bun
echilibru intre aceste cerinte. De exemplu, este posibil ca un agent sa fie nevoit sa renunte la
anumite intentii (fie pentru ca incepe sa creada ca acestea nu vor fi niciodata indeplinite, fie ca au
fost indeplinite , fie ca motivul intentiilor nu mai este valabil). Prin urmare, este necesar ca, din
cand in cand, agentul sa isi reevalueze intentiile, ceea ce devine costisitor atat din punct de
vedere al timpului consumat cat si al resurselor de calcul. Reconsiderarea intentiilor, fie nu
suficient de des, fie dimpotriva, constant, poate conduce la neindeplinirea acestora, din diferite
motive. Aceasta dilema este in mod esential problema de gasire a unui echilibru intre un
comportament pro-activ (orientat pe scop) si unul reactiv (condus de evenimente).
Asadar, arhitecturile BDI se bazeaza pe structuri de date reprezentand:
• convingeri (Beliefs) = informatii pe care agentul le are despre mediu
• dorinte (Desires) = stari pe care agentul doreste sa le realizeze
• intentii (Intentions) = dorinte (sau actiuni) pe care agentul s-a angajat sa le indeplineasca
si pe functii care ilusteaza rationarea practica.
Procesul de rationare practica intr-o arhitectura BDI este sumarizat in figura 67.

61
perceptii
Recapitularea
Convingeri convingerilor
B = brf(B, p)

Analizor de
oportunitati Proces de deliberare Dorinte

D = optiuni(B, D, I)
Intentii

Filtru
Rationarea
Mijloace-scopuri I = filtru(B, D, I)

Intentii structurate in
planuri partiale

Biblioteca de
planuri Actiune
Executor
actiuni

Figura 67. Arhitectura BDI


Componentele principale ale arhitecturii sunt:
- o multime de convingeri curente Bel, reprezentand informatia pe care agentul o
are despre mediul sau curent;
- o functie de revizuire (recapitulare) a convingerilor brf, care ia in considerare
intrarea perceptuala P si convingerile curente ale agentului ℘( Bel ) , determinand ,
pe baza acestora un nou set de convingeri ℘( Bel ) ; formal, aceasta functie se
defineste brf :℘( Bel ) × P →℘( Bel )
- o functie de generare a optiunilor (optiuni) care determina optiunile disponibile
ale agentului (dorintele, unde Des este setul tuturor dorintelor) , pe baza
convingerilor curente despre mediul sau ℘( Bel ) si a intentiilor curente ℘( Int ) (Int -
multimea tuturor intentiilor); formal, functia optiuni este descrisa astfel:
optiuni :℘( Bel ) ×℘( Int ) →℘( Des ) .

Aceasta functie joaca mai multe roluri, cel principal fiind coordonarea procesului de
rationament mijloace-scopuri. Procesul de generare a optiunilor poate fi vazut ca unul de
elaborare recursiva a structurii de planificare ierarhica, de considerare si angajare progresiva a
intentiilor pana cand in final sunt indeplinite intentiile care corespund actiunilor executabile
imediat. Functia de generare a optiunilor trebuie totodata sa satisfaca unele constrangeri:
consistenta in raport cu convingerile si intentiile curente; oportunitatea fata de modificarile de
mediu - agentului i se pot oferi noi modalitati de atingere a intentiilor.

62
- o multime de optiuni curente, reprezentand moduri posibile de actiuni disponibile
agentului;
- o functie filtru (filtru) care reprezinta procesul de deliberare a agentului si care
determina intentiile agentului pe baza convingerilor, dorintelor si intentiilor sale
curente; expresia formala a functiei filtru este
filtru :℘( Bel ) ×℘( Des ) ×℘( Int ) →℘( Int )

Aceasta functie trebuie sa indeplineasca doua roluri : in primul rand trebuie sa renunte la
intentiile care nu mai pot fi indeplinite, sau pentru a caror indeplinire costul este prea mare. In al
doilea rand at trebui sa retina intentiile care nu au fost inca indeplinite dar care ofera un beneficiu
global pozitiv. In final, trebuie adoptate intentii noi, fie prin indeplinirea intentiilor existente, fie
prin exploatarea unor noi oportunitati.
Functia filtru trebuie sa satisfaca constrangerea :
∀B ∈℘( Bel ), ∀D ∈℘( Des), ∀I ∈ ×℘( Int ) →℘( Int ) , filtru( B, D, I ) ⊆ I ∪ D ,
cu semnificatia ca intentiile
curente sunt atat intentii pastrate anterior cat si intentii nou adoptate.
- o multime de intentii curente, reprezentand scopul curent al agentului, acele stari
care au fost implicate in sustinerea intentiilor;
- o functie de selectare a actiunii (executa) care determina o actiune de executat pe
baza intentiilor curente. Aceasta functie returneaza orice intentie executabila –
corespunzatoare unei actiuni direct executabile. Formal , ea este definita ca
executa :℘( Int ) → A

- functia de decizie a actiunii (actiune) este definita astfel : actiune : P → A


Starea unui agent BDI este reprezentata de catre triplet-ul (B,D,I) unde B ⊆ Bel , D ⊆ Des ,
I ⊆ Int .

Modelul BDI este atractiv deorece este intuitiv si datorita unei decompozitii functionale
clare care indica ce fel de subsisteme sunt necesare pentru a construi un agent. Ca o cerinta
general valabila, si in acest caz se pune problema unei implementari eficiente a acestor functii.

Arhitecturile stratificate
Arhitecturile stratificate incadreaza comportamente atat reactive cat si pro-active din
partea agentilor, reprezentate prin subsisteme separate. Subsistemele sunt organizate intr-o
ierarhie de niveluri care interactioneaza.
Arhitecturile stratificate presupun existenta a cel putin doua straturi, corespunzatoare
comportamentelor reactive respectiv pro-active. In general, se identifica doua tipuri de flux al
controlului intre nivelurile stratificate, astfel:
- in cazul stratificarii orizontale, nivelurile software sunt conectate fiecare, direct la
intrarea de perceptie si la iesirea cu actiune. In fapt, fiecare nivel actioneaza ca un
agent producand sugestii asupra actiunilor de indeplinit (fig. 6°a).
- in cazul stratificarii verticale intrarea de perceptie si iesirea de actiune sunt
conectate fiecare la cel mult un strat (fig. 68b).

63
Iesire cu actiune Iesire cu actiune

Strat n Strat n Strat n


Intrare … Iesire cu actiune … …
perceputa
Strat 2 Strat 2 Strat 2
Strat 1 Strat 1 Strat 1
Vertical
Orizontal Intrare Intrare
perceputa perceputa

Figura 68. Arhitectura stratificata A. Stratificare orizontala. B. Stratificare verticala


Avantajul arhitecturii stratificate orizontal este ca reprezentarea a n tipuri diferite de
comportamente poate fi implementata prin alegerea a n niveluri corespunzatoare, fiecarui
comportament asociindu-se un nivel. Datorita faptului ca nivelurile concureaza la generarea
sugestiilor de actiune, este posibil ca intregul comportament al agentului sa nu fie coerent.
Asigurarea unei arhitecturi coerente (consistente) se realizeaza prin includerea unei functii
mediator care decide la orice moment de timp ce nivel are controlul agentului. Se impune, in
acest caz, conducerea centralizata, care necesita considerarea tuturor intercatiunilor posibile intre
straturi. Pentru o arhitectura cu n straturi, in care fiecare strat este capabil sa sugereze m actiuni
n
posibile, numarul de interactiuni considerat este foarte mare ( m ). Totodata, controlul centralizat
poate introduce, insa, “strangulari” (incetiniri) in procesul de decizie a agentului.
Dezavantajul obtinerii unui numar mare de intercomunicatii intre niveluri este inlaturat in
cazul arhitecturii stratificate pe verticala, caz in care acesta devine m2*(n-1). Exista doua
subtipuri de arhitecturi stratificate vertical: a) arhitectura cu o trecere - in care fluxul de control
se transmite secvential prin fiecare nivel, pana cand nivelul final genereaza iesirea de actiune
(fig. 6b1); b) arhitectura cu doua treceri – in care fluxul de informatie se transmite catre nivelul
superior al arhitecturii (prima trecere) iar fluxul de control se transmite inapoi catre nivelul
inferior (a doua trecere)( fig. 6b2).
Simplicitatea arhitecturii cu stratificare verticala atrage o flexibilitate redusa: in procesul
de decizie, controlul trebuie transmis de la un nivel la altul, ceea ce nu asigura o toleranta la
defect- daca un nivel se defecteaza arhitectura are de suferit.

Masina Turing
Un exemplu de arhitectura stratificata orizontal este masina Turing (fig. 69). Are o
dispunere orizontala a straturilor, cu trei niveluri de realizare a actiunilor. Nivelul reactiv
produce un raspuns mai mult sau mai putin imediat la schimbarile de mediu si este implementat
printr-un set de reguli situatie-actiune care asociaza intrarea de perceptie direct cu iesirea de
actiune. Nivelul de planificare implementeaza o comportare pro-activa, fiind responsabil cu
deciderea actiunilor pe care trebuie se le execute agentul. Acest nivel utilizeaza o biblioteca de
planuri. Nivelul de modelare contine mediul, agentul si ceilalti agenti. El predicteaza conflicte

64
intre agenti si genereaza scopuri noi de realizat in scopul rezolvarii acestor conflicte. Noile
scopuri sunt trimise nivelului inferior (de planificare) care utilizeaza biblioteca de planuri pentru
a rezolva situatiile de conflict.
Nivel modelare
perceptii

Subsistem
Nivel planificare Subsistem
perceptie
actiune

Nivel reactiv
actiuni

Subsistem control

Figura 69. Masina Touring


Cele trei niveluri de control sunt incluse intr-un subsistem de conducere, care este
responsabil efectiv pentru deciderea nivelului care controleaza agentul si care este implementat
printr-un set de reguli de control. Acestea pot pastra informatia senzoriala intre regulile de
control si nivelurile de control sau inlatura iesirile de actiune de la nivelurile de control.

Arhitectura InteRRaP
Aceasta arhitectura este un exemplu de arhitectura stratificata vertical cu doua treceri (fig. 70).
Ea contine trei niveluri de control : nivelul de baza (bazat pe comportament) este asociat uunui
comportament reactiv; nivelul intermediar se ocupa cu planificarea uzuala, pentru realizarea
obiectivelor agentului; nivelul superior se ocupa cu interactiunile sociale. Fiecare nivel are
asociata o baza de date , adica reprezentarea mediului (lumii) vazuta corespunzatoare acelui
nivel. Astfel, la nivelul superior sunt reprezentate planuri si actiuni ale altor agenti din mediu, la
nivelul intermediar, baza de date stocheaza planuri si actiuni ale agentului insusi; la nivelul
inferior este reprezentata informatia primara despre mediu.
Interactiunea dintre niveluri, in scopul indeplinirii aceluiasi obiectiv, este de tip activare
de jos in sus (daca nivelul curent nu este capabil sa rezolve situatia curenta) si executie de sus in
jos (cand un nivel superior utilizeaza facilitatile oferite de un nivel superior pentru a indeplini un
scop). Fiecare nivel implementeaza 2 functii generale:
- recunoastere de situatii si activarea scopului (asociaza o baza de date si un scop
curent unui nou set de obiective)

65
- planificare si ordonantare – selecteaza unui plan de executat, pe baza planurilor
curente, obiectivelor si bazei de cunostinte a nivelului.
Desi arhitecrurile stratificate sunt o solutie pragmatica duc lipsa de claritatea semantica si
conceptuala a abordarilor nestratificate.

Nivel de cooperare Cunostinte sociale

Nivel de planificare Cunostinte de planificare

Nivel de comportament Modelul lumii

Interfata cu mediul (lumea)

Intrare de perceptie Iesire de actiune

Figura 70 Arhitectura InterRRaP

Problematica sistemelor multi-agent


Modelele multi-agent sunt folosite in proiectarea unor sisteme software interactive care se
bazeaza pe functionarea intr-un sistem stimul-raspuns. Comunitatile de agenti modeleaza un
sistem interactiv printr-o colectie de agenti specializati care produc si reactioneaza la stimuli
existenti in cadrul sistemului.
Un sistem multi-agent poate fi privit ca un sistem in evolutie in care fiecare agent desfasoara o
activitate independenta. Sistemele multi-agent sau paradigmele care au la baza agentii sunt
instrumente foarte utile pentru modelarea sistemelor de informatie distribuita cu o interactiune
sincrona sau asincrona. Pentru specificarea completa a unui sistem multi-agent este necesara
definirea cunostintelor si comportamentului intern al agentilor si modul de interactiune cu ceilalti
agenti cu care coexista in cadrul sistemului multi-agent.
In cadrul sistemului multi-agent, intentiile agentului pot fi definite ca un scop ce trebuie atins in
momentul realizarii unui set de actiuni. „Cunostinta“ (know-how) unui agent este abilitatea sau
potentialul de a executa o actiune sau un set de actiuni, si in acelasi timp de a emana inteligenta
ca urmare a rezultatelor obtinute .
In ceea ce priveste functionalitatea, toate actiunile sau sarcinile pe care un agent le poate
indeplini in cadrul sistemului in care exista, sunt cerute de catre un alt agent care coexista in

66
acelasi mediu. Cu alte cuvinte, functionalitatea unui agent este definita in concordanta cu rolul
sau in cadrul sistemului. Apar interactiunile intre agenti care pot fi pentru:
• coordonare (agentii sunt motivati colectiv sau individual);agentii pot avea scopuri
proprii ,por forma coalitii,intra in competitie pentru resurse sau pot fi indiferenti
• comunicare prin protocol sau limbaj (negociere sau ontologii)
• organizare: centralizata sau decentralizate,bazata pe ierarhie sau abordarea pietei asupra
“agentului cognitiv”
Fiecare agent are un set de cunostinte despre sistemul in care actioneaza. Aceste cunostinte sunt
memorate intern in structura fiecarui agent. Controlul agentului este realizat in corelatie cu
specificatia task-urilor pe care trebuie sa le duca la bun sfarsit si a strategiilor pe care le
foloseste. In functie de rolul fiecarui agent modul de definire a scopurilor, planurilor, strategiilor
este diferit. Modul de convietuire al agentilor in acelasi sistem se realizeaza printr-un mecanism
de comunicare care este bazat pe transmiterea unor mesaje intr-o maniera sincrona sau asincrona.
Pe langa acest schimb de mesaje, trebuie realizat un compromis intre pozitiile agentilor.
Cu alte cuvinte, trebuie realizata o intelegere intre agenti pentru satisfacerea constrangerilor la
care sunt supusi datorita coexistentei in cadrul aceluiasi sistem . Acest lucru se realizeaza printr-
un proces de negociere format din coordonare si cooperare. Cooperarea se refera la faptul ca
solutia unei probleme este rezultatul unei interactiuni cooperative la care participa toti agentii.
Coordonarea dintre grupele de agenti permite analiza task-urilor ce trebuie realizate si asignarea
proceselor grupelor de agenti fara a duplica volumul de munca.
Modelul sistemului multi-agent poate fi folosit pentru a simula orice mediu cooperativ, indiferent
de complexitate. In acest sens, sistemele multi-agent profita de participarea dinamica a fiecarei
parti componente in beneficiul tuturor.
• agentii individuali nu trebuie sa tina o istorie a informatiilor obtinute de la alti agenti;
• datorita procesului continuu de emitere sau de consumare de informatii, nformatiile
vehiculate in sistem nu sunt invechite;
• replicarea informatiei este evitata, mentinandu-se in acest mod consistenta in cadrul
sistemului;
• modelul bazat pe multi-agenti este scalabil deoarece numarul agentilor este sau poate fi
intr-o continua schimbare.

Concluzii referitoare la caracteristicile arhitecturii propuse pentru proiect


Obiectivele functionale ale aplicatiei sunt urmatoarele:
- permite configurarea unei retele de trafic formate din agenti activi – intersectii –
si elemente de legatura pasive, dar fixe – arterele care leaga intersectiile, referite
de regula ca tronsoane
- permite crearea si selectarea tipurilor de agenti in functie de structura fizica a
intersectiei pe care o reprezinta

67
- fiecare agent trebuie sa fie capabil sa primeasca date de intrare de la alti agenti/ de
la senzori externi/ de la alte aplicatii – reprezentand valoarea fluxurilor de intrare/
numarul de vehicule din fiecare flux de iesire
- agentii controleaza structura ciclului de semaforizare al intersectiei pe care o
reprezinta, respectiv duratele fiecarei faze de semaforizare, respectand o serie de
specificatii externe
- fluxul de vehicule de pe fiecare intrare/ iesire a unei intersectii trebuie sa poata fi
simulat in raport cu starea curenta a retelei
- fiecare agent trebuie sa fie capabil sa isi adapteze ciclul de semaforizare in functie
de starea sa proprie si de cele ale agentilor adiacenti
In stabilirea arhitecturii aplicatiei s-a pornit de la caracteristicile mediului in care se doreste ca
aceasta sa ruleze:
- determinist – actiuni identice in contexte similare vor duce la rezultate similare
- dinamic – configuratia fluxului de vehicule, ca si duratele fazelor de semaforizare se modifica
permament
- inaccesibil (de fapt, partial accesibil) – agentul are acces indirect la fluxurile de intrare, prin
intermediul iformatiilor trimise de agentii vecini si acces direct la structura propriului ciclu de
semaforizare, precum si la senzorii instalati pe iesiri (cf. structurii prezentate in rapoartele
anterioare, si care reprezinta modul de implementare al sistemului de semaforizare in Bucuresti
exista senzori numai pe iesirile intersectiilor)
- hibrid – dupa cum s-a mentionat in capitolul de modelare formala si in raportul fazei
precedente, exista o parte continua a mediului – reprezentata de fluxul de vehicule – si o parte
discreta – structura ciclului de semaforizare
- ne-episodic.
Avand in vedere structura mediului, care contureaza un set de conditii de operare de dificultate
extrema, agentii vor trebui sa aiba proprietatile de baza de comunicare, reactivitate, pro-activitate
(dupa cum se va vedea in continuare, chiar inainte de declansarea fenomenului de congestie, pe
masura ce se constata aglomerarea unui tronson de intrare, agentul de intersectie lanseaza un
program de modificare a ciclului de semaforizare pentru a reduce aglomerarea si a evita
congestia), orientare pe scop si continuitate, dar si proprietatea suplimentara de adaptivitate,
rezultand un comportament inteligent al sistemului.
Pentru implementarea aplicatie a fost aleasa o platforma de dezvoltare pentru software
multiagent numita JADE.

Platforma software de dezvoltare pentru comunitati multi-agent - JADE


In cadrul comunitatilor multi-agent, colaborarea si coordonarea intre agenti este implementata
prin limbaje de programare specifice agentilor (orientate pe agent): Exemple de limbaje de
programare sunt ilustrate mai jos.

68
Limbaje de
Programare

Declarative:CLAIM ,
FLUX , Imperative:Jack Agent
Language Hibride :
MINERVA,DALI, 3APL,Jason,IMPACT,
ReSpecT Go!,AF-API

Majoritatea limbajelor de programare orientate pe agent se bazeaza pe abordarea declarativa.


(logica declarativa). Limbajele pur imperative sunt rar utilizate in literatura agentilor ,pentru ca
in esenta sunt inadecvate pentru exprimare abstractiilor de nivel inalt asociate cu designul
sistemelor de agenti . Pe de alta parte limbajele orientate pe agent tind sa permita integrarea
usoara a codului scris in limbajele imperative .
Cand construim o arhitectura de sistem multi-agent avem nevoie de cunostinte si abilitati
specializate pe arii cum ar fi comunicatiile, rationamentele ,reprezentarea cunostintelor ,limbaje
de comunicare intre agenti si protocoale .Cel mai bun mod de a construi un sistem multi-agent
este de a folosi o platforma pentru a reduce din complexitatea dezvoltarii si pentru a imbunatati
productivitatea .
JADE (Java Agent DEvelopment Framework) este o platforma pentru dezvoltarea de aplicatii
multi-agent distribuite. Reprezinta un middleware pentru agenti oferind un set de servicii
disponibile , usor de folosit si cateva utilitare grafice pentru testare si eliminarea bug-urilor.Unul
dintre obiectivele platformei este de a oferi interoperabilitate dar si modul de comunicare din
infrastructura. Mai mult, JADE este foarte flexibil si poate fi adaptat pentru a fi folosit pe
aparate cu resurse limitate cum ar fi PDA-urie sau telefoanele mobile. JADE a fost folosit pe
scara larga in ultimii ani de catre multe organizatii academice si din mediul industrial
(Whitestein a utilizat JADE pentru a construi un sistem bazat pe agenti pentru a oferi ajutor in
luarea deciziilor din centrele de transplant pentru organe) . Din punct de vedere al paradigmei de
comunicatie folosita JADE utilizeaza transmiterea de mesaje,
Motivele care au condus la utilizarea JADE in cadrul acestui proiect au fost :
• Realizarea de aplicatii distribuite compuse din entitati autonome . JADE este o
platforma software ce ascunde complexitatea arhitecturii distribuite, dezvoltatorii
concentrandu-se pe logica aplicatiei. Particularizand la mediile mobile, JADE realizeaza
o legatura de tip smart-device smart-interconnection : software-ul de pe fiecare dispozitiv
este echipat cu autonomie, inteligenta si capacitate de colaborare ,iar valoarea sistemului
este data de capacitatile dispozitivelor pentru interactiune si colaborare .
• Negociere si Coordonare .JADE simplifica dezvoltarea de aplicatii care necesita
negociere si coordonare printr-un set de agenti,unde resursele si controlul logicii sunt
distribuite in mediu . De fapt, bibliotecile din JADE sunt usor de implementat in
comunicatia peer-to-peer si protocoalele de interactiune .

69
• Pro-activitate .Agentii JADE controleaza propria derulare a firului de executie si sunt
usor de programat pentru a initia actiuni fara interventii umane bazandu-ne doar pe scop
si schimbarea starilor Acest lucru face ca JADE sa fie util in realizarea de aplicatii
masina-masina (m2m) cum ar fi controlul automatizat al unei fabrici,controlul traficului
etc .
• Aplicatii ce implica mai multe parti . Arhitecturile peer-to-peer sunt mai eficiente decat
cele client-server pentru dezvolarea aplicatiilor ce implica mai multe parti . Pentru ca
agentii JADE ofera si consuma servicii, ei exclud orice nevoie de a distinge intre clienti si
servere .Agentii din JADE comunica unii cu ceilalti fara a avea nevoie de interventia unui
server central .
• Interoperabilitate .JADE este in acord cu specificatiile FIPA care permit
interoperabilitatea punct la punct intre agentii de pe platforme diferite.Toate aplicatiile
unde comunicarea intre organizatii este necesara pot beneficia de interoperabilitate .
• JADE este un proiect open-source care implica contributia si colaborarea a mai multor
comunitati . Aceasta abordare permite atat utilizatorilor cat si dezvoltatorilor sa
contribuie cu sugestii si cod nou ,ceea ce garanteaza utilitatea API-urilor . Anarhia este
evitata prin Consiliul de Guvernare JADE care controloeaza evolutia platformei .
• Versatilitatea. JADE ofera un set omogen de API-uri care sunt independente de retea si
versiunea de Java.
• Usor de folosit si aplicatii mobile .API-ul JADE este usor de invatat si folosit .JADE a
fost construit pentru a simplifica managamentul comunicatiei si transportul mesajelor
facand trasparenta dezvoltatorului managementul diferitelor nivele de comunicatie
folosite pentru a trimite un mesaj intre agenti . JADE reduce timpul de dezvoltare al
aplicatiilor ,dar si costul acestora
JADE este o platforma software ce ofera functionalitati de nivel mediu care sunt
independente de aplicatia specifica si care simplifica realizarea aplicatiilor distribuite care
exploateaza agentii software abstracti. Atat inteligenta ,initiativa ,informatia ,resursele si
controlul pot fi distribuite total pe terminale mobile,dar si pe computere intr-o retea fixa. Mediul
poate evolua dinamic cu ajutorul agentilor ,care apar sau dispar in sistem conform necesitatii si
cerereii din aplicatie . Comunicatia intre agenti,fara a lua in considerare daca ruleaza wirelles sau
legati la o retea prin cabluri este complet simetrica (intiatorul comunicatiei si respondentul isi pot
inversa rolurile ) .
JADE presupune:
•Un mediu in timp real unde traiesc agentii
• O biblioteca de clase ce poate fi folosita pentru a dezvolta agenti
•Un set de utilitare grafice pentru administrarea si monitorizarea agentilor
JADE a fost dezvoltat integral in Java si este bazat pe urmatoarele principii :
• Interoperabilitate – JADE respecta specificatiile FIPA (Foundation for Intelligent, Physical
Agent) . Drept consecinta agentii pot interopera cu alti agenti deoarece apartin aceluiasi standard
.

70
• Uniformitate and portabilitate – JADE ofera un set de API-uri omogene care sunt independente
de retea si versiunea Java .Mediul de rulare al JADE ofera aceleasi API-uri pentru J2EE, J2SE si
J2ME.
• Usor de folosit – Complexitatea acestui middleware este ascunsa de un set de API-uri simple
si intuitive .
• Filosofia pay-as-you-go –Programatorii nu au nevoie de toate utilitarele suplimentare oferite de
middleware si nu trebuie stiute daca nu sunt folosite .
Functionalitati ale JADE :
• API independent de locatie
• respecta specificatiile FIPA
• transport eficient de mesaje asincrone
• un mod simplu de management asupra ciclului de viata al unui agent
• suport pentru mobilitatea agentilor
• un mecanism de subscriere pentru agenti
• un set de utilitare grafice pentru monitorizare si eliminare erori
• suport pentru ontologii si limbaje de continut
• o biblioteca cu protoacoale de interactiune(IP)
• includerea tehnologiilor web ca JSP, servlet, applet si alte servicii web
• suporta platforma J2ME si medii wireless
• interfata poate fi lansata din programe externe
•nucleul se poate extinde pentru a mari platforma

Concluzii privind utilitatea platformei JADE


Deoarece JADE este scris in limbajul Java si contine cateva pachete ale acestuia ofera
aplicatiilor piese deja facute in ceea ce priveste functionalitatea si interfetele abstracte. Alegerea
limbajului Java a fost determinate de componentele atractive ale acestuia , datorate posibilitatii
de a programa in medii eterogene distribuite ;unele dintre acestea sunt serializarea obiectelor,
API-urile si invocarea de la distanta a metodelor -RMI Remote Method Invocation.
JADE este marca inregistrata de CSELT (Telecom Italia) si reprezinta rezultatul unei
activitati de cercetare . JADE incearca sa ofere utilizatorilor sai un standard privind tehnologia
agentilor Aplicarea filosofiei “pay-as-you-go” asociaza agentilor definiti de utilizator un cost al
timpului de rulare . De asemenea ,programarea comportamentelor cooperative a fost preferata
unui multithreading intre agenti pentru a reduce sincronizarea si planificarea costului .
JADE incearca sa fie eficient din punct de vedere al resurselor consumate
,comportamentele cooperative avand tendinte de reduce numarul acestora .In plus,multe obiecte

71
JADE pot fi reciclate in loc de a fi distruse si recreate la loc ,reducand din alocarea dinamica a
memoriei.
Dezvoltarea JADE continua. Imbunatatiri viitoare si implementari sunt gata de a fi
planificate,inclusiv suport pentru mobilitatea agentilor specificata in FIPA98 .Pentru viitor se
doreste promovarea cu succes a testarii interoperabilitatii intre platforme software, inregistrarea
agentilor intr-o platforma software diferita de cea pe care au fost creati, schimbul de mesaje intre
agenti aflati pe platforme software diferite si cooperativitate intre aplicatii ce au la baza agentii .

72
Simulatorul de trafic
Proiectare
Simulatorul a fost proiectat ca un sistem multi-agent, folosind o arhitectura ierarhizata, cu
supervizori zonali la nivelul superior si agenti specializati pentru managementul si controlul
intersectiilor la nivelul inferior (nivelul executiv), conectati printr-un sistem de senzori si
actuatoare la mediul real de trafic.
Structura interna a unui agent de intersectie este descrisa in diagrama din Figura 71, pe baza unei
arhitecturi a agentilor inteligenti derivata din lucrarile lui Albus [ref].
Vom introduce urmatoarea formalizare matematica pentru a descrie modelul unei intersectii,
transpus prin interpretarea matematica a modelelor cu retele Petri dezvoltate anterior:
- un set de segmente de drum de intrare in intersectie, care vor fi denumite in continuare
intrari:
I = {i k | k = 1, n}, n = Card ( I )

- un set de segmente de drum de iesire din intersectie, care vor fi denumite in continuare
iesiri:
O = {o j | j = 1, m}, m = Card (O )

- durata totala a unui ciclu de semaforizare, Ttot


- un set de faze de semaforizare, fiecare caracterizata printr-un profil de activare (vezi Fig.
71) definit pe intreg orizontul de timp al ciclului de semaforizare:
vph = { phl = f (t ) | f : [0, Ttot ] → {0,1}}

unde valoarea 0 indica faptul ca faza de semaforizare phl nu este activa la momentul de timp t,
iar valoarea 1 indica faptul ca faza phl este activa la momentul de timp t. p reprezinta numarul
total de faze de semaforizare pentru intersectia analizata (a se consulta Fig. x si discutia
asociata).
n , m ,l
- o matrice de incidenta M ∈ ℜ , ce reprezinta profilul de conexiuni intrare-iesire
permise in fiecare faza, unde conexiunea ik → oj este reprezentata de elementul mk,j a
matricei corespunzatoare fazei phl:
 if direction i k → o j is not allowed
 0,
 during phase phl
m kl , j =
if direction i k → o j is allowed
w j ,
 k
during phase phl

j
si wk este debitul de masini, exprimat in [veh./min.], asociat conexiunii ik → oj

O intrare i k ∈ I , k = 1, n este caracterizata prin urmatoarele atribute:


- numarul vehiculelor din coada de asteptare, la orice moment de timp, qk;

73
- capacitatea totala a cozii de asteptare, ck , ce reprezinta in fapt capacitatea tronsonului de
legatura dintre intersectia careia ii apartine intrarea in discutie si prima intersectie din
amonte;
- un indicator de limitare utilizat pentru semnalarea unei “zone de siguranta” din punct de
safe
vedere al incarcarii cozii, c k (exprimat ca procent din capacitatea totala a cozii de
asteptare);
- un indicator de limitare utilizat pentru semnalarea unei “zone de alarma” ce semnifica un
c kwarning
grad ridicat de incarcare, premergator congestiei, (exprimat tot procentual din
capacitatea totala a cozii de asteptare).
c ksafe
Activarea indicatorului semnalizeaza ca lungimea cozii de asteptare a depasit zona de
warning
siguranta, intrand in zona de alarma, iar activarea indicatorului c k semnalizeaza depasirea
limitei impuse pentru zona de alarma, atunci cand lungimea cozii intra in zona critica
producandu-se congestii. O reprezentare grafica a unui tronson de intrare intr-o intersectie este
data in Figura x. Cei doi indicatori de limitare sunt folositi de agentul de intersectie drept criterii
calitative de evaluare a starii mediului (intersectiei) si ajustare a comportamentului in scopul
evitarii situatiilor congestive.

total capacity
ck
safe warning
ck ck
safe warning critical
Junction zone zone zone
agent
a z0 z1 z2 input link
ik

e k12 - exceed-limit code red event


ek 01 - exceed-limit code yellow event

Fig. 71. Delimitarea intrarii ik in trei zone de incarcare, in functie de dimensiunea cozii de
asteptare
o ∈ O, j = 1, m
Fiecare iesire j este caracterizata prin indicatorul unic aj asociat agentului de
intersectie care coordoneaza prima intersectie din aval, a carei intrare este corespondenta iesirii
oj .
Un aspect care a fost luat in calcul este faptul ca unele faze din semaforizarea unei intersectii se
pot suprapune, iar durata lor nu este neaparat egala. Acest lucru este valabil in special in cazul
intersectiilor unde exista faze diferite de semaforizare pentru directia inainte si viraj stanga. Cei
doi parametri care vor fi initializati de catre utilizator la constructia retelei - timpul de inceput si
durata - pentru fiecare faza, vor fi folositi pentru a construi profilul de activare al tuturor fazelor
pe durata intregului ciclu de semaforizare. Un exemplu de astfel de profil de activare al fazelor
este prezentat in Figura 72.

74
phase 1
1
0.5
0
0 20 40 60 80 100 120
phase 2
1
0.5
0
0 20 40 60 80 100 120
phase 3
1
0.5
0
0 20 40 60 80 100 120
phase 4
1
0.5
0
0 20 40 60 80 100 120
phase 5
1
0.5
0
0 20 40 60 80 100 120

Figura 72. Profilul de activare corespunzator unei intersectii cu 5 faze, si o durata totala a ciclului
de semaforizare de 130 secunde. Faza verde corespunde valorii 1, iar faza rosu corespunde
valorii 0 (culoarea galben a semaforului este considerata inclusa in durata de faza verde)
Folosind profilul de activare al fazelor de semaforizare, agentul de intersectie poate monitoriza
evenimentele primite de la controllere-le de trafic (semnalele start_faza si final_faza) si poate
compara starea reala a mediului cu modelul sau intern.
Valorile atributelor introduse mai sus reprezinta informatii despre starea intersectiei controlate,
iar identificatorii agentilor conectati la iesirile intersectiei controlate faciliteaza interoperarea
agentului de intersectie cu agentii de pe acelasi nivel.
Functionarea unui agent de intersectie este asincrona, bazata pe evenimente. In implementarea
orientata agent, activitatea agentului de intersectie este modelata prin intermediul a doua
comportamente care se desfasoara in paralel. Primul este comportamentul de baza care permite
agentului sa-si desfasoare activitatea de management al intersectiei prin interactiunea cu mediul
de trafic (prin intermediul senzorilor si controller-elor de semafoare). Al doilea comportament
este cel ce ii permite agentului de intersectie comunicarea cu mediul de agenti (de pe acelasi
nivel, sau de pe nivelul superior) prin schimb de mesaje. In urma evenimentelor percepute din
mediu (fizic, sau comunitatea de agenti), agentul de intersectie actualizeaza cunostintele din
modelul lumii, evalueaza, decide si aplica actiuni corespunzatoare scopului sau (evitarea
congestiei).
Evenimentele percepute din mediu de un agent de intersectie aj pot fi:
- evenimente primite de la senzorii locali:
phl
o e start - inceputul fazei phl
phl
o e end - sfarsitul fazei phl care genereaza mesaje de informare catre agentii
intersectiilor conectate la iesirile corespunzatoare directiilor active in faza phl
k
o e 01 - semnalare depasire limita zona sigura pe tronsonul de la intrarea ik

75
k
o e12 - semnalare depasire limita zona de alarma pe tronsonul de la intrarea ik
- evenimente primite de la agenti omologi (de pe acelasi nivel):
k
o ein - mesaj primit de agentul aj de la agentul vecin ak cu informatii despre numarul
de vehicule ce au plecat pe tronsonul de legatura si vor intra in coada de asteptare
a intrarii ik (a intersectiei agentului aj);
e kph
o - mesaj primit de la agentul vecin aj de informare privind modificarea timpilor
de semaforizare
- evenimente primite de la agentul supervizor:
e tsup
_ cycle
o - mesaj primit de la supervizorul local asup privind modificarea timpului
total de semaforizare;
sup
e mod_safety _limits
o - mesaj primit de la supervizorul local asup privind modificarea
indicatorilor de limitare pe tronsonul intrarii ik;
sup
e mod_k
o - mesaj primit de la supervizorul local asup semnaland modificarea
infrastructurii pe tronsonul intrarii ik.
Un algoritm schematic ce descrie actiunile agentului corespunzatoare comportamentului de
management al intersectiei este:
0. creaza lista de evenimente corespunzatoare unui ciclu de semaforizare;
1. sorteaza lista de evenimente in functie de momentul de timp al aparitiei evenimentelor
2. selecteaza primul eveniment din lista
3. pana cand (nu ai ajuns la capatul listei):
e phl t phl
3.1. selecteaza urmatorul eveniment din lista, caruia ii corespunde timpul de inceput
e phl
3.2. calculeaza intervalul de timp de simulare ∆t , de la evenimentul pana la inceputul
e phl +1
urmatorului eveniment din lista
3.3. actualizeaza numarul de vehicule ce vor parasi intersectia prin fiecare dintre iesirile oj:
p n
Noj = Noj + ∑∑ ph (t
l =1 i =1
l phl ) ⋅ wi
j
⋅ ∆t , j = 1, m

3.4. actualizeaza numarul de vehicule ce vor iesi din coada de asteptare a fiecareia dintre
intrarile ik:
p m
N ik = N ik + ∑∑ ph (t
l =1 j =1
l phl ) ⋅ wi
j
⋅ ∆t , k = 1, n

e phl
3.5. daca este un eveniment de sfarsit de faza

76
Noj
3.5.1. trimite ca mesaj de informare catre fiecare dintre agentii invecinati aj
Noj
3.5.2. reseteaza =0
3.5.3. decrementeaza coada de asteptare a fiecarei intrari ik:
q k = q k − N ik

N ik
3.5.4. reseteaza =0
e phl
3.5.5. daca este ultimul eveniment din lista, revino la inceputul listei si reia de la
pasul 2.

Implementare
Implementarea simulatorului de trafic a fost realizata in mediul de programare Java, utilizand
concepte de programare agent in conjunctie cu programarea obiectuala clasica. Sistemul multi-
agent a fost creat folosind librariile JADE care asigura mediul si facilitati specifice pentru crearea
agentilor si a platformei agent. Conceptele de intersectie, intrare, iesire si faza de semaforizare
au fost modelate sub forma unor clase care, impreuna, sunt integrate in modelul lumii agentului
de intersectie. In Figura x este prezentat un fragment din diagrama de clase a simulatorului de
trafic.
Activitatea de management al intersectiei a fost implementat sub forma unui comportament FSM
(Finite State Machine) unde tranzitiile de stare sunt generate de evenimente externe sau interne.
Functia de monitorizare a mediului (comunicare) a fost implementata sub forma unui
comportament ciclic in timpul caruia agentul “asculta” mediul - verifica mesajele din coada de
mesaje si le proceseaza, sau trimite mesaje.
k
Un mesaj ce semnaleaza un eveniment de tip ein genereaza actualizarea (crescatoare a) cozii de
asteptare qk a intrarii ik. Dupa actualizare, agentul verifica daca limitele de siguranta nu au fost
k
depasite. In cazul producerii unui eveniment de tip e 01 agentul ruleaza o procedura locala de
actualizare a duratei fazelor de semaforizare si reseteaza controllerele de intersectie. Pe de alta
k
parte, un eveniment de tip e12 nu poate fi tratat local si in aceasta situatie, agentul de intersectie
solicita interventia supervizorului zonal.
ek
Evenimentul ph genereaza un proces de negociere intre agentul local aj si agentul care a trimis
mesajul, ak. Agentul aj ruleaza o simulare folosind modelul intersectiei proprii din modelul
lumii, pentru a verifica daca noile durate ale fazelor de semaforizare dorite de agentul ak nu vor
k
conduce la generarea unui eveniment e12 de depasire a limitei de alarma pe intrarea ik. Daca
rezultatul simularii certifica faptul ca dimensiunea cozii de asteptare pe tronsonul de la intrarea
warning
ik ramane sub limita de alarma c k , agentul aj accepta propunerea agentului invecinat ak si
negocierea se incheie. Altfel, in cazul aparitiei unei situatii conflictuale in care agentii aj si ak nu
pot ajunge la un acord (mutual agreement), supervizorul zonal va fi solicitat sa rezolve conflictul.
Mesajele primite de la supervizorul zonal sunt tratate prin actualizarea atributelor
corespunzatoare din modelul lumii al agentului de intersectie.

77
78
Reteaua zonala de intersectii este transpusa la nivel sistemic intr-o comunitate de agenti de
intersectie, fiecare agent fiind asociat uneia dintre intersectiile din reteaua de trafic. Valorile initiale
ale atributelor ce caracterizeaza starea intersectiei in modelul lumii agentului asociat sunt obtinute
direct, sau derivate prin calcule simple folosind parametrii de modelare introdusi de utilizator.
Interactiunea cu utilizatorul este facilitata prin intermediul unei interfete grafice care pune la
dispozitie o librarie de modele de intersectii si ghideaza utilizatorul de-a lungul fluxului aplicatiei,
de la achizitia initiala de date, pana la rularea simularii si vizualizarea rezultatelor.
Interconectarea interesectiilor de la nivelul fizic este replicata in mod automat la nivelul sistemului
multi-agent prin interconectarea agentilor asociati intersectiilor, in momentul in care utilizatorul
conecteaza iesirile si intrarile intersectiilor create in spatiul de lucru.
In linii mari, crearea si monitorizarea unei retele zonale a traficului folosind acest soft de simulare
include urmatoarele etape:

Crearea intersectiilor in spatiul de lucru:


3.1. adaugarea unei intersectii in spatiul de lucru se face printr-un simplu click in locatia
dorita si selectarea tipului de intersectie din meniul contextual aparut la apasarea mouse-
ului:

3.2. initializarea parametrilor de baza ai intersectiei nou create:


i. parametrii caracteristici tipului de intersectie (de ex. numarul de tronsoane de
intrare/iesire in cazul intersectiilor de tip cruce, sau T) sunt initializati automat cu
valorile implicite specifice tipului selectat;

ii. parametrii specifici si unic determinati pentru noua instanta de intersectie (de ex.
numarul de faze de semaforizare si temporizarea acestora) sunt introdusi de
utilizator folosind meniul contextual si ferestrele dedicate generate:

79
iii. dupa selectarea numarului de faze, utilizatorul poate intializa matricile de
incidenta reprezentand debitul de vehicule pentru directiile permise, pentru
fiecare faza:

iv. pentru a defini complet modelul intersectiei, utilizatorul poate intializa si


parametrii tronsoanelor de intrare - capacitate totala si valorile indicatorilor de
limitare zona sigura si zona de alarma (intrarile ai caror parametri au fost definiti
devin colorate cu rosu):

80
v. modelul intersectiei permite si definirea cazurilor particulare de sensuri unice,
specificand ca una sau mai multe iesiri sunt interzise - orice schimbare de acest
fel a structurii intersectiei genereaza automat restrangerea corespunzatoare a
matricilor de incidenta:

3.3. meniul contextual al fiecarei intersectii permite utilizatorului mutarea ei pe ecran in


zona de lucru, sau stergerea ei din reteaua zonala definita.

Crearea retelei de trafic prin conectarea intersectiilor:

3.4. din meniul contextual al iesirilor intersectiei se poate selecta “Conecteaza la o alta
intersectie” (daca iesirea nu este interzisa):

81
3.5. este posibila si redefinirea conexiunilor prin selectarea optiunii “Schimba
conexiunea” din meniul contextual al unei iesiri conectate.

2. rularea simularii:
3.1. simularea poate fi pornita prin apasarea butonului “Start simulare”, iar utilizatorul
poate urmari evolutia schimbului de mesaje dintre agentii de intersectie din reteaua
zonala in panelul “Status curent:”

3.2. meniul contextual al fiecarei intersectii se modifica in timpul simularii, permitand


utilizatorului sa aleaga afisarea unui grafic al evolutiei cozilor de asteptare pentru toate
tronsoanele de intrare ale intersectiei selectate (fig. 73).

82
Figura 73: Graficul evolutiei in timp a dimensiunii cozilor de asteptare pentru intersectia cruce
Vasile Milea

3.3. simularea poate fi oprita de la butonul “Stop simulare” (care determina revenirea in
modul editare) si repornita in orice moment.
Din rezultatele preliminare ale modelarii sistemului de trafic urban cu ajutorul software-ului de
simulare pe baza de agenti, se observa relevanta si eficacitatea acestei abordari in cazul problemei
modelarii si simularii sistemelor complexe de largi dimensiuni. Modularizarea implicita obtinuta
prin implementarea multi-agent permite descompunerea functionala si reducerea complexitatii
implementarii, fara a pierde din generalitatea solutiei. Prin functionarea autonoma a fiecari unitati
componente si comunicare se obtine la nivelul intregului sistem un comportamentul emergent
complex ce asigura o concordanta ridicata a modelului simulat cu realitatea.
In cele ce urmeaza se va urmari utilizarea unui volum cat mai mare de date de intrare pentru analiza
comportamentului sistemului de trafic in diferite conditii cu ajutorul software-ului de simulare,
comparand in fiecare caz rezultatul simularii cu situatiile reale inregistate pentru validarea completa
a solutiei. De asemenea, se va urmari imbunatatirea interfetei grafice si implementarea unor
facilitati care sa permita utilizarea cat mai intuitiva a softului de simulare, atat din punctul de vedere
al constructiei retelei de trafic, cat si din perspectiva interpretarii rezultatelor si salvarii/reutilizarii
datelor introduse si rezultate.

Bibliografie capitol
1. Albus, J.S. & Meystel, A.M. (2001) Intelligent Systems: Architecture, Design, Control,
Wiley-Interscience, ISBN-10: 0471193747 ISBN-13: 978-0471193746
2. Bellifemine F., Caire G., Greenwood D - Developing multi-agent systems in JADE, Jon
Wiley&Sons Ltd, Anglia, 2007.
3. Brooks R. – A robust layer control system for a mobile robot , IEEE Journal of robotics and
Automation , 2(1), 14-23, 1986.
4. Russel S., Norvig P – Artificial Intelligence : A Modern Approach. Prentice-Hall, 1995.
5. Wooldridge M. (2000). Intelligent Agents. Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence The MIT Press ISBN-10: 0262731312 ISBN-13: 978-
0262731317

83
Concluzii generale
Prezentul raport poate fi impartit, din punct de vedere conceptual, in doua sectiuni – evidentiate prin
intermediul celor doua mari capitole: una fomala si una aplicativa.
Sectiunea formala contine o serie de rezultate care finalizeaza aproape complet etapa a II-a a
proiectului – Elaborarea bibliotecii de modele si evaluarea de performante (raman pantru raportul
urmator activitatea AII.5 – care presupune validarea prin simulare a rezultatelor deja prezentate si
activitatile AII.6. si AII.7, care prespun diseminerea mai larga a rezultatelor).
Din punct de vedere stiintific, contributiile originale aduse constau pe de o parte in insasi abordarea
duala de modelare si pe de alta parte in modelele realizate. Valoarea contributiilor a fost verificata
si prin intermediul diseminarii, atat intr-o revista indexata ISI (cu durata de feedback mai ridicata)
cat si, mai ales, prin intermediul unei conferinte de prestigiu, ale caror lucrari se bucura de o larga
audienta. Solutia conferintei a fost aleasa deoarece reactia unui public avizat se poate obtine practic
pe loc. Dupa cum a fost deja mentionat, in urma discutiilor cu participantii la conferinta au fost
generate doua proiecte de diploma in cotutela (finantate prin intermediul unor programe
ERASMUS) cu Laboratoire GIPSA, Grenoble (pentru abordarea de tip retele Petri hibride) si
respectiv cu Laboratoire des Sciences de L’Information et des Systemes, Marseille. Cele doua
proiecte sunt prezentate in format electronic in anexa VI si vor sta la baza unui proiect EGIDE ce
urmeaza sa fie depus la 5 octombrie si a unui proiect de mai larga intindere europeana.
Toate activitatile aferente acestei etape au fost complet finalizate; modul in care pot fi regasite in
cadrul raportului este descris in rezumat. Fisierele cu modelele Matlab-Simulink, care stau la baza
simularilor descrise in raport si respectiv in lucrari, sunt prezentate in format electronic in anexa V.
Sectiunea aplicativa a avut ca obiective o serie de activitati aferente etapei a III-a – Elaborarea
diverselor variante de politici de conducere pentru fluidizarea traficului. Ca si anterior, modul in
care activitatile aferente sunt inglobate in raport este descris in rezumatul acestuia.
Ca rezultat global este prezentat simulatorul din anexa VII (format electronic) – respectiv un mediu
de simulare multi-agent, cu comportament inteligent si nivel de supervizare. Agentii au la baza
modelele formale elaborate in etapa precedenta si se adapteaza la diversele scenarii de trafic prin
intermediul unui modul special de Value Judgement, care selecteaza politica de conducere cea mai
adecvata situatiei. Produsul informatic este in totalitate original si a fost deja prezentat la nivel
conceptual intr-o conferinta internationala de prestigiu, urmand ca o a doua lucrare, in care sunt
deja implementate o serie de comportamente de baza ale agentilor sa fie prezentata la sfarsitul lunii
septembrie (este deja acceptata).
O serie de alte activitati de diseminare au fost facute la reuniuni si conferinte pentru elaborarea de
proiecte europene - CIGI -2009 cu tematica “La genie industrielle” (350 participanti / 14 tari
francofone) desfasurata in perioada (09.06.2009 – 15.06.2009) in localitatea Bagnes in Bigorre,
Franta (lucrarea “Emerging Sciences to support Interoperability-based Complex Adaptive Systems
in Intelligent Manufacturing”; Autori: Aurelian Mihai Stanescu, Ioan Dumitrache, Simona Iuliana
Caramihai, Mihnea Alexandru Moisescu, Ioan Stefan Sacala) si DIGIBIZ -2009 desfasurata in
perioada (17.06.2009 – 19.06.2009) in Londra (Anglia).
In cadrul aceleiasi actiuni de diseminare, reprezentantul ehipei de proiect (prof. Stanescu) a
participat la pregatirea unui proiect FP7 STREP “APOLLO “ cu titlul “Living Lab” Thematic
Network. (nodul din Romania promoveaza primul “Living Lab” “ARCHES” cu aplicatii pe
conducerea traficului urban) si FP7 Support Action “UNITE “UpgradiNg ICT excellence by
strengthening cooperation between research Teams in an enlarged Europe”, aprobata in luna iulie
2009, cu incepere in 01.02.2010 in care UPB este partener.

84
Bibliografie

[1] Albus, J.S. (1997) The NIST Real-time Control System (RCS): An approach to Intelligent
Systems Research. Journal of Experimental and Theoretical Artificial Intelligence 9 pp.
157-174
[2] Albus, J.S. & Meystel, A.M. (2001) Intelligent Systems: Architecture, Design, Control,
Wiley-Interscience, ISBN-10: 0471193747 ISBN-13: 978-0471193746
[3] Bastin G., Guffens V., „Congestion Control in Compartmental Network Systems”;
[4] Bastin G. and Praly L., “Feedback stabilisation with positive control of a class of mass
balance systems”;
[5] Bastin G. and Provost A., “Feedback stabilisation with positive control of dissipative
compartmental systems”;
[6] Bellifemine F., Caire G., Greenwood D - Developing multi-agent systems in JADE, Jon
Wiley&Sons Ltd, Anglia, 2007.
[7] Brooks R. – A robust layer control system for a mobile robot , IEEE Journal of robotics and
Automation , 2(1), 14-23, 1986.
[8] Guffens V., Mounier H. and Bastin G., “ Compartmental analysis of hop-by-hop congestion
control in communication networks”;
[9] Russel S., Norvig P – Artificial Intelligence : A Modern Approach. Prentice-Hall, 1995.
[10] Wooldridge M. (2000). Intelligent Agents. Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence The MIT Press ISBN-10: 0262731312 ISBN-13: 978-
0262731317

85
Anexe

86

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