Sunteți pe pagina 1din 510

Modelarea sistemelor de calcul

Curs, anul III Calculatoare


Instructori:
Prof.dr.ing. Mihai Mocanu
Conf.dr.ing.Ileana Nicolae
E-mail: mocanu@software.ucv.ro
Ore curs: Joi 16:00-18:00
Ore consultatie (la cerere): Joi 14:00-16:00
Pagina curs: http://software.ucv.ro/~mocanu_mihai/

(pe intrarea corespunztoare cursului, introducei user/pasw)

Obiectul cursului
Domeniul distinct de studiu/cercetare al modelarii
si simularii (M&S) face parte din zona disciplinelor
ingineresti generale (management ingineresc)
n

Termenii modelare si simulare sunt deseori utilizati


alternativ conceptualizarea si implementarea (M&S)
sunt activitati mutual dependente ce pot fi conduse
insa si independent (de indivizi diferiti)

O definitie generala a obiectului M&S:


n

Modelarea si simularea (M&S) consta in utilizarea de


modele, inclusiv emulatoare, prototipuri, simulatoare
etc, fie static sau in timp, pentru a dezvolta date si a le
folosi apoi ca baza pentru luarea unor decizii (tehnice
sau manageriale)

Locul cursului
Mathematics
Operations
Research*

Physics

Control
Theory

Software
Engineering
Artificial
Intelligence

Numerical and
Symbolic
Computation

Modeling &
Simulation

Graphics &
Visualization

Computer
Science
Systems
Engineering

Zone de cunostinte conexe

Fundamente necesare
Programarea calculatoarelor
Tehnici de programare
Metode numerice
Algoritmi i structuri de date
Teoria general a sistemelor dinamice
Teoria probabilitilor i statistica matematic
Programarea orientat pe obiecte
Medii de programare vizual

Obiective
Introducerea conceptelor de baz de modelare i
simulare discret
nsuirea metodelor analitice de modelare pentru
sisteme cu cozi de ateptare i reele de cozi
Introducerea tehnicilor de modelare, simulare i analiza
performantelor pentru sisteme cu evenimente discrete
complexe
Identificarea posibilitilor i limitrilor modelelor
matematice, extinderea lor prin simulare
Utilizarea unor pachete i biblioteci de programe
specializate pentru modelare i simulare
Dezvoltarea abilitilor de modelare/ simulare a unui
sistem nu doar prin exerciii i probleme, ci i prin
realizarea unui proiect

Structura cursului
Modelarea analitic a sistemelor discrete
Probabiliti i procese aleatoare (review)
Teoria elementar a cozilor de ateptare
Reele de cozi de ateptare
Reele Petri
Tehnici de aproximare
Modele de simulare pentru SED
Limbaje si medii de simulare
Topici avansate
n
n

Simularea paralel si distribuit


Analiza perturbaiilor

Coninutul cursului pe larg


Sisteme dinamice
n

Sisteme cu evenimente discrete (SED, SDED)

Modelarea analitic a SED


n
n
n
n

Categorii de modele i nivele de studiu


Modele algebrice i logice
Modele dinamice: reele Petri
Modele temporale: reele Petri temporizate

Modelarea operaional a SED


n
n
n
n

Statistica in modelare
Lanuri i procese Markov i semi-Markov generalizate
Formalismul GSMP ca baz a modelelor de simulare
Sisteme cu cozi de ateptare i reele de cozi

Coninutul cursului (cont.)


Modele de simulare pentru SED
n
n
n
n

Generarea numerelor i variabilelor aleatoare


Construcia i verificarea modelului de simulare
Execuia secveniala i analiza simulrilor (ieirilor)
Validarea simulrilor. Estimatori i inferena statistica

Limbaje i medii de simulare


n
n
n

Limbaje de simulare
Construcia unui simulator. Biblioteci de componente
Metode de accelerare a execuiei simulrilor: simularea paralela
(distribuita), tehnici de gradient

Aplicaii ale modelarii i simulrii pentru:


n
n
n

Sisteme cu cozi de ateptare i reele de cozi


Sisteme de calcul i reele de calculatoare
Sisteme i reele de comunicaii

Referine bibliografice
Banks J., Carson J.S., Nelson A., Nicol D., Discrete-Event
System Simulation, 3rd Ed., Prentice-Hall, 2000
Cassandras C.G., Discrete Event Systems: Modeling and
Performance Analysis, Irwin & Aksen, Boston, 1993
Lazowska E.D., Zahorjan J., Scott-Graham G., Sevcik K.
C.: Quantitative System Performance - Computer System
Analysis Using Queueing Network Models, 1984
Sadiku M., Ilyas M.: Simulation of Local Area Networks,
CRC Press, 1995
Mocanu M., Principii, concepte i instrumente de
modelare i simulare in studiul sistemelor dinamice
discrete, Ed. Sitech, 2004

Notarea
Se face in PV (pct. virtuale, max.100) repartizate astfel:
20% teme practice periodice proiect (P)
20% evaluare continua a activit ii de laborator (L)
20% teste de evaluare (T)
40% examen scris final (E)
Trebuie s obinei minim 50% din punctaj - minim 10p la
fiecare dintre formele de evaluare pe parcursul
semestrului, pentru a putea lua examenul din prima
sesiune.
La examenul final, trebuie s ob ine i minim 50% din
punctaj (20p) pentru a promova.
Nota reflect curba lui Gauss aplicat punctajului final.

Capitolul I
Sisteme dinamice cu evenimente
discrete

Sisteme dinamice: Aspecte calitative


Se are n vedere dezvoltarea de tehnici de
proiectare, analiz, control, msurare de
performane, bazate pe unele metode i criterii
Definiii:
n
n

un sistem const din componente in interaciune


un sistem este complet descris de funcia asociat,
pe care o ndeplinete prezumptiv [Cas93]
modelul - o reprezentare abstract (o schem, un
set de ecuaii etc.) replicnd, cu un anumit grad de
acuratee, comportarea sistemului nsui

Un model matematic general


< X, T, U, f, Y, g, R >, unde:
X este mulimea strilor;
T este timpul (continuu sau discret);
U este domeniul intrrilor admise;
f : XxTxUxTX, funcia de tranziie a strilor;
Y este domeniul de ieire;
g : XxTY este funcia de ieire;
R : UxTU este funcia de admisibilitate a
intrrii (datorata sau nu unei reacii a
sistemului).

Variabile msurabile
variabile de intrare variabile in timp: {u1(t), u2(t), ...}
variabile de ieire modificate de sistem ca rspuns:
{y1(t), y2(t), ...}.

Daca:
u(t) = [u1(t), u2(t), ..., um(t)]T
y(t) = [y1(t), y2(t), ..., yn(t)]T
Modelul matematic general al sistemului, din punct de
vedere intrare-ieire, este:
y(t) = g(u(t)) = [g1(u1(t), u2(t), ..., um(t)), g2(u1(t), u2(t),
..., um(t)),..., gn(u1(t), u2(t), ..., um(t))]T

Clasificarea sistemelor (1)


sisteme statice in care toate relaiile
funcionale intrare-ieire pe care le putem
construi sunt descrise simplu prin ecuaii
algebrice, in care ieirea y(t) este, pentru orice t,
independenta de valorile trecute ale intrrii u(),
<t;
sisteme dinamice in care relaiile funcionale
intrare-ieire construite sunt descrise prin ecuaii
difereniale, deci in care ieirea y(t) depinde de
valorile trecute ale intrrii u(), <t, deci de
momentul iniierii studierii relaiilor i/e

Clasificarea sistemelor (2)


sisteme invariante in timp: rspunsul
intrare-ieire nu depinde de momentul
aplicrii intrrii (daca u(t) y(t), atunci
u(t+) y(t+), T);
sisteme variabile in timp: rspunsul
intrare-ieire depinde de momentul aplicrii
intrrii (daca u(t) y1(t), atunci u(t+)
y2(t+), cu y1(t) y2(t+) pentru t,T)

Stare sistem
Ieirea unui sistem nu este ntotdeauna
aceeai atunci cnd se aplic aceeai
intrare
Simpla observare a ieirii y(t) atunci cnd
intrarea u(t) este complet specificat nu
conduce la predicia ieirii viitoare
Deci starea sistemului difer!

Clasificarea sistemelor (3)


Introducerea noiunii de stare este
important pentru nelegerea corect a
echilibrului intre influenta factorilor externi
i interni in rspunsul unui sistem.
Numrul strilor poate fi finit, numrabil
sau infinit :
- sisteme cu stri discrete;
- sisteme cu stri continue.

Clasificarea sistemelor (4)


Nu doar numrul strilor influeneaz
capacitatea de predicie a comportrii
viitoare a sistemului pentru o intrare data.
-

sisteme deterministe: ieirile sunt


determinate complet de stare, intrri i
momentul aplicrii;
- sisteme stochastice: cel puin una dintre
ieiri este variabila aleatoare.

Clasificarea sistemelor (rev.)


SISTEME

STATICE

DINAMICE

VARIANTE IN
TIMP

INVARIANTE
IN TIMP
LINIARE

NELINIARE

CU STARI
DISCRETE

CU STARI
CONTINUE

CONDUSE DE
TIMP

CONDUSE DE
EVENIMENTE

DETERMINISTE

STOCHASTICE

Sisteme dinamice cu evenimente discrete

Obiect de studiu:

SDED - sistemele dinamice cu


evenimente discrete
Exemple:
liniile de fabricaie/de asamblare
reelele de calculatoare i de comunicaii
sistemele de dirijare a traficului aerian
procesele de business (supermarket) etc.

Elemente distinctive ale SDED


Sisteme artificiale - create de noile tehnologii
Sisteme dinamice - prin natura evoluiei interne
Starea lor se schimba la momente discrete de
timp i nu continuu ca n cazul sistemelor fizice
Evoluia n timp - depinde de interaciunea
complexa a momentelor de apariie a diferitelor
tipuri de evenimente
Nu pot fi descrise prin ecuaii difereniale, cu
derivate pariale sau cu diferene finite

SDED - definiii
Sisteme dinamice al cror spaiu de stri este
discret i ale cror traiectorii de stare sunt
constante pe poriuni
Momentele de timp la care tranziiile survin, ca i
tranziiile n sine sunt n general impredictibile
Tranziiile de stare se numesc evenimente
Acestea dirijeaz mecanismul tranziiilor de stare
SDED se deosebesc profund de sistemele cu
eantionare, obinute prin discretizarea timpului

SDED - proprieti
discrete - privind timpul de referina i spaiul
strilor
natura lor discontinu nu mpiedica analiza prin

aproximare continua (ex. prin modele de difuzie)


asincrone - raportate la evenimente, nu la timp
nedeterministe - generative i capabile de alegeri
interne
dei perturbri neplanificate, defectri i cderi
sunt inerente, modelarea determinista este
posibila (prin algebra min-max sau reelele Petri)

SDED proprieti (cont.)


gradul de complexitate i dimensiunile lor sunt mari:
numrul de stri ale unui SDED explodeaz
combinatorial
enumerarea strilor duce la sarcini computaionale
inadecvate

sunt modulare - compuse din componente cvasiindependente

pot fi aplicate metode de decompoziie i agregare


pot fi echipate cu mijloace de control i comunicare

Metodologii de studiu:

Modelarea analitica
Simularea

DE CE studiem un sistem?
Scopuri
n
n
n

Proiectare
Msurare i control
mbuntire

Modaliti
n

Studiul sistemului real


w Prezint avantajul exactitii obiectului de studiu
Uneori imposibil, deoarece:
w Sistemul real nu exista
w Studiul sistemului real poate fi distructiv, periculos
sau costa prea mult

DE CE recurgem la modele?
Este necesar ca orice experiment s aib
o baz,

dar uneori realitatea nu este construit


(absena sistemului real)
alteori realitatea nu este disponibil
(lipsa accesului la sistemul real)

Studiul modelelor
De obicei uor, rapid, ieftin, sigur fa de
studiul sistemului real
Permite ncercarea unor idei i ipoteze
Simpla construcie a unui model este instructiv
indiferent de utilizarea sa
Validitatea unui model are in vedere:
n
n

similaritatea cu sistemul real


nivelul de detaliu

Numai ea poate garanta concluzii corecte prin


studiul modelului in locul sistemului real

Definiii: modelare i model


Un proces de modelare este o etapa preliminara
necesara in studiul oricrui sistem, pentru:
n
n

calcul analitic
simulare

Un model:
n
n

este o reprezentare abstracta a unui sistem


nu doar o reprezentare a unui sistem - ci i o
simplificare a sa
totui suficient de detaliata, ca sa permit, prin
studiul sau, concluzii valide asupra sistemului

Modelarea in studiul sistemelor

Tipuri de modele
Modele fizice (iconice)
n
n
n

Planuri, scheme, schie necesare in multe domenii


De tip manechin (phantom) in medicina
De tip virtual reality sau augmented reality in
domenii de nalta tehnologie (simulatoare de zbor)

Modele matematice (logice)


n
n
n

Aproximeaz modul de operare al unui sistem


Deseori reprezentate printr-un software adecvat
Execuia programului permite ncercri, obinerea de
rezultate, studiul comportamentului modelului

Modelarea predictiv
Este o modelare in absenta realitii
Exemple:
a) Construcia unei caroserii care trebuie sa
satisfac anumite criterii de greutate,
rezistenta, geometrice, tehnologice

b) Studiul performantei unui algoritm in ipoteza

implementrii pe o arhitectura inc inexistenta


(dar posibila)

c) Experimentarea unor medicamente ce trebuie


sa aib unele proprieti speciale

Modelarea restrictiv
Este modelarea in condiiile restriciilor
de acces la un sistem real existent
Exemple:

a)

Nu putem opri o reea de calculatoare ce monitorizeaz


o centrala nucleara in scopul efecturii de experimente

b)

Nu putem opri procese de fabricaie ritmice pentru a


experimenta noi metode de management

c)

Nu putem perturba circulaia pe o artera aglomerata


pentru a decide in ce msura, de exemplu, schimbarea
unor reguli de trafic (viteza, prioritatea) este benefica

Studiul modelelor logice


Daca un sistem este destul de simplu, i modelul este
simplu, pot fi aplicate metode matematice tradiionale
Permit obinerea de rezultate exacte:
n
n
n

Aparatul matematic integro-diferenial


Teoria ateptrii (cozi i reele de cozi)
Programare liniara

Sistemele complexe pot fi uneori reprezentate de


modele analitice simple, valide
Presupunerile simplificatoare pstreaz validitatea?
Cel mai adesea, un sistem complex necesit un model
complex, metodele analitice nu se aplic ce facem?
n

Simularea pe calculator
In sens larg, se refera la metode de studiu ce pp.
n
n

evaluare numerica a unor modele de sistem


utilizarea unui model software pentru a mima operaii/
caracteristici sistem, in timp

Poate fi validata de studiul modelelor simple,


pentru care este disponibila i o soluie analitica
Potenial ridicat in studiul modelelor complexe
Simularea este foarte utila in studiul unor sisteme
complexe, unde nu se ntrevede soluia analitica
Fundamente teoretice ale modelelor de simulare:
n
n

automatele de stare (stohastice)


procesele semi-Markov generalizate (GSMP)

Acurateea simulrilor
Prin simulare nu se obin rspunsuri exacte, doar
aproximaii, estimri; totui:
n

n
n

Aceasta nu este o problema specifica, ci una generala


pentru multe alte metode de studiu
Erorile pot fi limitate, prin verificare si validare (V&V)
Verificarea si validarea sunt compuse din proceduri
integrate in dezvoltarea modelului (de simulare)

Ceea ce trebuie evitat este obinerea ieirilor


aleatoare (RIRO) din simulri stochastice, prin:
n

Proiectarea i analiza statistic a experimentelor de


simulare
Controlul zgomotului, replicabilitii, eantionrii
secveniale, tehnicilor de reducere a variantei

Verificarea i validarea simulrilor


Verificarea simulrii consta in principal in compararea
modelului conceptual cu codul programat
Metode de verificare a unei simulri:
n

Compararea modelului implementat cu alte modele, att la nivel


de structura interna cat si de intrare/ ieire
Testarea la nivel de sistem, subsistem sau componente pentru
ndeplinirea cerinelor sau specificaiilor documentate

Validarea unei simulri consta in analiza corespondentei


intre model si sistemul real
Metode de validare a unei simulri:
n

Examinarea atenta a ieirilor modelului in condiiile variabilitii


cat mai mari a intrrilor, si compararea cu datele de observaie
Execuia repetata a modelului programat

Diversitatea metodelor de simulare


Cel mai adesea, simularea are loc pentru starea
stabila, dupa eliminarea regimurilor tranzitorii
Metode statice vs. dinamice
n

Ce rol joaca timpul in model?

Metode continue vs. discrete


n

starea se poate schimba continuu, sau tranziiile de


stare apar doar la momente discrete in timp?

Metode deterministe vs. stochastice


n

este evoluia sistemului sigura sau exista elemente


de incertitudine?

Majoritatea modelelor operaionale sunt:


dinamice, discrete i stochastice

Ex.de simulare manual: estimarea


nr. prin aruncarea acului (Buffon)

Se arunc un ac de lungime L pe o masa cu


dungi d- echidistante (d >L)
P (acul sa taie o linie) = (2*L)/(*d)
Se repet experimentul de un numr mare de ori
i se determina R = raportul intre nr. traversrilor
i nr. aruncrilor
Se estimeaz prin (2*L)/(R*d)

Justificare
Acul poate ateriza in poziii diferite (fig.1)
Orice poziie intre 2 linii se caracterizeaz prin:
n

Distanta captului acului (interior) fata de cea mai


apropiata linie de deasupra sa (y): 0 < y < d
Unghiul format cu direcia liniilor (): 0 < < .

Fig.1

Fig.2

Justificare (cont.)
Acul intersecteaz linia dac y < Lsin
Perechea (, y) determin in mod unic poziia
acului (fr a ine cont de translaii)

Justificare (cont.)
Spaiul de eantionare:

Probabilitatea ca acul sa intersecteze


o linie:

aria de sub curba y = Lsin( )


P=
aria dreptunghiului de laturi d , : A = d

Dup efectuarea calculelor:

Concluzii
Problema acului (Buffon) pare banal, dar aduce in
atenie unele caracteristici de simulare importante:
Execuia in vederea estimrii unei mrimi dificil de
calculat exact (in 1733)
n Factorul aleator, ce face ca estimatorul sa nu fie exact
n Posibilitatea estimrii erorii estimatorului
n Replicarea (mai mult=mai bine) pentru reducerea erorii
n Eantionarea secveniala pentru controlul erorii repet
n

aruncarea pana cnd eroarea estimatorului este destul de mica

Reducerea varianei (crucea Buffon sau tehnica Fox)


w n esen, artificii ca rotirea mesei pe care este

aruncat acul pot elimina imperfeciunea aruncrilor

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Fundamente matematice ale modelarii.
Elemente de probabiliti i statistic
matematic.

Definiii nonformale i exemple


Def: Spaiu de eantionare (eng. sample space) , notat
S: o mulime in care fiecare element reprezint
rezultatele unui experiment
Exemple:
n
n

S = {Ban, Marca} in aruncarea unei monede


S = {1, 2, , 6} in aruncarea unui zar

Def.: Eveniment: un subset al spaiului S


Exemple:
n

Obinerea unei valori dintr-o submulime a spaiului S


({Ban}, {1,2,3}) in cadrul unei aruncri

Relaii n mulimea evenimentelor


Implicaia evenimentelor: evenimentul A implica
evenimentul B (notam A B sau A B) daca atunci
cnd se produce A se produce in mod necesar i B
Reuniunea evenimentelor A, B (notata A B): este
evenimentul care se produce atunci cnd se produce cel
puin unul dintre evenimentele A, B
Intersecia evenimentelor A, B (notata A B): este
evenimentul care se produce doar atunci cnd se produc
ambele evenimente A, B
Evenimente incompatibile: evenimentele care nu se
pot produce simultan
Evenimente contrare: producerea unuia nseamn
nerealizarea celorlalte

Evenimente elementare
Def.: Evenimentul elementar este un element din mulimea S
Evenimentele elementare se mai definesc ca rezultate cu
valori booleene ale unor probe (experimente)
Un experiment poate aduce:
n
n

fie realizarea unui anumit eveniment


fie nerealizarea sa

Exist 2 evenimente speciale n mulimea de evenimente


asociate unui experiment :
evenimentul sigur S = A
evenimentul imposibil = A
n

Evenimentele A i B sunt mutual exclusive daca A B =

Distribuia de probabilitate
Def.: Distribuia de probabilitate Pr{} este o funcie
definita pe evenimentele din S cu valori in R
Proprieti:
1.

Pr{A} 0 pentru orice eveniment A

2.

Pr{S} = 1

3.

If A B = then Pr{AB} = Pr{A} + Pr{B}


else Pr{AB} = Pr{A} + Pr{B} Pr{A B}

Exemplul 1
Aruncarea a doua monede:
n

Spaiu de eantionare: S = {BB, BM, MB, MM}

Oricare eveniment elementar se produce cu


aceeai probabilitate: (ev. echiprobabile)

Probabilitatea de a obine cel puin o data B:


Pr{BB, BM, MB} = Pr{BB} + Pr{BM} + Pr{MB} =

Exemplul 2
Aruncarea a doua zaruri:
n
n

n
n
n

Calculam probabilitatea de a da 4 sau duble


Spaiul de eantionare S conine 36 de evenimente
elementare posibile, echiprobabile (probabilitatea
fiecruia fiind 1/36)
Eveniment A: sa obinem 4 (3 evenimente elementare)
Eveniment B: sa dam duble (6 evenimente elementare)
A B: roll (2, 2)

Pr{4 ori duble} =


= Pr{4} + Pr{duble} Pr{(2, 2)}
= 3/36 + 6/36 1/36
= 8/36

Definiii formalizate
Sunt necesare operaii ca:
n

implicaia & echivalenta evenimentelor

reuniunea evenimentelor,

intersecia evenimentelor,

complementaritatea evenimentelor,

incompatibilitatea evenimentelor

Mulimea evenimentelor ataate unui experiment


formeaz o algebr Boole n raport cu operaiile
definite (, i )

Cmp de evenimente
Fie S o mulime de evenimente elementare, iar
B P(S) un sistem de submulimi ale lui S
Dac:
1. S B;
2. E1, E2 B E1 E2 B; E1 E2 B; 1 B; 2 B
3. E1, E2,..., En,... B E1 E2 ... En ... B;
E1 E2 ... En ... B,

atunci B se numete cmp Borel de evenimente

Msura de probabilitate
Definirea se face intr-un cmp borelian de evenimente i
are la baz sistemul de axiome al lui Kolmogorov:
Axioma 1: Fiecrui eveniment elementar E din cmpul
de evenimente i este ataat un numr real nenegativ
numit probabilitatea lui E, notat P(E)
Axioma 2: Probabilitatea evenimentului sigur S este
1, P(S)=1
Axioma 3: Dac evenimentele E1, E2,..., En sunt
incompatibile 2 cte 2, atunci P(E1 E2 ... En) =
P(E1)+P(E2)+...+P(En).
Axioma de adunare extins: Dac apariia unui
eveniment E e echivalent cu apariia evenimentelor
E1, E2,..., En,... incompatibile 2 cte 2,
P(E)=P(E1)+P(E2)+...+P(En)+...

Distribuie de probabilitate discreta


Def.: O distribuie de probabilitate este discreta daca e definita
pe un spaiu de eantionare finit sau infinit numrabil
n

Pentru orice eveniment A:

Pr{A} = Pr{s1} + Pr{s2} + Pr{sn} = sAPr{s}, i A

Def.: O distribuie de probabilitate este uniforma pe un spaiu


finit S
n

|S| = n

Pr{s} = 1/|S| pentru orice eveniment elementar s S

Ex: Aruncarea unui zar netrucat:


n

Fiecare fata are probabilitatea de apariie 1/6

Variabile aleatoare discrete


Def.: O variabila aleatoare (discreta) X e o functie definita pe un
spaiu de eantionare finit/ infinit numrabil cu valori reale
n

Ea asociaz un numr real cu orice rezultat posibil al unui


experiment

Pentru o v.a. X i un numr real x:


Def.: Evenimentul X = x = {s S: X(s) = x}
Def.: f(x) = Pr{X=x} = {sS: X(s) = x}Pr{s} se numete funcia
densitii de probabilitate a v.a. X

Exemplu
Aruncarea unei perechi de zaruri:
Spaiul de eantionare S are 36 evenimente elementare
posibile
Fiecare eveniment elementar sS este echiprobabil:
Pr{s} = 1/36
V.a. X = maximul celor doua valori
Probabilitatea ca maximul celor doua valori sa fie 3:
n

X asigneaz valoarea 3 pentru 5 din cele 36 evenimente posibile:


(1, 3), (2, 3), (3, 3), (3, 2), (3, 1)
Deci: Pr{X = 3} = 5/36

V.a. i eantion (discret)


Este o funcie X : (, B, P) R, ce ia valori diferite n
cazul unor experimente efectuate n condiii identice,
apariia fiecrei valori fiind un eveniment incontrolabil
X() e valoarea real a variabilei aleatoare, ca funcie de
experimentul sau eantionul considerat, unde este
eantionul (engl."sample").
O v.a. X=X() determin o desfacere a evenimentului
total n evenimente incompatibile: intuitiv, pentru cazul
discretizrii luand k valori posibile ale variabilei X(),
notate x1, x2,..., xk, cu probabilitile ataate p1, p2,..., pk
(p1+p2+...+pk =1), variabila aleatoare e dat sub forma:
x1 x2 ... xk
X=
p1 p2 ... pk

Variabile aleatoare continue


Prin analogie valorile sunt funcii continue, de ex. peste R
Probabilitile apariiei acestor valori sunt definite (daca
exista) de o funcie f(x) definita pe ntreaga dreapta reala

P ( x1 X x 2 )= f ( x )dx , f ( x ) 0 pt .x
x2

x1

Pentru orice x1, x2 a.i. x1x2, X este o v.a. continua iar


f(x) se numete funcia densitii de probabilitate
Att v.a.discrete cat i v.a.continue pot fi dependente sau
independente
n

In cazul a 2 v.a. independente, X i Y, definite ca mai sus:

P(Xi Yj) = P(Xi)P(Yj)

Distribuii (repartiii) continue


Avnd in vedere aspectul v.a., se definesc:
Funcia de distribuie sau repartiie (c.d.f) a unei
v.a. X:
F(x)=P(|X()<x)
Densitatea de probabilitate (p.d.f.), pentru orice
A R, prin:
P(xA)=A f(x)dx, sau f(x)=dF(x)/dx

dac F este difereniabil n x

Media, dispersia, alte momente


Media sau valoarea ateptat a unei v.a. este:
= E[X] = - xdF(x) = - xf(x)dx;
Momentul de ordinul k al v.a.:
E[Xk] = - xkdF(x) = - xkf(x)dx;
Dispersia (variabilitatea) v.a.:
2 = var(X) = E[(X-E[X])2] = E[X2]-(E[X])2.
Numita i abatere medie ptratic, pentru un ir
xi cu n (nr. mare) valori, ea se calculeaz astfel :
1
1
2
xi

n i =1
n i =1
n

2
n
n

1
1


2
xi
x i x i
n 1 i =1
n i =1

Aplicatie practica
Pentru 2 v.a. distribuite uniform:
1. Discreta pe intervalul [1,6] (aruncarea

zarului)
2. Continua in intervalul [a,b]
se cere:
I. Calculul mediilor i dispersiilor
II. Reprezentarea grafica a pdf i cdf
Rspunsuri
I. 1. = 7/2; 2 = 35/12

2. = (a+b)/2; 2 = (b-a)2/12 ...

Teoreme importante:
Inegalitatea lui Cebev
Putem avea o imagine asupra repartiiei prin
cunoaterea mediei i dispersiei
Inegalitatea lui Cebev arata cat de mari sunt
probabilitile abaterilor de la medie:

P (| x | ) 2

Se poate aplica att v.a. discrete cat i continue

Teoreme importante:
Legea numerelor mari
Bernoulli: Probabilitatea ca modulul diferenei intre frecventa
relativa de aparitie a unui eveniment E i probabilitatea p a
lui E sa fie mai mic dect un pozitiv, arbitrar de mic, este
1 pentru un nr. de experimente n suficient de mare

n1
1
P (| p |< ) 1 2
n
4 n
Cebev: Probabilitatea ca modulul diferenei intre media
aritmetica A a valorilor medii a n v.a. i.i.d. i media aritmetica
a uneia dintre v.a. s fie mai mica dect un pozitiv, arbitrar
de mic, este 1 pentru n suficient de mare

1 n
b2
P (| X i A |< ) 1 2
n i =1
n

Distribuia binomiala (Bernoulli)

Succes/Esec (1/0)

P ( X = 1) = p

0.7
0.6
0.5
P (X = x)

Se definete printrun experiment


Bernoulli, ce are
doar doua valori:

0.4
0.3
0.2
0.1
0
0

P ( X = 0) = 1 p

1
X

E[ X ] = p

Var ( X ) = p (1 p )

Distribuia binomiala
0.2
P(X=x)

Definita de numrul
de ncercri reuite
dintr-un total de n
experimente Bernoulli
Sau ca suma a n
variabile aleatoare de
tip Bernoulli

0.3

0.1

0
0

f ( x) = P( X = x) = Cnx p x (1 p) n x

E[ X ] = np

Var( X ) = np(1 p)

