1

TEHNICI DE SIMULARE



1. Obiectivul disciplinei

Prezentarea, cunoasterea si însusirea elementelor de bazá si a tehnicilor privind
modelarea si simularea sistemelor, cu aplicatii în practicá.

2. Desfurarea disciplinei

Curs : 2 ore / sáptámâná.
Laborator : 2 ore / sáptámâná.

3. Programa analitic a cursului

1. Notiuni despre modele, sisteme, simulare-------------------------------2 ore
2. Descrierea modelelor de simulare----------------------------------------2 ore
3. Numerelor aleatoare uniforme. Metode de generare-------------------2 ore
4. Simularea unor repartitii prin metoda inversá---------------------------2 ore
5. Simularea unor repartitii prin metoda respingerii si compunerii----- 2 ore
6. Simularea unor repartitii prin alte metode-------------------------------2 ore
7. Simularea unor repartitii multidimensionale----------------------------2 ore
8. Metoda Monte Carlo. Aplicatii-------------------------------------------4 ore
9. Simularea unor procese stochastice--------------------------------------2 ore
10. Simularea unor procese de asteptare--------------------------------------2 ore
11. Simularea unor procese de stocare----------------------------------------2 ore
12. Aplicatii ale simulárii în fiabilitate----------------------------------------4 ore

4. Tematica laboratorului

1. Prezentarea unor elemente de probabilitáti si statisticá----------------2 ore
2. Programarea si aplicarea unor testelor statistice------------------------2 ore
3. Simularea aprovizionárii unui stoc----------------------------------------2 ore
4. Generare de numere aleatoare ---------------------------------------------2 ore
5. Simularea unor repartitii discrete------------------------------------------2 ore
6. Simularea unor repartitii continue---------------------------------------- 4 ore
7. Simularea unor procese stochastice---------------------------------------2 ore
2
8. Aplicatii ale Metodei Monte Carlo----------------------------------------4ore
9. Simularea unui procese de reparatii---------------------------------------2 ore
10. Simularea unor procese de asteptare--------------------------------------2 ore
11. Simularea unor procese de stocare----------------------------------------2 ore
12. Algoritmi si 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 congruentiale.
5. Generarea unor variabile aleatoare prin metoda inversá folosind solutii
numerice: metoda bisectiei.
6. Generarea unor variabile aleatoare prin metoda inversá folosind solutii
numerice: metoda secantei.
7. Generarea unor variabile aleatoare prin metoda inversá folosind solutii
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 repartitie normalá.
12. Calculul unor integrale prin Metoda Monte Carlo.
13. Simularea unor cazuri concrete de stocare.
14. Simularea unor cazuri concrete de asteptare.
15. Programarea algoritmului pentru calculul functiei de structurá a unui sistem.

6. Bibliografie
1. Váduva Ion, Modele de simulare cu calculatorul, Editura Tehnicá, Bucuresti, 1977.
2. Váduva Ion si altii, Simularea proceselor economice, Editura Tehnicá, Bucuresti,
1983.
3. Ratiu Camelia-Suciu, Modelarea ¸i simularea proceselor economice, Editura
Didacticá si Pedagogicá, Bucuresti, 1995.
4. Gorunescu F., Prodan A., Modelare stochasticà ¸i simulare, Editura Albastrá, 2001.
5. Barbu Gh., Modele de simulare cu aplicatii în fiabilitate, Editura Tehnicá,
Bucuresti, 1992.
6. Ziegler P.B., Theory of Modelling and Simulation, John Wiley and Sons, New York.



3
7. Evaluare

Prezentá activá la curs ---------------------------------------------------------20 %
Activitate la laborator ----------------------------------------------------------10%
Proiect----------------------------------------------------------------------------20%
Examen partial------------------------------------------------------------------ 20%
Examen final---------------------------------------------------------------------30 %



































4
Tehnici de simulare Cursul nr.1


NOIUNI DESPRE SISTEME, MODELE, SIMULARE

Cuvântul „simulare” derivá din latinescul „simulatio”, care înseamná capacitatea de a
reproduce, reprezenta sau imita ceva.
În matematicá, termenul „simulare” a fost folosit pentru prima datá de cátre John von
Neumann si S. Ulan în anii 1940-1944, cu ocazia cercetárilor de fizicá nucleará efectuate în
S.U.A. Ei, împreuná cu N. Metropolis, Fermi si alti matematicieni si fizicieni ai scolii „Los
Alamos” au introdus în aceeasi perioadá un nume pitoresc în matematicá si anume „metoda
Monte Carlo”. Denumirea, desigur improprie, provine din faptul cá primele metode de
generare a numerelor aleatoare au fost cele oferite de rezultatele obtinute la ruletele
vestitelor cazinouri din Monte Carlo.
Se spune cá simularea este mai mult o artá decât o stiintá.

Modele

Modelarea este o metodá de studiu a unor procese si 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 multime de párti în
interactiune 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átii. Dacá ele ar fi tot atât de greu de
manevrat ca realitatea, prin utilizarea lor nu s-ar obtine nici-un avantaj. De obicei se pot
construi modele mult mai simple decât realitatea, pe baza cárora putem sá prevedem si sá
explicám cu un înalt grad de acuratete, fenomene complexe. Explicatia constá în faptul cá,
desi pentru a descrie un fenomen este necesar un numár mare de variabile, de obicei putine
dintre acestea au rol esential. Important este sá descoperim care sunt acele variabile si
relatiile dintre ele.
Modelarea matematicá ocupá un loc important în ansamblul metodelor de modelare,
în special prin facilitátile oferite de calculatoarele cu capacitate mare de memorare si vitezá
mare de lucru.
5
Modelele matematice au apárut din necesitatea de a descrie si studia formal
comportarea diferitelor tipuri de sisteme reale, cu scopul luárii unor decizii privind evolutia
lor viitoare.
Elaborarea unei structuri matematice împreuná cu o listá de corespondente între
simbolurile matematice si obiectele situatiei 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 iesire. Legáturile si
interactiunile dintre componentele sistemului sau legáturile sistemului cu exteriorul se
transpun în modelul matematic prin relatii functionale(ecuatii si/sau identitáti). Scopul
modelului este de a exprima variabilele necontrolabile în functie de variabilele controlabile,
astfel încât sá fie satisfácute criteriile de performantá. Uneori nu este posibil sá se exprime
sub formá de ecuatii toate legáturile, conditionárile si interdependentele necesare, motiv
pentru care unele dintre acestea se descriu prin conditii 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 si parametrilor de intrare care conduc la performantele dorite.

Sisteme

Dezvoltarea în ritm accelerat a stiintei si tehnicii contemporane creeazá complexitate,
care devine din ce în ce mai greu de controlat, de stápânit, de condus. În sprijinul eforturilor
sale de a stápânii complexitatea, de a-i cunoaste componentele, de a descoperi diferite legi
care o guverneazá, omul a creat notiunea de sistem.
Sistemul reprezintá un ansamblu de elemente (componente fizice sau logice, legi,
reguli etc.) interconectate, care functioneazá în comun pentru realizarea unuia sau mai
multor scopuri.
Elementul reprezintá o parte din sistem (un subansamblu sau o componentá) capabilá
sá îndeplineascá o anumitá functiune în cadrul sistemului.
Elaborarea unei structuri matematice împreuná cu o listá de corespondente între
simbolurile matematice si obiectele situatiei concrete considerate a condus la ceea ce numim
model matematic. Modelele matematice au apárut din necesitatea de a descrie si studia
formal comportarea unei categorii de sisteme reale, cu scopul de a controla si dirija
activitatea lor viitoare.
Necesitatea obtinerii unor informatii despre un anumit sistem înainte ca el sá fie
realizat a condus la aparitia simulàrii.
6
Sistem
Intrári
Iesiri
Oamenii tráiesc în sisteme sociale. Activitatea tehnologicá a produs sisteme fizico-
tehnice complexe.
Exemple: Un automobil este un sistem format din componente care actioneazá
împreuná pentru a asigura transportul.
Familia este un sistem de convietuire si de crestere a copiilor.
O clasificare a sistemelor poate fi fácutá în sisteme deschise si sisteme cu conexiune
inversá.
Un sistem deschis este caracterizat de iesiri care corespund intrárilor în sistem, dar
iesirile sunt izolate de intrári si nu au nici o influentá asupra acestora. Într-un sistem deschis,
rezultatele actiunii trecute nu comandá actiunea viitoare. Sistemul nu observá si nu
reactioneazá la propria-i performantá.
Exemplu: Un automobil este un sistem deschis care singur nu se poate conduce dupá
drumul pe care l-a parcurs în trecut si nici nu are o anumitá „tintá”, directie, spre care sá
meargá în viitor. Un ceas este de asemenea un sistem deschis; el nu-si

Fig.1 Sistem deschis
observá propria imprecizie pentru a si-o controla singur.

Sistemul cu conexiune inversà (cu reactie sau feed-back) care este denumit si sistem
închis este influentat de propria-i comportare trecutá. La aceste sisteme iesirile pot regla
intrárile. Un sistem cu conexiune inversá functioneazá ca o buclá închisá care foloseste
rezultatele actiunii trecute ale sistemului pentru a comanda actiunea viitoare.
Exemplu: Un ceas si 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
pentru a
elimina
erorile.

Fig.2 Sistem cu conexiune inversá

Bucla conexiunii inverse este o cale închisá care leagá în aceeasi secventá o decizie
ce comandá actiunea, starea sistemului si informatia despre starea sistemului, în final
întorcându-se la punctul de luare a deciziilor.
Decizie Actiune

Starea sistemului
Informatia
7
Î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 usor de studiat decât S. Printr-un sistem S
întelegem urmátoarea structurá de multimi:

S ={T, X, U, V, Y, ç, q}
unde
- T este timpul de bazá utilizat pentru cronometrarea si ordonarea evenimentelor; T este un
numár real dacá sistemul este cu timp continuu sau întreg dacá sistemul este cu timp
discret;
- X reprezintá multimea intrárilor în sistem;
- U este multimea segmentelor de intrare în sistem, prin segment de intrare în sistem
asociat functiei X T u → : întelegându-se graficul functiei u pe un interval [ ]
1 0
, t t , adicá:
[ ] ( )
1 0
, t t u = ( ) ( ) { }
1 0
| , t t t t u t ≤ ≤ ;
- V este multimea stárilor sistemului; starea este un concept de modelare a structurii interne
a sistemului, ce contine istoria acestuia si care-i afecteazá prezentul si viitorul si
împreuná cu forma intrárilor determiná în mod unic iesirile din sistem;
- Y este multimea iesirilor sistemului;
- ç este functia de ráspuns a sistemului Y V X → × ϕ: ; dacá la o intrare [ ] ( )
1 0
, t t u sistemul se
aflá în starea V
t
∈ σ
0
atunci iesirea sistemului [ ] ( ) ( )
0
, ,
1 0 t
t t u Y σ ϕ = ;
- q este functia de tranzitie a stárilor ceea ce înseamná cá dacá intrarea [ ] ( )
1 0
, t t u gáseste
sistemul în starea V
t
∈ σ
0
atunci îl transformá pe acesta în starea [ ] ( ) ( )
0 1
, ,
1 0 t t
t t u σ η = σ .
Cunoasterea intrárilor u U ∈ si a ráspunsurilor corespunzátoarea acestora Y y ∈
reprezintá comportarea sistemului.
Un model al unui sistem trebuie sá îndeplineascá urmátoarele trei conditii:
1. modelul trebuie sá reflecte cât se poate de fidel realitatea reprezentatá;
2. modelul trebuie sá constituie o simplificare a realitátii reprezentate;
3. modelul este prin esenta sa o idealizare a realitátii reprezentate.
Simulare

În proiectarea sistemelor, deosebit de importantá este obtinerea unor informatii despre
sistem înainte ca el sá fie realizat concret; acest lucru este posibil aplicând tehnica simulárii.
Prin simulare numericà se întelege totalitatea procedeelor matematice si de calcul
destinate studiului comportárii în timp a sistemelor reale cu ajutorul calculatoarelor
electronice numerice, presupunându-se cá în evolutia acestor sisteme intervin si elemente
aleatoare. Simularea numericá este o tehnicá potrivit cáreia se asociazá sistemului real un
model adecvat numit model de simulare, care reprezintá multimea interactiunilor logice ale
componentelor sistemului, precum si mecanismul schimbárii lor în timp. Modelul este
8
folosit apoi pentru a produce, prin intermediul calculatorului, succesiunea cronologicá de
stári prin care trece sistemul, considerându-se datá starea sa initialá.
Deoarece în evolutia lor sistemele reale sunt influentate de cauze aleatoare al cáror
efect trebuie pus în evidentá în cadrul modelelor de simulare, una din problemele
matematice importate ale simulárii numerice constá în generarea cu calculatorul a unor
selectii statistice asupra diferitelor tipuri de variabile aleatoare si 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 cresteri pe parcursul simulárii.
Desi nu oferá solutii exacte simularea este o tehnicá eficientá de cercetare atât pentru
fenomenele fizice care nu pot fi percepute de om cât si 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átilor de evaluare calitativá sau cantitativá
a fenomenelor, fie din cauza complexitátii (numárul mare de variabile de intrare si de iesire,
numárul mare de stári posibile, complexitatea functiilor ç si q, etc.).
Studiul variantelor de decizie pe modele, pe lângá avantajele de naturá economicá,
scurteazá durata de obtinere a solutiilor, permite analiza unui numár mare de variante prin
modificarea conditiilor initiale, având avantajul revenirii la varianta de ráspuns conformá cu
cerintele utilizatorului.
Folosirea unui sistem real pentru experimentare poate conduce la perturbarea
activitátilor unui domeniu în care este studiat sistemul, anumite variante mai putin inspirate
putând avea implicati imprevizibile.
În cazul unor sisteme care nu existá încá se poate obtine un plan de construire a
sistemului în functie de anumite criterii de optimizare a intrárilor si/sau iesirilor sistemului
reprezentat. De exemplu, dacá utilizám simularea pentru proiectarea unui baraj, dimensiunile
si rezistenta acestuia se pot determina prin experimente cu calculatorul pe un model care
prevede cerinta medie de curent electric si factori aleatori precum volumul precipitatiilor în
intervalele de timp stabilite. Experimentele reale nu sunt practice, deoarece barajul odatá
construit nu poate fi modificat.
Desigur cá simularea presupune si unele dezavantaje. Construirea modelelor de
simulare cere o pregátire specialá. Se spune cá simularea este mai degrabá o artá decât o
stiintá, care se învatá în timp si prin experientá.
Rezultatele simulárii sunt aproximative si nu exacte, iar uneori sunt greu de
interpretat. Cele mai multe iesiri ale sistemului sunt variabile aleatoare (bazate pe intrári
aleatoare) si va fi greu de determinat dacá se datoreazá interactiunilor sistemului sau
întâmplárii.




9
Tipuri de modele

În multe domenii stiintifice se folosesc trei tipuri de modele:
• modele imitative
• modele analogice
• modele simbolice.
Modelele imitative transpun realitatea la o altá scará, mai mare sau mai micá, cu
scopul observárii comportárii realitátii respective. Prin modele imitative se obtin imitatii ale
realitátii, ceea ce înseamná cá un model imitativ seamáná cu fenomenul pe care-l reprezintá,
dar diferá ca márime; el este o imagine. Pentru exemplificare mentionám desenele, hártile,
machetele de automobile , nave avioane etc. Modelele imitative ale soarelui si planetelor
sunt micsorate, în timp ce modelele atomice(modelul lui Bohr, de exemplu) sunt márite.
Modelele imitative sunt specifice, concrete (fizice) si greu de manipulat în scopuri
experimentale.
Modelele analogice, spre deosebire de cele imitative, exprimá un fenomen sau proces
pe car-l studiem (al cárui comportament nu-l cunoastem aprioric) printr-un model realist al
unui fenomen sau proces care prezintá analogii.
Modelele analogice folosesc anumite proprietáti pentru a reprezenta alte proprietáti.
Ele sunt mai putin specifice, mai putin concrete, dar mai usor de mânuit decât modele
imitative. De exemplu, se pot utiliza modele unor sisteme hidraulice pentru studierea unor
sisteme electrice sau de transport. Un alt exemplu îl constituie analogiile istorice pentru
prognoza dezvoltárii societátii într-o anumitá tará. Liniile de nivel pe o hartá topograficá
reprezintá un model analogic al înáltimilor unei structuri date.
Modelele simbolice folosesc litere, cifre sau alte simboluri pentru a reprezenta
caracteristicile unei realitáti. Corelatiile între caracteristicile realitátii au condus la scrierea
unor relatii matematice adecvate si prin aceasta la crearea unui model abstract (matematic).
Modelele matematice folosesc simboluri si ecuatii matematice pentru a reprezenta un
sistem.
Un model de simulare este un tip particular de model matematic al unui sistem.
Modelele de simulare pot fi clasificate astfel:
• statistice sau dinamice
• deterministe sau stochastice,
• discrete sau continue.
Modelele statice sunt acelea care nu iau în mod explicit în considerare variabila timp;
ele reflectá situatii si stári invariante si atemporale. Cele mai multe modele statice sunt
deterministe si solutiile lor pot fi obtinute si analitic.
Modelele dinamice sunt acelea care tin seamá de variatia si interactiunea în timp a
variabilelor considerate. Ele încorporeazá timpul ca márime fundamentalá. Timpul constituie
o variabilá de stare. Ele se rezolvá utilizând tehnica simulárii.
10
Modelele deterministe sunt acelea în care toate variabilele sunt nealeatoare, iar
caracteristicile operative sunt ecuatii de o anumitá formá; de obicei, solutiile acestor modele
se obtin pe cale analiticá.
Modelele stochastice sunt acelea care contin una sau mai multe variabile de intrare
aleatoare si deci una din caracteristicile operative este datá printr-o functie de densitate;
intrárile aleatoare conduc la iesiri 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 inferentá 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.






















11
Tehnici de simulare Cursul nr.2


DESCRIEREA MODELELOR DE SIMULARE

