Académique Documents
Professionnel Documents
Culture Documents
1. Obiectivul disciplinei
4. Tematica laboratorului
1
8. Aplica ii ale Metodei Monte Carlo----------------------------------------4ore
9. Simularea unui procese de repara ii---------------------------------------2 ore
10. Simularea unor procese de a teptare--------------------------------------2 ore
11. Simularea unor procese de stocare----------------------------------------2 ore
12. Algoritmi i calcule de fiabilitate-----------------------------------------2 ore
5. Proiecte
1. Verificarea unor ipoteze statistice folosind testul 2 .
2. Verificarea unor ipoteze statistice folosind testul Kolmogorov.
3. Verificarea unor ipoteze statistice folosind alte teste.
4. Generarea unor numere aleatoare folosind metode congruen iale.
5. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda bisec iei.
6. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda secantei.
7. Generarea unor variabile aleatoare prin metoda invers folosind solu ii
numerice: metoda lui Newton-Raphson.
8. Generarea unor variabile aleatoare prin metoda respingerii.
9. Generarea unor variabile aleatoare prin metoda compunerii.
10. Generarea unor variabile aleatoare prin alte metode.
11. Generarea vectorilor aleatori având reparti ie normal .
12. Calculul unor integrale prin Metoda Monte Carlo.
13. Simularea unor cazuri concrete de stocare.
14. Simularea unor cazuri concrete de a teptare.
15. Programarea algoritmului pentru calculul func iei de structur a unui sistem.
6. Bibliografie
1. V duva Ion, Modele de simulare cu calculatorul, Editura Tehnic , Bucure ti, 1977.
2. V duva Ion i al ii, Simularea proceselor economice, Editura Tehnic , Bucure ti,
1983.
3. Ra iu Camelia-Suciu, Modelarea i simularea proceselor economice, Editura
Didactic i Pedagogic , Bucure ti, 1995.
4. Gorunescu F., Prodan A., Modelare stochastic i simulare, Editura Albastr , 2001.
5. Barbu Gh., Modele de simulare cu aplica ii în fiabilitate, Editura Tehnic ,
Bucure ti, 1992.
6. Ziegler P.B., Theory of Modelling and Simulation, John Wiley and Sons, New York.
2
7. Evaluare
3
Tehnici de simulare Cursul nr.1
Modele
Modelarea este o metod de studiu a unor procese i fenomene care se realizeaz prin
substituirea obiectului real al cercet rii. Ca metod de cercetare este destul de veche,
modelele fizice prin similitudine, apoi cele construite prin analogie înlocuind de multe ori
obiectul real supus cercet rii.
Un model presupune, în general, reprezentarea sistemului ca o mul ime de p r i în
interac iune una cu alta.
Modelul poate fi:
un duplicat al sistemului,
o reprezentare simbolic (de exemplu matematic ) a sistemului,
sistemul.
Modelele constituie reprezent ri ale realit ii. Dac ele ar fi tot atât de greu de
manevrat ca realitatea, prin utilizarea lor nu s-ar ob ine nici-un avantaj. De obicei se pot
construi modele mult mai simple decât realitatea, pe baza c rora putem s prevedem i s
explic m cu un înalt grad de acurate e, fenomene complexe. Explica ia const în faptul c ,
de i pentru a descrie un fenomen este necesar un num r mare de variabile, de obicei pu ine
dintre acestea au rol esen ial. Important este s descoperim care sunt acele variabile i
rela iile dintre ele.
Modelarea matematic ocup un loc important în ansamblul metodelor de modelare,
în special prin facilit ile oferite de calculatoarele cu capacitate mare de memorare i vitez
mare de lucru.
4
Modelele matematice au ap rut din necesitatea de a descrie i studia formal
comportarea diferitelor tipuri de sisteme reale, cu scopul lu rii unor decizii privind evolu ia
lor viitoare.
Elaborarea unei structuri matematice împreun cu o list de coresponden e între
simbolurile matematice i obiectele situa iei concrete considerate a condus la ceea ce numim
model matematic.
În procesul de modelare matematic , componentelor sistemului li se asociaz anumite
variabile/parametri, unele cunoscute (controlabile), numite variabile/parametri de intrare,
altele necunoscute(necontrolabile), numite variabile/parametri de ie ire. Leg turile i
interac iunile dintre componentele sistemului sau leg turile sistemului cu exteriorul se
transpun în modelul matematic prin rela ii func ionale(ecua ii i/sau identit i). Scopul
modelului este de a exprima variabilele necontrolabile în func ie de variabilele controlabile,
astfel încât s fie satisf cute criteriile de performan . Uneori nu este posibil s se exprime
sub form de ecua ii toate leg turile, condi ion rile i interdependen ele necesare, motiv
pentru care unele dintre acestea se descriu prin condi ii logice sau proceduri ce pot fi
manipulate numai prin intermediul calculatorului. Modelul matematic completat cu astfel de
proceduri este un model de simulare, care pornind de la valori ale variabilelor controlabile
(generate cu algoritmi speciali), va produce valori ale variabilelor necontrolabile, oferind
variante din care se poate alege cea mai bun . De aici rezult c modelul de simulare
produce experimente asupra sistemului pe care-l simuleaz , ceea ce permite alegerea acelor
valori ale variabilelor i parametrilor de intrare care conduc la performan ele dorite.
Sisteme
5
Oamenii tr iesc în sisteme sociale. Activitatea tehnologic a produs sisteme fizico-
tehnice complexe.
Exemple: Un automobil este un sistem format din componente care ac ioneaz
împreun pentru a asigura transportul.
Familia este un sistem de convie uire i de cre tere a copiilor.
O clasificare a sistemelor poate fi f cut în sisteme deschise i sisteme cu conexiune
invers .
Un sistem deschis este caracterizat de ie iri care corespund intr rilor în sistem, dar
ie irile sunt izolate de intr ri i nu au nici o influen asupra acestora. Într-un sistem deschis,
rezultatele ac iunii trecute nu comand ac iunea viitoare. Sistemul nu observ i nu
reac ioneaz la propria-i performan .
Exemplu: Un automobil este un sistem deschis care singur nu se poate conduce dup
drumul pe care l-a parcurs în trecut i nici nu are o anumit „ int ”, direc ie, spre care s
mearg în viitor. Un ceas este de asemenea un sistem deschis; el nu- i
Intr ri Iesiri
Sistem
Sistemul cu conexiune invers (cu reac ie sau feed-back) care este denumit i sistem
închis este influen at de propria-i comportare trecut . La aceste sisteme ie irile pot regla
intr rile. Un sistem cu conexiune invers func ioneaz ca o bucl închis care folose te
rezultatele ac iunii trecute ale sistemului pentru a comanda ac iunea viitoare.
Exemplu: Un ceas i posesorul lui formeaz un sistem cu conexiune invers ; când ora
indicat de ceas este comparat cu ora exact , care este luat ca obiectiv, iar ceasul este
potrivit
Decizie Ac iune Starea sistemului Informa ia pentru a
elimina
erorile.
Bucla conexiunii inverse este o cale închis care leag în aceea i secven o decizie
ce comand ac iunea, starea sistemului i informa ia despre starea sistemului, în final
întorcându-se la punctul de luare a deciziilor.
6
În general, un model M al unui sistem S este un alt sistem S’ care din anumite puncte
de vedere este echivalent cu S, dar care este mai u or de studiat decât S. Printr-un sistem S
în elegem urm toarea structur de mul imi:
S ={T, X, U, V, Y, , }
unde
- T este timpul de baz utilizat pentru cronometrarea i ordonarea evenimentelor; T este un
num r real dac sistemul este cu timp continuu sau întreg dac sistemul este cu timp
discret;
- X reprezint mul imea intr rilor în sistem;
- U este mul imea segmentelor de intrare în sistem, prin segment de intrare în sistem
asociat func iei u : T → X în elegându-se graficul func iei u pe un interval [t 0 , t1 ] , adic :
u ([t 0 , t1 ]) = {(t , u (t )) | t 0 ≤ t ≤ t1 } ;
- V este mul imea st rilor sistemului; starea este un concept de modelare a structurii interne
a sistemului, ce con ine istoria acestuia i care-i afecteaz prezentul i viitorul i
împreun cu forma intr rilor determin în mod unic ie irile din sistem;
- Y este mul imea ie irilor sistemului;
- este func ia de r spuns a sistemului ϕ : X × V → Y ; dac la o intrare u ([t 0 , t1 ]) sistemul se
afl în starea σ t0 ∈ V atunci ie irea sistemului Y = ϕ(u ([t 0 , t1 ]), σ t0 ) ;
- este func ia de tranzi ie a st rilor ceea ce înseamn c dac intrarea u ([t 0 , t1 ]) g se te
sistemul în starea σ t0 ∈ V atunci îl transform pe acesta în starea σt1 = η(u ([t0 , t1]), σt0 ) .
Cunoa terea intr rilor u ∈ U i a r spunsurilor corespunz toarea acestora y ∈ Y
reprezint comportarea sistemului.
Un model al unui sistem trebuie s îndeplineasc urm toarele trei condi ii:
1. modelul trebuie s reflecte cât se poate de fidel realitatea reprezentat ;
2. modelul trebuie s constituie o simplificare a realit ii reprezentate;
3. modelul este prin esen a sa o idealizare a realit ii reprezentate.
Simulare
7
folosit apoi pentru a produce, prin intermediul calculatorului, succesiunea cronologic de
st ri prin care trece sistemul, considerându-se dat starea sa ini ial .
Deoarece în evolu ia lor sistemele reale sunt influen ate de cauze aleatoare al c ror
efect trebuie pus în eviden în cadrul modelelor de simulare, una din problemele
matematice importate ale simul rii numerice const în generarea cu calculatorul a unor
selec ii statistice asupra diferitelor tipuri de variabile aleatoare i procese stochastice.
O alt problem important legat de construirea modelelor de simulare este aceea a
cronometr rii exacte a evenimentelor st rilor sistemului simulat folosind o variabil numit
ceasul simul rii, care este supus unui num r finit de cre teri pe parcursul simul rii.
De i nu ofer solu ii exacte simularea este o tehnic eficient de cercetare atât pentru
fenomenele fizice care nu pot fi percepute de om cât i pentru acelea percepute, dar
imposibil de studiat analitic. Necesitatea simul rii rezid în faptul c adeseori sistemele reale
nu pot fi studiate în mod direct, fie datorit dificult ilor de evaluare calitativ sau cantitativ
a fenomenelor, fie din cauza complexit ii (num rul mare de variabile de intrare i de ie ire,
num rul mare de st ri posibile, complexitatea func iilor i , etc.).
Studiul variantelor de decizie pe modele, pe lâng avantajele de natur economic ,
scurteaz durata de ob inere a solu iilor, permite analiza unui num r mare de variante prin
modificarea condi iilor ini iale, având avantajul revenirii la varianta de r spuns conform cu
cerin ele utilizatorului.
Folosirea unui sistem real pentru experimentare poate conduce la perturbarea
activit ilor unui domeniu în care este studiat sistemul, anumite variante mai pu in inspirate
putând avea implica i imprevizibile.
În cazul unor sisteme care nu exist înc se poate ob ine un plan de construire a
sistemului în func ie de anumite criterii de optimizare a intr rilor i/sau ie irilor sistemului
reprezentat. De exemplu, dac utiliz m simularea pentru proiectarea unui baraj, dimensiunile
i rezisten a acestuia se pot determina prin experimente cu calculatorul pe un model care
prevede cerin a medie de curent electric i factori aleatori precum volumul precipita iilor în
intervalele de timp stabilite. Experimentele reale nu sunt practice, deoarece barajul odat
construit nu poate fi modificat.
Desigur c simularea presupune i unele dezavantaje. Construirea modelelor de
simulare cere o preg tire special . Se spune c simularea este mai degrab o art decât o
tiin , care se înva în timp i prin experien .
Rezultatele simul rii sunt aproximative i nu exacte, iar uneori sunt greu de
interpretat. Cele mai multe ie iri ale sistemului sunt variabile aleatoare (bazate pe intr ri
aleatoare) i va fi greu de determinat dac se datoreaz interac iunilor sistemului sau
întâmpl rii.
8
Tipuri de modele
9
Modelele deterministe sunt acelea în care toate variabilele sunt nealeatoare, iar
caracteristicile operative sunt ecua ii de o anumit form ; de obicei, solu iile acestor modele
se ob in pe cale analitic .
Modelele stochastice sunt acelea care con in una sau mai multe variabile de intrare
aleatoare i deci una din caracteristicile operative este dat printr-o func ie de densitate;
intr rile aleatoare conduc la ie iri aleatoare. Modelele stochatice au la baz ideea c
evenimentele nu se produc cu certitudine, ci cu o anumit probabilitate. În cazul modelelor
deterministe evenimentele se produc sau nu se produc, iar în cazul producerii exist o
certitudine bazat pe reguli clare. În cazul modelelor aleatoare evenimentele se produc sau
nu se produc, regulile de inferen ale modelului nu confer certitudine producerii lor.
Aceste modele, de obicei, se rezolv folosind tehnica simul rii, metodele analitice fiind
ineficiente.
Modelele discrete sunt acele modele în care schimb rile st rilor variabilelor se fac la
momente discrete de timp.
Modelele continue sunt acelea în care schimb rile st rilor variabilelor se produc
continuu.
Exemple.
10
Tehnici de simulare Cursul nr.2
11
Modelele de simulare mai con in rela ii func ionale (identit i i/sau
ecua ii) precum i caracteristici operative, fiind utilizate pentru a exprima prin
rela ii matematice interac iunile variabilelor i comportarea sistemului.
O caracteristic operativ este de obicei o ipotez (statistic sau nu) sau o
ecua ie matematic precizat care leag variabilele de intrare ale sistemului de
st ri sau de variabilele de ie ire.
Dac aceste variabile sunt stochastice, caracteristicile operative iau forma
unor func ii de densitate de probabilitate, iar printre parametrii de intrare ai
modelului vor fi i parametrii statistici ai caracteristicilor operative. Ace ti
parametri au rol de m rimi de intrare în modelul de simulare i trebuie estima i în
prealabil din observa ii statistice efectuate asupra procesului sau sistemului ce
urmeaz a fi simulat.
Dup construirea modelului de simulare, simularea în sine, ca experiment,
const în a varia valorile variabilelor i parametrilor de intrare ai sistemului i a
deduce pe baza modelului, ca rezultat al calculelor, efectele lor asupra
variabilelor de ie ire.
Deosebim dou tipuri de simulare:
discret , dac variabilele modelului pot avea numai anumite valori
discrete;
continu , dac variabilele modelului pot avea orice valoare pe
anumite intervale reale.
În cazul simul rii cu timp discret, ceasul simul rii înainteaz de la un
eveniment la altul i nu în mod continuu.
În cazul simul rii cu timp continuu, variabilele care descriu starea
sistemului î i schimb valorile în mod continuu în raport cu timpul.
Etapele rezolv rii unui model de simulare
12
2. Colec ionarea, analiza, interpretarea i prelucrarea primar a datelor.
Aceast etap este esen ial deoarece colec ionarea unor date eronate are
mari consecin e în ob inerea rezultatelor finale, motiv pentru care este
necesar o analiz preliminar i o interpretare a lor pentru a depista
eventualele neconcordan e cu realitatea. Se efectueaz o prelucrare primar ,
apoi se face conversia i transmiterea lor, în vederea organiz rii în fi iere
pentru a putea fi utilizate de calculator. Datele de observa ie sunt necesare
pentru estimarea parametrilor caracteristicilor operative ale modelului ce va fi
construit, ini ializarea variabilelor de intrare ale modelului i validarea lui.
13
• variabile care s descrie st rile componentelor sistemului (variabile de
stare)
• o agend care s memoreze evenimentele care se produc în sistem
• rutine pentru producerea (generarea) diferitelor tipuri de evenimente.
14
5. Evaluarea performan elor modelului i testarea parametrilor.
15
7. Validarea modelului.
16
a simulat evolu ia sistemului la pasul respectiv, este necesar s se introduc în
modelul de simulare o variabil special numit ceas. La fiecare pas al simul rii
trebuie s se genereze o “cre tere” a ceasului care s se adauge m rimii ceasului
la pasul anterior.
Exist dou tipuri de ceas:
• ceas cu cre tere fix (constant )
• ceas cu cre tere variabil .
Simularea bazat pe metoda ceasului constant, const în a genera de fiecare dat
o cre tere constant c a ceasului i a analiza apoi starea diferitelor elemente ale
sistemului generând toate evenimentele posibile a se produce în intervalul de
timp de lungime c. Dup aceea se va genera o nou cre tere care se va ad uga
ceasului, se va repeta analiza men ionat .
Schema logic a modelului de simulare trebuie în acest caz s descrie în mod
complet evolu ia sistemului pe un interval de timp de lungime c; simularea
sistemului pe un interval mare (oarecare) de timp se va ob ine repetând de un
num r de ori suficient de mare algoritmul referitor la intervalul de timp de
lungime c. Deci pentru modelele de simulare de ceas constant m rimea ceasului
T este de forma:
T=cj (j=0,1,2,…)
unde j este un întreg care reprezint num rul de itera ii ale algoritmului de
simulare.
În cazul ceasului variabil, valoarea (variabil ) a cre terii ceasului este egal cu
lungimea intervalului de timp dintre apari iile a dou evenimente consecutive.
Cu alte cuvinte m rimea cre terii ceasului este egal cu intervalul de timp de la
starea actual la momentul apari iei celui mai apropiat eveniment viitor.
În cazul modelului cu ceas constant, avem:
O e1 e2 e3 e4 T
T1 T2 T3
17
O e1 e2 e3 e4 T
T1 T2 T3 T4
18
Tehnici de simulare Cursul nr.3
Observa ie. Dac într-un ir de numere putem prevedea unul din termenii irului în func ie
de termenii preceden i atunci irul nu este aleator. În cadrul irurilor de numere aleatoare de
lungime foarte mare este posibil ca unele numere s se repete, dar ele îndeplinesc anumite
cerin e care le apropie de cele întâmpl toare; ele se numesc numere pseudo-aleatoare.
1. Tabele cu numere întâmpl toare, care con in numere întregi uniform repartizate pe un
interval.
19
2. Procedee fizice, fiind construite ma ini sau dispozitive fizice pentru producerea de
numere întâmpl toare. Ele se bazeaz pe principii fizice, folosind de exemplu
zgomotul electronic sau radioactiv.
Procedeul radioactiv const dintr-un detector de particule radioactive care
înregistreaz într-o perioad de timp ∆t un num r par sau impar de particule emise de
surs . Un alt procedeu fizic este cel al intensit ii unui curent m surat la momente
distincte astfel încât valorile voltajelor U (t1 ), U (t 2 ), , U (t n ), s poat fi considerate ca
independente. În cazul când un astfel de dispozitiv se folose te pentru generarea de
numere aleatoare cu o anumit reparti ie, dispozitivul este conectat la calculator astfel
încât el s poat produce numere aleatoare la nevoie.
3. Procedee aritmetice
Pentru generarea numerelor aleatoare cu ajutorul calculatoarelor electronice numerice
se folosesc rela ii de recuren de forma:
X n +1 = f ( X n , X n −1 , , X n − m ) ,
n > m, m ≥ 0 unde X n , n ∈ N sunt numere naturale, presupunându-se c vectorul
valorilor ini iale X 0 , X 1 , , X m este dinainte fixat.
20
4. Generatorul trebuie s produc numere a c ror reparti ie s fie uniform , ceea ce se
poate verifica cu ajutorul testelor de concordan (testul ,testul Kolmogorov etc.).
Datorit simplit ii lor, generatorii cel mai frecvent utiliza i sunt aceia care produc
numere pseudo-aleatoare întregi.
Ideea folosirii procedeelor aritmetice generarea algoritmic de numere care au
calit i apropiate de cele întâmpl toare apar ine lui John von Neumann. El a propus o
metod particular cunoscut sub numele de metoda p r ii de la mijlocul p tratului.
21
∞ b
k se determin din condi ia 1 = f (x )dx = kdx = k (b − a ) → k = 1 b − a
−∞ a
Lema. Dac X este o variabil aleatoare având func ia de reparti ie F(x ) i U este o
variabil aleatoare uniform pe (0, 1) , atunci variabila aleatoare Y = F −1 (U ) ( F admite invers ,
fiind cresc toare) are func ia de reparti ie F(x ) .
Demonstra ie:
( )
P(Y < x ) = P F −1 (U ) = P(U < F(x )) = F(x )
Concluzie. Dac tim s gener m numere aleatoare uniforme pe (0, 1) , atunci putem
genera valori de selec ie pentru orice variabil aleatoare X dup algoritmul:
1. generez un num r aleator uniform pe (0, 1)
2. calculez X = F −1 (U )
Dac U 1 , U 2 , , U n este un ir de numere aleatoare uniforme, independente pe (0, 1)
atunci X 1 , X 2 , , X n (X i = F −1 (U i )) este un ir de numere aleatoare independente a c ror func ie
de reparti ie este F . În situa iile în care inversa lui F are o expresie analitic u or de calculat,
problema gener rii unui ir de numere aleatoare cu func ia de reparti ie F(x ) se reduce la
generarea unui ir de aceea i lungime, de numere aleatoare uniforme pe (0, 1) .
Dac printr-un anumit procedeu reu im s gener m numere aleatoare întregi X ,
uniform repartizate pe intervalul (0, M ) , M fiind suficient de mare, atunci se pot ob ine
numerele aleatoare U , uniforme pe (0, 1) prin:
U = X M ,0 < X < M .
Propozi ie: Dac not m cu U variabila aleatoare uniform pe intervalul (0, 1) atunci
variabila V = (a + (b − a )U ) este uniform pe (a, b ) .
Demonstra ie:
0, x≤a
P(V < x ) = P(a + (b − a )U < x ) = P(U < (x − a ) (b − a )) = ( x − a ) (b − a ), a < x < b
1, x≥b
22
Observa ie: Pentru variabila aleatoare U uniform pe (0, 1) avem:
1, x ∈ (0, 1)
ϕ (x ) =
0, x ∉ (0, 1)
0, x<0
Φ ( x ) = x, 0 ≤ x < 1
1, x ≥1
Cele prezentate mai sus pot fi generalizate în cazul vectorilor aleatori.
Se consider vectorul V ∈ R 2 uniform pe [a,b]×[c,d].
Defini ie: Dac X = ( X 1 , X 2 ) este vector aleator cu dou componente i notez f (x1 , x 2 )
densitatea de reparti ie i F(x1 , x 2 ) = P( X 1 < x1 , X 2 < x 2 ) func ia de reparti ie, iar cu f i (x i ), Fi ( X i )
densit ile i respectiv func iile de reparti ie marginale,
f 1 (x1 ), F1 (x1 ) = F(x1 , ∞ ) ,
f 2 (x 2 ), F2 (x 2 ) = F(∞, x 2 ) ,
atunci independen a stochastic revine la:
F(x1 , x 2 ) = F1 (x1 ) F2 (x 2 ) ,
f (x1 , x 2 ) = f 1 (x1 ) f 2 (x 2 )
Propozi ie: Dac V ∈ R 2 , uniform pe un interval I (I = [a, b]× [c, d ]), V = (V1 , V 2 ) , atunci V1
este uniform pe [a, b] i V2 este uniform pe [c, d ] , iar V1 este independent de V2 .
Demonstra ie:
Func ia de reparti ie a lui V este:
0 v1 ≤ a, v 2 ≤ c
F (v1 , v 2 ) = (v1 − a )(v 2 − c ) (b − a )(d − c ) (v1 , v 2 ) ∈ I
1 v1 ≥ b, v 2 ≥ d
F1 (v1 ) = F(v1 , ∞ )
func ie de reparti ie uniform pe [a, b] , F2 (v 2 ) = F(∞, v 2 ) func ie de
reparti ie uniform pe [c, d ] atunci:
f 1 (v1 ) = 1 (b − a ) , v1 ∈ [a, b]
f 2 (v 2 ) = 1 (d − c ) , v 2 ∈ [c, d ]
f (v1 , v 2 ) = 1 (b − a )(d − c )
Aceast proprietate arat c dac vrem s ob inem puncte uniforme în domeniu, putem
genera puncte uniforme pe componente.
23
d
c I
a b
Observa ie: Propozi ia este adev rat numai pe intervale i nu pe domenii oarecare.
Construirea unui generator de numere aleatoare este destul de dificil , pe de o parte datorit
periodicit ii mari, iar pe de alt parte datorit cerin elor statistice de independen
stochastic i uniformitate.
Knuth, bazându-se pe procedeul lui John von Neumann i pe alte opera ii numerice care în
mod intuitiv aveau caracter aleatoriu, a construit un generator de numere super-aleatoare, pe
care când l-a utilizat a constatat în mod surprinz tor c reproduce un anumit num r.
Concluzia lui Knuth a fost c generatoarele de numere aleatoare nu trebuie construite prin
metode intuitive, ele trebuie s aib la baz teorii matematice riguroase.
În general, producerea de numere aleatoare se bazeaz pe metode recurente, iar cele care au
fost riguros studiate i au produs rezultate bune sunt metodele congruen iale. Ele au fost
ini iate de Lehmer.
X n +1
Fiind dat num rul aleator întreg X n , urm torul num r pseudo-aleator X n +1 se
define te dup von Neumann ca fiind format din cifrele p r ii din mijloc a p tratului lui X n .
Astfel, ridicând pe X n la p trat se ob ine un num r cu 4a cifre; luând cele 2a cifre de la
mijlocul irului de 4a cifre ale lui X n2 se ob ine num rul X n +1 . Acest procedeu poate fi
exprimat prin rela ia de recuren :
[ ] [ ]
X n +1 = X n2 b a − X n2 b 3a b 2 a
24
Aceast metod s-a dovedit a fi o surs slab de numere pseudo-aleatoare deoarece
anumite numere se repet .
De exemplu pentru a=2 i b=10, num rul 37922 se repet deoarece 37922=14379264.
Aceste metode constau în a determina num rul X n +1 din Xn pe baza rela iei
congruen iale de recuren :
X n +1 = (aX n + c )(mod M ), n = 0, 1, 2.
M = 2 35 , a = 2 23 + 214 + 2 2 + 1, c = 1, X 0 = 0, a = 3141592621
Acest generator se ob ine din cel mixt – congruen ial, lund c=0
X n +1 = aX n (mod M )
25
Acest generator nu poate avea perioada de lungime maxim , ceea ce-l face mai pu in utilizat
decât precedentul.
Pentru calculatoare cu lungimea cuvântului de 32 bi i, se poate lua M = 2 31 − 1 cel mai mare
num r întreg reprezentabil pe un cuvânt de memorie, iar a = 7 5 = 16807.
26
Cursul nr. 4 Tehnici de simulare
1. Metoda invers
2. Metoda respingerii
3. Metoda compunerii (amestec rii)
4. Alte metode de generare a variabilelor aleatoare
5. Metode particulare de generare a variabilelor aleatoare
Metoda invers
Lem . Dac X este o variabil aleatoare oarecare având func ia de reparti ie F ( X ) , iar
U este un num r aleator uniform pe (0,1), atunci variabila aleatoare Y = F −1 (U ) are func ia de
reparti ie F ( X ) .
Demonstra ie
( )
P(Y < X ) = P F −1 (U ) < X = P(U < F ( X )) = F ( X ) , unde F −1 este inversa func iei de reparti ie.
q.e.d.
De aici se desprinde concluzia c dac avem o variabil aleatoare a c rei func ii de
reparti ie F ( X ) este cunoscut i un num r aleator U uniform pe (0,1), o valoare de selec ie
asupra variabilei X se ob ine calculând inversa func iei de reparti ie având ca argument
num rul aleator U .
27
Generalizând, rezult c fiind dat irul {X n }n∈N de variabile aleatoare cu func ia de
reparti ie F ( X ) i {U n }n∈N un ir de numere aleatoare uniforme pe (0,1) i independente
stocastic se poate ob ine un ir de valori de selec ie Yn având aceea i func ie de reparti ie
F ( X ) , Yn = F −1 (U n ) .
Metoda invers este cea mai simpl metod de generare a variabilelor aleatoare. Ea
prezint câteva inconveniente:
Pentru verificarea algoritmului se poate aplica cel mai simplu test care const în
calculul mediei i dispersiei de selec ie. Verificarea se face pentru un volum de gener ri
n > 1000 ceea ce înseamn reiterarea acestui algoritm de cel pu in de 1000 de ori, se
calculeaz media de selec ie m dispersia de selec ie s 2
1 n
m= X i , unde X 1 , X 2 , , X n sunt n valori ob inute prin reiterarea algoritmului.
n i =1
28
s =
2 1 n
n − 1 i =1
(
Xi − m )
2
Se compar aceste valori cu media i dispersia i cu cât erorile sunt mai mici, rezult
c algoritmul este mai bun.
Algoritmul mai poate fi verificat aplicând testul 2 sau un test Kolmogorov.
x1 x2 xn n
Fie x : 0 < pi < 1, pi = 1
p1 p2 pn i =1
p1 p2
p
Generez un num r aleator U care va c dea într-un interval acoperit cu probabilit i pi,
rezult ca valoarea de selec ie va fi X = X i . Putem s gener m un indice aleator.
Genereaz U i = [L ⋅ U ] + 1 (aflu în al câtelea interval sunt)
0 1
0 1 2 L
29
Algoritm:
Lem . Fie X = ( X 1 , , X k )′ , X ∈ k
, cu func ia de reparti ie F (x1 , , x k )
F1 (x1 ) = P( X 1 < x1 )
F2 (x1 , x 2 ) = P( X 2 < x 2 | X 1 < x1 )
Not m:
Fk (x1 , x 2 , , x k ) = P( X k < x k | X 1 < x1 , , X k −1 < x k −1 )
Unde F1 (x1 ) este func ia de reparti ie marginal a variabilei aleatoare X 1 , F2 (x1 , x 2 ) este
func ia de reparti ie a variabilei aleatoare X 2 condi ionat de X 1 < x1 , etc.
Dac U 1 ,U 2 , ,U k sunt numere aleatoare uniforme pe (0,1) i independente stocastic,
atunci vectorul aleator Y = (Y1 , , Yk ), Y ∈ k unde:
Y1 = F1 (U 1 )
−1
Y2 = F2
−1
(Y1 ,U 2 )
Yk = Fk
−1
(Y1 , Y2 , , Yk −1 , U k )
are func ia de reparti ie F (x1 , x 2 , , xk ) , unde Fi −1 (x1 , , xi −1 , y ) este inversa lui Fi (x1 , , xi −1 , xi ) .
Demonstra ie:
Pentru simplificarea scrierii vom da demonstra ia în cazul k = 2 .
Pentru k > 2 demonstra ia se poate realiza prin induc ie.
F (x1 , x 2 ) = P( X 1 < x1 , X 2 < x 2 ) = P( X 1 < x1 )P ( X 2 < x 2 | X 1 < x1 ) = F1 (x1 )F2 (x1 , x 2 ) Calcul m reparti ia
comun a vectorilor (Y1 ,Y2 ) .
30
P(Y1 < y1 , Y2 < y 2 ) = P F1( −1
(U 1 ) < y1 , F2 −1 (Y1 , U 2 ) < y 2 ) =
= P[U 1 < F1 ( y1 ), (U 2 < F2 (Y1 , y 2 ) | Y1 < y1 )] = P(U 1 < F1 ( y1 )).
P(U 2 < F2 ( y1 , y 2 ) | Y1 < y1 ) = F1 ( y1 )F2 ( y1 , y 2 ) = F ( y1 , y 2 )
În cele ce urmeaz X este necunoscut , fiind solu ia exact a ecua ieiF(X)=U, iar
X * este valoarea ob inut prin algoritmul de calcul al inversei.
O a doua condi ie de oprire poate fi dat prin | F( X * ) – F ( X )|< ε , unde ε >0 este un
num r mic.
Cei mai cunoscu i algoritmi numerici pentru calculul inversei F(X)=U sunt:
REPEAT
X ← (a+ b)/2
IF F(X) U
THEN a ← X
ELSE b ← X
UNTIL b-a< 2 δ
RETURN X
31
Metoda secantei
Se g se te un interval (a,b) care con ine solu ia
REPEAT
IF F(X) U
THEN a ← X
ELSE b ← X
UNTIL b-a< δ
RETURN
REPEAT
X ← X - F (f X( X) −)U
RETURN X
Observa ie. Pentru primele dou metode avem nevoie de un interval( a,b) care s
con in solu ia. Metoda lui Newton –Raphson converge dac F este convex sau concav .
32
Cursul nr. 5 Tehnici de simulare
Metoda respingerii
Defini ie. Dac unei variabile aleatoare X i se poate asocia un sistem de patru elemente {
N, Ψ } astfel încât pentru orice n ∈ N + , fiind date
S1 , S 2 ,...., S n ,.... ∈ care satisfac proprietatea variabila aleatoare Ψ ( S1 , S 2 ,...., S n ) are aceea i
func ie de reparti ie cu X , atunci am definit un procedeu de respingere pentru generarea lui
X.
Algoritmul de generare:
0. Ini ializ ri
• Algoritmul pentru generarea lui N .
• Algoritmul pentru generarea lui S1 , S 2 ,...., S n .
• Algoritmul pentru verificarea propriet ii
• Algoritmul pentru calculul lui Ψ .
33
Observa ii.
1. Se nume te algoritm de respingere deoarece în Pasul 3 se decide dac are loc o
respingere sau o acceptare.
2. Not m cu p a probabilitatea de acceptare i cu p r probabilitatea de respingere;
algoritmul este performant dac p a este mare, iar p r este mic .
3. N poate fi o variabil aleatoare sau o constant .
4. Familia trebuie s tim s o gener m simplu i rapid.
5. Proprietatea trebuie s fie u or de verificat.
6. Func ia Ψ s fie simpl i u or de evaluat.
f ( x ) / h( x ) ≤ α , x ∈ R k
0 ≤ U ≤ f ( y ) / (αh( y ))
este f ( x ) .
Demonstra ie.
Func ia de reparti ie a lui Y condi ionat de
0 ≤ U ≤ f ( y ) / (αh( y ))
este
H * ( y ) = P( Y ≤ y| 0 ≤ U ≤ f ( y ) / (αh( y ))) , y ∈ R k
Not m
A = { Y ≤ y } , B = { 0 ≤ U ≤ f ( y ) / (αh( y )) }
34
f ( y)
∞ ∞ αh ( y )
P( B) = P( U ≤ f ( y ) / (αh( y ))) = ...... ( d u ) h( y ) d y =
−∞ −∞ 0
∞ ∞ ∞ ∞
1 1
= ...... f ( y ) / (αh( y )) h( y )d y = ...... f ( y )d y =
−∞ −∞
α −∞ −∞
α
f (v)
y1 y k αh ( v ) y1 yk
H ( y ) = .... (
*
d u )h( v )d v = ..... h( v ) f ( v ) / (αh( v ))d v =
−∞ −∞ 0 −∞ −∞
y1 yk
Algoritmul de generare
Observa ie.
1
Probabilitatea de acceptare p a = P( B) = .
α
Procedeul este performant dac p a se apropie de 1.
m m
F ( x) = pi Gi ( x),0 < pi < 1,1 ≤ i ≤ m, m > 1, pi = 1
i =1 i =1
unde Gi ( x) sunt func ii de reparti ie. Se spune în acest caz c F (x) este amestecarea familiei
{G1 , G2 ,....., Gm } de func ii de reparti ie dup variabila aleatoare discret N pentru care
P ( N = i ) = pi ,1 ≤ i ≤ m sunt cunoscute.
35
Se observ c func iile de reparti ie {G N ( x)},1 ≤ N ≤ m , depind de indicele aleator N, iar F ( x)
este media în raport cu N a variabilelor aleatoare {G N ( x)}.
Dac not m cu Z N variabila aleatoare care are func ia de reparti ie {G N ( x)} , atunci X = Z i cu
probabilitatea pi = P( N = i ).
Observa ie. Dac F ( x) i Gi ( x) au densit ile de reparti ie f ( x) i respectiv g i ( x) , atunci
m
f ( x) = p i g i ( x)
i =1
sau
12...........m
i→I:
p1 p 2 ..... p m
2. Genereaz X = Z i .
Exemplu.
La un service sosesc pentru verificare periodic automobile de k tipuri:
36
12........i......k
K:
p1 p 2 ... pi .... p k
Algoritmul de generare:
Se observ c F (x) este valoarea medie a func iei de reparti ie G ( x, Y ) , unde Y este un
parametru aleator care are func ia de reparti ie H ( y ).
37
În acest caz, algoritmul de generare a variabilei aleatoare X când se cunosc algoritmi de
generare pentru Y (având func ia de reparti ie H ( y ) ) i pentru Z Y (cu func ia de reparti ie
G ( x, Y ) ) se prezint astfel:
0. Ini ializare RNG.
Ini ializarea algoritmului pentru generarea lui Y .
Ini ializarea algoritmului pentru generarea lui Z Y .
1. Genereaz Y .
2. Genereaz Z Y .
3. X = Z Y .
Exemplu.
Fie G ( x, λ ) = 1 − e − λx , x > 0, λ > 0 unde λ este un parametru aleator care are reparti ie
exponen ial H (λ ) = 1 − e − µλ , µ > 0 .
Func ia de reparti ie F (x) se ob ine astfel:
∞
µ
F ( x) = (1 − e −λx ) µe − µλ dλ = 1 −
0
x+µ
Observa ie.
k
Dac în expresia F ( x) = pi Gi ( x) , unele probabilit i pi sunt mari, iar variabilele aleatoare
i =1
38
Tehnici de simulare Cursul nr. 6
Algoritmul de generare
Observa ii :
39
5. O problem dificil în aplicarea acestui algoritm const în determinarea
intervalului bidimensional I .
u1 ≥ 0, u 2 ≥ 0, u1 < u 2 , 0 < v 2 − v 2 < ∞
Pentru determine intervalul I exist cel pu in dou metode.
F1 (u , v ) = u + λγ (u , v ) .
∂F1
=0
∂u
Se consider sistemul: u = u (λ i ), v = v (λ i ) , i ≥ 1 , γ [u (λ i ), v(λ i )] = 0 .
∂F1
=0
∂v
u1 = min u (λ i ) , u 2 = max u (λi )
2. Metoda tangentelor
I = [u1 , u 2 ] × [v1 , v 2 ], D ⊂ I
( ) ( ) ( ) (
P u1 , v ∗ , Q u 2 , v ∗∗ , R u ∗ , v1 , S u ∗∗ , v 2 )
D = {(u , v ); γ (u , v ) ≤ 0}
∂γ ∂γ
dγ = du + dv
∂u ∂v
∂γ
m(u, v ) = = − ∂u
dv
Panta tangentei o not m cu:
du ∂γ
∂v
u1 lim m(u , v ) = ∞
u →u1
(
γ u1 , v∗ = 0 )
v → v∗
u2 lim m(u , v ) = ∞
u →u 2
(
γ u 2 , v ∗∗ = 0 )
v →v∗∗
v1 lim m(u , v ) = 0
u →u ∗
(
γ u ∗ , v1 = 0)
v →v1
v2 lim m(u , v ) = 0
u →u ∗∗
(
γ u ∗∗ , v 2 = 0 )
v → v2
40
Lem . Fie X o variabil aleatoare a c rui densitate de reparti ie este f (x ) ,
1
f (x ) = g (x ), x ∈ R , k = g (x )dx .
k R
D = (u , v );0 ≤ u ≤ g 1 2
v
Fie m rginit ⇔ D<∞.
u
V
Atunci: X= are func ia de reparti ie F (x ) , unde F (x ) este func ia de reparti ie
U
corespunz toare densit ii de reparti ie f (x ) . ( F ′(x ) = f (x ) )
(U , V ) vector aleatoriu bidimensional uniform pe (0,1) × (0,1) .
Demonstra ie
1
, (u , v ) ∈ D
(U , V ) uniform pe D dac g (u , v ) = ariaD
0, inrest
ariaD = dudv = dudv
D u
0 ≤ u ≤ g1 2
v
v
=x u =t
Facem transformarea u
v = tx
u =t
∂u ∂u
D (u , v ) D(u , v ) ∂t ∂x = 1 0 = t
dudv = , = dudv = tdtdx
D(t , x ) ∂v
dtdx
D (t , x ) ∂v x t
∂t ∂x
∞ g1 / 2 ( x ) ∞ ∞
t2 g1 / 2 ( x ) 1 k
ariaD = tdtdx = tdt dx = 0 dx = g ( x)dx =
2 2 −∞ 2
0 ≤ t ≤ g1 / 2 ( x ) −∞ 0 −∞
V
calcul m func ia de reparti ie a v.a. X=
U
x g1 2 ( ω ) x x
1 2 t2 1
P( X < x ) = P
V g1 / 2 ( ω )
<x = tdt dω = 0 = g (ω)dω =
U ariaD −∞ 0
k −∞ 2 k −∞
x
= f (ω)dω = F ( x) .
−∞
41
Exemplu: Generarea variabilei aleatoare Weibul
ν
νx ν −1e − x , x > 0, ν > 0
Fie X , f ( x) =
0, x ≤ 0
ν −1 ν
1 v
−
ν −1 − x ν
g (x ) = x , D = (u , v );0 ≤ u ≤
v 2
K =ν e e 2 u
u
D = (u , v ); 0 ≤ ue
v 2
2 u
≤1 .
u
ν ν −1
1 v
Not m γ (u, v ) = ln ue v
2 u 2
u
ν
ν −1
1 v
γ (u , v ) = ln u + ≤ 0 , D = {(u , v ); γ (u , v ) ≤ 0}
v
ln −
2 u
2 u
udv − vdu
ν −1
du ν udv − vdu v ν −1 u2
dγ = + 2
− ⋅
u 2 u u 2 v
u
v v
dv − du ν −1 dv − du
du ν u v ν −1 u
+ − =0
u 2 u u 2 v
u
v
Not m =q
u
du ν dv − qdu ν −1 ν − 1 dv − qdu
+ q − = 0 /⋅ u
u 2 u 2 q
ν ν − 1 dv − qdu
du + (dv − qdu )q ν −1 − = 0 / : du
2 2 q
dv
−q
ν dv ν −1 ν − 1 du
1+ −q q − =0
2 du 2 q
dv νq ν −1 ν − 1 dv νq ν −1 − ν + 1
−q − = −1 = −1
du 2 2q du 2q
dv
=q− ν
2q
,
dv q νq ν − ν − 1
=
( )
du νq − ν + 1 du νq ν − ν + 1
a) u1 , u 2 dv → ∞ q → ∞ νq ν − ν + 1 → 0, νq ν − ν − 1 ≠ 0
du
42
u
q= ,q → ∞ dac u→0 u ≥ 0, u1 = 0
v
1ν
ν −1
νq ν − ν + 1 = 0 , q = , γ (u , v ) = 0
ν
ν −1
1ν ν −1
1 ν −1 ν −1 ν −1 u 1 ν −1 ν −1 2ν
ln u + − ln =0 ln ν −1
=− u2 = e 2ν
2 ν 2 ν 2 ν ν
ν −1 2ν
q (νqν − ν − 1)
dv
b) v1 , v 2 , →0 q → 0 sau νqν − ν − 1 → 0,νqν − ν + 1 ≠ 0
du
v
q→0 →0 v1 = 0
u
1/ ν
ν +1
νq ν − ν − 1 = 0 q= , γ (u , v ) = 0
ν
1/ ν
1 ν +1 ν −1 ν +1 u ν +1
ln u + − ln =0 ln ν −1
=−
2 ν 2 ν 2ν
ν +1 2ν
ν
ν −1 ν +1
ν + 1 2ν − 2ν
u= e
ν
v
q= v 2 = uq
u
ν −1 ν +1
1/ ν −
ν +1 ν +1 2ν 2ν
v2 = e
ν ν
ν +1 ν +1
−
ν +1 2ν 2ν
v2 = e
ν
Algoritmul de generare
43
V∗
Pas 4 : X= valoarea generat
U∗
−
( x − m )2
1
Defini ie. X → N (m, σ ) dac f (x ) = e 2σ 2 , x∈
σ 2π
x2
1 −
Deci X → N (1,0) dac f (x ) = e 2
2π
Aplicând lema se ob ine
1 v2
x2 −
−
X → N (1,0 ) k = 2π ; g ( x ) = e ; D = (u , v ) : 0 ≤ u ≤ e
3 u
2 =
1 v2
1 v2
= (u, v ) : 0 ≤ ue 3 u ≤ 1 , γ (u , v ) = ln u + , D = {(u , v ) : γ (u , v ) ≤ 0}.
3 u
1 λv 2
F1 = u + λγ (u, v ), F1 (u , v ) = u + λ ln u + .
3 u
∂F1 λ 1 λv 2 3u 2 + 3λu − λv 2
=1+ − = .
∂u u 3 u2 3u 2
∂F1
= 0 3u 2 + 3λu − λv 2 = 0 (1) .
∂u
∂F1 2 λv
=
∂v 3 u
v=0 (2)
∂F1
=0
∂v
Din rela iile (1) i (2) form m sistemul:
3u 2 + 3λu − λv 2 = 0 u = −λ
⇔
v=0 v=0
44
∂F1
=0
∂u u = −λ
∂F1
Din sistemul: =0 ⇔ v=0
∂v
γ (u , v ) = 0 1 v2
ln u + =0
3 u
Deci ln(− λ ) = 0 λ = −1
u1 = 0
Lu m
u2 = 1
λv 2
F2 (u , v ) = v + λγ (u , v ) = v + λ ln u +
3u 2
∂F2 λ λv 2
= − .
∂u u 3u 2
∂F 2 2
Din 2 = 0 3λu −2λv = 0 λ ≠ 0 v = 3 (∗)
∂u 3u u 2
∂F2 2λv
=1+ .
∂v 3u
∂F
Din 2 = 0 1 + 2λ v = 0 (∗) 1 + 2λ 3 = 0 v = −λ
∂v 3 u 3 2v
∂F2
=0 v2 v2 v2
∂u =3 =3 =3 3
u u u v1 = −
∂F2 e
= 0 ⇔ v = −λ ⇔ v = −λ ⇔ v = −λ
∂v 3
2 1 3 v2 =
γ (u , v ) = 0 ln u +
1v
=0 u= v2 = e
3 u e e
Algoritmul de generare :
Intrare: v1 = − 3 / e , v 2 = 3 / e
Pas 1: Genereaz U ′ ~> (0,1) .
Calculeaz (
U * = U ′ U * = u1 + (u 2 − u1 )U ′ )
U * ~ > (0,1)
Pas 2: Genereaz V ′ ~> (0,1)
Genereaz V * = v1 + (v2 − v1 )V ′
V * ~ > (v1 , v 2 )
2
Pas 3: Dac ln U * + 1 / 3V * / U * > 0 transfer la 1.
(perechea (U * ,V * ) generat nu este în domeniu)
45
V*
Pas 4: X= (valoarea generat )
U*
aria D
Probabilitatea de acceptare: Pa =
aria I
dudv v
aria D =x
= D
= u = ... = Pa ≈ 0,75
aria I (u2 − u1 )× (v2 − v1 )
u =t
46
Tehnici de simulare Cursul nr. 7
- Dac f L2 (D) atunci M(In )=I, lim D 2 (I n ) = 0 ,adic In este o estima ie absolut
n→∞
corect pentru I.
Calculul integralei In când n este suficient de mare cu ajutorul calculului prin metoda
Monte Carlo este uneori mai eficient decât prin mijloacele analizei numerice.
47
0.Ini ializare RNG;
Intrare k 0 ,k N* i 0
1. Genereaz variabile aleatoare U uniforme pe (0,1)
i i+1
2. Vi ai+(bi-ai) U
3. Dac i k transfer la 1
Vectorul V=(V1,...,Vk) este vectorul aleator generat
Pentru a genera un vector aleator V care are reparti ie uniform pe un domeniu
oarecare D ⊂ R k ,not m cu I intervalul care con ine domeniul D. Dac D domeniu simplu
conex i f(X)=0 este ecua ia frontierei care delimiteaz acest domeniu, f fiind o func ie de k
variabile ,atunci algoritmul de generare bazat pe metoda respingerii se prezint astfel:
0. Ini ia izare RNG.
Intrare I(a i , b i ,1 ≤ i ≤ k )
1. Se genereaz un vector U uniform pe I
2. Dac f (U ) > 0 transfer la 1(se presupune c U ∈ D dac f (U ) < 0 )
3. V=U.
Cele mai simple metode i rapide metode de generare a vectorilor aleatori constau în
a reduce problema generarea vectorilor aleatori uniformi ,care sunt cei mai u or de generat.
Lem . Fie X = (X1 ,..., X k )' un vector aleator cu valori în R k a c rui densitate de
reparti ie este f (X ) = 1 Hg(X ) , g(X ) ≥ 0, X ∈ R k , unde H = g(X )dX . Fie (V0 , V1 ,..., Vk )' un vector
RK
v1 v
aleator uniform pe domeniul D ⊂ R k , astfel: D= (v 0 , v1 ,..., v k )' ∈ R k +1 ,0 ≤ v 0 ≤ g1 k +1 ,..., k
v0 v0
presupus m rginit, adic aria D < ∞ . Atunci densitatea de reparti ie a lui X = (X1 ,..., X k )' unde
X i = Vi V0 , i = 1,2,..., k , este f (X ) .
Demonstra ie
Vectorul aleator (V0 , V1 ,..., Vk )' are reparti ie uniform pe D, dac densitatea sa de
1
, dac (v 0 , v1 ,..., v k ) ∈ D
'
reparti ie este dat de g (v 0, v1 ,..., v k ) = ariaD ,unde aria
0, în rest
D= dv0 dv1 ...dv k
1
v v
0≤ g k +1 1 ,..., k
v0 v0
48
x 1 = v1 v 0 v1 = tx 1
x 2 = v2 v0 v 2 = tx 2
Facem transformarea de coordonate: ........... sau .............. al c rui Jacobian
x k = vk v0 v k = tx 0
t = v0 v0 = t
1 0 0 ... 0
x1 t 0 ... 0
D(v 0 , v1 ,..., v k )
este = x2 0 t ... 0 = tk
D(t, x1 ,...., x k )
... ... ... ... ...
xk 0 0 ... t
1
g k +1 ( x1 ,..., xk )
1
... g (x1 ,..., x k ) dx1 ...dx k =
H
Aria D= ... t k dtdx1 ...dx k = t dtdx1 ...dx k = =
k
1 0
k +1 k k +1
R
0≤t ≤ g k +1 ( x1 ,..., xk ) Rk
v 1
P( X 1 < x1 ,..., X k < x k ) = P
v1
< x1 ,..., k < x k = dv 0 dv1 dv k
v0 v0 aria D v1 v
< x1 ,..., k < xk D
v0 v0
1
x1 xk g k +1 ( x1 ,..., xk )
−∞ −∞ 0
x1 xk
1
= g (x1 x k ) dx1 ...dx k = F ( X ) , unde F(X) este func ia de reparti ie a lui f (X ) , X ∈ R k i
H −∞ −∞
Algoritmului de generare
Pas 0. Ini ializeaz algoritmul RNG pentru generarea unor numere aleatoare
uniforme pe (0,1);
Intrare parametrii.
Determin un interval I, D ⊂ I ,de forma: I = [v10 , v02 ] × [v11 , v12 ] × [v1k , vk2 ]
Pas 1. Genereaz vectorul aleator (V0* , V1* ,..., Vk* ) uniform pe I, astfel:
Vi* = vi1 + (vi2 − vi1 )U i , i = 1,2,..., k unde U i sunt numere aleatoare independente, uniforme pe (0,1).
Pas 2. Dac (V0* ,V1* ,...,Vk* ) ∉ D transfer la 1,aaltfel la 3.
'
Pas 3. X i = h(V0* ,V1* ,...,Vk* ), i = 1,2,..., n iar h exprim leg tura între V0*,V1*,...,Vk*.
Observa ii
1.Punctele (V0*,V1*,...,Vk*) sunt uniform repartizate pe domeniul m rginit D,
algoritmul descris mai sus fiind un algoritm de respingere.
49
2. Performan a algoritmului este caracterizat de probabilitatea de acceptare
aria D
(probabilitatea de trecere de la pasul 2 la pasul 3 ) dat de pa = .
∏( )
k
v i2 − vi1
i =1
vi2 = max vi , 0 ≤ i ≤ k .
D
Exemple.
Aplic m lema i algoritmul pentru generarea vectorilor aleatori având reparti ie Dirichlet
i multinomial .
50
Vectorul aleator X = ( X 1 , X 2 ,... X k )1 este repartizat Dirichlet de parametrii ν1 ,..., ν k +1 dac
densitatea sa de reparti ie este:
Γ(ν1 + ... + ν k ) 1 −1
f (x1 ,..., x k ) = x1 ⋅ ... ⋅ x kν k −1 ⋅ (1 − x1 − ... − x k ) k +1
ν −1
(1)
Γ(ν1 ) ⋅ ... ⋅ Γ(ν k )
Γ(γ ) ⋅ ... ⋅ Γ(γ k +1 )
sau f (x1 ,..., xk ) = 1 h(x1 ,..., xk ) unde H = 1
H Γ(γ 1 + ... + γ k +1 )
h( x1 ,..., x k ) = x1 ⋅ ... ⋅ x k ⋅ (1 − x1 − ... − x k )
ν k +1 −1
1 −1 ν k −1
(1')
d
Not m d = k + 1, α i = ν i − 1,1 ≤ i ≤ d , α = αi
i =1
α k +1 d
k
v1α1 d ...v kα k d v0 − vi
i =1
Domeniul D din lem devine: D = 0 ≤ v0 ≤ (2)
v0α d
α+d k
sau D = 0 ≤ v0 d v1−α1 d ⋅ ... ⋅ v k−α k d
(v0 − v )−αk +1 d ≤1 (2') unde v= vi
i =1
α+d k
αi α
Introducând func ia : γ (v0 , v1 ,..., v k ) = ln v0 − ln vi − k +1 ln (v0 − v ) domeniul D
d i =1 d d
devine: D = {γ(v0 , v1 ,..., vk ) ≤ 0}
Pentru a determina intervalul I ⊂ R k +1 , aplic m metoda multiplicatorilor lui Lagrange
func iilor : Fi = vi + λγ,0 ≤ i ≤ k unde λ este multiplicatorul lui Lagrange.
Cazul i=0
∂F0 α + d 1 α k +1 1
= 1+ λ − =0
∂v0 d v0 d v0 − v
∂F0 α 1 α k +1 1
În acest caz avem: = 1+ λ l − =0 (4)
∂vl d vl d v0 − v
∂F0
= γ (v0 , v1 ,..., v k ) = 0
∂λ
α k +1 α
Din a doua rela ie (4) deducem : = l adic vl α k +1 = (v0 − v )α l ,1 ≤ l ≤ k
v0 − v vl
d k k
Din α= αi = α l + α k +1 α l = α − α k +1
i =1 l =1 l =1
v0 (α − α k +1 )
însumând dup l, se ob ine v= (5)
α
Din prima rela ie (4) deducem :
51
v 0 = −λ
λα k +1
v0 − v = − (6)
α
λα l
vl = −
α
k +1
∏α αl d
l
Introducând valorile lui v date de (6) în a treia rela ie (4), ob inem : λ=− l =1
de unde
αα d
αl d
d
αl
v00 = 0, v10 = ∏
l =1 d
(6b)
Cazul i ≥ 1 .
52
Deci intervalul I este : [ ][ ] [ ]
I = 0, v10 × 0, v11 × ... 0, v1k unde v10 este dat de (6b), iar vi1 ,1 ≤ i ≤ k
sunt da i de (13).
Algoritmul de generare:
Pas 0: Intrare k , ν i ,1 ≤ i ≤ k + 1
k +1
Calculeaz d = k + 1, α = α i , a1 = α + d , a 2 = (α + d ) d , bi = α i d ,1 ≤ i ≤ k + 1
i =1
∏
i =0
vi1
d (α + d ) ∏i =1 d (α + d )
Se poate aplica formula n | ≈ n n e − n 2πn
⋅
k k
n|
f ( x1 , x 2 ,..., x n ) = p1x1 p 2x2 ... p kxk unde xi ≥ 0, xi ∈ Z , xi = n,0 ≤ pi ≤ 1, pi = 1 . Reparti ia
x1 | x 2 | ...x n | i =1 i =1
multinomial se bazeaz pe urm torul model, ca rezultat al uni experien e sunt posibile
evenimentele incompatibile A1 ,..., Ak , pi = P( Ai ) , iar X i reprezint num rul de apari ii ale
evenimentului Ai în n experien e.
Se tie c M ( X i ) = npi , D 2 ( X i ) = npi (1 − pi )
Algoritmul de generare:
53
Pas 0: Ini ializare RNG.
Intrare n.
k
Intrare p α ,1 ≤ α ≤ k , pα = 1
α =1
i
Calculeaz F [i ] = pα ,1 ≤ i ≤ k
α =1
este pozitiv definit . Densitatea de reparti ie a vectorului aleator Z normal N (O, I ) unde O
k
1 1 − xi2 2
este vectorul nul i I este matricea unitate, este: f (x, O, I ) = e −1 2x`x = ∏ e
(2π) k 2
i =1 2π
Ceea ce înseamn c vectorul Z are k componente independente, având fiecare reparti ia
normal N (0,1) . Generarea vectorului Z se face generând k variabile normale N (0,1)
independente. Pentru a genera un vector aleator N (µ , Σ ) se folose te teorema :
54
Teorem . Dac Z este un vector aleator k-dim normal N (O, I ) i X este un vector
aleator k-dim normal N (µ , Σ ) , iar C este o matrice superior triunghiular astfel ca CC`= Σ ,
atunci vectorul aleator Y = µ + CZ are aceea i reparti ie ca X.
Algoritmul de generare:
Pas 0: Ini ializare RNG.
Intrare µ , Σ .
Calculeaz elementele matricei C.
Pas 1: Genereaz un vector aleator Z ≈ N (O, I ) .
Pas 2: Calculeaz X = µ + CZ .
Caz particular: k=2. Vectorul X = ( X 1 , X 2 ) are reparti ie normal bidimensional :
1
f ( x1 , x 2 ) = e −1 2Q ( x1 , x2 )
(2π)(det Σ )
Q( x1 , x 2 ) = σ11 (x1 − µ1 ) + 2σ12 ( x1 − µ1 )(x 2 − µ 2 ) + σ 221 ( x 2 − µ 2 )
2 2
σ11 σ12
Σ= , µ = (µ1 , µ 2 )`, µ i = M [X i ], i = 1,2
σ 21 σ 22
( )
σ ij = Cov X i , X j , i, j = 1,2
σ12 ρσ1σ 2 Cov( X 1 , X 2 )
Σ= , σ i2 = D 2 ( X i ), ρ =
ρσ1σ 2 σ22
σ1σ
Cov( X , Y ) = M [( X − M [X ])(Y − M [Y ])]
Cov( X , Y ) = M [XY ] − M [X ]M [Y ].
55
Tehnici de simulare Cursurile nr.8-9
Fie z = f (x1 , x 2 , , x k ) o func ie continu într-un domeniu m rginit D din spa iul cu k
dimensiuni. Problema care se pune este s calcul m integrala multipl :
(1) I = f (x1 , x 2 , , x k )dx1 dx 2 dx k
(D )
Geometric, num rul I reprezint volumul k + 1 -dimensional al unui cilindru drept în
spa iul Ox1 x 2 x k z având ca baz domeniul D i m rginit superior de suprafa a
z = f (x1 , x 2 , , x k ) .
56
Transform m integrala (1) astfel încât domeniul de integrare rezultat s fie con inut
în cubul unitate k -dimensional. Dac domeniul D este cuprins în paralelipipedul k -
dimensional
(2) a i ≤ x i ≤ bi , 1 ≤ i ≤ k
prin transformarea
(3) x i = a i + (bi − a i )ξ i
paralelipipedul k -dimensional se transform în cubul unitate k - dimensional:
0 ≤ ξ i ≤ 1, 1≤ i ≤ k
i domeniu de integrare D va fi cuprins în acest cub unitate.
∂x k ∂x k ∂x k 0 0 bk − a k
∂ξ 1 ∂ξ 2 ∂ξ k
(4) I= h (ξ 1 , ξ 2 , , ξ k )dξ 1 dξ 2 dξ k
(D )
57
unde h (ξ 1 , ξ 2 , , ξ k ) = (b1 − a1 ) (bk − a k ) ⋅ f [a1 + (b1 − a1 )ξ 1 , , (bk − a k )ξ k ]
ξ = (ξ 1 , ξ 2 , , ξ k )
Notând integrala (4) se scrie sub forma prescurtat :
dσ = dξ 1 dξ 2 dξ k
(5) I= h (ξ )dσ
(D )
Vom prezenta dou metode de calcul al integralei (5), folosind numerele aleatoare.
Prima metod
Dac ecua ia frontierei Γ este ϕ (ξ ) = 0 , atunci pentru ϕ (ξ ) > 0 punctul ξ ∉ D , iar pentru
ϕ (ξ ) ≤ 0 punctul ξ ∈ D .
Fie n num rul de puncte aleatoare M i care apar in domeniului D ; celelalte N − n vor
c dea în afara acestui domeniu. Atunci pentru N suficient de mare avem urm toarea formul
aproximativ :
vol (D ) n
I1 ≅ h (M i )
n i =1
58
unde vol (D )
este volumul domeniului de integrare k - dimensional D.
În cazul în care este dificil s se calculeze vol (D ) se ia
vol (D ) =
n
N
i valoarea aproximativ a integralei este:
n
1
I1 ≈ h (ξ i ) .
N i =1
I= (x 2
)
+ y 2 dxdy
(D )
unde D = {( x, y ); 1 2 ≤ x ≤ 1, 0 ≤ y ≤ 2 x − 1} .
Consider m urm torul tabel de numere aleatoare repartizate uniform pe intervalul
[0,1] {Tab 1} i lu m pentru fiecare dou numere consecutive din acest tabel ca fiind
coordonate ale punctului aleator (x, y ) .
Tabel m coordonatele x i y ale punctelor aleatoare în tabelul 2 rotunjindu-le la 3
zecimale i alegându-le pe acelea ce apar in domeniului de integrare.
Tabelul 2 se ob ine astfel:
Dintre toate valorile lui x care variaz între x = 1 2 i x =1. Pentru aceste valori vom
lua ε 1 = 1 , iar pentru celelalte lu m ε 1 = 0 .
Dintre toate valorile lui y corespunz toare lui x le alegem pe acelea con inute între
y (x ) = 0 i y (x ) = 2 x − 1 .
Pentru aceste valori punem ε 2 = 1 , iar pentru restul ε 2 = 0 .
Calcul m ε = ε 1ε 2 . Numai pentru punctele pentru care ε = 1 apar in domeniului de
integrare.
În situa ia de fa , dintre cele N = 20 de puncte, numai n = 4 apar in domeniului de
integrare.
4 1
vol (D ) =
n
= = .
N 20 4
Atunci
1 1
⋅ (0,452 + 0,855 + 1,048 + 1,482) = 0,240
I1 =
4 4
Valoarea exact a integralei este I 1 = 0,21875 .
Se observ o acurate e sc zut , fapt explicat prin aceea c num rul de puncte N = 20
nu este suficient de mare.
59
0,57705 0,35483 0,11578 0,65339
0,71618 0,09393 0,93045 0,93382
0,73710 0,30304 0,93011 0,05758
0,70131 0,55186 0,42844 0,00336
0,16961 0,64003 0,52906 0,88222
0,53324 0,20514 0,09461 0,98585
0,43166 0,00188 0,99602 0,52103
0,26275 0,55709 0,69962 0,91827
0,05926 0,86977 0,31311 0,07069
0,66289 0,31303 0,27004 0,13928
x x x ε1 y y (x ) y (x ) ε2 ε f (x, y )
0,557 0,500 1,000 1 0,716 0 0,154 0 0
0,737 0,500 1,000 1 0,701 0 0,474 0 0
0,170 0,500 1,000 0 0,533 0
0,432 0 0,263
0,059 0 0,663
0,355 0 0,094
0,303 0 0,552
0,640 1 0,205 0 0,280 1 1 0,452
0,002 0 0,557
0,870 1 0,323 0 0,740 1 1 0,855
0,116 0 0,930
0,930 1 0,428 0 0,860 1 1 1,048
0,529 1 0,095 0 0,0580
0,996 1 0,700 0 0,992 1 1 1,1482
0,313 0 0,270
0,653 1 0,934 0 0,306 0 0
0,058 0 0,003
0,882 1 0,986 0 0,764 0 0
0,521 0,500 1,000 1 0,918 0 0,042 0
0,071 0,500 1,000 0 0,139
60
A doua metod
Fie y = h(ξ 1 , ξ 2 , ..., ξ k ) ≥ 0 . Atunci integrala (1) poate fi considerat ca volumul solidului
din spa iul cu (k+1) dimensiuni, adic
(6) I = (V) ... d 1 d 2 dξ k dy ,
unde volumul V determinat de urm toarele condi ii:
ξ = (ξ 1 , ..., ξ k ) ∈ D , 0 ≤ y ≤ h(ξ ) .
Dac în domeniul D
0 ≤ h( ) ≤ B, 0≤ i ≤ 1, i = 1, 2, ...k
atunci schimbarea de variabil
1
η= y
B
ne duce la
I=B ... dξ1dξ 2 . . . dξ k dη
(V )
unde V este cilindrul din spa iul Oξ 1 . . .ξ k η construit pe domeniul ∆ i m rginit inferior de
1
hiperplanul η = 0 i superior de hiperplanul η = y, V fiind situat în cubul unitate k +1-
B
dimensional:
61
0 ≤ ξ i ≤ 1, i = 1, ,k
0 ≤η ≤1
62
∆ fiind cub unitate, atunci este suficient s se verifice pentru fiecare punct ξ i(1) , ξ i(2 ) , , ξ i(k )
condi ia
ηi ≤
1
B
(
h ξ i(1) , ξ i(2 ) , , ξ i(k ) ).
63
Probabilitatea ca punctul s cad în interiorul cercului este dat de raportul între aria cercului
i aria p tratului.
2 Aria − cercului
2 π
P{( X 1 , X 2 ) s fie în cerc } = P( X 1 + X 2 ≤ 1) = =
Aria − patratului 4
Dac variabila aleatoare U este uniform pe (0,1) atunci 2U este uniform pe (0,2) , iar
2U − 1 este uniform pe (−1,1).
Gener m dou numere aleatoare U1 i U 2 uniforme i independente pe (0,1) i facem
substitu ia X 1 = 2U1 − 1 i X 2 = 2U 2 − 1 . Dac not m cu N num rul perechilor ( X 1 , X 2 ) generate
i cu N1 num rul perechilor ( X 1 , X 2 ) care „cad” în interiorul cercului, adic X 12 + X 2 2 ≤ 1 ,
atunci π se poate aproxima prin 4 N1 / N .
Algoritmul de generare.
Pas0. Ini ializare RND, N1 ← 0
Pas1. Genereaz U1 uniform pe (0,1) i calculeaz X 1 = 2U1 − 1
Pas2. Genereaz U 2 uniform pe (0,1) i calculeaz X 2 = 2U 2 − 1
Pas3. Dac X 12 + X 2 2 ≤ 1 atunci N1 ← N1 + 1
Se itereaz acest algoritm de N ori i π se aproximeaz prin 4 N1 / N .
64
.
SIMULAREA PROCESELOR DE STOCARE
65
- costul lipsei de stoc (determinat de pierderile cauzate de lipsa materiilor prime,
materiale etc ).
Eficien a unui stoc de-a lungul unei perioade de timp este o func ional de forma :
E = E[ a(t), b(t),r(t)]
- dup domeniile de valori posibile ale unor variabile care intervin în aceste modele
- cu cerere continu
- cu cerere discret
66
Cele mai interesante i mai apropiate de realitate sunt cele dinamice i stochastice.
Modelele de teoria stocurilor sunt asem n toare cu cele de teoria a tept rii; sosirile în firele
de a teptare corespund intr rilor în stoc, iar serviciile corespund ie irilor din stoc.
Deosebirea între cele dou tipuri de modele const în aceea c sosirile i servirile sunt
variabile aleatoare cunoscute, în timp ce în teoria stocurilor se cunoa te numai cererea ( care
poate fi variabil aleatoare sau nu ) i se caut s se determine o politic optim de
reaprovizionare a stocului.
Date de intrare
- costul stoc rii CS
- costul lipsei de stoc CL
67
- costul lans rii unei comenzi CLC
- m rimea optim a comenzii Q
- m rimea nivelului de reaprovizionare P
- nivelul ini ial al stocului NIS
- durata simul rii DS
Variabile aleatoare cu reparti ii cunoscute ( se introduc parametrii )
- cererea R
- timpul de avans al lans rii comenzii TA
Ini ializ ri
TCS=TCL=TCLC=TC=0
NCS=NIS CEAS=0
Intrari, Initializari
Gnereaza R
CEAS CEAS + 1
68
NU
CEAS<=TS
DA
TC = TCS + TCL + TCLC
DA
T=CEAS
NCS NCS-R
STOP
NU
NNCS=CS=
NCS < 0
DA
P < NCS DA
NU
NU
T <=CEAST<=
CEA
DA
DA
TCLC TCLC + CLC
INTRARI,
Genereaza TA INITIALI
Se introduc m rimile T CEAS+TA
de intrare. Se ini ializeaz
GENETEAZA R
CEAS CEAS + 1
69
variabilele de ie ire. Genereaz o cerere.
M re te valoarea ceasului cu
o unitate .
NU NCS NCS + Q
CALC . STATISTICI
REZULTATE
NCS NCS-R
STOP
NNCS=CS=
NCS < 0
Se cerceteaz nivelul DA
Stocului r mas. Dac este
negativ se calculeaz pierderile. TCL TCL - NCS * CL
NU NCS = 0
Nu se p streaz TCS TCS + NCS * CS
cererea. Se calcu-
leaz costul stoc rii.
DA
Se verific dac este P < NCS
nevoie s se lanseze o
nou comand .
NU
Se verific dac NU
sose te onou T <=CEAST<=DA
CEA
comand .
DA .
Se lanseaz o nou comand . Se adaug costul lans rii.
Se genereaz timpul TCLC TCLC + CLC de avans. Se determin intrarea.
GENEREAZA TA
Tehnici de simulare T CEAS+TA Cursul nr. 11
70
SIMULAREA UNOR MODELE DE A TEPTARE
Teoria a tept rii sau teoria firelor de a teptare se ocup cu studiul evolu iei sistemelor
care prezint aglomer ri (sisteme de a teptare).
A teptarea este intervalul de timp dintre momentul când a fost solicitat servirea i
începutul procesului de servire.
Studiul unui sistem de a teptare se face cu ajutorul unui model, care se noteaz
prescurtat astfel:
ASC: (L;d) (1)
Unde:
A – este reparti ia timpului de servire dintre dou sosiri consecutive;
S – este reparti ia duratei de serviciu;
C – este num rul de sta ii de serviciu;
L – este lungimea maxim a cozii;
d – este disciplina de serviciu.
Disciplina de serviciu poate fi:
FIFO (primul venit, primul servit);
LIFO (ultimul venit, primul servit);
PS (servire prioritar );
RA (servire aleatoare).
U U U S U U U
U U U S1 S2 S3 … SN U U U
71
Cereri de servire Sta ii flux de ie ire
Paralel
S1 U
U U U S2 U
…
SN U
Sistemul de a teptare este complet specificat dac se cunosc toate elementele din (1). Pentru
un sistem specificat se poate calcula intensitatea traficului pe care-l asigur acesta
ρ = M(s)/M(τ )
unde s reprezint durata servirii, iar τ este intervalul de timp dintre dou sosiri
consecutive.
Pentru sistemele monocanal prezint interes gradul de utilizare al sta iei de servire,
timpul mediu de servire, num rul unit ilor servite pân la un moment dat i starea sta iei
(liber sau ocupat ) în orice moment.
Pentru sistemele cu sta ii în paralel sau serie prezint interes num rul mediu de sta ii
ocupate, gradul de ocupare al fiec rei sta ii de servire, timpul mediu de a teptare în fiecare
sta ie, num rul sta iilor ocupate la un moment dat.
Pentru firele de a teptare prezint interes lungimea curent i lungimea maxim a cozii,
timpul mediu de a teptare în fir.
Dac λ reprezint num rul mediu de sosiri, iar µ este num rul mediu de serviri, atunci
intensitatea traficului este ρ = λ / µ .
O problem dificil de rezolvat const în validarea modelului.
O metod simpl const în a testa modelul într-un caz particular în care solu ia este
cunoscut .
O alt metod const în a compara datele furnizate de model cu rezultatele ob inute prin
observarea situa iilor reale similare. Dac diferen ele se încadreaz în limite acceptate, atunci
modelul poate fi validat.
În cazul în care ie irile modelului sunt stochastice se impune aplicarea unor teste
statistice adecvate.
Aplicarea simul rii pentru studiul sistemelor de a teptare se recomand datorit
elementelor aleatoare care intervin: timpul de sosire, timpul de servire, etc.
În cele ce urmeaz ne propunem s simul m un model de a teptare de forma:
• • 1: ( ∞ , FIFO)
72
Se vor prezenta dou metode: una bazat pe ceas variabil, iar cealalt bazat pe ceas
constant.
Variabilele ITSC i DS sunt variabile de intrare; reparti iile lor se presupun cunoscute,
iar parametrii acestor reparti ii sunt parametrii de intrare. NS este de asemenea parametru de
intrare.
Variabilele TAC i TNS sunt variabile aleatoare de ie ire, ca i TTAC, TTNS.
De aici se pot calcula:
- timpul mediu de a teptare
TTAC
MTAC =
NS
- timpul mediu de neocupare a sta iei
TTNS
MTTNS =
NS
La momentul ini ial (momentul începerii simul rii) sunt satisf cute urm toarele
condi ii ini iale:
TAC=0, TNS=0, TTAC=0, TTNS=0, CONTS=0.
Presupunem c pentru ITSC i DS dispunem de generatori care pot fi apela i în
programul de simulare.
Schema logic a algoritmului de simulare se prezint astfel:
73
START
NU
Calculeaz parametrii i
furnizeaz rezultatele
STOP 74
Observa ie.
Validarea modelelor
TTAC + DTS
Fe =
DTS
DTS=MTS-TTNS .
75
START
Genereaz ITSC
TTS:=TTS+ITSC
CEAS:=CEAS+C
MTS:=MTS+DS
76
Livreaz rezultatele
Tehnici de simulare Cursul nr. 12
Procesele stochastice studiaz mul imi de variabile aleatoare care descriu procese a c ror
evolu ie urmeaz legi probabiliste.
Defini ie. O mul ime de variabile aleatoare { X t , t ∈ T } unde T ⊂ R se nume te proces
stochastic.
Defini ie. Un proces stochastic în care mul imea T este cel mult num rabil se nume te lan .
Parametrul t poate fi timpul. Pentru t fixat X i este o variabil aleatoare, ceea ce înseamn c
pentru a cunoa te procesul este necesar s se cunoasc reparti iile sale pentru fiecare t ∈ T ,
precum i reparti ia vectorului aleator ( X t , X t ,..., X t ) pentru t1 ≤ t2 ≤ ... ≤ tn i pentru orice n .
1 2 n
Un lan Markov este bine definit prin matricea P i vectorul π 0 definite astfel:
P = ( pij ) pentru i, j = 1,2,..., N care se nume te matricea probabilit ilor de trecere.
π 0 = (π i (0)) = (π 1 (0), π 2 (0),..., π N (0)) unde π i (0) = P( X 0 = i ) reprezint reparti ia probabilit ilor
ini iale.
Lan ul { X n , n ∈ N } se nume te lan Markov de ordinul întâi discret i omogen dac fiecare din
variabilele { X n } ia o aceea i mul ime S discret de valori (finit sau num rabil ), valori ce
corespund st rilor procesului, astfel încât
P( X n = j / X n −1 = i1 , X n − 2 = i2 ,..., X n − p = i p ) = P( X n = j / X n −1 = i ) = pij , n ∈ N , p ∈ N , p > 1 pentru orice
st ri i, j ∈ S .
Dac S = {1,2,..., m}, m < ∞ , lan ul se nume te cu un num r finit de st ri.
77
Probabilit ile pij , care se numesc probabilit i de trecere, ne ajut s determin m reparti ia
st rilor la momentul n, când se cunoa te reparti ia la momentul n-1.
Defini ie. Se nume te traiectorie a unui lan Markov, mul imea de st ri (i1 , i2 ,..., in ) prin care
trece lan ul la momentele de timp 1,2,..., n .
O pereche (t , it ) , cu t fixat este un punct al traiectoriei.
Problema gener rii cu calculatorul a unui lan Markov revine la generarea unui punct al
traiectoriei, adic la generarea st rii j când se cunoa te starea precedent i.
Presupunem c matricea probabilit ilor de trecere P = ( pij ) este cunoscut .
Generarea unei st ri a unui lan Markov finit (cu m st ri) i omogen de ordinul întâi se face
astfel:
Pas 0. Ini ializare RNG.
j
Intrare F [i, j ] = pik ,1 ≤ i, j ≤ m
k =1
j←0
Pas 1. Genereaz U cu RNG uniform pe (0,1)
Pas 2. j ← j + 1
Pas 3. Dac F [i, j ] ≤ U transfer la Pas2.
Pas 4. Scrie j.
78
Tehnici de simulare Cursurile nr. 13 - 14
No iuni de baz
Fiabilitatea:
parametru principal al calit ii oric rui produs;
se calculeaz pe baza comport rii sistemelor studiate în exploatare.
Controlul de calitate apreciaz calitatea produsului finit în momentul livr rii c tre
beneficiar, în timp ce fiabilitatea apreciaz comportarea în timp a utiliz rii produsului.
Defini ia fiabilit ii (conform Comisiei Electronice Interna ionale): o caracteristic a unui
sistem (dispozitiv, produs etc.) exprimat prin probabilitatea cu care el îndepline te o func ie
necesar în condi ii date, pe o durat de timp dat .
Defini ia defec iunii: pierderea par ial sau total sau modificarea acelor propriet i ale
sistemului care diminueaz în mod esen ial sau conduc la pierderea complet a capacit ii de
func ionare.
Momentul apari iei unei defec iuni, timpul de func ionare pân la apari ia unei defec iuni
sau între dou defec iuni sunt variabile aleatoare.
Tipuri de fiabilitate:
fiabilitate previzional (proiectat , precalculat ) este fiabilitatea imprimat unui
sistem pe baz de calcule de c tre proiectant în etapa de concep ie a acestuia,
pornind de la caracteristicele componentelor, utilizare, solicit ri etc.;
fiabilitate experimental (tehnic ) determinat în urma experiment rii, în
condi ii de laborator, a func ion rii sistemului (produsului) în conformitate cu
normele prev zute în documenta ia tehnic ;
fiabilitatea opera ional (la beneficiar) determinat în condi ii reale de
exploatare, cu luarea în considerare a factorilor interni i externi;
fiabilitatea nominal este prescris în standarde, norme interne etc.
Indicatori de fiabilitate
79
Probabilitatea ca la momentul prescris s aib loc o defectare a sistemului este
Func iile R(t) i F(t) reprezint probabilit ile unor evenimente complementare în
sensul teoriei probabilit ilor.
Comportarea sistemului în jurul unui moment dat este descris de viteza instantanee
de defectare:
Fiabilitatea unui sistem poate fi descris i prin caracteristicile numerice ale variabilei
aleatoare timpului de func ionare pân la prima defectare :
80
∞
D = (t − m) 2 f(t)dt (7)
0
m= D (8)
Defini ie. Un sistem are uzur pozitiv dac func ia sa de fiabilitate este
descresc toare, ceea ce înseamn c fiabilitatea scade în timp.
Defini ie. Un sistem are uzur negativ dac func ia sa de fiabilitate este cresc toare,
ceea ce înseamn c fiabilitatea cre te cu vârsta.
Din rela ia (5) rezult c rata de defectare a unui sistem cu uzur pozitiv este
cresc toare, iar rata de defectare a unui sistem cu uzur negativ este descresc toare în
timp.
81
Nota ii. Sistemele cu uzur pozitiv se noteaz cu IFR (Increasing Failure Rate), iar
cele cu uzur negativ DFR (Decreasing Failure Rate).
Defini ie. Se nume te sistem cu uzur medie pozitiv , sistemul pentru care func ia
1 1
ln este cresc toare în timp i se noteaz IFRA (Increasing Failure Rate Average).
t R
Defini ie. Se nume te sistem cu uzur medie negativ , sistemul pentru care func ia
1 1
ln este descresc toare în timp i se noteaz cu DFRA (Decreasing Failure Rate
t R
Average).
Simularea fiabilit ii
82
S = starea sistemului
1, daca sistemul functioneaza
S=
0, daca sistemul nu functioneaza
R = P(S = 1) (Reliability = fiabilitatea sistemului)
F = P(S = 0 ) (Failure)
Leg tura dintre starea sistemului i starea componentelor este dat de o func ie
boolean numit func ie de structur : S = Φ(x1 , , x n )
Fiabilitatea sistemului depinde fiabilitatea componentelor.
Leg tura dintre fiabilitatea sistemului i fiabilitatea componentelor este dat de
func ia R = h( p1 , , p n ) .
Deosebim 3 tipuri de sisteme:
1. Sisteme serie: sistemul func ioneaz dac i numai dac toate componentele
func ioneaz .
2. Sisteme paralele: sistemul func ioneaz dac i numai dac cel pu in una din
componentele sale func ioneaz .
S = x1 ∨ x 2 ∨ ∨ x n = x1 ∧ x 2 ∧ ∧ xn
ceea ce înseamn c sistemul nu func ioneaz dac nici una din componentele sale nu
func ioneaz . De aici se poate deduce probabilitatea de defectare a sistemului notat cu F :
( ) ( )
n n
F = P S = 1 = ∏ P x i = 1 = ∏ qi , unde qi = 1 − pi
i =1 i =1
n
R = 1 − F = 1 − ∏ (1 − pi )
i =1
83
3. Sisteme complexe (sisteme „punte”)
Defini ie. Un sistem este coerent dac func ia sa de structur este cresc toare i
fiecare component este important .
Defini ie. Componenta i a unei func ii de structur este neînsemnat dac Φ este
constant în xi , adic :
Φ (1i , X ) = Φ (0 i , X ), unde (0 i , X ) = ( x1 , x 2 , , xi −1 ,0, xi +1 , , xn )
Propozi ie. Fie func ia de structur a unui sistem coerent. Au loc inegalit ile:
(X ∨ Y) ≥ (X) ∨ (Y)
(X ∧ Y) ≤ (X) ∧ (Y)
Propozi ie. Fie func ia de structur a unui sistem cu n componente. Atunci are
loc urm toarea identitate :
84
(X)=x i (1 i ,X) +(1-x i ) (0 i ,X), ∀ i=1,2, . . ., n
Exemplu:
85
Simularea fiabilit ii unui sistem coerent
Algoritmul de simulare:
Sistemele a c ror structur nu poate fi, în general, redus la combina ii de tip serie
sau paralel ( structuri elementare ) le numim sisteme complexe.
În cazul sistemelor complexe, determinarea func iei de structur devine o problem
dificil . Un asemenea algoritm, pe care l-am numit FIAB1, pentru un sistem cu n
componente reprezentat sub forma unui graf cu k noduri, se prezint astfel :
86
Pas0: Intrare matrice asociat sistemului (matricea conexiunilor) [C] kxk .
Pas1: Se adun la matricea C matricea identitate de ordinul k.
Pas2: Se înl tur prima coloan i ultima linie a matricei ob inute.
Pas3: Calculeaz det Dk −1 asociat matricei r mase folosind opera iile de sum i
produs boolean.
Φ = Dk −1
Calculul fiabilit ii unui sistem complex este o problem dificil care conduce la un
volum mare de munc i este greu de algoritmizat. În asemenea cazuri, o evaluare numeric
a func iei de fiabilitate poate fi realizat printr-o metod Monte Carlo, cu ajutorul
calculatorului.
În ipoteza independen ei defect rii componentelor sistemului, fiecare component
poate fi în una din cele dou st ri : func ioneaz sau este defect , iar algoritmul, denumit
FIAB3, se prezint astfel :
87
Pas0: Ini ializeaz RNG.
Ini ializeaz algoritmul pentru calculul func iei de structur .
Ini ializeaz algoritmii pentru generarea fiabilit ilor componentelor
p i ( i=1,2, ...,n).
Intr ri : parametri densit ilor de probabilitate corespunz toare
componentelor sistemului.
k =1
Pas1: Calculeaz func ia de structur cu algoritmul FIAB1.
Pas2: Genereaz p k cu algoritmul FIAB2 .
Pas3: Genereaz U k → (0,1)
Pas4: dac U k < p k atunci xk = 1 , altfel x k =0
Pas5: k ← k + 1 dac k ≤ n trece la Pas 2. Altfel trece la Pas 6
Pas6: S = Φ(x1 , , x n )
unde N depinde de precizia cerut i reprezint num rul de simul ri efectuate cu algoritmul
de mai sus.
Func ionarea unui sistem este influen at de o mul ime de factori. Influen a acestor factori
este diferit . De mare importan pentru func ionarea unui sistem este cunoa terea factorilor
care au o influen semnificativ asupra sistemului.
Ob inerea unor informa ii privind influen a unor factori asupra func ion rii sistemului înainte
de efectuarea unor încerc ri de fiabilitate se poate realiza folosind metode bayesiene.
În contextul teoriei fiabilit ii se pune problema estim rii bayesiene a parametrilor legii de
reparti ie a timpului de func ionare sau a indicatorilor de fiabilitate dac nu exist o lege de
reparti ie a timpului de func ionare.
Teorema lui Bayes. Dac A1 , A2 ,..., An formeaz un sistem complet de evenimente, atunci
pentru orice eveniment A, avem:
P( A / Ai ) P( Ai )
P ( Ai / A) = i = 1,2,..., n
P( A / A1 ) P( A1 ) + P( A / A2 ) P( A2 ) + ... + P( A / An ) P( An )
88
Demonstra ie.
Observa ie.Dac se cunosc probabilit ile P( Ai ) i P( A / Ai ) unde A este un eveniment
oarecare, atunci probabilitatea evenimentului Ai , tiind c A s-a realizat este dat de formula
lui Bayes.
În locul evenimentelor Ai vom considera cauze (ipoteze) notate cu H i , constituind un model
adecvat pentru o situa ie practic .
Evenimentul A este interpretat ca realizarea unei situa ii practice, iar probabilit ile P( H i )
sunt cunoscute i se numesc ”probabilit i apriori” ale diferitelor ipoteze.
Pe de alt parte, cauza H i realizeaz evenimentul A cu probabilitatea PA / H i ) , aceste
probabilit i fiind i ele cunoscute.
tiind c evenimentul A s-a produs, formula lui Bayes permite calcularea lui P( H i / A) ,
care se numesc „probabilit i aposteriori”.
Cu alte cuvinte, tiind c evenimentul A s-a produs, care este probabilitatea ca acest fapt s
se datoreze cauzei H i .
Exemplu. Defec iunile unor arbori de transmisie sunt datorate în 25% din cazuri cuplurilor
aplicate i în 75% aceste defect ri se datoreaz montajului. Printre defect rile datorate
cuplurilor foarte puternice, 20% antreneaz ruperea arborilor, în timp ce doar 5% dintre
defectele de montaj au aceea i consecin . Constatând o ruptur de arbore, se poate
determina probabilitatea ca ea s se datoreze unei suprasolicit ri.
89