10

Distribuia binomiala negativa


Definita de numrul necesar de repetri ale unui
experiment Bernoulli pana la obinerea de m ori
a unui eveniment legat de el (m reuite)
Sau ca o suma infinita de variabile aleatoare de
tip Bernoulli, cu valori ce ncep cu m, m+1, ...

f ( x ) = P ( X = x ) = C mm+1x 1 p m (1 p ) x

E[ X ] = m(1 p) / p

Var( X ) = m(1 p) / p 2

Distribuia geometrica
0.6
0.5
P(X=x)

Definita de numrul
de experimente
Bernoulli necesar
pentru a obine
primul succes

0.7

0.4
0.3
0.2
0.1

x1

f (x) = p (1 p)

F(x) =1(1 p)

0
0

10

1
E[ X ] =
p

(1 p)
Var( X ) =
p2

Distribuia Poisson
Definita de nr. de
evenimente aleatoare
ce au loc intr-un
interval de timp de
mrime fixa
Sau ca o limita a
distribuiei binomiale
cnd n i p0

0.3

P(X=x)

0.2

0.1

0
0

10

x
f ( x) = P ( X = x) =
e
x!

F ( x) = 1 e

E[ X ] =

Var ( X ) =

Procese Poisson omogene


Daca numrul de evenimente aprute pana la
momentul t este distribuit Poisson cu rata t
n
n
n

Numrul de evenimente aprute in intervale de timp


disjuncte este independent
Timpii intre evenimente sunt independeni i identic
distribuii ca v.a. exponeniale cu media 1/
Un proces Poisson omogen este staionar (distribuia
nr. de evenimente depinde doar de lungimea
intervalului, nu i de punctul sau de nceput)

Alte proprieti:
n

Combinarea a 2 procese Poisson cu ratele i da


un alt proces Poisson cu rata +
Alegerea evenimentelor dintr-un proces Poisson cu
probabilitatea p da un proces Poisson cu rata p

Procese de natere i moarte


Daca timpii intre evenimente sunt i.i.d. atunci
numrul de evenimente ce apar in timp
formeaz un proces de natere i moarte
n

Un proces Poisson omogen este un proces de natere


i moarte cu timpii intre sosiri exponeniali
Majoritatea proceselor de sosire pot fi modelate
folosind procese de natere i moarte
Uor de utilizat deoarece timpii intre sosiri pot fi
obinui prin eantionare dintr-o distribuie data
Un proces de natere i moarte este staionar

Procese de sosire nestaionare


Evenimentele externe (inclusiv sosirile in sistem)
pot avea rate variabile in timp, de ex.
n
n
n

Sosirile la un restaurant fast-food in jurul prnzului


Traficul in rush-hour in orae sau pe autostrzi
Cererile sezoniere pentru un produs

Caracterul de nestaionaritate al sosirii trebuie


pstrat in model acest lucru este critic pentru
validitatea modelului
Modelul adecvat este cel al unui proces Poisson
neomogen
28

Distribuia exponeniala
Modeleaz:

Timpii intre sosiri,


cnd sosirile sunt
complet aleatoare
Timpii de servire ce
prezint o mare
variabilitate

Este o distribuie
fr memorie:
f ( x + y | X > y ) = f ( x)

0.4

0.3
f(x)

0.5

0.2

0.1

0
0

10

1 x /
f (x) =
e

E[ X ] =

Var ( X ) = 2

Distribuia normala
Descrisa de urmtoarele
proprieti:

Limitele pdf la - i +
sunt 0
Valoarea maxima a pdf
este atinsa cnd X=
Graficul pdf este simetric
dup

0.3

f(x)

0.45

0.15

0
0

10

1
Distribuia mediei unui sir
2 ( x )2
1
2
f
(
x
)
=
e
de v.a. i.i.d. este normala
2 2
Pentru =0: distribuia
2
E[ X ] =
Var
(
X
)
=

normala standard

Distribuia log-normala (Weibull)

E[ X ] = e

0.4

0.3

f(x)

V.a. ln(X) este


distribuita normal
Se utilizeaz in
modelarea mrimilor
ce reprezint
produse ale unui
numr mare de
mrimi aleatoare

0.2

0.1

0
0

f ( x) =
+ 2 / 2

1
x 2

(ln( x ) ) 2 / 2 2

Var ( X ) = e

2 + 2

(e

1)

Distribuia uniforma
Utilizata in situaii cu
date echiprobabile pe
un interval
1

f ( x) = b a
0

E [ X ] = ( a + b) / 2

axb
altfel

Var ( X ) = (b a )2 / 12

Distribuia triangulara
Utilizata in situaii cu
date puine sau lipsa

Se obine pe baza a 2
distribuii uniforme
Sunt necesare doar
minimul, maximul i
c.m.probabil valoare

2( x a )
f ( x) =
, ax<m
( m a )(b a )
2 (b x )
=
, m x<b
(b m )(b a )
= 0, altfel

0.2

f(x)

0.3

0.1

0
0

E [ X ] = ( a + b) / 2

Var ( X ) = (b a )2 / 12

10

Relatii intre distributii


Lognormal

Normal

Distribution

Distribution

Chi-Squared
Distribution

Weibull
Distribution

Exponential
Distribution

Gamma
Distribution

Extreme-Value
Distribution

Erlang
Distribution

Tema: Referat
Instalati pe calculatorul personal sau in laborator
pachetul utilitar Analysis ToolPak din Excel
n

Dupa instalare, comanda Data Analysis trebuie sa fie


disponibila in Excel in grupul Analysis sub tab-ul Data

Folositi aceasta comanda si/ sau alte functii Excel


pentru a genera multiple esantioane de numere
aleatoare cu diferite distributii
Reprezentati grafic distributiile obtinute
Calculati momentele (statisticile) semnificative
pentru esantioanele generate; comparati-le cu
cele teoretice

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Generarea datelor de intrare
1. Generarea numerelor aleatoare

Date de intrare in simularea


dinamica discreta
Fie un SED pentru care stim ca timpul necesar
servirii unui client este cuprins intre 10 si 20 de
minute, fiind distribuit uniform (media fiind 15
minute). Cum putem determina timpii de servire
ai primilor 100 clienti ca date de baza de
intrare pentru simularea SDED?
Recurgand din nou la sistemul si procesul real
si la colectarea datelor
Prin generarea automata (distributionala), cu
grija de a respecta parametrii procesului real

Colectarea datelor
In general grea, costisitoare, frustranta in plus:
n
n

Sistemul real poate sa nu existe


Datele sunt din sisteme/ procese similare modelului si
nu exact coincidente, disponibilitatea lor poate impune
chiar schimbarea modelului
Datele pot fi incomplete sau prea incarcate (zgomot
sau cantitati mari de date)

Iesirile sunt sensibile la incertitudinea intrarilor


(garbage in, garbage out)
Gradul de acuratete (detaliere) al modelului este
dependent (si) de calitatea datelor
n

Variabilitatea datelor e o conditie a validitatii modelului

Generarea datelor
In exemplul anterior, am putea folosi la fel de
bine un sir de 100 de numere aleatoare uniform
distribuite intre 10 si 20, cu media apropiata de
15 (cu atat mai apropiata cu cat numarul lor este
mai mare)
Apare ca metoda generala aceea de a desprinde
observatii sintetice din proces pentru a genera
date de intrare pentru model
Problema este de a potrivi datele generate cu
cele observate
n

datele de intrare generate trebuie si validate!

Discutie
Este clar ca in multe cazuri simularea implica
elemente aleatoare/ stochastice
In exemplul anterior, nu stim apriori cat va lua
servirea unui client, dar stim ca timpul de servire
urmeaza o distributie de probabilitate
Fiindca modelul de simulare este oricum o
aproximare, scopul generarii n.a. si v.a. este sa
aproximam corect datele de intrare
Corect inseamna ca generarea de numere si
variabile aleatoare trebuie sa produca dintr-o
formula distributionala un set de esantioane
(numerice), avand doua proprietati importante

Proprietatile esantioanelor
Identitatea distributiei (potrivire, uniformitate):
Esantioanele produse trebuie sa aiba aceeasi
distributie ca si datele reale din proces
in termeni statistici, c.p. media si varianta esantionului
sunt aceleasi cu media si varianta populatiei de intrare

Independenta: Cand un set de esantioane este


plasat in secventa in care este produs, nu trebuie
sa existe vreun sablon (chiar si neintentionat!) de
repetare a acelei secvente

Cum garantam similaritatea


distributiei cu datele?
Presupunem ca datele ce pot fi culese din sistem
sunt IID (independente si identic distribuite)
Mai intai se incearca gasirea unei distributii de
probabilitate, ce va fi apoi utilizata in generarea
intrarilor modelului de simulare
Cea mai buna distributie teoretica este cea
care se potriveste cel mai bine cu cea a datelor
empirice (culese)
Adecvarea distributiei teoretice (tip, parametri)
cu datele empirice este uneori dificila

Metoda histogramelor
Modalitate simpla de a vedea daca un esantion
de date este adecvat unei distributii; etape:
n
n
n

Se
Se
Se
Se

deseneaza histograma frecventelor aparitiei datelor


estimeaza parametrii unei distributii posibile
deseneaza functia densitatii de probabilitate
determina cat de similare sunt cele doua forme
frecvente

valori ale datelor

Oi reprezinta numarul valorilor


de date observate in cel de-al
i-lea interval (sunt k intervale)
n pi este prob. ca o valoare sa
intre in cel de-al i-lea interval
sub distributia ipotetica
n Ar fi de asteptat sa observam
in intervalul I, Ei = npi, dintr-un
total de n observatii
n Daca pp. distributionala este
corecta, atunci 02 urmeaza o
distr.2 cu k-s-1 gr.de libertate
(s e nr.parametrilor distributiei
ipotetice)
n

Oi

valori ale datelor

Ei = npi
pdf

Formalizeaza notiunea ant. de


similaritate a distributiilor

frecvente

Testul Hi-patrat (Pearson)

valori ale datelor

Oi Ei

=
Ei
i =1
k

2
0

Independena datelor
Dou seturi de date (esantioane) sunt independente dac
orice subset de valori dintr-unul nu ofer nici o informaie
despre vreun subset de valori corespondente in cellalt
2 sau mai multe v.a. sunt independente dac pentru orice
submulime proprie de v.a. orice eveniment determinat de
v.a. din submulime este independent de orice eveniment
determinat de variabilele din mulimea complementar
2 sau mai multe v.a. {X1, X2, . . . , } sunt independente
i identic distribuite dac variabilele au aceeai distribuie
de probabilitate i sunt independente (i.i.d.)
2 observaii sunt independente dac obinerea primei
observaii nu influeneaz obinerea celeilalte observaii
Echivalent, includerea n eantion a unui element nu
influeneaz includerea altui element

Notiuni de baza

Generarea numerelor aleatoare

Aplicabilitate
Apare ca instrument de lucru in cazul sistemelor si
proceselor stochastice (nedeterministe) ce necesita
modele cu elemente stochastice
Implica utilizarea distributiilor de probabilitate ca
elemente de baza de modelare
Larg utilizata si in alte domenii:
n
n

...

Simularea statica (Monte-Carlo) de ex. calculul lui


Analiza probabilistica a algoritmilor cu conditia sa putem
caracteriza in mod rezonabil distributia datelor de intrare
Criptografia la baza constructiei cheilor de criptare si a
altor parametri ai algoritmilor si protocoalelor criptografice

Ce este un numar aleator?


Nu putem spune ca un anumit numar este aleator
Aleatorizarea (randomness) este un proces
nedeterminist ce produce astfel de numere (fara
insa a putea fi siguri niciodata asupra urmatoarei
valori produse)
Surse bune de numere pur
aleatoare: ruleta, dar si alte
dispozitive fizice (electronice,
radioactive) mult mai rapide
Totusi, acestea sunt foarte greu
de utilizat in simulare

Numere pseudo-aleatoare
Cel mai important in simulari, care de obicei se
fac pentru a compara diverse evolutii ale unui
sistem, este pastrarea conditiilor de operare
Aceste conditii sunt influentate de esantioanele
datelor de intrare, la randul lor determinate de
numerele aleatoare folosite
trebuie pastrata sursa de numere aleatoare in
toate simularile
chiar daca sunt pseudo-aleatoare (generate de
algoritmi - deterministi) acestea trebuie sa
satisfaca anumite proprietati statistice

Proprietati ale unui bun generator


si numerelor aleatoare generate
Numerele generate trebuie sa fie independente statistic
(fara autocorelare)
Generatorul trebuie sa fie rapid
Memoria necesara algoritmului de generare nu trebuie
sa fie excesiva
Perioada de repetitie a numerelor generate trebuie sa fie
suficient de mare
Pericolul degenerarii sirului de numere trebuie eliminat
(nu trebuie ca de la un anumit rang, numerele sa nu mai
respecte conditiile impuse)
Sirul de numere aleatoare trebuie sa fie reproductibil

Metode analitice de generare a n.a.(1)


Mijlocul patratului (Von Neumann)
Un numar initial (seed) este ridicat la patrat, si cifrele
din mijloc formeaza primul n.a. (prin repozitionarea
punctului zecimal se poate obtine un numar intre 0 si
1); acesta se ridica din nou la patrat si se obtine prin
aceeasi tehnica al doilea n.a., iar procedeul continua
Surs slaba de n.a. prin faptul ca anumite secvente
de numere aleatoare se repeta
Pornind de la ideea de baza, s-au construit algoritmi
mai buni, bazati pe metode recurente de generare

Exemplul 1
X0 = 9524 (seed)
X02 = 95242 = 90706576 X1=7065
R1= 0.7065
X12 = 70652 = 49914225 X2=9142
R2 = 0.9142
X22= 91422=83576164 X3 = 5761
R3 = 0.5761

Exemplul 2
X0 = 1258 (seed)
1258, la patrat = 1582564
5825
33930625
9306
86601636
6016
36192256
1922
3694084
6940
48163600
1636
2676496
6764.....

Probleme ale algoritmului mid-square.


Repetarea secventelor
Exemplu
X0 = 5197
X02 = 51972 = 27008809 X1=0088
R1= 0.0088
X12 = 882 = 00007744 X2=0077
R2= 0.0077
X22= 772=00005929 X3 = 0059
R3 = 0.0059
Zero-urile dupa punct apar in fiecare n.a. R i din sir

Probleme ale algoritmului mid-square.


Degenerarea sirului
Exemplu
Xi = 6500
Xi2 = 65002 = 42250000 Xi+1=2500
Ri= 0.2500
Xi+12 = 25002 = 06250000 Xi+2=2500
Ri+1=0.2500
...
Toate valorile ulterioare ale lui X i, Ri vor fi 2500
Concluzie: algoritmul mid-square nu este bun!

Metode analitice de generare a n.a.(2):


Metode congruentiale liniare (Lehmer,1951)

LCG produc secvente de intregi X1, X2, intre 0..m -1


conform cu urmatoarea relatie recursiva:
n

n
n

Xi+1 = (aXi + c) mod m, i = 0, 1, 2,


Numim valoarea initiala X0 smna generatorului (seed), a
este multiplicatorul constant, c e incrementul, iar m modulul
Toti parametri sunt intregi
Dupa cum c 0 sau c = 0, avem doua forme:
w Metoda congruentiala mixta
w Metoda congruentiala multiplicativa
Selectia valorilor pentru a, c, m si x0 afecteaza foarte mult
proprietatile statistice si lungimea ciclului
N.a. distribuite uniform intre 0 si 1, U(0,1) se genereaza cu
relatia: Ui = Xi /m, i = 1, 2,

Metoda congruentiala mixta


Se caracterizeaza prin c 0
Exemplu:
O secventa de n.a. cu x0 = 27, a = 17, c = 43,
m = 100
X1 = (17 x 27 + 43) mod 100 = 502 mod 100 = 2
R1 = 2/100 = 0.02
X2 = (17 x 2 + 43) mod 100 = 77 mod 100 = 77
R2 = 77/100 = 0.77
X3 = (17 x 77 + 43) mod 100 = 1352 mod 100 = 52
R3 = 52/100 = 0.52
...

Metoda congruentiala multiplicativa


Se caracterizeaza prin c = 0
Exemplu:
Putem genera n.a. intre 0 si 1 prin aplicarea
relatiei:

xi
x i +1 =
m

si limitarea numarului de cifre zecimale retinut


dupa efectuarea impartirii

Probleme ale LCG


X0=19, Xi+1=(22Xi + 4)mod 63
i
22Xi+4
Xi+1
Ui
-------------------------0
19
1
422
44
.6984
2
972
27
.4286
3
598
31
.4921
4
686
56
.8889
5
1236
39
.6190
6
862
43
.6825
7
950
5
.0794
8
114
51
.8095
9
1126
55
.8730
10
1214
17
.2698

i
22Xi+4
Xi+1
Ui
--------------------------11
378
0
.0000
12
4
4
.0635
13
92
29
.4603

62
708
15
.2381
63
334
19
.3016
64
422
44
.6984

Observam: repetarea sirului dupa


generarea a 64 valori (modulul), dar
si faptul ca repetitia valorilor nu s-a
produs inainte.

Proprietati generale ale LCG


Orice LCG va cicla (cel mult dupa generarea a m n.a.);
lungimea ciclului s.n. perioada LCG
Perioada maxima pentru un LCG este m
Conditia necesara de a obtine un bun generator este m
foarte mare
Perioada este de obicei mai mica decat m
Exemplu:
X0 = 20, Xi+1 = (50Xi + 20)mod 100
X1 = (50*20 + 20)mod 100 = (1020)mod 100 = 20

Conditia m foarte mare nu este si suficienta pentru a


obtine un bun generator
Exista conditii generale ce garanteaza un bun generator?

Teorema 1
Un LCG are perioada maxima d.d.:
1. (m,c)=1 m si c sunt prime intre ele
2. daca exista q, prim, ce divide m, atunci acesta divide a-1
3. daca 4 divide m, atunci 4 divide a-1.

Demonstratia este f. dificila (teorema de numere prime)


Exemplu:
n m=10d, pentru un intreg pozitiv d.
n a se alege din seria 1, 21, 41, 61, 81,.....
n c se alege din seria 1, 3, 7, 9, 11, 13, 17, 19,...
(intregi impari ce nu se divid cu 5)
Aplicatie: demonstrati ca LCG din exemplu verifica
conditiile teoremei

Modalitati de accelerare a LCG


Depasirea (Overflow Division)
n

n
n

Ideea: intr-un calculator zecimal cu lungimea cuvantului 4,


6000+4001=0001; sau 34561332 mod 10000 = 1332, deci
stocarea pe 4 biti implica efectuarea operatiei modulo
Putem alege m=2b unde b=lungimea cuvantului calculator
Exemplu: pentru un PC cu procesor pe 32 de biti, m=232 sau
chiar m=231, tinand cont de lungimea reala (fara semn)

Eliminarea lui c si obtinerea unui LCG multiplicativ


n
n

Totusi, fara c rezultatul din teorema 1 nu are sens


Exista o teorema ce stabileste conditii asemanatoare pentru
generatoare multiplicative cu modul prim (PMMG)

Teorema 2
Perioada generatorului este m-1 daca:
m este cel mai mare numar prim mai mic decat 2b
2. cel mai mic numar k pentru care ak-1 este divizibil
prin m este k=m-1
1.

Exemplu:
n
n
n

m=231-1, prim; a=75=16807


Nu putem aplica overflow division pt. accelerare
O metoda apropiata, numita simulated division,
asigura practic aceeasi viteza (principiu asemanator)

Modalitate de verificare a n.a. generate


Utilizarea unei simulari pentru a
calcula valoarea numarului
(pi)
Fie (x, y) coordonatele unui
punct P din patrat
Pentru punctele de pe
circumferinta cercului:
y
x2 +y2 = r2
Folosind generatorul de n.a.
pe care il avem, acoperim
patratul prin 10 000 puncte
aleatoare; fie a numarul de
puncte din sfertul de cerc

P(x,y)

Acuratetea determinarii lui pi depinde de


calitatea generatorului de n.a.
Fie a numarul de puncte din sfertul de cerc
Aria sfertului de cerc = Numar de puncte in sfertul de cerc
Aria patrat
Numar de puncte in patrat

r 2

P(x,y)

y
r

4 = a
10000
r*r
12
4 = a
1 *1
10000
a
=
2500

Functii de generare a n.a. in C/C++.


Functiile rand() si srand()

Returneaza valori intregi generate (pseudo) aleator


rand() returneaza acelasi sir de numere
n

Aplica metoda congruentiala multiplicativa (factor 232) si


returneaza secvente de n.a. intre 0..RAND_MAX (constanta
simbolica e definita in stdlib.h, valoarea uzuala este 32767)
Sirul de numere returnat poate fi schimbat daca se modifica
valoarea implicita a variabilei seed (reinitializare generator)

srand() face (re)initializarea generatorului de n.a.


n
n

Utilizare: srand(int iSeed)


iSeed poate fi data explicit, ca o constanta (1=val.implicita),
sau setata diferit la fiecare rulare, in functie de timp

Functia time() si operatorul %


Trebuie inclus header-ul <time.h> ce contine definitia:
time_t time(time_t *tloc);, echivalenta cu:
int time(int *tloc);
n

tloc este locatia de memorie a unei variabile intregi unde poate fi


stocata valoarea generata (optional)

Descriere: time() returneaza valoarea intreaga (in sec.) de


la 1/1/1970, pentru a obtine o valoare diferita a smnei
la fiecare rulare a unui program
n

Daca tloc 0, valoarea returnata este si stocata in locatia spre


care pointeaza tloc

Operatorul % (modulo) permite scalarea valorilor:


n
n

rand( ) % 10 un n.a. intre 0 si 9 inclusiv


rand( ) % b + a un n.a. intre a si b-1 inclusiv

Exemplu: generarea a 10 numere intre 0..20


// printing 10 random numbers
// between 0 and 20:
// Same numbers each run
#include <iostream.h>
using namespace std;
main()
{
int i, iNum;
i=1
while ( i<=10 )
{
iNum = rand() % 21;
cout << iNum << " ";
i++;
}
}

// printing 10 random numbers


// between 0 and 20
// Different numbers each run
#include <iostream.h>
#include <time.h>
using namespace std;
main()
{
int i = 1;
// print the time
cout << time(NULL) << endl;
// seed the random number
// generator with the time
srand( time(NULL) );
while( i<=10 )
{
cout << rand() % 21 << " ";
i++;
}
}

Tema: Proiect + Referat


Construiti pachetul propriu de rutine de generare
de numere aleatoare; implementati cel putin trei
metode (functii) de generare de n.a.
Implementati functii-criteriu de verificare privind
calitatea numerelor generate
Implementati pe baza generatorului de n.a. 2-3
generatoare de distributii simple (de ex.uniforma,
binomiala, Bernoulli)
Studiati proprietatile esantioanelor generate, prin
comparatie si cu date generate folosind Excel

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Generarea datelor de intrare
2. Generarea distribuiilor.

Distribuii (repartiii)
Fiind data o v.a. X si o variabila x, se defineste funcia de
repartitie (cdf):
Cazuri:
n FX(x): functie continua in x, daca X este v.a. continua
n FX(x): discreta in x, daca X este v.a. discreta
n FX(x): continua pe portiuni, daca X este v.a. mixta
Proprieti :
n 0 FX(x) 1, - < x <
n FX(x) este functie monoton crescatoare in x
FX ( x) = 0, lim FX ( x) = 1
n Avem lim
x
x

Functia densitatii de probabilitate (pdf)


Daca X este v.a. continua, atunci

Proprietati ale pdf :


1.

2.

Functia de repartitie (pmf)


Daca X este v.a. discreta, cu valorile posibile:
x1, x2, ..., xn (altfel scris xi unde i=1, 2,...,n)
cu probabilitile de aparitie p(xi) = P(X=xi), vom numi:
p(xi) functia masei de probabilitate pentru v.a. X
(xi, p(xi)) distributia de probabilitate (repartitia) lui X
Proprietati ale pmf (probabilitii elementare):
1.

p ( xi ) 0, pentru orice i
n

2.

i =1

p( xi ) = 1

Distribuia eantionat (de sondaj)


Este data de o functie de tipul pdf sau pmf (sau
echivalent de cdf) ce caracterizeaza valorile ce
trebuie obtinute (si pe care statistica si le poate
asuma) din esantioane aleatoare repetate
O modalitate simpla de aproximare a distributiei
eantionate: selecia repetat a unui mare numar
de esantioane aleatoare din multimea de intrare
Calculul valorilor statistice pentru fiecare esantion
si construirea unei histograme d o imagine
aproximata a distributiei esantionate

Histograma
Se consider un numr mare de secvene de aruncare a
unei monede netrucate, i proporia medie de apariie a
a banului (cap)
Histograma apariiilor,
la 10000 aruncri:
(cf. Wikipedia)
Alte ex. de statistici:
n
n
n

Suma v.a.
Media v.a.
Dispersia v.a.

Media aritmetic de sondaj

(sample average, sample mean-value)


Raportul dintre suma tuturor valorilor x
observate n eantionul considerat i numrul
total n al acestora:
n
1
x =
n

i =1

x *i

Observaii
n cazul valorilor observate, aranjate n ordine
cresctoare sau descresctoare:
n
1 n
x =
n ix i = fix i

n i =1
i =1
unde:
n - numrul total al valorilor observate;
ni - frecvena absolut corespunztoare valorii xi;
fi - frecvena relativ corespunztoare valorii xi.

Dispersia de sondaj (2)

(sample variance)

S.n. i moment centrat de ordinul doi:


n
1
2 = ni ( xi x ) 2
n i =1

Valoarea numeric a sa caracterizeaz n modul cel mai


adecvat mprtierea repartiiei statistice
Dispersia de sondaj poate fi folosit ca estimare
aproximativ a dispersiei din populaia originar,
considerndu-se formula corect:
n
1
2
2
=
(xi x)

n1 i=1

Metode de esantionare (sampling)


Generarea unor esantioane aleatoare de date
dupa identificarea unei distributii de probabilitate
trebuie sa respecte doua proprietati importante:
n

Uniformitate: Distributia esantionului aleator si cea


identificata pentru datele colectate sunt identice in
termeni statistici, media si varianta esantionului sunt
identice cu media si varianta populatiei de intrare
Independen: Atunci cand setul de esantioane e plasat
in secventa in care a fost produs, nu exista un sablon
neintentionat in aceasta secventa

Teoreme importante:
Inegalitatea lui Cebev
Putem avea o imagine asupra repartiiei prin
cunoaterea mediei i dispersiei
Inegalitatea lui Cebev arata cat de mari sunt
probabilitile abaterilor de la medie:

P (| x | ) 2

Se poate aplica att v.a. discrete cat i continue

Teoreme importante:
Legea numerelor mari
Bernoulli: Probabilitatea ca modulul diferenei intre frecventa
relativa de aparitie a unui eveniment E i probabilitatea p a
lui E sa fie mai mic dect un pozitiv, arbitrar de mic, este
1 pentru un nr. de experimente n suficient de mare

n1
1
P (| p |< ) 1 2
n
4 n
Cebev: Probabilitatea ca modulul diferenei intre media
aritmetica A a valorilor medii a n v.a. independente i media
aritmetica a v.a. sa fie mai mica dect un pozitiv, arbitrar
de mic, este 1 pentru n suficient de mare

1 n
b2
P (| X i A |< ) 1 2
n i =1
n

Proprietati generale ale distributiilor


esantionate
1. Distributia esantionata a unei statistici tinde sa
se centreze pe valoarea estimata a parametrului
statistic corespunzator
2. Imprastierea valorilor distributiei esantionate
a multor statistici tinde sa fie tot mai mica pe
masura ce marimea esantionului creste
3. Tot pe masura ce marimea esantionului creste,
distributia esantionata a multor statistici devine
tot mai similara unei distributii normale (forma
de clopot)

Proprietati generale ale distributiilor


esantionate (cont.)
Cand distributia esantionata a unei statistici este
coincidenta cu parametrul corespunzator al
populatiei din care este extrasa, statistica s.n.
nebalansata (unbiased) i constituie un estimator
nebalansat al parametrului populatiei
n

Ex.

este un estimator nebalansat al mediei

Deviatiile standard ale distributiilor generate sunt


in general mai mici decat deviatia standard a
populatiei de intrare ().
Variatia in distributia generata scade pe masura
ce marimea esantionului creste

Distribuia normal (Gauss-Laplace)


Este definit de
funcia de repartiie:
(
x )2
x

1
2
2 2
F x; ; =
e
dx

2
unde:

R, > 0, xR

funcia de densitate a repartiiei v.a. X:

1
f (x ) =
e
2

(
x )2

2 2

Distributia esantionata a mediei


Distributia esantionata a mediei, x, este acea
distributie de probabilitate descriind esantioane
aleatoare repetate dintr-o populatie (proces)
Daca se considera valori
dintr-o populatie de intrare
cu media si deviatia
standard , formand mai
multe esantioane (n),
valorile medii formeaza
distributia esantionata a
mediilor (simple)

Media si deviatia standard a distributiei


esantionate a mediilor ( x )
Daca x este media esantioanelor aleatoare x1, x2,
,xn, dintr-o populatie sau proces cu media si
deviatia standard , atunci media distributiei
esantionate a mediilor coincide cu , indiferent
de numarul de esantioane (n)
Abaterea distributiei esantionate descrise de x,
este egala cu abaterea standard a populatiei, x
raportata la radicalul marimii esantionului