În procesul de modelare matematicá, modelul este reprezentativ pentru
sistemul fizic dacá se respectá conditia de cauzalitate, ceea ce conduce la
clasificarea elementelor în:
elemente de intrare (cauzá) care formeazá vectorul de intrare x=(x
1
,
x
2
,…x
m
)
elemente de ie¸ire (efect) care formeazá vectorul de iesire y=(y
1
,
y
2
,…y
n
),).
ambii vectori fiind în general aleatori.
În absenta oricáror informatii asupra structurii sistemului, acesta este
descris matematic de cátre dependenta functionalá dintre vectorul de iesire si
vectorul de intrare: y=f(x).
Variabilele de intrare pot fi:
variabilele deterministe, care se obtin dupá reguli bine precizate sau
se gásesc înregistrate pe suporti de informatie;
variabilele stochastice, care sunt generate cu calculatorul dupá
algoritmi de generare performanti, generarea depinzând de parametrii
de intrare care caracterizeazá aceste variabile.
O etapá în care toate variabilele de intrare iau valori constante în timpul
executárii programului de simulare se numeste pas al simulàrii.
Variabilele de iesire depind de variabilele de intrare. Dependenta este
determinatá de structura logicá a modelului de simulare considerat; o valoare a
unei variabile de iesire este rezultatul executárii unui pas al programului de
calcul asociat modelului. Dacá cel putin una din variabilele de intrare este
stochasticá, atunci cel putin una din variabilele de iesire este stochasticá.
De mare importantá în construirea modelului de simulare este procedeul
de “miscare” a sistemului în timp; pentru aceasta este necesará introducerea unei
variabile speciale numitá ceasul simulàrii, care sá másoare scurgerea timpului
real în care se simuleazá sistemul, cu scopul de a mentine ordinea corectá în timp
a evenimentelor.
12
Modelele de simulare mai contin relatii functionale (identitáti si/sau
ecuatii) precum si caracteristici operative, fiind utilizate pentru a exprima prin
relatii matematice interactiunile variabilelor si comportarea sistemului.
O caracteristicá operativá este de obicei o ipotezá (statisticá sau nu) sau o
ecuatie matematicá precizatá care leagá variabilele de intrare ale sistemului de
stári sau de variabilele de iesire.
Dacá aceste variabile sunt stochastice, caracteristicile operative iau forma
unor functii de densitate de probabilitate, iar printre parametrii de intrare ai
modelului vor fi si parametrii statistici ai caracteristicilor operative. Acesti
parametri au rol de márimi de intrare în modelul de simulare si trebuie estimati în
prealabil din observatii 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 si parametrilor de intrare ai sistemului si a
deduce pe baza modelului, ca rezultat al calculelor, efectele lor asupra
variabilelor de iesire.
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 si nu în mod continuu.
În cazul simulárii cu timp continuu, variabilele care descriu starea
sistemului îsi schimbá valorile în mod continuu în raport cu timpul.
Etapele rezolvrii unui model de simulare
Construirea modelelor de simulare constituie un proces amplu care în
general presupune parcurgerea urmátoarelor etape:
1. Definirea problemei, etapá în care se stabilesc obiectivele simulárii:
întrebárile la care trebuie sá ráspundá sá fie clare
ipotezele ce trebuiesc testate sá fie însotite de criterii de acceptare
efectele ce urmeazá a fi estimate.
13
2. Colectionarea, analiza, interpretarea ¸i prelucrarea primarà a datelor.
În aceastá etapá se stabilesc:
datele de observatie necesare pentru studierea sistemului considerat
modalitátile de strângere a datelor de observatie
Aceastá etapá este esentialá deoarece colectionarea unor date eronate are
mari consecinte în obtinerea rezultatelor finale, motiv pentru care este
necesará o analizá preliminará si o interpretare a lor pentru a depista
eventualele neconcordante cu realitatea. Se efectueazá o prelucrare primará,
apoi se face conversia si transmiterea lor, în vederea organizárii în fisiere
pentru a putea fi utilizate de calculator. Datele de observatie sunt necesare
pentru estimarea parametrilor caracteristicilor operative ale modelului ce va fi
construit, initializarea variabilelor de intrare ale modelului si validarea lui.
3. Formularea modelului de simulare.
Pentru a construi un model matematic de simulare a unui sistem, componentelor
sale li se asociazá anumite variabile si parametri, unele dintre acestea fiind
• cunoscute (controlabile) pe care le numim variabile si parametri de intrare
• necunoscute (necontrolabile) pe care le numim variabile si parametri de
iesire.
Interactiunile dintre componentele sistemului sau legáturile sistemului cu
exteriorul se regásesc în modelul matematic sub forma unor relatii functionale.
Printre relatiile modelului existá una sau mai multe functii care leagá diferite
variabile si care másoará performanta sistemului. Deoarece în evolutia lor
sistemele reale sunt influentate de factori aleatori al cáror efect este pus în
evidentá în cadrul modelului de simulare, o parte din variabilele de intrare ale
modelului sunt variabile aleatoare având functii de repartitie cunoscute. De aici
apare necesitatea ca modelul de simulare sá continá rutine care sá genereze
aceste variabile de intrare. Modelul de simulare trebuie sá continá
14
• 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.

Construirea unui model de simulare diferá de la o problemá la alta, motiv pentru
care nu pot fi stabilite niste reguli general valabile. Cu toate acestea se pot indica
câteva reguli de care trebuie sá se tiná seama în construirea modelului de
simulare. Una dintre acestea se referá la numárul de variabile pe care le foloseste
modelul; un numár prea mare ar crea dificultáti în ceea ce priveste stabilirea
relatiilor functionale, ar face ca modelul sá fie mai putin flexibil, iar timpul de
calculat ar fi mai mare. Nu trebuie sá se ajungá nici la cealaltá extremá a
simplificárii exagerate a modelului prin folosirea unui numár mic de variabile,
deoarece în acest caz ar putea pierde o parte din aspectele esentiale ale
problemei. Relatiile functionale ale modelului trebuie sá aibá o formá cât mai
simplá, fiind usor de calculat si evaluat în asa fel încât erorile de calcul induse sá
fie cât mai mici, asigurând în acest fel o cât mai buná precizie a modelului.
De mare importantá în realizarea modelelor de simulare este obtinerea unui timp
de calcul redus, fapt ce permite simularea diferitelor variante de sistem cu costuri
(eforturi) rezonabile.
O altá cerintá de care trebuie sá se tiná seama la construirea modelelor de
simulare se referá la mijloacele prin care poate fi verificatá corectitudinea
modelului si variantele ce urmeazá a fi simulate cu ajutorul calculatorului
electronic.
4. Estimarea parametrilor de intrare ai modelului.

Parametrii de intrare ai modelului matematic de simulare se estimeazá prin
metode statistice, folosind datele colectionate (în prima etapá) despre sistemul
real. Caracteristicile operative pot avea forma unor ecuatii sau sisteme de
ecuatii depinzând de anumiti parametri care pot fi estimati cu ajutorul
tehnicienilor specifici analizei regresiei.
15
5. Evaluarea performantelor modelului ¸i testarea parametrilor.

Aceastá etapá are ca scop verificarea modelului înainte ca el sá fie
programat. Se verificá dacá parametrii de intrare ai modelului au fost bine
estimati (folosind teste statistice), se verificá dacá modelul contine toate
variabilele si parametrii esentiali precum si relatiile functionale necesare
reprezentárii interdependentelor esentiale ale sistemului real.
În cazul când caracteristicile operative iau forma unor ipoteze statistice
referitoare la repartitiile variabilelor de intrare, atunci se aplicá testele de
concordantá (testul ℵ
2
, Kolmogorov-Smirnov) pentru verificarea acestor
ipoteze.
Dacá în urma acestor verificári se constatá cá o întrebare sau o ipotezá nu
este corect formulatá, atunci variabilele si parametrii nu au fost bine alesi,
parametrii de intrare nu au fost bine estimati sau se constatá alte neconcordante
în cadrul modelului, atunci toate etapele precedente vor fi reluate în vederea
corectárii lor.
6. Descrierea algoritmului de simulare ¸i scrierea programului de calcul.
Pe baza rezultatelor etapelor precedente se construieste algoritmul de
calcul care reprezintá succesiunea logicá a evenimentelor ce urmeazá a fi
reproduse cu calculatorul electronic. Pentru a fi mai usor de programat,
algoritmul este reprezentat printr-o schemá logicá; urmeazá scrierea
programului care se poate face fie folosind un limbaj de programare de nivel
inalt: Fortran, Pascal, C / C++, fie un limbaj special de simulare, de exemplu
GPSS.
Alegerea limbajului de programare depinde de mai multi factori, din care
amintim: timpul calculator necesar simulárii, forma sub care trebuie imprimate
rezultatele simulárii, experienta ca programator etc.
Limbajele de simulare (specializate) fac mult mai usoará descrierea unui
sistem si a comportárii lui în timp. Ele pot usura mult modelarea, ceea ce face
sá fie net superioare din acest punct de vedere limbajele generale de
programare.


16
7. Validarea modelului.

Validarea modelului, adicá stabilirea adecvárii lui la realitate, este de
obicei o sarciná complexá si dificilá. Valoarea unui model în raport cu
contributia sa la studiul situatiei concrete modelate este determinatá de gradul
sáu de adecvare, adicá la modul în care predictiile concordá cu observatiile.
Metodele de validare a modelelor matematice de simulare nu sunt unice.
Validarea modelului se poate face prin:
testarea modelului într-un caz particular, în care solutia se cunoaste
sau poate fi dedusá cu usurinta pe cale analiticá
compararea rezultatelor simulárii cu datele obtinute prin observarea
unor sisteme similare sau prin comparatie cu evolutia trecutá a
sistemului real care a fost simulat.
Variantele modelului care se dovedesc neadecvate sunt modificate pâná se
ajunge la solutii care concordá cu realitatea.
8. Planificarea experientelor de simulare.
În aceastá etapá se face atribuirea variabilelor si parametrilor de intrare a
valorilor care sá acopere situatiile reale în care s-ar putea afla sistemul în vederea
selectárii variantei care satisface cerintele utilizatorului.
9. Analiza datelor simulate.

Rezultatele simulárii ne prezintá care este “reactia” sistemului la
modificarea valorilor variabilelor de intrare si mai mult, în ele vom cáuta
ráspunsurile la întrebárile formulate la început. Acest lucru este posibil
colectionând datele simulate, prelucrându-le calculând statisticile pentru testele
de semnificatie si apoi interpretând doar rezultatele.
Ceasul simulrii
Prin intermediul modelului de simulare calculatorul electronic produce succesiv
diferite evenimente care reprezintá schimbárile ce au loc în timp în cadrul
sistemului. Pentru a putea mentine ordinea corectá a acestor evenimente si pentru
putea preciza, dupá fiecare pas al simulárii care este intervalul de timp în care s-
17
a simulat evolutia 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 “crestere” a ceasului care sá se adauge márimii ceasului
la pasul anterior.
Existá douá tipuri de ceas:
• ceas cu crestere fixá (constantá)
• ceas cu crestere variabilá.
Simularea bazatá pe metoda ceasului constant, constá în a genera de fiecare datá
o crestere constantá c a ceasului si 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á crestere care se va adáuga
ceasului, se va repeta analiza mentionatá.
Schema logicá a modelului de simulare trebuie în acest caz sá descrie în mod
complet evolutia sistemului pe un interval de timp de lungime c; simularea
sistemului pe un interval mare (oarecare) de timp se va obtine 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 iteratii ale algoritmului de
simulare.
În cazul ceasului variabil, valoarea (variabilá) a cresterii ceasului este egalá cu
lungimea intervalului de timp dintre aparitiile a douá evenimente consecutive.
Cu alte cuvinte márimea cresterii ceasului este egalá cu intervalul de timp de la
starea actualá la momentul aparitiei celui mai apropiat eveniment viitor.
În cazul modelului cu ceas constant, avem:
O e
1
e
2
e
3
e
4
T

T
1
T
2
T
3
În cazul modelului cu ceas variabil, avem:
18
O e
1
e
2
e
3
e
4
T
T
1
T
2
T
3
T
4

Metoda ceasului variabil presupune în mod riguros considerarea ordinii
tuturor aparitiilor de evenimente succesive, astfel încât la fiecare nouá aparitie
corespunde o crestere a ceasului.
În cazul modelelor cu ceas constant, dacá de exemplu valoarea ceasului la
un moment dat este T=ck, atunci în aceastá fazá algoritmul de simulare va genera
evenimentele care urmeazá sá se producá în intervalul de timp ( ) [ ) ,ck k- c 1 si dupá
aceea va avansa ceasul la valoarea T=c(k+1).
Un model de simulare bazat pe metoda ceasului constant considerá grupul
de evenimente produse în intervalul ( ) [ ) ,ck k- c 1 ca si cum s-ar fi produs la momentul
ck.
În consecintá procedeul bazat pe metoda ceasului constant, spre deosebire
de cel bazat pe ceas variabil, face ca grupul de evenimente care apar pe un
interval de timp de lungime c sá fie sincronizate la momentul terminárii acelui
interval. Din acest motiv este recomandabil sá se aleagá constanta c cât mai
micá. Aceasta va conduce la cresterea timpului de calcul. Pe de altá parte,
márirea constantei c datoritá sincronizárii unor evenimente ce se petrec la
momente de timp îndepártate, va mári gradul de aproximatie al modelului si va
reduce timpul de calcul.
Metoda bazatá pe ceasul constant este de preferat celei bazatá pe ceasul cu
crestere variabilá, mai ales din punctul de vedere al usurintei cu care se poate
construi algoritmul simulárii.











19
Tehnici de simulare Cursul nr.3



NUMERE ALEATOARE UNIFORME. METODE DE GENERARE


Numere aleatoare: numerele care sunt “alese la întâmplare”.
Se utilizeazá:

în aplicatii în care realizeazá înlocuirea valorilor variabilei aleatoare cu o
multime de valori care au proprietátile statistice ale acesteia;
în simularea numericá pentru a reproduce în mod realist anumite elemente ale
sistemului simulat, precum si pentru rezolvarea unor probleme numerice cu
ajutorul metodelor Monte Carlo;
în cercetarea statisticá pentru a produce selectii întâmplátoare în cadrul unei
populatii statistice, selectii cárora li se pot aplica apoi procedee de prelucrare
si interpretare specifice statisticii matematice;
în testarea programelor pe calculator.

Se numeste ¸ir de numere aleatoare independente cu o repartitie de probabilitate specificatá,
sirul care îndeplineste conditiile:

numerele sirului au fost obtinute la întâmplare;
fiecare numár nu este în nici un fel legat de celelalte numere ale sirului si în
plus are o anumitá proprietate de a se afla într-un anumit interval.

Un sir de numere aleatoare independente cu o repartitie specificatá este o selectie
întâmplátoare efectuatá asupra unei variabile aleatoare a cárei repartitie este cea specificatá.

Observatie. Dacá într-un sir de numere putem prevedea unul din termenii sirului în functie
de termenii precedenti atunci sirul nu este aleator. În cadrul sirurilor de numere aleatoare de
lungime foarte mare este posibil ca unele numere sá se repete, dar ele îndeplinesc anumite
cerinte care le apropie de cele întâmplátoare; ele se numesc numere pseudo-aleatoare.

Existá mai multe procedee de a produce numere întâmplátoare si anume:

1. Tabele cu numere întâmplàtoare, care contin numere întregi uniform repartizate pe un
interval.
20
2. Procedee fizice, fiind construite masini 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átii unui curent másurat la momente
distincte astfel încât valorile voltajelor ( ) ( ) ( ) , , , ,
2 1 n
t U t U t U sá poatá fi considerate ca
independente. În cazul când un astfel de dispozitiv se foloseste pentru generarea de
numere aleatoare cu o anumitá repartitie, 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 relatii de recurentá de forma:
( )
m n n n n
X X X X
− − +
= , , , f
1 1
,
0 , ≥ > m m n unde
n
X , N n∈ sunt numere naturale, presupunându-se cá vectorul
valorilor initiale
m
X X X , , ,
1 0
este dinainte fixat.

Un procedeu aritmetic de obtinere a numerelor aleatoare bazat pe o relatie de
recurentá de forma de mai sus se numeste generator. Tinând seama de faptul cá numerele
sunt generate în acest mod ele nu sunt întâmplátoare, dar pentru anumite alegeri ale lui f si
nu se pot obtine numere cu proprietáti statistice apropiate de cele întâmplátoare. Un
asemenea generator va produce numere pseudo-aleatoare sau cvasi-aleatoare.
Pentru ca un procedeu aritmetic sá poatá fi numit generator de numere pseudo-
aleatoare, trebuie sá îndeplineascá urmátoarele conditii:

1. Generatorul trebuie sá fie simplu ¸i rapid, ceea ce înseamná cá el trebuie sá el trebuie
sá fie usor de programat, sá ocupe memorie putiná si sá solicite timp de calcul redus.
2. Generatorul trebuie sá producá siruri de numere de lungime oricât de mare, fárá ca
numerele sirului sá se repete. Aceasta ar însemna sá nu producá siruri cu perioadá
finitá. Tinând seama cá márimea cuvântului unui calculator este limitatá, ceea ce
înseamná cá orice calculator poate lucra numai cu numere întregi mai mici decât un
numár dat, rezultá cá nu putem construi generatori cu perioadá infinitá. De aceea,
cerinta ca un generator sá producá siruri oricât de lungi de numere se reduce la faptul
cá generatorul trebuie sá aibá perioadà cât mai mare posibilà.
3. Generatorul trebuie sá producá numere independente stochastic unul fatá de altul.
Practic acest lucru nu este realizabil cu calculatorul, dar un generator este acceptat
dacá produce numere care sunt foarte putin dependente stochastic sau foarte putin
corelate. Gradul de independentá stochasticá se verificá cu ajutorul testelor statistice.
21
4. Generatorul trebuie sá producá numere a cáror repartitie sá fie uniformá, ceea ce se
poate verifica cu ajutorul testelor de concordantá (testul x,testul Kolmogorov etc.).

Datoritá simplitátii lor, generatorii cel mai frecvent utilizati sunt aceia care produc
numere pseudo-aleatoare întregi.
Ideea folosirii procedeelor aritmetice generarea algoritmicá de numere care au
calitáti apropiate de cele întâmplátoare apartine lui John von Neumann. El a propus o
metodá particulará cunoscutá sub numele de metoda pàrtii de la mijlocul pàtratului.
Generarea cu calculatorul a numerelor aleatoare uniforme
Fie { } P K, , Ω un câmp de probabilitate si R X → Ω : o variabilá aleatoare.
Fie [ ] 1 , 0 : → R F , ( ) ( ) ( ) { } ( ) x X x X x < = < = ω ω ; P P F . A genera cu calculatorul o variabilá
aleatoare înseamná a alege un numár de evenimente elementar
n
ω ω ω , , ,
2 1
si a determina
valorile ( )
i i
X X ω = ale variabilei aleatoare.
Valorile
n
X X X , , ,
1 0
reprezintá o selectie asupra variabilei aleatoare X .
O generare este un algoritm care este capabil sá producá un
i
X , dar dacá am itera
acel algoritm el sá fie în stare sá producá
n
X X X , , ,
1 0
astfel ca ele sá fie independente
stochastic si identic repartizate.
Spunem cá
n
X X X , , ,
2 1
sunt independente stochastic dacá:
( ) ( )

=
=
n
i
i i n
x x x x
1
2 1
F , , , F
( ) ( )
n n n
x X x X x x x < < = , , P , , , F
1 1 2 1

Spunem cá
n
X X X , , ,
2 1


sunt identic repartizate dacá toate au aceeasi repartitie
( ) ( ) j i x F x F
j i
≠ = , .
A genera o variabilá aleatoare înseamná a produce o selectie.
De obicei numerele aleatoare sunt valorile unei selectii referitoare la o variabilá
aleatoare U care are repartitie uniformá.
Dacá U este o variabilá aleatoare discretá uniformá, atunci toate valorile ei sunt egal
probabile:
|
|
.
|

\
|
2 1 2 1
1 0
: X , ( )
¦
¹
¦
´
¦

< ≤
<
=
1 , 1
1 0 , 2 1
0 , 0
F
x
x
x
x
|
|
.
|

\
|
n n n n n
n
X
1 1 1 1 1
2 1 0
:


Dacá U este o variabilá aleatoare continuá uniformá, atunci ea admite o
densitate de repartitie de forma:
( )
( )
( )
¹
´
¦


=
b a x
b a x K
x
, , 0
, ,
f
22
k se determiná din conditia ( ) ( ) a b k a b k kdx dx x f
b
a
− = → − = = =
} }

∞ −
1 1
si o functie de repartitie uniformá:
( ) ( ) ( )
¦
¹
¦
´
¦

< < − −

=
b x
b x a a b a x
a x
x F
, 1
,
, 0

În acest caz spunem cá variabila aleatoare U are repartitie uniformá pe ( ) b a , .
Numerele aleatoare uniforme pe ( ) 1 , 0 sunt cele mai importante pentru simularea numericá.
Lema lui Smirnov-Hincin
Lema. Dacá X este o variabilá aleatoare având functia de repartitie ( ) x F si U este o
variabilá aleatoare uniformá pe ( ) 1 , 0 , atunci variabila aleatoare ( ) U Y
1
F

= ( F admite inversá,
fiind crescátoare) are functia de repartitie ( ) x F .
Demonstratie:
( ) ( ) ( ) ( ) ( ) ( ) x x U U x Y F F P F P P
1
= < = = <


Concluzie. Dacá stim sá generám numere aleatoare uniforme pe ( ) 1 , 0 , atunci putem
genera valori de selectie pentru orice variabilá aleatoare X dupá algoritmul:
1. generez un numár aleator uniform pe ( ) 1 , 0
2. calculez ( ) U X
1
F

=
Dacá
n
U U U , , ,
2 1
este un sir de numere aleatoare uniforme, independente pe ( ) 1 , 0
atunci
n
X X X , , ,
2 1
( ) ( )
i i
U X
1
F

