Documente Academic
Documente Profesional
Documente Cultură
Obiectul cursului
Domeniul distinct de studiu/cercetare al modelarii
si simularii (M&S) face parte din zona disciplinelor
ingineresti generale (management ingineresc)
n
Locul cursului
Mathematics
Operations
Research*
Physics
Control
Theory
Software
Engineering
Artificial
Intelligence
Numerical and
Symbolic
Computation
Modeling &
Simulation
Graphics &
Visualization
Computer
Science
Systems
Engineering
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
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
Limbaje de simulare
Construcia unui simulator. Biblioteci de componente
Metode de accelerare a execuiei simulrilor: simularea paralela
(distribuita), tehnici de gradient
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
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
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!
STATICE
DINAMICE
VARIANTE IN
TIMP
INVARIANTE
IN TIMP
LINIARE
NELINIARE
CU STARI
DISCRETE
CU STARI
CONTINUE
CONDUSE DE
TIMP
CONDUSE DE
EVENIMENTE
DETERMINISTE
STOCHASTICE
Obiect de studiu:
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
Metodologii de studiu:
Modelarea analitica
Simularea
DE CE studiem un sistem?
Scopuri
n
n
n
Proiectare
Msurare i control
mbuntire
Modaliti
n
DE CE recurgem la modele?
Este necesar ca orice experiment s aib
o baz,
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
calcul analitic
simulare
Un model:
n
n
Tipuri de modele
Modele fizice (iconice)
n
n
n
Modelarea predictiv
Este o modelare in absenta realitii
Exemple:
a) Construcia unei caroserii care trebuie sa
satisfac anumite criterii de greutate,
rezistenta, geometrice, tehnologice
Modelarea restrictiv
Este modelarea in condiiile restriciilor
de acces la un sistem real existent
Exemple:
a)
b)
c)
Simularea pe calculator
In sens larg, se refera la metode de studiu ce pp.
n
n
Acurateea simulrilor
Prin simulare nu se obin rspunsuri exacte, doar
aproximaii, estimri; totui:
n
n
n
Justificare
Acul poate ateriza in poziii diferite (fig.1)
Orice poziie intre 2 linii se caracterizeaz prin:
n
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:
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
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
Distribuia de probabilitate
Def.: Distribuia de probabilitate Pr{} este o funcie
definita pe evenimentele din S cu valori in R
Proprieti:
1.
2.
Pr{S} = 1
3.
Exemplul 1
Aruncarea a doua monede:
n
Exemplul 2
Aruncarea a doua zaruri:
n
n
n
n
n
Definiii formalizate
Sunt necesare operaii ca:
n
reuniunea evenimentelor,
intersecia evenimentelor,
complementaritatea evenimentelor,
incompatibilitatea evenimentelor
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,
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)+...
|S| = n
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
P ( x1 X x 2 )= f ( x )dx , f ( x ) 0 pt .x
x2
x1
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
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
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
Succes/Esec (1/0)
P ( X = 1) = p
0.7
0.6
0.5
P (X = x)
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
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 ) =
Alte proprieti:
n
Distribuia exponeniala
Modeleaz:
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
E[ X ] = e
0.4
0.3
f(x)
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
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
Colectarea datelor
In general grea, costisitoare, frustranta in plus:
n
n
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
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
Metoda histogramelor
Modalitate simpla de a vedea daca un esantion
de date este adecvat unei distributii; etape:
n
n
n
Se
Se
Se
Se
Oi
Ei = npi
pdf
frecvente
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
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
...
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
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.....
n
n
xi
x i +1 =
m
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
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.
n
n
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
P(x,y)
r 2
P(x,y)
y
r
4 = a
10000
r*r
12
4 = a
1 *1
10000
a
=
2500
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
2.
p ( xi ) 0, pentru orice i
n
2.
i =1
p( xi ) = 1
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.
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.
(sample variance)
n1 i=1
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
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
Ex.
1
2
2 2
F x; ; =
e
dx
2
unde:
R, > 0, xR
1
f (x ) =
e
2
(
x )2
2 2
x = si x =
n
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)
Exponentiala
Uniforma ( U[0,1])
Geometrica
Transformarea inversa
X=2 U
1
X = F (U ) =
0.3 U < 0.6
3
4
0.6 U
Atunci:
Aplicatii
Bernoulli
Binomiala
Aplicatii
Binomiala
negativa
Geometrica
Aplicatii
Poisson
Exponentiala
Erlang
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
Aplicatii
Normala
Log-normala
Uniforma
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
Complexitatea
Imprim dificultatea descrierii unui SDED
Complexitatea crescut a sistemului rezult din:
n
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
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
Ex.
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
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
Statecharts
Limbaj grafic ce permite ierarhia, concurena i comunicaia
ntre strile concurente; utilizeaz tranziii nestructurate
Terminologie
n
n
n
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
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
p2
t2
p1
p3 t3
p4
p3 t3
p4
t6
t1
p8
p5
p7
p5
t4
p6
t5
concuren
A
conflict/alegere
sincronizare
A
comunicare
A
resurse/multiplicitate date/individualitate
(a) secveniere;
(b) ramificaie;
(c) sincronizare;
(d) conflict la resurse;
(e) concuren
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
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
u,d,o, t = 1,0,0,0
GoingUp
!(req > floor)
timer < 10
u,d,o,t = 0,0,1,0
Idle
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,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
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
ControlerAscensor
UnitControl
RezCereri
ModNormal
...
!fire
fire
ModIncendiu
Exemplu ASF/ RP
Automat de distribuie (vnzare):
n
n
n
Modelarea:
n
n
Modelul ASF
vnzare baton 15b
10
15
5
5
5
5
10
10
10
20
5
5
10
10
Exemple:
n
n
n
n
Exemple:
n
n
n
Exemple:
Lanurile Markov
Sistemele cu cozi de ateptare si reelele de cozi
Modelele de simulare - avnd la baza procesele semiMarkov generalizate (GSMP)
n
n
n
n
Modele eterogene
n
Alte clasificri
Modele analitice (teoretice)
n
Modele de simulare
n
n
Pro:
Dinamica originala a SDED este de acest tip!
Contra:
Dificulti computaionale (exist soluii!)
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
Complexitatea modelului
w aceasta implic i complexitatea controlului
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
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
Limbaje regulate
Definiie. Un limbaj ce admite doar expresii
regulate se numete limbaj regulat
n
Exemplu
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
Echivalena strilor
Bazate pe o descriere la nivel logic a unui SDED, se pot
gsi mai multe modele ASF
n
n
SDED
Sistem de
observare a
evenimentelor
SUPERVIZOR
Feedback Controler
(compensator dinamic de stare)
Stare
(estimat
sau exact)
Copie SDED
Evenim.
observate
Supervizorul
Formal, supervizorul poate fi introdus ca tuplu S=(S,):
n
n
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)
Bufferul Bi
I
si
ei
0
ei
ri
si+1
si+1
di
ei
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
B1
S2
si/vsi
ei
ri/vri
di
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
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
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
Sumar
Caracteristici dinamice ale SED/ modelelor cu RP
n
n
RP ordinare
RP generalizate
Analiza accesibilitii
Determinarea invarianilor
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
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
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
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
Scenariul 2:
n
Scenariul 3:
n
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
RP
AA
ALE
AL
MS
GM
PN
Grafuri marcate
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
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
Exemplul 2
2
p1
t1
p2
2
p1
t1
p2
p1
t1
p2
p2
p1
p4
t2
t1
p3
t3
Exemplul 3: pasul 1
M1 = [1, 1, 1, 1]
p2
p1
p4
t2
t1
p3
t3
Exemplul 3: pasul 2
M2= [1, 1, 0, 2]
p2
p4
t2
p1
t1
p3
t3
Exemplul 3: pasul 3
M2 = [0, 1, 0, 0]
p2
p4
t2
p1
t1
p3
t3
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
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
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
p2
t2
p1
p3 t3
p4
p3 t3
p4
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
Sumar
Exemple de sinteza a modelelor cu RP
n
RP temporizate
RP stochastice
RP de nivel inalt
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
A1
Client.creare
A2
Client.coada
A3
servire
A6
Server.gol
A4
Client.terminare
A5
Client.iesire
A1
Client.creare
inceput
T2
A2
Client.coada
sfarsit
T3
A3
servire
A6
Server.gol
plecare
T4
A4
Client.terminare
A5
Client.iesire
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
A1
Client.creare
inceput
T2
A2
Client.coada
sfarsit
T3
A3
servire
A6
Server.gol
plecare
T4
A4
Client.terminare
A5
Client.iesire
Sosire
19,25
A1
T1
A2
Inceput
Plecare
T2
A3
T3
A4
T4
0
A6
A5
Server :
gol
Coada :
Sosire
19,25
Server :
gol
26,50
Coada :
A1
T1
A2
Inceput
Plecare
T2
A3
T3
A4
T4
0
A6
A5
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:
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:
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:
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:
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
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
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
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
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
concuren
A
conflict/alegere
sincronizare
A
comunicare
A
resurse/multiplicitate date/individualitate
(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
Trenuri (varianta 2)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n
Trenuri (varianta 3)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n
Trenuri (varianta 4)
Consideram un sistem feroviar circular cu 4 linii
(unidirecionale), numerotate (1,2,3,4) si doua
trenuri (A,B)
n
n
RP generalizate
RP cu arce multiple (sau capacitate a arcelor > 2)
n
wait
enter
before
make_picture
after
leave
gone
4
3
1
1
picioare
bare de susinere sptar
cadru sptar
suport edere
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
RP temporizate
RP stochastice
Asemntoare RP temporizate, diferena e in intarzierile
introduse, care sunt nedeterministe
n
RP de nivel inalt
Includem in aceasta categorie:
n
n
n
RP cu predicate/tranziii
RP colorate
RP cu simboluri individualizate
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
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)
Contributia
lui t la p
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
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
n
n
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
n
n
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 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
n
n
n
(i) = 1
i
- ecuatia de normalizare
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
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
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)
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
Formalismul GSMP
Un lan Markov poate fi nglobat i unui proces
stochastic ce nu este proces Markov
n
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
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
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
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
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
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
( t ) e- t
,
P n (t) =
n!
n
( t )n e - t
,
P n (t) =
n!
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)
N = T
Demonstraie (grafica)
N(
0
lim
t
N( )d
0
)d = ( T i ) -
s(t)
i=1
N( )d
= lim 0
s(t )
lim
t
s(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
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)
N
N
G+N P
G+P
max{N P,G + P} T G + N P
Discuie
Cnd N creste:
n
n
Interpretri
Ct timp N<1+G/P, N reprezint un factor de
blocaj n sistem, deoarece procesorul rmne
nefolosit o fraciune importanta din timp
Reele nchise
n
n
Reele mixte
n
q i,0 = 1 - q i, j
j=1
Ecuaii de flux
Daca:
n
Atunci:
M
n= N
i
i=1
Modelare i simulare
Model: o reprezentare a unui sistem
n
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
Evenimentele
apariii instantanee care schimb starea sistem
delimiteaz activiti in sistem
pot fi:
n
n
Simulatoare
un simulator este un program de calculator prin
care se modeleaza:
n
n
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
Interaciunea proceselor
Sosirea clienilor
COADA
SERVER
Clieni in
ateptare
Client in
servire
Plecarea clienilor
Evenimente:
n
n
Activiti:
n
n
Creare Nod
Nod in Coada
Terminare Nod
Activitate Servire
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
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 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.
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
Exemplu numeric
Timpi
Timp
Unit ntre
sosire
sosiri
Unit
Timp
servire
11
11
12
15
15
15
19
Server ocupat?
Nu
Da
Plaseaz clientul sosit in coada
Ocupa server
Return
Da
Elibereaza serverul
Return
Programarea modelului
Poate fi fcuta intr-un limbaj procedural (C)
Proiectul C (anexat) e compus din fiierele sursa:
n
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
Nu
Model programat valid?
Da
Executii pilot
Nu
Executia experimentelor
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
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.
Timp de servire
2.90
1.76
3.39
4.52
4.46
4.36
2.07
3.36
2.37
5.38
.
.
.
WQi
i =1
N
Timpul de ateptare maxim al unitilor in coada
max WQi
i =1,...,N
max Q (t )
0t 20
i =1
max TSi
i =1,...,P
20
B(t ) dt
20
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
A = E(interarrival time)
S = E(service time)
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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, ...
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:
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
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
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
Validare si verificare
O simulare este valida daca modelul de simulare
reprezinta cu acuratete sistemul real
n
Acuratetea estimarii
Poate fi data sub forma:
n
n
= x = 31 . 75
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
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
Estimatori consistenti
Daca, prin cresterea marimii esantionului (n),
n
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
Clasificarea simularilor
(dupa analiza iesirilor)
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
Determinarea intervalelor de
incredere
Aceste valori constituie estimatori nebalansati:
n
Exemplu
Se considera un sistem M/M/1
Se doreste ca prin simulare sa fie estimati
urmatorii parametri:
n
n
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
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
Concluzii (2)
Pentru a putea lua decizii valide trebuie sa stim si:
n
n
Concluzii (3)
In simularea unui sistem putem fi interesati:
n
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
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
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
var.
stare
timp
timp
Criteriu
Metode conservative
Metode optimiste
Principiu
operaional.
Spaiul
strilor.
Consumul de
memorie.
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 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 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
.
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
Admit configurarea
dinamic a proceselor.
Lookaheadprospectare
Balansarea
ncrcrilor.
Agresivitate.
Redus.
Ridicat.
Risc.
Nu exist.
Overhead
(sarcin
suplimentar)
Granularitate
Suport
hardware.
Nu este obligatoriu.
Implementare
.
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
.
Nu este necesar,
procesele ruleaz relativ
independent, comunic i
se sincronizeaz rar.
Detecia
erorilor i
recuperarea
lor.
Depanarea.
Consumatoare de timp i
dificil, pentru c implic
analiza detaliat a unor
scenarii complexe de
rollback.
Robustee.
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