x = si x =
n

Teorema de limita centrala (TLC)


TLC (eng. Central Limit Theorem) afirm c: pentru n
variabile aleatoare continue, identic repartizate cu
aceeai medie (m) i aceeai dispersie (2), atunci v.a.
medie a eantioanelor este aprox. normal repartizat, cu
aceeai medie (m) i dispersia mai mic (2/n)
Acest fapt are loc chiar pentru valori mici ale lui n
De fapt, TLC este un rezultat important i pentru c
stabilete o cheie de verificare:
, distribuia
esantionata a mediilor, este aproximativ normala,
independent de tipul distributiei populatiei de intrare

Teorema de limita
centrala (cont.)
Pe masura
ce marimea
esantionului
creste destul
de mult
( 30) ...

Distributia de
esantionare
devine aproape
normala.

X
(cf. Kendall Introduction to Statistics)

Metode de generare a v.a. de


repartitie data (non-uniforma)
Metoda transformarii inverse
Metoda transformarii directe se
aplica pentru distributia normala
Metoda convolutiei
Metoda acceptarii-rejectarii

Metoda transformarii inverse (1)


Este aplicabila daca functia de distributie
este inversabila
Metoda se aplica unor distributii continue:
n
n
n

Exponentiala
Uniforma ( U[0,1])
Geometrica

cat si tuturor distributiilor discrete


Desi cea mai directa, nu este si cea mai
eficienta dpdv computational

Metoda transformrii inverse (2)


Fie o distributie oarecare descrisa prin cdf FX(x),
pentru care exista inversa F-1X(y) pe 0 y 1:
F-1(y) = min { x | F(x) y }
Daca U[0,1] e distributia uniforma, atunci v.a. X
= F-1(U) are cdf F(x)
Justificare. Se poate da ca o consecinta directa a
relatiei:
[U<F(x)] [Xx] [UF(x)] pentru orice x
sau:

Justificare: v.a. X = F-1(U) are cdf F(x)


Daca v.a. X are cdf FX(x) si exista inversa F-1X(y)
pe 0 y 1, putem defini o noua v.a. Z=FX(X)
pentru care FZ(z) = P(Z z) = P(FX(X) z) daca
0 z 1.
Deoarece exista F-1X(y) si din cauza proprietatii
de monotonie:
P(FX(X) z) = P(X F-1X(y)) = FX(F-1X(z)) = z
care defineste v.a. Z ca U[0,1] (distrib.uniforma)
atunci v.a. X = F-1(U) are cdf F(x)

Transformarea inversa

Transformarea inversa aplicata


unei distributii continue oarecare
Fie o v.a. avand pdf f(x) = x/2, pentru 0<x<2
Prin integrare directa rezulta F(x) = x2/4, pentru
0<x<2
-1
F
(U) = 2 U
Inversa este

Prin urmare, pe baza generatorului de n.a. cu


distributie uniforma U[0,1], se obtine v.a. X cu
cdf F(x) = x2/4, data de:

X=2 U

Transformarea inversa aplicata


unei distributii discrete oarecare
Fie o v.a. avand pmf f(x) data de:

P[ X = x] = x / 10, pentru x = 1,2,3,4.


Transformarea inversa conduce la obtinerea v.a.
X pe baza generatorului de n.a. cu distributie
uniforma U[0,1]:
U < 0.1
1
2
0.1 U < 0.3

1
X = F (U ) =
0.3 U < 0.6
3
4
0.6 U

Transformarea inversa aplicata la


generarea distributiei exponentiale
Interpretand parametrul ca medie a nr.de aparitii
pe unitatea de timp, stiind ca daca U este distributie
uniforma pe [0,1] si 1-U este U[0,1], avem:

Transformarea inversa aplicata la


generarea distributiei geometrice
Functiile distributionale sunt:
pmf : f ( x) = (1 p ) x 1 p, pentru x = 1,2,...
cdf : F ( x) = 1 (1 p ) [ x ] , unde [

] denota partea intreaga

Atunci:

unde prin log(1-U)=-E s-a notat exponentiala

Distributii uzuale si aplicatiile lor


Distributie

Aplicatii

Bernoulli

Modelarea unui calculator, daca e functional sau nu


Un pachet intr-o retea isi atinge sau nu destinatia
Un bit dintr-un pachet soseste la destinatie cu
eroare (afectat de zgomot)

Binomiala

Modelarea numarului de procesoare functionale


intr-un sistem multiprocesor
Numarul de pachete dintr-o retea care isi ating
destinatia, fara pierderi
Numarul de biti dintr-un pachet ce sosesc la
destinatie cu eroare
Numarul de articole dintr-un lot ce au anumite
caracteristici

Distributii uzuale si aplicatiile lor (2)


Distributie

Aplicatii

Binomiala
negativa

Numarul de interogari locale intr-o baza de date

Geometrica

Numarul de interogari locale intr-o baza de date

distribuita, inaintea accesului n la distanta


Numarul de retransmiteri necesar pentru un mesaj
continand n pachete
Numarul de biti succesivi fara eroare intr-un
pachet, inaintea primirii celui de-al n-lea bit eronat
distribuita, inaintea acceselor succesive la distanta
Numarul de pachete transmise cu succes, intre cele
ce necesita retransmiterea
Numarul de biti succesivi fara eroare intr-un pachet

Distributii uzuale si aplicatiile lor (3)


Distributie

Aplicatii

Poisson

Numarul de cereri la un server intr-un interval de

Exponentiala

Timpul intre cereri succesive de servire


Timpul intre caderi succesive ale unui dispozitiv

Erlang

Modelarea timpilor de servire intr-o retea de cozi

timp dat
Numarul de defectari ale componentelor, in timp
unitar
Numarul de interogari intr-o baza de date in t sec.
Numarul de erori de tiparire intr-un formular

(m servere cu timpi de servire distribuiti


exponential)

Distributii uzuale si aplicatiile lor (4)


Distributie

Aplicatii

Normala

Modelarea erorilor de masurare


Distributia mediilor simple ale esantioanelor unui
mare numar de observatii independente (cf.
teoremei de limita centrala)

Log-normala

Modelarea unei distributii normale transformate

Uniforma

Modelarea dispozitivelor de i/e selectate pentru

urmatoarea operatie de i/e


Numerele de inregistrari returnate de cautarile
intr-un fisier
Numerele de pista returnate de cautarile pe disc

Tema: Proiect + Referat


Construiti un pachet propriu de generare de
distributii; folositi metoda transformarii inverse
acolo unde ea se aplica
Reprezentati grafic distributiile obtinute
Calculati momentele (statisticile) semnificative
pentru esantioanele generate; comparati-le cu
cele teoretice
Studiati proprietatile esantioanelor generate, prin
comparatie si cu date generate folosind Excel

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Modele pentru sistemele (dinamice)
cu evenimente discrete

Sumar
Terminologie i concepte de baz
Tipuri de modele. Modele bazate pe stare
Automate cu stri finite
Reele Petri clasice. Descrieri
Modelarea conceptelor dinamice
Modele i limbaje. Exemple de modelare
Modele bazate pe urme. Nivele de studiu
Alte tipuri de modele i clasificri

Terminologie i concepte de baz


Sistem - o colecie de entiti in interaciune
Model - o reprezentare abstract a sistemului
Entitate - component a sistemului cu reprezentare explicit
in model (obiect de interes in sistem)
Atribut - o proprietate a unei entiti
Set - colecie de entiti asociate, permanent sau temporar
Eveniment - o apariie instantanee ce schimb starea
sistemului
Activitate - o perioada de timp de lungime cunoscuta la
nceputul ei
ntrziere - o perioada de timp nespecificat ca lungime
necunoscut pn la terminarea ei

Concept cheie: Eveniment


Este un rezultat brusc al ndeplinirii simultane a
mai multor condiii
Poate fi:
Endogen: aprut in interiorul sistemului
Exogen: aprut in mediul extern, dar care afecteaz
sistemul

Intr-o alta perspectiva:


n

evenimentul este rezultatul unui proces-eveniment,


doar acesta determinnd timpul apariiei sale
tranziiile de stare rezulta prin combinarea proceselor
eveniment, asincrone si concurente

Dinamica de sistem si model


Evoluia in timp a SDED depinde de interaciunea
complexa a momentelor de apariie a diferitelor
tipuri de evenimente
Dinamica SDED este determinata de interaciunile
complexe ale sincronizrii evenimentelor discrete
asociate cu activitile/resursele
n

Dinamica modelului trebuie sa o reflecte pe cea a


sistemului de baza
DAR: dinamica modelului poate fi ameliorata prin unele
metode

Complexitatea
Imprim dificultatea descrierii unui SDED
Complexitatea crescut a sistemului rezult din:
n

Capacitatea crescut (numrul mare de componente)


w Sisteme simple: aparate electrocasnice, linii de fabricaie

un model programat poate avea sute sau mii de linii de cod


w Aplicaii complexe: calculatoare, reele de calcul sau de

comunicaie modelele au sute de mii de linii de cod


n

DAR i din interaciunea complexa a momentelor de


apariie a diferitelor tipuri de evenimente

Metode de descriere
Este posibil ca funcionarea dorit a modelului
s nu poat fi obinut fiindc nu este descris
corect i complet funcionarea sistemului
n

Apar erori de implementare datorit descrierilor


incomplete sau eronate

Metod uzual: utilizarea unui limbaj natural


n

Descrierea precis a sistemului este foarte dificil

Metod recomandat: utilizarea de formalisme


i modele computaionale
n
n

Sunt precise, neambigue


Pun la dispoziie un set de obiecte i reguli pentru
compunerea obiectelor

Tipuri de modele
Modele
n Modele
n Modele
n Modele
n Modele
n Modele
n

bazate pe stare
bazate pe urme
orientate pe activitate
orientate pe structur
orientate pe date
eterogene

Modelele bazate pe stare


Reprezint sistemul ca un set de stri i un set
de tranziii ntre stri o tranziie e determinat
de evenimente externe
Categorii:
n
n
n
n

Automate cu stri finite


Automate cu stri finite i ci de date
Automat cu stri finite ierarhice concurente
Reele Petri

Se utilizeaz pentru sisteme de control:


n
n

monitorizarea unor intrri de control;


setarea unor ieiri de control

Automate cu stri finite (ASF)


Un set de stri ale sistemului
Un set de tranziii posibile ntre stri
Un set de aciuni asociate cu strile sau
tranziiile
<S, I, O, f, h, s0>
S = {s0, s1, , sl} setul de stri
I = {i0, i1, , im}
setul de intrri
O = {o0, o1, , on} setul de ieiri

f funcia strii urmtoare, f : S x I S


h funcia de ieire
s0 starea iniial

Tipuri de ASF (1)


Maina Mealy (bazat pe tranziii)
h:SxIO

Ex. Controler de ascensor ntr-o cldire cu 3 etaje


I = {r1, r2, r3}
etajul cerut
O = {d1, d2, n, u1, u2}
direcia i nr. de etaje
cu care trebuie s se
deplaseze ascensorul

Tipuri de ASF (2)


Maina Moore (bazat pe stri)
h:S O

Ex.

Critica modelelor ASF


Maina Moore necesit un nr. mai mare de stri
dect maina Mealy
n

Justificare: fiecare valoare de ieire necesit propria


stare (pot exista arce multiple ce indica aceeasi stare)

Ambele sunt modele teoretice si idealizate


Spaiul si timpul sunt modelate si referite absolut
Procesele lucreaz sincron
Se pot utiliza pentru sisteme la care predomin
partea de control
Nu permit descrierea sistemelor complexe (apare
fenomenul de explozie a strilor)

Automate cu stri finite i ci de date


Extind modelul ASF cu tipuri de date complexe/ variabile
n

Modelul ASF utilizeaz numai tipuri de date i operaii booleene

Permit astfel reducerea numrului de stri


Descriere: ASFD = <S, I, O, V, f, h, s0>
n

V = {v0, v1, , vn} setul variabilelor

f funcia strii urmtoare, f : S x I x V S

h funcia de aciune, h : S O + V (Moore)

I, O i V pot conine tipuri de date complexe, ca i limbajele de


programare

f i h pot conine operaii aritmetice

h descrie i actualizarea variabilelor

ASFD Exemplu (controler ascensor)

ASFD se pot utiliza i pentru sisteme (predominant) de


control, i pentru cele la care predomin partea de calcul
Totui, niciunul dintre modelele ASF si ASFD nu este
adecvat pentru sistemele complexe, deoarece ele nu
permit reprezentarea explicit a concurenei i a ierarhiei

Automate cu stri finite ierarhice


concurente (ASFIC)
ASFIC reprezint o extensie a ASF, ce permite:
n
n
n

Construcia ierarhica a modelelor


Concurena
Descrierea lor intr-un limbaj grafic (statecharts)

Se pot grupa ntr-o nou stare ierarhic mai


multe stri
Fiecare stare poate fi descompusa intr-un set de
(sub)stri
Dou metode de descompunere
n
n

SAU: o stare este descompus n (sub)stri secveniale


I: strile se pot executa concurent

Ierarhizarea strilor
Tranziiile pot fi structurate sau nestructurate
Tranziiile structurate sunt permise ntre stri cu acelai nivel ierarhic
nTranziiile nestructurate pot aprea ntre 2 stri oarecare

Fr ierarhie

Cu ierarhie
A

A1

z
y

A2

A1

z
y

A2

Strile A1 i A2 au fost grupate n starea ierarhic A


Tranziia n starea B la evenimentul z se realizeaz din starea
A, nu A1 sau A2

Concurena
Fiecare stare se execut prin mai multe sub-stri concurente
Comunicaia se realizeaz prin variabile globale
Dou sau mai multe stri concurente pot fi grupate ntr-o
nou stare ierarhic
Concuren
B
C

C1

D1

C2

D2

Starea B a fost descompus n strile concurente C i D


Strile C i D sunt descompuse fiecare n dou stri ierarhice

Statecharts
Limbaj grafic ce permite ierarhia, concurena i comunicaia
ntre strile concurente; utilizeaz tranziii nestructurate

Starea Y este descompus n dou stri concurente, A i D; prima const


din dou substri B i C, iar a doua cuprinde substrile E, F i G.
Dac apare evenimentul b n timpul strii C, are loc transferul n starea B.
Dac apare evenimentul a n timpul strii B, are loc transferul n starea C,
dar numai dac este ndeplinit condiia P n momentul apariiei evenim.
n timpul transferului din starea B n starea C, se va executa aciunea c,
care este asociat cu aceast tranziie.

Reele Petri clasice (C/E)


Model orientat pe stare, ce extinde modelele de tipul AF
pentru a permite modelarea dinamicii asincrone a unui
sistem (inclusiv concurenta, comunicaie etc.)
Elemente: locaii, conin simboluri ce s.n. jetoane (0/ 1),
si tranziii, plus arce ce leag elemente de tip diferit
n

in RP C/E poate exista cel mult un arc intre 2 noduri

Terminologie
n
n
n

Sistem C/E: reea C/E + marcaj


Configuraii: marcajele posibile ale unei reele C/E
Cazuri: configuraiile accesibile din marcajul iniial (case graph)

In anii 60 -70, accentul principal s-a pus pe dezvoltri


teoretice; din anii 80 se insista pe instrumente i aplicaii

Descrieri
Grafice (grafuri bipartite) i matematice, cu semantic
formal i posibiliti de analiz
Caracteristici importante: stri distribuite i tranziii
locale
Exemplu: RP = <P, T, Pre, Post, M>
P = {l0, l1, , lm} setul poziiilor (locaiilor)
T = {t0, t1, , tn} setul tranziiilor
Pre : T L+, funcia de intrare, ce definete locaiile care
furnizeaz intrri unei tranziii
Post : T L+, funcia de ieire, definete locaiile de ieire
pentru fiecare tranziie
M : L {0,1}, funcia de marcaj, definete numrul de simboluri
din fiecare locaie

Condiii i resurse
Reelele de tip C/E modeleaz fluxurile de informaii, la
nivel fundamental (true/false)
Aplicaii: cele in care fluxul de resurse si/sau numarul de
resurse disponibile este important (document workflow,
data flow, linii de fabricaie, reele de comunicaie, www)
Reelele de tip P/T reprezint o
generalizare (extensie) imediata:
n

Elementele de stare sunt echivalente locaiilor


unde sunt stocate resurse (jetoanele)
Elementele de aciune sunt reprezentate de
tranziiile locale sau transportul resurselor
Poate fi aplicata o descriere matematica
similara cu cea a RP C/E

Exemplu RP: O reea PT (1)


p1

p2

t2

t3

p3

p4

t1

t6
p8

p5
p5

t4

p6

t5

p7

Exemplu RP (2)
p1
p2

p3 t3

t2

p4

t1

t6
p8
p5

1
0
0
Pre = 0
0
0
0
0

0
1
0
0
0
0
0
1

t1 t 2

p5

t4

p6

t5

0
0
1
0
0
0
0
0

0
0
0
0
1
0
0
1

0
0
0
0
0
1
0
0

t3 t 4

t5

0 p1
0 p2
0 p3
1 p4
0 p5
0 p6
1 p7
0 p8
t6

p7

1
1 0 0 0 0

1 1 0 0 0 0
Matricea de inciden 0 1 1 0 0 0

1 0 0 1
I = Post - Pre = 0 0
1 0 0 1 0 0
0 0 0
1 1 0
0 0 0 0
1 1
0 1 1 1 1 0

0
1
0
Post = 0
1
0
0
0

0
0
1
0
0
0
0
0

t1 t 2

0
0
0
1
0
0
0
1

0
0
0
0
0
1
0
0

0
0
0
0
0
0
1
1

t3 t 4

t5

1
0
0
0
0
0
0
0
t6

p1
p2
p3
p4
p5
p6
p7
p8

Exemplu RP (3)
t1

p1

M ( p1 ) 4
4
M ( p 2 ) 1
0
t6
M ( p3 ) 0
1
p
8
p5
p7
M ( p ) 0
0

M
=
M = M ( p ) =
0
0
p5
5
M ( p ) 0
0
p6
t4
t5
6

1
1
M
(
p
)
7

t2 este validata si se declanseaza


0
M ( p8 ) 1
p2

t2

p2

t2

p1

p3 t3

p4

p3 t3

p4
t6

t1

p8

p5

p7

p5
t4

p6

t5

M '= M Pre(, t ) + Post (, t )


= M + C (,t )

O alta definiie formal (pt. reele PT)


O reea PT poate fi mai nti definit structural, de ex.
prin 5-tuplul: (P, T, A, C, w), unde
n
n
n

P este o mulime finit de poziii (locaii)


T este un set finit de tranziii
A este o mulime de arce, o submulime a mulimii
(PT)(TP)
C: P (N {}) \{0} este o funcie de capacitate a
poziiilor (capacitatea unei poziii e implicit nelimitat)
w e funcia de ponderare aplicat arcelor, w:A{1,2,3 ...}
(ponderea unui arc se consider implicit unitar)

Prin M0: P N notm funcia numit marcaj iniial


Definiia dinamic a reelei PT const n evidenierea
modalitilor (legilor) de evoluie a marcajului iniial

Modelarea conceptelor dinamice in RP (1)


(C/E si PT)
A

concuren
A

conflict/alegere

sincronizare
A

comunicare
A

resurse/multiplicitate date/individualitate

Modelarea conceptelor dinamice in RP (2)

(a) secveniere;
(b) ramificaie;
(c) sincronizare;
(d) conflict la resurse;
(e) concuren

Concluzii (modelare cu reele Petri elem.)


Se poate utiliza pentru a testa i valida anumite
proprieti utile ale sistemelor
n

Sigurana: este garantat prin faptul c numrul de


simboluri nu crete nedefinit
Funcionalitatea: este garantat prin lipsa blocajelor
va exista ntotdeauna cel puin o tranziie care
poate fi declanat

Avantaj: modelarea sistemelor concurente


Dezavantaj: nu este util pentru sisteme
complexe

Modele i limbaje
Un model computaional: descrie funcionalitatea
dorit a sistemului noiune conceptual
Limbajul: descrie modelul sub o form concret
Un model poate fi descris ntr-o varietate de
limbaje
n

Exemplu: model al programului secvenial C,


C++, Java

Un limbaj poate descrie o varietate de modele


n

Exemplu: C++ model obiectual, model al


programului secvenial, automat de stare

Exemplu
Controler pentru un ascensor
n

Specificaie modificat:
Deplaseaz ascensorul n sus sau n jos pn la
etajul cerut. La etajul cerut, deschide ua pentru cel
puin 10 secunde i pstreaz ua deschis pn
cnd etajul cerut se modific. Pstreaz ua nchis
n timpul deplasrii. Schimb direcia doar dac nu
sunt cereri la etaje superioare n timpul deplasrii n
sus sau dac nu sunt cereri la etaje inferioare n
timpul deplasrii n jos

Interfaa sistem
up

Dou blocuri:

down
UnitControl

open

floor
req

...

b1
b2
bN

butoane n
interiorul
ascensorului

up1
dn1

RezCereri

up2
dn2
up3

...

dn3
dnN

butoane
up/down la
fiecare etaj

RezCereri
rezolv diferitele
cereri de etaje ntr-un
singur etaj cerut
UnitControl
deplaseaz ascensorul
la etajul cerut

Descrierea unitii de control


Inputs: int floor; bit b1..bN; up1..upN-1; dn2..dnN;
Outputs: bit up, down, open;
Global variables: int req;
void UnitControl() {
up = down = 0; open = 1;
while (1) {
while (req == floor);
open = 0;
if (req > floor) { up = 1;}
else {down = 1;}
while (req != floor);
up = down = 0;
open = 1;
delay(10);
}
}

Modelul ASF pentru UnitControl


req > floor

u,d,o, t = 1,0,0,0

GoingUp
!(req > floor)

timer < 10

req > floor

u,d,o,t = 0,0,1,0

Idle

!(timer < 10)

DoorOpen

u,d,o,t = 0,0,1,1

req == floor
req < floor
!(req < floor)
u,d,o,t = 0,1,0,0

GoingDn

u: up; d: down; o: open; t: timer_start


req < floor

Modelul ASFIC (1)


Modificarea controlerului pentru ascensor
n
n

Intrarea fire trecerea n modul de incendiu


Deplasarea ascensorului la primul nivel i deschiderea uii
Fr ierarhie
req>floor

u,d,o = 1,0,0

UnitControl

GoingUp
!(req>floor)
req>floor

u,d,o = 0,0,1

Idle

timeout(10)

DoorOpen

req==floor
req<floor

fire

!(req<floor)

fire
fire

u,d,o = 0,1,0

GoingDn

u,d,o = 0,0,1

fire

FireGoingDn

u,d,o = 0,1,0
floor==1

req<floor

floor>1
!fire

u,d,o = 0,0,1
FireDrOpen
fire

Modelul ASFIC (2)


Cu ierarhie
UnitControl
ModNormal

req>floor

u,d,o = 1,0,0

GoingUp
!(req>floor)
req>floor

u,d,o = 0,0,1

Idle

DoorOpen

u,d,o = 0,0,1

timeout(10)
req==floor

u,d,o = 0,1,0

req<floor

!(req>floor)

GoingDn

req<floor

ModIncendiu

fire
!fire

FireGoingDn

u,d,o = 0,1,0
floor==1

floor>1

u,d,o = 0,0,1
FireDrOpen
fire

Modelul ASFIC (3)


Controlerul pentru ascensor reprezentat prin modelul
ASFIC cu dou stri concurente
Cu starea concurent RezCereri

ControlerAscensor
UnitControl

RezCereri

ModNormal

...
!fire

fire

ModIncendiu

Exemplu ASF/ RP
Automat de distribuie (vnzare):
n
n
n

Distribuie 2 tipuri de batoane, de 20 bani si 15 bani


Se pot folosi doar 2 tipuri de monede, de 10 b si 5b
Nu returneaz rest

Modelarea:
n
n

Se realizeaz diagrama de tranziie a strilor


Se obin apoi modelele cu ASF si RP

Modelul ASF
vnzare baton 15b
10

15

5
5

5
5

10
10

10

vnzare baton 20b

20

Modelul cu RP ordinar (main de stare)


vnzare baton 15b
10

5
5
10

10

vnzare baton 20b

Modele bazate pe urme


Comportarea SDED este in mod natural
descrisa de nregistrarea sau urma lsat de
apariia unor schimbri discrete, calitative, in
sistem
Micro-schimbrile continue, cantitative pot fi pur
si simplu ignorate
In afara modelelor bazate pe stare, modelele
bazate pe urme, studiate la diferite nivele,
sunt foarte utile

Nivele de studiu/ modelare (1)


Nivelul logic urma este secvena de
evenimente, in ordinea aparitiei lor
s = e1 e2 e3 ...;

Exemple:
n
n
n
n

reelele Petri (cazuri = urme)


mainile cu stri finite (Wonham)
procesele recursive finite (Inan-Varaiya)
procesele secveniale comunicante (Hoare)

Nivele de studiu/ modelare (2)


Nivelul temporal - urma este secventa de
perechi
s = (e1,t1) (e2,t2) (e3,t3) ...

Exemple:
n
n
n

reele Petri temporale


modele algebrice min-max
grafuri data-flow

Nivele de studiu/ modelare (3)


Nivelul statistic - comportarea sistemului e
descrisa de secvena perechilor de v.a.
s = (e1,t1) (e2,t2) (e3,t3) ...

(unde ei si ti sunt v.a. si pentru orice realizare , s()


= (e1(),t1()) (e2(),t2()) (e3(),t3()) ... este o
urma descrisa la nivel temporal)

Exemple:
Lanurile Markov
Sistemele cu cozi de ateptare si reelele de cozi
Modelele de simulare - avnd la baza procesele semiMarkov generalizate (GSMP)

Alte tipuri de modele (1)


Modele orientate pe activitate
n
n

Descriu sistemul ca un set de activiti


Activitile sunt asociate prin dependene de
date sau de execuie

Exemplu: graf al fluxului de date

Se utilizeaza pentru sisteme dominate de date


w Transform iruri de date de intrare n iruri de

date de ieire sisteme DSP

Alte tipuri de modele (2)


Modele orientate pe date
n

n
n

Reprezint sistemul ca o colecie de date


asociate prin atribute, apartenen la clase
etc.
Utilizate mai ales pentru sisteme de programe
Exemplu: diagramele E/R (entitate relaie)
<fig>

Alte tipuri de modele (3)


Modele orientate pe structur
n

n
n

Descriu modulele fizice ale sistemului i


interconexiunile dintre acestea
Nu reprezint funcionarea sistemului
Exemplu: schem-bloc

Modele eterogene
n

Integreaz caracteristici ale mai multor


modele
Exemplu: graf al fluxului de control/date

Alte clasificri
Modele analitice (teoretice)
n

sistemice, in general deterministe , descrierea se


face la nivel logic sau temporal
operaionale, in general probabilistice (statistice)

Modele de simulare
n
n

derivate din modelele operaionale


adecvate pentru analiza asistata de calculator

Pentru modelarea SDED la nivel statistic (cea mai


completa) se pot folosi in tandem:
n

modele operaionale + modele de simulare

Utilizarea modelelor statistice


Modelele operaionale - se pot folosi in cazurile cnd
putem obine prin calcul formule/ rezultate exacte (avnd
modaliti de a simplifica problemele computaionale)
n
n

Exemple: sisteme cu cozi de ateptare, reele de cozi


Limitare: cozi simple
reele de cozi factorizabile

Modelele de simulare - ofer un instrument complet ce


aproximeaz dinamica sistemului prin oferirea de ipostaze
non-continue incrementale
n

Pro:
Dinamica originala a SDED este de acest tip!
Contra:
Dificulti computaionale (exist soluii!)

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Modelarea logic i controlul
supervizor al sistemelor dinamice cu
evenimente discrete

Sumar
Modelare i control cu automate finite
Limbaje formale i expresii regulate
Obinerea modelelor ASF. Echivalena
strilor
Controlul supervizor: descrierea problemei
i implementrilor
Studiu de caz: Controlul supervizor al unei
reele de calculatoare conectate liniar

Modelare i control
Alegerea unui model pp. un compromis ntre:
n

Puterea de modelare (generalitatea)


w reelele Petri includ strict clasa automatelor finite i sunt la

rndul lor strict incluse n clasa algebrelor procesuale

Complexitatea modelului
w aceasta implic i complexitatea controlului

De exemplu, o problem de control poate fi:


n

indecidabil (nu se poate gsi un algoritm finit pentru


rezolvare) pentru un model sistem cu reele Petri sau
algebre procesuale
rezolvabil n cazul modelrii SDED cu automate de
stare finite (ASF), ce faciliteaz sinteza unui controler

Modele ASF pentru control


Modelul ASF este un model formal bazat pe stare,
ce consider explicit strile unui sistem
n

Poate apare explozia strilor (multiplicarea strilor,


exponenial, cu depirea unui prag de complexitate)!
De aceea, majoritatea modelelor SDED nu consider
explicit strile - abordare incomplet ce poate oferi doar
observarea unui sistem, nu i controlul !

ASF au o aplicabilitate foarte larg, caracterizat


de generalitate, putere analitic i controlabilitate
n

Cea mai cunoscut aplicaie: n teoria compilrii, la


recunoaterea limbajelor regulate

Modelarea SDED cu ASF