= este un sir de numere aleatoare independente a cáror functie
de repartitie este F . În situatiile în care inversa lui F are o expresie analiticá usor de calculat,
problema generárii unui sir de numere aleatoare cu functia de repartitie ( ) x F se reduce la
generarea unui sir de aceeasi lungime, de numere aleatoare uniforme pe ( ) 1 , 0 .
Dacá printr-un anumit procedeu reusim sá generám numere aleatoare întregi X ,
uniform repartizate pe intervalul ( ) M , 0 , M fiind suficient de mare, atunci se pot obtine
numerele aleatoare U , uniforme pe ( ) 1 , 0 prin:
M X M X U < < = 0 , .
Propozitie: Dacá notám cu U variabila aleatoare uniformá pe intervalul ( ) 1 , 0 atunci
variabila ( ) ( ) U a b a V − + = este uniformá pe ( ) b a , .
Demonstratie:
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
¦
¹
¦
´
¦

< < − −

= − − < = < − + = <
b x
b x a a b a x
a x
a b a x U P x U a b a P x V P
, 1
,
, 0


23
Observatie: Pentru variabila aleatoare U uniformá pe ( ) 1 , 0 avem:
( )
( )
( )
¹
´
¦


=
1 , 0 , 0
1 , 0 , 1
x
x
x ϕ
( )
¦
¹
¦
´
¦

< ≤
<
= Φ
1 , 1
1 0 ,
0 , 0
x
x x
x
x
Cele prezentate mai sus pot fi generalizate în cazul vectorilor aleatori.
Se considerá vectorul
2
R V ∈ uniform pe [a,b]×[c,d].


Densitatea sa de repartitie este:
( )
( ) ( )
¹
´
¦ ∈ − × −
=
rest în 0
, 1 I v a b a b
v f , ( )
2 1
, v v v =

Definitie: Dacá ( )
2 1
, X X X = este vector aleator cu douá componente si notez ( )
2 1
, f x x
densitatea de repartitie si ( ) ( )
2 2 1 1 2 1
, , F x X x X P x x < < = functia de repartitie, iar cu ( ) ( )
i i i i
X x F , f
densitátile si respectiv functiile de repartitie marginale,
( ) ( ) ( ) ∞ = , F F , f
1 1 1 1 1
x x x ,
( ) ( ) ( )
2 2 2 2 2
, F F , f x x x ∞ = ,
atunci independenta stochasticá revine la:
( ) ( ) ( )
2 2 1 1 2 1
F F , F x x x x = ,
( ) ( ) ( )
2 2 1 1 2 1
f f , f x x x x =
Propozitie: Dacá
2
R V ∈ , uniform pe un interval [ ] [ ] ( ) ( )
2 1
, , , , V V V d c b a I I = × = , atunci
1
V
este uniform pe [ ] b a, si
2
V este uniform pe [ ] d c, , iar
1
V este independent de
2
V .
Demonstratie:
Functia de repartitie a lui V este:
( ) ( )( ) ( )( ) ( )
¦
¹
¦
´
¦
≥ ≥
∈ − − − −
≤ ≤
=
d v b v
I v v c d a b c v a v
c v a v
v v F
2 1
2 1 2 1
2 1
2 1
, 1
,
, 0
,
( ) ( ) ∞ = , F F
1 1 1
v v functie de repartitie uniformá pe [ ] b a, , ( ) ( )
2 2 2
, F F v v ∞ = functie de
repartitie uniformá pe [ ] d c, atunci:
( ) ( ) [ ]
( ) ( ) [ ]
( ) ( )( ) c d a b v v
c v c d v
b a v a b v
− − =
∈ − =
∈ − =
1 , f
d , , 1 f
, , 1 f
2 1
2 2 2
1 1 1

Aceastá proprietate aratá cá dacá vrem sá obtinem puncte uniforme în domeniu, putem
genera puncte uniforme pe componente.


24
d
c I

a b
Observatie: Propozitia este adeváratá numai pe intervale si nu pe domenii oarecare.
Metode de generare a numerelor aleatoare

Construirea unui generator de numere aleatoare este destul de dificilá, pe de o parte datoritá
periodicitátii mari, iar pe de altá parte datoritá cerintelor statistice de independentá
stochasticá si uniformitate.
Knuth, bazându-se pe procedeul lui John von Neumann si pe alte operatii 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 si au produs rezultate bune sunt metodele congruentiale. Ele au fost
initiate de Lehmer.


1. Metoda ptratului din mijloc

Sá presupunem cá folosim o reprezentare în baza b a numerelor întregi cu care
lucrám, care de obicei este 2 sau 10.
Presupunem cá toate aceste numere au a 2 cifre, , , a 2 1 = . În caz contrar se
completeazá în fata numárului cu zerouri.

n
X : în baza b, a 2 cifre
a
n
b X
2
0 ≤ ≤

2
n
X :


Fiind dat numárul aleator întreg
n
X , urmátorul numár pseudo-aleator
1 + n
X se
defineste dupá von Neumann ca fiind format din cifrele pártii din mijloc a pátratului lui
n
X .
Astfel, ridicând pe
n
X la pátrat se obtine un numár cu a 4 cifre; luând cele a 2 cifre de la
mijlocul sirului de a 4 cifre ale lui
2
n
X se obtine numárul
1 + n
X . Acest procedeu poate fi
exprimat prin relatia de recurentá:
[ ] [ ]
a a
n
a
n n
b b X b X X
2 3 2 2
1
− =
+

a a
a a a a
1 + n
X
25
Aceastá metodá s-a dovedit a fi o sursá slabá de numere pseudo-aleatoare deoarece
anumite numere se repetá.
De exemplu pentru a=2 si b=10, numárul 3792
2
se repetá deoarece 3792
2
=14379264.


2. Metode congrueniale

Aceste metode constau în a determina numárul
1 + n
X

din
n
X pe baza relatiei
congruentiale de recurentá:

( )( ) . 2 , 1 , 0 , mod
1
= + =
+
n M c aX X
n n


unde a, c, M sunt întregi nenegativi.
Pentru obtinerea unui sir de numere întregi pseudo-aleatoare este necesar sá se aleagá
de la început în mod convenabil numerele M c a X , , ,
0
. Numárul întreg pozitiv
0
X este
termenul initial al sirului de numere pseudo-aleatoare. El se mai numeste generator mixt-
congruential, deoarece paranteza din membrul drept contine o înmultire si o adunare.
Se pune problema alegerii constantelor a si c care dau o perioadá maximá, urmând ca
din clasa generatorilor respectivi sá alegem pe aceia care produc numere pseudo-aleatoare de
buná calitate din punct de vedere statistic.
Teoremà: Sirul de numere definit de relatia congruentialá liniará are o perioadá maximá de
márime M dacá si numai dacá:
1. c este prim cu M
2. 1 − = a b este multiplu de p , pentru orice divizor prim al lui M
3. b este un multiplu de 4 dacá M este un multiplu de 4.

De exemplu se pot alege:

3141592621 , 0 , 1 , 1 2 2 2 , 2
0
2 14 23 35
= = = + + + = = a X c a M

Generatorul multiplicativ - congruenial de perioad maxim

Acest generator se obtine din cel mixt – congruential, lund c=0

) (mod
1
M aX X
n n
=
+


26
Acest generator nu poate avea perioada de lungime maximá, ceea ce-l face mai putin utilizat
decât precedentul.
Pentru calculatoare cu lungimea cuvântului de 32 biti, se poate lua 1 2
31
− = M cel mai mare
numár întreg reprezentabil pe un cuvânt de memorie, iar . 16807 7
5
= = a




































27
Cursul nr. 4 Tehnici de simulare


SIMULAREA UNOR REPARTIII PRIN METODA INVERS

Fie C o familie de variabile aleatoare pentru care se cunosc algoritmi de generare. Se
pune problema sá determinám un algoritm T care sá transforme o multime de variabile
aleatoare ∈ C C într-o multime de variabile aleatoare X , ( )
n
C C C T X , , ,
2 1
= .
Cu alte cuvinte, pornind de la o familie de variabile aleatoare pentru care cunoastem
algoritmi eficienti de generare din punct de vedere al calculabilitátii, sá determinám
algoritmul care genereazá variabile aleatoare mai dificil de generat.

Pentru generarea variabilelor aleatoare se utilizeazá urmátoarele metode:

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 functia de repartitie ( ) X F , iar
U este un numár aleator uniform pe (0,1), atunci variabila aleatoare ( ) U F Y
1 −
= are functia de
repartitie ( ) X F .
Demonstraie
( ) ( ) ( ) ( ) ( ) ( ) X F X F U P X U F P X Y P = < = < = <
−1
, unde
1 −
F este inversa functiei de repartitie.
q.e.d.
De aici se desprinde concluzia cá dacá avem o variabilá aleatoare a cárei functii de
repartitie ( ) X F este cunoscutá si un numár aleator U uniform pe (0,1), o valoare de selectie
asupra variabilei X se obtine calculând inversa functiei de repartitie având ca argument
numárul aleator U .
28
Generalizând, rezultá cá fiind dat sirul { }
N n n
X

de variabile aleatoare cu functia de
repartitie ( ) X F si { }
N n n
U

un sir de numere aleatoare uniforme pe (0,1) si independente
stocastic se poate obtine un sir de valori de selectie
n
Y având aceeasi functie de repartitie
( ) X F , ( )
n n
U F Y
1 −
= .
Metoda inversá este cea mai simplá metodá de generare a variabilelor aleatoare. Ea
prezintá câteva inconveniente:

1. În generarea unor numere aleatoare uniforme pe (0,1), unele dintre acestea se
apropie foarte mult de 0 sau de 1, ceea ce prin rotunjire pot fi asimilate cu 0 sau 1. Metoda
fiind bazatá pe calculul inversei functiei de repartitie F în calcule apare adeseori functia ln
care datoritá rotunjirilor în 1 sau 0 poate conduce la 0 sau la ·.
2. Metoda inversá poate induce multe erori de calcul datoritá prezentei unor functii
ca ln, exp, etc. care se calculeazá dupá valori aproximative.
3. În multe cazuri functia de repartitie nu poate fi inversatá si atunci se apeleazá la
metode numerice care de asemenea pot induce erori de calcul.
Metoda inversá poate fi aplicatá pentru generarea variabilelor aleatoare de tip continu,
discrete si a vectorilor aleatori.

Presupunem cá dispunem de un generator de numere aleatoare: Random Numbers
Generation (RNG) pentru generarea de numere aleatoare uniforme pe (0,1) si independente
stocastic. În aceste conditii, algoritmul de generare a unei valori de selectie a unei variabile
aleatoare pentru care se cunoaste functia de repartitie ( ) X F se prezintá astfel:

Pas 0: Initializare RNG ( Random Number Generation ) un generator de numere
aleatoare capabil sá producá numere aleatoare uniforme si independente pe ( 0, 1).
Intrare parametrii
Initializarea inversárii functiei ( ) X F
Pas 1: Genereazá ( ) 1 , 0 → U ( → = uniform)
Pas 2: Calculeazá ( ) U F X
1 −
= (valoare generatá).
Pentru a calcula valoarea unei variabile de selectie se reitereazá acest algoritm.

Pentru verificarea algoritmului se poate aplica cel mai simplu test care constá în
calculul mediei si dispersiei de selectie. Verificarea se face pentru un volum de generári
1000 > n ceea ce înseamná reiterarea acestui algoritm de cel putin de 1000 de ori, se
calculeazá media de selectie m dispersia de selectie
2
s
n
n
i
i
X X X X
n
m , , , unde ,
1
2 1
1

¿
=
= sunt n valori obtinute prin reiterarea algoritmului.
29
( )
¿
=


=
n
i
i
m X
n
s
1
2
2
1
1

Se compará aceste valori cu media si dispersia si cu cât erorile sunt mai mici, rezultá
cá algoritmul este mai bun.
Algoritmul mai poate fi verificat aplicând testul x
2
sau un test Kolmogorov.


Generarea variabilelor aleatoare discrete (metoda invers)



Fie
¿
=
= < <
|
|
.
|

\
|
n
i
i i
n
n
p p
p p p
x x x
x
1 2 1
2 1
1 , 1 0 :

Variabilele aleatoare de tip discret iau un numár finit de valori.
Rezolvám ecuatia F(X)=U.
Consider intervalul (0,1) pe care îl acoperim cu probabilitáti:






Generez un numár aleator U care va cádea într-un interval acoperit cu probabilitáti p
i
,
rezultá ca valoarea de selectie va fi
i
X X = . Putem sá generám un indice aleator.
Genereazá [ ] 1 + ⋅ = ¬ U L i U (aflu în al câtelea interval sunt)













1
p
2
p
p


0 1

0 1 2 L
30
Algoritm:

Pas 0: iniializeaz RNG
intrare n i X
i
≤ ≤ 1 ,
( ) 1 0 ,
1
< < =
α
= α
α ¿
p p X F
i
i

0 ← j
Pas 1: genereazá ( ) 1 , 0 ~> U
Pas 2: 1 + ← j j
Pas 3: dacá
j
F U > transfer la 2
Pas 4:
j
X X = (valoare generatá)


Generarea vectorilor aleatori (metoda invers)

Lem. Fie ( )
k
k
X X X X ∈

= , , ,
1
, cu functia de repartitie ( )
k
x x F , ,
1

Notám:
( ) ( )
( ) ( )
( ) ( )
1 1 1 1 2 1
1 1 2 2 2 1 2
1 1 1 1
, , | , , ,
| ,
− −
< < < =
< < =
< =
k k k k k k
x X x X x X P x x x F
x X x X P x x F
x X P x F



Unde ( )
1 1
x F este functia de repartitie marginalá a variabilei aleatoare
1
X , ( )
2 1 2
, x x F este
functia de repartitie a variabilei aleatoare
2
X conditionatá de
1 1
x X < , etc.
Dacá
k
U U U , , ,
2 1
sunt numere aleatoare uniforme pe (0,1) si independente stocastic,
atunci vectorul aleator ( )
k
k
Y Y Y Y ∈ = , , ,
1
unde:
( )
( )
( )
k k k k
U Y Y Y F Y
U Y F Y
U F Y
, , , ,
,
1 2 1
1
2 1
1
2 2
1
1
1 1




=
=
=

are functia de repartitie ( )
k
x x x F , , ,
2 1
, unde ( ) y x x F
i i
, , ,
1 1
1


este inversa lui ( )
i i i
x x x F , , ,
1 1 −
.

Demonstratie:
Pentru simplificarea scrierii vom da demonstratia în cazul 2 = k .
Pentru 2 > k demonstratia se poate realiza prin inductie.
( ) ( ) ( ) ( ) ( ) ( )
2 1 2 1 1 1 1 2 2 1 1 2 2 1 1 2 1
, | , , x x F x F x X x X P x X P x X x X P x x F = < < < = < < = Calculám repartitia
comuná a vectorilor ( )
2 1
,Y Y .
31
( ) ( ) ( ) ( )
( ) ( ) ( ) [ ] ( ) ( )
( ) ( ) ( ) ( ) ( )
2 1 2 1 2 1 1 1 1 2 1 2 2
1 1 1 1 1 2 1 2 2 1 1 1
2 2 1
1
2 1 1
1
1 2 2 1 1
, , | ,
. | , ,
, , ,
y y F y y F y F y Y y y F U P
y F U P y Y y Y F U y F U P
y U Y F y U F P y Y y Y P
= = < <
< = < < < =
= < < = < <
− −


Metoda invers pentru soluii numerice ale lui F( X )=0.
Metoda inversá poate fi aplicatá si în cazul când nu putem calcula explicit inversa
functiei F. În aceste cazuri trebuie rezolvatá ecuatia F(X)=U numeric, ceea ce cere un volum
mult mai mare de timp când F este continuá. Desigur cá aceasta conduce la un algoritm care
are o precizie scázutá.
În cele ce urmeazá X este necunoscutá, fiind solutia exactá a ecuatieiF(X)=U, iar
* X este valoarea obtinutá prin algoritmul de calcul al inversei.
Conditia de oprire a algoritmului | X - * X |<δ pentru un >0 mic,în anumite situatii
este este posibil sá nu ne satisfacá deoarece pentru valori mai mari ale lui X aceasta ar putea
sá implice ca numárul de cifre semnificative cerut sá depáseascá cuvântul calculatorului.
O a doua conditie de oprire poate fi datá prin | F( * X ) – F ( X )|<ε , unde ε >0 este un
numár mic.
Cei mai cunoscuti algoritmi numerici pentru calculul inversei F(X)=U sunt:

Metoda biseciei
Se gáseste un interval (a,b) care sá continá solutia:
REPEAT
X← (a+ b)/2
IF F(X)_ U
THEN a← X
ELSE b← X
UNTIL b-a< 2δ
RETURN X
32

Metoda secantei
Se gáseste un interval (a,b) care contine solutia
REPEAT
X←a+(b-a)
) ( ) (
) (
a F b F
a F U



IF F(X)_U
THEN a←X
ELSE b←X
UNTIL b-a<δ
RETURN

Metoda lui Newton-Raphson
Se alege o valoare initialá pentru X
REPEAT
X←X -
) (
) (
X f
U X F −

UNTIL conditia de oprire este satisfacutá.
RETURN X

Observaie. Pentru primele douá metode avem nevoie de un interval( a,b) care sá
continá solutia. Metoda lui Newton –Raphson converge dacá F este convexá sau concavá.







33
Cursul nr. 5 Tehnici de simulare


SIMULAREA UNOR REPARTIII PRIN METODARESPINGERII I COMPUNERII

Metoda respingerii

Fie X o variabilá aleatoare a cárei generare dorim sá o simulám, cu conditia sá-i putem
asocia urmátoarele elemente:
• ,....} ,...., , {
2 1 n
S S S = o familie de variabile aleatoare pe care stim sá le generám.
• N o variabilá aleatoare discretá, ∈ N N
+
, 1 ) ( = ∞ < N P , pe care stim, de asemenea sá o
generám.
• o proprietate (variabilá logicá ce poate lua douá valori ) ce se poate verifica prin
calcul.
• Ψo functie másurabilá, : Ψ R →
n
R.

Definitie. Dacá unei variabile aleatoare X i se poate asocia un sistem de patru elemente {
N , Ψ }astfel încât pentru orice ∈ n N
+
, fiind date
∈ ,.... ,...., ,
2 1 n
S S S care satisfac proprietateavariabila aleatoare ( Ψ ) ,...., ,
2 1 n
S S S are aceeasi
functie de repartitie cu X , atunci am definit un procedeu de respingere pentru generarea lui
X .

Algoritmul de generare:

0. Initializári
• Algoritmul pentru generarea lui N .
• Algoritmul pentru generarea lui . ,...., ,
2 1 n
S S S
• Algoritmul pentru verificarea proprietátii
• Algoritmul pentru calculul lui Ψ.

1. Genereazá o valoare de selectie ∈ n N
+
.
2. Genereazá . ,...., ,
2 1 n
S S S
3. Dacá
n
S S S ,...., ,
2 1
nu satisfac proprietatea respingere) transfer la 1.
4. Calculeazá = X ( Ψ ) ,...., ,
2 1 n
S S S valoarea generatá.



34
Observatii.
1. Se numeste algoritm de respingere deoarece în Pasul 3 se decide dacá are loc o
respingere sau o acceptare.
2. Notám cu
a
p probabilitatea de acceptare si cu
r
p probabilitatea de respingere;
algoritmul este performant dacá
a
p este mare, iar
r
p este micá.
3. N poate fi o variabilá aleatoare sau o constantá.
4. Familia trebuie sá stim sá o generám simplu si rapid.
5. Proprietatea trebuie sá fie usor de verificat.
6. Functia Ψsá fie simplá si usor de evaluat.

Lema 1. (Prima lem de respingere).
Fie X vector aleator a cárui densitate de repartitie este ( f x) , x∈R
k
pe care vrem sá-l
generám.
Fie Y un vector aleator a cárui densitate de repartitie este ( h y) , y∈ R
k
pe care stim sá-l
generám.
Presupunem cá existá o constantá 0 <α <∞ astfel încât

( f x) / ( h x α ≤ ) , x∈R
k


Fie U o variabilá aleatoare uniformá pe ) 1 , 0 ( , independentá de Y.
Densitatea de repartitie a vectorului aleatoriu Y conditionatá de

≤ 0 U≤ ( f y) / ( ( h α y))

este ( f x) .
Demonstratie.
Functia de repartitie a lui Y conditionatá 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)) }
35
( ) ( P B P = U≤ ( f y) / ( ( h α y
} } }

∞ −

∞ −
=
) (
) (
0
( ...... )))
y h
y f
d
α
u ( )h y d ) y=

} }

∞ −

∞ −
= ...... ( f y) / ( ( h α y)) ( h y d ) y
} }

∞ −

∞ −
= ......
1
α
( f y d ) y
α
1
=

(
*
H y
} } }
∞ − ∞ −
=
1
) (
) (
0
( .... )
y y v h
v f
k
d
α
u ( )h v d ) v
} }
∞ − ∞ −
=
1
( .....
y y
k
h v ( ) f v) / ( ( h α v d )) v=

} }
∞ − ∞ −
=
1
( .....
y y
k
f v d ) v ( F = y) si lema este demonstratá.

Algoritmul de generare

0. Initializare RNG
Initializare algoritmi pentru calculul lui ( f x) si ( h y) .
Initializare algoritm pentru generarea lui Y.
1. Genereazá U cu RNG si un vector aleator Y independent de U.
2. Dacá U > ( f y) / ( ( h α y)) transfer la 1.
3. X= Y.

Observatie.
Probabilitatea de acceptare
α
1
) ( = = B P p
a
.
Procedeul este performant dacá
a
p se apropie de 1.

Metoda compunerii sau amestecrii

Fie X o variabilá aleatoare a cárei functie de repartitie este ) (x F , de forma:

1 , 1 , 1 , 1 0 ), ( ) (
1 1
= > ≤ ≤ < < =
¿ ¿
= =
m
i
i i i
m
i
i
p m m i p x G p x F

unde ) (x G
i
sunt functii de repartitie. Se spune în acest caz cá ) (x F este amestecarea familiei
} ,....., , {
2 1 m
G G G de functii de repartitie dupá variabila aleatoare discretá N pentru care
m i p i N P
i
≤ ≤ = = 1 , ) ( sunt cunoscute.
36
Se observá cá functiile de repartitie m N x G
N
≤ ≤ 1 )}, ( { , depind de indicele aleator N, iar ) (x F
este media în raport cu N a variabilelor aleatoare )}. ( { x G
N

Dacá notám cu
N
Z variabila aleatoare care are functia de repartitie )} ( { x G
N
, atunci
i
Z X = cu
probabilitatea ). ( i N P p
i
= =
Observatie. Dacá ) (x F si ) (x G
i
au densitátile de repartitie ) (x f si respectiv ) (x g
i
, atunci

) ( ) (
1
x g p x f
i
m
i
i ¿
=
=

Procedeul de amestecare discret

Dacá existá un algoritm pentru generarea variabilelor m N Z
N
≤ ≤ 1 , , atunci algoritmul de
generarea variabilei aleatoare X se prezintá astfel:

0. Initializare RNG.
Initializarea algoritmului pentru generarea unei variabile din familia }. {
N
Z
Intrare m i p G
i
i
≤ ≤ =
¿
=
1 ,
1 α
α

0 ← j
1. Genereazá un numár U uniform pe ). 1 , 0 (
2. 1 + ← j j
3. Dacá
j
G U < transfer la 2.
4. .
j
Z X =

sau

0. Initializári.
1. Genereazá un indice aleator (o variabilá aleatoare discretá ).


|
|
.
|

\
|

m
p p p
m
I i
.....
. .......... 12
:
2 1

2. Genereazá
i
Z X = .

Exemplu.
La un service sosesc pentru verificare periodicá automobile de k tipuri:

37

|
|
.
|

\
|
k i
p p p p
k i
K
.... ...
...... ........ 12
:
2 1


unde k i p
i
≤ ≤ 1 , reprezintá procentul de masini de tipul i.
Durata k i Z
i
≤ ≤ 1 , dintre douá sosiri de acelasi tip este o variabilá aleatoare exponentialá
negativá de parametru k i
i
≤ ≤ 1 , λ .
Intervalul de timp X dintre douá sosiri oarecare are ca functie de repartitie amestecarea
functiilor de de repartitie k i x e x G
x
i
i
≤ ≤ > − =

1 , 0 , 1 ) (
λ
, ceea ce înseamná cá functia de
repartitie a lui X este datá de
) 1 ( ) (
1
x
k
i
i
i
e p x F
λ −
=
− =
¿


Algoritmul de generare:

0. Initializeazá RNG.
Intrare k i
i
≤ ≤ 1 , λ
Intrare k i p G
i
i
≤ ≤ =
¿
=
1 ,
1 α
α

0 ← j
1. Genereazá U cu RNG.
2. 1 + ← j j
3. Dacá
j
G U < transfer la 2.
4. Genereazá un nou U cu RNG.
5. . ln
1
U X
j
λ
− =




Procedeul de amestecare continu

Functia de repartitie ) (x F constituie compunerea unei familii de functii de repartitie
∈ y y x G ), , ( { R}dupá functia de repartitie ) (x H , de forma:

}
+∞
∞ −
= ) ( ) , ( ) ( y dH y x G x F
Se observá cá ) (x F este valoarea medie a functiei de repartitie ) , ( Y x G , unde Y este un
parametru aleator care are functia de repartitie ). ( y H
38
În acest caz, algoritmul de generare a variabilei aleatoare X când se cunosc algoritmi de
generare pentru Y (având functia de repartitie ) ( y H ) si pentru
Y
Z (cu functia de repartitie
) , ( Y x G ) se prezintá astfel:
0. Initializare RNG.
Initializarea algoritmului pentru generarea lui Y .
Initializarea algoritmului pentru generarea lui
Y
Z .
1. Genereazá Y .
2. Genereazá
Y
Z .
3. .
Y
Z X =

Exemplu.
Fie 0 , 0 , 1 ) , ( > > − =

λ λ
λ
x e x G
x
unde λ este un parametru aleator care are repartitie
exponentialá 0 , 1 ) ( > − =

µ λ
µλ
e H .
Functia de repartitie ) (x F se obtine astfel:


µ
µ
λ µ
µλ λ
+
− = − =



}
x
d e e x F
x
1 ) 1 ( ) (
0


reprezentând functia de repartitie Pearson de tipul XI.
Algoritmul de generare a variabilei aleatoare X ce corespunde amestecárii familiei de
repartitii exponentiale } 0 ), , ( { > λ λ x G dupá repartitia exponentialá ) (λ H este urmátorul:
0. Initializeazá RNG.
1. Genereazá U cu RNG.
2. Calculeazá U ln
1
µ
− = Λ .
3. Genereazá un alt U cu RNG.
4. Calculeazá . ln
1
U X
Λ
− =
Acest algoritm poate fi utilizat pentru generarea unor valori de selectie urmând repartitia
Pearson de tipul XI.

Observatie.
Dacá în expresia ) ( ) (
1
x G p x F
i
k
i
i ¿
=
= , unele probabilitáti
i
p sunt mari, iar variabilele aleatoare
corespunzátoare
i
Z se genereazá usor, atunci algoritmul de generare este performant.



39

Tehnici de simulare Cursul nr. 6



ALTE METODE DE SIMULARE A UNOR VARIABILELOR ALEATOARE

Unul din principiile generale de generare a variabilelor constá în a reduce problema la
generarea variabilelor aleatoare mai simplu de generat si dacá este posibil la variabile
aleatoare uniforme.
Vom prezenta o metodá particulare de generare a variabilelor aleatoare bazatá pe
metoda respingerii folosind vectorii aleatori uniformi pe un domeniu ( ) ( ) { } 0 , ; , ≤ γ = v u v u D , γ =
frontiera domeniului.

Algoritmul de generare
Pas 0 : Initializare RNG.
Intrare parametrii. Determiná [ ] [ ]
2 1 2 1
, , v v u u I × = astfel încât I D ⊂
Pas 1 : Genereazá ( ) 1 , 0 ~ , > ′ ′ V U uniform si independente
Pas 2 : Calculeazá
( )
( )V v v v V
U u u u U
′ − + =
′ − + = /


1 2 1
1 2 1

Pas 3 : Dacá ( ) D V U ∉
∗ ∗
, transfer la 1.
Pas 4 : ( )
∗ ∗
= V U h X , valoarea generalá.
Observatii :
1. Procedeul prezentat este un procedeu de respingere deoarece în pasul 3 este
respinsá procedura care nu apartin domeniului.
2. Performanta algoritmului este datá de probabilitatea de acceptare
ariaI
ariaD
p
a
=
.
3. Algoritmul este considerat performant dacá 1
3
1
< ≤
a
p .
4. probabilitatea de respingere
a r
p p − =1 .
40
5. O problemá dificilá în aplicarea acestui algoritm constá în determinarea
intervalului bidimensional I .
∞ < − < < ≥ ≥
2 2 2 1 2 1
0 , , 0 , 0 v v u u u u
Pentru determine intervalul I existá cel putin douá metode.

1. Metoda multiplicatorilor lui Lagrange

Prin aceastá metodá determinarea lui
1
u si
2
u se face considerând functia

( ) ( ) v u u v u F , ,
1
λγ + = .
Se considerá sistemul:
¦
¦
¹
¦
¦
´
¦
=


=


0
0
1
1
v
F
u
F
( ) ( )
i i
v v u u λ = λ = ¬ , , 1 ≥ i , ( ) ( ) [ ] 0 , = λ λ γ
i i
v u .

( )
i
u u λ = min
1
, ( )
i
u u λ max
2
=
2. Metoda tangentelor
[ ] [ ] I D v v u u I ⊂ × = , , ,
2 1 2 1


Se face consinderând tangenta la un domeniu D de forma u=const, v=const.

( ) ( ) ( ) ( )
2 1 2 1
, , , , , , , v u S v u R v u Q v u P
∗ ∗ ∗ ∗ ∗ ∗

( ) ( ) { }
dv
v
du
u
d
v u v u D

γ ∂
+

γ ∂
= γ
≤ γ = 0 , ; ,

Panta tangentei o notám cu: ( )
v
u
du
dv
v u m

γ ∂

γ ∂
− = = ,

( ) ( )
( ) ( )
( ) ( )
( ) ( ) 0 , u 0 , lim
0 , u 0 , lim
0 , u , lim
0 , u , lim
2
2
2
1
1
1
2
2
2
1
1
1
= γ = ¬
= γ = ¬
= γ ∞ = ¬
= γ ∞ = ¬
∗ ∗

∗ ∗





∗ ∗
∗ ∗






v v u m v
v v u m v
v v u m u
v v u m u
v v
u u
v v
u u
v v
u u
v v
u u


41



Lem. Fie X o variabilá aleatoare a cárui densitate de repartitie este ( ) x f ,
( ) ( ),
1
x g
k
x f = R x∈ , ( )
}
=
R
dx x g k .
Fie ( )
)
`
¹
¹
´
¦
|
.
|

\
|
≤ ≤ =
u
v
g u v u D
2 1
0 ; , márginit ∞ < ⇔D .
Atunci:
U
V
X = are functia de repartitie ( ) x F , unde ( ) x F este functia de repartitie
corespunzátoare densitátii de repartitie ( ) x f . ( ( ) ( ) x f x F = ′ )
( ) V U, vector aleatoriu bidimensional uniform pe ( ) ( ) 1 , 0 1 , 0 × .

Demonstratie
( ) V U, uniform pe D dacá ( )
( )
¦
¹
¦
´
¦

=
inrest
D v u
ariaD v u g
, 0
, ,
1
,
}} }}
|
.
|

\
|
≤ ≤
= =
v
u
g u
D
dudv dudv ariaD
2 1 0

Facem transformarea
¹
´
¦
=
=
¬
=
=
tx v
t u
t u
x
u
v


( )
( )
dtdx
x t D
v u D
dudv
,
,
=
,
( )
( )
t
t x
x
v
t
v
x
u
t
u
x t D
v u D
= =








=
0 1
,
,
tdtdx dudv = ¬


2
) (
2
1
2
) (
2 / 1
0
2
) (
2 / 1
0
) (
2 / 1
0
k
dx x g dx
t
dx tdt tdtdx ariaD
x g
x g
x g t
= = =
|
|
|
.
|

\
|
= =
} } } } }}

∞ −

∞ −

∞ −
≤ ≤

calculám functia de repartitie a v.a.
U
V
X =


}
∞ −
= ω ω =
x
x F d f ) ( ) ( .

( )
( )
} } } }
∞ −
ω
∞ − ∞ −
ω
= ω ω = = ω
|
|
|
.
|

\
|
= |
.
|

\
|
< = <
x
g
x x g
d g
k
t
k
d tdt
ariaD
x
U
V
P x X P ) (
1
2
2 1
) (
2 / 1
0
2
2 1
0
42
Exemplu: Generarea variabilei aleatoare Weibul

Fie
¦
¹
¦
´
¦

> ν > ν
=
ν
− − ν
0 , 0
0 , 0 ,
) ( ,
1
x
x e x
x f X
x

ν = K ( ) ( )
¦
)
¦
`
¹
¦
¹
¦
´
¦
|
.
|

\
|
≤ ≤ = =
ν
|
.
|

\
|

− ν
ν
− − ν u
v
x
e
u
v
u v u D e x x g
2
1
2
1
1
0 ; , ,
Domeniul D se mai poate scrie:
( )
¦
)
¦
`
¹
¦
¹
¦
´
¦
≤ |
.
|

\
|
≤ =
− ν ν
|
.
|

\
|
1 0 ; ,
2
1
2
1
u
v
ue v u D
u
v
.
Notám ( )
2
1
2
1
ln ,
− ν ν
|
.
|

\
|
|
.
|

\
|
= γ
u
v
ue v u
u
v

( ) 0 ln
2
1
2
1
ln , ≤ |
.
|

\
| − ν
− |
.
|

\
|
+ = γ
ν
u
v
u
v
u v u , ( ) ( ) { } 0 , ; , ≤ γ = v u v u D
u
v
u
vdu udv
u
v
u
vdu udv
u
du
d
2
1
2
2
1
2


− ν
− |
.
|

\
| − ν
+ = γ
− ν


0
2
1
2
1
=

− ν
− |
.
|

\
|

ν
+
− ν
u
v
du
u
v
dv
u
v
u
du
u
v
dv
u
du

Notám q
u
v
=
( ) du
q
qdu dv
q qdu dv du
u
q
qdu dv
q
u
qdu dv
u
du
: / 0
2
1
2
/ 0
2
1
2
1
1
=
− − ν
− −
ν
+
⋅ =
− − ν

− ν
+
− ν
− ν

( )
1
1
,
1
2
1
2
1
1
2
1
2
0
2
1
2
1
1 1
1
+ ν − ν
− ν − ν
=
+ ν − ν
− =
− =
|
|
.
|

\
|
+ ν − ν
¬ − =
|
|
.
|

\
|
− ν

ν
|
.
|

\
|

=

− ν
− |
.
|

\
|

ν
+
ν
ν
ν
− ν − ν
− ν
q
q q
du
dv
q
q
q
du
dv
q
q
du
dv
q
q
q
du
dv
q
q
du
dv
q q
du
dv

a) ∞ → ¬ ∞ → q
du
dv
u u ,
2 1
0 1 , 0 1 ≠ − ν − ν → + ν − ν
ν ν
q q
43
∞ → = q
v
u
q , dacá 0 , 0 0
1
= ≥ ¬ → u u u
0 1= + ν − ν
ν
q , ( ) 0 , ,
1
1
= γ |
.
|

\
|
ν
− ν
=
ν
v u q
ν
− ν
ν
− ν
ν
− ν
ν
|
.
|

\
|
ν
− ν
= ¬
ν
− ν
− =
|
.
|

\
|
ν
− ν
¬ = |
.
|

\
|
ν
− ν − ν

ν
− ν
+
2
1
2
1
2
2
1
1
1 1
2
1
1
ln 0
1
ln
2
1 1
2
1
ln e u
u
u
b)
2 1
, v v , ( ) 0 1 , 0 1 sau 0 1 0 ≠ + − → − − → ¬ − − ¬ → ν ν ν ν ν ν
ν ν ν
q q q q q
du
dv

0 0 0
1
= ¬ → ¬ → v
u
v
q
( )
uq v
u
v
q
e u
u
u
v u q q
= ¬ =
|
.
|

\
|
ν
+ ν
=
¬
ν
+ ν
− =
|
.
|

\
|
ν
+ ν
¬ = |
.
|

\
|
ν
+ ν − ν

ν
+ ν
+
= γ |
.
|

\
|
ν
+ ν
= ¬ = − ν − ν
ν
+ ν

ν
− ν
ν
− ν
ν
ν
ν
2
2
1
2
1
2
1
/ 1
/ 1
1
2
1
1
ln 0
1
ln
2
1 1
2
1
ln
0 , ,
1
0 1

ν
+ ν

ν
+ ν
ν
+ ν

ν
− ν
ν
|
.
|

\
|
ν
+ ν
=
|
.
|

\
|
ν
+ ν
|
.
|

\
|
ν
+ ν
=
2
1
2
1
2
2
1
2
1
/ 1
2
1
1 1
e v
e v

Algoritmul de generare
Pas 0 : Initializári RNG
Intrare ν .

Intrare
ν
+ ν

ν
+ ν
ν
− ν
ν
− ν
|
.
|

\
|
ν
+ ν
= = |
.
|

\
|
ν
− ν
= =
2
1
2
1
2 1
2
1
2
1
2 1
1
, 0 ,
1
, 0 e v v e u u
Pas 1 : Generám ( ) 1 , 0 ~ , > ′ ′ V U uniform pe ( ) 1 , 0 si indep
Pas 2 : Calculám v v V U U U ′ ′ = ′ =
∗ ∗
2 2
,
Pas 3 : Dacá 0 ln
2
1
2
1
ln >
− ν

|
|
.
|

\
|
+


ν



U
V
U
V
U transfer la pasul 1
44
Pas 4 :


=
U
V
X valoarea generatá


Lem. Fie X o variabilá aleatoare a cárei densitate de repartitie este
( ) ( ) ( ) ∈ ≥ = x x g x g
k
x f , 0 ,
1
.
Fie ( ) V U, un vector aleator pe domeniul ( ) ∞ <
¦
)
¦
`
¹
¦
¹
¦
´
¦
|
|
.
|

\
|
≤ ≤ = D
u
v
g u v u D D aria , 0 : , ,
3
2
.
Atunci densitatea de repartitie a lui
U
V
X = este
( ) x f
.

Generarea variabilelor aleatoare N(0,1)

Definitie. ( ) σ , m N X → dacá ( )
( )
∈ =


x e x f
m x
,
2
1 2
2
2
σ
π σ

Deci ( ) 0 , 1 N X → dacá ( )
2
2
2
1
x
e x f

=
π

Aplicând lema se obtine
( ) ( ) ( ) =
¦
)
¦
`
¹
¦
¹
¦
´
¦
≤ ≤ = = π = ¬ →
|
|
.
|

\
|


u
v
x
e u v u D e x g k N X
2
3
1
2
2
0 : , ; ; 2 0 , 1
( ) ( ) ( ) ( ) { } 0 , : , ,
2
3
1
ln , , 1 0 : ,
2
3
1
≤ γ = + = γ
¦
)
¦
`
¹
¦
¹
¦
´
¦
≤ ≤ = v u v u D
u
v
u v u ue v u
u
v
.
( ) ( )
u
v
u u v u F v u u F
2
1 1
3
1
ln , , ,
λ
+ λ + = λγ + = .
2
2 2
2
2
1
3
3 3
3
1
1
u
v u u
u
v
u u
F λ − λ +
=
λ

λ
+ =


.
( ) 1 0 3 3 0
2 2 1
= λ − λ + ¬ =