Ideea utilizrii ASF n modelarea logic a SDED:
orice SDED este un generator de limbaj
El are un alfabet de evenimente asociat i genereaz o
urm sau traiectorie
Suntem interesai de secvenele de evenimente ce pot fi
generate (analogie cu generarea irurilor de atomi
lexicali n limbajele regulate, cf. unui set de reguli)
Asimilarea generatorului cu o structur de tip ASF este
util pentru aplicarea tehnicilor de control convenionale
Termenul generator este folosit alternativ cu ASF

Limbaje formale
Definiie. Un limbaj formal L, definit peste un alfabet
(mulime) de simboluri E, e o mulime de iruri (de obicei
finite) formate cu simboluri din E
n

Lungimea unui ir este dat de numrul de simboluri alturate


(concatenate) pentru formarea sa
irul vid, notat , ce nu conine nici un simbol, este considerat
prin convenie de lungime 0

Dac evenimentele se consider ca simboluri din E


n

Limbajul poate fi gndit ca o modalitate formal de a descrie


comportarea unui SDED, ce specific toate secvenele admisibile
de evenimente pe care SDED e capabil s le execute
O dificultate: simple reprezentri finite ale limbajului nu sunt
ntotdeauna i lucrative sunt necesare modaliti (expresii)
compacte n definiia sa, manipulabile prin operaii bine definite

Expresii regulate
Definiie. O expresie regulat R este un ir de
simboluri construit pe baza alfabetului limbajului
(inclusiv irul vid), folosind doar operaiile uzuale
cu mulimi (, , , etc.), plus operaiile de
concatenare i nchidere (Kleene), definite astfel:
n

(concatenare) dac A, B sunt expresii regulate peste E,


atunci AB={cc=ab, aA, bB} e o expresie regulat
peste alfabetul E
(nchidere) dac A este expresie regulat peste E,
atunci i A* = A0 A1 ... An-1An... este o
expresie regulat, unde A0={} i An=AAn-1, n>0

Limbaje regulate
Definiie. Un limbaj ce admite doar expresii
regulate se numete limbaj regulat
n

Dac IE* este un limbaj (regulat), se definete nchiderea lui I,


notat , ca mulimea tuturor irurilor ce reprezint prefixe de
iruri din I, adic: = {s sE* i tE* a.. st I }
Dac limbajul e identic cu nchiderea sa, el s.n.nchis (prin prefix)

Avantajul utilizrii expresiilor regulate n descrierea


limbajelor este acela c asigur o reprezentare compact
finit, chiar pentru limbaje potenial infinite (cu numr
infinit de iruri de simboluri)
Modelul Ramadge-Wonham: un SDED este asimilat unui
limbaj formal (regulat) sau, mai concret, unui automat
generator al acestui limbaj dar ce fel de automat?
Se tie c ASF genereaz expresii (deci limbaje) regulate

ASF, limbaje i expresii regulate


Teorema lui Kleene.
Dac un limbaj este regulat, exist un ASF ce-l genereaz
Orice limbaj generat de un ASF este regulat
Definiia 2.2.3. Un automat (generator) este un 5-tuplu
G = (X, E, f, x0, Xm)
caracterizat de:
n X - mulimea strilor
n E - alfabetul (mulimea) de simboluri (evenimente)
n f :EXX - funcia de tranziie - funcie parial, n sensul c
pentru o stare x fixat, f(e)=f(e,x) este definit doar pentru o
anumit submulime (x)E, ce depinde de x
n x0 starea iniial;
n Xm - mulimea strilor marcate (se prefer aceast denumire n
locul celei consacrate ce face referire la aceste stri ca stri finale)

Exemplu

Recunoaterea unei ER folosind generarea sa de ctre un


ASF. Orice expresie regulat E poate fi recunoscut de un
automat finit care recunoate orice cuvnt din limbajul
descris de E, i doar acele cuvinte. Starea 1 este starea
iniial, iar strile 1 i 2 sunt stri finale

Execuia ASF cnd la intrare este prezentat cuvntul ''abbab''. Pentru


c dup terminarea procesrii irului automatul nu este ntr-o stare
final, rezult c acest cuvnt nu e descris de expresia regulat

ASF generator
Modelul generator pleac din starea iniial x0 i execut
tranziii de stare determinate de secvena de evenimente
Evenimentele aprute sunt considerate spontane (nu apar
mecanisme de constrngere care s foreze apariia lor n
sistem), asincrone (fr referire la vreun ceas de timp) i
instantanee (fr durat temporal)
Modelul este unul logic ce poate ngloba nedeterminismul:
mai mult de un eveniment poate fi executabil (validat
pentru selecie) ntr-o anumit stare
n
n

Putem aduga la model o mulime de evenimente valide n starea


x, (x), dac ea depinde de stare i este (n general) diferit de E
Nu vom face distincie ntre ASF deterministe i nedeterministe;
definiia ultimei categorii comport o singur modificare, a funciei
de tranziie a strilor: f :EX2X, unde 2X e mulimea prilor lui X
Dei, aparent, ASF nedeterministe pot genera un set extins de
limbaje, de fapt orice limbaj generat de acesta poate fi generat de
un ASF determinist

Funcia de tranziie extins


Notm E* mulimea tuturor irurilor finite de evenimente
din E, ce include irul vid, notat
Putem construi funcia de tranziie extins, f :E*XX
definit prin f(,x)=x i f(es,x)=f(e,f(s,x)), xX unde f
este definit
n

Funcia de tranziie extins este tot o funcie parial, adic pentru


o anumit stare x fixat f(s)= =f(s,x) este definit doar pentru o
anumit submulime de secvene E*(x)E* ce depinde de x

Trebuie s facem distincie ntre:


n
n

mulimea tuturor secvenelor finite de evenimente ce pot aprea


mulimea tuturor secvenelor finite de evenimente observabile (de
ex. pentru c ele corespund execuiei unor procese complete)

Este convenabil de asemenea eliminarea din model a


strilor ce nu pot fi atinse

Limbaje generate de ASF


n evoluia sa, SDED definete:
n
n

un limbaj (nchis prin prefix) L(G)={sE*f(s,x0) definit}


un limbaj marcat Lm(G)={sL(G)f(s,x0) Xm }

(interpretarea este cea de mai sus, ca mulime a secvenelor


finite de evenimente ce pot aprea, respectiv ca mulime a
tuturor secvenelor finite de evenimente ce pot fi observate)

Definirea componentelor accesibile se face astfel:

Xac = {xsE* a.. f(s,x0)=x}


n Xacm = Xac Xm
n Fac
= f EXac
n Gac = (Xac, E, Fac, x0, Xacm)
SDED s.n. accesibil dac G = Gac i co-accesibil dac orice
ir (parial) de evenimente din L(G) se poate completa la
un ir din Lm(G): sL(G), tLm(G) a.. stLm(G).
n

Echivalena strilor
Bazate pe o descriere la nivel logic a unui SDED, se pot
gsi mai multe modele ASF
n
n

Aparent, ele sunt distincte deoarece au o dimensionalitate diferit


a spaiului strilor
De dorit este obinerea celui cu numr minim de stri, avnd n
vedere i explozia spaiului strilor, semnalat anterior

Reducerea (agregarea) spaiului strilor se bazeaz pe


echivalena strilor, a crei definiie (cea considerat aici)
are n vedere o raportare la strile marcate
Definiia 2.2.4. Fiind dat ASF: (X, E, f, x0, Xm, ), dac
X este spaiul strilor, RX e un spaiu de stri echivalent
cu X, relativ la Xm, dac x,yR stri distincte i orice ir
u, f(x,u)Xm d.d. f(y,u)Xm
n
n

Altfel spus: orice ir comun aplicat strilor x i y conduce la


acelai set de stri marcate
Distincia ntre x i y e imposibil de fcut prin observaia pasiv a
sistemului, iar x i y pot fi tratate ca o unic stare agregat

Controlul supervizor: Problema


Evoluia SDED modelat prin ASF, aa cum a fost descris
pn acum, este o evoluie spontan, necontrolat
Pentru un sistem dinamic n general i pentru un SDED n
particular:
n

dac starea complet a sistemului este observabil, se poate


construi un controler n bucl de reacie (feedback controler)
dac doar evenimentele sunt observabile, implementarea unui
controler se face aplicnd n prealabil un artificiu ce const n
crearea unei copii a sistemului ce se execut n paralel i sincron
cu sistemul, aciunea de control necesar fiind decis prin
msurarea strii copiei sistemului

Controlerul sau copia sistem plus controlerul formeaz un


supervizor

Schema controlului supervizor


Stare
Intrri de
control

SDED

Sistem de
observare a
evenimentelor

SUPERVIZOR

Feedback Controler
(compensator dinamic de stare)

Stare
(estimat
sau exact)

Copie SDED

Evenim.
observate

Controlul supervizor: Implementarea


Se partiioneaz E prin identificarea a 2 submulimi:
n

mulimea evenimentelor controlabile Ec acelea ce pot fi validate


sau invalidate din exteriorul sistemului dat
mulimea evenimentelor necontrolabile Enc (EcEnc=) sunt cele
a cror apariie nu poate fi prevenit i deci pot fi considerate
permanent validate

Un supervizor poate controla SDED prin:


n
n

observarea secvenelor de evenimente generate


dezactivarea, activarea sau forarea evenimentelor controlabile,
pentru a ndeplini un obiectiv de control, n funcie de secvenele
observate

Prin aceasta, supervizorul asigur generarea de ctre


sistem a unui sublimbaj a lui L(G)

Supervizorul
Formal, supervizorul poate fi introdus ca tuplu S=(S,):
n
n

S=(Y, E, g, y0, Ym) e automat generator, numit i recunosctor


recunoate un limbaj asupra aceleiai mulimi de evenimente E
: EY{0,1} (sau, echivalent, : Y2E) este o funcie de
control feed-back cu valori n ablonul de control sau mulimea de
validare a evenimentelor (1-validare, 0-invalidare)

Supervizorul urmrete/controleaz comportarea SDED-G:


n
n

i schimb starea conform cu evenimentele generate de G


Aplic , pentru validarea/invalidarea evenimentelor controlabile
din subsetul ce genereaz tranziii n starea corespunztoare din G

Prin aceast legare, funciile de tranziie att pentru G, ct


i pentru S, sunt modificate
Comportarea n bucl deschis a SDED-generator G (dar
nchis prin prefix), aa cum a fost descris ea anterior,
este dat de limbajul nchis (prin prefix):
L(G)={s sE* & f(s,x0) definit}

Comportarea n bucl nchis


Pentru automatul generator notat S/G, se genereaz un limbaj
L(S/G), caracterizat de faptul c generarea unui ir s din acest limbaj
este permis d.d. sL(G) i sL(S), iar fiecare eveniment eS este
validat de funcia
Comportarea marcat a automatului generator e dat prin Lm(S/G)
limbaj ce conine acele iruri din L(S/G) marcate att n G ct i n S
Supervizorul este vzut n acest caz ca o funcie S : L 2E ce
specific pentru fiecare ir de evenimente sL intrarea de control ce
poate fi aplicat ( e notaia pentru mulimea intrrilor de control)
Limbajul (nchis prin prefix) generat de sistemul n bucl nchis, notat
L(S/G), este definit de urmtoarele condiii:
a) L(S/G);
b) irul st L(S/G) d.d. s L(S/G), t S (s) i st L(G).
Se spune c SDED generator G i supervizorul S se execut n paralel
astfel: un eveniment eE poate apare atunci cnd GS este n starea
(x,y) d.d. el este posibil att n G n starea x, ct i n S n starea y

Probleme de control globale n


sistemele de calcul
Specificaia global a unei probleme de control pentru
sisteme de calcul, reele de calculatoare sau sisteme
distribuite poate fi foarte general
Exemplu: controlul tranziiilor de stare ce pot asigura o
funcionare eficient, non-blocant i rapid a unei reele
Rezolvarea problemei pentru aceast categorie de sisteme
se poate face i global, dar n general, din motive de
reducere a complexitii, ea se face local
n sistemele distribuite, se implementeaz supervizorul ca
sistem descentralizat i local
n
n

el este compus dintr-o mulime de subsisteme supervizor


fiecare dintre acestea observ i controleaz o parte a sistemului
global, prin accesul doar la o parte a evenimentelor controlabile

Aciuni specifice locale


Se impun:
n

rafinarea specificaiei n sub-specificaii locale, dup


descompunerea n subsisteme a sistemului distribuit dat
(etap care n general nu ridic probleme i admite mai
multe soluii)
identificarea subspecificaiei unei probleme de control
este echivalent de multe ori cu impunerea unor noi
reguli locale de operare
trasarea unei scheme de prioritate n cazul suprapunerii
aciunilor de control, datorat suprapunerii pariale a
subsistemelor controlate
w acest lucru este necesar deoarece o soluia descentralizat

indic doar aciunile de control ce trebuie luate de fiecare


supervizor local

Studiu de caz
Controlul supervizor al unei reele
de calculatoare conectate liniar

Descrierea problemei
Formularea unui protocol de control al unei
reele de cozi compus din N servere aranjate
liniar, fiecare avnd o coad de intrare de
capacitate limitat
Sistem global
(reea de servere interconectate liniar)
S1

B1

S2
Bn
...

Sn+1

Rafinarea specificaiei
Un mesaj ce intr n sistem este procesat de primul
server, transmis apoi pentru a fi procesat n coada
urmtorului server .a.m.d., pn ce este procesat de
toate serverele i prsete sistemul
Serverele se pot defecta (cderi de curent), nu nainte
ns de a salva starea curent, pentru a relua procesarea
dup reparare din exact acelai punct
La intrarea i ieirea din reea, nainte de S1 i dup Sn+1,
se afl buffere de capacitate pp. nelimitat (nu au
influen asupra sistemului, de aceea nu au fost figurate)
Fiecare server Si se poate afla n una dintre urmtoarele
3 stri: liber (Idle); ocupat (Working); defect (Defective)
Bufferul Bi plasat naintea serverului Si are tot trei stri
posibile: buffer gol (0); buffer ocupat (1); buffer plin (2)

Diagramele de stare pentru Si i Bi


Strile iniiale sunt marcate n figura urmtoare
printr-o sgeat incident; fiind considerate
totodat stri marcate, sgeata e cu dublu sens
Serverul Si

Bufferul Bi

I
si

ei

0
ei

ri

si+1
si+1

di

ei

Descrierea formal a sistemului


Considernd separat fiecare server i fiecare buffer ca
SDED generatoare de evenimente, comportarea (nchis)
n bucl deschis a fiecrui automat de acest fel poate fi
descris folosind formalismul expresiilor regulate astfel:
L(Si) = (si(diri)*ei)*(+si(di+(diri)*))
L(Bi) = (ei(eisi+1)*si+1)*(+ei(ei+(eisi+1)*))
Limbajele marcate, Lm(Si)= (si(diri)*ei)* i Lm(Bi)=
(ei(eisi+1)*si+1)*, subliniate n expresiile anterioare,
respect totodat condiiile:
Lm(Si) L(Si) i Lm(Bi) L(Bi)

Problema local
Descompunem reeaua n subreele suprapuse parial,
formate din serverele Si i Si+1 i bufferul Bi dintre ele
Urmrim determinarea subsistemelor supervizor CSi ce le
controleaz local
Vom impune apoi pentru controlul global constrngeri:
n

Ex: prioritatea supervizorului de index minim (CSi-1) n cazul


implementrii de aciuni locale conflictuale asupra aceluiai
server Si

Fr a pierde generalitatea, rezolvm problema pentru


supervizorul CS1 subsistemul format din serverele S1 i
S2 i bufferul B1

Subsistemul local controlat


Aciunea supervizorului se poate exercita doar asupra
evenimentelor controlabile, nceput prelucrare la
serverul Si (si) sau repararea serverului Si (ri), prin
variabilele de control validare start (vsi), respectiv
validare reparaie (vri)
Serverul Si
I
S1

B1

S2

si/vsi
ei

ri/vri
di

Reguli locale de operare


1. Serverul S1 nu poate ncepe servirea dac B1 plin pt. a
evita ca evenimentul sfrit prelucrare la serverul S1 s
ncerce scrierea ntr-un buffer plin (e1 necontrolabil)
2. Serverul S2 nu poate ncepe servirea dac bufferul B1 gol
3. Serverul S1 nu poate ncepe servirea dac serverul S2
este defect (pericol de blocaj prin umplerea bufferului)
4. Dac S1 i S2 defecte simultan, S1 trebuie reparat primul
(pentru a preveni blocajul)
5. Serverele S1 i S2 nu pot ncepe servirea dac deja
lucreaz
6. Un server defect nu poate valida nceputul servirii (se pp.
c serverele se pot defecta doar n timp ce lucreaz),
ci doar terminarea reparaiei

Codificarea strilor
Pentru sistemul local controlat (S1-B1-S2) exist 3x3x3
(27) stri posibile
Regulile 1-6 permit nlturarea a 6 stri, cele n care S1
este ocupat sau defect i B1 plin

Proiectarea controlerului
Trebuie fcut astfel nct doar tranziiile de stare
permise s aib loc
Aciunea se poate exercita doar asupra evenimentelor
controlabile nceput prelucrare la serverul Si (si) i
repararea serverului Si (ri), prin variabilele de control
validare start (vsi), respectiv validare reparaie (vri)
Urmtoarea tabel, a strilor reduse ale controlerului ,
indic valorile variabilelor de control necesare n fiecare
stare a sistemului controlat: 0 invalidare, 1 validare,
X valoare indiferent

Reducerea strilor controlerului


Putem considera pentru controler acelai numr de stri
ca pentru sistemul controlat (0, 1, X), sau putem reduce
numrul de stri- deci complexitatea controlerului, lund
doar combinaiile distincte pentru variabilele de control

Diagrama strilor sistemului local controlat (S1-B1-S2)


e1
e2

16

1
d1

r1

s1
e1

10

5
s2
s1

e1

s2

d1
d2

11
7

s1

s2

e1

14

d2

r2
e1

20

15
d2

d1
r1

21

17

r1

r2

s2
19

e2

r1

18
d2

r1

d1

d2

r1

r2

d1

e2
13

r2

12

d1

e1

d2

r2

e2

e2
r2

d2

e2

Diagrama strilor controlerului

e1

d2
r2
s1,

d2

e2

r2

s1,

s2

r2
e2

2
1

d2

r1

d1

r1
d1

r1

s2

e2
d2

d1

7
e2

d2
r2

e1

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Modelare dinamic cu reele Petri.
Analiza RP

Sumar
Caracteristici dinamice ale SED/ modelelor cu RP
n
n

Elemente constitutive (structurale) ale RP


Dinamica sistemelor cu RP

Tipuri simple de RP. Exemple


n
n

RP ordinare
RP generalizate

Metode de analiz a RP ordinare


n

Analiza accesibilitii

Determinarea invarianilor

Alte proprieti i clasificri derivate

Caracteristici dinamice in sistemele


cu evenimente discrete
SED sunt inerent dinamice si paralele, pot fi caracterizate
prin 3 trsturi eseniale de comportament,superpozabile:
n

Concurena: posibilitatea ca mai multe evenimente s


aib loc de o manier independent unul fa de altul
Sincronizarea: se refer la necesitatea ca execuia
anumitor evenimente s atepte producerea altor
evenimente
Conflictele (interblocajele): o manier de a ine cont de
competiia ntre aciuni multiple simultane sau de
anumite fenomene, precum excluderea mutual

Reele Petri (RP)


Surprinderea unor astfel de trsturi
necesit adoptarea unor modele care s
nglobeze n cel mai nalt grad dinamica
sistemelor modelate:
FSM, DTS (diagrame de tranziie a strilor)
RP,, introduse in 1962 de C. A. Petri
RP
n

Profesor onorific al Universitii din Hamburg

Membru al Academia Europ

In 2007 a fost onorat pentru ntreaga


activitate de ctre ATLAS ("Academy of
Transdisciplinary Learning and Advanced
Studies) cu "Academy Gold Medal of Honor

Reele
Reelele
le Petri (cont.)
Utilizeaz stri distribuite i tranziii locale
Au permis iniial modelarea unor sisteme cu componente
concurente n interaciune, fiind extinse ca instrumente
matematice generale ulterior
Modelarea dinamic necesita astfel de descrieri de tip
calitativ (logic) care s poat servi ca baz pentru analiza
i sinteza SDED
Accentul este pus pe modelarea dependenelor cauzale,
fr sincronizare global (doar transmitere de mesaje)
Pe lng anumite proprieti analitice, caracterul vizual al
RP poate fi un element important n modelare

Elemente constitutive structurale


(Logic)

Condiii
Pot fi ndeplinite sau nu.
n Evenimente
Pot avea loc daca anumite condiii sunt ndeplinite.
n Relaii (flux de control)
Arata relaiile intre condiii si evenimente.
Condiiile, evenimentele si relaiile formeaz un graf
bipartit (graf cu doua tipuri de noduri)
n

(Grafic)
n
n
n

Locaii (cercuri)
Tranziii (dreptunghiuri)
Arce, ce conecteaz locaiile cu tranziii sau tranziiile
cu locaii

Concept dinamic cheie:


Tranziia strilor
Logic, reprezint apariia unui eveniment/ o aciune
Grafic, este micarea unor jetoane (token-uri), notate ca
puncte negre, din locaie n locaie, prin aprinderea
tranziiilor
Aceasta din urma depinde de condiiile de intrare
simbolizate de disponibilitatea jetoanelor
Spunem ca o tranziie este validata daca exista un numr
suficient de jetoane in locaiile sale de intrare
O tranziie validata se poate aprinde oricnd
Dup aprindere, token-urile vor fi transferate de la
locaiile de intrare (stare veche) ctre cele de ieire, fiind
astfel un element de identificare si in acelai timp o
notaie pentru noua stare

Arce si capaciti
Arcele au implicit capacitatea 1; daca
este diferita de 1, capacitatea este
marcata pe arc
Locaiile au implicit capacitate infinita
O tranziie este validata daca
numrul de jetoane in fiecare din
locaiile sale de intrare este cel puin
egal cu capacitatea arcului ce o
unete cu o locaie de intrare

Locaie cu
token
P1
Arc de capacitate 1

T1
Locaie
P2

Tranziie

Exemplul 1
Automat de distribuie (vnzare):
n

Distribuie dou tipuri de batoane, de 20 de


bani si de 15 bani
Doar dou tipuri de monede pot fi folosite, de
10 bani si de 5b
Nu returneaz rest

Reprezentare prin diagrama tranzitiilor


de stare, ca automat cu stri finite
Ia baton de 15b

Depunere 10b
5 bani

15 bani

0 bani

Depunere 10b
10 bani

Ia baton de 20b

20 bani

Reprezentare prin RP
Ia baton de 15b

Depunere 10b

15b

5b
Depunere 5b

0b

Depunere
5b

Depunere
5b

Depunere 10b

20b

10b
Depunere 10b
Ia baton de 20b

Depunere
5b

Scenarii de evolutie
Scenariul 1:
n

Depunere 5b, depunere 5b, depunere 5b, depunere


5b, ia baton de 20b.

Scenariul 2:
n

Depunere 10b, depunere 5b, ia baton de 15b.

Scenariul 3:
n

Depunere 5b, depunere 10b, depunere 5b, ia baton


de 20b.

Dinamica sistemului
Ia baton de 15b

Depunere 10b

5b

15b

Depunere 5b

0b

Depunere
5b

Depunere
5b

Depunere 10b

10b
Ia baton de 20b

Depunere
5b

20b
Depunere 10b

Tipuri de reele Petri (crit. structural)


RP ordinare, n care fiecare arc nu poate avea dect
capacitatea (funcia de ponderare) egala cu 1
n

Mainile de stare (MS) RP unde orice tranziie are exact


o locaie de intrare i o locaie de ieire: | t |=| t |=1,t T
Grafurile marcate, GM) - orice locaie are 1! tranziie de
intrare i 1! tranziie de ieire: | p |=| p |=1,p P
Reelele cu alegere liber (AL) dac 2 tranziii au o
locaie de intrare comuna, atunci au toate locaiile de
intrare comune: t , t ' T , t t ' t = t ' (sau
echiv. dac 2 locaii au o tranziie comuna de ieire,
vor avea toate tranziiile de ieire comune)
Reelele cu alegere liber extinse (ALE)
acele RP ce pot fi transformate in RP AL

Tipuri simple de reele Petri (cont.)


n

Reelele cu alegere asimetric (AA) RP n care, dac dou


locaii au o tranziie comuna de ieire, atunci una din ele are
toate tranziiile de ieire ale celeilalte (posibil altele in plus)

RP
AA

ALE

AL

MS

GM

PN

RP generalizate, unde pot fi aplicate ponderi generale


arcelor

Grafuri marcate

Nu poate exista conflict pe resurse,


dar putem avea concuren
(ramificare, sincronizare)

RP cu AL (free-choice)
Foarte utilizate in modelarea conceptelor de flux (control)
Realizeaza un compromis rezonabil intre puterea descriptiva si
posibilitatea de analiza: rezultatul alegerii intre 2 tranzitii nu
poate fi influentat de restul sistemului (alegerile sunt libere)
In exemplul de mai jos, avem alegere libera pentru prima retea;
pentru cea de-a doua, datorita sincronizarii la t2, tranzitia t3
poate influenta alegerea lui t1 sau t2

Reele Petri clasice

Reele condiii/evenimente (C/E)


Sunt cele folosite n introducerea RP:
o subclas de reele Petri in care locaiile
pot avea 1/0 simboluri, ce pot modela att
condiii ct i evenimente:
n
n

locaiile reprezint condiii, ce pot avea inscrise valori true/ false


tranziiile reprezint evenimente locale

Un eveniment este validat d.d.


n
n

toate pre-condiiile sale (conectate prin arce incidente) sunt true


toate post-condiiile sale sunt false

Apariia unui eveniment neag pre- i post-condiiile sale

Reele C/E (cont.)


Evenimentele cu aceleai pre- sau post-condiii sunt in
conflict
Doar evenimentele non-conflictuale validate pot aprea
concurent
Terminologie:
n Marcajul reelei = distribuia token-urilor
n Sistem C/E= reea C/E + marcaj
n Configuraii: marcaje posibile ale unei reele C/E
n Cazuri ale unui sistem C/E: configuraii accesibile din
marcajul iniial ( case graph)
Automatele sunt o subclas secveniala a sistemelor C/E
exact o condiie este adevrata,
fiecare eveniment are o singura pre- si post-condiie

Descrieri formale
Grafice (grafuri bipartite)/ matematice: au semantic
formal i posibiliti de analiz
n Caracteristici importante: stri distribuite i tranziii locale
Sistemice: RP = <P, T, Pre, Post, M>
P = {l0, l1, , lm} setul poziiilor (locaiilor)
T = {t0, t1, , tn} setul tranziiilor
Pre : T L+, funcia de intrare, ce definete locaiile care
furnizeaz intrri unei tranziii
Post : T L+, funcia de ieire, definete locaiile de ieire
pentru fiecare tranziie
M : L {0,1}, funcia de marcaj, definete numrul de
simboluri din fiecare locaie

Condiii i resurse
Reelele de tip C/E modeleaz fluxurile de informaii, la
nivel fundamental (true/false)
Aplicaii: cele in care fluxul de resurse si/sau numarul de
resurse disponibile este important (document workflow,
data flow, linii de fabricaie, reele de comunicaie, www)
Reelele de tip P/T reprezint o
generalizare (extensie) imediata:
n

Elementele de stare sunt echivalente locaiilor


unde sunt stocate resurse (jetoanele)
Elementele de aciune sunt reprezentate de
tranziiile locale sau transportul resurselor
Poate fi aplicata o descriere matematic
similar cu cea a RP C/E

Reele poziii/tranziii (P/T)


O reea PT e o reprezentare de forma (P, T, A, C, w, M0),
format dintr-o parte structural i o parte dinamic.
Partea structural este un graf orientat bipartit unde:
n
n
n

P este o mulime finit de poziii (locaii)


T este un set finit de tranziii
A este o mulime de arce, o submulime a mulimii (PT)(TP)
C: P (N {}) \{0} este o funcie de capacitate a poziiilor
(capacitatea unei poziii se consider implicit nelimitat)
w este o funcie de ponderare aplicat arcelor, w:A{1,2,3 ...}
(ponderea unui arc se consider implicit unitar)

Prin M0: P N notm funcia numit marcaj iniial


Partea dinamic a reelei PT const n evidenierea
modalitilor (legilor) de evoluie a marcajului iniial

Starea i evoluia reelelor PT


Starea unei reele PT date (definit structural) e complet
descris de marcajul su M=[M(p1), M(p2),,M(pn)]
Spaiul strilor unei RPT marcate este complet definit de
marcaje, adic de toi vectorii n-dimensionali ale cror
elemente sunt pozitive, M={0, 1, 2, }n
O tranziie tjT ntr-o RPT marcat este validat dac:
n
n
n

M(pi) w(pi, tj), pentru orice piI(tj);


M(pk) C(pi)-w(tj, pk), pentru orice pkO(tj)- I(tj);
M(p) C(p)-w(tj, p) + w(p, tj), pentru orice pO(tj) I(tj),
unde I(ti) este mulimea locaiilor de intrare n tranziia ti
iar O(ti) mulimea locaiilor de ieire din tranziia ti

Aprinderea unei tranziii este echivalent cu:


n
n
n

M(pi) = M(pi) - w(pi, tj), pentru orice piI(tj) - O(tj)


M(pk) = M(pk) + w(tj, pk), pentru orice pkO(tj) - I(tj)
M(p) = M(p) - w(p, tj) + w(tj, p), pentru orice pO(tj)I(tj)

Exemplul 2
2
p1

t1

p2

2
p1

t1

p2

p1

t1

p2

n figura de sus, tranziia nu este validat i deci nu se


poate produce
n a doua variant de marcaj tranziia este validat
n dreapta apare noul marcaj dup producerea tranziiei

Exemplul 3: Cazuri - configuraia


iniial
M0 = [2, 0, 0, 1]

p2

p1

p4

t2

t1

p3

t3

n configuraia iniial singura tranziie valid este t1.


Cnd tranziia t1 se aprinde este eliminat un jeton din locaia
p1 i se plaseaz cte un jeton n locaiile p2 i p3 (se poate
aplica de asemenea formula pentru a se obine noua stare)

Exemplul 3: pasul 1
M1 = [1, 1, 1, 1]

p2

p1

p4

t2

t1

p3

t3

n aceast stare toate cele trei tranziii sunt valide


Dac se aprinde tranziia t2, e eliminat un jeton din locaiile de
intrare p2 i p3 i plasat n locaiile de ieire p2 i p4

Exemplul 3: pasul 2
M2= [1, 1, 0, 2]

p2

p4

t2

p1

t1

p3

t3

S-a eliminat un jeton din locaiile de intrare p2 i p3 i s-a


plasat un jeton n locaiile de ieire p2 i p4
Dac ns n starea precedent s-ar aprinde tranziia t3, atunci
s-ar obine starea descrisa pe urmtorul slide

Exemplul 3: pasul 3
M2 = [0, 1, 0, 0]

p2

p4

t2

p1

t1

p3

t3

n aceast stare nu mai este activat nici o tranziie i nu


sunt posibile schimbri de stare

Metode de analiz a RP ordinare


Analiza dinamic (analiza accesibilitii) are ca scop
determinarea mulimii strilor (accesibile)
n

Utilizeaz reguli algebrice ce descriu validarea i aprinderea


tranziiilor
Acestea conduc la reprezentarea evoluiei dinamice a RP
prin formarea unor ecuaii

Analiza structural are ca idee de baz eliminarea


derivrii spaiului strilor i prin aceasta evitarea
problemei exploziei strilor.
n

Aceast abordare nu poate furniza o informaie la fel de


bogat ca prima
De multe ori o asemenea detaliere nici nu este necesar, ci
sunt dorite doar anumite caracteristici calitative ale RP i
sistemului modelat (de ex. determinarea invarianilor)

Ecuaiile de accesibilitate
Definim al k-lea vector de evoluie uk, un vector m-dim.
de forma: uk = [0, 0, .., 0, 1, 0, , 0], unde 1 apare n
poziia j si arata c tranziia j este a k-a tranziie aprins
Trebuie definit i matricea de inciden I ca matrice
mxn, unde m este numrul de tranziii, n numrul de
locaii, iar intrarea (i, j) este de forma:
n Iij = w(tj, pi) - w(pi, tj) I = Post - Pre
Folosind matricea de inciden putem scrie o ecuaie de
stare vectorial Mk = Mk-1+ukI, valabil pentru orice kN,
si deduce o condiie necesar de accesibilitate a unui
marcaj:
d
M d = M 0 + ( u k ) I , ce se poate scrie si ca: xI = M
k =1

unde:

x = uk
k =1

Exemplul 3 (reluare)
p2

p1

p4

t2

t1

p3

t3

Se vor folosi ecuaiile anterioare pentru exemplul 3


Marcajul iniial este M = [2, 0, 0, 1]

Exemplul 3 (cont.)
Matricea de inciden pentru aceast reea Petri este:
p1 p2 p3 p4
1 1 1 0 t1
I = 0 0 1 1 t 2 = Post Pr e : Iij = w(tj, pi) - w(pi, tj)
1 0 1 1 t3
Dac se aprinde tranziia t1 dup marcajul iniial M0:
1 1 1 0
M1 = [2 0 0 1] + [1 0 0] 0 0 1 1 = [2 0 0 1]+[-1 1 1 0]
1 0 1 1
= [1 1 1 1]

Exemplul 3 (cont.)
n cazul n care n continuare se aprinde tranziia t2 vom
obine:
1 1 1 0

M2 = [1 1 1 1] + [0 1 0] 0 0 1 1 = [1 1 1 1] +
1 0 1 1

+[0 0 -1 1] = [1 1 0 2]
Avnd marcajul iniial M0 se pot genera toate secvenele
de marcaje accesibile stri accesibile
Acordnd marcajelor semnificaia de stare, se observ
similaritatea cu o ecuaie de stare din teoria sistemelor

Exemplul 4: Calculul algebric (1)


p1

p2

t2

t3

p3

p4

t1

t6
p8

p5
p5

t4

p6

t5

p7

Exemplul 4 (2)
p1
p2

p3 t3

t2

p4

t1

t6
p8
p5

1
0
0
Pre = 0
0
0
0
0

0
1
0
0
0
0
0
1

t1 t 2

p5

t4

p6

t5

0
0
1
0
0
0
0
0

0
0
0
0
1
0
0
1

0
0
0
0
0
1
0
0

t3 t 4

t5

0 p1
0 p2
0 p3
1 p4
0 p5
0 p6
1 p7
0 p8
t6

p7

1
1 0 0 0 0

1 1 0 0 0 0
Matricea de inciden 0 1 1 0 0 0

1 0 0 1
I = Post - Pre = 0 0
1 0 0 1 0 0
0 0 0
1 1 0
0 0 0 0
1 1
0 1 1 1 1 0

0
1
0
Post = 0
1
0
0
0

0
0
1
0
0
0
0
0

t1 t 2

0
0
0
1
0
0
0
1

0
0
0
0
0
1
0
0

0
0
0
0
0
0
1
1

t3 t 4

t5

1
0
0
0
0
0
0
0
t6

p1
p2
p3
p4
p5
p6
p7
p8

Exemplul 4 (3)
t1

p1

M ( p1 ) 4
4
M ( p 2 ) 1
0
t6
M ( p3 ) 0
1
p
8
p5
p7
M ( p ) 0
0

M
=
M = M ( p ) =
0
0
p5
5
M ( p ) 0
0
p6
t4
t5
6

1
1
M
(
p
)
7

t2 este validata si se declanseaza


0
M ( p8 ) 1
p2

t2

p2

t2

p1

p3 t3

p4

p3 t3

p4

M ' = M Pre (, t ) + Post (, t )


t6

t1

p8

p5

p7

p5
t4

p6

t5

= M + I (, t )

Determinarea (P-)invarianilor
Un invariant este un vector pozitiv definit la
dreapta* care anuleaz matricea de inciden

X 0: XI = 0
XMi= XM0 + XI

XMi = XM0

* Cu cel putin o componenta pozitiva si celelalte


pozitive sau nule

Alte proprieti i clasificri derivate


Autonomie. O reea Petri se numete autonom dac nici
timpul i nici alt constrngere de sincronizare extern
nu sunt implicate n model
n

O RP autonom se pstreaz ca o descriere pur calitativ a


sistemului observat
Reeaua din exemplul 3, anterior, este autonom

Simplitate. O RP se numete simpl dac elementele ei


distincte (locaii sau tranziii) nu pot avea mulimi de
intrare sau ieire similare
n

Reeaua din exemplul anterior este simpl

Puritate. O RP se numete pur dac nu conine cicluri


n

Reeaua din exemplul 3 nu e pur, deoarece exist ciclul (p2,t2)

Accesibilitate. Se refer la posibilitatea de atingere a unei


stri, codificate de un marcaj al reelei, dintr-o alt stare

Alte proprieti i clasificri (2)


Mrginire (limitare). O RP se numete (n) mrginit dac
numrul de jetoane din fiecare locaie poate atinge cel
mult valoarea n
n

Reeaua din exemplul anterior este mrginit

Siguran. O RP se numete sigur dac marcajul fiecrei


locaii poate fi doar 0 sau 1 (marcaj boolean), iar arcele
au pondere unitar
Viabilitate. O RP se numete viabil dac, indiferent de
marcajul iniial i de evoluia sa, nici o tranziie nu poate
deveni inactiv de o manier permanent.
n

Reeaua din exemplul anterior eueaz ntr-o stare terminal i


deci nu este viabil

Invariani. O RP poate prezenta o serie de caracteristici


invariante n timpul evoluiei sale dinamice, n principal
referitoare la marcajele sau strile sale

Alte proprieti i clasificri (3)


Conservativitate. O RP se numete conservativ dac
numrul total de jetoane este constant (un invariant al
reelei)
n

Reeaua din exemplul anterior nu este conservativ

Sub-conservativitate. O RP se numete sub-conservativ


dac numrul total de jetoane este constant sau n
descretere pe parcursul evoluiei (dinamicii) sale
n

Reeaua din exemplul anterior nu este sub-conservativ

Reversibilitate. O RP se numete reversibil dac din


fiecare marcaj accesibil se poate ajunge din nou la
marcajul iniial
n

Reeaua din exemplul anterior nu este reversibil

Ex. Este RP de mai jos simpl?


ntr-o RP simpl 2 tranzitii nu pot avea aceleai seturi
de locaii de intrare si iesire

Obs: Reelele simple fara elemente izolate ce indeplinesc si


alte restrictii suplimentare legate de marcaje si capacitatea
arcelor sunt reelele condiii/evenimente (C/E)

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Sinteza modelelor cu reele Petri
ordinare i generalizate

Sumar
Exemple de sinteza a modelelor cu RP
n

Modelarea conceptelor dinamice n RP


ordinare

Extensii ale modelelor de baza cu RP:


n

RP temporizate

RP stochastice

RP de nivel inalt

Metode de analiz si sinteza (modelare)


folosind RP ordinare si generalizate

Exemplul 5: Un sistem de asteptare


(1 server, 1 coada)
No

Activitate
(Locatie)

Entitate implicata

Server Activ

A1

Client.creare

Client

A2

Client.coada

Client

A3

Servire

Client, Server

A4

Client.terminare

Client

A5

Client.iesire

Client

A6

Server.gol

Server

No

Eveniment (Tranzitie)

Preconditie

Postconditie

T1

Sosire

A1

A2

T2

Inceput servire

A2, A6

A3

T3

Sfarsit servire

A3

A4, A6

T4

Plecare

A4

A5

Constructia retelei Petri (1)


Incepe cu plasarea locatiilor (activitatilor)
in succesiune logica

A1

Client.creare

A2

Client.coada

A3

servire

A6

Server.gol

A4

Client.terminare

A5

Client.iesire

Constructia retelei Petri (2)


Se figureaza tranzitiile (evenimentele)
sosire
T1

A1

Client.creare

inceput
T2

A2

Client.coada

sfarsit
T3

A3

servire

A6

Server.gol

plecare
T4

A4

Client.terminare

A5

Client.iesire

Constructia retelei Petri (3)


Arcele indica relatiile logice in RP
sosire
T1

A1

Client.creare

incep
ut
T2

A2

Client.coada

sfar
sit
T3

A3

servire

A6

Server.gol

plecar
e
T4

A4

Client.terminare

A5

Client.iesire

Constructia retelei Petri (4)


Token-urile marcheaza starea initiala a RP
sosire
T1

A1

Client.creare

inceput
T2

A2

Client.coada

sfarsit
T3

A3

servire

A6

Server.gol

plecare
T4

A4

Client.terminare

A5

Client.iesire

Dinamica sistemului (1)


Creare client
Client

Sosire

19,25

A1

T1

A2

Inceput

Plecare

T2

A3

T3

A4

T4
0

A6

A5

Server :

gol

Coada :

Dinamica sistemului (2)


Sosire client
Client

Sosire

19,25

Server :

gol

26,50

Coada :

A1

T1

A2

Inceput

Plecare

T2

A3

T3

A4

T4
0

A6

A5

Dinamica sistemului (3)


Servire
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

26,50

A1

T1

A2

T2

A3

T3

A4

T4
0

A6

A5

Server :

ocupat

Coada:

Dinamica sistemului (4)


Terminare client (in sistem)
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

26,50

A1

T1

A2

T2

A3

T3

A4

T4
0

A6

A5

Server :

gol

Coada:

Dinamica sistemului (5)


Iesire client (din sistem)
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

26,50

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Server :

gol

Coada:

Dinamica sistemului (6)


Sosire client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

26,50

31,40

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Server :

gol

Coada:

Dinamica sistemului (7)


Servir client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

Server :

ocupat

26,50

26,50

31,80

Coada:

31,40

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Dinamica sistemului (8)


Sosire client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

Server :

ocupat

26,50

26,50

31,80

Coada:

31,40

31,75

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Dinamica sistemului (9)


Sosire client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

Server :

ocupat

26,50

26,50

31,80

Coada:

31,40

31,75

42,40
2

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Dinamica sistemului (10)


Terminare client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

Server :

gol

26,50

26,50

31,80

Coada:

31,40

31,80

31,75

42,40
2

A1

T1

A2

T2

A3

T3

A4

T4
1

A6

A5

Dinamica sistemului (11)


Servire Iesire client
Client

Sosire

Inceput

Plecare

19,25

19,25

23,45

Server :

ocupat

26,50

26,50

31,80

Coada:

31,40

31,80

44,75

31,75

42,40
1

A1

T1

A2

T2

A3

T3

A4

T4
2

A6

A5

Exersai singuri
Modelarea conceptelor dinamice cu RP

Modelarea conceptelor dinamice in RP (1)


(C/E si PT)
A

concuren
A

conflict/alegere

sincronizare
A

comunicare
A

resurse/multiplicitate date/individualitate

Modelarea conceptelor dinamice in RP (2)

(a) secveniere;
(b) ramificaie;
(c) sincronizare;
(d) conflict la resurse;
(e) concuren

Productor/consumator

Proces de transmitere/recepie

Semafor
rg

green

red

gy

yellow

yr

Doua semafoare
rg

rg

rg

green
green

red

gy

red

green

OR

gy

yellow

red

gy

yellow

yellow

yr

yr

yr

Implementarea nedeterminismului
Mai multe tranziii sunt validate, dar numai una
se poate declana

Soluie
rg1

rg2

g1

r1

gy1

g2

gy2

y1

yr1

r2

y2

yr2

Trenuri (varianta 1)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n

Nu putem avea doua trenuri pe aceeai linie in acelai


timp; identitatea trenurilor nu este importanta

Trenuri (varianta 2)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n

Nu putem avea doua trenuri pe aceeai linie in acelai


timp; dorim sa distingem insa identitatea trenurilor

Trenuri (varianta 3)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n

Nu putem avea doua trenuri pe aceeai linie in acelai


timp, dar nici pe linii vecine (condiie de sigurana);
identitatea trenurilor nu este importanta

Trenuri (varianta 4)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n
n

Liniile sunt marcate ca libere, ocupate sau cerute


Un tren va cere linia urmtoare nainte de a o ocupa

RP generalizate
RP cu arce multiple (sau capacitate a arcelor > 2)
n

Numrul de arce intre o locaie de intrare si o tranziie


determina numrul de jetoane necesare in prima,
pentru a o valida pe cea de-a doua
Numrul de arce determina si numrul de jetoane ce se
consuma/ se produc
free

wait

enter

before

make_picture

after

leave

gone

Exerciii: Procese de fabricaie (1)


Modelai ca RP procesul de
fabricaie a unui scaun din
componente:
n
n
n
n

4
3
1
1

picioare
bare de susinere sptar
cadru sptar
suport edere

Atenie in selectarea ordinii


de asamblare

Exerciii: Procese de fabricaie (2)


Modelai procesul de producie a unui automobil,
indicat in diagrama urmtoare
car
subassembly2
engine
2
chair
subassembly1
4
chassis

wheel

Echivalena definiiilor
Orice set de reele Petri (diagrame) ilustrnd un
sistem dinamic poate fi transformat in model
formal, si invers

Exerciii:
Transformai reelele Petri obinute anterior in
modele formale
ncercai analiza accesibilitii i analiza dinamic
pe aceste modele

Extensii ale modelului de baza:

RP temporizate

Timpul nu este prins in modelul RP de baza


Modalitile de extensie temporizata a lor au in vedere
introducerea ntrzierilor deterministe att pentru locaii,
cat si pentru tranziii
Pot fi derivate concepte noi, de ex. timpul de ciclare ():
pp. reeaua consistenta, este timpul completrii unei
secvene de declanri ce reface marcajul initial:
n ntrzieri pentru locatii
w min=max{ykTD (A+) Tx/ykTM0}
n ntrzieri pentru tranzitii
w min=max{ykT(A-) TDx/ykTM0}
n Rezulta pentru o RP temporizata simpla (GM)
w min = max{total delay in Ck/M0 (Ck)}

RP stochastice
Asemntoare RP temporizate, diferena e in intarzierile
introduse, care sunt nedeterministe
n

De ex., putem avea ntrzieri de tranzitare modelate ca v.a.


distribuite exponenial

Apar proprieti noi:


n

graful de accesibilitate al unei RP stochastice mrginite este


izomorf cu un lan Markov finit
O RP stochastica reversibila genereaz un lan Markov ergodic, in
care distribuiile de probabilitate in starea stabila dau estimatorii
de performanta:
w Probabilitatea unei condiii particulare
w Valoarea ateptata a numrului de simboluri (jetoane)
w Numrul mediu de declanri in unitatea de timp

RP stochastice generalizate adaug tranziii imediate


pentru a reduce spaiul strilor

RP de nivel inalt
Includem in aceasta categorie:
n
n
n

RP cu predicate/tranziii
RP colorate
RP cu simboluri individualizate

Orice RPNI poate fi translatat intr-o reea ordinara:


n

Fiecare locaie se translateaz intr-un set de locaii,


de ex. cate una pentru fiecare culoare a jetoanelor
coninute
Fiecare tranziie se translateaz intr-un set de tranziii,
cate una pentru fiecare modalitate de declanare

RPNI: exemple
a,a
d,d

2x

<x,z>

a
d

<a,b>
<b,c>
<d,a>

<x,y> e
+<y,z>

<a,b>
<b,c>
<d,a>

2
2

<a,c>
<d,b>

Aplicabilitatea RPNI
Programare logica
n

n
n

Modelarea seturilor de clauze (Horn)


B A1, A2, ..., An
unde Ai si B sunt formule atomice
Predicat(argumente)
Instructiunea scop (goal statement) se modeleaza ca
tranzitie fara iesiri (sink transition)
Asertiunile de fapte ca tranzitii sursa
Reprezentarea ca RPNI
w Fiecare simbol predicat distinct este o locatie
w Fiecare clauza este o tranzitie
w Ponderile sunt argumente

La final, trebuie sa existe conditii suficiente pentru a


declansa tranzitia scop

Invarianti numerici
A

n
B

A
B

#A < n
|A| - #A < n
m

In toate
cazurile
(|A| - #A < n)
and (|B| - #B < n)

n
m

(#A < n)
or (|B| - #B < n)

Evenimente moarte (nevalidabile) Invarianti sistem (fapte)


pot fi aplicat metode logice pentru retele P/T, folosind
inegalitati asupra numarului de resurse ca propozitii elementare
tehnicile numerice specifice pot fi insa mai eficiente

Invariani, tehnici numerice


Matricea de incidenta C a unei retele P/T pure (fara cicluri):

n, daca exista n arce de la p la t

C p,t := + n, daca exista n arce de la t la p


0, altfel

Vectorul marcajelor m al unei retele P/T:

m p := n, daca exista n jetoane in locatia p

Contributia
lui t la p

Vectorul de aprindere f al unui multi-set de tranzitii (fara reprezentarea ordinii!):

f t := n, daca tranzitia t se declanseaz a de n ori


Vectorul pondere i al unor locatii: set de locatii cu suma jetoanelor constanta

m, m': (m a m' ) i t m = i p * mp = i p * m' p = i t m'


p

Conditia necesara, nu si suficienta de accesibilitate:

m + C f t = m'

it m = it m ' it (m m ' ) = 0 it C = 0

Propoziii si predicate
P

Pb

Pa

1
P
2
Q

Scheme cu conditii

7
1
2
7
2

7
3
9

P
R

x+y=z
x
y

z
R
Scheme cu evenimente

Retele predicate/tranzitii:
jetoanele individuale sunt extensii de predicate si inlocuiesc conditii propozitionale
cuantificatori si specificatori intr-o logica a predicatelor permit grupari de
evenimente la nivel propozitional in scheme cu evenimente la nivel de predicate

Concluzii
Modelarea cu reele Petri ord./ NI se poate utiliza
pentru a testa i valida anumite proprieti utile
ale sistemelor
n

Sigurana: este garantat prin faptul c numrul de


simboluri nu crete nedefinit
Funcionalitatea: este garantat prin lipsa blocajelor
va exista ntotdeauna cel puin o tranziie care
poate fi declanat

Avantaj: modelarea sistemelor concurente


Dezavantaj: nu este util pentru sisteme
complexe

Modelarea sistemelor de calcul


Curs, anul III Calculatoare

Lanuri i procese Markov


i semi-Markov generalizate

Sumar
Terminologie i concepte de baz. Nivele de
modelare (rev.)
Categorii de modele statistice
Secvene i procese aleatoare
Lanuri Markov. Problema ergodicitii
Procese Markov
Lanuri Markov nglobate
Procese semi-Markov generalizate (GSMP)
Definirea GSMP
Generarea GSMP

Terminologie i concepte de baz


Sistem - o colecie de entiti in interaciune
Model - o reprezentare abstract a sistemului
Entitate - component a sistemului cu reprezentare explicit
in model (obiect de interes in sistem)
Atribut - o proprietate a unei entiti
Set - colecie de entiti asociate, permanent sau temporar
Eveniment - o apariie instantanee ce schimb starea
sistemului
Activitate - o perioada de timp de lungime cunoscuta la
nceputul ei
ntrziere - o perioada de timp nespecificat ca lungime
necunoscut pn la terminarea ei

Nivele de studiu/ modelare (1)


Comportarea SDED este in mod natural descrisa de
nregistrarea (urma) generat de apariia unor
schimbri discrete, calitative, in sistem
Modelele bazate pe urme sunt studiate la diferite
nivele:
Nivelul logic urma este secvena de evenimente, in
ordinea apariiei lor
s = e1 e2 e3 ...
Exemple: reelele Petri (cazuri = urme); mainile cu
stri finite (Wonham); procesele recursive finite (InanVaraiya); procesele secveniale comunicante (Hoare)

Nivele de studiu/ modelare (2)


Nivelul temporal - urma este secvena de perechi
s = (e1,t1) (e2,t2) (e3,t3) ...
Exemple: reelele Petri temporizate, modelele algebrice
min-max, grafurile data-flow
Nivelul statistic - comportarea sistemului este descris de
secvena perechilor de v.a.
s = (e1,t1) (e2,t2) (e3,t3) ...
(unde ei si ti sunt v.a. si pentru orice realizare , s() =
(e1(),t1()) (e2(),t2()) (e3(),t3()) ... este o urma
descrisa la nivel temporal)
Exemple: lanurile Markov, sistemele cu cozi de ateptare
si reelele de cozi, modelele de simulare - avnd la baza
formalismul GSMP

Categorii de modele statistice (1)


I. Modele analitice (teoretice)
n

sistemice (improprii), provenite in general din


modele deterministe unde descrierea se face la
nivel logic sau temporal
operaionale, in general probabilistice (statistice);
se pot folosi in cazurile cnd putem obine prin calcul
formule/ rezultate exacte (avnd modaliti de a
simplifica problemele computaionale)
w Ex.: sisteme cu cozi de ateptare, reele de cozi
w Limitare: la cozi simple &
reele de cozi factorizabile

Categorii de modele statistice (2)


II. Modele de simulare
n
n
n

n
n

derivate din modelele operaionale


adecvate pentru analiza asistata de calculator
ofer un instrument complet ce aproximeaz
dinamica sistemului prin oferirea de ipostaze noncontinue incrementale
Pro: Dinamica originala a SDED este de acest tip!
Contra: Dificulti computaionale (exista soluii!)

Pentru modelarea SDED la nivel statistic (cea mai


completa) se pot folosi in tandem:
n

modele operaionale + modele de simulare

Lanuri Markov
Sunt procese aleatoare discrete (asociate cu sisteme
ce se pot afla n stri diferite, ce se schimb aleator
n pai discrei), cu a.n. proprietate Markov
Poate fi util s gndim aceste sisteme ca evolund n
pai discrei n timp, dei timpul nu este determinant
Proprietatea Markov: distribuia de probabilitate de
trecere a sistemului n starea urmtoare (i de fapt
n toate strile urmtoare) depinde doar de starea
curent, nu i de strile anterioare
Consecin: dei strile urmtoare sunt aleatoare, nu
pot fi prezise, pot fi descrise proprietile statistice
ale sistemului cu muli pai nainte

Un exemplu
Un iepure mnnc doar varz, morcovi sau lptuci
Dac a mncat morcovi ieri, nu va mai mnca azi, ci
va servi doar varz sau lptuci cu probabilitate egal
Dac a mncat varz ieri, va putea mnca azi, cu
prob. 10%, dar i morcovi sau lptuci cu prob. 40%,
respectiv 50%
Dac a mncat lptuci ieri, nu va mai mnca azi, ci
va servi doar varz sau morcovi cu prob. 40%/ 60%
Modelul obiceiurilor alimentare ale iepurelui este un
lan Markov, i se pot calcula proprieti statistice ca
de ex. numrul (%) de zile n care iepurele a mncat
morcovi, pe o perioad lung de timp 100 zile

Cmp de evenimente elementare.


Variabil aleatoare
(, E, P): cmp (finit sau infinit) de evenimente elementare
n

n
n

: mulimea de realizri posibile ale unui experiment aleator


(mulime de evenimente elementare)
E: mulimea submulimilor din (spaiul evenimentelor)
P: msura de probabilitate

X:R este variabil aleatoare dac valoarea sa depinde de o realizare


din si este caracterizata de:
desfacerea lui in evenimente elementare, incompatibile:
E1,E2,...,En
mulimea valorilor reale x1,x2, ...,xn
mulimea probabilitilor asociate evenimentelor elementare
p1,p2,...,pn
n

O v.a. modeleaz translatarea mulimii rezultatelor unui


experiment aleator pe o mulime real

Secvene i procese aleatoare


Secven aleatoare (stochastic):
Un ir de v.a. {X1, X2,..., Xn,...} indexate printr-o variabil
independent (de obicei cu semnificaie de timp)
Definirea se face prin specificarea funciei de distribuie (de
obicei aceeai) a componentelor, v.a. X1, X2,..., Xn,...

Proces aleator (stochastic)


Definite ca limita unei secvene aleatoare cnd variabila de
indexare devine continua; notaie {X(t)}
Ne intereseaz procesele aleatoare a cror comportare este
integral caracterizat printr-o unic distribuie
n

V.a. ale lor sunt i.i.d. (independente i identic distribuite)

Ele sunt intuitiv descrise de secvene de extrageri aleatoare


dintr-o mulime de baz ce respect o distribuie fix

Probabiliti condiionate n
secvenele aleatoare
Fie (, E, P) un cmp finit de evenimente elementare, iar
{X1, X2,..., Xn,...} un ir de v.a.
Notm {E1n, E2n,..., Emn,...} desfacerea corespunztoare
v.a. Xn n evenimente elementare, incompatibile
Probabilitatea condiionat P(Ejnn)|Ej11Ejn-1n-1 este n
general dependent de succesiunea de evenimente,
Ej11,,Ejn-1n-1,Ejnn
Dac P(Ejnn)|Ej11Ejn-1n-1 = P(Ejnn) pentru n i
ir Ej11,,Ejnn, atunci acest ir este o simpl succesiune
de v.a. independente
Dac P(Ejnn)|Ej11Ejn-1n-1 = P(Ejnn)|Ejn-1n-1 pentru n
i ir Ej11,,Ejnn, atunci acest ir constituie un lan
Markov simplu

Lanuri i procese Markov


O clas de modele destul de generale (se aplic
cu succes i n modelarea altor tipuri de sisteme)
Procesele Markov se caracterizeaz prin aceea c:
n

starea la un moment dat t este suficient pentru


calculul strii la momentele urmtoare
nu este necesar cunoaterea strilor unui sistem
(continuu) la momentele anterioare

Lanurile Markov pstreaz aceast proprietate,


sistemul modelat fiind ns studiat doar la
momente discrete de timp

Lanuri Markov
Definiie. Dac procesul stochastic X descris de secvena
X={Xn}n=0,1,2,... are proprietatea P(Xn+1=j| X0,X1, X2,..., Xn)
= P(Xn+1=j| Xn), atunci el se numete lan Markov
Interpretare: Probabilitatea apariiei unui eveniment la
momentul n+1 depinde doar de starea curent (n), nu i
de strile sistemului la momentele anterioare
Lanurile Markov multiple de ordinul p se definesc prin
dependena probabilitii apariiei unui eveniment la
momentul n+1 de cele p stri ale sistemului la momentele
anterioare, generate prin apariiile altor evenimente la
cele p momente anterioare

Modelul Markov simplu


Notaii:
n
n
n

n
n
n

(, E, P) cmp de evenimente elementare


X={Xn}n=0,1,2,... secven stochastic (ir de v.a. independente)
spaiul strilor posibile ale procesului, de cardinal numrabil
(simplificat, e asimilat cu , adic Xn=j arat c procesul
descris de variabila aleatoare Xn este n starea j la momentul n)
P(i,j)=P(Xn+1=j|Xn=i) - probabilitatea de tranziie din starea i n j
P=[P(i,j)]i,j - matricea de tranziie;
(i) - probabilitatea strii i

Modelul este caracterizat de 2 tipuri de ecuaii:


(i) = (j) P(i, j),i - ecuatiile de balans
j

(i) = 1
i

- ecuatia de normalizare

Tipologie i proprieti (1)


Dac la momentul n probabilitatea strii i nu depinde
dect de starea considerat, nu i de variabila aleatoare
Xn prin care se concretizeaz, adic P(Xn=i)=(i) pentru
orice n, lanul Markov se numete staionar
O mulime de stri din se numete nchis dac nici o
stare din afara acestei mulimi nu poate fi atins dintr-o
stare aflat n mulime
O mulime nchis de stri se numete nedecompozabil
dac nici o submulime proprie a sa (strict inclus n ea)
nu este nchis

Tipologie i proprieti (2)


Un lan Markov este nedecompozabil dac singura
mulime nedecompozabil este nsui spaiul strilor,
n

n cazul unui lan Markov nedecompozabil, un proces


aflat ntr-o stare i poate trece cu o probabilitate nenul
n orice stare j

O stare i se numete periodic dac este parcurs


periodic de procesul stochastic X; cu alte cuvinte, dac
Xk=i, atunci Xl=i doar dac l=k+md, unde d este un
divizor comun al lui k i l (numit perioad), iar m
Dac nici o stare nu este periodic, lanul Markov se
numete aperiodic

Ergodicitatea lanurilor Markov


ntr-o accepiune general, X={Xn}n=0,1,2,... este un lan
Markov ergodic dac pentru orice funcie f:R avem:

1 n -1
a.s.
f( X k ) E[f(X)], unde E[f(X)] = f(i) (i)

lim
=
n n k =0
i
este media pe stare a lui f(X).
Putem considera mai general, ca probabiliti de trecere
de la starea i la momentul l la starea j la momentul m:
P(l,m)(i,j), iar prin fixarea momentelor l,m dar meninerea
ca variabile a strilor i,j formm matricele de trecere:

P(l,m)=[P(l,m)(i,j)]i,j

Relaia lui Chapman


Matricele de trecere definite anterior respect o relaie
derivat direct din definiia lanului Markov simplu:

P(l,n)=P(l,m) x P(m,n), unde l<m<n (m stare intermediar)


n

Pentru determinarea matricelor de trecere este deci necesar i


suficient s cunoatem matricele de tranziie definite anterior:

P=[P(i,j)]i,j=P(n,n+1)
Un lan Markov omogen este caracterizat de faptul c
probabilitile de trecere depind numai de diferena
n=m-l, ntre momentele l i m
n acest caz relaia lui Chapman se poate scrie simplu:
P(m+n)=P(m) P(n)
iar lanul este determinat doar de matricea de tranziie
P=P(1); evident c P(n)=Pn

Problema ergodic pentru sisteme


nedecompozabile
Este problema comportrii probabilitilor P(n)(i,j) pentru
n, convergena ctre o limit:
, sau
P (n)(i, j)= P(i, j)|
P (n)= P

lim
n

i, j

lim
n

Rezultate importante:
1. Dac limita probabilitilor de trecere (sau a matricelor
de trecere) exist, acest lucru este independent de starea
iniial din care se pleac
n Intuitiv, se poate porni aa la definirea ergodicitii
2.Dac X={Xn}n=0,1,2,... este un lan Markov ergodic, noul
lan Markov Y={Yn}n=0,1,2,... definit prin Yk=(Xk, Xk+1,...),
unde :RR e o funcie msurabil, este ergodic
3.Dac un lan Markov nedecompozabil este aperiodic i
are un numr finit de stri distincte, el este ergodic

Observaii
Noiunea de proces aleator, sub forma particular sub
care a fost introdus anterior, constituie o generalizare
direct a noiunii de variabil aleatoare
Un proces aleator este n esen o funcie parametrizat
definit pe produsul dintre spaiul unui parametru t (de
obicei o submulime real) i cmpul de probabilitate, cu
valori reale; prin fixarea parametrului t, funcia se reduce
la o variabil aleatoare n sensul definit anterior
Repartiiile variabilelor aleatoare obinute pentru diferite
valori ale parametrului t pot fi n general identice sau
diferite, n ansamblu ele constituie repartiiile de
probabilitate finit dimensionale ale procesului aleator
n cazul lanurilor Markov am considerat ca spaiu al
parametrului t mulimea numerelor ntregi nenegative
Definiia proceselor Markov are n vedere ntreaga
semidreapt real pozitiv

Procese Markov
Definiie. Un proces aleator Y={Yt, t[0,)} se numete
proces Markov, cu un spaiu numrabil de stri , dac
s>0 i j: P(Yt+s=jYu, us)=P(Yt+s=jYs)
Prin analogie cu un lan Markov, un proces Markov se
numete omogen dac P(Yt+s=j|Ys) nu depinde de s
Funcia de tranziie pentru un proces Markov se definete
analog: P(t)(i,j) = P(Yt+s=j|Ys=i); proprieti:
n
n

P(t)(i,j) 0, k P(t)(i,k) = 1, i
Ec. Chapman-Kolmogorov: k P(t)(i,k) P(s)(k,j) =
P(t+s)(i,j), sau n form matriceal: P(t+s) = P(t)xP(s)

Lan Markov nglobat unui proces


Dac:
1) W(t) e intervalul de rmnere a unui proces Markov ntr-o stare Y(t),
msurat n spaiul parametrului t: W(t) = inf{s>0: Y(t+s)Y(t)}, atunci:
(W(t>u)| Y(t)=i} = e-(i)u, unde u>0, iar (i) e rata de tranziie a strii i
2) T(n), n=0,1,2,..., este timpul celei de-a n-a tranziii a procesului,
X(n)=Y(T(n)) starea imediat urmtoare tranziiei la T(n), notnd X(n)=i:
P(X(n+1)=j,T(n+1)-T(n)>u |X(0),...,X(n); T(0),...T(n)} =Q(i,j)e-(i)u
3) Q(i,j) probabilitatea de tranziie din starea i n starea j, satisface
condiiile: Q(i,j)0, Q(i,i)=0 - prin convenie, i k Q(i,k) = 1,