v u u
u
F
.

( ) 2 0
0
3
2
1
1
= ¬
=


λ
=


v
v
F
u
v
v
F

Din relatiile (1) si (2) formám sistemul:
¹
´
¦
=
λ − =

¹
´
¦
=
= λ − λ +
0 0
0 3 3
2 2
v
u
v
v u u

45
Din sistemul:
( )
¦
¦
¦
¹
¦
¦
¦
´
¦
= +
=
λ − =

¦
¦
¦
¹
¦
¦
¦
´
¦
= γ
=


=


0
3
1
ln
0
0 ,
0
0
2
1
1
u
v
u
v
u
v u
v
F
u
F

Deci ( ) 1 0 ln − = ¬ = − λ λ
Luám
¹
´
¦
=
=
1
0
2
1
u
u

( ) ( )
2
2
2
3
ln , ,
u
v
u v v u v v u F
λ
+ λ + = λγ + =
2
2
2
3u
v
u u
F λ

λ
=


.
Din ( ) ∗ = ¬ ≠ λ ¬ =
λ − λ
¬ =



2
3
0 0
3
3
0
2
2
2
2
u
v
u
v u
u
F

u
v
v
F
3
2
1
2
λ
+ =


.
Din ( ) λ − = ¬ =
λ
+ ¬ ∗ ¬ =
λ
+ ¬ =


v
v u
v
v
F
0
2
3
3
2
1 0
3
2
1 0
2

( )
¬
¦
¦
¦
¹
¦
¦
¦
´
¦
=
λ − =
=

¦
¦
¦
¹
¦
¦
¦
´
¦
=
λ − =
=

¦
¦
¦
¹
¦
¦
¦
´
¦
= +
λ − =
=

¦
¦
¦
¹
¦
¦
¦
´
¦
= γ
=


=


e
v
v
u
v
e
u
v
u
v
u
v
u
v
u
v
v u
v
F
u
F
3
3
1
3
0
3
1
ln
3
0 ,
0
0
2
2 2
2
2
2
2
¦
¦
¹
¦
¦
´
¦
=
− =
e
v
e
v
3
3
2
1


Algoritmul de generare :

Pas 0: Initializare RNG
Intrare: e v e v / 3 , / 3
2 1
= − =
Pas 1: Genereazá ( ) 1 , 0 ~> ′ U .
Calculeazá ( ) ( ) U u u u U U U ′ − + = ′ =
1 2 1
* *

( ) 1 , 0 ~
*
> U
Pas 2: Genereazá ( ) 1 , 0 ~> ′ V
Genereazá ( )V v v v V ′ − + =
1 2 1
*

( )
2 1
*
, ~ v v V >
Pas 3: Dacá 0 / 3 / 1 ln
*
2
* *
> + U V U transfer la 1.
(perechea ( )
* *
,V U generatá nu este în domeniu)
46
Pas 4:
*
*
U
V
X = (valoarea generatá)
Probabilitatea de acceptare:
I
D
P
a
aria
aria
=
( ) ( )
75 , 0 ...
aria
aria
1 2 1 2
≈ = =
=
=
=
− × −
=
}}
a
D
P
t u
x
u
v
v v u u
dudv
I
D

































47
Tehnici de simulare Cursul nr. 7



SIMULAREA UNOR VECTORI ALEATORI


Problema generárii vectorilor aleatori este de mare importantá în construirea
modelelor de simulare, generarea unor procese stochastice, în aplicarea metodei Monte Carlo
la integrale multiple.
Pentru a gási metode de generare a vectorilor aleatori s-a încercat generalizarea unor
metode folosite la generarea variabilelor aleatoare; datoritá dificultátii de calcul putine dintre
acestea au condus la rezultate scontate.
Pentru calculul integralelor multiple
}
=
D
f(V)dV I , D⊂R
k
.
Se poate folosi urmátorul procedeu Monte Carlo
- Se genereazá o selectie
n
V V V , , ,
2 1
de vectori aleatori independenti identic
repartizati cu repartitie uniformá pe D.
- Se estimeazá I prin ( )
¿
=
=
n
i
i n
V f
n
I
1
1
.
- Dacá fL
2

(D) atunci M(I
n
)=I, ( ) 0 lim
2
=
∞ →
n
n
I D ,adicá I
n
este o estimatie absolut
corectá pentru I.
Calculul integralei I
n
când n este suficient de mare cu ajutorul calculului prin metoda
Monte Carlo este uneori mai eficientá decât prin mijloacele analizei numerice.

Generarea vectorilor aleatori uniformi

Se presupune cá I este un interval k-dimensional, I
i
=(a
i
,b
i
) , 1_i_k si V este un
vector aleator care are repartitie uniformá pe I.
Dacá notám ( )
¦
¦
¹
¦
¦
´
¦

− = ϕ