atunci:
Procesul stochastic X={X(n), n=0,1,2,...} este un lan
Markov definit de probabilitile de tranziie Q(i,j), numit
lanul Markov nglobat procesului Markov Y

Observaii
Proprietatea evideniat anterior pt. lanurile i procesele
Markov de a fi lipsite de memorie (nu impun memorarea
evoluiei trecute), implic dou constrngeri importante:
(M1) toat informaia de stare trecut este irelevant;
(M2) timpul petrecut n starea curent este irelevant

Prima constrngere este definitorie pentru studiul tuturor


aspectelor markoviene i pstreaz destul de larg clasa
acestor sisteme
A doua restricioneaz de fapt natura v.a. ce specific
intervalul de timp ntre dou tranziii de stare consecutive
i are drept consecin important faptul c, ntr-un lan
Markov, timpii ntre evenimentele ce determin tranziiile
de stare sunt distribuii dup o lege exponenial
n

Prin aceasta se determin o anumit restrngere a tipurilor de


sisteme reale ce pot fi ncadrate aici

Formalismul GSMP
Un lan Markov poate fi nglobat i unui proces
stochastic ce nu este proces Markov
n

De ex., un lan Markov nglobat unui proces pentru


care probabilitile de tranziie ntre stri au legea de
distribuie de tip Markov sau exponenial, n timp ce
duratele de timp ntre tranziii sunt arbitrar distribuite,
se numete proces semi-Markov

Analog, se definete i un proces semi-Markov


generalizat (GSMP), n cazul unei dependene
mai generale de comportarea trecut
Formalismul GSMP st la baza modelelor de
simulare, din categoria modelelor statistice

Observaii
Un proces semi-Markov este o extensie a unui proces
Markov, determinat de relaxarea constrngerii (M2)
Timpii ntre tranziiile de stare nemaifiind cu necesitate
distribuii exponenial, rezult c un eveniment ce
determin o tranziie de stare poate aprea n orice
moment, impus de orice lege distribuional
Se pstreaz ns constrngerea (M1), cea definitorie:
cnd un asemenea eveniment apare, probabilitatea de
atingere a noii stri nu depinde de strile trecute, ci doar
de starea curent
Procesele semi-Markov pot fi definite direct ca procese
aleatoare n cmp borelian de evenimente, sau generate
prin evoluia unui automat de stare temporal stochastic

Care procese aleatoare pot fi GSMP?


Considerm n cmpul de probabilitate (, E, P) procese
stochastice continue n timp:
x(,t) : (, E, P) T+ X,
unde X este o mulime numrabil (spaiul strilor)
Pentru fiecare stare xX exist o mulime unic (x)N,
numit lista de evenimente (active) asociate strii
Fiecare eveniment are un timp de apariie asociat; fie
=xX(x) mulimea tuturor evenimentelor
Un astfel de proces constituie un GSMP; traiectoria sa
const din segmente constante pe poriuni (secvene de
stare) i salturi ntre 2 stri la momente asociate evenim.
Lungimea unei secvene de stare se mai numete i
timp de meninere a strii
Secvena evenimentelor declanate se numete urm

GSMP: baz a modelelor de execuie


Toate evenimentele asociate unei stri sunt competitive
(i pot fi planificate) pentru tranzitarea ctre starea
urmtoare
Fiecare eveniment are asociat i propria sa distribuie
de salt pentru determinarea strii urmtoare
La fiecare tranziie a sistemului, noi evenimente sunt
planificate (activate), i le sunt asociate durate de via
generate conform unor distribuii de probabilitate
Vechile evenimente nedeclanate pot fi pstrate n noua
stare cu timpii asociai (GSMP neintreruptibil) sau pot fi
abandonate n noua stare (GSMP intreruptibil)

GSMP: procese aleatoare i structuri


temporale stochastice
Formal, fiind date n cmpul de probabilitate (, E, P)
mulimile distribuiilor {e, e} i probabilitilor de
tranziie P(x, x,e), ansamblul (X(,t), C(,t)) format
din procesul aleator X i structura temporal stochastic
C se definete astfel:
n

pe de o parte, prin specificarea modului de generare


a componentelor structurii temporale, pe baza
distribuiilor
pe de alt parte prin specificarea legilor de evoluie
dinamic (aleatoare, avnd n vedere probabilitile
de tranziie a strilor P) ale procesului X

GSMP: automate de stare stochastice


i structuri temporale stochastice
Pentru generarea GSMP se poate utiliza un automat de
stare stochastic (ale crui stri tranziteaz probabilistic),
cu o structur temporal stochastic asociat
Definiie. Numim automat de stare stochastic structura
(X, E, , p, p0, C), caracterizat de:
n
n
n
n
n
n

X mulimea strilor (cel mult numrabil)


E mulimea evenimentelor (numrabil)
(x) mulimea evenimentelor active n starea x ((x)E)
P : XXE [0,1] - funcia de probabilitate a tranziiilor
de stare
p0(x) setul de probabiliti asociate strii iniiale x0,
p0(x)= p(x0=x);
C={Ce, eE} - structur temporal stochastic, fiecare
component a sa fiind o v.a. distribuit dup o anumit
lege e

Observaii
Un automat de stare stochastic se obine prin extensia
multipl a unui automat de stare temporal
n structura temporal nu se mai consider dat ci se
genereaz pornind de la distribuiile e date
n funciile de tranziie a strilor, ca i starea iniial, nu
mai sunt date univoc, ci probabilistic
Un automat de stare stochastic genereaz o secven de
stare stochastic {x1,x2,...,xk,xk+1,...} printr-un mecanism
de tranziie bazat pe probabilitile tranziiilor de stare P
condus de secvena de evenimente e1,e2,...,ek,ek+1,...
n dac xk=x, atunci xk+1=x cu probabilitatea p(x,x,e),
e fiind evenimentul ce declaneaz tranziia, adic
intrarea n starea x

Generarea GSMP
Mecanismul de alegere al evenimentului declanator e este
identic cu cel pentru automatul de stare temporal

e '= arg min {re };


e ( x )

re fiind timpii reziduali rezultai din structura temporal


stochastic C={Ce, eE}.
Calculul noilor timpi reziduali se poate face dac: r * = min re
e ( x )
i are n vedere doar cazul neintreruptibilitii evenimentelor
nedeclanate:

re ' = next ( c e ' ); re = re r *, e e '.

Prin next(ce) s-a notat generarea unei noi durate de activare


pentru evenimentul declanat, pe baza distribuiei indicate e
Secvena strilor generate de un automat de stare stochastic
este un proces aleator, care ndeplinete constrngerea M1 i
definete un GSMP

Modelarea sistemelor de calcul


Curs, anul III Calculatoare

Sisteme cu cozi de ateptare i


reele de cozi

Sumar
Modelarea analitic a sistemelor i reelelor de
ateptare.
Notaia Kendall generalizat
Notaia Kendall simplificat
Legea lui Little
Comportare tranzitorie i permanent (staionar,
de echilibru statistic)
Probabiliti de tranziie i de stare
Msuri de performan la echilibru statistic

Sisteme cu cozi de ateptare


Caracterizeaz un sistem prin:
fluxul de intrare - descrie modul in care sosesc clienii
(unitile) in sistem
n

in general sosirile sunt aleatoare si independente;

coada (cozile) de ateptare, caracterizata(e) printr-o


anumita disciplina (o regula), care precizeaz:
n
n
n

modul de formare a cozii


modul de comportare a unitilor care ateapt
ordinea de servire a unitilor

staia (staiile) de servire


n

putem avea staii multiserver

fluxul de ieire, important in sistemele constituite din


reele de cozi de ateptare

Notaia Kendall generalizat


(A/B/C):(D/E/F)
A - tipul distribuiei de intrare
(distribuia timpilor intre sosiri)
B - tipul distribuiei de servire
(distribuia timpilor de serviciu)
C - numrul de staii (servere) in sistem
D - disciplina de servire din partea staiilor
E - numrul maxim de clieni admii in sistem
(cei care ateapt + cei in curs de servire)
F - sursa apelanta
(populaia din care pot proveni clienii, finita sau nu)

Notaia Kendall simplificat

(pentru sisteme cu coada unica de ateptare, 1+ servere)

A/B/k/m
A - tipul distribuiei de intrare
(distribuia timpilor intre sosiri)
B - tipul distribuiei de servire
(distribuia timpilor de serviciu)
k - numrul de staii (servere) in sistem
m - dimensiunea maxima a cozii

Codificarea tipului distribuiei


(de intrare sau de servire)

M - distribuia exponeniala (notaia M provine


de la faptul c succesiunea strilor sistemului
formeaz un proces Markov, sau Memoryless)
U - distribuia uniforma
Ek - o distribuie Erlang cu k nivele
Hh - o distribuie hiperexponenial cu h nivele
G sau GI - o distribuie general
D - o distribuie determinist

Disciplina de servire
FIFO (FCFS): unitile sunt servite in ordinea sosirii in
sistem
LIFO (LCFS): unitile sunt servite in ordinea inversa
sosirii in sistem
SIRO: unitile sunt servite in ordine aleatoare
SPT: prima unitate servita este cea cu timpul minim de
servire
PS (partajarea procesorului): pentru intervalul de timp in
care k uniti solicita servirea, serverul va asigura
servirea fiecreia pentru un timp proporional cu 1/k

Disciplina de servire (cont.)


PR (scheme pe baza de prioriti): clienilor le
sunt date prioriti la intrarea in coada, clientul
prioritar este primul servit
n

Non-preemptive: o unitate aflata in curs de servire


nu poate fi ntrerupta
Preemptive: o unitate aflata in servire poate fi scoasa
de o alta intrata in sistem cu o prioritate mai mare;
reintrarea unitii ntrerupte in servire se poate face
din punctul in care a fost ntrerupta sau de la nceput

Sisteme de ateptare cu server unic

Procesele de sosire a unitilor n sistem si de servire a


clienilor sunt in general modelate ca procese aleatoare
Bufferul poate avea capacitate finita sau infinita (un
buffer de capacitate finita poate conduce la blocaje n
sistem)

Procese Poisson
sunt procese stochastice {A(t)t0} cu valori
pozitive, discrete n timp
presupunerile (postulatele) pe care se bazeaz
teoria
acestor
procese
stochastice
(si
dezvoltarea formulei distribuionale Poisson)
sunt minimale si conforme cu realitatea
experimentala
Exemplu: un proces de numrare a sosirilor ntrun sistem de ateptare - atunci cnd sosirile au
loc pe rnd si sunt independente)

Postulatele Poisson
1. ntr-un interval "mic" de mrime t, probabilitatea de

a nregistra exact o sosire e proporionala cu mrimea


intervalului:
P(A(t+t)-A(t)=1) = t
2. n acelai interval "mic" de mrime t, probabilitatea
de a nregistra mai mult de o sosire este neglijabila:
P(A(t+t)-A(t)>1) = o(t)
3. Sosirile sunt independente: probabilitatea unei sosiri
ntr-un interval de timp "mic" e independenta de alte
sosiri si de timpul scurs de la ultima sosire n sistem

Distribuia Poisson: ecuaii (1)


Distribuie discreta ce modeleaz numrul de sosiri ntrun sistem de ateptare ca variabila aleatoare X=A(t)
Daca Pn(t)=P(A(t)=n): probabilitatea de a nregistra n
sosiri n sistem n intervalul (0,t)
Atunci Pn(t)0, P0(0)=1, Pn(0)=0 pt. n>0, n=0, Pn(t)=1
Rezulta imediat ca Pn(t) = t + o(t) pentru n 1
Probabilitatea ca n 2 intervale succesive disjuncte (0, t)
si (t, t+t) sa nu nregistram nici o sosire:
P0(t+t) = P0(t)P0(t) = P0(t)(1 - t - o(t))

Distribuia Poisson: ecuaii (2)


(P0(t+t) - P0(t)) / t = -P0(t) - o(t) / t
Rezulta prin trecerea la limita cu t 0 ecuaia
difereniala (cu condiie iniiala)
P'0(t) = -P0(t), P0(0)=1, cu soluia P0(t) = e-t
Probabilitatea ca n cele doua intervale
succesive sa nregistram una sau mai multe
sosiri (n>0):
n

P n (t + t)= P n (t) P 0 ( t)+ P n -1(t) P 1( t)+ P n - k (t) P k ( t)


k=2

= P n(t) (1 - t - o( t))+ P n -1(t) t + o( t)

Distribuia Poisson: soluia


P n'(t) = - P n(t)+ P n-1(t), P 0 (0) = 1, P n(0) = 0 pentru n > 0.

Soluia acestei ecuaii difereniale este distribuia Poisson


generala de parametru :

( t ) e- t
,
P n (t) =
n!
n

avnd att media ct si dispersia egale cu t

Triunghiul distribuiilor fara memorie


Urmtoarele 3 propoziii sunt echivalente:
A. Timpul ntre sosiri este distribuit exponenial, dup legea
F(x)=P(tx)=P(t T+xt>T)=1-e-x,
avnd media 1/ si dispersia 1/2 (un proces Poisson de sosire are
o distribuie exponeniala pentru timpii ntre sosiri).
B. Probabilitatea de a avea o singura sosire n sistem ntr-un interval
de timp de mrime t (mic) este t + o(t).
C. Probabilitatea de a avea n sosiri n sistem n intervalul (0,t)
respecta distribuia Poisson:

( t )n e - t
,
P n (t) =
n!

obinuta prin rezolvarea ecuaiei difereniale

dP n (t)
= - P n + P n -1
dt

Descompunerea si compunerea
proceselor Poisson
Daca un proces Poisson cu media
, X=A(t), t0, consta din
evenimente de doua tipuri diferite,
cu probabilitati de apariie p,
respectiv 1-p, atunci si v.a.
X1=A1(t), X2=A2(t) ce numra
apariiile pt. cele 2 tipuri de
evenimente, sunt procese Poisson
independente, cu media p,
respectiv (1-p).
Daca X1=A1(t) si X2=A2(t) sunt
procese Poisson cu media 1,
respectiv
2,
atunci
si
X=A(t)=A1(t)+A2(t) constituie un
proces Poisson cu media =1+2.

(1-p)

Indicatori de performanta
numrul mediu de uniti in sistem, fie in coada
de ateptare, fie in curs de servire
timpul mediu de ateptare
timpul mediu de rspuns sau timpul sistem
(timpul de ateptare + timpul de servire)
lungimea maxima a cozii de ateptare
coeficientul de utilizare a serverului (fraciunea
de timp n care serverul este efectiv ocupat)

Legea lui Little (formula de conservare)


Daca:
N este numrul mediu de uniti n sistem
este rata medie de sosire a unitilor
(clienilor) n sistem
T este timpul mediu de rmnere a unui client
n sistem
Atunci:

N = T

Demonstraie (grafica)

s(t) - numrul de sosiri n sistem n intervalul [0,t]


p(t) - numrul de plecri din sistem n intervalul [0,t]
N(t)=s(t)-p(t), numrul de clieni n sistem la mom. t
Ti - timpul petrecut de clientul i n sistem
Dreptunghiurile ce compun aria haurata au baza egala cu
Ti, iar nlimea egala cu 1 (sosirile au loc pe rnd)
t

N(
0

lim
t

N( )d
0

)d = ( T i ) -
s(t)

i=1

N( )d

= lim 0

s(t )

lim
t

s(t)

- lim ; dar lim = 0.


t
t t
t t

N = lim
t

N( ) d
0

s(t)

= lim
t

s(t)
;
t

T = lim
t

T
i= 1

s(t)

Aplicaia 1:
Nod de reea n regim de testare
Un nod de reea (server) n testare, primete/
transmite pachete de date (mesaje) de lungime
fixa, la intervale de timp deterministe si fixe
Timpul sistem al unui mesaj are 4 componente:
timpul de prelucrare n nod (mpachetare, despachetare)
timpul de ateptare, naintea prelucrrii sau transmiterii
timpul de transmitere la nodul urmtor, de la primul bit
la ultimul bit (vom considera transmisia seriala)
timpul de propagare, ntre transmisia primului bit de
ctre nodul curent si recepionarea sa de ctre nodul
urmtor (0)

Condiii de calcul
(1) timpul (S secunde) ntre sosirea mesajelor este fix (deci
si rata sosirilor n sistem este fixa: =1/S)
(2) nodul poate prelucra si transmite simultan cte un mesaj
(3) timpii de prelucrare P si de transmitere kS pentru un
mesaj ndeplinesc cerinele: k 1, kS+P < 2S
Rezulta ca:
Timpii de prelucrare P si transmitere kS sunt singurii
relevani, deoarece, datorita capacitaii de prelucrare si
transmisie asincrona a serverului, mesajele nu ateapt!
Timpul sistem al fiecarui mesaj este acelai, egal si cu
media sa: T = kS+P

Aplicarea legii lui Little


Numrul mediu de clieni n sistem:
N = T = k+P/S

Interpretare:
N nu este o limita catre care converge numrul de clieni
n
n sistem, N(t) - de fapt N(t) nu converge, deoarece
sistemul nu atinge o stare de echilibru statistic!
Totui, aplicarea legii lui Little este riguroasa prin
interpretarea lui N ca valoare fixa a mediei temporale a
numrului de unitati n sistem, determinat la momente
discrete de timp, n timp (foarte lung):
k

1
N = lim N (t)dt
k k
0

Aplicaia 2:
Sistem de calcul n time-sharing
Task-urile necesita un timp mediu de pregtire G si de prelucrare P
(dar pot fi inute n coada de ctre procesor, n ateptarea servirii)

Condiii de calcul
Exist ntotdeauna un utilizator gata sa ia locul altuia care se
ridica de la terminal (deoarece suntem interesai n estimarea
valorii maxime pentru rata de ieire a unitilor din sistem)
Echivalent, numrul de utilizatori din sistem este constant (N)
Echivalent, putem considera reintrarea imediata n sistem a
oricrui utilizator ce ncheie un task
T este timpul sistem mediu pentru un utilizator, cu structura:
T = G+D+P,
unde D este timpul de ateptare al task-ului utilizator, ce ia
valori discrete ntre 0 (intrare directa n execuie) si (N-1)P
(ateptare maximala dup toi ceilali utilizatori)

Aplicarea legii lui Little


Intre punctele A si C: = N/T
0 D (N-1)P G+P T G+NP

N
N

G+N P
G+P

Intre punctele B si C (intrarea si iesirea serverului):


N
1 N
min{ ,
}
G+ N P
P G+P
(rata de procesare a joburilor nu poate depi 1/P)
Limitele de variaie ale timpului mediu de ateptare per
utilizator atunci cnd sistemul este integral utilizat:

max{N P,G + P} T G + N P

Variaia ratei de prelucrare

Variaia timpului sistem mediu


pentru un utilizator

Discuie
Cnd N creste:
n
n

rata de ieire tinde spre valoarea maxima 1/P


timpul mediu de ateptare pentru un utilizator
creste proporional

Rata de ieire maximala depinde de parametriisistem ca:


n
n

proporia ntre timpii de pregtire si de execuie


disciplina de servire

Limitele obinute nu depind de parametriisistem

Interpretri
Ct timp N<1+G/P, N reprezint un factor de
blocaj n sistem, deoarece procesorul rmne
nefolosit o fraciune importanta din timp

(corespunztoare momentelor de angajare simultana a


tuturor utilizatorilor n pregtirea task-urilor lor)

Cnd N>1+G/P, puterea de procesare a


serverului este cea care determina blocajul

Reele de cozi de ateptare


O reea de cozi este un sistem ce const din mai
multe servere, fiecare avnd asociat un buffer
Unitile (clienii) pot aparine mai multor clase
Clieni aparinnd unor clase diferite pot necesita
servicii diferite, chiar de la acelai server
Dup un serviciu, un client poate fi dirijat ntr-un
anumit mod
n

De ex., pentru a cere efectuarea unui alt serviciu la


un server diferit de primul sau a prsi sistemul

Clasificarea reelelor de cozi dup


modalitatea de dirijare
Reele deschise - au loc:
n
n

sosiri n sistem ale unitilor din exterior (de obicei


modelate ca procese Poisson)
parasiri ale sistemului de ctre clieni dup efectuarea
unor servicii

Reele nchise
n
n

fiecare client circula ntre servere, pentru serviri, fara a


prsi sistemul;
din exterior nu pot intra noi clieni n sistem, deci
numrul total de clieni este o constanta sistem

Reele mixte
n

deschise pentru anumite clase de clieni si nchise


pentru altele

Reele de cozi factorizabile


Distribuia staionara a reelei poate fi descompusa ntr-un
produs de distribuii ale fiecruia dintre subsistemele de
ateptare (cozile) componente, analizabile separat
n

Pentru reelele deschise independenta distribuiilor staionare


ale cozilor individuale (distribuia staionara e produsul
distribuiilor individuale ce se obin prin analiza separata a fiecrei
cozi considernd o rata de sosire adecvata, modificata, ce reflecta
modalitatea de dirijare n reea)
Pentru reelele nchise dependenta dintre cozi poate fi
capturata prin normalizarea soluiei independente peste un spaiu
de stare normalizat; n acest caz, pot apare dificultati
computaionale n calculul constantei de normalizare

Reele Jackson deschise


Caracteristici:
M staii de servire (cu server unic), fiecare avnd un
buffer de capacitate infinita
Sosirile din exterior ale clienilor la fiecare staie i dintre
cele M sunt procese Poisson cu media 0,i
Dup efectuarea unui serviciu de ctre serverul i, un
client poate cere servirea din partea unui alt server j cu probabilitatea qi,j, sau poate parasi sistemul - cu
probabilitatea qi,0 :
M

q i,0 = 1 - q i, j
j=1

Ecuaii de flux
Daca:
n

timpul de [de]servire al serverului i este exponenial


distribuit cu media si=1/i
i este rata de sosire medie a clienilor la serverul i
(includem att clienii ce sosesc din exteriorul
sistemului la serverul i, ct si pe cei care sosesc din
sistem, dup servirea lor de ctre alt server)

Atunci:
M

i = 0,i + j qi, j , i = 1,2,..., M


j=1

Reele Gordon-Newell nchise


Caracteristici:
Se bazeaz pe aceleai premise ca si o reea Jackson,
exceptnd faptul ca 0,i=0 si qi,0=0, pentru orice i
(aceasta exprima faptul ca reeaua este nchisa numrul total N de clieni n sistem este fix)
Daca notam starea sistem cu n=(n1,n2,...nM), unde ni e
numrul de clieni n bufferul serverului i:
M

n= N
i

i=1

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Simularea sistemelor dinamice cu
evenimente discrete (SDED)

Simularea (Shannon): Procesul construirii


unui model pentru un sistem/proces real si
efectuare de experimente folosind modelul
pentru:
intelegerea comportarii sistemului real
urmarirea evolutiei dinamice a sistemului
evaluarea unor strategii de operare

Modelare i simulare
Model: o reprezentare a unui sistem
n

Modelele matematice folosesc notaii simbolice i


ecuaii matematice/ modelele de simulare pot fi
considerate tipuri particulare de modele matematice:
- Deterministe: un set cunoscut de intrri corespunde
cu un set unic de ieiri
- Stochastice: una sau mai multe intrri sunt v.a.,
fapt ce determin ieiri aleatoare
Modelele fizice, constructive

Modelare: procesul de construire a unui model


Simulare: imitarea modului de operare al unui
sistem sau proces real, de obicei n timp

Modaliti de simulare discret


(stochastic)
Static, de ex. simularea Monte-Carlo
1. Se definete un domeniu al intrrilor posibile
2. Se genereaz aleator intrri din domeniu pe baza

unei distribuii de prob. (cel mai adesea uniform)


3. Se fac calcule deterministe folosind aceste intrri
4. Se agreg rezultatele individuale n cel final
n

Ex: valoarea lui /4 este aproximat de raportul ntre


aruncrile ntr-un cerc i cele n ptratul circumscris

Dinamic, de ex. simularea sistemelor dinamice


cu evenimente discrete

Simularea SDED
modalitate sistematic de generare a traiectoriilor
dinamice ale sistemului
producerea unor secvene de ipostaze (imagini)
ale SDED reprezint dinamica (evoluia) in timp
concept important: starea, caracterizat prin
variabilele de stare ce iau valori discrete
n

variabilele continue (ex. timpul), nu sunt considerate


independent, ci doar n relaie cu apariia unor
evenimente; ele sunt discretizate si considerate ca
variabile-anexa sau deduse

Starea in simularea SDED


starea fizic cea uzuala in TS, aici tipic discreta
Ex: nr.unitilor din coada unui server intr-o reea de cozi

starea matematic (ipostaza la mom. t), include:


n

o informaie completa asupra strii fizice a sistemului


la momentul t
toate elementele necesare pentru determinarea in
mod unic a evoluiei viitoare a sistemului,
o lista a evenimentelor viitoare (LEV) ce vor determina
tranziiile de stare
valori curente ale statisticilor cumulative/contorilor ce
vor fi folosite in calculul statisticilor rezumative finale

Dinamica simulrii SDED


Este determinata de evenimente, ce pot fi:
n

externe (ex. sosirea unei uniti in sistem)

interne (ex. terminarea servirii unui client la un server)

Apariia unui eveniment mpreuna cu ndeplinirea


unor condiii logice (reguli de operare) determina o
tranziie de stare
In noua stare noi evenimente pot fi planificate
Evenimentele existente continua sau vor fi
terminate conform cu LEV

Evenimentele
apariii instantanee care schimb starea sistem
delimiteaz activiti in sistem
pot fi:
n
n

endogene: apariii in interiorul sistemului


exogene: apar in mediu (in afara sistemului) dar
afecteaz sistemul

in simulare, parametrul timp este doar asociat


apariiei evenimentelor, iar progresia temporala a
simulrii este implicita avansului in procesarea LEV

Simulatoare
un simulator este un program de calculator prin
care se modeleaza:
n
n

comportamentul intern al unui sistem real


procesele de intrare ce dirijeaza sau controleaza
sistemul simulat

iesirea unui simulator consta intr-un set de


masuratori legate de reactiile observabile si
performanta sistemului real
masuratorile obtinute sunt doar estimatori ai
masurilor reale, deoarece simularea nu are ca
suport sistemul real, ci un model al acestuia
(mai mult sau mai putin fidel)

Metodologii de simulare
Construcia unui simulator se face pe baza unei
metodologii de simulare
simularea condusa de timp implica existenta unui
ceas de timp central avansat cu increment fix
n

genereaz algoritmi ineficieni si este mult mai puin


utilizata
prezint un anumit interes doar in cazul simulrii
paralele (distribuite)

metodologia generala de simulare pentru SDED


este simularea condusa de evenimente
n

planificarea corecta a execuiei evenimentelor impune


cu necesitate includerea lor intr-o lista ordonata dup
timpii de apariie ai evenimentelor (LEV)

Abordri in simularea SDED


Planificarea de evenimente

impune ca atunci cnd o activitate ncepe, durata ei


sa fie calculata (sau generata aleator) si evenimentul
ei de sfrit sa fie plasat in LEV
n se definesc schimbri de stare pt. fiecare eveniment
n mecanismul de avans temporal si garantarea apariiei
cronologice a evenimentelor e complet bazat pe LEV
n

Interaciunea proceselor

se descriu procesele asociate cu entitile acestea


pot fi permanente sau temporare
n simularea se constituie ca un ansamblu de procese
n mai multe procese pot fi simultan active in model si
interaciunea dintre ele poate fi complexa
n

Cum decurge simularea dirijat


de evenimente...
LEV, meninuta ordonata, se compune din:
n evenimentul iminent" - cel aflat in fruntea
listei, ce poate fi deja in curs de tratare
n celelalte evenimente (poteniale), numite
astfel deoarece ele pot decalate, modificate
sau chiar anulate prin simularea evenimentului
iminent
Activitate" in cadrul simulrii - apariia unui
eveniment, urmata de tratarea lui, prin care se
modifica starea sistem si (potenial) LEV

... pentru un sistem simplu de ateptare


Compus dintr-o coada de dimensiune maxima
n=500 si un server

Sosirea clienilor

COADA

SERVER

Clieni in
ateptare

Client in
servire

Plecarea clienilor

Va fi considerat complet stochastic:


Procesul de sosire este aleator
n Timpul de servire este aleator
n

Definire sistem si obiective


Entiti: Clieni, Coada, Server
n

nu este necesara reprezentarea explicita a clienilor


(individualizarea lor)

Evenimente: sosire client, plecare client


Date colectate
Utilizare server
Lungimea maxima a cozii
Timp de ateptare client(i)
Timp de rspuns al sistemului
Procentajul clienilor ce ateapt peste o valoare prag

Definirea statica a modelului


Starea sistem este descrisa de variabilele:
n

lqt=numrul de clieni aflai in coada de ateptare la un


moment dat
lst=numrul de clieni aflai in servire la un moment dat, 1 sau
0 (sau starea serverului, ocupat sau liber)

Evenimente:
n
n

sosirea unui client in sistem;


plecarea unui client din sistem prin terminarea servirii sale;

Activiti:
n
n

timpul ntre sosiri, definit de o tabela ce se genereaz aleator


timpul de servire, definit in acelai mod

ntrzieri: ateptri in coada, pana serverul devine liber

Descrierea dinamica a modelului


Cum afecteaz fiecare eveniment starea sistem,
atributele entitilor, coninutul seturilor?
Cum sunt activitile definite (determinist, probabilistic,
printr-o ecuaie matematica)?
Care sunt evenimentele de nceput/sfrit al activitii?
Poate o activitate ncepe indiferent de starea sistem,
sau este condiionata de starea sistem?
Care sunt evenimentele de nceput/sfrit al fiecrui tip
de ntrziere?
Care sunt condiionrile pentru ca o ntrziere sa
nceap" sau sa se "termine"?
Care este starea sistemului la momentul iniial?
Ce evenimente "primare" trebuie generate la momentul
iniial pentru ca simularea sa poat ncepe?

Dinamica simulrii in interaciunea


proceselor
Se identifica entitile caracteristice in sistem
Pot coexista, interaciona si intra in competiie
multiple copii ale entitilor
Codul de simulare este non-procedural: in mod
separat, se descriu entitile tipice
Pot exista multe tipuri de entiti, inclusiv cele
de excepie (de ex. pentru tratarea defectelor)
Este de obicei necesar un soft specializat
n

Altfel, se recurge la serializare si planificare de


evenimente
Oricum, eficiena este mai sczuta in cazul execuiei
secveniale

Diagrama proceselor asociate entitilor

Creare Nod

Nod in Coada

Terminare Nod
Activitate Servire

Aceasta tehnica este adecvata cnd rezolvarea


unei probleme este echivalenta cu descrierea
unor activiti relativ independente desfurate
in paralel, dar care comunica si interacioneaz
pe parcursul execuiei lor
18

Fazele unui studiu de simulare

Faza de planificare
a) Specificarea problemei
intrebari esentiale: Ce se cere? La ce va folosi?
uneori se poate formula doar obiectivul atasat unei
descrieri vagi a procesului studiat

b) Estimarea resurselor
implica alegerea modalitatii de abordare, studii de
fezabilitate, evaluarea costurilor de timp si personal,
ca si stabilirea graficului de derulare a activitatilor

c) Analiza sistemului si a datelor


se identifica diversele nivele de detaliere necesare

Faza de modelare
Consta in:
a) Construcia modelului: pot exista mai multe
modele candidate, trebuie ales unul
b) Colectarea datelor: datele reale permit
identificarea modelului adecvat
c) Translaia modelului: codificarea intr-un
program ("model programat")

Faza de verificare/validare (1)


Verificarea consta in depanare si testare program
Validarea este mai ampla la ntrebarea reflecta
programul in mod fidel sistemul? rspunsul e DA
numai daca se respecta cteva principii de lucru
In dezvoltarea unui model valid asociat datelor de
intrare distingem urmtorii pai:
a. colectarea datelor brute din sistemul studiat
b. identificarea distribuiei statistice a datelor, prin:
- construirea distribuiei frecveniale a datelor de intrare
(histograma);
- asumarea unei presupuneri distribuionale (in practica apar mai
frecvent doar cteva distribuii standard)

Faza de verificare/validare (2)


Pai in validare (cont.):
c. estimarea parametrilor distribuiei asumate
d. testarea concordantei intre distribuia asumata (cu
parametri estimai) si datele de intrare, folosind:
testul 2
testul Kolmogorov-Smirnov

Daca testul de concordanta eueaz, ipoteza c datele


urmeaz legea distribuionala propusa trebuie respinsa
si se ncearc o noua ipoteza distribuionala (se reia cu
pasul b)
Daca mai multe iteraii ale acestei proceduri eueaz
in gsirea unei concordante intre distribuia asumata si
datele colectate, trebuie folosita distribuia empirica

Faza de execuie
Consta in:
a) Proiectarea experimentelor: se aleg execuii
generice
b) Experimentare: se executa programul cu date
reale!
c) Analiza: se interpreteaz rezultatele
d) Implementarea/Documentarea:
cum se implementeaz deciziile rezultate din simulare?
cum se documenteaz modelul in vederea reutilizrii?

Msurtori de performan
Fundamentale sunt rspunsurile la cteva ntrebri:
Ce alternative se simuleaz (se executa)?
Cat de lunga este o execuie?
Ce se msoar?
Maximul, minimul, totalul, media, varianta, momente de
ordin superior, distribuii specifice de frecventa, timpii
intre sosiri, timpii de servire, lungimi ale cozilor, rate de
pierdere sau eroare etc.

Care sunt proprietile (statistice) ale "masurilor"


de care suntem interesai?
Sunt necesare si alte execuii? Trebuie schimbat
modelul? Trebuie schimbai parametrii?

Planificarea de evenimente
Rmne cea mai adecvat programrii standard,
si cea mai eficienta in cazul execuiei secveniale
Se utilizeaz de obicei funcii de biblioteca pentru
n
n
n
n
n

Prelucrarea listelor
Generarea numerelor aleatoare
Generarea variabilelor aleatoare
Colectarea statisticilor
Managementul (ordonarea) LEV si ceasului de timp

Nod de sincronizare" - ansamblul procedurilor ce


implica ntreinerea LEV (adugarea, suprimarea
sau modificarea de evenimente)

Ipostaza sistem tipica

Exemplu numeric
Timpi
Timp
Unit ntre
sosire
sosiri

Unit

Timp
servire

Unit Timp ncep Timp


Termin
sosire servire servire servire

11

11

12

15

15

15

19

Algoritmul de planificare evenimente/


avans al timpului simulrii
1) Scoaterea evenimentului iminent din LEV
2) Avansul ceasului sistem (CLOCK) la momentul
apariiei evenimentului
3) Execuia evenimentului iminent
actualizarea strii sistemului, a atributelor entitilor
sistemului, a seturilor

4) Generarea evenimentelor viitoare si plasarea lor


in LEV in poziia corecta
5) Actualizarea rezultatelor cumulative si statistice

Tratare eveniment sosire client


Planifica urmtoarea sosire

Server ocupat?
Nu

Da
Plaseaz clientul sosit in coada

Ocupa server

Planifica eveniment de plecare client

Return

Tratare eveniment plecare client


Coada vida?
Nu

Da
Elibereaza serverul

Selecteaza client din coada


pentru servire

Actualizeaza statisticile pentru server


Actualizeaza statisticile pentru coada
si noul client in servire
Colecteaza datele pentru clientul
care pleaca

Planifica evenimentul de plecare

Return

Programarea modelului
Poate fi fcuta intr-un limbaj procedural (C)
Proiectul C (anexat) e compus din fiierele sursa:
n

"sp.c: simulatorul principal, ce conine rutinele de


iniializare, avans timp, tratare a evenimentelor si
generare a rapoartelor
"rndevg.c: conine rutine pentru generarea
distribuiilor statistice
"rndevg.h: fiierul header ce conine definiiile de
prototipuri si constante

Un numr de 10 execuii fr modificarea


parametrilor modelului permite o analiza simpla

Execuia modelului programat


Valoarea de
start (seed)

Utilizarea
serverului
(%)

Lungimea
maxima a
cozii

Timpul total
al simularii
(min.)

% clientilor ramasi
> 4 min.n sistem

Timpul de
raspuns
mediu (min.)

Numarul
plecarilor din
sistem

61011

72.55

13

44095.2

71.47

3.2

10 000

61136

70.65

16

45352.9

70.59

3.2

10 000

61190

71.47

11

44751.2

71.08

3.2

10 000

61209

71.39

20

44774.6

71.07

3.2

10 000

61225

72.11

11

44569.0

71.45

3.2

10 000

61237

70.95

13

45121.3

70.01

3.2

10 000

61249

72.03

11

44461.9

70.73

3.2

10 000

61265

72.25

10

44412.3

71.32

3.2

10 000

61280

71.40

16

44675.1

71.23

3.2

10 000

61299

71.57

14

44909.6

71.07

3.2

10 000

Media

71.64

13.5

44712.3

71.002

3.2

10 000

Abaterea

0.564

2.94

343.1

0.426

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Studiu de simulare secvenial
discret

Fazele studiului de simulare


Formularea problemei si planului

Nu
Model programat valid?
Da

Colectare date si definire model


Proiectarea experimentelor

Model conceptual valid?


Da
Constructia programului si verificarea

Executii pilot

Nu

Executia experimentelor

Analiza rezultatelor simularilor

Interpretare si documentare program

Scopul studiului
De a relua si aprofunda metodologia de baza a
simulrii (planificarea de evenimente) si de a
identifica unele probleme des ntlnite, evideniate
de un exemplu simplu
Exemplu de lucru: acelai sistem de procesare
M/M/1/n (poate fi un calculator, o maina-unealta)
Spre deosebire de cursul anterior, vom ncerca un
studiu pas cu pas (software-independent)
Vor fi reexaminate
n
n

Terminologia de baza
Cteva probleme statistice importante

Sistemul simplu de ateptare


Server

Sosirea unitatilor

Coada (FIFO)

Plecarea unitatilor
Unitate in servire

Se urmrete estimarea:

Capacitaii de procesare
Timpului de ateptare in coada
Lungimii utile a cozii
Proporiei de timp in care serverul este ocupat
etc.

Specificare si iniializare model


La momentul iniial (t=0) sistemul este gol
Date de intrare (observate sau generate, nu intereseaz
deocamdat cum), de ex. in minute:
Client (unit) Timp de sosire
1
0.00
2
1.73
3
3.08
4
3.79
5
4.41
6
18.69
7
19.39
8
34.91
9
38.06
10
39.82
11
40.82
.
.
.
.

Condiie de oprire: t>20

Timp intre sosiri


1.73
1.35
0.71
0.62
14.28
0.70
15.52
3.15
1.76
1.00
.
.
.

Timp de servire
2.90
1.76
3.39
4.52
4.46
4.36
2.07
3.36
2.37
5.38
.
.
.

Obiective & Masuri de performanta


Capacitatea de procesare totala pe durata
simulrii (P)
Timpul de ateptare mediu al unitilor in coada
N

WQi

i =1

N = nr. unitilor ce ateapt in coada


WQi = timpul de ateptare in coada al unitii i
tim ca: WQ1 = 0 (?)
N > 1 (de ce?)

N
Timpul de ateptare maxim al unitilor in coada
max WQi
i =1,...,N

Msuri de performan (2)


Media (in timp) a numrului de uniti in coada
20
0 Q (t ) dt

Q(t) = numrul de uniti in coada


la momentul t
20
Numarul maxim de uniti in coada

max Q (t )

0t 20

Timpul mediu si maxim total in sistem al clienilor


(sau timpul de ciclare)
P
TSi

i =1

max TSi

i =1,...,P

TSi = timp in sistem al clientului i

Msuri de performan (3)


Gradul de utilizare a serverului (proporia
de timp in care serverul este ocupat)

20

B(t ) dt
20

1 daca serveruleste ocupat la mom.t


, B(t ) =
0 daca serveruleste liber la mom.t

Validarea consistentei datelor de intrare


Timpul mediu intre sosiri = 4.08 min.
Timpul mediu de servire = 3.46 min.
Deci unitile sunt procesate mai repede dect
sosesc (in medie), ceea ce nseamn ca:
n
n

Sistemul va opera in regim stabil dup un timp


Daca toi timpii intre sosiri si cei de servire ar fi exact
pe medie, unitile nu ar intra in coada
Dar in general datele aleatoare au o anumita
variabilitate - coada se va forma
Daca timpul mediu intre sosiri < timpul mediu de
servire, coada va creste exploziv

Modelarea analitica
Este aici posibila si utila, ca prima aproximaie,
folosind un model M/M/1
Necesita insa presupuneri suplimentare:
n
n
n
n
n

Timpii intre sosiri ~ distribuii exponenial


Timpii de servire ~ exponenial, independent
Trebuie ca E(servire) < E(inter-sosiri)
Analiza se face doar in starea stabila
Se pot obine rezultate exacte; de ex., timpul mediu
de ateptare in coada:
S2
,
A S

A = E(interarrival time)
S = E(service time)

Statistici cumulative si contori


Numrul curent de uniti servite
Totalul timpilor de ateptare in coada
Numrul curent de uniti ce au stat in coada
Timpul maxim de ateptare in coada (curent)
Totalul timpilor in sistem
Timpul maxim in sistem (curent)
Aria de sub curba Q(t) (ce da media lungimii cozii)
Maximul curent pentru Q(t)
Aria de sub curba B(t) (ce da gradul de ocupare a
serverului)

Dinamica simulrii in abordarea


prin planificarea de evenimente
Se
Se
Se
Se
n
n
n

identifica evenimentele caracteristice


iniializeaz si se menine un ceas de timp global
creeaz si se menine LEV
decide logica fiecrui tip de eveniment pentru
Tranziiile de stare
Actualizarea statisticilor
Actualizarea LEV

Se proceseaz logic evenimentele pe rnd, in ordinea


stricta a LEV (numita si calendar de evenimente)
Trebuie specificata si o regula de oprire (timp maxim
de simulare, numr maxim de uniti procesate)

Tratarea evenimentelor (1)


La sosirea unei noi uniti in sistem
Actualizeaz variabilele statistice (acumulatori persisteni)
n
n
n

Valoarea ariei de subQ(t)


Max {Q(t)}
Valoarea ariei de sub B(t)

Se aplica unitii sosite stampila de timp curenta (se va


utiliza ulterior)
Daca serverul este liber:
n

Start procesare (planifica plecarea), pune serverul pe ocupat,


pune timpul de ateptare in coada pe 0

Altfel, daca serverul este ocupat:


n

Pune unitatea la coada, incrementeaz lungimea cozii

Planifica urmtorul eveniment de sosire

Tratarea evenimentelor (2)


La plecarea unei uniti din sistem, dup servire
Incrementeaz acumulatorul corespunztor
Calculeaz timpul in sistem al unitii (momentul curent
momentul sosirii)
Actualizeaz variabilele statistice (ca la sosire)
Daca coada este nevid:
n

Scoate prima unitate din coada, calculeaz timpul sau de


ateptare in coada, ncepe servirea (planifica evenimentul de
plecare)

Altfel (daca coada este vida):


n

Trece serverul in starea liber (nu se mai planifica vreun


eveniment de plecare in LEV)

Tratarea evenimentelor (3)


La sfritul simulrii:
Se actualizeaz statisticile
Se calculeaz masurile de performanta folosind valorile
curente, care sunt si finale, ale acumulatorilor
Observaii:
La nceputul simulrii, trebuie fcute iniializri (de ex. in
LEV se pune primul eveniment de sosire si evenimentul
de sfrit)
Dup tratarea fiecrui eveniment, se continua cu primul
eveniment din LEV (eveniment iminent)

Simularea pas cu pas: set-up


System

Clock

Number of
completed waiting
times in queue

Total of
waiting times in queue

B(t)

Q(t)

Arrival times of
custs. in queue

Area under
Q(t)

Event calendar

Area under
B(t)

4
3

Q(t) graph

2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

Iniializri la t = 0.00
System

Number of
completed waiting
times in queue
0

Clock

B(t)

Q(t)

0.00

Arrival times of
Event calendar
custs. in queue
[1, 0.00,
Arr]
<empty> [, 20.00,
End]

Total of
waiting times in queue

Area under
Q(t)

Area under
B(t)

0.00

0.00

0.00

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 0.00, sosirea unitii 1


System

1
Number of
completed waiting
times in queue
1

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[2, 1.73,
Arr]
<empty> [1, 2.90,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)

0.00

0.00

0.00

0.00

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 1.73, sosirea unitii 2


System

Number of
completed waiting
times in queue
1

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[1, 2.90,
Dep]
(1.73) [3, 3.08,
Arr]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)

1.73

0.00

0.00

1.73

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 2.90, plecarea unitii 1


System

2
Number of
completed waiting
times in queue
2

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[3, 3.08,
Arr]
<empty> [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)

2.90

1.17

1.17

2.90

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 3.08, sosirea unitii 3


System

Number of
completed waiting
times in queue
2

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[4, 3.79,
Arr]
(3.08) [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)

3.08

1.17

1.17

3.08

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 3.79, sosirea unitii 4


System

Number of
completed waiting
times in queue
2

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[5, 4.41,
Arr]
(3.79, 3.08) [2, 4.66,
Dep]
[, 20.00,
End]
Area under
Area under
Q(t)
B(t)

3.79

1.17

1.88

3.79

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 4.41, sosirea unitii 5


System

Number of
completed waiting
times in queue
2

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[2, 4.66,
Dep]
(4.41, 3.79, 3.08) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
B(t)
Q(t)

4.41

1.17

3.12

4.41

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 4.66, plecarea unitii 2


System

Number of
completed waiting
times in queue
3

Clock

B(t)

Q(t)

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[3, 8.05,
Dep]
(4.41, 3.79) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
B(t)
Q(t)

4.66

2.75

3.87

4.66

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 8.05, plecarea unitii 3


System

Number of
completed waiting
times in queue
4

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[4, 12.57,
Dep]
(4.41) [6, 18.69,
Arr]
[, 20.00,
End]
Area under
Area under
B(t)
Q(t)

7.01

10.65

Clock

B(t)

Q(t)

8.05

8.05

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 12.57, plecarea unitii 4


System

5
Number of
completed waiting
times in queue
5

Clock

B(t)

Q(t)

12.57

Arrival times of
custs. in queue

Total of
waiting times in queue

Area under
Q(t)

15.17

15.17

Event calendar
[5, 17.03,
Dep]
() [6, 18.69,
Arr]
[, 20.00,
End]
Area under
B(t)
12.57

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 17.03, plecarea unitii 5


System

Number of
completed waiting
times in queue
5

Clock

B(t)

Q(t)

17.03

Arrival times of
custs. in queue
()

Event calendar
[6, 18.69,
Arr]
[, 20.00,
End]

Total of
waiting times in queue

Area under
Q(t)

Area under
B(t)

15.17

15.17

17.03

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 18.69, sosirea unitii 6


System

6
Number of
completed waiting
times in queue
6

Total of
waiting times in queue

Area under
Q(t)

Event calendar
[7, 19.39,
Arr]
[, 20.00,
End]
[6, 23.05,
Dep]
Area under
B(t)

15.17

15.17

17.03

Clock

B(t)

Q(t)

18.69

Arrival times of
custs. in queue
()

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 19.39, sosirea unitii 7


System

Number of
completed waiting
times in queue
6

Total of
waiting times in queue

Arrival times of
Event calendar
custs. in queue
[, 20.00,
End]
(19.39) [6, 23.05,
Dep]
[8, 34.91,
Arr]
Area under
Area under
B(t)
Q(t)

15.17

15.17

Clock

B(t)

Q(t)

19.39

17.73

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

t = 20.00, sfritul simulrii


System

Number of
completed waiting
times in queue
6

Clock

B(t)

Q(t)

20.00

Arrival times of
Event calendar
custs. in queue
[6, 23.05,
Dep]
(19.39) [8, 34.91,
Arr]

Total of
waiting times in queue

Area under
Q(t)

Area under
B(t)

15.17

15.78

18.34

Q(t) graph

3
2
1
0

B(t) graph

10

15

20

10

15

20

2
1
0

Interarrival times

Time (Minutes)
1.73, 1.35, 0.71, 0.62, 14.28, 0.70, 15.52, 3.15, 1.76, 1.00, ...

Service times

2.90, 1.76, 3.39, 4.52, 4.46, 4.36, 2.07, 3.36, 2.37, 5.38, ...

Operaii la sfritul simulrii


Timpul mediu de ateptare in coada:
Timpul total in coada 15 .17
=
= 2.53 min./unit.
Nr.de unitati
6

Media in timp a numrului de uniti in coada:


Aria de sub curba Q(t ) 15.78
=
= 0.79 unitati
Valoarea finala de ceas
20

Utilizarea serverului:
Aria de sub curba B(t ) 18.34
=
= 0.92
Valoarea finala de ceas
20

Replicarea simulrii
Valoarea unei singure simulri (replicri) nu este foarte
semnificativa dpdv statistic
Tabelul urmtor permite compararea a 5 replicri:

Se poate observa variabilitatea mare intre replicri

Modificarea parametrilor
In mod uzual, simularea se aplica in mod repetat
nu doar prin simpla replicare, ci pentru diferite
configuraii ale modelului, cu parametri modificai
In acest fel se face acordarea si optimizarea
modelului (dup anumite criterii)
Exemplu: ce se ntmpla daca se dubleaz rata
sosirilor?
n

Datele de intrare se obin prin njumtirea timpilor


intre sosiri
Se va relua execuia modelului pentru configuraia
modificata
Se vor executa 5 replici ale simulrii

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Verificarea si validarea simularilor.
Analiza iesirilor

Sumar
Corectitudinea estimatorilor. Rolul etapelor de
validare si verificare
Tipuri de estimatori
n
n
n

Estimatori (ne)balansati
Estimatori consistenti
Estimator interval si grad de incredere

Analiza iesirilor. Determinarea intervalelor de


incredere
Clasificarea simularilor
Simulari complete si de stare stabila

O practica uzuala
Se construieste modelul, se executa simularea
Se obtin estimari ale masurilor de performanta
relevante ale sistemului , de ex.
n
n
n
n

Timpul mediu in coada


Timpul mediu in sistem
Rata de iesire a clientilor
% clientilor ce asteapta in coada (eventual raportand
timpul de asteptare la o valoare prag), etc.

Se utilizeaza aceste estimari pentru a se lua


unele decizii, sau a se trage anumite concluzii
privind sistemul

... Dar deficitara!


Exista 2 probleme majore in aceasta abordare;
pentru ca estimarile sunt si ele v.a., nu stim:
n

Cata incredere putem avea in ele si care este


eroarea maxima de obtinere a lor (pentru a o
compara eventual cu eroarea admisibila)?
Principiu (foarte important in statistica!):
O estimare nu are valoare decat insotita de o
indicatie asupra acuratetei estimarii

Cat de mare este influenta asupra estimarilor a


comportarii initiale (tranzitorii) a sistemului, si
cat de corecta este includerea acesteia?

Validare si verificare
O simulare este valida daca modelul de simulare
reprezinta cu acuratete sistemul real
n

Validarea raspunde la intrebarea A fost construit


modelul adecvat?

O simulare este verificata daca programul de


simulare reprezinta translatia corecta a modelului
(modelul programat)
n

Verificarea raspunde la intrebarea A fost construit in


mod adecvat (corect) modelul?

Doar un model valid si verificat poate permite


analiza diverselor scenarii de functionare (whatif analysis)

Iesiri deterministe si stochastice


Simularea este un instrument puternic, orientat
dinamic, ce permite obtinerea unui set larg de
rezultate (date de iesire)
Pentru un model determinist, exista un set unic
de date de iesire pentru fiecare set dat de date
de intrare
Pentru un model stochastic (si) datele de iesire
sunt aleatoare, ele fiind deci doar estimari ale
parametrilor reali ai sistemului
n De aceea o singura executie a unui model
stochastic nu este niciodata suficienta

Acuratetea estimarii
Poate fi data sub forma:
n
n

unui prag (interval, probabilitate) de incredere


erorii standard a estimarii (la randul ei o estimare
a deviatiei standard a estimarii)

Estimarea erorii nu se poate face pe baza unei


singure simulari (nu avem posibilitatea de a
compara mai multe valori)
Este necesara repetarea simularii si replicarea
estimatorului

Estimatori si inferenta statistica


Inferenta statistica este o metoda de analiza a unui
sistem caracterizata prin utilizarea datelor experimentale
ca baza a diferitelor concluzii
Un estimator punctual al unui parametru sistem este
un numar calculat pe baza datelor experimentale, notat
Uneori termenul de estimator desemneaza statistica
folosita pentru a calcula un rezultat
De exemplu:

= x = 31 . 75

arata atat ca estimatorul punctual al mediei unei


populatii are valoarea 31.75, cat si ca acest estimator a
fost calculat folosind media esantionului ca estimator