=
rest în
I x dacà
a b x
k
i
i i
, 0
,
1
) (
1
densitatea de repartitie a lui V, atunci
( ) ( )

=
ϕ = ϕ
k
i
i i
x x
1
, unde ç
i
este densitatea de repartitiei V
i
, uniform pe I
i
=(a
i
,b
i
). Vectorul V are
componente variabile aleatoare uniforme pe (a
i
, b
i
) si independente.
Algoritmul de generare se prezintá astfel:

48
0. Initializare RNG;
Intrare k÷0 ,kN
*
i ÷0
1. Genereazá variabile aleatoare U uniforme pe (0,1)
i ÷i+1
2. V
i
÷a
i
+(b
i
-a
i
) U
3. Dacá i_k transfer la 1
Vectorul V=(V
1
,...,V
k
)
´
este vectorul aleator generat
Pentru a genera un vector aleator V care are repartitie uniformá pe un domeniu
oarecare
k
R D ⊂ ,notám cu I intervalul care contine domeniul D. Dacá D domeniu simplu
conex si f(X)=0 este ecuatia frontierei care delimiteazá acest domeniu, f fiind o functie de k
variabile ,atunci algoritmul de generare bazat pe metoda respingerii se prezintá astfel:
0. Initiatizare RNG.
Intrare ( ) k i ,1 b , a I
i i
≤ ≤
1. Se genereazá un vector U uniform pe I
2. Dacá ( ) 0 U f > transfer la 1(se presupune cá D U∈ dacá ( ) 0 U f < )
3. V=U.
Cele mai simple metode si rapide metode de generare a vectorilor aleatori constau în
a reduce problema generarea vectorilor aleatori uniformi ,care sunt cei mai usor de generat.
Lem. Fie ( )
'
k 1
X ,..., X X = un vector aleator cu valori în
k
R a cárui densitate de
repartitie este ( ) ( ) X Hg 1 X f = , ( )
k
R X 0, X g ∈ ≥ , unde ( )
}
=
K
R
dX X g H . Fie ( )
'
k 1 0
V ,..., V , V un vector
aleator uniform pe domeniul
k
R D ⊂ , astfel: ( )
¦
)
¦
`
¹
¦
¹
¦
´
¦
|
|
.
|

\
|
≤ ≤ ∈ =
+ +
0
k
0
1 1 k 1
0
1 k '
k 1 0
v
v
,...,
v
v
g v ,0 R v ,..., v , v D
presupus márginit, adicá aria ∞ < D . Atunci densitatea de repartitie a lui ( )
'
k 1
X ,..., X X = unde
k 1,2,..., i , V V X
0 i i
= = , este ( ) X f .
Demonstratie
Vectorul aleator ( )
'
k 1 0
V ,..., V , V are repartitie uniformá pe D, dacá densitatea sa de
repartitie este datá de ( )
( )
¦
¹
¦
´
¦

=
rest în 0,
D v ,..., v , v dacá ,
ariaD
1
v ,..., v v g
'
k 1 0
k 1 0,
,unde aria
} }
|
|
.
|

\
|
+

=
0
,...,
0
1
1
1
0
1 0
... D
v
k
v
v
v
k
g
k
dv dv dv
49
Facem transformarea de coordonate:
¦
¦
¦
¹
¦
¦
¦
´
¦
=
=
=
=
0
0 k k
0 2 2
0 1 1
v t
v v x
. ..........
v v x
v v x
sau
t v
tx v
.... ..........
tx v
tx v
0
0 k
2 2
1 1
=
=
=
=
¦
¦
¦
¹
¦
¦
¦
´
¦
al cárui Jacobian
este
( )
( )
k
k
2
1
k 1
k 1 0
t
t ... 0 0 x
... ... ... ... ...
0 ... t 0 x
0 ... 0 t x
0 ... 0 0 1
x ,...., x t, D
v ,..., v , v D
= =
Aria
( )
( )
= = =
} } } } }
+
+
≤ ≤
k
x x
k
g
k
k
k
x x
k
g t
k
R
k
k
dx dtdx t dx dtdx t D
,...,
1
1
1
0
1
,...,
1
1
1
0
1
... ... ...

( )
} }
+
=
+
=
k
R
k k
k
H
dx dx x x g
k 1
... ,..., ...
1
1
1 1

( )
} }
|
|
.
|

\
|
< <
=
|
|
.
|

\
|
< < = < <

D
k
x
v
k
v
x
v
v
k k
k
k k
dv dv dv
D aria
x
v
v
x
v
v
P x X x X P
0
,...,
1
0
1
1 0
0
1
0
1
1 1
1
,..., ,...,
( ) ( )
( )
} } }
+
∞ − ∞ −
+ = < <
k
x x
k
g
k
k
x
k
x
k k
dx dtdx t H k x X x X P
,...,
1
1
1
0
1
1
1 1
... 1 ,...,
( ) ( )
} }
∞ − ∞ −
= =
k
x
k k
x
X F dx dx x x g
H
...
1
1 1
1
, unde ) X ( F este functia de repartitie a lui ( ) X f ,
k
R X∈ si
lema este demonstratá.

Algoritmului de generare
Pas 0. Initializeazá algoritmul RNG pentru generarea unor numere aleatoare
uniforme pe (0,1);
Intrare parametrii.
Determiná un interval I, I D ⊂ ,de forma: ] , [ ] , [ ] , [
2 1 2
1
1
1
2
0
1
0 k k
v v v v v v I × × =
Pas 1. Genereazá vectorul aleator ( )
*
k
*
1
*
0
V ,..., V , V uniform pe I, astfel:
k i U v v v V
i i i i i
,..., 2 , 1 , ) (
1 2 1 *
= − + = unde
i
U sunt numere aleatoare independente, uniforme pe (0,1).
Pas 2. Dacá ( ) D V V V
k

'
* *
1
*
0
,..., , transfer la 1,aaltfel la 3.
Pas 3. ( ) n i V V V h X
k i
,..., 2 , 1 , ,..., ,
* *
1
*
0
= = iar h exprimá legátura între V
0
*
,
V
1
*
,...,
V
k
*
.
Observatii
1.Punctele (V
0
*
,
V
1
*
,...,
V
k
*
) sunt uniform repartizate pe domeniul márginit D,
algoritmul descris mai sus fiind un algoritm de respingere.
50
2. Performanta algoritmului este caracterizat de probabilitatea de acceptare
(probabilitatea de trecere de la pasul 2 la pasul 3 ) datá de
( )

=

=
k
i
i i
a
v v
D aria
p
1
1 2
.
3.Algoritmul este performant dacá p
a
este mare.
Dificultatea aplicárii acestui algoritm constá în determinarea intervalului minimal I
care-l contine pe D. Pentru aceasta îl scriem pe D sub forma: ( ) ( ) { } 0 ,..., ; ,...,
0
'
0
≤ γ =
k k
v v v v D si
procedeul de determinare a lui I revine la a rezolva problemele de optim
D
i i
v v min
1
= ,
k i v v
i
D
i
≤ ≤ = 0 , max
2
.
Aplicând metoda multiplicatorilor lui Lagrange pentru rezolvarea problemelor de
optim, vom gási pe v
0
,v
1,…,
v
k
astfel ca :
( ) min ,..., ,
1 0
=
k i
v v v F
( ) max ,..., ,
1 0
=
k i
v v v F , n i ,..., 2 , 1 =
unde ( ) ( )
k i k i
v v v v v v v F ,..., , ,..., ,
1 0 1 0
λγ + = cu conditia ( ) . 0 ,..., ,
1 0
= γ
k
v v v
Lem Fie ( )
1
2 1
,... ,
k
X X X = X un vector aleator (k- dimensional )cu valori în
k
R , a cárui
densitate de repartitie este datá de: ( ) ( ) x x Hg f / 1 = , ( ) ∈ ≥ x x , 0 g
k
R ( ) x x
K
R
d g H
}
=
Fie ( )
1
1 0
,... ,
k
V V V un vector aleator uniform pe
1 +

k
D R , astfel:
( ) ( )
)
`
¹
¹
´
¦
≤ ≤ ∈ =
0 0 1
1 *
1
0
1
1 0
,..., 0 , ,..., , v v v v g v v v v D
k
k
1 * k
k
R presupus márginit ( ) (∞ ariaD . Atunci
densitatea de repartitie a lui ( )
1
2 1
,... ,
k
X X X = X unde
0
V V X
i i
= este ( ) x f .
Algoritmul de generare:
Pas 0: Initializarea algoritm pentru producerea unor numere aleatoare uniforme si
independente pe ( ) 1 , 0 . Intrare parametrii.
Pas 1: Determiná un interval [ ] [ ] [ ]
2 1 2
1
1
1
2
0
1
0
, ... , ,
k k
v v v v v v × × = I a. î. I ⊂ D .
Pas 2: Generare ( ) 1 , 0 ~>
i
U k i ≤ ≤ 0
Calculeazá ( )
i i i i i
U v v v V
1 2 1
− + = k i ≤ ≤ 0
Pas 3: Calculeazá k i V V
i
,... 2 , 1 ,
0
=
Pas 4:Dacá D V V
i

0
transfer la 2.
Pas 5: ( )
1
0 0
,..., V V V V
k 1
= X vectorul generat.

Exemple.
Aplicám lema si algoritmul pentru generarea vectorilor aleatori având repartitie Dirichlet
si multinomialá.

Generarea vectorului aleator Dirichlet.
51

Vectorul aleator ( )
1
2 1
,... ,
k
X X X = X este repartizat Dirichlet de parametrii
1 1
,...,
+
ν ν
k
dacá
densitatea sa de repartitie este:
( )
( )
( ) ( )
( )
1
1
1
1 1
1
1
1
1
1
... 1 ...
...
...
,...,

+
ν − ν −
− − − ⋅ ⋅ ⋅
ν Γ ⋅ ⋅ ν Γ
ν + + ν Γ
=
k
k
k
k
v
k
k
k
x x x x x x f (1)
sau ( ) ( )
k k
x x h
H
x x f ,...,
1
,...,
1 1
= unde
( ) ( )
( )
1 1
1 1
...
...
+
+
γ + + γ Γ
γ Γ ⋅ ⋅ γ Γ
=
k
k
H
( ) ( )
1
1
1
1 1
1
1 1
... 1 ... ,...,

+
ν − ν −
− − − ⋅ ⋅ ⋅ =
k
k
k
k
v
k
x x x x x x h (1')
Notám
¿
=
α = α ≤ ≤ − ν = α + =
d
i
i i i
d i k d
1
, 1 , 1 , 1
Domeniul D din lemá devine:
¦
¦
)
¦
¦
`
¹
¦
¦
¹
¦
¦
´
¦
|
|
.
|

\
|

≤ ≤ =
α
+
α
=
α α
¿
d
d
k
k
i
i
d
k
k
d
v
v v v v
v D
0
1
1
0
1
1
0
...
0 (2)
sau ( )
¦
)
¦
`
¹
¦
¹
¦
´
¦
≤ − ⋅ ⋅ ≤ =
+
α − α − α −
+ α
1 ... 0
1
0
1
1 0
d
k
d
k
k
d
d
d
v v v v v D (2') unde
¿
=
=
k
i
i
v v
1

Introducând functia : ( ) ( )
¿
=
+

α

α

+ α
= γ
k
i
k
i
i
k
v v
d
v
d
v
d
d
v v v
1
0
1
0 1 0
ln ln ln ,..., , domeniul D
devine: ( ) { } 0 ,..., ,
1 0
≤ γ =
k
v v v D
Pentru a determina intervalul
1 k+
⊂ R I , aplicám metoda multiplicatorilor lui Lagrange
functiilor : k i v F
i i
≤ ≤ λγ + = 0 , unde λ este multiplicatorul lui Lagrange.
Cazul i=0
În acest caz avem:
( )
¦
¦
¦
¦
)
¦
¦
¦
¦
`
¹
= γ =
λ ∂

=
(
¸
(

¸


α

α
λ + =


=
(
¸
(

¸


α

+ α
λ + =


+
+
0 ,..., ,
0
1 1
1
0
1 1
1
1 0
0
0
1 0
0
1
0 0
0
k
k
l
l
l
k
v v v
F
v v d v d v
F
v v d v d
d
v
F
(4)
Din a doua relatie (4) deducem :
l
l k
v v v
α
=

α
+
0
1
adicá ( ) k l v v v
l k l
≤ ≤ α − = α
+
1 ,
0 1

Din
1
1
1
1 1
+
=
+
= =
α − α = α ¬ α + α = α = α
¿ ¿ ¿ k
k
l
l k
k
l
l
d
i
i

însumând dupá l, se obtine
( )
α
α − α
=
+1 0 k
v
v (5)
Din prima relatie (4) deducem :
52

α
λα
− =
α
λα
− = −
λ − =
+
l
l
k
v
v v
v
1
0
0
(6)
Introducând valorile lui v date de (6) în a treia relatie (4), obtinem :
d
k
l
d
l
l
α
+
=
α
α
α
− = λ

1
1
de unde

=
α
|
.
|

\
| α
= =
d
l
d
l
l
d
v v
1
1
0
0
0
, 0 (6b)

Cazul 1 ≥ i .

În acest caz avem :
( ) ¦
¦
¦
¦
¦
)
¦
¦
¦
¦
¦
`
¹
= γ =
λ ∂

≤ ≤ ≠ =
(
¸
(

¸


α

α
− λ + =


=
(
¸
(

¸


α

α
− λ + =


=
(
¸
(

¸


α

+ α
λ + =


+
+
+
0 ,..., ,
1 , , 0
1 1
1
0
1 1
1
0
1 1
1
1 0
0
1
0
1
0
1
0 0
k
i
k
l
l
l
i
k
i
i
i
i
k i
v v v
F
k l i l
v v d v d v
F
v v d v d v
F
v v d v d
d
v
F
(7)
Din prima relatie (7) deducem:
v v v
d
k

α
=
+ α
+
0
1
0
adicá
0
1
0
v
d
v v
k
+ α
α
= −
+
(8)
A 2-a relatie (7) conduce la :
( ) d dv
v
v
i
i
+ α λ +
− λα
=
0
0
(9)
Din a 3-a relatie (7) gásim : k l i l d v v
l l
≤ ≤ ≠ + α α = 1 , ,
0
(10)
Din (8) se obtine apoi
d
d
v v
k
+ α
α − + α
=
+1
0
(11)
Din (9), (10), (11) se deduce cá :
( )
i l
d
v
v
d
d
v
i
l
l
i
i

α +
λα
− =
λ − =
α +
+ α λ
− =
,
,
0
(12)
Introducem valorile date de (9) si (12) în ultima relatie (7) si se obtine :
( )
( ) d
d
d
i
d
i
d
i l
l
d
l
l
d
d
+ α
α +

=
α −
+ α
α + α
− = λ

1
adicá: k i
d d
d d
v v
k
l
d
l
l i
d
i
i
i
i i
≤ ≤ |
.
|

\
|
+ α
α
|
.
|

\
|
+ α
α +
|
|
.
|

\
|
α
α +
= =

+
=
α
α
1 , , 0
1
1
1 0
(13)

53
Deci intervalul I este : [ ] [ ] [ ]
1 1
1
1
0
, 0 ... , 0 , 0
k
v v v × × = I unde
1
0
v este dat de (6b), iar k i v
i
≤ ≤ 1 ,
1

sunt dati de (13).
Algoritmul de generare:
Pas 0: Intrare 1 1 , , + ≤ ≤ ν k i k
i

Calculeazá ( ) 1 1 , , , , , 1
2 1
1
1
+ ≤ ≤ α = + α = + α = α = α + =
¿
+
=
k i d b d d a d a k d
i i
k
i
i

Calculeazá
1
0
v conform cu (6b) si
1
i
v conform cu (13) k i ≤ ≤ 1
Pas 1: Genereazá ( ) 1 , 0 ~> U si ia U v v
1
0 0
=
Pas 2: Genereazá ( ) 1 , 0 ~ , 1 , > ≤ ≤
i i
U k i U si independente si calculeazá

¿
≤ ≤ =
k
i
i i i i
X v k i U v X
1 '
1
' , 1 ,
Pas 3: Dacá 0
0
≤ + v v transfer la Pas1.
Pas 4: Dacá ( ) 0 ln ln ln
0
1
1 '
0 0
≥ −
α
− −
+
¿
v v
d
X b v a
k
k
i
i i
transfer la Pas1.
Pas 5:
0
V
X
X
i
i

Probabilitatea de acceptare :

=
+
=
k
i
i
a
v
k
H
p
0
1
1
1
sau

( ) ( )
( ) ( )
( )
( )
( )

=
α
+
+
+
|
|
.
|

\
|
+ α
α + α
+ α
α
γ + + γ Γ +
γ Γ ⋅ ⋅ γ Γ
=
k
i
d
i
i i k
k
k
a
d d
d
d d
k
p
1
2
1
1 1
1 1
1
... 1
...

Se poate aplica formula n e n n
n n
π ≈


2 |
Algoritmul este performant pentru valori nu prea mari ale parametrilor.
Generarea unui vector aleator cu repartiie multinomian

Repartitia multinomialá este o extensie a repartitiei binomiale. Un vector
( )
1
2 1
,... ,
k
X X X = X are o repartitie multinomialá dacá functia sa de frecventá este:
( )
k
x
k
x x
n
n
p p p
x x x
n
x x x f ...
| ... | |
|
,..., ,
2
2
1
1
2 1
2 1
= unde 1 , 1 0 , , 0
1 1
= ≤ ≤ = ∈ ≥
¿ ¿
= =
k
i
i i
k
i
i i i
p p n x , x x Z . Repartitia
multinomialá se bazeazá pe urmátorul model, ca rezultat al uni experiente sunt posibile
evenimentele incompatibile ( )
i i k
A P p A A = , ,...,
1
, iar
i
X reprezintá numárul de aparitii ale
evenimentului
i
A în n experiente.
Se stie cá ( ) ( ) ( )
i i i i i
p np X D np X M − = = 1 ,
2

Algoritmul de generare:
54
Pas 0: Initializare RNG.
Intrare n.
Intrare
¿
= α
α α
= ≤ α ≤
k
p k p
1
1 , 1 ,
Calculeazá [ ] k i p i F
i
≤ ≤ =
¿
= α
α
1 ,
1

Initializare j=0.
Pas 1: Genereazá un U cu RNG. 1 , 0 + ← = j j l
Pas 2: 1 + ←l l
Pas 3: Dacá [ ] l F U ≥ transfer la Pas2.
Pas 4: [ ] [ ] 1 + ← l X l X
Pas 5: Dacá n j < transfer la Pas1.
Pas 6: Dacá [ ] [ ] ( )' ,... , k X 1 X n j = = X
Observatii: Vectorul X este vectorul multinomial generat. Componentele lui X se
obtin prin numárarea evenimentelor
i
A care apar în n experiente, a. î. în fiecare
experienta apare numai un astfel de eveniment.
Conform alg , se utilizeazá evenimentul
i
A dacá numárul aleator U cade în
intervalul ( ) 1 , 0 ⊂ I de lungime k i p
i
≤ ≤ 1 , . Pentru simularea evenimentelor
i
A se acoperá
intervalul (0,1) cu k intervale asezate într-o anumitá ordine, având respectiv lungimile
k j p
j
≤ ≤ 1 , .
Repartitia multinomialá poate fi utilizatá în controlul statistic al calitátii; unul din
evenimentele
i
A corespunde piesei defecte, iar celelalte corespund la diferite categorii de
calitate.

Generarea vectorilor aleatori normali
Fie X un vector aleator k-dim normal ( ) Σ µ, N undeµ este vectorul valoare medie si
Σ este matricea de covariantá presupusá pozitiv definitá. Densitatea de repartitie a lui
k
R X ⊂ , este: ( )
( ) ( )
( ) ( ) µ −

Σ µ − −
Σ π
= Σ µ
x x
x
1
` 2 1
2 1 2
det 2
1
, , e f
k
unde forma pátraticá ( ) ( ) ( ) µ − Σ µ − = Φ

x x x
1
`
este pozitiv definitá. Densitatea de repartitie a vectorului aleator Z normal ( ) I O, N unde O
este vectorul nul si I este matricea unitate, este: ( )
( )
2
2
1
` 2 1
2
2
1
2
1
, ,
i
x
k
i
k
e e f

=


π
=
π
=
x x
I O x
Ceea ce înseamná cá vectorul Z are k componente independente, având fiecare repartitia
normalá ( ) 1 , 0 N . Generarea vectorului Z se face generând k variabile normale ( ) 1 , 0 N
independente. Pentru a genera un vector aleator ( ) Σ , µ N se foloseste teorema :
55
Teoremà. Dacá Z este un vector aleator k-dim normal ( ) I O, N si X este un vector
aleator k-dim normal ( ) Σ , µ N , iar C este o matrice superior triunghiulará astfel ca Σ = ` CC ,
atunci vectorul aleator CZ Y + = µ are aceeasi repartitie ca X.
Algoritmul de generare:
Pas 0: Initializare RNG.
Intrare Σ , µ .
Calculeazá elementele matricei C.
Pas 1: Genereazá un vector aleator ( ) I O Z , N ≈ .
Pas 2: Calculeazá CZ X + µ = .
Caz particular: k=2. Vectorul ( )
2
, X X
1
= X are repartitie normalá bidimensionalá :

( )
( )( )
( )
( ) ( ) ( )( ) ( )
( ) [ ]
( )
( )
( )
( ) [ ] ( ) [ ] ( ) [ ]
( ) [ ] [ ] [ ]. ,
,
,
, ,
2 , 1 , , ,
2 , 1 , `, , ,
2 ,
det 2
1
,
1
2 1 2 2
2
2 2 1
2 1
2
1
2 1
22 21
12 11
2
2 2 221 2 2 1 1 12
2
1 1 11 2 1
2
,
1
2 1
2 1
Y M X M XY M Y X Cov
Y M Y X M X M Y X Cov
X X Cov
X D
j i X X Cov
i X M
x x x x x x Q
e x x f
i i
j i ij
i i
x x Q
− =
− − =
σ σ
= ρ = σ
|
|
.
|

\
|
σ σ ρσ
σ ρσ σ
= Σ
= = σ
= = µ µ µ = µ
|
|
.
|

\
|
σ σ
σ σ
= Σ
µ − σ + µ − µ − σ + µ − σ =
Σ π
=


( ) 0 , = Y X Cov dacá X si Y sunt independente.
( )
( )
( ) ( ) Y X
Y X Cov
Y X
σ σ
ρ
,
, = coeficient de corelatie.
( )
( )
( )( )
(
(
(
¸
(

¸

|
|
.
|

\
|
σ

+
σ σ
− −
ρ −
|
|
.
|

\
|
σ

|
.
|

\
|
ρ −

ρ − σ σ π
=
2
2
2
2 1
2 1
2
2
1
1
2
1 2
1
2
2 1
1 2
1
,
m y m y m x m x
e y x f










56
Tehnici de simulare Cursurile nr.8-9


METODA MONTE CARLO. APLICAII


Calculul integralelor multiple prin metoda Monte Carlo

Fie ( )
k
x x x z , , , f
2 1
= o functie continuá într-un domeniu márginit D din spatiul cu k
dimensiuni. Problema care se pune este sá calculám integrala multiplá:

(1)
( )
( )
} }}
=
k k
D
dx dx dx x x x I
2 1 2 1
, , , f
Geometric, numárul I reprezintá volumul 1 + ++ + k -dimensional al unui cilindru drept în
spatiul z x x Ox
k

2 1
având ca bazá domeniul D si márginit superior de suprafata
( (( ( ) )) )
k
x x x z , , , f
2 1
= == = .

57
Transformám integrala (1) astfel încât domeniul de integrare rezultat sá fie continut
în cubul unitate k -dimensional. Dacá domeniul D este cuprins în paralelipipedul k -
dimensional
(2) k i b x a
i i i
≤ ≤≤ ≤ ≤ ≤≤ ≤ ≤ ≤≤ ≤ ≤ ≤≤ ≤ 1 ,
prin transformarea
(3) ( )
i i i i i
a b a x ξ − + =
paralelipipedul k -dimensional se transformá în cubul unitate k - dimensional:
k i
i
≤ ≤≤ ≤ ≤ ≤≤ ≤ ≤ ≤≤ ≤ ≤ ≤≤ ≤ 1 , 1 0 ξ
si domeniu de integrare D va fi cuprins în acest cub unitate.

Calculám Jacobianul transformárii si se obtine:
( )
( )
=
k
k
D
x x x D
ξ ξ ξ , , ,
, , ,
2 1
2 1

=


















k
k k k
k
k
x x x
x x x
x x x
ξ ξ ξ
ξ ξ ξ
ξ ξ ξ

2 1
2
2
2
1
2
1
2
1
1
1
= == =
− −− −
− −− −
− −− −
k k
a b
a b
a b

0 0
0 0
0 0
2 2
1 1
( )

=

k
j
j j
a b
1
.
(4)
( )
( )
} }}
=
k k
D
d d d I ξ ξ ξ ξ ξ ξ
2 1 2 1
, , , h
58
unde ( ) ( ) ( ) ( ) ( ) [ ]
k k k k k k
a b a b a f a b a b ξ ξ ξ ξ ξ − − + ⋅ − − = , , , , , h
1 1 1 1 1 1 2 1

Notând
( )
k
k
d d d d ξ ξ ξ σ
ξ ξ ξ ξ

2 1
2 1
, , ,
=
=
integrala (4) se scrie sub forma prescurtatá:
(5)
( )
( )
} }}
= σ ξ d I
D
h
Vom prezenta douá metode de calcul al integralei (5), folosind numerele aleatoare.
Prima metod
Considerám un tabel cu numere aleatoare uniform repartizate pe ( ) 1 , 0 si
independente; alegem k siruri din aceste numere:
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )




, , , ,
, , , ,
, , , ,
2 1
2 2
2
2
1
1 1
2
1
1
k
n
k k
n
n
ξ ξ ξ
ξ ξ ξ
ξ ξ ξ

Punctele
( ) ( ) ( )
( )
k
i i i i
M ξ ξ ξ , , ,
2 1
( ) , 2 , 1 = i pot fi considerate ca puncte aleatoare repartizate
uniform în cubul unitate k-dimensional.
Luám un numár N suficient de mare de puncte
N
M M M , , ,
2 1
si verificám care dintre
ele apartin domeniului D.

Dacá ecuatia frontierei Γ este ( ) 0 = ξ ϕ , atunci pentru ( ) 0 > ξ ϕ punctul D ∉ ξ , iar pentru
( ) 0 ≤ ξ ϕ punctul D ∈ ξ .
Fie n numárul de puncte aleatoare
i
M care apartin domeniului D; celelalte n N − vor
cádea în afara acestui domeniu. Atunci pentru N suficient de mare avem urmátoarea formulá
aproximativá:
( )
( )
¿
=

n
i
i
M
n
D vol
I
1
1
h
59
unde ( ) D vol este volumul domeniului de integrare k - dimensional D.
În cazul în care este dificil sá se calculeze ( ) D vol se ia
( )
N
n
D vol =
si valoarea aproximativá a integralei este:
( )
¿
=

n
i
i
N
I
1
1
h
1
ξ .

Exemplu. Sá se calculeze prin metoda Monte Carlo integrala:

( )
( )
}}
+ =
D
dxdy y x I
2 2

unde ( ) { } 1 2 0 , 1 2 1 ; , − ≤ ≤ ≤ ≤ = x y x y x D .
Considerám urmátorul tabel de numere aleatoare repartizate uniform pe intervalul
[ ] 1 , 0 {Tab 1} si luám pentru fiecare douá numere consecutive din acest tabel ca fiind
coordonate ale punctului aleator ( ) y x, .
Tabelám coordonatele x si y ale punctelor aleatoare în tabelul 2 rotunjindu-le la 3
zecimale si alegându-le pe acelea ce apartin domeniului de integrare.
Tabelul 2 se obtine astfel:
Dintre toate valorile lui x care variazá între 2 1 = x si 1 = x . Pentru aceste valori vom
lua 1
1
= ε , iar pentru celelalte luám 0
1
= ε .
Dintre toate valorile lui y corespunzátoare lui x le alegem pe acelea continute între
( ) 0 = x y si ( ) 1 2 − = x x y .
Pentru aceste valori punem 1
2
= ε , iar pentru restul 0
2
= ε .
Calculám
2 1
ε ε ε = . Numai pentru punctele pentru care 1 = ε apartin domeniului de
integrare.
În situatia de fatá, dintre cele 20 = N de puncte, numai 4 = n apartin domeniului de
integrare.

( )
4
1
20
4
= = =
N
n
D vol .
Atunci
( ) 240 , 0 482 , 1 048 , 1 855 , 0 452 , 0
4
1
4
1
1
= + + + ⋅ = I
Valoarea exactá a integralei este 21875 , 0
1
= I .
Se observá o acuratete scázutá, fapt explicat prin aceea cá numárul de puncte 20 = N
nu este suficient de mare.

60
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
( ) x y
( ) x y
2
ε
ε
( ) y x, f
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

61
A doua metod
Fie 0 ) ..., , , (
k 2 1
≥ = ξ ξ ξ h y . Atunci integrala (1) poate fi consideratá ca volumul solidului
din spatiul cu (k+1) dimensiuni, adicá
(6)
} } }
=
(V)
k
dy d dç dç ... I ξ
2 1
,
unde volumul V determinat de urmátoarele conditii:
) h( 0 , D ) ..., , (
k 1
ξ ξ ξ ξ ≤ ≤ ∈ = y .
Dacá în domeniul D
( ) , ...k , , i ç B, ç
i
2 1 1 0 h 0 = ≤ ≤ ≤ ≤
atunci schimbarea de variabilá
y
B

1
= η
ne duce la
η ξ ξ ξ d d d d B I
V
k
}} }
=
) (
2 1
. . . ...
unde V este cilindrul din spatiul η ξ ξ
k
O
. . . 1
construit pe domeniul ∆ si márginit inferior de
hiperplanul 0 = η si superior de hiperplanul y
1

B
= η , V fiind situat în cubul unitate 1 + k -
dimensional:
62

1 0
1 , 1 0
≤ ≤
= ≤ ≤
η
ξ , k , i
i



Luám pe intervalul [ ] 1 , 0 1 + k siruri de variabile aleatoare repartizate uniform:
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )





, , , ,
, , , ,
, , , ,
, , , ,
2 1
2 1
2 2
2
2
1
1 1
2
1
1
n
k
n
k k
n
n
η η η
ξ ξ ξ
ξ ξ ξ
ξ ξ ξ

cu ajutorul cárora definim punctele aleatoare:
( ) ( ) ( )
( )
i
k
i i i i
M η ξ ξ ξ , , , ,
2 1
, , , i 2 1 =
din spatiul 1 + k dimensional η ξ ξ
k
O
. . . 1
.
Dacá din numárul total de N puncte aleatoare n apartin domeniului V , atunci este
adeváratá urmátoarea formulá aproximativá:
N
n
B I ⋅ ≈ .
63
∆ fiind cub unitate, atunci este suficient sá se verifice pentru fiecare punct
( ) ( ) ( ) k
i i i
ξ ξ ξ , , ,
2 1

conditia
( ) ( ) ( )
( )
k
i i i i
B
ξ ξ ξ η , , , h
1
2 1
≤ .

Exemplu. Ne propunem sá calculám volumul márginit de suprafetele:
( ) ( ) ( )
( ) ( ) ( ) 0 , 5 , 0 5 , 0 5 , 0
5 , 0 5 , 0 5 , 0 2
2 2 2
2 2
= = − − −
− − − − + =
z y x
y x z

Volumul cerut este numeric egal cu valoarea integralei:
(7)
( )
}}}
=
V
dxdydz I
Deoarece în volumul V 5 , 2 0 ≤ ≤ z , introducem urmátoarea variabilá:
5 , 2
z
= η
care transformá integrala (7) în integrala:
}}}
=
V
dxdyd I η 5 , 2
unde V este volumul márginit de suprafetele:
( ) ( ) ( )
( ) ( ) ( ) 0 , 5 , 0 5 , 0 5 , 0 4 , 0 8 , 0
5 , 0 5 , 0 5 , 0
2 2
2 2 2
= − + − − + =
= − − −
η η y x
y x

adicá V apartine cubului unitate:
1 0 , 1 0 , 1 0 ≤ ≤ ≤ ≤ ≤ ≤ η y x .
Generând pe intervalul [ ] 1 , 0 trei siruri de numere aleatoare repartizate uniform,
corespunzátor coordonatelor x, y, p.
Alegem punctele pentru care 8 , 0 ≤ η si punem pentru ele 1
2
= ε .
Alegem din aceste puncte ce apartin domeniului V pe acelea pentru care este
satisfácutá inegalitatea
( ) ( ) ( )
2 2 2
5 , 0 5 , 0 5 , 0 ≤ − + − y x .Pentru acestea 1
1
= ε , iar pentru celelalte 0
1
= ε .
Calculám
2 1
ε ε ε = . Punctele pentru care 1 = ε apartin domeniului V .
N
n
I 5 , 2 = .

Estimarea numrului π prin metoda Monte Carlo

Fie ) , (
2 1
X X un vector aleator bidimensional uniform într-un pátrat cu latura egalá cu 2,
având centrul în origine si laturile paralele cu axele de coordonate.
Fie un cerc cu centrul în origine, de razá 1 înscris în acest pátrat.
Se considerá un punct luat la întâmplare în interiorul pátratului.
64
Probabilitatea ca punctul sá cadá în interiorul cercului este datá de raportul între aria cercului
si aria pátratului.

) , {(
2 1
X X P sá fie în cerc }
4
) 1 (
2
2
2
1
π
=


= ≤ + =
patratului Aria
cercului Aria
X X P
Dacá variabila aleatoare U este uniformá pe ) 1 , 0 ( atunci U 2 este uniformá pe ) 2 , 0 ( , iar
1 2 − U este uniformá pe ). 1 , 1 (−
Generám douá numere aleatoare
1
U si
2
U uniforme si independente pe ) 1 , 0 ( si facem
substitutia 1 2
1 1
− = U X si 1 2
2 2
− = U X . Dacá notám cu N numárul perechilor ) , (
2 1
X X generate
si cu
1
N numárul perechilor ) , (
2 1
X X care „cad” în interiorul cercului, adicá 1
2
2
2
1
≤ + X X ,
atunci π se poate aproxima prin . / 4
1
N N
Algoritmul de generare.
Pas0. Initializare RND, 0
1
← N
Pas1. Genereazá
1
U uniform pe ) 1 , 0 ( si calculeazá 1 2
1 1
− = U X
Pas2. Genereazá
2
U uniform pe ) 1 , 0 ( si calculeazá 1 2
2 2
− = U X
Pas3. Dacá 1
2
2
2
1
≤ + X X atunci 1
1 1
+ ←N N
Se itereazá acest algoritm de N ori si π se aproximeazá prin . / 4
1
N N




















Tehnici de simulare Cursul nr.10
65
.
SIMULAREA PROCESELOR DE STOCARE


Noiuni de teoria stocurilor.

Problema stocurilor este de mare importantá in orice proces de productie. De rezolvarea ei
depinde procesul de productie respectiv.
Procesul de productie contine douá tipuri de valori materiale :

- valori materiale care intrá in procesul de productie :
- materii prime
- materiale

- valori materiale care ies din procesul de productie.

Bunul mersal productiei depinde de stocul care o alimenteazá.
Stocul trebuie dimensionat de asa manierá încât sa nu fie prea mare si nici insuficient.
Stocul din care se aprovizioneazá productia trebuie dimensionat optim, având pierderi
valorice mici.
Stocul care contine produsele rezultate trebuie sá îndeplineascá aceleasi conditii.
Rezolvarea acestor probleme se face cu ajutorul modelelor matematice de teoria stocurilor.
Stocul este o resursá care are o valoare economicá caracterizatá prin intrári
( reaprovizionarea stocului ) si iesiri care nu sunt întotdeauna determinate de cerere.
Valoarea stocului S variazá în timp, ceea ce înseamná cá S=S(t), t fiind timpul. Modificarea
valorii S la momentul t va fi determinatá de cantitátile care intrá si care ies la momentul
respectiv.
Fie a(t) rata intrárilor în stoc si b(t) rata iesirilor din stoc.
Notám cu r(t) rata cererii la momentul t, care în cele mai multe situatii este r(t) = b(t).
Notám S
0
= S(0), unde t = 0 este momentul initial de la care se urmáreste evolutia stocului.

S(t) = S
0
+
}
− dt t b t a )] ( ) ( [
Functiile r(t) si a(t) nu pot fi întotdeauna controlabile (ele fiind date), dar functia a(t) care
caracterizeazá intensitstea intrárilor în stoc trebuie aleasá astfel încât sá realizeze un obiectiv
sau o eficientá doritá. Aceastá eficentá se definsste în functie de niste costuri :
- costul de stocare ( imobilizarea fondurilor bánesti în materii prime, cheltuieli de
depozitare si conservare etc);
- costul de lansare( cheltuieli pentru lansareaa comenzilor de reaprovizionare si
introducerea lor în stoc);
66
- costul lipsei de stoc (determinat de pierderile cauzate de lipsa materiilor prime,
materiale etc ).
Eficienta unui stoc de-a lungul unei perioade de timp este o funcsionalá de forma :

E = E[ a(t), b(t),r(t)]

Functiile a(t) si b(t) sunt în general cunoscute.
Dacá E este o variabilá aleatoare, atunci se determiná functiile necunoscute din conditia ca
valoarea medie a lui E sá fie optimá.
În majoritatea modelelor de stocare, intrarea în stoc(reaprovizionarea) se face la momente
discrete de timp t
0
<t
1
<... Intervalele de timp t
1 + i
- t
i
= T
i
, i=0,1,2,...se numesc cicluri de
reaprovizionare. Intr-un interval de timp [0,T ]pot avea loc mai multe reaprovizionári (mai
multe cicluri de reaprovizionare) .
Variatia stocului S(t) este determinatá de intrári , iesiri si de rata cererii.
Ciclurile de reaprovizionare T
i
( i=0,1,2...) pot fi egale sau nu.
În unele modele de reaprovizionare se pune problema determinárii lotului optim de
reaprovizionare si a ciclului optim de reaprovizionare.
Lotul de aprovizionare nu intrá în stoc în momentul când a fost lansat, ci dupá un interval de
timp L, numit timp de avans.
Comanda se lanseazá în momentul când stocul a atins un nivel P, numit nivel de
reaprovizionare si este strict legatá de timpul de avans.
Momentul lansárii comenzii este momentul când nivelul stocului scade la valoarea nivelului
de reaprovizionare.
Totalitatea elementelor care definesc mecanismul de reaprovizionare constituie ceea ce se
numeste politicá de reaprovizionare. O astfel de politicá poate sá urmáreascá loturile de
reaprovizionare, ciclurile de reaprovizionare, nivelul de reaprovizionare, timpul de avans etc.
Politica este optimá dacá elementele ce o caracterizeazá conduc la eficintá optimá pe
intervalul de timp dat.
Modelele de teoria stocurilor se pot clasifica astfel :
- dupá evolutia în timp ( timpul intervine explicit sau nu ), modelele pot fi :
- dinamice
- statice .
- dupá natura aleatoare a elementelor ( care nu sunt elemente de decizie )
- stochastice
- deterministe

- dupá domeniile de valori posibile ale unor variabile care intervin în aceste modele
- cu cerere continuá
- cu cerere discretá
67
Cele mai interesante si mai apropiate de realitate sunt cele dinamice si stochastice.
Modelele de teoria stocurilor sunt asemánátoare cu cele de teoria asteptárii; sosirile în firele
de asteptare corespund intrárilor în stoc, iar serviciile corespund iesirilor din stoc.
Deosebirea între cele douá tipuri de modele constá în aceea cá sosirile si servirile sunt
variabile aleatoare cunoscute, în timp ce în teoria stocurilor se cunoaste numai cererea ( care
poate fi variabilá aleatoare sau nu ) si se cautá sá se determine o politicá optimá de
reaprovizionare a stocului.

Model de simulare pentru stocarea unui produs

Se pune problema obtinerii unor variante privind :
- momentul lansárii comenzilor
- momentul intrárii comenzilor
- cheltuielile aferente procesului de reaprovizionare si mentinere a stocului pentru
un singur produs.
Introducem notatiile

CS - costul stocárii unei unitáti de produs pe unitatea de timp
CL - costul lipsei produsului din stoc
CLC - costul lansárii unei comenzi de reaprovizionare

TCS - costul total al stocárii
TCL - costul total al lipsei de stoc
TCLC - costul total al lansárii de comenzi
TC - cheltuieli totale legate de procesul de reaprovizionare si mentinerea stocului

T - momentul intrárii comenzii în stoc
R - cererea din stoc pe unitatea de timp
NCS - nivelul curent al stocului
Q - márimea optimá a comenzii
P - márimea nivelului de reaprovizionare, astfel încât stocul sá fie suficient pe
perioada timpului de avans
TA - timpul de avans al lansárii comenzii
CEAS - ceasul simulárii
NIS - nivelul initial al stocului
TS - timpul de simulare

Date de intrare
- costul stocárii CS
- costul lipsei de stoc CL
68
- costul lansárii unei comenzi CLC
- márimea optimá a comenzii Q
- márimea nivelului de reaprovizionare P
- nivelul initial al stocului NIS
- durata simulárii DS
Variabile aleatoare cu repartitii cunoscute ( se introduc parametrii )
- cererea R
- timpul de avans al lansárii comenzii TA


Rezultatele simulárii
- costul total al stocárii TCS
- costul total al lipsei de stoc TCL
- costul total al lansárii comenzii TCLC
- cheltuieli de reaprovizionare si mentinerea stocului TC
- nivelul curent al stocului NCS

Initializári
TCS=TCL=TCLC=TC=0
NCS=NIS CEAS=0


Acest model nu pástreazá cererea neonoratá.














Intrari, Initializari


Gnereaza R
CEAS CEAS + 1
69
NCS NCS-R
NNCS=CS=
NCS < 0
NCS NCS + Q
TCSTCS+NCS*CS TCLTCL – NCS * CL




NU
CEAS<=TS

DA

DA
T=CEAS

NU







NU

DA







DA
NU



NU


DA


DA

INTRARI, INITIALI
Se introduc márimile
de intrare. Se initializeazá
P < NCS
T<=
CEA
T <=CEAS
TCLC TCLC + CLC
Genereaza TA
T CEAS+TA
TC = TCS + TCL + TCLC
Calculeaza statistici
Imprima rezultate
STOP
GENETEAZA R
CEAS CEAS + 1
70
NCS NCS-R
NNCS=CS=
NCS < 0
NCS NCS + Q


TCLTCL - NCS * CL
NCS = 0
TCSTCS + NCS * CS
variabilele de iesire. Genereazá o cerere.
Máreste valoarea ceasului cu
o unitate .

NU Conditia de terminare a similárii
CEAS<=TS

DA Se verificá dacá a atins momentul intrárii
unei comenzi. DA, se adaugá comanda
DA sositá la stoc.
T=CEAS Se satisface cererea generatá

NU








Se cerceteazá nivelul DA
Stocului rámas. Dacá este
negativ se calculeazá pierderile.
NU

Nu se pástreazá
cererea. Se calcu-
leazá costul stocárii.
DA
Se verificá dacá este

nevoie sá se lanseze o
nouá comandá.
NU

Se verificá dacá NU
soseste onouá DA
comandá.

DA .
Se lanseazá o nouá comandá. Se adaugá costul lansárii.
Se genereazá timpul de avans. Se determiná intrarea.

Tehnici de simulare Cursul nr. 11

P < NCS
T<=
CEA
T <=CEAS
TCLC TCLC + CLC
GENEREAZA TA
T CEAS+TA
TC = TCS + TCL + TCLC
CALC . STATISTICI
REZULTATE
STOP
71


SIMULAREA UNOR MODELE DE ATEPTARE

Teoria asteptárii sau teoria firelor de asteptare se ocupá cu studiul evolutiei sistemelor
care prezintá aglomerári (sisteme de asteptare).
Asteptarea este intervalul de timp dintre momentul când a fost solicitatá servirea si
începutul procesului de servire.
Studiul unui sistem de asteptare se face cu ajutorul unui model, care se noteazá
prescurtat astfel:
ASC: (L;d) (1)
Unde:
A – este repartitia timpului de servire dintre douá sosiri consecutive;
S – este repartitia duratei de serviciu;
C – este numárul de statii 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).

Exemplu: Weib(ν )Exp( λ )1: ( ∞, FIFO)

Acest model de asteptare este caracterizat de sosiri cu repartitie Weibull de parametru
ν , serviri cu repartitie exponential negativá cu parametru λ , sistemul are o singurá statie
care asigurá sosirea clientilor care intrá în sistem, firul de asteptare poate creste indefinit
(L=∞), iar regula de servire este primul venit, primul servit.
Sistemele de servire pot fi:
Monocanal



Cereri de servire Statie Unitáti servite
(unitáti în firul de asteptare) (flux de iesire)

Serie (statiile sunt dispuse succesiv sau în cascadà)


U U U U U U S
U U U U U U S1 S2 S3 … S
N
72
Cereri de servire Staii flux de ieire

Paralel







Sistemul de asteptare 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 statiei de servire,
timpul mediu de servire, numárul unitátilor servite pâná la un moment dat si starea statiei
(liberá sau ocupatá) în orice moment.
Pentru sistemele cu statii în paralel sau serie prezintá interes numárul mediu de statii
ocupate, gradul de ocupare al fiecárei statii de servire, timpul mediu de asteptare în fiecare
statie, numárul statiilor ocupate la un moment dat.
Pentru firele de asteptare prezintá interes lungimea curentá si lungimea maximá a cozii,
timpul mediu de asteptare î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 solutia este
cunoscutá.
O altá metodá constá în a compara datele furnizate de model cu rezultatele obtinute prin
observarea situatiilor reale similare. Dacá diferentele se încadreazá în limite acceptate, atunci
modelul poate fi validat.
În cazul în care iesirile modelului sunt stochastice se impune aplicarea unor teste
statistice adecvate.
Aplicarea simulárii pentru studiul sistemelor de asteptare 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 asteptare de forma:
• • 1: ( ∞, FIFO)
U U U
U
U
U
S1
S2
S
N

73
Se vor prezenta douá metode: una bazatá pe ceas variabil, iar cealaltá bazatá pe ceas
constant.
Modelul cu ceas variabil
Introducem urmátoarele notatii:
ITSC – intervalul de timp (aleator) dintre douá sosiri consecutive;
DS – durata servirii (variabilá aleatoare);
TAC - timpul de asteptare al unui client oarecare în fir;
TNS - timpul de neocupare al statiei de serviciu de la terminarea unui
serviciu la începerea altui serviciu;
TTAC - timpul total de asteptare al clientilor;
TTNS - timpul total de neocupare al statiei de serviciu;
NS - numárul total de servicii ce trebuie simulate;
CONTS - contor care numárá serviciile.

Variabilele ITSC si DS sunt variabile de intrare; repartitiile lor se presupun cunoscute,
iar parametrii acestor repartitii sunt parametrii de intrare. NS este de asemenea parametru de
intrare.
Variabilele TAC si TNS sunt variabile aleatoare de iesire, ca si TTAC, TTNS.
De aici se pot calcula:
- timpul mediu de asteptare
NS
TTAC
MTAC =
- timpul mediu de neocupare a statiei
NS
TTNS
MTTNS =
La momentul initial (momentul începerii simulárii) sunt satisfácute urmátoarele
conditii initiale:
TAC=0, TNS=0, TTAC=0, TTNS=0, CONTS=0.
Presupunem cá pentru ITSC si DS dispunem de generatori care pot fi apelati în
programul de simulare.
Schema logicá a algoritmului de simulare se prezintá astfel:
74
Initializári si introducerea
parametrilor de intrare
Genereazá ITSC
ITSC:=ITSC-TAC
Genereazá DS
CONTS:=CONTS+1
START
Genereazá un interval de timp de
sosire, ceea ce este echivalent cu
venirea unui client
Calculeazá timpul de sosire ajustat
Genereazá un serviciu care este
numárat de contor
Durata serviciului se compará cu timpul de
sosire ajustat pentru a determina evenimentul
urmátor
Statia este neocupatá
Clientul care
soseste este servit
fárá sá astepte, deci
TAC=0
Se determiná
timpul de
neocupare al statiei
si se însumeazá
Timpul de neocupare
este zero
DS≥ITSC
TNS:=0
TAC:=DS-ITSC
TTAC:=TTAC+TAC
Se calculeazá timpul de
asteptare al clientului ce
urmeazá a fi servit
primul si se însumeazá
TAC:=0
TNS:=ITSC-DS
TTNS:=TTNS+TNS
În acest caz statia este ocupatá
DA NU
CONST<NS
Decide dacá simularea se terminá
sau nu
Calculeazá parametrii si
furnizeazá rezultatele
STOP
DA
NU
75
Observatie.

Modelul se bazeazá pe principiul ceasului variabil, dar fárá a folosi o variabilá ceas
efectivá, ci una echivalentá, (timpul de sosire ajustat) cu care se realizeazá acelasi scop si
anume determinarea evenimentului urmátor.

Modelul cu ceas constant

În acest caz, modelul, pe lângá parametrii si variabilele utilizate în modelul cu ceas
variabil va folosi si alte variabile si anume:

TTS - timpul total al sosirilor;
MTS - momentul terminárii ultimului serviciu;
CEAS - ceasul simulárii;
C - constantá cu ajutorul cáreia se avanseazá ceasul;
L - lungimea curentá a cozii (variabilá de tip întreg);
TS - durata simulárii (simularea se terminá când CEAS≥DS) aici nu se
foloseste CONST.
În aceste conditii se fac urmátoarele initializári:
TTAC=0, TTNS=0, TTS=0, MTS=0, CEAS=0, L=0.
Schema logicá a modelului de simulare se prezintá astfel:

Validarea modelelor

Pentru validarea modelelor de simulare de mai sus trebuie calculatá intensitatea de
trafic a sistemului de asteptare (raportul dintre numárul mediu de clienti care sosesc si
numárul mediu de clienti care plecá în unitatea de timp).
Pentru un sistem de asteptare intereseazá factorul de eficientá al sistemului, care, pe
baza rezultatelor simulárii se calculeazá cu formula:

DTS
DTS TTAC
F
e
+
=

unde DTS este durata totalá a serviciilor si este datá de:

DTS=MTS-TTNS .
76










































CEAS:=CEAS+C
CEAS<TS
Initializarea si introducerea
parametrilor de intrare
Genereazá ITSC
TTS:=TTS+ITSC
CEAS:=CEAS+C
START
L:=L+1
TAC:=MTS-TTS
TTAC:=TTAC+TAC
CEAS>TTS
CEAS:=CEAS+C
Genereazá ITSC
TTS:=TTS+ITSC
L=0
L:=L-1
TTS<MTS
TNS:=TTS-MFS
TTNS:=TTNS+TNS
MTS:=TTS
CEAS>MTS
Genereazá DS
MTS:=MTS+DS
DA NU
Constatá dacá statia este
liberá sau ocupatá
Verificá dacá sunt clienti
în coadá sau nu
NU DA
Statie liberá
Statie ocupatá
Se máreste coada cu o
unitate
Se calculeazá durata
asteptárii clientului si se
aduná la timpul total de
asteptare
Compará ceasul cu
momentul ultimei sosiri
si dacá este anterior
ultimei sosiri îl máreste
cu C
Genereazá o nouá sosire
si se recalculeazá
momentul ultimei sosiri
Se
micsorea
zá coada
cu o
unitate
Timpul de
neocupare al
statiei se
aduná la cel
total
Actualizeazá
MTS la
valoarea TTS
DA NU
Compará ceasul cu
momentul terminárii
ultimului serviciu
Dacá este ulterior
ceasului, se máreste
ceasul cu C
Genereazá un serviciu
Calculeazá parametrii
de iesire
Livreazá rezultatele
STOP
DA
NU
Decide dacá simularea
continuá sau se opreste
DA
NU
77

Tehnici de simulare Cursul nr. 12


SIMULAREA UNOR PROCESE STOCHASTICE


Procesele stochastice studiazá multimi de variabile aleatoare care descriu procese a cáror
evolutie urmeazá legi probabiliste.
Definitie. O multime de variabile aleatoare } , { T t X
t
∈ unde ⊂ T R se numeste proces
stochastic.
Definitie. Un proces stochastic în care multimea T este cel mult numárabilá se numeste lant.
Parametrul t poate fi timpul. Pentru t fixat
i
X este o variabilá aleatoare, ceea ce înseamná cá
pentru a cunoaste procesul este necesar sá se cunoascá repartitiile sale pentru fiecare T t ∈ ,
precum si repartitia vectorului aleator ) ,..., , (
2 1 n
t t t
X X X pentru
n
t t t ≤ ≤ ≤ ...
2 1
si pentru orice n .
Lanturi Markov
Sá presupunem cá avem un sistem care în fiecare moment este în una din stárile
N
s s s ,..., ,
2 1
.
Notând cu
n
X starea sistemului la momentul n t = , rezultá cá
{ ∈
n
X } ,..., ,
2 1 N
s s s .
Notám cu ) / ( ) (
1 i n j n ij
s X s X P n p = = =
+

Dacá
ij ij
p n p = ) ( avem un lant Markov.
Dacá ) (n p
ij
depinde de n avem un proces Markov.
Notám ) ( ) ( i X P n
n i
= = π probabilitatea ca în momentul n sistemul sá aibá starea i.
Elementele
ij
p au proprietatea cá 1
!
=
¿
=
N
j
ij
p pentru orice N i ,..., 2 , 1 = .
Un lant Markov este bine definit prin matricea P si vectorul
0
π definite astfel:
) (
ij
p P = pentru N j i ,..., 2 , 1 , = care se numeste matricea probabilitátilor de trecere.
)) 0 ( ),..., 0 ( ), 0 ( ( )) 0 ( (
2 1 0 N i
π π π π π = = unde ) ( ) 0 (
0
i X P
i
= = π reprezintá repartitia probabilitátilor
initiale.
Lantul } , { N n X
n
∈ se numeste lant Markov de ordinul întâi discret si omogen dacá fiecare din
variabilele } {
n
X ia o aceeasi multime S discretá de valori (finitá sau numárabilá), valori ce
corespund stárilor procesului, astfel încât
ij n n p p n n n n
p i X j X P i X i X i X j X P = = = = = = = =
− − − −
) / ( ) ,..., , / (
1 2 2 1 1
, p N p N n , , ∈ ∈ >1 pentru orice
stári S j i ∈ , .
Dacá m m S }, ,..., 2 , 1 { = <∞, lantul se numeste cu un numár finit de stári.
78
Probabilitátile
ij
p , care se numesc probabilitáti de trecere, ne ajutá sá determinám repartitia
stárilor la momentul n, când se cunoaste repartitia la momentul n-1.
Definitie. Se numeste traiectorie a unui lant Markov, multimea de stári ) ,..., , (
2 1 n
i i i prin care
trece lantul la momentele de timp n ,..., 2 , 1 .
O pereche ) , (
t
i t , cu t fixat este un punct al traiectoriei.
Problema generárii cu calculatorul a unui lant Markov revine la generarea unui punct al
traiectoriei, adicá la generarea stárii j când se cunoaste starea precedentá i.
Presupunem cá matricea probabilitátilor de trecere ) (
ij
p P = este cunoscutá.
Generarea unei stári a unui lant Markov finit (cu m stári) si omogen de ordinul întâi se face
astfel:
Pas 0. Initializare RNG.
Intrare m j i p j i F
j
k
ik
≤ ≤ =
¿
=
, 1 , ] , [
1

0 ← j
Pas 1. Genereazá U cu RNG uniform pe (0,1)
Pas 2. 1 + ← j j
Pas 3. Dacá U j i F ≤ ] , [ transfer la Pas2.
Pas 4. Scrie j.




















79
Tehnici de simulare Cursurile nr. 13 - 14


APLICAII ALE SIMULRII ÎN FIABILITATE


Noiuni de baz

Fiabilitatea:
parametru principal al calitátii 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.
Definitia fiabilitátii (conform Comisiei Electronice Internationale): o caracteristicá a unui
sistem (dispozitiv, produs etc.) exprimatá prin probabilitatea cu care el îndeplineste o functie
necesará în conditii date, pe o duratá de timp datá.
Definitia defectiunii: pierderea partialá sau totalá sau modificarea acelor proprietáti ale
sistemului care diminueazá în mod esential sau conduc la pierderea completá a capacitátii de
functionare.
Momentul aparitiei unei defectiuni, timpul de functionare pâná la aparitia unei defectiuni
sau între douá defectiuni 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 conceptie a acestuia,
pornind de la caracteristicele componentelor, utilizare, solicitári etc.;
fiabilitate experimentalá (tehnicá) determinatá în urma experimentárii, în
conditii de laborator, a functionárii sistemului (produsului) în conformitate cu
normele prevázute în documentatia tehnicá;
fiabilitatea operationalá (la beneficiar) determinatá în conditii reale de
exploatare, cu luarea în considerare a factorilor interni si externi;
fiabilitatea nominalá este prescrisá în standarde, norme interne etc.

Indicatori de fiabilitate

Pentru studierea fiabilitátii unui sistem fárá reînnoire este suficient sá se ia în
considerare durata scursá de la punerea în functiune a sistemului pâná la defectarea
acestuia, duratá care este o variabilá aleatoare. Caracteristicile numerice ale variabilei
aleatoare se numesc indicatori de fiabilitate ai sistemului.
Fie T durata de functionare pâná la defectare a unui sistem si F(t) functia de repartitie
a acestei variabile aleatoare.
80
Probabilitatea ca la momentul prescris sá aibá loc o defectare a sistemului este

F(t) = P(T<=t) (1)
Probabilitatea functionárii fárá defectiuni a unui sistem - fiabilitatea lui – este datá de

R(t) = P(T>t) (2)

Functiile R(t) si F(t) reprezintá probabilitátile unor evenimente complementare în
sensul teoriei probabilitátilor.
Comportarea sistemului în jurul unui moment dat este descrisá de viteza instantanee
de defectare:

f(t) = dF(t)/dt = - dR(t)/dt (3)

care este de fapt densitatea de probabilitate a timpului de functionare.
Pentru a descrie pericolul de defectare în jurul unui moment dat al unui sistem aflat în
buná stare la acel moment, se defineste un alt indicator numit ratá de defectare, definit astfel:

r(t) = lim [ F(t+ t ∆ ) - F(t) ] / [ R(t) t ∆ ] = f(t) / R(t)
0 → ∆t
sau
r(t) = ' F (t)/R(t) = ' F (t)/(1-F(t)) = - ' R (t)/R(t) (4)

Integrând, cu conditia initialá R(0) = 1, se obtine:

R(t) = e
}

1
0
) ( du u r
(5)

Fiabilitatea unui sistem poate fi descrisá si prin caracteristicile numerice ale variabilei
aleatoare timpului de functionare pâná la prima defectare :

media timpului de functionare

m =
}

0
) ( dt t tf =
}

0
) ( dt t R (6)

dispersia timpului de functionare

81
D =
}


0
2
) ( m t f(t)dt (7)

abaterea medie pátraticá a timpului de functionare
m = D (8)
cuantila timpului de functionare
F(t
α
) = α , 0<α <1
Media si dispersia timpului de functionare pot fi determinate si experimental.

Funcii care descriu uzura sistemelor
Cele mai multe sisteme se uzeazá în timp. În teoria fiabilitátii, uzura include orice alterare
în timp a caracteristicilor sistemului.
Pe bazá experimentalá s-a constatat cá, în general, orice sistem parcurge în evolutia sa
trei stadii:
defectarea timpurie, când caracteristicile sale de fiabilitate se
îmbunátátesc în timp;
durata utilá de viatá, când performantele sistemului rámân constante;
uzura, când se constatá o scádere rapidá a caracteristicilor de fiabilitate.
O exprimare matematicá a uzurii poate fi datá în termenii ratei de defectare a unui
sistem.
Definitie. Un sistem are uzurá pozitivá dacá functia sa de fiabilitate este
descrescátoare, ceea ce înseamná cá fiabilitatea scade în timp.
Definitie. Un sistem are uzurá negativá dacá functia sa de fiabilitate este crescátoare,
ceea ce înseamná cá fiabilitatea creste cu vârsta.
Din relatia (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.
82
Notatii. Sistemele cu uzurá pozitivá se noteazá cu IFR (Increasing Failure Rate), iar
cele cu uzurá negativá DFR (Decreasing Failure Rate).
Definitie. Se numeste sistem cu uzurá medie pozitivá, sistemul pentru care functia
R t
1
ln
1
este crescátoare în timp si se noteazá IFRA (Increasing Failure Rate Average).
Definitie. Se numeste sistem cu uzurá medie negativá, sistemul pentru care functia
R t
1
ln
1
este descrescátoare în timp si se noteazá cu DFRA (Decreasing Failure Rate
Average).

Simularea fiabilitii

Problema realizárii unor sisteme cu fiabilitate ridicatá în general, si a sistemelor
tehnice în special este o conditie de primá importantá în procesul de proiectare si fabricatie.
Utilizarea simulárii ne ajutá la detectarea rapidá a elementelor cu fiabilitate scázutá,
care contribuie la defectarea sistemului, determinând scáderea sigurantei în functionare.
Simularea permite estimarea cantitativá a fiabilitátii sistemului, rezultatele fiind de
mare importantá în stabilirea structurii si fiabilitátii precalculate a componentelor sale.
Descrierea matematicá a fiabilitátii unui sistem poate fi fácutá la nivel global,
ignorând structura sistemului, sau la nivel structural, lund în considerare elementele
sistemului si relatiile dintre ele.
Studiul fiabilitátii la nivel structural are ca scop sá stabileascá o relatie între
fiabililitatea sistemului si fiabilitatea componentelor sale.
Pentru a fi mai usor de studiat, adeseori sistemul se reprezentá sub forma unui graf.
Nodurile sau vârfurile reprezintá elementele sistemului, iar arcele grafului reprezintá
legáturile între elemente. Elementele sistemului pot fi conectate între ele în serie, paralel,
punte sau combinatii ale acestora.
În cele ce urmeazá vom considera cá avem un sistem cu n componente si vom nota
cu R
i
( i=1,2,...,n ) funtia de fiabilitate a componentei i, iar cu R
S
functia de fiabilitate a
sistemului.
Pentru simplificarea exprimárii vom asocia fiecárei componente i ( i=1,2,...,n ) o
variabilá binará n i x
i
, 1 , = .
¹
´
¦
=
za functionea nu elementul daca 0,
za functionea elementul daca , 1
i
x
( )
n
x x X , ,
1
= este vectorul de stare,
( ) ( ) 0 , 1 = = = =
i i i i
x P q x P p
n i q p
i i
, 1 , 1 = − =
83
( )
( ) (Failure) 0
) sistemului ea fiabilitat ty (Reliabili 1
za functionea nu sistemul daca 0,
za functionea sistemul daca 1,
S
sistemului starea
= =
= = =
¹
´
¦
=
=
S P F
S P R
S

Legátura dintre starea sistemului si starea componentelor este datá de o functie
booleaná numitá functie de structurà: ( )
n
x x S , ,
1
Φ =
Fiabilitatea sistemului depinde fiabilitatea componentelor.
Legátura dintre fiabilitatea sistemului si fiabilitatea componentelor este datá de
functia ( )
n
p p h R , ,
1
= .
Deosebim 3 tipuri de sisteme:

1. Sisteme serie: sistemul functioneazá dacá si numai dacá toate componentele
functioneazá.

Functia de structurá este: ( ) ( )
n n
x x x x x x , , min
1 2 1
= ∧ ∧ ∧ = Φ
Functia de fiabilitate a componentelor: ( ) ( )
∏ ∏
= =
= = = = =
n
i
i
n
i
i
p x P S P R
1 1
1 1
2. Sisteme paralele: sistemul functioneazá dacá si numai dacá cel putin una din
componentele sale functioneazá.
Functia de structurá este: ( ) ( )
n n
x x x x x x , , max
1 2 1
= ∨ ∨ ∨ = Φ care se poate reduce ca cazul
precedent prin negarea variabilei de stare:

n
n
x x x x x x S ∧ ∧ ∧ = ∨ ∨ ∨ = 2 1
2 1


ceea ce înseamná cá sistemul nu functioneazá dacá nici una din componentele sale nu
functioneazá. De aici se poate deduce probabilitatea de defectare a sistemului notatá cu F :

( ) ( )
∏ ∏
= =
= = = = =
n
i
i
n
i
i q x P S P F
1 1
1 1 , unde
i i
p q − =1

( )

=
− − = − =
n
i
i
p F R
1
1 1 1
84


3. Sisteme complexe (sisteme „punte”)

4.1 Proprieti structurale ale sistemelor coerente

Definitie. Un sistem este coerent dacá functia sa de structurá este crescátoare si
fiecare componentá este importantá.
Definitie. Componenta i a unei functii de structurá este neînsemnatá dacá Φ este
constantá în
i
x , adicá:
( ) ( ) ( ) ( )
n i i i i i
x x x x x X X X , , , 0 , , , , , 0 unde , , 0 , 1
1 1 2 1

+ −
= Φ = Φ

Propozitie. Fie un sistem coerent cu n componente având functia de structurá 4,
atunci :

x
1
∧ x
2
∧... ∧ x
n
4(X) _ x
1
∨x
2
∨. . . ∨x
n
, ∀ x
i
∈{0,1}

Aceastá propozitie subliniazá faptul cá performanta unui sistem coerent este
márginitá inferior de performanta sistemului serie si superior de performanta sistemului
paralel.

Propozitie. Fie 4 functia de structurá a unui sistem coerent. Au loc inegalitátile:

4(X∨Y) ≥ 4(X) ∨4(Y)

dacá structura sistemului este de tip paralel si

4(X∧Y) ≤ 4(X) ∧ 4(Y)

dacá structura sistemului este de tip serie.


Propozitie. Fie 4 functia de structurá a unui sistem cu n componente. Atunci are
loc urmátoarea identitate :
85


4(X)=x
i
4(1
i
,X) +(1-x
i
)4(0i ,X), ∀ i=1,2, . . ., n

Notám cu { } n C , , 2 , 1 = multimea componentelor sistemului.

Definitie. Se numeste drum, un vector X pentru care 4(X)=1 si îi corespunde
multimea C
1
(X).
Un drum minim este o multime minimá de elemente a cáror functionare asigurá
functionarea sistemului.

Definitie. Se numeste táieturá, un vector X pentru care 4(X)=0 si îi corespunde
multimea C
0
(X).
O táieturá minimá este o multime care contine un numár minim de elemente a
cáror defectare cauzeazá defectarea sistemului.
Notám:
( ) { }
( ) { }drum 1 |
taietura 0 |
1
0
= =
= =
i i
i i
x x X C
x x X C

1) La sistemele serie avem táieturi: ( ) { } { } { }
n
x x X C , ,
1 0
= = n táieturi
2) La sistemele paralele avem táieturi: ( ) { }
n
x x X C , ,
1 0
= =1 táieturá
3) La sistemele complexe avem táieturi:
( ) { } { } { } { } { }
2 5 3 4 5 1 4 2 3 1 0
, , , , , , , , , x x x x x x x x x x X C =
1) La sistemele serie avem drumul: ( ) { }
n
x x X C , ,
1 1
= drum minim
2) La sistemele paralele avem drumurile: ( ) { } { } { }
n
x x X C , ,
1 0
= n drumuri.
3) La sistemele complexe avem drumurile:
( ) { } { } { } { }{ } { }
2 5 3 4 3 4 5 1 3 1 2 1 1
, , , , , , , , , , x x x x x x x x x x x x X C =
( )
( )
( )
2 5 3 4 5 1 4 3 2 1 5 1
2 1 1
2 1 1
, ,
, ,
, ,
x x x x x x x x x x x x
x x x x x
x x x x x
c
n n p
n n s
⋅ ⋅ ∨ ⋅ ⋅ ∨ ⋅ ∨ ⋅ = Φ
∨ ∨ ∨ = Φ
⋅ ⋅ ⋅ = Φ

Exemplu:

86




Simularea fiabilitii unui sistem coerent

Realizarea unor sisteme cu fiabilitate ridicatá în faza de conceptie se poate face
prin simularea diferitelor structuri ( variante de sistem ), alegându-se aceea care corespunde
cerintelor utilizatorului.
O evaluare numericá aproximativá a functiei de fiabilitate a sistemului poate fi
realizatá în asemenea situatii printr-o metodá experimentalá , care constá în generarea unor
stári posibile ale sistemului ( cunoscând functiile de fiabilitate ale componentelor ) si
evaluând de fiecare datá performanta sistemului. Raportul dintre numárul situatiilor în care
sistemul functioneazá si numárul total de simulári reprezintá o estimatie a functiei de
fiabilitate a sistemului. Precizia estimárii depinde de numárul de simulári realizate.
Pe baza acestor consideratii, a notiunilor introduse mai sus si presupunând
independenta componentelor sistemului din punct de vedere al defectárii, algoritmul de
simulare se prezintá astfel:

Algoritmul de simulare:

Pas0. Iniializare RNG.
Initializare algoritm pentru generarea fiabilitátii componentelor.
Intrare parametrii.
Pas1. Calcularea functiei de structurá a sistemulu cu algoritmul FIAB1.
Pas2. Generarea fiabilitátilor componentelor n i p
i
, 1 , = cu algoritmul FIAB2
Pas3. Calcularea fiabilitátii sistemului cu algoritmul FIAB3.


Algoritmul pentru calculul funciei de structur a sistemului


Sistemele a cáror structurá nu poate fi, în general, redusá la combinatii de tip serie
sau paralel ( structuri elementare ) le numim sisteme complexe.
În cazul sistemelor complexe, determinarea functiei 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 :


87
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á si ultima linie a matricei obtinute.
Pas3: Calculeazá
1
det
− k
D asociat matricei rámase folosind operatiile de sumá si
produs boolean.
1 −
= Φ
k
D

Algoritmul pentru calculul fiabilitii componentelor:

Pe baza datelor obtinute în urma încercárilor de duratá, pe componente, privind
variatia parametrilor acestora cu solicitarea si timpul, se determiná densitátile de
probabilitate asociate componentelor sistemului.
Cunoscând functiile de fiabilitate ale componentelor, algoritmul de generare, denumit
FIAB2, se prezintá astfel :


Pas0: Initializare RNG.
Initializeazá algoritmii pentru generarea fiabilitátii componentelor.
Intrare parametri corespunzátori functiilor de fiabilitate ale
componentelor.
Pas1: Genereazá numere aleatoare uniforme pe (0,1)
Pas2: Genereazá o valoare de selectie p
i
corespunzátoare componentei i (
i=1,2, . . . , n ).





Algoritmul pentru calculul fiabilitii sistemului

Calculul fiabilitátii unui sistem complex este o problemá dificilá care conduce la un
volum mare de muncá si este greu de algoritmizat. În asemenea cazuri, o evaluare numericá
a functiei de fiabilitate poate fi realizatá printr-o metodá Monte Carlo, cu ajutorul
calculatorului.
În ipoteza independentei defectárii componentelor sistemului, fiecare componentá
poate fi în una din cele douá stári : functioneazá sau este defectá, iar algoritmul, denumit
FIAB3, se prezintá astfel :

88
Pas0: Initializeazá RNG.
Initializeazá algoritmul pentru calculul functiei de structurá 4.
Initializeazá algoritmii pentru generarea fiabilitátilor componentelor
p
i
( i=1,2, ...,n).
Intrári : parametri densitátilor de probabilitate corespunzátoare
componentelor sistemului.
1 = k
Pas1: Calculeazá functia de structurá 4 cu algoritmul FIAB1.
Pas2: Genereazá p
k
cu algoritmul FIAB2 .
Pas3: Genereazá ( ) 1 , 0 →
k
U
Pas4: dacá
k k
p U < atunci 1 =
k
x , altfel x
k
=0
Pas5: 1 + ←k k dacá n k ≤ trece la Pas 2. Altfel trece la Pas 6
Pas6: ( )
n
x x S , ,
1
Φ =

Fiabilitatea sistemului se obtine ca fiind:
N
S
R
n
i
i ¿
=
=
1


unde N depinde de precizia cerutá si reprezintá numárul de simulári efectuate cu algoritmul
de mai sus.


Aplicaii ale teoriei bayesiene în fiabilitate

Functionarea unui sistem este influentatá de o multime de factori. Influenta acestor factori
este diferitá. De mare importantá pentru functionarea unui sistem este cunoasterea factorilor
care au o influentá semnificativá asupra sistemului.
Obtinerea unor informatii privind influenta unor factori asupra functionárii sistemului înainte
de efectuarea unor încercári de fiabilitate se poate realiza folosind metode bayesiene.
În contextul teoriei fiabilitátii se pune problema estimárii bayesiene a parametrilor legii de
repartitie a timpului de functionare sau a indicatorilor de fiabilitate dacá nu existá o lege de
repartitie a timpului de functionare.
Teorema lui Bayes. Dacá
n
A A A ,..., ,
2 1
formeazá un sistem complet de evenimente, atunci
pentru orice eveniment A, avem:

) ( ) / ( ... ) ( ) / ( ) ( ) / (
) ( ) / (
) / (
2 2 1 1 n n
i i
i
A P A A P A P A A P A P A A P
A P A A P
A A P
+ + +
= n i ,..., 2 , 1 =
89
Demonstratie.
Observatie.Dacá se cunosc probabilitátile ) (
i
A P si ) / (
i
A A P unde A este un eveniment
oarecare, atunci probabilitatea evenimentului
i
A , stiind cá A s-a realizat este datá de formula
lui Bayes.
În locul evenimentelor
i
A vom considera cauze (ipoteze) notate cu
i
H , constituind un model
adecvat pentru o situatie practicá.
Evenimentul A este interpretat ca realizarea unei situatii practice, iar probabilitátile ) (
i
H P
sunt cunoscute si se numesc ”probabilitáti apriori” ale diferitelor ipoteze.
Pe de altá parte, cauza
i
H realizeazá evenimentul A cu probabilitatea ) /
i
H PA , aceste
probabilitáti fiind si ele cunoscute.
Stiind cá evenimentul A s-a produs, formula lui Bayes permite calcularea lui ) / ( A H P
i
,
care se numesc „probabilitáti aposteriori”.
Cu alte cuvinte, stiind cá evenimentul A s-a produs, care este probabilitatea ca acest fapt sá
se datoreze cauzei
i
H .
Exemplu. Defectiunile unor arbori de transmisie sunt datorate în 25% din cazuri cuplurilor
aplicate si î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 aceeasi consecintá. Constatând o rupturá de arbore, se poate
determina probabilitatea ca ea sá se datoreze unei suprasolicitári.


Sign up to vote on this title
UsefulNot useful