Estimatori si statistici
Dualitatea terminologica se justifica prin aceea
ca un estimator punctual este de obicei obtinut
prin selectarea unei statistici adecvate si calculul
unei valori pentru un set de date experimentale
De exemplu,
statistica naturala pentru estimarea mediei
unei populatii, , este media esantionului de
date, x
statistica naturala pentru estimarea variantei
2 este varianta esantionului de date, s2

Exemplu
O metoda des folosita de biologi pentru estimarea unei
populatii este un experiment de captura/recaptura; daca
se doreste de ex. estimarea numarului de pesti dintr-un
lac parametrul de estimat este marimea populatiei, N:
n

Se captureaza mai intai un numar mic de pesti, de exemplu 100,


care se marcheaza si se elibereaza in lac
Dupa un timp suficient pentru a permite pestilor marcati sa se
amestece cu ceilalti, se re-captureaza un numar mai mare de
pesti, de exemplu 500
Daca intre acestia se gasesc de ex. 20 marcati (adica 4%) este
rezonabila estimarea ca 4% din totalul pestilor sunt marcati!?
Aceasta sugereaza ca putem folosi 100:(4/100) = 2500 ca
estimator punctual pentru marimea populatiei de pesti, N

Prin repetarea re-capturarii precizia metodei creste !


Repetarea permite si estimarea erorii estimatorului

Tipuri de estimatori

Estimatori (ne)balansati
Un estimator al unui parametru s.n. nebalansat
daca: =
Altfel, s.n. balansat, iar cantitatea s.n.
balansul lui (bias)
Cele mai importante statistici (media, abaterea
patratica medie s2) sunt estimatori nebalansati
O exceptie importanta este deviatia standard a
esantionului, s - estimator usor balansat al
deviatiei standard
n
n

Balansul este neglijabil pentru esantioane largi


Pentru esantioane mici, poate fi aplicat un factor de
corectie

Estimatori consistenti
Daca, prin cresterea marimii esantionului (n),
n

un estimator poate fi facut oricat de apropiat de un


parametru
sau, echivalent, probabilitatea ca el sa fie oricat de
apropiat de parametru poate fi oricat de apropiata de 1

s.n. estimator consistent al parametrului

Metoda cea mai simpla prin care se poate arata


ca un estimator este consistent este aceea de a
arata ca eroarea standard descreste pe masura
ce marimea esantionului creste

Eroarea standard (a mediei)


E un estimator al deviatiei standard a distributiei
de esantionare asociate cu metoda de estimare
(de obicei, distributia normala)
, unde: este deviatia standard a esantionului
x =
n este marimea esantionului
n
Formula se deduce usor:
n

Fie v.a. X1, X2, ..., Xn - n observatii independente dintr-o


populatie cu media si deviatia standard

Atunci variana sumei T = (X1 + X2 + ... + Xn) este n2

Variana mediei esantionului, T/n, este (1/n2). n2, de


unde se deduce deviatia standard a lui T/n (radicalul)

Estimator interval si grad de


incredere
Un estimator punctual, doar el, nu furnizeaza informatii
despre precizia si gradul de incredere intr-o estimare
Alternativa la raportarea unei singure valori (cea mai
plauzibila) este de a calcula si furniza un interval in care
se poate gasi parametrul estimat, cu un grad de
incredere foarte mare, acesta se numeste
n Estimator interval, sau
n Interval de incredere
Doar daca gradul de incredere (notat de obicei prin p
sau ) este mare (apropiat de 1, sau 100%) si intervalul
rezultat este (destul de) ingust, in jurul mediei, precizia
estimarii valorii parametrului este rezonabila

Determinarea intervalului de
incredere (1)
Metoda, ilustrata pentru o populatie sau un
proces cu media , se bazeaza pe o proprietate
importanta a distributiei esantionate x
Cand n este mare, distributia lui x este aprox.
normala (Teorema de limita centrala) si se poate
standardiza prin
x
x
sau z =
z =
s n
/ n
tinand cont de faptul ca deviatia standard a
populatiei sau procesului () nu este cunoscuta
si trebuie inlocuita prin cea a esantionului (s)

Determinarea intervalului de
incredere (2)
V.a. z are aproximativ o distributie normala standard
Cele mai folosite valori pentru pragul de incredere p (sau
) sunt 90%, 95%, si 99%, si ele conduc la obtinerea
valorilor critice pentru z de1.645, 1.96, si respectiv 2.575

1.96

From Wikipedia, the free encyclopedia


1.96 este valoarea aprox. a valorii percentile de 97.5%
pentru distributia normale avand interpretarea: 95% din
aria de sub curba normala se afla sub cca 1.96 deviatii
standard ale mediei
Pe baza teoremei de limita
centrala, acest numar poate fi
folosit in constructia pragurilor
(intervalelor) de incredere de
95%
Ubicuitatea acestui parametru se datoreaza unei
conventii arbitrare dar comune de utilizare a intervalelor
de 95% in dauna celor de 90% sau 99%

Comportare tranzitorie vs.


permanenta
In simularea unui sistem putem fi interesati:
n

In estimarea parametrilor de performanta doar in


regim permanent
w In acest caz nu este corecta includerea comportarii

tranzitorii a sistemului; includerea ei produce


balansarea estimatorilor si trebuie aplicate corectii
n

In estimarea parametrilor de performanta


incluzand si regimul tranzitoriu al sistemului
w In acest caz se considera influenta comportarii

tranzitorii a sistemului asupra estimatorilor

Simulare completa si de stare


stabila
Distinctia intre cele 2 cazuri este caracterizata ca
simulare completa, respectiv pentru stare stabila
(Terminating vs. Steady State Simulations)
Exista multe sisteme ce ar putea fi simulate atat
complet, sau doar pentru starea stabila
Decizia de a face simularea complet, sau doar
pentru starea stabila, se ia pe baza:
n tipului de sistem modelat
n tipului de parametri ce sunt urmariti si ale
caror valori se vor obtine prin simulare

Clasificarea simularilor
(dupa analiza iesirilor)

Simulari ce includ regimul


tranzitoriu (complete)
Nu se doreste eliminarea regimurilor tranzitorii,
deoarece sistemul nu ar fi opera corect fara ele
Exemplu:
n

Simularea activitatii unei banci, pentru a


determina numarul de personal
w Banca deschide la 9, initial nu sunt clienti
w Opereaza normal pana la ora 16
w La ora 16 se inchid usile, nu se mai admit clienti in

banca; cei aflati inauntru isi termina operatiunile si


parasesc banca

Simulare completa
O simulare ce include regimul tranzitoriu, pentru
care masurile dorite de performanta se definesc
relativ la intervalul complet [0, TF], unde TF este
momentul la care apare evenimentul final EF
n TF este de obicei variabila aleatoare
n TF este predeterminat la inceputul simularii
n Sau se specifica evenimentul final EF
Trebuie de asemenea definite conditiile initiale la
momentul 0

Simulare de stare stabila


O simulare ce nu include regimul tranzitoriu si
pentru care masurile dorite de performanta (de
obicei formule derivate din variabilele de stare)
se definesc ca limite pe masura ce lungimea
simularii creste la infinit
n
n

Starea sistem este independenta de conditiile initiale


Exista o perioada de Warm-Up initiala (posibil si o
perioada finala similara) - un interval de timp in care
simularea progreseaza fara a se colecta date statistice

ATENTIE: Exista sisteme care nu ajung in starea


stabila!

Analiza simularilor complete


Se foloseste metoda replicarilor independente
n Simularea se executa de un anumit numar de
ori, de fiecare data bazata pe:
w un sir diferit de numere aleatoare (scos de acelasi

generator, samanta diferita)


w conditii initiale diferite, independent alese

Fiecare executie s.n. replicare


In mod tipic, caracteristicile si comportamentul
de iesire al modelului difera mai mult in faza
initiala decat in finalul simularilor replicate
n

Colectarea statisticilor intermediare


Daca avem n replici ale simularilor, m observatii
intermediare pentru fiecare simulare, fie:
xij = cea de j-a observatie din replica i
yi = un parametru de performanta calculat in replica i

Atunci, pentru i=1,2,...n si j=1,2,...,m:

Determinarea intervalelor de
incredere
Aceste valori constituie estimatori nebalansati:
n

(si in plus independenti) ai mediei (valorii asteptate) si


dispersiei (abaterii patratice) la m momente diferite
ai mediei si dispersiei ca masuri globale de performanta

Desi nu putem concluziona ca seturile {xij} si valorile


yi sunt independente, putem determina intervale de
incredere aproximative pentru E(xij) si E(yi) folosind:

Exemplu
Se considera un sistem M/M/1
Se doreste ca prin simulare sa fie estimati
urmatorii parametri:
n
n

Rata de utilizare a serverului,


Timpul mediu petrecut de un client in sistem,

Se executa patru simulari distincte (cu 4 fluxuri


diferite de numere aleatoare) pentru a genera:
n
n

Timpii intre sosiri


Timpii de servire

Rezultatele simularilor pentru aceeasi durata de


timp sunt date de tabelul urmator:

Rezultate si prelucrari
Nr.executie (n) Utilizarea server
(n)
1
0,808

Timp mediu in
sistem (n)
3,74

0,875

4,53

0,708

3,84

0,842

3,98

Sa se estimeze utilizarea serverului cu un interval de


incredere dat (de ex., 95%)
Sa se testeze daca utilizarea serverului verifica un prag
standard dat (de exemplu, daca 0.9)

Concluzii (1)
Simularile nu pot lua decizii: ele doar furnizeaza informatii
si date ce pot ajuta pe cei ce iau decizii
Doar dupa validarea siverificarea ei, o simulare poate
constitui baza luarii unor decizii corecte
n

Validarea ne asigura ca modelul de simulare reprezinta cu


acuratete sistemul real
Verificarea ne asigura ca programul de simulare (modelul
programat) reprezinta translatia corecta a modelului de simulare

Simularea nu poate fi mai buna decat datele pe baza


carora a fost construita
Simularile nu produc date sau valori reale ale parametrilor
sistem, ci doar estimatori ai lor
Estimatorii sunt variabile aleatoare

Concluzii (2)
Pentru a putea lua decizii valide trebuie sa stim si:
n
n

care este acuratetea estimatorilor


care sunt tipurile de estimatori ce pot fi folositi

Cele mai importante statistici (media, abaterea patratica


medie s2) sunt estimatori nebalansati
Asigurarea preciziei reprezentarii datelor se face prin
metode statistice: erori standard, intervale de incredere,
replicari independente ale simularii
n

Determinarea intervalelor de incredere se bazeaza pe apropierea


distributiei esantionate a mediilor de distributia normala (n mare)
Estimarea acuratetei unei simulari necesita date obtinute din
cateva repetari (replici) ale simularii

Concluzii (3)
In simularea unui sistem putem fi interesati:
n

In estimarea parametrilor de performanta doar in regim


permanent; in acest caz nu este corecta includerea comportarii
tranzitorii a sistemului, ce ar produce balansarea estimatorilor
In estimarea parametrilor de performanta incluzand si regimul
tranzitoriu al sistemului, caz in care se considera influenta
comportarii tranzitorii a sistemului asupra estimatorilor

Decizia de a face simularea doar pentru starea stabila


sau completa se ia pe baza:
n
n

tipului de sistem modelat


tipului de parametri ce sunt urmariti si ale caror valori se vor
obtine prin simulare

Modelarea sistemelor de calcul


Curs, anul III Calculatoare
Accelerarea execu iei simulrilor.
Simularea paralel (distribuit)

Sumar
Caracteristici i dificulti
Nivele de paralelism/ distribuie n simulare
Simularea paralel prin interaciunea proceselor.
Partajarea domeniului spaiu-timp ntre PL
Problema timpului simulrii
Abordri conservative i optimiste
Concluzii

Problema
Pentru a fi semnificativ statistic, o simulare de
SDED trebuie s fie lung sau repetat
Simulrile secveniale, uneori repetate, dureaz
aproape ntotdeauna prea mult
Problema reducerii timpului de execuie, se poate
soluiona pe dou ci:
n

prin paralelizare sau distribuia sarcinilor de


prelucrare, viznd execuia simultan a unora dintre
ele i pe ansamblu scderea timpului de simulare;
prin utilizarea metodelor statistice pentru reducerea
duratei sau numrului de simulri necesare.

Argumente pt. paralelizarea


(distribuia) prelucrrilor
Multe sisteme constau din subsisteme "opernd"
n paralel paralelismul inerent unui sistem
poate fi exploatat prin simularea sa paralel
Execuii independente ale simulrii sunt necesare
dpdv statistic i acest lucru poate fi fcut n mod
eficient n paralel
Unele sarcini ale simulrii, precum colectarea
statisticilor cumulative, sunt independente i pot
avea loc n paralel n raport cu celelalte sarcini,
etc.

Dificulti
Simularea paralel este o aplicaie cu paralelism
neregulat, cu grad mare de dependen ntre date, grad
redus de similitudine a operaiilor i asincronism
n

spre deosebire de alte aplicaii uor paralelizabile ce se


caracterizeaz prin regularitate (problemele numerice
ce implic structuri de date mari de tip matricial)

n simularea paralel (distribuit), dei se pot pune n


eviden relativ uor componente distincte ale modelului
de simulare, exist interaciuni i deci interdependene.
n

spre deosebire de prelucrarea n ordine strict a


evenimentelor n relaie cauzal din simularea
secvenial - o aplicaie cu o baz formal solid!

Exemplu
Exist (i) n simularea secvenial a SDED situaii n care
LEV conine n primele sale poziii mai multe evenimente
avnd asociate momente de timp identice
Trebuie fcut ns distincia ntre:
a) evenimente ce au (potenial) acelai timp de apariie
dar se exclud reciproc din punct de vedere logic (apariia
unuia dintre ele anuleaz apariia celorlalte) i deci nu
pot fi practic simultane evenimente mutual exclusive
b) evenimente ce au acelai timp de apariie, dar apariia
unuia dintre ele poate modifica (decala, ntrzia) apariia
celorlalte - evenimente intercondiionate
c) evenimente ce au acelai timp de apariie dar execuii
independente una de alta - evenimente concurente

Nivele de paralelism/ distribuie


n cadrul unei simulri (1)
La nivelul aplicaiei:
Copii (replici) independente ale aceluiai model, cu parametri de
intrare diferii, se execut pe diferite procesoare; nu este necesar
nici un fel de coordonare sau sincronizare ntre procesoare n timpul
simulrii, ceee ce permite un nalt nivel de eficien
Totodat codul secvenial al programului de simulare poate fi
reutilizat, evitndu-se astfel o paralelizare costisitoare a programului
Nu exist limitri importante n scalabilitatea rezolvrii unei
asemenea probleme compuse din mai multe experimente de
simulare (mrirea numrului de procesoare)
Totui, este posibil ca uneori o singur execuie a unei simulri
lungi, echivalent cu mai multe execuii scurte, s fie preferabil din
motive legate de incapacitatea sistemului simulat de a-i atinge
rapid starea de echilibru

Nivele de paralelism/ distribuie


n cadrul unei simulri (2)
La nivelul componentelor (srutinelor) programului:
Pot fi programate pentru execuia paralel o serie de
sarcini independente n cadrul unei simulri, precum
generarea numerelor aleatoare, tratarea evenimentelor,
colectarea statisticilor cumulative, manipularea i/e i a
fiierelor, generarea de rapoarte grafice etc.
Datorit numrului relativ mic de sarcini independente n
cadrul unei simulri, scalabilitatea i deci accelerarea
sunt limitate n acest caz
S-au raportat rezultate bune n privina eficienei
simulrilor (45-60%) atunci cnd numrul de procesoare
rmne mic (3-5), aceasta scznd ns rapid cu
creterea numrului de procesoare.

Nivele de paralelism/ distribuie


n cadrul unei simulri (3)
La nivelul componentelor sistemului fizic modelat:
n modelul de simulare pot fi evideniate sub-modele
Pentru sistemele fizice cu topologie fix, ca de exemplu
reelele de cozi, modalitatea natural de decompoziie
const n asignarea unui proces pentru fiecare server
(mpreun cu coada aferent), modelnd deplasarea
clienilor n reea prin mesaje ntre procese
n simularea unui sistem cu topologie dinamic, ca de
ex. un joc de biliard sau un scenariu militar, procesele
pot reprezenta componentele ce interacioneaz, iar
mesajele ntre procese chiar aceste interaciuni

Nivele de paralelism/ distribuie


n cadrul unei simulri (3)
La nivelul componentelor sistemului fizic (cont.):
Pot fi programate pentru execuia paralel o serie de
sarcini independente n cadrul unei simulri, precum
generarea numerelor aleatoare, tratarea evenimentelor,
colectarea statisticilor cumulative, manipularea i/e i a
fiierelor, generarea de rapoarte grafice etc.
Datorit numrului relativ mic de sarcini independente n
cadrul unei simulri, scalabilitatea i deci accelerarea
sunt limitate n acest caz
S-au raportat rezultate bune n privina eficienei
simulrilor (45-60%) atunci cnd numrul de procesoare
rmne mic (3-5), aceasta scznd ns rapid cu
creterea numrului de procesoare.

Nivele de paralelism/ distribuie


n cadrul unei simulri (4)
La nivelul evenimentelor n cazul meninerii LEV centralizate:
Gestionarea LEV este asigurat de ctre un procesor
master, accelerarea poate fi atins prin distribuirea
evenimentelor simultane ctre o mulime de procesoare
slave n vederea execuiei concurente
Sarcina pstrrii consistenei n structura evenimentelor
revine procesorului master ce trebuie s previn execuia
distribuit a evenimentelor simultane (mutual exclusive
sau intercondiionate) cu potenial efect de violare a
cauzalitii n LEV
Aceast posibilitate este adecvat pentru execuia pe o
main multiprocesor cu memorie partajat unde LEV
poate fi implementat printr-o structur de date comun

Nivele de paralelism/ distribuie


n cadrul unei simulri (5)
La nivelul evenimentelor n cazul meninerii descentralizate
a LEV:
se menin mai multe sub-liste cf. unei mpriri pe grupe
de evenimente (pt. asignri regulate a evenimentelor la
procesoare, fiind posibil i o asignare nestructurat)
este de ateptat obinerea unor viteze de simulare mult
mai mari datorit faptului c se permite execuia
concurent a evenimentelor cu timpii asociai diferii
schemele de implementare a paralelismului /distribuiei
la acest nivel necesit protocoale pentru sincronizare
local, ce pot crete costurile de comunicaie, n funcie
de dispersia evenimentelor n spaiu (ntre procesoare) i
timp n cadrul modelului de simulare

Simularea paralel/distribuit prin


interaciunea proceselor
Poate fi privit ca o partajare a domeniului spaiu - timp
ntre procesele logice
Modaliti de simulare paralel: a) spaial; b) temporal
var.
stare

var.
stare

timp

timp

Principii generale (1)


Este necesar mai nti identificarea i implementarea
unui set de procese logice (PL), capabile s trateze n
paralel apariia diferitelor evenimente
Trebuie creat i un sistem de comunicaie (SC), care s
asigure PL posibilitatea de a schimba date locale, dar i
de a-i sincroniza activitile locale
Fiecrui PLi i se aloc o regiune Ri a domeniului spaiu timp, ca sub-model sau parte a modelului de simulare; n
cadrul regiunii Ri, o implementare a PLi opereaz secvenial:
n
n
n

planific i execut evenimente locale


genereaz evenimente locale sau pentru alte PL
avanseaz un ceas de simulare local etc.

Principii generale (2)


Fiecare PLi poate avea acces doar la un subset partiionat
static de variabile de stare Si S, n general disjunct fa
de variabilele de stare asignate altor PL;
n fiecare PLi pot fi procesate dou tipuri de evenimente:
n
n

interne, ce pot afecta cauzal doar Si ;


externe, ce pot afecta cauzal i alte subseturi Sj S (ij);

O interfa de comunicare (IC) ataat unui PL, compus


din canale de intrare/ieire ale unui PL, are rol de urmrire
a efectelor evenimentelor, att externe generate asupra
altora, ct i externe generate de alte PL asupra lui
Mecanismul de baz al IC este trimiterea, primirea i
prelucrarea de mesaje eveniment avnd nglobat un
marcaj desemnnd timpul local de emitere (timestamp).

Partajarea domeniului spaiu-timp


ntre PLi
Spaial: modelul este mprit ntre procesoare, iar
fiecare dintre acestea avanseaz simultan n timp cu
celelalte n simularea unei componente a modelului
stocat local
n

Problema sincronizrii: constrngerea de cauzalitate local


impune ca procesarea evenimentelor de ctre un PL s se fac n
ordinea cresctoare a timpilor asociai fiecrui eveniment n PL

Temporal: intervalul de timp al simulrii e mprit n


subintervale, fiecare dintre procesoare realiznd
simularea ntr-un subinterval a ntregului model

Timpul (virtual al) simulrii


Simularea sincron implementeaz timpul virtual
printr-un ceas de timp global:
n
n

fie reprezentat explicit, central, printr-o structur de date


fie implicit ntr-o procedur ce se execut n pai

Caracteristic este faptul c toate PL, la fiecare moment


de timp real, se conduc dup valori de timp identice
Simularea asincron relaxeaz total restricia de
sincronizare:
n

fiecare PL se conduce dup valori proprii ale ceasului de


timp virtual (local)
deci la un moment dat al timpului real, timpul local virtual
n diferitele PL este diferit

Abordri asincrone (1)


Conservativ : execuia unui eveniment n fiecare PL
are loc d.d. se respect strict regula de cauzalitate local
De ex., un criteriu suficient, nu i necesar, de procesare
a evenimentului iminent ntr-un PL, este ca valoarea
ceasului de simulare asociat PL s fie mai mic dect toi
timpii asociai celorlalte PL
Metodele conservative au caracteristic faptul c evit ab
initio orice eroare datorat nerespectrii cauzalitii
Un eveniment E dintr-un PL este tratat numai dac exist
certitudinea c orice eveniment viitor Ev, generat de PL
respectiv sau primit printr-un canal de intrare de la alt
PL, nu va anula corectitudinea rezultatelor obinute prin
tratarea evenimentului E

Abordri asincrone (2)


Optimist: un PL poate procesa evenimentul iminent
din LEV local, fr a se asigura de respectarea strict a
constrngerii de cauzalitate local
n acelai timp, un istoric al simulrii este pstrat
Dac se constat ulterior nclcarea constrngerii de
cauzalitate local (de exemplu, PL respectiv primete ca
urmare a activitii altor procese un eveniment cu timpul
virtual asociat mai mic dect ceasul local al simulrii), PL
trebuie s poat reveni i reface n mod corect simularea
din punctul n care a aprut problema

Comparaie ntre protocoalele


conservative i optimiste (1)
Cel mai mare dezavantaj al simulrilor conservative este
c nu exploateaz complet paralelismul sistemului:
n

dac exist cea mai mic posibilitate ca un eveniment E1 s


afecteze un alt eveniment E2, simularea conservativ este practic
o execuie cvasisecvenial
o abordare conservativ se dovedete a fi excesiv de defetist,
prin plasarea ntotdeauna n cea mai nefavorabil situaie.

O problem este i ntoarcerea, ctre metodele de


simulare condus de timp, prin avansul ceasurilor de timp
locale n incremeni mici (pt.evitarea interblocajelor)
Pentru a determina dac un mesaj poate fi tratat de o
manier sigur, metodele conservative se bazeaz
profund pe structura sistemului de simulat (dac exist
mai mult de o singur intrare viteza simulrii scade rapid)

Comparaie ntre protocoalele


conservative i optimiste (2)
n cazul aplicrii mecanismului optimist (time warp), ptr.
cazul anumitor sisteme, timpul unei simulri poate fi
consumat mai mult n efectuarea de calcule incorecte i
reveniri (roll-backs) neproductive
Necesitatea salvrii periodice a strii sistemului pentru a
putea face recuperarea unei erori, cere i timp i mai
ales spaiu de memorie, iar aceast informaie de stare
nu este ntotdeauna utilizat
Implementarea sa este mai complicat, algoritmii fiind i
foarte dificil de validat
Chiar o implementare corect poate avea performane
foarte slabe dac programarea nu s-a fcut suficient de
atent innd cont de anumite caracteristici ale sistemului

Criteriu

Metode conservative

Metode optimiste

Principiu
operaional.

Regulile de cauzalitate local sunt


strict respectate;sunt tratate doar
evenimentele sigure.

Este posibil violarea


temporar a regulilor de
cauzalitate local, dar la
detectarea unei erori de
acest fel se revine.

Spaiul
strilor.

Utilizarea tuturor modelelor


conservative este compatibil cu
modele de simulare avnd spaii
de stri arbitrar de mari.

Sunt eficiente atunci cnd,


n model, spaiul strilor i
necesa- rul de spaiu de
memorie per stare sunt
mici.

Consumul de
memorie.

Conservativ, consecin a metodei


aplicate, dar nu optimal [Jef85].

Excesiv, datorit
overhead-ului necesar
pentru salvarea strilor.
Sunt necesare scheme
complexe de administrare
a memoriei pt.a preveni
epuizarea memoriei.

Reprezentare
a timpului
Exploatare
paralelism

Sincronizarea
.

Se execut implicit n TGV; nu


sunt necesare calcule explicite
legate de TGV.
Paralelismul sistemului nu este
bine exploatat; dac apar rar
constrngeri cauzale, protocolul
este prea pesimist.

Se bazeaz pe calculul
explicit i dificil (fr
suport hardware) al TGV.
Paralelismul sistemului
este bine exploatat; dac
constrngerile cauzale
apar rar, protocolul aduce
ctiguri de timp

Mecanismul de sincronizare este


interblocant; consecine:
-prevenirea interblocajelor bazat
pe mesaje nule adaug overhead
de comunicare;
-detectarea/elim.interblocajelor
pp. de obicei un proces central;
-programatorul trebuie s fie
familiarizat cu mecanismele de
sincronizare pentru a obine
performane de vrf.

Mecanismul sincronizrii
este recuperatoriu; deci
-anulrile introduc de
asemenea un overhead de
comunicare;
-programatorul nu trebuie
s fie familiarizat cu
mecanismele de
sincronizare;
-recuperarea n lan
degradeaz puternic
performanele.

Comunicaia
.

n general intens. E necesar


sosirea i procesarea n ordine
cronologic a mesajelor,
stricta separare a canalelor de
intrare.

Nu foarte intens.
Mesajele pot veni n
orice ordine, dar trebuie
executate n ordine
cronologic; se poate
menine o singur coad
de intrare; nu e nevoie
ca mesajele s fie
primite n ordinea n
care au fost trimise.

Configurare

Majoritatea tehnicilor necesit


interconectarea static a
proceselor.

Admit configurarea
dinamic a proceselor.

Lookaheadprospectare

Necesar pentru a face operabil


protocolul, esenial pentru
performan.

Nu este esenial, dar


poate fi utilizat pentru
optimizarea
performanelor.

Balansarea
ncrcrilor.

Bun, ct timp toate canalele


statice sunt utilizate egal; dispersia mare a evenimentelor n
timp i spaiu nu deranjeaz.

Bun, ct timp progresia


TLV este apropiat ntre
PL;dispersia mare a
evenimentelor n timp i
spaiu degradeaz
performana.

Agresivitate.

Redus.

Ridicat.

Risc.

Nu exist.

Potenial ridicat, dar poate


fi redus prin aplicarea
unor tehnici specifice
[Lub89].

Overhead
(sarcin
suplimentar)

Introdus mai ales de mecanismele


de detectare i recuperare a
deadlock-ului.

Introdus mai ales de


mecanismele de salvare a
strii i rollback.

Granularitate

Poate fi mare (fin).

Mrirea ei poate conduce


la mrirea raportului
overhead/calcul

Suport
hardware.

Nu este obligatoriu.

De dorit, nu att pentru


calcule, ct pentru
salvarea strii/ detecia
erorilor (rollback chip).

Implementare
.

Uor de implementat; structuri de


control i de date simple.

Dificil de implementat i
depanat; structuri de date
simple,dar manipulri i
structuri de control
complexe. E esenial
organizarea memoriei. Se
pot face optimizri ce
influeneaz performana.

Preprocesarea
.

Este necesar pentru a evita


creterea overheadului de
comunicaie.

Nu este necesar,
procesele ruleaz relativ
independent, comunic i
se sincronizeaz rar.

Detecia
erorilor i
recuperarea
lor.

Erori puine i detectabile.

Erori frecvente, dificil de


detectat (pot fi terse prin
rollback) fr ajutorul
suportului hardware
pentru ntreruperi i
protecia memoriei.

Depanarea.

Relativ uor de realizat.

Consumatoare de timp i
dificil, pentru c implic
analiza detaliat a unor
scenarii complexe de
rollback.

Robustee.

Schimbri minore ale aplicaiei


pot avea efecte catastrofice
asupra performanei.

Comportarea este stabil;


automat, sistemele TW
tind s ncetineasc
propagarea erorilor, prin
acordarea de prioriti mai
mari calculelor ce implic
evenimente cu timp mai
mic.

Concluzii
Problema paralelizrii simulrilor nu este deloc o
problem trivial
Indiferent ce component a simulatorului considerm,
descompunerea i exec. n paralel trebuie analizat atent
n pe de o parte sub aspectul eliminrii unor probleme
de inconsisten/ greeli de simulare
n pe de alt parte n vederea obinerii unei accelerri
semnificative fa de tratarea secvenial

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