Modele de simulare [626768]
0
Universitatea din Bucure¸ sti
Facultatea de Matematic˘ a ¸ si
Informatic˘ a
Modele de simulare
Autor Prof. Dr. Ion V˘ aduva
BUCURES ¸TI 2004
1
Prefat ¸˘ a
Lucrarea constituie suportul de curs pentru disciplina Modele de
simulare predat˘ a student ¸ilor de la sect ¸iile de Informatic˘ a ¸ siMate-
matic˘ a-Informatic˘ a din universit˘ at ¸i, ca disciplin˘ a obligatorie.
Materialul cuprinde un volum de not ¸iuni mai mare dacˆ at s-a r cuveni
pentru num˘ arul de ore afectate disciplinei respective (un semestru), dar
el aste indestul˘ ator pentru un curs de un an. Lucrarea poate fi utilizat˘ a
¸ si de c˘ atre student ¸ii de la unele specializ˘ ari de Master in informatic˘ a,
precum ¸ si ca material documentar pentru lucr˘ ari de licent ¸˘ a. Ea poate
servi ¸ si ca suport de curs opt ¸ional, mai ales ca material de init ¸iere, fiind
completat˘ a la nevoie cu bibliografie suplimentar˘ a pentru capitolele de
aplicat ¸ii, sau pentru unele perobleme noi ce nu au fost trat ate aici.
Structurat˘ a pe ¸ sapte capitole, lucrarea prezint˘ a mai in tˆ ai problemele
generale ale construct ¸iei modelelor de simulare a sisteme lor de orice fel,
precum ¸ si o introducere in limbajul specializat de simular e GPSS (Gen-
eral Purpose Simulation System), interesant mai ales pentr u student ¸ii
de la specializ˘ arile de informatic˘ a . Se prezint˘ a ¸ si o introducere formal˘ a
in studiul sistemelor cu evenimente externe discrete, pe baza c˘ arora se
construiesc modelele de simulare cu calculatorul, precum ¸ si alte aplicat ¸ii
informatice.
Capitolele 2-4 se ocup˘ a de simularea numerelor aleatoare, variabilelor
aleatoare ¸ si vectorilor aleatori, construind ¸ si analizˆ and algoritmi pentru
simularea principalelor repartit ¸ii de probabilitate, un idimensionale sau
multidimensionale, intˆ alnite in practic˘ a.
Capitolul al cincilea prezint˘ a proceduri de simulare a tra iectoriilor
lant ¸urilor Markov sau a unor procese stochastice particul are.
Capitolul al ¸ saselea trateaz˘ a cˆ ateva probleme de calcul numeric
rezolvate cu ajutorul metodei Monte Carlo cum sunt: calculu l inte-
gralelor, rezolvarea sistemelor de ecuat ¸ii liniare ¸ si a e cuat ¸iilor integrale,
rezolvarea numeric˘ a a problemei Dirichlet.
Intrucˆ at o problem˘ a important˘ a a aplic˘ arii simul˘ arii estevalidarea
modelului construit, ultimul capitol prezint˘ a cˆ ateva mo dele de simulare
pentru sisteme de a¸ steptare sau sisteme de stocuri, aceste a prilejuind
¸ si o scurt˘ a introducere matematic˘ a in teoria firelor de a¸ steptare ¸ si in
teoria stocurilor. Modelele matematice corespunz˘ atoare se folosesc de
regul˘ a la validarea modelelor de simulare.
2
Toate capitolele cont ¸in ¸ si cˆ ateva exert ¸it ¸ii menite s˘ a antreneze citi-
torul in int ¸elegerea mai aprofundat˘ a a materialului trat at in lucrare.
Pentru fiecare exercit ¸iu se dau indicat ¸ii de rezolvare sau se prezint˘ a
chiar solut ¸ia.
Cˆ and este cazul, prezentarea not ¸iunilor ¸ si rezultatelo r este insot ¸it˘ a
de figuri sau grafice ¸ si este pres˘ arat˘ a cu exemple menite s˘ a u¸ sureze
int ¸elegerea unor tehnici sau metode teoretice. Pentru sin tetizarea unor
rezultate sunt alc˘ atuite uneori tabele.
Bibliografia cuprinde de regul˘ a c˘ art ¸i sau lucr˘ ari ce pot fi g˘ asite de
c˘ atre student ¸i sau alt ¸i cititori in biblioteci.
Consider˘ am c˘ a aceast˘ a lucrare poate fi util˘ a ca document at ¸ie de
init ¸iere ¸ si lucr˘ atorilor din informatic˘ a ce abordeaz˘ a teme de proiectare
asistat˘ a de calculator sau de modelare.
Prin cont ¸inutul s˘ au, cartea de fat ¸˘ a constituie numai un material
de init ¸iere. Elaborarea modelelor de simulare pentru sist emele reale
este un demers dificil care implic˘ a colaborarea unor echipe specializate.
Totu¸ si, un curs de init ¸iere ca cel de fat ¸˘ a poate contribu i la acumularea
unei experient ¸e minimale pentru inceput.
Autorul
Bucure¸ sti, iunie 2004.
3
Cuprins
Cap.1. Generalit˘ at ¸i despre simulare . ………………….. 7
1.1 Introducere. ……………………………… ……….7
(•Model matematic, p.8; •Clasific˘ ari ale modelelor
matematice, p.10)
1.2 Construct ¸ia unui model de simulare. ……………. …..11
1.2.1 Structura unui model de simulare. …………….. …12
(•Ceasul simul˘ arii, p.12; •Agenda simul˘ arii, p.13)
1.2.2 Concepte de baz˘ a in modelarea sistemelor ………. .. 19
(•Nivele de reprezentare a sistemelor, p.20;
•Reprezentarea la nivel de comportare, p.20;
•Reprezentarea la nivel de structur˘ a de stare, p.20;
•Reprezentarea modular˘ a, p.21)
1.2.3 Modelul sistemului cu evenimente externe discrete . . .. 22
1.2.4 Metodologia de realizare a experimentelor de simular e
(Metodologia simul˘ arii). ……………………… ……..23;
(•Utilitatea simul˘ arii, p.26)
1.3. Generalit˘ at ¸i despre limbajul GPSS…………… …….27
(•Entit˘ at ¸ile limbajului GPSS, p.27;
•Structura instruct ¸iunii GPSS, p.29)
1.3.1 Exemple de programe GPSS ……………………. . 33
(•E1.Model de simulare pentru un sistem de a¸ steptare
cu o stat ¸ie, p.33;•E2.Model de simulare pentru un sistem
de a¸ steptare cu stat ¸ii paralele, p.33; •E3.Model cu stat ¸ii
paralele ¸ si preferint ¸e, p.34; •E4.Un model cpmplex, p.35)
Cap 2. Numere aleatoare . …………………………….39
2.1 Not ¸iuni introductive. ……………………… ………39
(•Repartit ¸ia uniform˘ a, p.40)
2.2 Necesitatea simul˘ arii numerelor aleatoare ……… ……. 42
2.3 Metode congruent ¸iale liniare. ……………….. ……..44
2.4 Alt ¸i generatori de numere aleatoare uniforme . ……. …. 47
(•Generatorul aditiv congruent ¸ial sau Fibonacci decalat, p .48;
•Generatorul congruent ¸ial inversiv, p.48;
•Generatorul matricial congruent ¸ial, p.49;
•Generatori bazat ¸i pe registre de deplasare, p.49;
4
•Amestecarea de generatori, p.49)
Exercit ¸ii . …………………………………. …….. 50
Cap.3. Simularea variabilelor neuniforme . …………….53
3.1 Metoda invers˘ a. …………………………… ……..53
3.2 Metoda compunerii sau amestec˘ arii. ……………. …..55
3.3 Metoda respingerii. ………………………… ……..59
3.4 Alte metode. ………………………………. …….67
3.4.1 Simularea repartit ¸iilor inrudite cu repartit ¸ia no rmal˘ a..72
(•Familia de variabile de tip Johnson, p.74)
3.5 Simularea unor variabile aleatoare particulare…… ……74
3.5.1 Repartit ¸ia exponent ¸ial˘ a………………… ……….74
3.5.2 Repartit ¸ia Gama …………………………. …… 76
(•O metod˘ a de compunere-respingere pt. cazul 0 <ν < 1,p.76;
•Metode pentru simularea variabilei Gamma (0,1,ν),ν >1, p.79)
3.5.3 Repartit ¸ia Beta…………………………. ……..81
3.5.4 Repartit ¸ia normal˘ a ……………………… …….. 84
(•O metod˘ a de compunere-respingere, p.84)
(•Metoda polar˘ a, p.86)
3.6 Simularea unor variabile discrete. …………….. …….88
3.6.1 Simularea unor repartit ¸ii bazate pe probe Bernoulli … 89
(•Repartit ¸ia binomial˘ a, p.89; Repartit ¸ia Pascal, p.91;
•Repartit ¸ia geometric˘ a, p.91)
3.6.2 Repartit ¸ia hipergeometric˘ a ………………. …….. 92
3.6.3 Repartit ¸ia Poisson. ……………………… ……..93
3.7 Validarea generatorilor …………………….. …….. 95
(•Construct ¸ia histogramei, p.95; •Testul χ2,p.99;
•Un test simplu, p.99)
Exercit ¸ii . …………………………………. …….. 99
Cap.4. Simularea vectorilor aleatori 103
4.1 Generalit˘ at ¸i . …………………………… ………. 103
4.2 Simulartea vectorilor uniformi . ………………. …… 107
4.3 Simularea vectorilor normali. ………………… ……109
(•O metod˘ a special˘ a, p. 112)
4.4 Simularea repartit ¸iei Cauchy multidimensionale. … …..113
4.5 Simularea repartit ¸iei multinomiale. ………….. …….114
5
4.6 Simularea repartit ¸iei Dirichlet . …………….. …….. 115
Exercit ¸ii. …………………………………. …….116
Cap. 5. Simularea proceselor stochastice ……………. 121
5.1 Generalit˘ at ¸i . …………………………… ………. 121
5.2 Lant ¸uri ¸ si procese Markov. ………………….. ……122
5.3 Simularea unui lant ¸ Markov . ………………….. …. 124
5.4 Simularea unor procese gaussiene particulare …….. … 125
5.4.1 Procesul gaussian cu funct ¸ie de autocorelat ¸ie exponent ¸ ial˘ a126
5.4.2 Procesul gausian cu funct ¸ie de autocorelat ¸ie linia r˘ ap. 126
(•Simularea procesului de zgomot alb pur, p.128)
5.5 Simularea procesului Poisson,. ……………….. ……129
Cap. 6. Metoda Monte Carlo ………………………..131
6.1 Generalit˘ at ¸i . …………………………… ………. 131
6.1.1 Calculul integralelor …………………….. ……. 133
6.2 Metoda Monte Carlo brut˘ a …………………….. … 134
6.3 Metode de reducere a dispersiei. ……………….. ….136
6.3.1 Metoda Monte Carlo dup˘ a important ¸˘ a…………. ..136
(••Observat ¸ii, p.137)
6.3.2 Metoda variabilei de control ………………… …. 139
6.3.3 Metoda variabilelor corelate ……………….. ….. 140
6.3.4 Metoda variabilelor antitetice. …………….. ……140
6.3.5 Metoda select ¸iei stratificate………………. …….141
6.3.6 Reducerea dimensiunii de integrare …………… … 142
6.4 Rezolvarea unor ecuat ¸ii operatoriale ………….. …… 143
6.4.1 Rezolvarea sistemelor de ecuat ¸ii liniare ……… ….. 143
6.4.2 Rezolvarea ecuat ¸iilor integrale . …………… ……. 145
6.5 Rezolvarea ecuat ¸iilor cu derivate part ¸iale . ……. ……. 148
Exercit ¸ii. …………………………………. …….152
(G6.4 Problema lui Buffon , p.154)
Cap. 7. Cˆ ateva modele de simulare . ………………… 157
7.1 Generalit˘ at ¸i despre modelele de a¸ steptare. ……. …….157
7.1.1 Procese de na¸ stere ¸ si deces ………………… ….. 159
(•Teorema de baz˘ a, p.159)
7.1.2 Calculul unor caracteristici ale modelului de a¸ step tare162
7.2 Simularea unui sistem cu o stat ¸ie ………………. …. 162
6
7.2.1 Modelul cu ceas variabil ……………………. …. 162
7.2.2 Modelul cu ceas constant . …………………… … 165
7.2.3 Validarea modelului cu o stat ¸ie . …………….. …. 167
7.3 Simularea unui sistem cu Nstat ¸ii paralele . …………. 170
(•Validarea modelului cu Nstat ¸ii paralele, p. 171)
7.4 Modele de simulare pentru stocuri. ……………… …174
7.4.1 Introducere in teoria matematic˘ a a stocurilor . …. … 174
7.4.2 Modele deterministe pentru stocarea unui produs …. 177
(•Modelul clasic al lotului economic, p.177;
•Modelul clasic al lipsei de stoc, p.179)
7.4.3 Modele de simulare particulare ………………. … 181
(•Primul model, p.181;
•Al doilea model, p.184)
Exercit ¸ii. …………………………………. …….186
Bibliografie . ………………………………………….1 89
Cap. 1
Generalit˘ at ¸i despre simulare
1.1 Introducere
Cuvantul simulare este de origine latina si inseamna capacitatea de
a reproduce ceva .In informatica, termenul de simulare a fost intro-
dus de John von Neumann la inceputul anilor ‘40, odata cu apar itia
primelor calculatoare electronice.J.von Neumann impreun a cu grupul
de savanti de la Scoala Los Alamos (Ulam, Metropolis, etc) au dez-
voltat primele aplicatii ale calculatoarelor. Tot ei au int rodus cuvintele
Cercetari operat ¸ionale (pentru a desemna aplicat ¸iile legate de dirijarea
operat ¸iilor militare pe arii geografice mari ale globului p amnantesc!)
precum ¸ si metoda Monte-Carlo (pentru a desemna aplicat ¸ii ale calcu-
latoarelor bazate pe utilizarea numerelor aleatoare). In a ccept ¸iunea
actuala a informaticii, simularea cuprinde o serie de aplic at ¸ii care real-
izeaz˘ a imitarea comportamentului unor part ¸i ale lumii reale (simularea
stochastica), luand in considerare si comportamentul alea tor al aces-
teia.Din domenul simularii face parte ¸ si metoda Monte Carl o.
Lucrarea de fat ¸a trateaza simularaea sub acest aspect gene ral, pornind
de la urm˘ atarea definit ¸ie mai putin formalizat˘ a [10].
Definit ¸ia 1.1 Simularea este o tehnic˘ a de realizare a experimentelor
cu calculatorul, care implic˘ a utilizarea unor modele mate matice ¸ si logice
care descriu comportarea unui sistem real (sau a unor compon ente ale
sale) de-alungul unor perioade mari de timp.
Deci simularea se realizeaza pe baza unui model special, num itmodel
7
8 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
de simulare, cu ajutorul c˘ aruia se realizeaz˘ a experimentele prin inte r-
mediul calculatorului. Modelul de simulare se construie¸ s te pe scheletul
unui model matematic ¸ si se finalizeaz˘ a intr-un algoritm. D e aceea in
cele ce urmeaz˘ a vom prezenta schema general˘ a a unui model d e sim-
ulare, pornind de la descrierea principalelor elemente ale unui model
matematic.
•Model matematic. Prin definit ¸ie, un model [10] este un ana-
logce reprezinta o parte a lumii inconjuratoare intr-un mod u¸ s or de
perceput de catre noi. Modelul ne reprezint˘ a uneori realit atea prin
scheme, figuri geometrice sau alte obiecte ce ne sunt familia re ¸ si pe
care le intelegem u¸ sor (i.e. la fel de bine cum le ”vedem” sau le
”pip˘ aim”). Modelul matematic ne reprezinta realitatea fo losind ele-
mente sau abstract ¸iuni matematice.
Elementele constitutive ale unui model matematic sunt urmatoarele
[10]:
a)Variabile (V) ¸ siParametri (P) care pot fi de intrare (V I, PI ),
dac˘ a pot fi percepute (masurate sau int ¸elese u¸ sor), sau de ie¸ sire
(V E, PE ), daca dimpotriv˘ a, masurarea sau perceperea lor este dific il˘ a.
Variabilele ¸ si parametri pot lua valori numerice sau logic e. Deosebirea
dintre variabile ¸ si parametri consta in aceea c˘ a parametr ii nu i¸ si schimb˘ a
valorile pe perioade mari de timp, in timp ce variabilele i¸ s i schimba val-
orile chiar pe intervale mici de timp. Scopul modelului este de a exprima
variabilele ¸ si parametri de ie¸ sire in funct ¸ie de variabi lele ¸ si parametri de
intrare, cu eventuala satisfacere a unor condit ¸ii de perfo rmant ¸˘ a de c˘ atre
sistem (de ex. condit ¸ii de optim). Unele V Ipot fialeatoare , caz in care
¸ si unele variabile sau parametri de ie¸ sire vor fi de asemene a aleatoare.
b)Relat ¸iile funct ¸ionale constituie o alt˘ a categorie de elemente ale
unui model matematic. Ele sunt de forma
Fi(V I, PI, V E, PE ) = 0
(adic˘ a implicite) ¸ si pot fi la randul lor de dou˘ a tipuri:
– ecuat ¸ii, care sunt satisf˘ acute numai de anumite valori a le vari-
abilelor sau parametrilor, ¸ si ;
– identit˘ at ¸i, care sunt satisf˘ acute de orice valori ale v ariabilelor ¸ si
parametrilor; ele exprima condit ¸ii de echilibru saulegi de conservare.
1.1. INTRODUCERE 9
Ecuat ¸iile si identitat ¸ile pot fi relat ¸ii algebrice sau tr anscendente,
diferent ¸iale sau integrale, detrministe sau stochastice , etc.
c)Caracteristicile operative constituie o alt˘ a categorie de elemente
ce compun un model matematic ¸ si ele pot fi:
– ipoteze de lucru (referitoare la relat ¸iile funct ¸ionale );
– ipoteze statistice (referitoare la VI-aleatoare).
d)Tehnica de rezolvare este un alt element constitutiv al unui model
matematic. Ea este o tehnic˘ a matematic˘ a ce realizeaz˘ a se pararea ele-
mentelor de ie¸ sire in funct ¸ie de elementele de intrare, ad ic˘ a:
(V, P)E=fj(VI, PI).
Cu alte cuvinte, tehnica de rezolvare a modelului exprim˘ a s ub forma
explicit˘ a variabilele ¸ si parametri de ie¸ sire in funct ¸ie de variabi lele ¸ si
parametri de intrare.
Tehnicile matematice de rezolvare a modelelor sunt ins˘ a s˘ arace atˆ at
ca varietate cˆ at ¸ si ca performant ¸˘ a. De exemplu, ecuat ¸i ile modelului se
pot reazolva numai dac˘ a sunt liniare sau uneori p˘ atratice , iar daca sunt
de grad superior ele se pot rezolva numai daca au forme partic ulare.
La fel, ecuat ¸iile diferent ¸iale sau cu derivate part ¸iale se pot rezolva cu
metode matematice deductive numai in anumite cazuri partic ulare. De
aceea in construct ¸ia modelelor matematice se fac de multe o riipoteze
simplificatoare care permit aplicarea tehnicilor de care dispune matem-
atica. (Acesta este scopul utiliz˘ arii de c˘ atre model a car acteristicilor
operative!). Din aceste motive, modelarea matematic˘ a est e aproxima-
tiv˘ a ¸ si ea nu permite rezolvarea realist˘ a a problemelor practice. Uti-
lizarea calculatorului permite imbun˘ at˘ at ¸irea perform ant ¸elor modelelor
matematice prin utilizarea metodelor numerice. Dar ¸ si in aceste condi-
tii modelele matematice nu pot descrie corect realitatea in toat˘ a com-
plexitatea ei deoarece nu toate relat ¸iile dintre obiectel e lumii reale se
pot exprima prin formule matematice. Intr-o atare situat ¸i e modelul
matematic trebuie completat cu descrieri care s˘ a imite anumite com-
portari ale lumii reale. Acestea se realizeaz˘ a prin descri eri algoritmice
de tipul if-then-else- sauif-then- combinate cu alte structuri algo-
ritmce (cicluri,secvent ¸e, etc.). In acest fel, modelul ma tematic se com-
pleteaz˘ a ¸ si extinde sub form˘ a de algoritm ¸ si devine model de simulare.
Simularea m˘ are¸ ste deci mult posibilitatea de tratare rea list˘ a
10 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
a problemelor aplicative . Construct ¸ia unui model de simulare, care
in fapt este un algoritm complex, dezvoltat pe scheletul unui model
matematic, este o sarcin˘ a nu prea u¸ soar˘ a; o vom trata mai j os.
•Clasific˘ ari ale modelelor matematice. Mai intai s˘ a vedem
ins˘ a cum pot fi clasificate modelele matematice?
(i). Clasificarea modelelor matematice dupa natura variabi lelor uti-
lizate de model: continue/discrete ; statice/ dinamice (daca timpul
nu intervine sau dac˘ a apare explicit ca variabil˘ a a modelu lui); determin-
iste/stochastice (dupa cum nu cont ¸ine sau cont ¸ine m˘ acar o variabil˘ a
de intrare ca variabil˘ a aleatoare).
(ii). Clasificare topologic˘ a, dup˘ a structura determinat ˘ a de part ¸ile in
care se descopune modelul (cˆ and este cazul): cu o component˘ a /cu mai
multe componente in serie , in paralel, in ret ¸ea. (Tipurile de
modele scrise cu caractere ingro¸ sate sunt importante c˘ ac i sunt realiste
¸ si se construiesc cu dificultate. Modelele de simulare sunt de aceste
tipuri).
Un model, fie el matematic sau de simulare, constitue de fapt o
clas˘ a de modele .
Pentru a ilustra caracteristicile componente ale unui mode l matem-
atic vom da un exemplu.
Exemplul 1.1 [10,11]. Sistemul de a¸ steptare este o parte a
lumii reale in care se produc aglomer˘ ari . Un astfel de sistem const˘ a
din una sau mai multe stat ¸ii de serviciu care servesc (dupa a numite re
guli) client ¸i care sosesc in sistem. Dac˘ a sosesc mult ¸i client ¸i ¸ si stat ¸iile de
servire nu pot s˘ a-i serveasc˘ a repede, atunci se formeaz˘ a cozi de a¸ steptare
in sistem. Proprietarul sau administratorul sistemului tr ebuie s˘ a diri-
jeze sistemul astfel incˆ at nici client ¸ii s˘ a nu a¸ stepte mult pˆ an˘ a primesc
serviciul, dar nici stat ¸iile de serviciu s˘ a nu leneveasc˘ a prea mult, c˘ aci
lenevirea lor aduce pierderi administratorului sistemulu i.
Modelarea matematic˘ a a sistemelor de a¸ steptare are deci c ascopre-
alizarea unui echilibru intre pierderile cauzate client ¸i lor prin a¸ steptari ¸ si
pierderile cauzate administratorului prin leneviri. Mode lele matematice
de acest tip sunt cunoscute sub numele de teoria matematic˘ a a cozilor
sau teoria a¸ stept˘ arii. Ele sunt utilizate in diverse situat ¸ii practice: in
comert ¸, in managementul sistemelor de comunicat ¸ii ¸ si de transport,
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 11
dar ¸ si in dirijarea ¸ si controlul funct ¸ion˘ arii in timp re al a ret ¸elelor de
calculatoare.
Un model de asteptare contine de regula urmatoarele element e:
Variablele de intrare (cunoscute) VI: AT= timp de intersosire
(al client ¸ilor); ST= timp de serviciu al unui client ( caracteristic˘ a
a stat ¸iilor); aceste variabile sunt de regul˘ a aleatoare, fapt ce m˘ are¸ ste
dificultatea model˘ arii. Sosirile se pot m˘ asura ¸ si prin NA=num˘ ar de
client ¸i sosit ¸i pe unitatea de timp iar serviciile se pot m˘ asura ¸ si prin
NS=num˘ ar de client ¸i servit ¸i pe unitatea de timp. Acestea sunt deci
variable aleatoare discrete.
Variabilele de ie¸ sire (necunoscute) V Esunt:WT= timp de a¸ steptare
(sauWL= lungimea cozii, variabil˘ a discret˘ a);
TID= timp de lenevire (sau NID= num˘ arul de stat ¸ii de servire
carelenevesc , variabil˘ a discret˘ a);
Scopul modelului: cunoscˆ and repartit ¸iile de probabilit ate ale lui AT
¸ siSTs˘ a se determine informat ¸ii despre WT(WL) sauTID(NID) ¸ si
s˘ a se stabileasc˘ a cum trebuie s˘ a se realizeze STastfel incˆ at o anume
funct ¸ie de eficient ¸˘ a ( sau cost) s˘ a fie optim˘ a sau convena bil˘ a pentru
administratorul sistemului.
Construct ¸ia modelelor de simulare se bazeaz˘ a pe studiere a (in funct ¸ie
de ipotezele f˘ acute asupra variabilelor de intrare AT, ST ) a procesului
stochastic discret N(t) = num˘ arul de client ¸i in sistemul de a¸ steptare
la momentul de timp t.Acest proces este proces de na¸ stere ¸ si deces.
Nu vom studia aceste procese deocamdat˘ a. (Acest lucru va fi f ˘ acut in
ultimul capitol!). Vom prezenta mai intai construct ¸ia unui model de
simulare.
1.2 Construct ¸ia unui model de simulare
Modelul de simulare (MS) presupune utilizarea calculatorului ¸ si el
se construie¸ ste pe baza/scheletul unui model matematic; m ai precis el
completeaz˘ a modelul matematic descriind unele relat ¸ii prin algoritmi,
deci in final MS este un algoritm. Acest algoritm trebuie s˘ a d escrie
corect evolut ¸ia sistemului ¸ si s˘ a permit˘ a efectuarea de experi ent ¸e (prin
rul˘ ari pe calculator), care s˘ a inlocuiasc˘ a experient ¸e le ce ar trebui real-
izate asupra sistemului real.
12 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
1.2.1 Structura unui model de simulare
Construct ¸ia unui MS utilizeaz˘ a dou˘ a concepte de baz˘ a: ceasul simu-
larii¸ siagenda simul˘ arii
•Ceasul simul˘ arii. Ceasul asigur˘ a e¸ salonarea corect˘ a in timp a
evenimentelor create de model ¸ si uneori ajut˘ a la implemen tarea condit ¸iei
de terminare a simul˘ arii. El este de dou˘ a feluri:
a) ceas cu cre¸ stere constant˘ a;
b) ceas cu cre¸ stere variabil˘ a;
Not˘ a: Evenimentele corespund unor modific˘ ari in sistem adica
modificari ale valorilor unor variabile care se calculeaz˘ a sau se genereaz˘ a
prin instruct ¸iuni ale modelului (chiar ¸ si dac˘ a sunt aleatoare! ).
In Figura 1.1 sunt prezentate cele dou˘ a modalit˘ at ¸i de cre ¸ stere a
ceasului. Ceasul porne¸ ste cu valoarea zero la inceputul si mul˘ arii. Dac˘ a
modelul se bazeaz˘ a pe ceasul cu cre¸ stere variabil˘ a, atun ci ceasul este
crescut cu valoarea ce corespunde aparit ¸iei primului eveniment urm˘ ator ;
apoi programul prelucreaz˘ a evenimentul , dupa care ceasul cre¸ ste din
nou reluˆ andu-se ciclul simul˘ arii , pˆ ana cˆ and ceasul atinge o valoare data
init ¸ial, Tmaxcare corespunde perioadei pe care se realizeaz˘ a simularea .
Ceasul cu cre¸ stere constant˘ a presupune c˘ a de fiecare dat˘ a cre¸ sterea
se realizeaz˘ a cu o cuant˘ a de timp cconstant˘ a; apoi se prelucreaz˘ a toate
evenimentele ap˘ arute pe intervalul de timp de lungime c, dup˘ a care
se reia ciclul simul˘ arii. Simularea se termin˘ a de asemene a cˆ and ceasul
atinge valoarea Tmax.
Terminarea simul˘ arii se poate realiza ¸ si impunˆ and condi t ¸ia ca mo-
delul s˘ a prelucreze un anumit num˘ ar dat de evenimente de un tip pre-
cizat. (De exemplu, in cazul unui model de simulare a unui sis tem de
a¸ steptare, se poate impune condit ¸ia ca simularea s˘ a se te rmine cˆ and s-a
simulat servirea unui num˘ ar dat de client ¸i).
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 13
h h h hx x x x
T1 T2 T3T4
c 2c 3cE1 E2 E3E4
E1 E2 E3E4
c c c00
TT
(a)
(b)–
– – – x x x x
Fig. 1.1. Variat ¸ia ceasului.
a) Cazul ceasului cu cre¸ stere variabilˇ a. Ti= valorile ceasului.
b) Cazul ceasului cu cre¸ stere constantˇ a c.
A r˘ amas oarecum ne precizat ce se int ¸elege prin prelucrare a unui
eveniment.Acest fapt se int ¸elege u¸ sor dac˘ a preciz˘ am ¸ s i conceptul de
agend˘ a a simul˘ arii.
•Agenda simul˘ arii. Agenda se compune din elementele memo-
ratede modelul de simulare. Variabilele modelului iau diverse v alori pe
parcursul simul˘ arii; de aici rezulta c˘ a pe parcursul simu l˘ arii apar multe
evenimente. Memorarea in totalitate a acestor evenimente, impreun˘ a
cu caracteristicile lor, nu este nici recomandat˘ a dar nici necesar˘ a daca
simularea se realizeaz˘ a pe perioade mari de timp. De aceea, se memo-
reaz˘ a (in agend˘ a) numai ceea ce este strict necesar. Eveni mentele sunt
dediverse tipuri ; unele variabile descriu ¸ si st˘ ariale sistemului (sau ale
unor componente ale acestuia). Evenimentele sunt creiate s au gener-
ate la momente de timp ulterioare valorii ceasului. De aceea agenda
se compune din dou˘ a p˘ art ¸i: agenda evenimentelor curente AEC ¸ si
agenda evenimentelor viitoare.
Deciagenda A=AEC⊕AEV,unde:
AEC = agenda evenimentelor curente (care au timpul de aparit ¸ie
egal cu valoarea ceasului); iar
AEV = agenda evenimentelor viitoare (care au timpul de aparit ¸i e
ulterior valorii curente a ceasului).
Algoritmul simularii prelucreaz˘ a deci numai evenimentel e dinAEC;
prelucrarea unui eveniment inseamn˘ a fie determinarea apar it ¸iei unui
nou eveniment (ce se memoreaz˘ a in AEV) sau modificarea unei st˘ ari,
14 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
fie distrugerea unui eveniment (“stergerea”) lui din agend˘ a. Prelucr˘ arile
evenimentelor t ¸in seama ¸ si de st˘ arile sistemului la acel moment.
Algoritmul simul˘ arii gestioneaz˘ a/actualizeaz˘ a agend a prin interac-
t ¸iunea acesteia cu ceasul; intr-un ciclu al simul˘ arii ceasul este acualizat,
dupa care se selecteaz˘ a din agenda Aevenimentele care fac parte din
AEC ¸ si se prelucreaza aceste evenimente pana cand AEC devine vida.
Atunci, ceasul este cresut din nou ¸ si se reia ciclul simul˘ arii . Deci
agenda simul˘ arii se modific˘ a pe parcursul simul˘ arii conf orm urm˘ atoarei
relat ¸ii de dinamic˘ a
A=A⊕AEgen/circleminusAEelim
undeAgensunt evenimentele generate pe parcursul unui ciclu, iar Aelim
sunt evenimentele eliminate cu ocazia prelucr˘ arii AEC. (Semnele⊕¸ si
/circleminusse autexplic˘ a).
Structura general˘ a a unui MS este descris˘ a in schema logic˘ a
din Figura 1.2, pentru a c˘ arei int ¸elegere este necesar˘ a ¸ si urm˘ arirea
schemelor ajut˘ atoare din Fig. 1.3, a)-g). Descrierea stru cturii MS este
prezentat˘ a structurat.
In Figura 1.3 a) se prezint˘ a schema logic˘ a general˘ a a rutinei prin-
cipale; MS este conceput ca un jocconstituit din mut˘ ari. Se urm˘ are¸ ste
ca jocul s˘ a conduc˘ a la o performant ¸˘ a a sistemului prin ef ectuarea a
mai multe mut˘ ari, fiecare mutare fiind aleas˘ a astfel incˆ at s˘ a conduc˘ a
in final la satisfacerea jocului . In blocul central al Fig.1.3 a) (rutina
principal˘ a!) se execut˘ a ciclul de baz˘ a al simul˘ arii (in teract ¸iunea ceas-
agend˘ a!).Rutina de comutat ¸ie alege evenimentul ce urmea z˘ a a fi pre-
lucrat din AEC si transfer˘ a controlul la rutina eveniment care-l va
prelucra.
Rutina eveniment prelucreaz˘ a evenimente dup˘ a schema:
A→B, A…….. > B
care inseamn˘ a c˘ a Ail detrmin˘ a sigurpeB,respectiv Ail poate deter-
mina peB(cu o probabilitate); sau,
A→/B, A…./…… > B
care inseamn˘ a c˘ a Aildistruge (elimin˘ a) pe Bsigur, respectiv Ail
poate distruge peBcu o probabilitate dat˘ a. Prelucrarea evenimentului
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 15
t ¸ine seama de regulile de prelucrare ale acelui tip de eveni ment ¸ si de
starea/st˘ arile sistemului.
SFARSIT?
AAAA
AAAA?
AAAA
AAAA?
RUTINA PRINCIPALA???
INCEPUT
66-
–
? 6
–
& %' $
COMUTATIERUTINA DEB
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
BB N@
@
@
@
@@R
B
B
B
B
B
B
B
B
B
B
B
B
B
BB N
TERMINATETOATE JOCURILEJOC COMPLETCOMPLETAMUTARE
JOCREZUMATRUTINAMUTAREREZUMATRUTINAA MUTARIIINITIALIZARERUTINA DEA JOCULUIINITIALIZARERUTINA DE
EVENIMENTRUTINAULTIMAEVENIMENTRUTINAA DOUAEVENIMENTRUTINAPRIMA
Fig. 1.2. Schema logica globalˇ a a unui program
de simulare bazat pe ceas cu cre¸ stere variabilˇ a.
16 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
& %' $
MUTAREREZUMATLA RUTINATRANSFER
a)Da??????
@@
@
@-Nu
& %' $
COMUTATIELA RUTINA DETRANSFER
CLOCK>TMAXCEASUL CLOCKREACTUALIZEAZAEVENIMENT CURENTURMATOR INEVENIMENTULTRANSFORMADIN AEVEVENIMENTALEGE PRIMULDa@@
@
@-Nu
MENTE VIITOAREAGENDA DE EVENI-EXISTA O
& %' $
INTRARE LA
RUTINA
REZUMAT
MUTARE& %' $
INTRARE DIN
RUTINA DE
INITIALIZARE
A MUTARII
b)& %' $
PRINCIPALALA RUTINATRANSFER??????
SCRIE EFECTUL
ACESTUI EVENIMENTCU ACEST EVENIMENTCARE AU LEGATURASTATISTICILEREACTUALIZEAZADE ACEST EVENIMENTEVENIMENTELE ANULATEAGENDASCOATE DININ AGENDA (AEV)SI LE MEMOREAZAEVENIMENTE VIITOARENOILEGENEREAZAMODIFICA ELEMENTELE
AFECTATE DE
ACEST EVENIMENT& %' $
COMUTATIERUTINA DEINTRARE DIN
Fig. 1.3. Schemele logice ale rutinelor programului de simu lare.
a) Rutina principala
b) Rutina eveniment
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 17
& %' $
JOCULUIREZUMATULLA RUTINATRANSFER
c)Da ????& %' $
PRINCIPALADIN RUTINAINTRARE
REZUMATUL JOCULUISTATISTICILE PENTRUREACTUALIZEAZA
@@
@
@-Nu
& %' $
A MUTARIIINITIALIZARELA RUTINA DETRANSFER
ESTE ULTIMA
MUTARE ?
MUTARIIREZUMATELECALCULEAZA
SFARSIT
d)Da???
@@
@
@-Nu
& %' $
A JOCULUIINITIALIZARELA RUTINA DETRANSFER
ESTE
ULTIMUL JOC ?
JOCULUIREZUMATELEDETERMINA& %' $
MUTAREREZUMATDIN RUTINAINTRARE
Fig.1.3(continuare) Schemele logice ale rutinelor
programului de simulare.
c) Rutina rezumat mutare;
d) Rutina rezumat joc;
18 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
& %' $
ZATOARECORESPUN-EVENIMENTLA RUTINATRANSFER
e)?CURENTEVENIMENTULUIDETERMINA TIPUL?& %' $
PRINCIPALADIN RUTINAINTRARE
& %' $
PRINCIPALPROGRAMULLATRANSFER
f)?REZUMATUL MUTARIIINITIALIZEAZANECESARA MUTARIIINFORMATIAJOCULUI INITIALIZEAZAFOLOSIND INFORMATIA
??& %' $
A JOCULUIINITIALIZARERUTINA DEINTRARE DIN
& %' $
A MUTARIIINITIALIZARELA RUTINA DETRANSFER
g)?REZUMATUL JOCULUIINITIALIZEAZANECESARA JOCULUIINFORMATIAINTRARE
??
INCEPUT
Fig.1.3(continuare) Schemele logice ale rutinelor progra mului de
simulare.
e) Rutina de comutat ¸ie;
f) Rutina de init ¸ializare a mutˇ arii;
g) Rutina de init ¸ializare a jocului.
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 19
1.2.2 Concepte de baz˘ a in modelarea sistemelor
Descrierea unui MS prezentat˘ a mai sus poate fi realizat˘ a in tr-un cadru
formal general folosind concepte din teoria matematic˘ a a sistemelor [8,
12, 13].
Prin sistem [8] se int ¸elege, sub forma cea mai vag˘ a, o mult ¸ ime de
obiecteOinterconectate prin intermediul unei relat ¸ii R, adica Sis-
tem= (O,R), unde
R⊂O×O .
Definit ¸ia formala generala a unui sistem este [8]:
Definit ¸ia 1.2 Un sistem este urm˘ atoarea structur˘ a de mult ¸imi:
S= (T, X,Ω,Σ, Y, δ, λ )
unde:
T=timpul de baz˘ a al sistemului (ceasul sistemului) ;
X=mult ¸imea intr˘ arilor ;
Ω = mult ¸imea segmentelor de intrare (forma intr˘ arilor!)
segment= ω: (t0, t1)/mapsto→X,=ω(t0,t1)= grafic={(t, ω(t)), t0≤t≤
t1}.
Se foloseste de regul˘ a notat ¸ia ω(t,t1)={(τ, ω(τ)), t < τ≤t1}¸ si
notat ¸iile ω=ω(t0,t1), ωt)=ω(t0,t), ω(t=ω(t,t1);ω=ωt)ω(t;
Σ =mult ¸imea st˘ arilor interne ale sistemului =memoria sis-
temului;
Conceptul de stareeste esent ¸ial in modelarea sistemelor; el descrie
structura intern˘ a (intim˘ a!) a sistemului;
δ=funct ¸ia de tranzit ¸ie a st˘ arilor definit˘ a ca
δ: Σ×Ω/mapsto→Σ.
Ea satisface relat ¸ia
δ(σ, ω) =δ(δ(σ, ωt)), ω(t),∀t, ω=ωt)ω(t,
care este axioma semigrupului sau proprietatea de separabilitate a st˘ arilor.
Mult ¸imea (graficul) ( ω, σ) se nume¸ ste traiectorie a st˘ arilor ;
20 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
Y=mult ¸imea ie¸ sirilor (Sistemul este presupus deschis , intr˘ arile
si ie¸ sirile fiind exterioare sistemului).
Mult ¸imea Ycont ¸ine r˘ aspunsul sistemului la intrarea de forma ω
cˆ and la momentul init ¸ial t0sistemul sa afl˘ a in starea σ.
λ=funct ¸ia de r˘ aspuns, de forma λ: Σ×X×T/mapsto→Y;
λ(σ, x, t) conduce la un segment de ie¸ sire ce reprezint˘ a forma r˘ aspun-
sului sistemului la intrarea x, la momentul tcˆ and starea la momentul
init ¸ial t0, t0< t,esteσ.
Nota: din definit ¸ie rezult˘ a c˘ a pentru o stare init ¸ial˘ a σ, (la momentul
t0) cˆ and are loc intrarea de forma ωse realizeaz˘ a o traiectorie unic˘ a a
st˘ arilor . Cu alte cuvinte, traiectoria st˘ arilor satisface relat ¸i ile:
STRAJ σ,ω: (t0, t1)/mapsto→Σ, a.i.STRAJ σω(t0) =σ
STRAJ σ,ω(t) =δ(σ, ωt)),∀t∈(t0, t1).
Proiect ¸ia STRAJ obtinut˘ a prin funct ¸ia de tranzit ¸ie a st˘ arilor compus˘ a
cu funct ¸ia de r˘ aspuns, este traiectoria de ie¸ sire
OTRAJ σ,ω: (t0, t1)/mapsto→Y.
Dac˘ a λ=λ(σ) (ie¸ sirea depinde numai de σ) atunci rezulta relat ¸ia
simpl˘ a
OTRAJ σ,ω(t) =λ(STRAJ σ,ω(t)).
•Nivele de reprezentare a sistemelor. Exist˘ a mai multe nivele
de reprezentare a sistemelor ¸ si anume [8]:
•Reprezentarea la nivel de comportare. Sistemul este o cutie
neagr˘ a ( black box ), exprimat formal prin relat ¸ia
Rs={(ω, ρ)|ω∈Ω, ρ=OTRAJ σ,ω, σ∈Σ}.
Acest nivel de reprezentare este cel mai vag. El descrie numa i relat ¸iile
de intrare/ie¸ sire ce se pot observa dinafara sistemului (c are deci se
comport˘ a ca o cutie neagra ).
•Reprezentarea la nivel de structur˘ a de stare. La acest nivel
seintr˘ a in structra intern˘ a ( intim˘ a ) a sistemului, adic˘ a se stabilesc
elementele acestuia : ( T, X,Ω,Σ, Y, δ, λ ) , definite ca mai sus.
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 21
•Reprezentarea modular˘ a (ca structur˘ a compus˘ a). Dac˘ a sis-
temul este complex, atunci se identific˘ a subsisteme ale acestuia precum
si interconexiunile dintre ele in sensul c˘ a ie¸ sirile unor subsisteme sunt
int˘ ari in alte subsisteme, intr˘ arile unor subsisteme fiin d intr˘ ari ale sis-
temului ¸ si iesirile unor subsisteme fiind ie¸ siri ale siste mului. Cele trei
nivele de reprezentare ale unui sistem sunt ilustrate grafic in Fig.1.4.
&%'$&%'$
&%'$&%'$
c)- – – – – –
– –
66 6b)-
6-a)- -BLACK BOX
ω2(t)δ2 λ2 ρ2(t)ω1(t)δ1 λ1ρ1(t)ω3(t)δ3 λ3ρ3(t)S1(t) S3(t)S(t)
S2(t)ω(t)δ λ ρ (t)ω(t) ρ(t)
RS={ω,ρ}
ω(t) ρ2
Fig. 1.4. Descrierea sistemului
a) Sistem la nivel de comportare
b) Sistem la nivel de structurˇ a de stare
c) Sistem la nivel de structurˇ a compusˇ a.
Nivelele de reprezentare a sistemelor, pornind de la forma c ea mai
vag˘ a si continuˆ and pan˘ a la forma detaliat˘ a legitimeaza Metodologia
22 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
”TOP DOWN” de proiectare a sistemelor de orice fel, in particu-
lar, metodologia de proiectare a sistemelor informatice si in general
metodologia de proiectare ierarhic˘ a, descendent˘ a a programelor.
1.2.3 Modelul sistemului cu evenimente externe discrete
Modelul de simulare se incadreaz˘ a in categoria modelului de sistem
cu evenimente externe discrete (DEVS=Discrete EVent System), [8,
12,13]. Acesta este un sistem particular de forma
SM= (XM, SM, YM, δM, λM, τM)
in care timpul Teste considerat implicit iar elementele au urmatoarea
semnificat ¸ie:
XM= mult ¸imea (discret˘ a) de evenimente externe ; (int ¸elegem eveni-
mentele ca ni¸ ste entitat ¸i oarecari);
SM= mult ¸imea secvent ¸elor discrete de st˘ ari interne pe care le pot
parcurge evenimentele externe cˆ and acestea intr˘ a in sist em;
YM= mult ¸imea ie¸ sirilor, sau r˘ aspunsurilor sistemului;
δM= funct ¸ia de quasi-tranzit ¸ie exprimat˘ a prin dou˘ a componente:
δ∅
M:SM/mapsto→SMcare spune ce st˘ ari parcurg evenimentele externe
cˆ andnu g˘ asesc alte evenimente intrate in sistem;
δex
M:XM×SM×T/mapsto→SM-adic˘ a δex
M(x, s, e) care spune cum se
transform˘ a starea cˆ and intr˘ a in sistem x, dac˘ a starea init ¸ial˘ a era s¸ si
dac˘ aeeste timpul scurs de la aparit ¸ia ultimei tranzit ¸ii de star e;
λM=funct ¸ia de ie¸ sire (de r˘ aspuns), λM:SM/mapsto→YM,λM(s)∈YM;
τM=funct ¸ia de intˆ arziere (decalaj), τM:SM/mapsto→R+, care spune cˆ at
intˆ arzie sistemul in starea s(intˆ arzierea este τM(s));
Sa ar˘ at˘ am acum de ce SMeste un sistem in sensul general definit
mai sus.
SMeste un S= (T, X,Ω,Σ, Y, δ, λ ) deoarece
T= [t0,∞), t0−initial ¸ si el este subint ¸eles in mod implicit;
X=XM/uniontext∅; (∅= nu este eveniment);
Ω = mult ¸imea segmentelor; segmentele sunt secvent ¸e discr ete, finite
de evenimente asociate cu momentele (ordonate) de timp cˆ an d acestea
intr˘ a in sistem;
Σ = mult ¸imea st˘ arilor,adic˘ a
Σ ={(s, e)|s∈SM,0≤e≤τM(s)}.
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 23
δse construie¸ ste din δMastfel
δ: Σ×X/mapsto→Σ;
δ(s, e,∅) = (s, e)∈Σ, daca e < τ M(s)
δ(s, τM(s),∅) = (δ∅
M(s), τM(s))
δ(s, e, x) = (δex
M(x, s, e), e);
Funct ¸ia de ie¸ sire esteλ=λM.
O formalizare a teoriei modelelor de simulare discret˘ a se g ˘ ase¸ ste in
c˘ art ¸ile lui ZEIGLER [12,13].
Ea poate servi ca metodologie de construct ¸ie a modelelor de simulare
si conduce la construct ¸ia modelelor de simulare OO (=Orientate
Obiect), [13].
1.2.4 Metodologia de realizare a experimentelor de simu-
lare (Metodologia simul˘ arii) , [10, 11].
Etapele realiz˘ arii unui experiment de simulare sunt:
10Formularea problemei , care const˘ a in a preciza intreb˘ arile la
care trebuie s˘ a r˘ aspunda modelul ¸ si a preciza domeniul lu mii reale ce
trebuie analizat. Aici se precizeaz˘ a si forma r˘ aspunsulu i la intreb˘ ari
(de ex. dac˘ a se vor produce grafice, tabele sau chiar texte sc rise).
20Realizarea unor experimente preliminare ; in aceast˘ a etap˘ a
se stabilesc, pe baza observat ¸iilor sau datelor culese din lumea real˘ a,
sau existente, referitoare la aceasta (istorice), variabilele ¸ si parametri
¸ si care din acestea sunt de intrare sau de ie¸ sire.
30Prelucrarea (interpretarea) primar˘ a a datelor prelim-
inare ; acum se disting variabilele aleatoare, se estimeaz˘ a parametri ¸ si
se testeaz˘ a ipoteze statistice. (Statistica matematic˘ a joac˘ a un rol im-
portant in simulare).
40Formularea unui model matematic preliminar, incom-
plet; in aceast˘ a etap˘ a se precizeaz˘ a relat ¸ii funct ¸ionale, ipoteze de lucru
(care s˘ a concorde cu datele existente, colectate) ¸ si se in dentifica ce
relat ¸ii nu pot fi exprimate matematic ¸ si care sunt dificult˘ at ¸ile ce ar
trebui inl˘ aturate pentru a r˘ aspunde la intreb˘ arile form ulate.
24 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
50Evaluarea modelului (etap˘ a de decizie !); se urm˘ are¸ ste s˘ a se
evalueze complexitatea modelului, daca el poate r˘ aspunde in timp real
¸ sicomplet la intreb˘ ari; in aceast˘ a etap˘ a se pot eventual reizui une le din
etapele precedente f˘ acandu-se simplific˘ ari sau complet˘ ari ale modelului
matematic propus.
60Construct ¸ia modelului de simulare (sub form˘ a de algo-
ritm detaliat); modelul se construie¸ ste conform celor pre cizate anterior
urm˘ arindu-se ca el sa fie general . La construct ¸ia algoritmului simul˘ arii
se va avea in vedere ¸ si cum se va realiza programarea: intr-u nlim-
baj evoluat sau int-un limbaj specializat de simulare . Exist˘ a un
num˘ ar mare de limbaje de simulare toate avˆ and la baz˘ a, mai mult sau
mai put ¸in, filozofia DEVS. Un astfel de limbaj (ce va fi prezent at in
sect ¸iunea urm˘ atoare) este GPSS= General Purpose Simulat ion System
[1, 14]. O versiune romˆ aneasc˘ a a acestui limbaj este SIMUB (limbajul
de SIMulare al Universitat ¸ii din Bucure¸ sti) ¸ si el a fost i mplementat la
sfˆ ar¸ situl anilor ‘70 pe sistemele de calcul FELIX C-256 de cercet˘ atori
ai Centrului de calcul al Universit˘ at ¸ii din Bucure¸ sti (C CUB).
In anii ‘60-70 au fost construite [10] ¸ si implementate mult e limbaje
de simulare pentru sistemele de calcul de generatia a III-a.
Printre limbajele de simulare introduse atunci mention˘ am limba-
jul SIMULA, care introduce conceptul de clas˘ a pentru a desemna o
mult ¸ime de obiecte ale unui program care au anumite proprie tati ¸ si
care se supun unui tratament comun; acest concept a generat p e cel
deobiect ¸ si este deci premerg˘ ator program˘ arii orientat˘ a spere obiecte.
Un alt limbaj, care se baza de fapt pe o subrutina complex˘ a FO R-
TRAN, ce putea fi combinat˘ a cu alte subprograme in acest limb aj ¸ si
care prezint˘ a din aceast˘ a cauz˘ a mult˘ a flexibilitate in s crierea de pro-
grame de simulare este limbajul GASP IV; o versiune a acestui limbaj,
numit˘ a GASP-SIMPATIC a fost implementata la inceputul ani lor ‘80
pe sistemele de calcul FELIX C-256 ¸ si pe minicalculatoarel e CORAL
¸ si INDEPENDENT, de c˘ atre cercetatori ai CCUB.
Limbajele de simulare sunt atˆ at limbaje de programere cat ¸ si instru-
mente care faciliteaz˘ a construct ¸ia modelelor de simular e. Utilizˆ and un
astfel de limbaj, analistul-programator va fi scutit de grij a construct ¸iei
instrumentelor specifice simul˘ arii (organizarea agendei , manipularea ¸ si
controlul ceasului al AEC sau AEV, etc.), el putˆ andu-se ast fel con-
centra numai asupra definirii elementelor specifice sistemu lui pe care-l
1.2. CONSTRUCT ¸IA UNUI MODEL DE SIMULARE 25
modeleaz˘ a (tipurile de evenimente, componentele ¸ si st˘ a rile sistemului,
definirea r˘ aspunsurilor la intreb˘ ari, etc).
Avantajele utiliz˘ arii limbajelor de simulare : modelele se con-
struiesc rapid, experiment ¸ele de simulare se realizeaz˘ a repede (sunt
experient ¸e artificiale ce nu au nevoie de scurgerea timpulu i fizic pen-
tru a fi observate). Dezavantajele constau in faptul c˘ a modelele de
simulare realizate in limbaj specializat sunt supuse unor r estrict ¸ii de-
terminate de posibilit˘ at ¸ile limitate ale acestora.
De regul˘ a modelele de simulare genereaz˘ a valori ale varia bilelor de
intrare si produc select ¸ii statistice de valori asupra variabilelor de ie¸ sire.
Pentru formularea r˘ aspunsurilor la intreb˘ ari ar trebui p relucrate in mod
cˆ at mai evoluat aceste select ¸ii. Limbajele de simulare nu dispun de
regul˘ a de astfel de facilit˘ at ¸i, mai ales presupunˆ and (c eea ce este un fapt
real!), c˘ a valorile de select ¸ie produse de simulare nu sun t independente
stochastic.
Avantajele modelelor dezvoltate in limbaje evoluate sunt:
acuratet ¸ea rezulatelor, flexibilitatea modelelor (adic˘ a pot fi extinse cu
noi tehnici numerice de calcul, pot fi mai generale, etc). Dezavan-
tajele constau in faptul c˘ a se constriuesc mult mai greu (utilizat orul
trebuie s˘ a implementeze tehnicile de manipulare a ceasulu i ¸ si de ges-
tionare a agendei).
70Validarea modelului este de asemenea o etap˘ a important˘ a. In
afar˘ a de validarea formal˘ a (testare sintactic˘ a ¸ si logi c-formal˘ a a pro-
gramului), trebuie s˘ a se decid˘ a dac˘ a modelul rezolv˘ a corect prob-
lema formulat˘ a. Acest lucru se realizeaz˘ a prin comparare a rezultatelor
simul˘ arii fie cu rezultate practice cunoscute, fie prin comp ararea cu
solut ¸ia obt ¸inut˘ a cu ajutorul unui model matematic. (De e x.inteoria
cozilor se cunoa¸ ste soult ¸ia matematic˘ a a modelului in anumite ip oteze
restrictive; se va obt ¸ine solut ¸ia prin simulare pe baza un ei select ¸ii de
volum mare a variabilelor de ie¸ sire. Daca solut ¸ia simulat ˘ a se apropie
de solut ¸ia matematic˘ a, atunci, in virtutea legii numerelor mari , rezult˘ a
corectitudinea modelului de simulare, acesta fiind deci valid¸ si in ipoteze
diferite de cele cosiderate la validare).
80Planificarea experient ¸elor de simulare este urm˘ atoarea etap˘ a
necesar˘ a. A¸ sa cum am precizat, simularea este un experime nt real-
izat cu calculatorul pe baza unui model ce descrie sistemul r eal. Orice
26 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
experiment (cu caracter statistic ca in cazul simularii) tr ebuie s˘ a se
desfa¸ soare pe baza unui plan experimental. Pentru planific area exper-
imentelor de simulare se folosesc metode ale statisticii matematice
(a¸ sa zisele experimental design ).
90Prelucrarea ¸ si interpretarea experient ¸elor de simulare
este o etap˘ a la fel de important˘ a ca ¸ si cele precedente. Pr ogramul de
simulare rulat pe calculator produce de regul˘ a valori de se lect ¸ie asupra
variabilelorde ie¸ sire, dar care nu definesc select ¸ii stat istice in sensul
obi¸ snuit (nu sunt select ¸ii bernouliene deoarece valoril e de select ¸ie sunt
de regul˘ a dependente). De aceea prelucrarea experimentel or de simu-
lare se face cu mijloace statistice din cele mai sofisticate ( prelucrarea
seriilor dinamice). Toate limbajele de simulare posed˘ a un minim de
facilit˘ at ¸i pentru prelucr˘ ari statistice simple (calcu le de medii, dispersii,
coeficient ¸i de corelat ¸ie, histograme, etc,).
•Utilitatea simul˘ arii. Orice sistem complex, se proiecteaz˘ a pe
baza simul˘ arii. Alegerea parametrilor de proiectare se re alizeaz˘ a (ca
intr-un joc!) pe baza unor experient ¸e bazate pe modelul de s imulare.
Aceste experient ¸e sunt mult mai put ¸in costisitoare decat cele reale.
Cand experient ¸ele reale sunt costisitoare este intotdeau na recomand-
abil ca experient ¸ele s˘ a se realizeze prin simulare. (De ex emplu, inainte
de aconstrui un baraj, mai intˆ ai simul˘ am comportarea lui pentru a
alege cea mai buna variant˘ a de proiectare ¸ si construct ¸ie ).
In anumite situatii practice experient ¸ele dureaz˘ a mult s i de aseme-
nea este nevoie s˘ a se recurg˘ a la simulare.(De exemplu simu lareadu-
ratei de viat ¸˘ a a unei comete se realizeaz˘ a cu modelul de simulare
in cel mult cˆ ateva minute sau zeci de minute). Experient ¸el e legate
de fiabilitatea sistemelor se realizeaz˘ a de asemenea mai de grab˘ a prin
simulare.
Cˆ and se construiesc sisteme mari noi, ne mai intˆ alnite se e fectueaz˘ a
mai intˆ ai simularea lor. (De exemplu zborurile interplanetare , sis-
temele hidroenergetice mari cu implicat ¸ii ecologice, etc . se proiecteaz˘ a
pe baza unor variante alese cu ajutorul simul˘ arii).
Cˆ and se proiecteaz˘ a politici complexe de dezvoltare econ omico-social˘ a
de asemenea se utilizeaz˘ a simularea. (De exemplu sistemel e de product ¸ie
complexe, politicile de dezvoltare regional˘ a, proiecte m acroeconomice,
evolut ¸ia mediului ambiant,etc).
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 27
Simularea joac˘ a un rol important in dezvoltarea tehnologiei GRID
un domeniu nou al informaticii in plin˘ a dezvoltare, care se bazeaz˘ a atˆ at
pe simulare cˆ at ¸ si pe pe calcul performant, pe inteligent ¸ ˘ a artificial˘ a, pe
ret ¸ele de comunicat ¸ie, etc.
1.3 Generalit˘ at ¸i despre limbajul GPSS
Limbajele de simulare sunt in acela¸ s timp limbaje de programare
¸ silimbaje de modelare; ele implementeaz˘ a elementele esent ¸iale ale
simul˘ arii: manipularea ceasului ¸ sigestionarea memoriei. Utiliza-
torul are numai grija descrierii evenimentelor ¸ si aprelucr˘ arii lor.
Programele in limbaj de simulare sunt mai scurte dar ¸ si mai put ¸in
flexibile. Sunt limitate in privint ¸a prelucr˘ arii ¸ si interpret˘ ari i experi-
mentelor de simulare.
Vom face o foarte scurta prezentare a limbajului GPSS (General
Purpose System Simulator), urmand ca cititorul interesat s ˘ a recurg˘ a
la un manual detaliat sau s˘ a foloseasc˘ a facilitatea helpexistent˘ a in
implementarea GPSS/PC [1, 14]. Acest limbaj a fost dezvolta t pentru
prima data de firma IBM la inceputul anilor ’60.
•Entit˘ at ¸ile limbajului GPSS. Limbajul GPSS se compune din
16tipuri de entit˘ at ¸i (elemente de abstractizare).
La fiecare entitate se asociaz˘ a un numar de propriet˘ at ¸i sa uatribute
in majoritatea lor adresabile intern (de c˘ atre GPSS), dar unele sunt
adresabile si de c˘ atre utilizator ;
Atributele sunt: standard numerice (numere) sau standard lo-
gice(valori logice);
Entit˘ at ¸ile de baz˘ a sunt:
1)Blocuri (entit˘ at ¸i care descriu activit˘ at ¸i);
2)Tranzact ¸ii (elemente circulante );ele sunt creiate (printr-un bloc
special GENERATE) ¸ si circul˘ a prin model (sistem!), ca urm are a act ¸iunii
altor blocuri. Blocurile au asociate caracteristici numer ice sau logice si
posed˘ a argumente necesare descrierii activit˘ at ¸ilor. T ranzact ¸iile posed˘ a
un num˘ ar de parametri standard dar ¸ si psrametri introdu¸ s i de utiliza-
tor. Prin programul de simulare utilizatorul poate accesa p arametrii
tranzact ¸iilor.
28 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
Entit˘ at ¸i de echipament:
3)Stat ¸ii de serviciu saufacilit˘ at ¸i ; (ele corespund subsistemelor
cu o component˘ a care trateaz˘ a de regul˘ a o singura tranzac t ¸ie!);
4)Multistat ¸ii de serviciu sau depozite ; acestea trateaz˘ a de regul˘ a
mai multe tranzact ¸ii (de ex. liftul, autobuzul, pot transp orta mai multi
clienti considerati ca tranzactii, etc!);
5)Comutatorii logici sunt variabile logice care permit utiliza-
torului s˘ a realizeze ramificarea dup˘ a dorint ¸˘ a a fluxului de execut ¸ie in
programul de simulare.
Entit˘ at ¸i de calcul ce permit efectuarea (limitat!) a unor calcule:
6)Variabile aritmetice ; permit evaluarea unor expresii aritme-
tice, iar rezultatul este memorat de o variabil˘ a aritmetic ˘ a;
7)Variabile booleene ; permit evaluarea unor expresii booleene,
iar rezultatul este memorat de o variabil˘ a booleean˘ a;
8)Funct ¸ii descrise prin tabele sau prin segmente de dreapt˘ a (liniare
pe port ¸iuni);
9)Funct ¸ii analitice descrise prin expresii mai complicate; (ele
exist˘ a numai in SIMUB ¸ si au rolul de a facilita simularea di verselor
variabile aleatoare prin metoda inversa );
Entit˘ at ¸ile statistice , permit colectarea unor statistici sauestima-
t ¸iiprivind VE sau PE; printre acestea se remarc˘ a :
10)Cozile care sunt entit˘ ati statistice ce memoreaz˘ a tranzact ¸iil e
intˆ arziate in sistem;
11)Tabele de frecvent ¸e care descriu histograme ale VE;
12)Tabele de frecventa bidimensionale, sautabele de contin-
gent ¸˘ a ; (acestea sunt disponibile numai in SIMUB);
Entit˘ at ¸i de referint ¸˘ a care memoreaz˘ a anumite informat ¸ii pe care
le dore¸ ste utilizatorul ¸ si anume:
13)Cuvinte de salvare care memoreaz˘ a valori ce corespund cˆ ate
unui cuvˆ ant de memorie al calculatorului;
14)Matrice de cuvinte de salvare care memoreaz˘ a matrici;
Entit˘ at ¸i de tip lant ¸ ,care sunt de dou˘ a tipuri:
15)Lant ¸uri ale utilizatorilor in care se pot depune sau scoate
tranzat ¸ii dup˘ a dorint ¸a utilizatorului; (Exist˘ a ¸ si la nt ¸uri ale sistemului,
manipulate intern de c˘ atre GPSS, care nu pot fi accesate de ut ilizator).
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 29
16)Grupuri caresepar˘ a tranzact ¸ii (cu anume scopuri de prelu-
crare dorite de utilizator, sau cu anumite propriet˘ at ¸i).
NOTA. Toate entit˘ at ¸ile trebuie definite/identificate ¸ si decla rate de
c˘ atre utilizator la inceputul programului. Pentru fiecare entitate se
aloc˘ a memorie; la instalarea limbajului se aloc˘ a ¸ si un num˘ ar maxim
de entit˘ at ¸i care se pot utiliza intr-un program.
Entit˘ at ¸ile se invoc˘ a prin instruct ¸iuni cu structur˘ a fix˘ a. (Limbajul
este un interpreter ).
Limbajul permite descrierea modular˘ a a unui model de simul are
general (vezi schema general˘ a 1.1); cel mai important este modulul
principal ( ciclul de baz˘ a ). Ie¸ sirile sunt standard; se afi¸ seaz˘ a/scriu
valori ale atributelor, statistici, tabele de frecvent ¸˘ a , etc.
Limbajul GPSS este un interpreter , ceeace inseamn˘ a c˘ a fiecare
instruct ¸iune scris˘ a corect (¸ si recunoscut˘ a ca atare de c˘ atre GPSS) se
execut˘ a imediat.
•Structura instruct ¸iunii GPSS. Instruct ¸iunea GPSS are un for-
mat fix (vezi Figura 1.5).
1) Blocurile descriu act ¸iuni (sunt entit˘ at ¸i active spre deosebire de
tranzact ¸ii care sunt entit˘ at ¸i pasaive, in sensul c˘ a ele suntmi¸ scate prin
model ca urmare a act ¸iunii blocurilor.
Nume simbolic Numele blocului Argumente/parametri
(Etichet˘ a) (Cunˆ ant cheie) (separate prin virgul˘ a)
Opt ¸ional Verb imperativ care A,B,C,…
pt.referiri desemneaz˘ a act ¸iunea blocului
Fig 1.5. Structura instruct ¸iunii GPSS.
Tipurile de blocuri sunt:
1a)Blocuri de actiune : SEIZE/RELEASE (tranzact ¸ia curent˘ a ocup˘ a
sau elibereaz˘ a o facilitate); PREEMPT (tranzact ¸ia intra t˘ a in acest bloc
poate ocupa o stat ¸ie de serviciu indicat˘ a de parametrul-a rgument sau o
poateprelua dac˘ a este ocupat˘ a de alt˘ a tranzact ¸ie); ENTER/LEAVE
(ocup˘ a sau elibereaz˘ a o pozit ¸ie dintr-o multistat ¸ie); QUEUE/DEPART
(intr˘ a in coad˘ a sau pleac˘ a din coad˘ a); LINK/UNLINK (int roduce sau
30 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
scoate tranzact ¸ia dintr-un lant ¸ al utilizatorului); SPL IT (descompune
tranzact ¸ia in mai multe tranzact ¸ii care formeaz˘ a o familie ); ASSEM-
BLE/GATHER (unific˘ a tranzact ¸iile dintr-o familie f˘ ar˘ a , sau cu p˘ astrarea
atributelor de baz˘ a din familie); MATCH (sunt 2 blocuri con jugate;
ele sincronizeaz˘ a deplasarea tranzact ¸iilor care intˆ al nesc aceste blocuri);
ADVANCE (intˆ arzie tranzact ¸iile; simuleaz˘ a de ex. durata de ser-
viciu a tranzact ¸iei); BUFFER (inseamn˘ a prelucrarea tranzact ¸ iilor in
ordinea priorit˘ at ¸ilor); JOIN/REMOVE (introduc sau scot tranzact ¸ia
intr-un grup); SCAN (verific˘ a dac˘ a exist˘ a o tranzact ¸ie i n grup cu o
anumit˘ a proprietate);
1b)Blocuri de creare ¸ si distrugere de tranzact ¸ii: GENERATE/TER-
MINATE (generarea se face cu generatori specializat ¸i de numere
aleatoare , tranzact ¸ia putˆ and fi prev˘ azut˘ a cu priorit˘ at ¸i);
1c)Blocuri de control logic al tranzact ¸iilor: TEST (controleaz˘ a dac˘ a
2 atribute ale tranzact ¸iei satisfac o condit ¸ie); TRANSFE R (asigur˘ a
transfer condit ¸ionat sau nu al fluxului de execut ¸ie la bloc ul indicat
prin argument); GATE (modific˘ a drumul tranzact ¸iilor in fu nct ¸ie de
condit ¸ii referitoare la atribute ale facilitat ¸ilor, mul tistat ¸iilor, comutato-
rilor logici sau tranzact ¸iilor); EXAMINE (modific˘ a fluxul in funct ¸ie de
apartenent ¸a la un grup); LOOP (repet˘ a execut ¸ia de la bloc ul ment ¸ionat
ca argument pˆ an˘ a la blocul LOOP);
ATENT ¸IE: fluxul tranzact ¸iei se modific˘ a ¸ si prin blocuril e:PREEMPT,
LINK/UNLINK, REMOVE, ALTER, SCAN, SELECT.
1d)Blocuri de modificare a caracteristicilor tranzact ¸iilor ¸ si a va-
lorilor unor entit˘ at ¸i de referint ¸˘ a: ASSIGN (atribuie valori numerice
parametrilor tranzact ¸iilor ¸ si/sau le modifica; cˆ and se g enereaz˘ a o tranzac-
t ¸ie poate fi prev˘ azut˘ a cu ”locuri” pentru un num˘ ar de maxi mum 12
parametri referibili de c˘ atre utilizator; num˘ arul param etrilor poate fi
standard sau precizat de utilizator la generare); INITIAL ( init ¸ializeaz˘ a
cuvintele sau matricile de cuvinte p˘ astrate); PRIORITY (m odific˘ a pri-
orit˘ at ¸ile; lucreaz˘ a in leg˘ atur˘ a cu blocul BUFFER); LO GIC (pozitioneaz˘ a
petruesaufalseun comutator logic ce poate juca rol de semafor );
MARK (utilizat pentru a marca intr-un cuvˆ ant special asoci at fiec˘ arei
tranzact ¸ii, valoarea ceasului);
SAVEVALUE/MSAVEVALUE (memoreaz˘ a intr-un cuvˆ ant/matri ce val-
oarea unui atribut standard numeric precizat); COUNT (dete rmin˘ a
num˘ arul de entit˘ at ¸i ce satisfac o anumit˘ a condit ¸ie ¸ si -l memoreaz˘ a intr-
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 31
un parametru al tranzact ¸iei specificat ca argument al lui CO UNT);
SELECT (selecteaz˘ a prima entitate dintr-o gam˘ a de entit˘ at ¸i ce satisfac
o anumit˘ a condit ¸ie); ALTER (modific˘ a condit ¸ionat sau nu , parametri
sau prioritatea uneia sau mai multor tranzact ¸ii dintr-un g rup putˆ and
modifica opt ¸ional ¸ si drumul tranzact ¸iei); HELP (permite includerea
unor proceduri de calcul ale utilizatorului; este un bloc pr etent ¸ios c˘ aci
necesit˘ a interfat ¸a intre GPSS ¸ si limbajul in care este sc ris˘ a procedura;
in SIMUB se foloseau subrutine FORTRAN!);
1e)Blocuri pentru obt ¸inerea de statistici: TABULATE (pentru con-
struirea histogramei);(In SIMUB se folose¸ ste si BTABULAT E pentru
construirea tabelelor de contingent ¸˘ a, adic˘ a histograme bidimensionale ).
1f)Blocuri pentru list˘ ari: PRINT (permite scrierea part ¸ial˘ a a unor
statistici; cele mai multe statistici se scriu automat de GP SS la sfˆ ar¸ situl
simul˘ arii);
2a)Tranzact ¸iile se genereaz˘ a cu GENERATE ¸ si se distrug cu TER-
MINATE. La generare tranzat ¸iile primesc automat ni¸ ste pa rametri in-
terni ¸ si un num˘ ar de parametri (limitat de ex la 100) declar at ¸i ¸ si care pot
fi accesat ¸i de utilizator; in funct ¸ie de implementare, un p rogram GPSS
poate utiliza un num˘ ar maxim de tranzact ¸ii (acesta este un dezavan-
taj al limbajelor de simulare datorat faptului c˘ a limbajul gestioneaz˘ a
agenda , GPSS rezolvˆ and astfel el insu¸ si detaliile de programare pe care
intr-un limbaj evoluat le rezolv˘ a utilizatorul).
3a)Stat ¸iile de serviciu pot fi ocupate de o singur˘ a tranzact ¸ie la un
moment dat.
4a)Depozitele sau multistat ¸iilec au o capacitate declarat˘ a in prea-
labil ¸ si in ele pot intra mai multe tranzact ¸ii (cˆ at permit e capacitatea).
5a)Comutatorii logici sunt de fapt variabile booleene, ce trebuie
init ¸ializate (precizeaz˘ a condit ¸ii satisf˘ acute de ”ec hipoamente”).
Toate entit˘ at ¸ile de echipament sunt identificate printr- un num˘ ar (in-
treg). Ele posed˘ a atribute standard numerice sau logice.
6a)Variabilele au cuvˆ antul cheie VARIABLE, au un nume ¸ si o ex-
presie aritmetic˘ a (de dimensiune limitat˘ a) care cont ¸in e atribute stan-
dard numerice, cuvinte de salvare, parametri, etc.
7a)Variabilele booleene BVARIABLE, sunt construite analog (de
c˘ atre utilizator) folosind atribute standard logice, inc lusiv comutatori
logici).
32 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
8a) 9a) Funct ¸ia (FUNCTION) desemneaz˘ a o funct ¸ie de o variabil˘ a
dat˘ a printr-o list˘ a sau functie liniar˘ a precizˆ andu-se argumentul prin
care aceasta este referit˘ a.
10a)Coada este o entitate statistic˘ a pentru care se ret ¸ine automat
lungimea medie ¸ silungimea maxim˘ a care se listeaz˘ a la sfˆ ar¸ situl simul˘ arii.
11a) 12a) Tabela de frecvent ¸˘ a se define¸ ste la inceputul programului
cu TABLE ¸ si reprezint˘ a o histogram˘ a a unei variabile de ie ¸ sire din
model, de regul˘ a atribut numeric.La definire se precizeaz˘ a argumentul
tabelat ¸ si num˘ arul de clase de frecxvent ¸e.
13a) 14a) Cuvintele saumatricile de cuvinte p˘ astrate sunt invo-
cate prin INITIAL, SAVEVALUE sau MSAVEVALUE ¸ si ele se folos esc
pentru a ret ¸ine anumite valori pe parcursul simul˘ arii. Su nt referite
printr-un num˘ ar de identificare.
15a)Lant ¸urile sistemului sunt: lant ¸ul evenimentelor curente (LEC),
lant ¸ul evenimentelor viitoare (LEV), lant ¸uri ale tranza ct ¸iilor intrerupte,
lant ¸uri ale tranzact ¸iilor in a¸ steptare pentru sincroni z˘ ari, lant ¸uri de
intˆ arziere (asociate echipamentelor). Orice tranzact ¸i eactiv˘ a la un mo-
ment dat se g˘ ase¸ ste intr-un lant ¸. Tranzact ¸iile care se d eplaseaz˘ a in
sistem se g˘ asesc in lant ¸ul evenimentelor curente. Mecani smul de ac-
tualizare a lant ¸ului evenimentelor curente ¸ si al celor vi itoare este cel
cunoscut (descris prin relat ¸ia dintre A, AEC ¸ siAEV din sectiunea 2.1).
Tranzat ¸iile terminate (prin blocul TERMINATE) sunt distr use; blocul
START precizeaz˘ a printr-un argument al sau cˆ ate tranzact ¸ii se vor pre-
lucra (termina).Prelucrarea tranzact ¸iilor din LEC insea mn˘ a transferul
lor in alt lant ¸ sau distrugerea. Tranzact ¸iile intˆ arziat e ( de ex prin AD-
VANCE) sunt introduse in LEV.
Lant ¸urile sistemului sunt controlate automat de c˘ atre si stemul GPSS.
Lant ¸urile utilizatorului (LU) sunt definite de acesta ¸ si ele (sau atribu-
te ale lor) pot fi referite in programul GPSS. Tranzact ¸iile p ot fi intro-
duse sau scoase din LU prin LINK ¸ si UNLINK ¸ si ele se folosesc la
implementarea unor discipline de serviciu (in cazul prelucrarii tranzac-
tiilor din cozi).
16a)Grupurile ofer˘ a utilizatorului un instrument de clasificare a
tranzact ¸iilor care au anume propriet˘ at ¸i. De ex. toate st at ¸iile care la un
moment dat dep˘ a¸ sesc un anumit grad de utilizare pot fi f˘ acu te membre
ale unui grup.
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 33
Un program GPSS este o list˘ a ordonat˘ a de BLOCURI ale
c˘ aror argumente se refer˘ a la diverse entit˘ at ¸i.
In cele ce urmeaz˘ a sunt prezentate patru programe GPSS care se
bazeaz˘ a pe cˆ ateva din entit˘ at ¸ile ¸ si instruct ¸iunile u zuale ale acestui lim-
baj.
1.3.1 Exemple de programe GPSS.
•E1. Model de simulare pentru un sistem de a¸ steptare cu
o stat ¸ie.
Programul GPSS pentru acest model este:
001 GENERATE 10,2 ;Sosiri aleatoare la 10 ±2 minute
003 SEIZE FRIZER ;Ocup˘ a stat ¸ia de serviciu ”FRIZER”
005 ADVANCE 12,3 ; Durata servirii 12 ±3 minute
007 RELEASE FRIZER ; Elibereaz˘ a stat ¸ia
009 TERMINATE 1 ; Ie¸ sire din sistem un client
Comentariu. Cifrele din fat ¸a tabelului reprezint˘ a etichetele instru c-
t ¸iunilor/blocurilor, iar textele de la terminarea liniil or reprezint˘ a co-
mentarii. Dup˘ a denumirile blocurilor apar parametri aces tora.
Modelul nu este complet deoarece in fat ¸a blocului SEIZE pot s˘ a
apar˘ a a¸ stept˘ ari de aceea inaintea acestui bloc trebuie i ntrodus un bloc
QUEUE ¸ si dup˘ a el un bloc DEPART ca mai jos (etichetele indic ˘ a locul
unde se introduc aceste blocuri respectˆ and ordinea).
002 QUEUE COADA1 ; Tranzact ¸ia ocup˘ a COADA1
003 SEIZE …….
004 DEPART COADA1 ;Tranzact ¸ia pleac˘ a,se actualizeaz˘ a a ¸ stept˘ arile;
Pentru a prelucra 200 tranzact ¸ii se va da la inceput comanda
000START 200
La sfˆ ar¸ situl simul˘ arii apelˆ and procedura GPSSREPT.EX E se va
afi¸ sa un raport final privind simularea care cont ¸ine:
– durata total˘ a a prelucr˘ arii tranzact ¸iilor(durata sim ul˘ arii);
– gradul de ocupare a stat ¸iei de serviciu (media ¸ si maxima) ;
– durata medie a a¸ stept˘ arilor, etc.
•E2. Model de simulare pentru un sistem de a¸ steptare cu
stat ¸ii paralele.
34 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
Modelul de mai jos simuleaz˘ a un sistem de a¸ steptare cu 3 sta t ¸ii
paralele (ghi¸ see ale unei b˘ anci) in care serviciul se real izeaz˘ a cu disci-
plina FIFO (First In First Out) adic˘ a serviciul se execut˘ a in ordinea
sosirii client ¸ilor ¸ si nu se consider˘ a priorit˘ at ¸i ale u nor client ¸i. Clientul
va trece pe la stat ¸ia multipl˘ a de servire (depozit), dar el va ocupa o
singur˘ a stat ¸ie care-l serve¸ ste (STORAGE 3). In final el va trece ¸ si la
stat ¸ia CASIER unde prime¸ ste un alt serviciu (prime¸ ste sa u pl˘ ate¸ ste
banii pe baza formelor elaborate de ghi¸ seul parcurs anteri or!). De-
sigur, pentru executarea modelului care urmeaz˘ a ar trebui ad˘ augat˘ a
comanda START corespunz˘ atoare ¸ si apelat in final modulul d e ie¸ sire
GPSSREPT.EXE. Modelul este dat de programul:
GHISEE STORAGE 3 ; Declararea dimensiunii multistat ¸iei
001 GENERATE 4,1 ;Sosesc client ¸i
002 QUEUE COADA ;Clientul in coada c˘ aci dorim statistici
003 ENTER GHISEE Ocup˘ a un loc in GHISEE (dac˘ a esist˘ a!)
004 DEPART COADA ;Clientul pleac˘ a din coada (spre servire! )
005 ADVANCE 15,3 ;Clientul este servit (durata de servire!)
006 LEAVE GHISEE Se elibereaz˘ a un log (un ghi¸ seu)
007 SEIZE CASIER ; ocup˘ a locul la casier;
007 ADVANCE 2 ; Servirea clientului este 2 minute
008 RELEASE CASIER ; Elibereaz˘ a casierul(clientul pleac˘ a)
009 TERMINATE 1 ;Plecare client.
•E3. Model cu stat ¸ii paralele ¸ si preferint ¸e. Se modeleaz˘ a ser-
viciul la o frizerie unde lucreaz˘ a 3 frizeri (trei stat ¸ii d e serviciu!):Figaro,
Gic˘ a ¸ si Tic˘ a. Client ¸ii care sosesc sunt primit ¸i in prop ort ¸ie de 60% de
Figaro (care este preferat!) iar restul de 40% sunt servit ¸i de ceilalt ¸i doi,
dar din ace¸ stia 50% merg la Gic˘ a ¸ si 50% merg la Tic˘ a. Model ul nu
cont ¸ine comenzile de START ¸ si cele de ie¸ sire.
001 GENERATE 6,1 ;Sosesc client ¸i
002 TRANSFER .4,,ALTII ;60% client ¸i merg la Figaro
003 QUEUE COADAFIG ;Intr˘ a in coada lui Figaro
004 SEIZE COADAFIG ; Clientul se duce la Figaro
005 DEPART COADAFIG ;Se culeg date despre ac.coad˘ a
006 ADVANCE 8,1 ;Clientul e servit
007 RELEASE FIGARO ;Figaro devine liber
008 TRANSFER ,CASA ; Clientul merge s˘ a pl˘ ateasc˘ a
ALTII TRANSFER ,LAGICA ;Tic˘ a ¸ si Gic˘ a sunt la fel
010 SEIZE TICA ; 50% din client ¸i merg la Gic˘ a
011 ADVANCE 12,2 ; Tic˘ a serve¸ ste mai incet ca Figaro
012 RELEASE TICA ; Tica este eliberat
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 35
013 TRANSFER ,CASA ;Clientul pl˘ ate¸ ste
LAGICA SEIZE GICA ;50% din 40% client ¸i merg la Gica
015 ADVANCE 12,2 ; Gic˘ a serve¸ ste ca ¸ si Tic˘ a
016 RELEASE GICA ; Se elibereaz˘ a Gica
CASA SEIZE CASIERA ; Se ocup˘ a stat ¸ia CASIERA
018 ADVANCE 1 ;Plata intr-un minut
019 RELEASE CASIERA ; Se elibereaz˘ a CASIERA
020 TERMINATE 1 ;Tranzact ¸ia pleac˘ a
Nota. Cele trei stat ¸ii sunt folosite explicit, nu ca multistat ¸i e.
Folosim coada numai la Figaro c˘ aci numai acolo (presupunem !) ne
intereseaz˘ a statistici finale.
In programele GPSS etichetele sunt opt ¸ionale ¸ si ele pot fi m nemon-
ice (care denumesc obiecte modelate ca de ex. LAGICA sau ALTI I), sau
pot fi constante intregi care sugereaz˘ a ordinea instruct ¸i unilor; sunt obli-
gatorii etichet˘ arile blocurilor la care se refer˘ a alte bl ocuri (vezi TRANS-
FER mai sus).
Parametri unor entit˘ at ¸i pot desemna nume simbolice (de ex. stat ¸ia
GICA sau coada COADAFIG).
•E4. Un Model complex. Acest model este de complexitate
ridicat˘ a ¸ si instruct ¸iunile ce descriu peogramul de simu lareGPSS sunt
prezentate mai jos.. El simuleaz˘ a in GPSS/PC activit˘ at ¸ile de reparat ¸ie
a unui automobil intr-un service care are ateliere separate de reparat ¸ii
motor, caroserie ¸ si tinichigerie. Unitatea de timp este oraiar repartit ¸ia
de probabilitate a duratelor de reparat ¸ie este exponent ¸i al˘ a ¸ si funct ¸ia
de repartit ¸ie este derscris˘ a de funct ¸ia continu˘ a numit˘ a XPDIS dat˘ a
prin instruct ¸iunea ’50’ de mai jos care are ca argument gene ratorul
de numere aleatoare RN2, este de tip continuu ¸ si este descris˘ a prin
coordonatele a 24 puncte, C24. Instruct ¸iunea 60 descrie o histogram˘ a
a timpului M1 petrecut de tranzact ¸ii (automobilele ce se repar˘ a) in
sistem. Blocul GENERATE 70 simuleaz˘ a sosiri exponent ¸ial e cu media
48 folosind metoda invers˘ a (vezi capitolul urm˘ ator) apli cat˘ a funct ¸iei de
repartit ¸ie definit˘ a in preambulul programului. (Funct ¸i a este descris˘ a
prin coordonatele unor puncte prin care trece graficul ei ¸ si care puncte
sunt date prin perechile de coordomate, desp˘ art ¸ite prin slash/.
In continuare programul descrie activit˘ at ¸ile ce au loc in sistem:
blocul 80 include in coad˘ a automobilul sosit (prin GENERAT E); blocul
36 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
90 simuleaz˘ a ocuparea stat ¸iei SEFATELIER ; blocul 100 simuleaz˘ a (prin
100ADV ANCE ) activitatea de constatare a ¸ sefului de atelier care
are repartit ¸ie uniform˘ a de medie 2 ±1; apoi blocul 110 RELEASE
simuleaz˘ a eliberarea ¸ sefului de atelier, dup˘ a care bloc ul 120 SEIZE
ocup˘ a mecanicul MEC 1 care realizeaz˘ a demontarea blocului motor
de pe caroserie. In continuare blocul 150 SPLIT trimite motorul
la mecanici denumit ¸i in model ATELMEC (blocul SPLIT ramific˘ a
traseul tranzact ¸iilor). In continuare comentariul 160 ∗traseulcaroseriei
indic˘ a faptul c˘ a blocurile 170-400 descriu traseul caros eriei prin in-
treprinderea de service,traseu care se termin˘ a la blocul
410ATELMEC SEIZE MEC 1 care prin eticheta ATELMEC in-
dic˘ a faptul c˘ a motorul (desprins de caroserie prin blocul 130) a fost
transferat in atelierul mecanic. In secvent ¸a de instruct ¸ iuni 170−400
( care simuleaz˘ a activit˘ at ¸ile din sect ¸ia Caroserie, se remarc˘ a blocurile
230 ¸ si 290 care sunt blocuri MATCH conjugate ¸ si care semnific˘ a fap-
tul c˘ a trebuie sincronizate activit˘ at ¸ile lui OM2 (ajutor de sudor care
demonteaz˘ a u¸ sile) cu cele ale lui OM1 (care realizeaz˘ a sudura propri-
uzis˘ a). In secvent ¸a de instruct ¸iuni referitoare la caro serie activit˘ at ¸ile
descrise sunt explicate prin comentarii ¸ si prin etichet˘ a rile cu mnemo-
nice ale blocurilor; majoritatea blocurilor au fost deja in tˆ alnite ¸ si in
cadrul celorlalte exemple de programe GPSS. Ment ¸ion˘ am ca deosebite
blocurile 260 (transfer necondit ¸ionat la blocul 320 ASSEMBLE care
asambleaz˘ a u¸ sile de corpul caroseriei) ¸ si 400 (transfer necondit ¸ionat
la blocul 450 MONFINAL care realizeaz˘ a montajul final al motoru-
lui ¸ si caroseriei). In instruct ¸iunile finale ale programu luiGPSS re-
marc˘ am secvent ¸a 410 −440 care descrie traseul motorului ¸ si secvent ¸a
450−500 care descrie asamblarea final˘ a a componentelor automob ilu-
lui. O instruct ¸iune nou˘ a aici este 490 TABULATE care inregistreaz˘ a
(pe parcursul simul˘ arii) frecvent ¸ele in tabela TABCLASE definit˘ a la
inceput.
Descriem in continuare programul surs˘ a GPSS. La inceput sunt de-
scrise instruct ¸iunile de definire a funct ¸iei, dup˘ a care u rmeaz˘ a blocurile
ce simuleaz˘ a activit˘ at ¸ile in service-ul auto.
; GPSS/PC Program File E4.GPS. ( V2,#39399) 08-02-2003 04:13:29
10∗Modelul reparatiei unui automobil, in ateliere separate
20∗pentru motor si pentru tinichigerie(, urmata de vopsire).
30∗-Unitatea de timp a modelului este ora.-
1.3. GENERALIT ˘AT ¸I DESPRE LIMBAJUL GPSS 37
40∗Repartitia exponentiala standard
50 XPDIS FUNCTION RN3,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
60 TABCLASE TABLE M1,40,20,20 ;Pt.histogr. timp in sistem.
70 GENERATE 48,FN$XPDIS ;Sosiri expon., cu media 48 ore.
80 QUEUE DURATA ;Incepe inregistrarea.
90 SEIZE SEFATELIER ;Pt.diagnostic & eval.cost.
100 ADVANCE 2,1 ;Durata constatarii.
110 RELEASE SEFATELIER
120 SEIZE MEC1 ;Demont.motor de pe caroserie.
130 ADVANCE 3,1 ;Durata demont. de catre Mec1
140 RELEASE MEC1
150 SPLIT 1,ATELMEC ;Trimitere motor la mecanici
160 *Tras.caroserie:
170 SEIZE SUD2 ;Ajutorul de tinichigiu (sudor)
180 ADVANCE 2,1 ;demonteaza usi, capote, aripi.
190 RELEASE SUD2
200 SPLIT 1,USI ;La ajutor (Sud2), pt.usi, etc.
210 SEIZE SUD1
220 ADVANCE 14,FN$XPDIS ;Durata suduri corp (cu Sud1)
230 OM1 MATCH OM2 ;Verificare potriviri balamale
240 ADVANCE 8,FN$XPDIS ;Alte suduri corp (Sud1)
250 RELEASE SUD1
260 TRANSFER ,MONCAROS
270 USI SEIZE SUD2 ;Traseul usilor demontate:
280 ADVANCE 12,FN$XPDIS ;Durata suduri usi+capote(Sud2)
290 OM2 MATCH OM1 ;Verific la balamale cu corpul.
300 ADVANCE 9,FN$XPDIS ;Alte suduri usi (Sud2).
310 RELEASE SUD2 ;Ajutorul tinichigiu a terminat.
320 MONCAROS ASSEMBLE 2 ;Usile cu corpul caroseriei.
330 SEIZE SUD1
340 ADVANCE 2 ;Mont.la loc caroserie + reglaj
350 RELEASE SUD1 ;usi de catre tinich.principal
360 SEIZE VOPSITOR ;Secventa de vopsire.
370 ADVANCE 24,3
380 RELEASE VOPSITOR
390 ADVANCE 1 ;Transportul il face altcineva.
400 TRANSFER ,MONFINAL ;Pt.asamblare cu motorul.
410 * Traseu motor:
420 ATELMEC SEIZE MEC1
430 ADVANCE 20,FN$XPDIS ;Reparatii, facute de Mec1.
38 CAP. 1. GENERALIT ˘AT ¸I DESPRE SIMULARE
440 RELEASE MEC1
445 * Reasambl.finala
450 MONFINAL ASSEMBLE 2 ;Motorul cu caroseria.
460 SEIZE MEC1 ;El face asamblarea.
470 ADVANCE 2
480 RELEASE MEC1
490 TABULATE TABCLASE ;Timp in sistem, pe clase
500 DEPART DURATA ;Inchei inreg.timpului
510 TERMINATE 1 ;Iesire din sistem.
Exemplele prezentate sunt simple, alese gradual, de la simp lu la
complex ¸ si au desigur un scop didactic. Ele ilustreaz˘ a uti lizarea celor
mai importante blocuri ¸ si instruct ¸iuni ale imbajului GPSS. Pentru re-
zolvarea unor probleme practice complexe este necesar˘ a co nsultarea
unor decumetat ¸ii complete privind limbajul [14].
In ultimul capitol vor fi prezentate modele de simulare asem˘ an˘ atoare
primelor dou˘ a de mai sus, dar care sunt implementabile intr -un limbaj
evoluat; scopul trat˘ arii acelor modele va fi acela de a se ilu stra cum se
face validarea unui model de simulare, ceea ce nu s-a f˘ acut a ici, in cazul
modelelor implementate in GPSS.
Cap. 2
Numere aleatoare
2.1 Not ¸iuni introductive
Vom aminti mai intˆ ai cˆ ateva notiuni de baz˘ a. Presupunem c ˘ aXeste o
variabil˘ a aleatoare ¸ si fie F(x) =P(X < x )funct ¸ia sa de repartit ¸ie.
Densitatea de repartit ¸ie, cˆ and aceasta exist˘ a, este der ivata funct ¸iei
de repartit ¸ie, adic˘ a f(x) =F/prime(x).Funct ¸ia Fsatisface propriet˘ at ¸ile:
F(−∞) = 0, F(+∞) = 1, F(a)≤F(b) dac˘ a a < b. IntreF(x) ¸ sif(x)
are loc relat ¸ia
F(x) =x/integraldisplay
−∞f(u)du.
De obicei Xreprezint˘ a o caracteristic˘ a a unei mult ¸imi de obiecte ca re
variaz˘ a aleator de la un obiect la altul; acea mult ¸ime se nu me¸ ste populat ¸ie
statistic˘ a. Dac˘ a lu˘ am la intˆ amplare un num˘ ar nde obiecte din populat ¸ie
si consider˘ am valorile X1, X2, …, X nale caracteristicii Xce corespund
acestor obiecte spunem c˘ a aceste valori determin˘ a o select ¸ie de volum
nasupra lui X.In statistica matematic˘ a select ¸ia X1, X2, …, X neste
considerat˘ a ca fiind o mult ¸ime de variabile aleatoare inde pendente ¸ si
identic repartizate ca ¸ si X(aceasta numindu-se select ¸ie bernoulian˘ a ).
Independent ¸a a dou˘ a variabile aleatoare se define¸ ste astfel: Xeste o
variabil˘ a aleatoare independent˘ a deYdac˘ aP(X < x, Y < y ) =P(X <
x)P(Y < y ) sau, dac˘ a not˘ am F(x, y) =P(X < x, Y < y ) funct ¸ia de
repartit ¸ie comun˘ a a variabilelor X¸ siY¸ si not˘ am F1(x) =P(X < x ),
F2(y) =P(Y < y ) funct ¸iile de repartit ¸ie marginale, ale lui Xrespectiv
39
40 CAP. 2. NUMERE ALEATOARE
Y,atunci condit ¸ia de independent ¸˘ a se scrie
F(x, y) =F1(x)F2(y). (2.1)
S˘ a observ˘ am c˘ a se face distinct ¸ie intre variabila aleat oareX¸ si o
valoare xa acesteia (care reprezint˘ a un num˘ ar real fixat!).
Valorile efectiv obt ¸inute prin procesul de select ¸ie cons tituie o mult ¸ime
de n numere care se spune c˘ a reprezint˘ a o realizare a select ¸iei bernuliene.
Deoarece fiecare din aceste numere pot s˘ a reprezinte oricar e valoare a
luiXse considera c˘ a valorile de select ¸ie (numite ¸ si variabil e de select ¸ie)
sunt independente si identic repartizate ca ¸ si X.
Cˆ and pentru o variabil˘ a aleatoare Xse cunoa¸ ste Fsaufspunem c˘ a
se cunoa¸ ste repartit ¸ia de probabilitate saurepartit ¸ia statistic˘ a a luiX.
Exsist˘ a multe tipuri de repartit ¸ii de probabilitate. Cel e mai importante
vor fi introduse in acest capitol, dar ¸ si in capitolele urm˘ a toare.
•Repartit ¸ia uniform˘ a. Una din repartit ¸iile de probabilitate im-
portante, dar care este natural˘ a, esterepartit ¸ia uniform˘ a pe un interval
[a, b] (vezi [2, 3, 5, 6, 7, 10, 11]) care are densitatea de repartit ¸ie de
forma
g(x) =/braceleftbiggk, daca x∈[a, b]
0, in rest,∞/integraldisplay
−∞g(x)dx= 1→k=1
b−a.(2.2)
Variabila Vavˆ and densitatea de repartit ¸ie (2.2) se spune c˘ a este rep arti-
zat˘ auniform pe [a, b].Deci toate valorile variabilei Vsuntegal probabile.
Funct ¸ia de repartit ¸ie corespunzˆ and densit˘ at ¸ii (2.2) este
G(x) =x/integraldisplay
−∞g(u)du=
0, daca x < a
x−a
b−adaca x∈[a, b]
1, daca x > b.(2.3)
O repartit ¸ie uniform˘ a interesant˘ a este repartit ¸ia uni form˘ a pe [0 ,1] a¸ sa
cum se va vedea in continuare.
S˘ a not˘ am cu Uvariabila aleatoare uniform˘ a pe [0 ,1],pe care o
vom numi pe scurt variabil˘ a uniform˘ a 0 −1.Densitatea de repartit ¸ie ¸ si
funct ¸ia de repartit ¸ie a lui Usunt respectiv
f(x) =/braceleftbigg1, daca x∈[0,1]
0, in rest,F(x) =
0, daca x < 0,
x, daca x∈[0,1]
1, daca x > 1.(2.4)
2.1. NOT ¸IUNI INTRODUCTIVE 41
In Fig. 2.1 se prezint˘ a graficele densit˘ at ¸ilor ¸ si funct ¸ iilor de repartit ¸ie
uniforme f, F, g, G. Graficele densit˘ at ¸ilor uniforme ilustreaz˘ a intuitiv
faptul c˘ a valorile variabilelor uniforme sunt egal probabile, adic˘ a au
acelea¸ si ¸ sanse de aparit ¸ie intr-un experiment.
– -6 66 6
– –
c) d)a) b)
0 00 0 1 1
b b ay=1
b−ay yy
y=1y
x xy=1
y=1
x x
Fig. 2.1. Repartit ¸ii uniforme
a) Densitatea uniformˇ a 0 −1
b) Funct ¸ia de repartit ¸ie uniformˇ a 0 −1
c) Densitatea uniformˇ a pe [ a,b]
d) Funct ¸ia de repartit ¸ie uniformˇ a pe [ a,b]
Valorile de select ¸ie asupra variabilelor aleatoare unifo rme se numesc [2, 5,
6, 7, 10, 11] numere aleatoare. A¸ sa cum se va vedea mai jos, nu este posibil s˘ a
se produc˘ a cu calculatorul, printr-un algoritm, secvent ¸ e de numere aleatoare
care s˘ a fie uniform repartizate pe intervalul [0 ,1] ¸ si care s˘ a fie independente
stochastic. De aceea numerele produse cu calculatorul, vor fi numite numere
pseudoaleatoare ¸ si ele vor putea fi folosite drept numere aleatoare dac˘ a au
42 CAP. 2. NUMERE ALEATOARE
un comportament cˆ at mai aleator (vezi $2.3). Un algoritm ca re produce
un num˘ ar aleator (pseudoaleator) se nume¸ ste generator de numere aleatoare
(pseudoaleatoare). Iterˆ and un generator se poate obt ¸ine o select ¸ie (secvent ¸˘ a)
de numere aleatoare. Cˆ and este nevoie de numere aleatoare c u cˆ at mai bune
calit˘ at ¸i se pot aplica metode care combin˘ a doi sau mai mul t ¸i generatori,
rezultˆ and un alt generator care produce secvent ¸e de numer e pseudoaleatoare
mai bune. In multe aplicat ¸ii sunt ins˘ a suficient de bune num erele produse
de generatori simpli, a¸ sa cum se va vedea mai jos.
2.2 Necesitatea simul˘ arii numerelor alea-
toare
Urm˘ atoarea teorem˘ a [2, 3, 5, 10] stabile¸ ste leg˘ atura in tre repartit ¸ia uniform˘ a
0−1 ¸ si repartit ¸ia uniform˘ a pe un interval [ a,b] oarecare.
Teorema 2. 1 Dac˘ aUeste o variabil˘ a uniform˘ a 0−1atunciV=a+ (b−
a)Ueste o variabil˘ a uniform˘ a pe [a,b]¸ si reciproc, dac˘ a V este o variabil˘ a
aleatoare uniform˘ a pe [a,b]atunci variabila
U=V−a
b−a
este uniform˘ a 0−1.
S˘ a vedem acum dece sunt necesare numerele aleatoare in simu lare. Fiind
dat˘ a o variabil˘ a aleatoare oarecare X,pentru care se cunoa¸ ste funct ¸ia de
repartit ¸ieF,este adev˘ arat˘ a urm˘ atoarea propozit ¸ie [2, 3, 10] care ev ident ¸iaz˘ a
important ¸a repartit ¸iei uniforme 0 −1,adic˘ a important ¸a numerelor aleatoare.
Teorema 2. 2 Variabila aleatoare F(X)este uniform˘ a 0−1iar dac˘ a not˘ am
cuF−1inversa funct ¸iei FatunciF−1(U)are funct ¸ia de repartit ¸ie F(sau
cu alte cuvinte F−1(U) =X).
Demonstrat ¸ie. Demonstr˘ am partea a doua a teoremei deoarece aceasta
joac˘ a un rol esent ¸ial in simulare.
Funct ¸ia de repartit ¸ie a lui F−1(U) se scrie
P(F−1(U)<x) =P(F(F−1(U))<F(x)) =P(U <F (x)) =F(x).
Ultima egalitate rezult˘ a din (2.3) cu a= 0 ¸ sib= 1. Teorema este demon-
strat˘ a. Ea este cunoscut˘ a sub numele de teorema lui Hincin.
2.3. METODE CONGRUENT ¸IALE LINIARE 43
Din teorema 2 rezult˘ a urm˘ atoarea consecint ¸˘ a practic˘ a : dac˘ a am putea
produce valorile de select ¸ie U1,U2,…,U nasupra luiU¸ si am cunoa¸ ste funct ¸ia
de repartit ¸ie Fa luiX, atunci am putea produce valorile de select ¸ie X1,X2,…,X n
asupra luiXcu formulaXi=F−1(Ui),1≤i≤n.Dac˘ a funct ¸ia F−1se poate
calcula cu un algoritm atunci valorile de select ¸ie Xiar putea fi produse ( gen-
erate) cu calculatorul folosind urm˘ atorul algoritm
Metoda invers˘ a. (Algoritm)
repet˘ a de nori urm˘ atoarele instruct ¸iuni
genereaz˘ a o valoare de select ¸ie Uuniform˘ a 0−1;
calculeaz˘ a X=F−1(U);
Spunem c˘ a acest algoritm simuleaz˘ a oselect ¸ie de volum nasupra luiX.
Dar pa¸ sii cei mai important ¸i ai algoritmului sunt ultimii doi pa¸ si care produc
o valoare de select ¸ie X,c˘ aci dac˘ a putem genera numere Uuniforme 0−1 si
independente atunci prin iterare, conform primului pas, am produce valor ile
select ¸iei de volum nasupra luiX.Din aceast˘ a cauz˘ a, pentru simularea di-
verselor variabile ne vom concentra asupra problemei simul˘ arii unei singure
valori de select ¸ie care s˘ a foloseasc˘ a un algoritm astfel incˆ at prin iterare s˘ a
poat˘ a produce select ¸ia care ne intereseaz˘ a.
Revenind la metoda invers˘ a, dac˘ a am putea genera valori de select ¸ie
Ui,1≤i≤nuniforme 0−1 independente, atunci ¸ si Xi=F−1(Ui) ar fi
independente.
Un algoritm pentru generarea (simularea) unei select ¸ii Ui,1≤i≤nde
variabile uniforme 0 −1 va trebui deci s˘ a produc˘ a in primul rˆ and un num˘ ar
uniform 0−1, iar prin iter˘ ari acela¸ si algoritm s˘ a fie in m˘ asur˘ a s˘ a produc˘ a
select ¸ia de volum n; deci select ¸ia se va produce printr-o relat ¸ie iterativ˘ a
de formaUi+1=g(Ui),iar algoritmul trebuie s˘ a permit˘ a producerea de
numereUiindependente stochastic. Valorile de select ¸ie Uise numesc numere
aleatoare uniforme sau simplu numere aleatoare.
2.3 Metode congruent ¸iale liniare
FieXo variabil˘ a aleatoare discret˘ a repartizat˘ a uniform avˆ and repartit ¸ia
X:/parenleftBigg
1,2, …, m
1
m,1
m, …,1
m/parenrightBigg
, m<∞, (2.5)
44 CAP. 2. NUMERE ALEATOARE
undem∈N+.Conform teoremei 2.1, variabila Uuniform˘ a 0−1 se poate
obt ¸ine astfel
U=X
m∈(0,1) (2 .5/prime)
unde in ultima relat ¸ie imp˘ art ¸irea se execut˘ a in real.
Valori de select ¸ie asupra variabilei Xse pot obt ¸ine prin relat ¸ia congruent ¸ial˘ a
liniar˘ a [2, 5, 6, 7, 10]
Xi+1≡(aXi+c)(modm ), (2.6)
care spunem c˘ a define¸ ste generatorul mixt congruent ¸ial liniar (X0,a,c,m )
unde cele patru constante sunt numere naturale date.
Pentru ca generatorul (2.6) sa produc˘ a numere aleatoare, trebuie alese
constantele ( X0,a,c,m ) astfel incˆ at s˘ a satisfac˘ a condit ¸iile:
10.NumereleXis˘ a reprezinte o repartit ¸ie uniform˘ a de forma (2.5); aces t
lucru se realizeaz˘ a dac˘ a sirul {Xi}are operioad˘ aλmare adic˘ a dac˘ a cel mai
mic num˘ ar λpentru care Xi=Xi+λare loc pentru un λcˆ at mai mare.Acest
lucru se intˆ ampl˘ a dac˘ a cele patru constante se aleg astfe l incˆ at relat ¸ia (2.6)
s˘ a produc˘ a toate resturile modulo m, adic˘ a numerele 0 ,1,…,m−1,iarm
este mare.
20.NumereleXis˘ a fie independente stochastic; acest lucru nu este practic
posibil deoarece Xi+1depinde de Xiconform relat ¸iei (2.6); este ins˘ a posibil
ca numerele Xi,Xi+1s˘ a fieslab dependente stochastic. Aceast˘ a condit ¸ie in-
seamn˘ a c˘ a numerele respective au un coeficient serial de corelat ¸ie ρapropiat
de0, ρdefinit astfel
ρ=ρ1=Corr(Xi,Xi+1) =E[XiXi+1]−E[Xi]E[Xi+1]/radicalbig
Var[Xi]Var[Xi+1](2.7)
Var[Xi] =E[Xi−E[xi]]2=E[X2
i]−{E[Xi]}2
unde cuE[Y] se noteaz˘ a valoarea medie a variabilei aleatoare Y.
Din motive impuse de aritmetica sistemelor de calcul, modululmse ia
de formam=peundepeste un num˘ ar prim [10]. Urm˘ atoarea teorem˘ a [10]
precizeaz˘ a condit ¸ii pentru alegerea constantei acare define¸ ste generatorul
(2.6).
Teorema 2. 3 Perioada maxim˘ a a generatorului (2.6) este λ=pedac˘ a ¸ si
numai dac˘ a
a≡1(mod p )cand p> 2
a≡1(mod4)cand p = 2,1<a<p. (2.8)
2.3. METODE CONGRUENT ¸IALE LINIARE 45
O valoare a lui apoate fia=pk+1,2≤k≤e.Alegerea lui afolosind numai
aceast˘ a teorem˘ a poate ins˘ a s˘ a produc˘ a un ¸ sir de intreg iX0,X1,…,X λ−1care
s˘ a nu fie aleator; acest ¸ sir care cont ¸ine sigur num˘ arul 0 ,poate s˘ a cont ¸in˘ a
sub¸ siruri de lungime mare care s˘ a fie sau cresc˘ atoare, sau descresc˘ atoare,
sau s˘ a prezinte o periodicitate mare. Presupunˆ and c˘ a X0= 0 (ceea ce este
desigur permis) se observ˘ a c˘ a sirul {Xn}este de forma
Xn=(an−1)c
b(modm ), b=a−1. (2.6/prime)
Dac˘ a in relat ¸ia precedent˘ a lu˘ am a=b+ 1 atunci (2.6’) devine
Xn≡c(n+C2
nb+…+Cs
nbs−1)(mod m ) (2 .6/prime/prime)
undeseste cel mai mic num˘ ar natural care satisface relat ¸ia
bs≡0(modm ). (2.6/prime/prime/prime)
Num˘ arulsse nume¸ ste potent ¸a generatorului mixt congruent ¸ial. Din relat ¸ia
(2.6”) rezult˘ a c˘ a Xneste de forma unui polinom in bmodulom¸ si deci
generatorul este cu atˆ at mai bun cu cˆ at potent ¸a sa seste mai mare. S-a
constatat c˘ a din punct de vedere practic, potent ¸a trebuie s˘ a fie cel put ¸in 5 .
Un caz interesant este acela cˆ and m= 2eundeeeste apropiat de cuvˆ antul
calculatorului pe care se implementeaz˘ a generatorul (2.6 ). In acest caz se
arat˘ a c˘ a o alegere bun˘ a a lui aeste de forma a= 2f1+ 2f2+…+ 1, f1>
f2> …Deci un generator pentru care m¸ siasatisfac condit ¸iile teoremei
3 genereaz˘ a un sir de numere aleatoare intregi de perioada λmare ¸ si care
nu prezint˘ a regularit˘ at ¸i (nu cont ¸in sub¸ siruri periodice de lungimi mari sau
sub¸ siruri cu monotonii periodice). Constanta cpoate fi deocamdat˘ a arbitrar
aleas˘ a.
S˘ a vedem acum cum putem alege constantele generatorului (2 .6) astfel
incˆ atρs˘ a fie suficient de mic.
Numerele produse de (2.6) au o repartit ¸ie de forma (2.5) in c are valorile
luiXsunt 0,1,…,m−1.Deci in acest caz avem [10]
E[X] =m−1/summationtext
x=0x
m, Var [X] =m−1/summationtext
x=0x2
m−{E[X]}2
ρ1=ρ=mm−1/summationtext
x=0xs(x)−/parenleftbiggm−1/summationtext
x=0x/parenrightbigg2
mm−1/summationtext
x=0x2−/parenleftbiggm−1/summationtext
x=0x/parenrightbigg2, s(x) = (ax+c)(modm ).
46 CAP. 2. NUMERE ALEATOARE
Evaluarea lui ρse face cu dificultate. Se arat˘ a c˘ a
ρ≈1
a/parenleftBigg
1−6/parenleftbiggc
m/parenrightbigg
+ 6/parenleftbiggc
m/parenrightbigg2/parenrightBigg
±/epsilon1, /epsilon1≈a
m. (2.9)
O valoare conciliant˘ a a lui a, care s˘ a asigure o valoare mic˘ a a lui ρeste
a≈√miar din condit ¸ia ρ≈0 se deduce c˘ a c/mtrebuie s˘ a satisfac˘ a ecuat ¸ia
1−6x+ 6×2= 0adicac
m=1
2−1
6√
3 = 0.211324865. (2.10)
Ultima relat ¸ie d˘ a o condit ¸ie pentru alegerea lui c.
Notˆ andρk=Corr(Xi,Xi+k),se arat˘ a c˘ a ρk≤ρ1, k>1, ceea ce asigur˘ a
o dependent ¸˘ a slab˘ a a numerelor dep˘ artate din secvent ¸a X1,X2,…
In concluzie pentru ca generatorul (2.6) s˘ a fie bun trebuie s ˘ a alegem un
modulmcˆ at mai mare, s˘ a select˘ am un aastfel incˆ at s˘ a satisfac˘ a teorema
3 impreun˘ a cu o potent ¸˘ a mai mare decˆ at 5 ¸ si s˘ a ia o valoar e apropiat˘ a de√m, iarcs˘ a satisfac˘ a (2.10). Num˘ arul de startX0,care se mai nume¸ ste ¸ si
s˘ amˆ ant ¸a generatorului poate fi orice num˘ ar natural mai mic decˆ at m.
Pentru a produce un num˘ ar aleator intreg X,generatorul (2.6) necesit˘ a
deci efectuarea unei inmult ¸iri ¸ si a unei adun˘ ari ¸ si apoi calcularea restului
modulom.Dac˘ a am alege c= 0 atunci am obt ¸ine generatorul multiplicativ
congruent ¸ial (X0,a,0,m) care are avantajul c˘ a necesit˘ a numai operat ¸ia de
inmult ¸ire el fiind deci de forma
Xn+1≡(aXn)(modm ). (2.11)
In acest caz X0trebuie sa fie neap˘ arat pozitiv c˘ aci altfel sirul produs de
(2.11) ar avea toate elementele egale cu zero deci nu ar fi un si r de numere
aleatoare uniforme intregi. Condit ¸ia de perioad˘ a maxim˘ a se modific˘ a ¸ si ea ¸ si
intr-un caz interesant din punct de vedere practic se exprim ˘ a prin teorema
urm˘ atoare.
Teorema 2. 4 Perioada maxim˘ a a generatorului (X0,a,0,m)se obt ¸ine cˆ and:
(i)X0este un intreg pozitiv prim cu m;
(ii)aeste r˘ ad˘ acin˘ a primitiv˘ a modulo m,¸ si dac˘ api,1≤i≤tsunt
numere prime atunci perioada este
λ(2e) = 2e−2, daca e≥3,
λ(pe) =pe−1(p−1), daca p> 2,
λ(pe1
1…pet
t) =cmmmc (λ(pe1
1)…λ(pet
t)). (2.12)
Desigur, generatorul recomandabil este cel de forma (2.11) deoarece necesit˘ a
numai o operat ¸ie de inmult ¸ire. Exist˘ a ins˘ a ¸ si alti gene ratori de numere
aleatoare intregi. Enumer˘ am in continuare cˆ at ¸iva.
2.4. ALT ¸I GENERATORI DE NUMERE UNIFORME 47
2.4 Alt ¸i generatori de numere uniforme
Exist˘ a multe idei ce se folosesc pentru simularea de numere aleatoare uni-
forme 0−1.Uneori sunt necesari generatori cu calit˘ at ¸i statistice foarte bune;
ace¸ sti generatori au de regul˘ a complexitate de calcul mar e ¸ si necesit˘ a uti-
lizarea de calculatoare cu putere de calcul mare mai ales pri vind efectu-
area calculelor aritmetice (calculatoare cu cuvˆ ant mare! ). Alteori ins˘ a sunt
necesari generatori mai put ¸in performant ¸i, care produc n umere pseudo-
aleatoare cu propriet˘ at ¸i statistice mai s˘ arace; de exemplu, numer eUicare
sunt aproximativ independente stochastic ¸ si repartizate numai aproape uni-
form.
Exist˘ a un adev˘ arat arsenal de teste statistice [6, 10] cu care se verific˘ a
propriet˘ at ¸ile statistice ale secvent ¸elor de numere ale atoare (uniformitatea
repartit ¸iei, independent ¸a stochastic˘ a a numerelor suc cesiv generate, non-
periodicitatea secvent ¸elor, etc.). Printre acestea, un l oc important il ocup˘ a
testele de concordant ¸˘ a care verific˘ a ipoteza c˘ a numerele aleatoare U∈[0,1],
produse cu un generator, sunt uniform repartizate pe acel in terval;asemenea
teste sunt testele de tip Kolmogorov-Smirnov ¸ sitestul general χ2de concordant ¸˘ a.
Exist˘ a, de asemenea, multe teste care se refer˘ a la caracte rul aleator. Nu vom
prezenta detalii privind aceste teste (Vezi de ex. $ 3.7). Ci titorul interesat
in aprofundarea acestei probleme poate consulta de exemplu [10]. Preciz˘ am
numai faptul constatat experimental c˘ a generatorii care p roduc secvent ¸e de
perioadeλmari, au de regul˘ a, propriet˘ at ¸i statistice corespunz˘ a toare.
In cele ce urmeaz˘ a prezent˘ am cˆ at ¸iva generatori de numer e aleatoare care
sunt, de regul˘ a, implementat ¸i in limbajele de programare evoluate. Aproape
orice astfel de limbaj are o funct ¸ie (sau procedur˘ a) care, prin apel˘ ari succe-
sive, produce secvent ¸e de numere pseudoaleatoare de bun˘ a calitate. (De ex.
in Pascal ¸ si C este funct ¸ia random a c˘ arei s˘ amˆ ant ¸˘ a este init ¸ializat˘ a standard
la implementare sau care poate fi reinit ¸ializat˘ a prin randomize de c˘ atre uti-
lizator). F˘ ar˘ a s˘ a insist˘ am asupra detaliilor privind c alitatea generatorilor ¸ si
implementarea lor efectiv˘ a, in cele ce urmeaz˘ a vom trece i n revist˘ a cˆ ateva
metode ce se utilizeaz˘ a in construct ¸ia practic˘ a a unor as tfel de generatori
(problem˘ a care constituie mai degrab˘ a o tem˘ a de cercetare ¸ stiint ¸ific˘ a ).
•Generatorul aditiv congruent ¸ial, sau Fibonacci decalat notat
(k;X0,X1,…,X k;j;m) ¸ si bazat pe relat ¸ia
Xn= (Xn−j−Xn−k)(modm ) (2 .13)
iar o alegere bun˘ a a constantelor este j= 24, k= 55, m= 2e, e≥31 care
asigur˘ a o perioada λ≥255−1.
48 CAP. 2. NUMERE ALEATOARE
•Generatorul congruent ¸ial inversiv notat (X0,a,c,m )−1cum-
prim, definit de relat ¸ia
Xn= (aX−1
n−1+c)(modm ) (2 .14)
undeX−1
iesteinversul (mod m ) al luiXiin raport cu operat ¸ia de inmult ¸ire
a claselor de resturi, cˆ and acesta exist˘ a sau este zero alt fel. (Dac˘ am-prim
¸ siXi/negationslash= 0 atunci inversul exista!).
•Generatorul matricial congruent ¸ial care este de forma
Xn= (AXn−1+C)(modm ) (2 .15)
undeXn,Csunt vectori d−dimensionali iar Aeste matrice d×d.Inmult ¸irea
matriceal˘ a va produce vectori Xncu componente corelate. Acest tip de
generatori se utilizeaz˘ a pe calculatoare paralele.
•Generatori bazat ¸i pe registre de deplasare care utilizeaz˘ a reprezen-
tarea binar˘ a a numerelor intregi in calculator. Dac˘ a not˘ am cu ai,1≤i≤p
cifrele binare ale lui xn−1¸ si consider˘ am cifrele cinu toate egale cu zero,
atunci generarea cifrelor aiale lui luiXnse realizeaz˘ a prin relat ¸ia
ai= (cpai−p+cp−1ai−p+1+…+c1ai−1)(mod2). (2.16)
In practic˘ a se folose¸ ste forma mai simpl˘ a
ai= (ai−p+ai−p+q)(mod2), p>q> 0 (2 .16/prime)
sau dac˘ a not˘ am ⊕operat ¸ia binar˘ a or-exclusiv ca suma de bit ¸i modulo 2
atunci relat ¸ia precedent˘ a devine
ai=ai−p⊕ai−p+q. (2.16/prime/prime)
S˘ a observ˘ am c˘ a relat ¸ia de recurent ¸˘ a referitoare la bi t ¸iiaieste aceea¸ si cu
relat ¸ia de recurent ¸˘ a a numerelor aleatoare Xiinterpretate ca p−tupluri de
bit ¸i, adic˘ a
Xn=Xn−p⊕Xn−p+q. (2.17)
Un generator bun este de exemplu generatorul Xn=Xn−3p⊕Xn−3q, p=
521, q= 32,care are o perioad˘ a λ= 2521−1.Formula (2.17) se poate extinde
matricial sub forma
Xn=Xn−p⊕Xn−p+q. (2.17/prime)
•Amestecarea de generatori se obt ¸ine astfel: S˘ a presupunem c˘ a se
dau doi generatori G1,G2¸ si folosim o tabel˘ a T[1..k],(de exk= 64 sau
k= 128). Algoritmul de amestecare a celor doi generatori este
2.4. ALT ¸I GENERATORI DE NUMERE UNIFORME 49
Init ¸ializ˘ am T[i] =Uicu numere Uiproduse cu G1;
Gener˘ am cu G2un indice aleator j∈{1,2,…,k};
Lu˘ amY:=T[j]; Gener˘ am UcuG1¸ si lu˘ amT[j] :=U.
Generarea indicelui aleator j, care este un intreg uniform repartizat
cu valori in{1,2,…,k}se face astfel
Genereaz˘ aUcuG2;
Iaj=trunc(U×k) + 1.
Generatorul Grezultat din amestecare este mai aleator decˆ at p˘ arint ¸ii s˘ ai
G1,G2, iar perioadele satisfac relat ¸ia: λ(G) =cmmmc (λ(G1),λ(G2).
•In final, prezent˘ am cˆ ateva exemple concrete de generatori:
1. Generatorul ( X0,125,0,2796203);
2. Generatorul( x0,16807,0,231−1);
3. Generatorul de numere uniforme Uiobt ¸inute astfel:
Xi= 171Xi−1(mod30269),Yi= 172Yi−1(mod30307),
Zi= 170Zi−1(mod30323), Ui=/parenleftbiggXi
30269+Yi
30307+Zi
30323/parenrightbigg
(mod1).
Primii doi generatori sunt multiplicativ-congruent ¸iali ¸ si satisfac condi-
t ¸iile precizate anterior. Pentru cel de-al treilea se pres upun date semint ¸ele
(X0,Y0, Z0) ce corespund la trei generatori multiplicativ-congruent ¸iali ¸ si se
arat˘ a c˘ aUiau perioada de ordinul 1012.
In cele ce urmeaz˘ a vom presupune c˘ a dispunem de un generato r de nu-
mere aleatoare uniforme 0 −1,reprezentat generic de funct ¸ia random.
Exercit ¸ii.
E2.1 Demonstrat ¸i (2.6’) ¸ si (2.6”) pentru generatorul mixt con gruent ¸ial.
E2.2 FieV= (V1,V2,…,V k)/primeun vector aleator uniform pe intervalul
I= [a1,b1]×[a2,b2]×…×[ak,bk],−∞<ai<bi<∞,1≤i≤k.S˘ a se arate
c˘ aVisunt variabile aleatoare uniforme pe [ ai,bi] ¸ si independente stochastic.
Reciproca este de asemenea adev˘ arat˘ a.
Indicat ¸ie: Se consider˘ a densit˘ at ¸ile de repartit ¸ie ale lui V¸ siVi,adic˘ a
f(v) =
1
k/producttext
i=1(bi−ai), dacav∈I
0, inrest, f i(vi) =/braceleftbigg1
bi−ai,dacav i∈[ai,bi]
0, inrest
¸ si se observ˘ a c˘ a f(v) =k/producttext
i=1fi(vi).
50 CAP. 2. NUMERE ALEATOARE
E2.3 Ar˘ atat ¸i c˘ a dac˘ a Ueste uniform 0−1 atunciV=a+ (b−a)U, cu
−∞<a<b< +∞este uniform pe [ a,b] ¸ si reciproc.
Indicat ¸ie: Folosind funct ¸ia de repartit ¸ie Fa luiUdat˘ a de (2.4), se arat˘ a
c˘ a funct ¸ia de repartit ¸ie a lui VesteGdat˘ a de (2.3) ¸ si invers.
E2.4S˘ a se arate c˘ a dac˘ a Ueste o variabil˘ a uniform˘ a 0 −1 atunci ¸ si 1−U
este o variabil˘ a repartizat˘ a uniform pe [0 ,1].
Indicat ¸ie: se arat˘ a c˘ a P(1−U <x ) =x, x∈[0,1].
E2.5 Folosind metoda de simulare a indicelui aleator jdescris˘ a in ul-
tima sect ¸iune precizat ¸i in ce condit ¸ii metoda poate fi fol osit˘ a la simularea
arunc˘ arii cu zarul, la simularea tragerii la sort ¸i, sau la simularea unui semn
aleator?
Indicat ¸ie: La aruncarea cu zarul se ia k= 6,iar la tragerea la sort ¸i se ia
k= 2.
Simularea semnului aleator se realizeaz˘ a cu instrut ¸iune a:
ifU≤0.5thensemn := 1elsesemn :=−1;
Observat ¸ie: pentru o variabil˘ a aleatoare Xcontinu˘ a (care are densitate
de repartit ¸ie), avem P(X=x) = 0,deci in particular P(U=u) = 0,ceea ce
inseamn˘ a c˘ a semnul ≤poate fi inlocuit cu semnul ≥in cadrul instruct ¸iunii
ifprecedente.
E2.6 Fie (U,V)/primeun vector aleator uniform pe [0 ,1]×[0,1],undeUeste
independent de V.S˘ a se calculeze P(U+V <x ),x∈R.
Indicat ¸ie. In general avem P(U+V <x ) =/integraltext
Ddudv, D ={(u,v)|u+v <
x}.Pornind de aici ¸ si calculˆ and ariile unor triunghiuri obt ¸ inemP(U+V <
x) =x2/2, daca 0≤x≤1;P(U+V <x ) = 1−(2−x)2/2, daca 1≤x≤
2;P(U+V <x ) = 0, dacax< 0, P(U+V <x ) = 1, dacax> 2.
E2.7 Precizat ¸i cum se genereaz˘ a un indice aleator i∈{r,r+ 1,…,s}
under,s∈N(adic˘ ar,ssunt numere naturale).
Indicat ¸ie. Simularea se realizeaz˘ a cu instruct ¸iunea: i=r+trunc[(s−r)×
U] + 1,asem˘ an˘ ator exercit ¸iului 5.
E2.8 Construit ¸i un generator de numere Uuniforme pe [0 ,1] utilizˆ and
amestecarea a trei generatori G1,G2,G3.
Solut ¸ie. Se va folosi o idee asem˘ an˘ atoare aceleia care a condus la am este-
carea a doi generatori G1,G2,descris˘ a in ultimul algoritm de mai sus. S˘ a
consider˘ am un vector L[1..m] in care se vor memora numere uniforme U
generate cu G1.S˘ a consider˘ am un alt vector cu valori intregi L1[1..k] ale
c˘ arui valori sunt numere intregi L1[j]∈{1,2,…,m},1≤j≤k.Algoritmul
obt ¸inut prin amestecarea celor trei generatori este urm˘ a torul:
Pasul 0. Incarc˘ a vectorul Lcu secvent ¸a de numere aleatoare U1,U2,.
..,Um,uniforme pe [0 ,1],generate cu G1; incarc˘ a de asemenea vectorul L1
2.4. ALT ¸I GENERATORI DE NUMERE UNIFORME 51
cu secvent ¸a de numere intregi j1,j2,…,j kdin{1,2,…,m},generate cu G2;
Pasul 1. Genereaz˘ a cu G3un indice aleator jdin mult ¸imea{1,2,…,k};
iai:=L1[j]; genereaz˘ a cu G2un indice aleator i1in{1,2,…,m}¸ si ia
L1[j] :=i1;
Pasul 2. IaU:=L[i]; genereaz˘ a cu G1un num˘ ar aleator U1uniform pe
[0,1] ¸ si iaL[i] :=U1.
Num˘ arul aleator pe [0 ,1] nou generat este num˘ arul U¸ si el este obt ¸inut
prin amestecarea generatorilor G1,G2,G3.Este de asteptat ca numerele U
produse de acest algoritm s˘ a aib˘ a propriet˘ at ¸i de aleatorism mai bune decˆ at
numerele ce s-ar produce cu fiecare generator in parte. Print re altele se
arat˘ a c˘ a dac˘ a λieste perioada generatorului Gi,i= 1,2,3,atunci perioada
generatorului dat de algoritmul precedent este λ=cmmmc (λ1,λ2,λ3) care
poate fi (dac˘ a alegem convenabil generatorii Gi) mai mare decˆ at cel mai
mare dinλi.
Dac˘ a este necesar s˘ a se produc˘ a o secvent ¸˘ a U1,U2,…,U natunci se exe-
cut˘ a o singur˘ a dat˘ a pasul 0 ¸ si se repet˘ a de nori pa¸ sii 1 ¸ si 2 ai algoritmului.
52 CAP. 2. NUMERE ALEATOARE
Cap. 3
Simularea variabilelor
neuniforme
Teorema 2.2 din capitolul precedent ne spune c˘ a cel put ¸in t eoretic, putem
simula orice variabil˘ a aleatoare Xdac˘ a cunoa¸ stem funct ¸ia sa de repartit ¸ie
F¸ si putem calcula u¸ sor ¸ si f˘ ar˘ a erori funct ¸ia invers˘ a F−1.Pornind de la
acest fapt, precum ¸ si de la alte considerente ce vor fi ment ¸i onate la locul
potrivit, in literatura de specialitate s-au construit div erse metode, atˆ at
generale cˆ at ¸ si particulare, pentru simularea diverselor tipuri d e repartit ¸ii
de probabilitate ne uniforme. Schema general˘ a a acestor me tode este de
tipul urm˘ ator: se presupun cunoscute metode de simularea u nor variabile
aleatoare simpleS1,S2,…,S n¸ si se caut˘ a un algoritm (adic˘ a metoda!) care
s˘ a transforme aceste variabile in variabila Xcare trebuie generat˘ a. (In
particular de exemplu, variabila simpl˘ aUse transform˘ a in variabila X=
F−1(U)).
In cele ce urmeaz˘ a vom prezenta mai intˆ ai cˆ ateva metode ge nerale de sim-
ularea variabilelor aleatoare neuniforme. Toate aceste me tode presupun sim-
ularea unor variabile aleatoare simple (cele mai simple sun t cele uniforme),
iar prin transformarea/combinarea acestora se obt ¸in vari abilele dorite.
3.1 Metoda invers˘ a
Aceast˘ a metod˘ a a fost deja introdus˘ a ca o consecint ¸˘ a di rect˘ a a teoremei
lui Hincin. Ea se aplic˘ a, a¸ sa cum s-a precizat, in cazul in c are funct ¸ia de
repartit ¸ie se poate inversa u¸ sor. Dac˘ a funct ¸ia de repar tit ¸ie nu se inverseaz˘ a
u¸ sor, atunci ea se poate aproxima (pe intervale convenabil alese) cu o funct ¸ie
53
54 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
liniar˘ a pe port ¸iuni, cozile fiind aproximate cu exponent ¸iale convenabil alese.
In tabela urm˘ atoare se prezint˘ a cˆ ateva repartit ¸ii de pr obabilitate ce se pot
simula u¸ sor cu metoda invers˘ a (vezi ¸ si [10]).
Repartit ¸ia Densitatea f InversaF−1
Exp(λ),λ>0 f(x) =λe−λx,x>0x=−1
λln(u)
Weib(0,1,ν),ν >0 f(x) =νxν−1e−xνx= (−ln(u))1/ν
Cauchy f(x) =1
π1
1+x2,x∈Rx=tanπ(u−1
2)
PearsonXI,α∈R,ν > 0f(x) =να
(1+αx)ν+1,x>0 x=1
u1/ν
Arcsin f(x) =1
π1√
1−x2, x∈[−1,1]x=sinπ(u−1
2)
Logistica f(x) =e−x
(1+e−x)2,x∈Rx=log/parenleftBig
1−u
u/parenrightBig
Tabelul 3.1. Metoda invers˘ a
In formulele lui fdin tabel se precizeaz˘ a numai valorile lui xpentru care
f(x)>0,presupunˆ andu-se c˘ a f(x) = 0 in rest.
In ultima coloan˘ a se scrie direct formula cu care se simulea z˘ a variabila
aleatoareX,deoarece se t ¸ine cont de exercit ¸iul 4 din capitolul 2 (s-a i nlocuit
1−ucuu[10], economisindu-se in acest fel o operat ¸ie de sc˘ adere) . Inlocuirea
lui 1−ucuuse va face ori de cˆ ate ori se va ivi ocazia, dac˘ a este posibil .
Folosind metoda invers˘ a se poate construi u¸ sor un algoritm pentru sim-
ularea variabilei discrete
X:/parenleftBigg
a1, a2, …, a m
p1, p2, …, p m/parenrightBigg
,m/summationdisplay
i=1pi= 1. (3.1)
Pentru simularea variabilei aleatoare Xcalcul˘ am mai intˆ ai valorile funct ¸iei
de repartit ¸ie a acesteia.Avem
F(x) =
0, daca x<a 1
p1, dacaa 1≤x<a 2
p1+p2, daca a 2≤x<a 3
……..
p1+p2+…+pk, daca a k≤x<a k+1
……..
1daca a m≤x.(3.2)
Algoritmul pentru simularea lui Xconst˘ a deci in g˘ asirea lui aia.ˆ ı.F(ai) =U
si este urm˘ atorul:
Algoritmul SIMDISCRV [10]
3.2. METODA COMPUNERII SAU AMESTEC ˘ARII 55
Intrare tabela T[1..m],T[i] :=i/summationtext
j=1pj;Intrarea[1..m];
Genereaz˘ aUuniform 0−1; (cuU:=random ;);
i:= 1;whileU >F [i]doi:=i+ 1;
IaX:=a[i].
3.2 Metoda compunerii sau amestec˘ arii
Aceast˘ a metod˘ a se aplic˘ a variabilelor aleatoare Xa c˘ aror repartit ¸ie de prob-
abilitate satisface urm˘ atoarea definit ¸ie [2, 3, 10]:
Definit ¸ia 3. 1 Funct ¸ia de repartit ¸ie F(x)este o amestecare (sau compunere
sau mixtur˘ a) discret˘ a a mult ¸imii de funct ¸ii de repartit ¸ie
{Fi(x)}1≤i≤mcu repartit ¸ia disret˘ a
J:/parenleftBigg
1,2, …, m
p1, p2, …, p m/parenrightBigg
,m/summationdisplay
i=1pi= 1, (3.3)
dac˘ a
F(x) =m/summationdisplay
i=1piFi(x). (3.4)
Funct ¸ia de repartit ¸ie F(x)este o amestecare continu˘ a a familiei de funct ¸ii
de repartit ¸ie{G(x,Y)}Y∈R,cu funct ¸ia de repartit ¸ie continu˘ a H(y)a luiY
dac˘ a ea este de forma
F(x) =/integraldisplay
RG(x,y)dH(y) (3 .5)
ultima integral˘ a fiind integrala Stieltjes.
Dac˘ a not˘ am cu Xvariabila aleatoare care are funct ¸ia de repartit ¸ie F(x) ¸ si cu
Xivariabila aleatoare care are funct ¸ia de repartit ¸ie Fi(x) atunci amestecarea
discret˘ a poate fi interpretat˘ a astfel
X=Xicuprobabilitateap i
de unde rezult˘ a urm˘ atorul algoritm pentru simularea lui X
Algoritmul COMPDISCR
Genereaz˘ a un indice javˆ and repartit ¸ia (3.3);
Genereaz˘ aXjavˆ and funct ¸ia de repartit ¸ie Fj(x);
IaX:=Xj.
56 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
O interpretare analog˘ a are ¸ si amestecarea continu˘ a, de u nde se deduce
urm˘ atorul algoritm de simulare a variabilei aleatoare X;F(x)
Algoritmul COMPCONT
Genereaz˘ a variabila Ycare are funct ¸ia de repartit ¸ie H(y);
Genereaz˘ a variabila aleatoare ZYcare are funct ¸ia de repartit ¸ie G(x,Y);
IaX:=ZY.
Desigur, in algoritmii precedent ¸i se presupun cunoscute m etode de gener-
are a variabilelor aleatoare J,Xi,Y,Z Y.Dac˘ a in definit ¸ia compunerii se con-
sider˘ a in loc de funct ¸ii de repartit ¸ie, densit˘ at ¸i de re partit ¸ie atunci formulele
(3.4) ¸ si (3.5) se scriu respectiv [10,11]
f(x) =m/summationdisplay
i=1pifi(x) (3 .4/prime)
f(x) =/integraldisplay
Rg(x,y)h(y)dy. (3.5/prime)
Exemplul 3.1, [10]. Presupunem c˘ a la o stat ¸ie de benzin˘ a sosesc m
tipuri de autoturisme ¸ si se cunoa¸ ste pi= probabilitatea s˘ a soseasc˘ a un au-
toturism de tipul i,1≤i≤m.Presupunem c˘ a timpul Xide intersosire al
autoturismelor de tip iare repartit ¸ia Exp(λi) adic˘ a exponent ¸ial˘ a negativ˘ a
de parametru λi.Atunci timpul de intersosire Xal autoturismelor oarecare
(amestecate!) are o repartit ¸ie mixtexponent ¸ial˘ a (sau amestecat exponent ¸ial˘ a)
adic˘ a este o amestecare discret˘ a cu densitatea
f(x) =
0, daca x< 0
m/summationtext
i=1piλie−λixi, dacax≥0.
Deci simularea unui timp de intersosire a dou˘ a autoturisme oarecare se va
face cu algoritmul COMPDISCR.
Exemplul 3.1’. FieXvariabila avˆ and repartit ¸ia Laplace (λ) [5] a c˘ arei
densitate este
f(x) =λ
2e−λ|x|, x∈R, λ> 0.
Se observ˘ a c˘ a
f(x) =p1f1(x) +p2f2(x), p 1=p2=1
2= 0.5
f1(x) =/braceleftbiggλeλx, dacax≤0
0, dacax> 0, f2(x) =/braceleftbigg0, dacax≤0,
λe−λx, daca,x> 0.
3.2. METODA COMPUNERII SAU AMESTEC ˘ARII 57
Algoritmul de compunere pentru simularea lui Xeste
Algoritmul LAPCOMP pentru simularea variabilei Laplace
GenereazaU;uniform 0−1;
ifU≤0.5thens:=−1elses:= 1; (s= semn aleator );
Genereaz˘ a Y;Exp(λ);iaX:=sY.
Simularea variabilei Laplace (λ) se poate face u¸ sor ¸ si cu metoda invers˘ a.
Exemplul 3.2. Durata in funct ¸ionare X,X > 0 a unui aparat (de ex.
computer) este exponent ¸ial˘ a de parametru ηλundeλ>0 este un parametru
determinat de produc˘ ator (in laborator!) iar ηeste un parametru aleator care
indic˘ a influent ¸a mediului in care este exploatat calculatorul. Presupunˆ and
c˘ a repartit ¸ia de probabilitate a lui ηeste de tip Gamma (0,b,a) adic˘ a are
densitatea
h(η) =/braceleftBigg0, daca x< 0
ba
Γ(a)ηa−1e−bη,(3.6)
s˘ a se determine densitatea de repartit ¸ie a lui X.
Se observ˘ a [5,7] c˘ a este vorba de o amestecare continu˘ a a c ˘ arei densitate
este de forma (3.5’) adic˘ a pentru x≥0 avem
f(x) =∞/integraldisplay
0ηλe−ληxba
Γ(a)ηa−1e−bηdη=λba
Γ(a)∞/integraldisplay
0ηae−η(λx+b)dη=
=λbaΓ(a+ 1)
Γ(a)(λx+b)a+1=λa
bba+1
(λx+b)a+1=aθ
(θx+ 1)a+1,θ=λ
b.
Deci in final densitatea lui Xeste
f(x) =/braceleftBigg0, daca x< 0
aθ
(θx+1)a+1, daca x≥0,θ=λ
b. (3.7)
In calculele de mai sus s-a folosit urm˘ atoarea formul˘ a
Γ(ν)
aν=∞/integraldisplay
0xν−1e−axdx. (3.8)
Repartit ¸ia a c˘ arei densitate este de forma (3.7) se nume¸ s te repartit ¸ie Lomax
¸ si dˆ andu-se parametrii pozitivi λ,a,b simularea ei se realizeaz˘ a cu algorit-
mulCOMPCONT cu condit ¸ia de a cunoa¸ ste un algoritm de simulare a
variabileiGamma (0,b,a).
Exemplele de mai sus ilustreaz˘ a dou˘ a cazuri particulare c ˆ and se poate
aplica metoda compunerii. Totu¸ si urm˘ atoarea teorem˘ a ne asigur˘ a c˘ a metoda
compunerii discrete se poate aplica in general.
58 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Teorema 3. 1 FieXo variabil˘ a aleatoare care are densitatea f(x),x∈
∆,(∆⊆R)¸ si s˘ a consider˘ am o diviziune a lui ∆adic˘ a ∆ =∪m
i=1∆i,∆i∩
∆j=∅,∀i/negationslash=j.Presupunˆ and c˘ a pi=P(X∈∆i)>0,exist˘ a densit˘ at ¸ile
fi(x),nule pentru x /∈∆iastfel incˆ at
f(x) =m/summationdisplay
i=1pifi(x). (3.9)
Demonstrat ¸ie [10]. Deoarece pi=/integraltext
∆if(x)dxrezult˘ a c˘ a putem defini den-
sit˘ at ¸ile de repartit ¸ie
fi(x) =/braceleftBigg
f(x)
pi, daca x∈∆i,
0, daca x /∈∆i.(3.9/prime)
Fie unx∈∆,oarecare pentru care f(x)/negationslash= 0.Atunci exist˘ a un i,1≤i≤m
astfel incˆ at x∈∆i.Prin verificare direct˘ a se deduce c˘ a
f(x) =pifi(x) =f(x)
pipi=m/summationdisplay
j=1pjfj(x),(cacif j(x) = 0,∀j/negationslash=i)
¸ si teorema este demonstrat˘ a.
Metoda compunerii poate fi aplicat˘ a in combinat ¸ie cu metod a invers˘ a
(de ex. pentru simularea variabilelor Xidin exemplul 3.1) a¸ sa cum se va
vedea in multe cazuri ce vor fi tratate in continuare. Ea poate fi aplicat˘ a ¸ si
in combinat ¸ie cu metoda respingerii ce va fi tratat˘ a in continuare.
3.3 Metoda respingerii
Aceast˘ a metod˘ a (denumit˘ a in mod pesimistic ca metod˘ a a respingerii), ar
putea fi denumit˘ a ¸ si metoda accept˘ arii-respingerii. Ea are forma general˘ a
urm˘ atoare dac˘ a ne referim la simularea unei variabile ale atoareX.
Presupunem c˘ a se cunosc urm˘ atoarele elemente [10]:
– Se cunoa¸ ste un procedeu de simulare a unei variabile aleat oareNcare
ia valori naturale pozitive;
– Se cunosc metode pentru simularea unor variabile aleatoar eSi∈S,i≥
1,unde S este o familie de variabile aleatoare dat˘ a;
– Se cunoa¸ ste un predicat P(S1,S2,…,S n) care se poate calcula ∀Si,n;
(Acest predicat sau condit ¸ie trebuie s˘ a poat˘ a fi evaluat f ˘ ar˘ a calcule de mare
complexitate!);
3.3. METODA RESPINGERII 59
– Se cunoa¸ ste funct ¸ia Ψ astfel incˆ at X= Ψ({S1,S2,…,S n)},
P(S1,S2,…,S n) =true).
Cˆ and pentru o variabil˘ a aleatoare Xeste posibil s˘ a se construiasc˘ a cele
patru elemente cu propriet˘ at ¸ile precizate anterior, atu nci se poate construi
un algoritm pentru simularea lui Xsub forma general˘ a urm˘ atoare:
ALGRES=Algoritm General de Respingere
repeat
Simuleaz˘ a o valoare na luiN;
Simuleaz˘ a valorile de select ¸ie S1,S2,…,S ndinS;
untilP(S1,S2,…,S n) =true;
IaX= Ψ(S1,S2,…,S n).
S˘ a observ˘ am c˘ a dac˘ a P(S1,S2,…,S n) =false atunci mult ¸imea de vari-
abile aleatoare{S1,S2,…,S n}se respinge , de unde provine ¸ si numele de
metod˘ a de respingere. In aceea¸ si ordine de idei, se observ˘ a c˘ a dac˘ a pa=
P(P(S1,S2,…,S n) =true)),numit˘ a probabilitate de acceptare , este mare
(apropiat˘ a de 1), atunci algoritmul este bun;in caz contrar algoritmul este
lent.
Vom prezenta in continuare cˆ ateva propozit ¸ii care fundam enteaz˘ a algo-
ritmi de respingere pentru simularea unor variabile aleato are [2,10].
Teorema 3. 2 Fie dat˘ a o variabil˘ a aleatoare Xcare are densitatea de repartit ¸ie
f(x),x∈R,pe care dorim s˘ a o simul˘ am. Fie Yo alt˘ a variabil˘ a aleatoare ce
¸ stim s˘ a o simul˘ am ¸ si a c˘ arei densitate de repartit ¸ie es teh(x)astfel incˆ at den-
sit˘ at ¸ilef,hau acela¸ si suport S(adic˘ a iau valori diferite de zero pe aceea¸ si
mult ¸imeS⊂R). Presupunem c˘ a exist˘ a o constant˘ a α,0< α <∞,astfel
incˆ atf(x)≤αh(x),∀x∈S.In aceste condit ¸ii dac˘ a Ueste o variabil˘ a uni-
form˘ a 0−1independent˘ a de Y,atunci densitatea de repartit ¸ie a variabilei
Y, condit ¸ionat˘ a de 0≤U≤f(Y)/(αh(Y))este f.
Demonstrat ¸ie. Trebuie s˘ a demonstr˘ am c˘ a
P[(Y <x )|(0≤U≤f(Y)/(αh(Y))] =F(x) =/integraldisplayx
−∞f(v)dv.
Considerˆ and evenimentele A={Y < x},B={0≤U≤f(Y)/(αh(Y))},
ultima formul˘ a devine
P(A|B) =P(A∩B)
P(B)
unde
P(B) =∞/integraldisplay
−∞
f(v)/(αh(v))/integraldisplay
0du
h(v)dv=∞/integraldisplay
−∞f(v)
αh(v)h(v)dv=1
α, α> 1.
60 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
deci
P(A|B) =αx/integraldisplay
−∞
f(v)/(αh(v))/integraldisplay
0du
h(v)dv=αx/integraldisplay
−∞f(v)
αh(v)h(v) =x/integraldisplay
−∞f(v)dv.
Teorema este demonstrat˘ a. Aceast˘ a teorem˘ a este cunoscu t˘ a sub numele de
teorema inf˘ a¸ sur˘ atoarei deoarece condit ¸ia referitoare la αinseamn˘ a c˘ a graficul
densit˘ at ¸iif(x) se poate inf˘ a¸ sura cu graficul lui αh(x).
Din demonstrat ¸ie rezult˘ a c˘ a probabilitatea de acceptar e estepa= 1/α,
de unde rezult˘ a c˘ a pentru o metod˘ a a inf˘ a¸ sur˘ atoarei ne banal˘ a trebuie s˘ a
avemα>1.Procedura de respingere este format˘ a din urm˘ atoarele ele mente:
N= 2 (variabila aleatoare constant˘ a); S={U,Y};P(U,Y) =truedac˘ a
0≤U≤f(Y)/(αh(Y)); Ψ(U,Y) =Y,(adic˘ a proiect ¸ia ).
Exemplul 3.3 [10]. S˘ a consider˘ am densitatea de repartit ¸ie
Gamma (0,1,ν),0<ν < 1,numit˘ a repartit ¸ia gamma-standard cu νsubuni-
tar. S˘ a aplic˘ am metoda inf˘ a¸ sur˘ atoarei pentru simular ea variabilei gamma
notat˘ aX,folosind ca inf˘ a¸ sur˘ atoare densitatea Weib(0,1,ν).
Solut ¸ie. Densit˘ at ¸ile de repartit ¸ie sunt
f(x) =/braceleftBigg0, dacax< 0
1
Γ(ν)xν−1e−x, dacax> 0, h(x) =/braceleftbigg0, dacax< 0
νxν−1e−xν, dacax> 0.
(3.10)
In vederea determin˘ arii constantei αa inf˘ a¸ sur˘ atoarei analiz˘ am raportul
r(x) =f(x)
h(x)=1
νΓ(ν)e−x+xν.
Punctul de maxim al funct ¸iei r(x) estex0=ν1/(1−ν)de unde rezult˘ a
α=eζ(1−ν)
Γ(ν+ 1), ζ=νν
1−ν. (3.11)
Deci in final algoritmul pentru simularea lui Xeste
Algoritmul GAMRESM1 [10] (algoritm de respingere pentru vari-
abila gamma standard cu parametru subunitar)
Intrareν;Calculeaz˘ a c:= 1/ν, ζ:=νν
1−νa:=eζ(ν−1);
repeat
Genereaz˘ aUuniform 0−1;
Calculeaz˘ a Z:=−ln(U), Y:=Zc;{se genereaz˘ a Y;Weib(0,1,ν);}
Genereaz˘ a alt Uuniform 0−1;
3.3. METODA RESPINGERII 61
untilU≤aeZ−Y;
IaX:=Y.
Primul pas al algoritmului este un pas preg˘ atitor; in cazul cˆ and se simuleaz˘ a
o select ¸ie de volum n>1 asupra lui Xatunci acest pas se execut˘ a o singur˘ a
dat˘ a ¸ si numai ceilalt ¸i pa¸ si se execut˘ a de nori.
O alt˘ a metod˘ a de respingere se poate obt ¸ine din teorema ur m˘ atoare
[2,10].
Teorema 3. 3 FieXo variabil˘ a aleatoare care are funct ¸ia de repartit ¸ie de
forma
F(x) =cx/integraldisplay
−∞Q(φ(x))dR(x) (3 .12)
undeQ(z)este funct ¸ia de repartit ¸ie a unei variabile aleatoare Z,Z∈[0,M],
φ(x)este o funct ¸ie ce ia valori in [0,M](undeMpoate lua ¸ si valoarea ∞)
iarR(y)eate funct ¸ia de repartit ¸ie a unei variabile aleatoare Y,Y∈R,iar
variabileleZ,Ysunt independente stochastic. In aceste condit ¸ii funct ¸i a de
repartit ¸ie a variabilei Y,condit ¸ionat˘ a de Z≤φ(Y)esteF(x).
Demonstrat ¸ie [10]. Notˆ and ca in Teorema 3
A={Y <x},B={Z≤φ(Y)},P(A|B) =P(A∩B)
P(B), (3.12/prime)
ar trebui s˘ a demonstr˘ am c˘ a P(A|B) =F(x).S˘ a observ˘ am mai intˆ ai c˘ a
constantacdin (3.12) este o constant˘ a de normare adic˘ a
c=
+∞/integraldisplay
−∞Q(φ(x))dR(x)
−1
. (3.12/prime/prime)
S˘ a calcul˘ am acum numitorul din (3.12’). Avem
P(B) =+∞/integraldisplay
−∞
φ(x)/integraldisplay
0dQ(y)
dR(x) =∞/integraldisplay
−∞Q(φ(x))dR(x) =1
c.
In continuare avem
P(A|B) =cP(A∩B) =cx/integraldisplay
−∞
φ(t)/integraldisplay
0dQ(v)
dR(t) =cx/integraldisplay
−∞Q(φ(y))dR(y) =F(x).
62 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Teorema este demonstrat˘ a. Se observ˘ a din nou c˘ a probabil itatea de ac-
ceptare a algoritmului este pa=P(B).Este evident c˘ a teorema descrie un
procedeu de respingere ale c˘ arui elemente sunt u¸ sor de pre cizat.
Teorema r˘ amˆ ane valabil˘ a dac˘ a condit ¸ia (3.12) se scrie in termeni de den-
sit˘ at ¸i ¸ si anume
f(x) =cQ(φ(x))r(x), r(x) =R/prime(x). (3.13)
O form˘ a dual˘ a a teoremei se obt ¸ine dac˘ a F(x) este de forma [10]
F(x) =cx/integraldisplay
−∞(1−Q(φ(x)))dR(x);c=
+∞/integraldisplay
−∞(1−Q(φ(y))dR(y)
−1
(3.14)
cˆ and predicatul devine {Z≥φ(Y)}iar condit ¸ia (3.13) se scrie in termeni de
densit˘ at ¸i
f(x) =c(1−Q(φ(x))r(x). (3.13/prime)
S ¸i in acest caz avem pa=P(Z≥φ(Y)) = 1/c.
Exemplul 3.4 [5,7]. Fie Xvariabila aleatoare a c˘ arei densitate de
repartit ¸ie este
f(x) =c(1−e−λx)e−µx, x≥0 (3 .13/prime/prime)
adic˘ a de forma (3.13) ¸ si se cere s˘ a se precizeze un algorit m de respingere
pentru simularea lui X.
Solut ¸ie. Se observ˘ a c˘ a φ(x) =x¸ siQ(z) = 1−e−λz,z >0,deci
c=
+∞/integraldisplay
0(1−e−λx)e−µxdx
−1
= [λ
λ+µ]−1.
Algoritmul de respingere penru simularea lui Xeste
Algoritmul RESP34
repeat
Genereaz˘ aZ;Exp(λ);
Genereaz˘ aY;Exp(µ);
untilZ≤Y;
IaX:=Y.
Acest algoritm este rapid dac˘ a µ<<λ.
Dac˘ a se calculeaz˘ a in detalii funct ¸ia de repartit ¸ie F(x) a densit˘ at ¸ii (3,13”)
se poate constata c˘ a rezolvarea ecuat ¸iei F(X) =Unecesit˘ a o abordare
numeric˘ a ¸ si deci metoda invers˘ a nu este recomandabil˘ a.
3.3. METODA RESPINGERII 63
Urm˘ atoarea teorem˘ a [2, 10], ce va fi numit˘ a teorema ¸ sirului descendent,
datorat˘ a lui Forsythe, fundamenteaz˘ a un algoritm introd us de John von
Neumann pentru simularea exponent ¸ialei Exp(1), algoritm ce va fi prezentat
intr-o sect ¸iune urm˘ atoare.
Teorema 3. 4 Presupunem date variabilele aleatoare Zi;G(x),i≥1¸ si
Z0;G0(x),independente stochastic. Atunci, urm˘ atoarele afirmat ¸ii sunt
adev˘ arate
(1) Dac˘ axeste fixat ¸ si num˘ arul keste fixat, atunci
P(x≥Z1≥Z2≥…≥Zk−1<Zk) =[G(x)]k−1
(k−1)!−[G(x)]k
k!. (3.15)
(2) Dac˘ axeste fixat ¸ si Keste indicele aleator la care se ”rupe” sub¸ sirul
descendent (ca la pct (1)), atunci
P(K=nr.impar ) =P(K(mod2) = 1) =e−G(x). (3.15/prime)
(3) Dac˘ a sub¸ sirul descendent este Z0≥Z1≥…≥ZK−1<ZK(adic˘ a se
rupe la unKaleator ¸ si incepe cu Z0;G0(x)), atunci
P[Z0<x|K(mod2) = 1] =1
pax/integraldisplay
−∞e−G(t)dG0(t), (3.16)
undepaeste constanta de normare
pa=
+∞/integraldisplay
−∞e−G(X)dG0(x)
−1
. (3.16/prime)
Demonstrat ¸ie [10]. (1) Fie evenimentele A={x≥Z1≥Z2≥…≥Zk−1},
B={x≥Z1≥Z2≥…≥Zk}.Se observ˘ a c˘ a B⊂A¸ siP(Zi≤x) =G(x).
Deoarece sub¸ sirul care define¸ ste Acont ¸ine numai una din cele ( k−1)! ordini
relative in care se pot afla cele k−1 variabile aleatoare Zi,1≤i≤k−1,
rezult˘ a c˘ a
P(A) =(G(x))k−1
(k−1)!.
Pentru a demonstra (3.15) s˘ a observ˘ am c˘ a probabilitatea din membrul stˆ ang
se scrieP(A\B) ¸ si deoarece A⊂Bavem
P(A\B) =P(A)−P(B) =[G(x)]k−1
(k−1)!−[G(x)]k
k!
64 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
¸ si afirmat ¸ia (1) este demonstrat˘ a.
Afirmat ¸ia (2) rezult˘ a din urm˘ atoarele relat ¸ii:
P(K=nr.impar ) =P(K= 1) +P(K= 3) +…=
= 1−G(x)
1!+[G(x)]2
2!−[G(x)]3
3!+…=e−G(x).
Pentru a demonstra (3) s˘ a observ˘ am c˘ a atunci cˆ and Z0este aleator avem
P(K=nr.impar ) =P(Kmod 2 = 1) =∞/integraldisplay
−∞e−G(x)dG0(x)
de unde folosind padat de (3.16’) obt ¸inem
P(Z0<x|K=nr.impar ) =1
pax/integraldisplay
−∞e−G(t)dG0(t)
¸ si teorema este demonstrat˘ a.
Teorema reprezint˘ a un prototip complex de metod˘ a de respi ngere; se
atribuie ca valoare a lui XvaloareaZ0dinultimul sub¸ sir descendent care
este acceptat.
Algoritmul de respingere rezultat din teorem˘ a este urm˘ ar orul
Algoritmul RESPSIRD bazat pe siruri descendente.
repeat
Genereaz˘ aZ0;G0(x);IaZ∗=Z0,K:= 1;genereaz˘ aZ1;G(x);
whileZ0≥Z1do begin
K:=K+ 1;Z0:=Z1;
Genereaz˘ aZ1;G(x);
end;
untilKmod 2 = 1;
IaX:=Z∗.
S˘ a analiz˘ am acum performant ¸a algoritmului. Observ˘ am c ˘ apane d˘ a
informat ¸ie asupra vitezei algoritmului: cu cˆ at paeste mai mare, cu atˆ at mai
repede ajungem s˘ a accept˘ am un Z0(cˆ andK=nr.impar ). Darpa(prob-
abilitatea de acceptare) nu este de ajuns pentru a caracteri za performant ¸a
algoritmului; ar trebui s˘ a vedem ¸ si cˆ ate numere Zi,i≥0 sunt necesare pen-
tru a obt ¸ine un Z0−acceptat.Vom utiliza notat ¸iile:
preste probabilitatea de a respinge un Z0(de a respinge un sub¸ sir!);
avempr= 1−pa;
3.3. METODA RESPINGERII 65
Na= num˘ arul de valori Zi,i≥1 dintr-un sub¸ sir in care se accept˘ a un
Z0;
Nr= num˘ arul de valori Zi,i≥1 dintr-un sub¸ sir in care se respinge Z0;
N∗= Num˘ arul total de valori de select ¸ie Zi,i≥0 necesare pˆ an˘ a la
acceptarea unui Z0.
Folosind aceste notat ¸ii putem calcula valorile medii ale n umerelorN.
Avem
E(N∗) =paE(Na) +pr[E(Nr) +E(N∗)]
de unde
E(N∗) =1
pa[E(Na)pa+E(Nr)pr].
Dar
E(Na)pa+E(Nr)pr=E(K+ 1), deci E (N∗) =1
paE(K+ 1).
Se observ˘ a c˘ a
E(K+ 1) =∞/summationdisplay
k=1(k+ 1)+∞/integraldisplay
−∞/bracketleftBigg
(G(x))k−1
(k−1)!−(G(x))k
k!/bracketrightBigg
dG0(x) =
=∞/summationdisplay
k=0(k+ 2)+∞/integraldisplay
−∞(G(x))k
k!dG0(x)−∞/summationdisplay
k=1(k+ 1)+∞/integraldisplay
−∞(G(x))k
k!dG0(x) =
= 1 ++∞/integraldisplay
−∞∞/summationdisplay
k=0(G(x))k
k!dG0(x) = 1 ++∞/integraldisplay
−∞eG(x)dG0(x).
In concluzie
E(N∗) =1
pa
1 ++∞/integraldisplay
−∞eG(x)dG0(x)
. (3.17)
Exemplul 3.5 [10]. Presupunem c˘ a in Teorema 3.4, variabilele Zi,i≥0
sunt toate uniforme 0 −1 ¸ si independente, adic˘ a Zi=Ui,i≥0.Atunci,
conform teoremei avem
P(U0≤x|K=nr.impar ) =1
pax/integraldisplay
0e−xdx, p a=1/integraldisplay
0e−xdx= 1−e−1.
66 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Cu alte cuvinte U0−acceptat are funct ¸ia de repartit ¸ie
F(x) =
0, daca x< 0,
1−e−x
1−e−1, daca 0≤x≤1,
1, daca x> 1(3.18)
care este repartit ¸ia exponent ¸ial˘ a negativ˘ a de parametru 1, trun chiat˘ a pe in-
tervalul [0,1].Deci simularea variabilei care are funct ¸ia de repartit ¸ie F(x)
din (3.18) se poate face cu algoritmul RESPSIRD. De fapt, intr-un capitol
urm˘ ator vom ar˘ ata cum acest algoritm va fi completat astfel incˆ at s˘ a per-
mit˘ a simularea unei variabile exponent ¸iale negativ˘ a ne trunchiat˘ a. Num˘ arul
mediuE(N∗) de variabile{Zi}i≥0ce trebuie generate este conform formulei
(3.17)
E(N∗) =1
1−e−1(1 +1/integraldisplay
0exdx) =e
1−e−1=e2
e−1. (3.17/prime)
3.4 Alte metode
A¸ sa cum am ment ¸ionat, metodele de simulare a variabilelor aleatoare ne-
uniformeX, pot fi obt ¸inute fie prin transformarea unor variabile aleat oare
uniforme 0−1,fie sub forma
X=T(Y1,Y2,…,Y n) (3 .19)
unde variabilele Yipotfi simulate. De fapt, metodele prezentate in primele
trei subsect ¸iuni ale acestui capitol sunt toate de acela¸ s tip: simularea lui X
sereduce la simularea unor variabile mai simple Yi,1≤i≤n,unde ¸ sin
poate fi aleator.
In aceast˘ a sect ¸iune vom prezenta metode de simulare a unor variabile
aleatoare particulare care au tocmai astfel de propriet˘ at ¸i: repartit ¸iile lor
deriv˘ a din alte repartit ¸ii mai simple.
In tabelul 3.2. (vezi [10]) se dau cˆ ateva repartit ¸ii de pro babilitate a c˘ aror
simulare se realizeaz˘ a prin transform˘ ari simple de varia bileUuniforme 0−1
dar nu prin metoda invers˘ a. In ultima coloan˘ a se precizeaz ˘ a transformarea
T.
3.4. ALTE METODE 67
Nr. Numele Densitatea de Transformarea T
crt. repartit ¸iei repartit ¸ie
1 Normal˘ a f(x) =1√
2πe−x2/2X=/summationtext12
i=1Ui−6
N(0,1)−∞<x<∞
2 Modul f(x) =/braceleftbigg
1−|x|, x∈[−1,1]
0,altfelX=U1−U2
3 Repartit ¸ia f(x) =/braceleftbigg
nxn−1, x∈[0,1]
0,altfelX= max{U1,U2,…,U n}
maximului
4 Repartit ¸ia f(x) =/braceleftbigg
n(1−x)n−1, x∈[0,1]
0,altfelX= min{U1,U2,…,U n}
minimului
5 Repartit ¸ia f(x) =/braceleftbiggo, dacax< 0
1
Γ(k), dacax≥0X=−ln{/producttextk
i=1Ui}
Erlang (k)k∈N+
Tabelul 3.2. Repartit ¸ii simulate prin transform˘ ari de un iforme
Variabilele uniforme Uicare intervin in ultima coloan˘ a a tabelului sunt
presupuse independente. S˘ a vedem cum se justific˘ a metodel e prezentate
sintetic in tabel.
1. Aici se folose¸ ste teorema limit˘ a central˘ a intr-o forma simplificat˘ a ¸ si
anume: dac˘ a{Vn}n∈Neste un ¸ sir de variabile aleatoare independente ¸ si
identic distribuite care au momente de primele dou˘ a ordine ¸ si dac˘ a not˘ am
Sn=n/summationtext
i=1Vi,atunci
limn→∞P/parenleftBigg
Sn−E(Sn)/radicalbig
Var(Sn)<x/parenrightBigg
=1√
2π/integraldisplayx
−∞e−t2
2dt. (3.20)
In membrul al doilea este funct ¸ia de repartit ¸ie normal˘ a N(0,1).Dac˘ a con-
sider˘ am ca variabile Vivariabilele uniforme Uiavem
E(Ui) =1
2, Var (Ui) =1
12.
Viteza de convergent ¸˘ a in (3.20) depinde de viteza de gener are a variabilelor
Vi.In cazul cˆ and Vi=Uimembrul stˆ ang din (3.20) se apropie suficient
de mult de funct ¸ia de repartit ¸ie normal˘ a N(0,1) din membrul drept dac˘ a
68 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
n≥10.Luˆ andn= 12 se obt ¸ine expresia din ultima coloan˘ a a tabelului
(3.20) care are (aproximativ!) repartit ¸ia normal˘ a N(0,1).
Densitatea de repartit ¸ie normal˘ aN(m,σ) este
g(x) =1√
2πσe−(x−m)2
2σ2. (3.21)
Notˆ andYvariabilaN(m,σ) avem
m=E(Y), σ2=Var(Y). (3.21/prime)
Dac˘ a not˘ am Z;N(0,1) atunci se poate ar˘ ata cu u¸ surint ¸˘ a c˘ a intre Y¸ siZ
au loc relat ¸iile
Y=m+Zσ, Z =Y−m
σ(3.21/prime/prime)
de unde rezult˘ a c˘ a simularea lui Yse reduce la simularea lui Z,care la rˆ andul
s˘ au se simuleaz˘ a folosind teorema limit˘ a central˘ a ca in tabel˘ a.
2. Repartit ¸ia modul se obt ¸ine pe o cale analog˘ a celei folosite in exercit ¸iul
E2.6, Cap.2.
3. Justificarea este urm˘ atoarea
F(x) =P(max{U1,U2,…,U n}<x) =
=P(X1<x,…,U n<x) =
0, dacax< 0,
xn, dacax∈[0,1],
1, dacax> 1
¸ si derivˆ and F(x) se obt ¸ine densitatea din tabel.
4. Observ˘ am c˘ a
P(min{Ui,U2,…,U n}<x) = 1−P(max{U1,U2,…,U n}≥x) =
= 1−(1−x)n,∀x∈[0,1]
¸ si derivˆ and ultima expresie se obt ¸ine densitatea de repa rtit ¸ie din tabel.
5. Repartit ¸ia Erlang (k),k∈N+, este un caz particular al repartit ¸iei
Gamma (α,λ,ν ), α,λ,ν∈R+care are densitatea de repartit ¸ie [3, 6, 7, 10]
f(x) =/braceleftBigg0, dacax<α,
λν
Γ(ν)(x−α)ν−1e−λ(x−α), dacax≥α.(3.22)
S˘ a not˘ am cu YvariabilaGamma (α,λ,ν ).Relat ¸ia dintre Y¸ sivariabila gama
standardX;Gamma (0,1,ν) este
Y=α+X
λ, X = (Y−α)λ. (3.22/prime)
3.4. ALTE METODE 69
Pentru a ar˘ ata c˘ a variabila Erlang (k) (care este gamma standard
Gamma (0,1,k),k∈N+) se simuleaz˘ a ca in tabel˘ a, vom demonstra teorema
Terema 3. 5 Dac˘ aZi,1≤i≤ksunt variabile Exp(1)independente,
atunci variabila
X=k/summationdisplay
i=1Zi (3.23)
este o variabil˘ a Erlang (k).
Demonstrat ¸ie [10]. Vom folosi tehnica funct ¸iei caracteristice ¸ si vom a r˘ ata
c˘ a funct ¸ia caracteristic˘ a a variabilei Xdat˘ a de (3.23) este aceea¸ si cu funct ¸ia
caracteristic˘ a a variabilei Erlang (k) de unde se deduce c˘ a cele dou˘ a repartit ¸ii
coincid. Pentru variabila Erlang (k) funct ¸ia caracteristic˘ a este
ϕ(t) =E[eitX] =∞/integraldisplay
0eitx 1
(k−1)!xk−1e−xdx=
=1
(k−1)!/integraldisplay∞
0xk−1e−x(1−it)dx==1
(k−1)!Γ(k)
(1−it)k=1
(1−it)k.
Pe de-alt˘ a parte funct ¸ia caracteristic˘ a a variabilei Xdin (3.23) este
ϕX(t) =e[eit/summationtext
jZj] =k/productdisplay
j=1ϕZj(t) = (ϕZ(t))k.
Dar
ϕZ(t) =E[eitZ] =∞/integraldisplay
0e−(1−it)xdx=1
1−it
deci
ϕX(t) =/parenleftbigg1
1−it/parenrightbiggk
,
adic˘ a aceea¸ si cu ϕ(t), ceea ce demonstreaz˘ a teorema.
Folosind aceea¸ si tehnic˘ a de demonstrat ¸ie se poate demon stra ¸ si urm˘ atoarea
teorem˘ a [10].
Teorema 3. 6 Dac˘ aX;Gamma (0,1,ν),Y;Gamma (0,1,µ)¸ siX¸ si
Ysunt independente stochastic, atunci
(Z=X+Y);Gamma (0,1,ν+µ).
70 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Cˆ and o familie de variabile aleatoare are proprietatea c˘ a suma a dou˘ a vari-
abile independente este tot o variabil˘ a din aceea¸ si famil ie spunem c˘ a aceasta
este o familie stabil˘ a de variabile aleatoare. Teorema 3.6 spune deci c˘ a fa-
milia variabilelor aleatoare gamma standard este stabil˘ a .
Tot cu ajutorul funct ¸iei caracteristice se poate demonstr a teorema
Teorema 3. 7 Familia variabilelor normale este stabil˘ a.
Demonstrat ¸ie. Se folose¸ ste faptul c˘ a dac˘ a X;N(m,σ) atunci funct ¸ia sa
caracteristic˘ a este ϕX(t) =E[eitX] =eitm−t2σ2
2.Asem˘ an˘ ator dac˘ a Y;
N(p,λ) atunciϕY(t) =eitp−t2λ2
2, iar dac˘ aX,Y sunt independente atunci
ϕX+Y(t) =eit(m+p)−t2(σ2+λ2)
2,ceea ce inseamn˘ a c˘ a ( X+Y);N(m+
p,√
σ2+λ2).
3.4.1 Simularea repartit ¸iilor inrudite cu repartit ¸ia
normal˘ a
Vom defini acum o serie de variabile aleatoare care deriv˘ a di n alte variabile
aleatoare ¸ si care au important ¸˘ a in statistica matematic ˘ a.
Exemple 3.6. Repartit ¸ii inrudite cu repartit ¸ia normal˘ a [5, 7,
10].
Exemplul 3.6.1. Repartit ¸ia χ2.Dac˘ aZi,1≤i≤fsunt variabile
normaleN(0,1) independente atunci
χ2=f/summationdisplay
i=1Z2
i (3.24)
se nume¸ ste variabil˘ a hi patrat centrat˘ a cu fgrade de libertate notat˘ aχ2
f.
Dac˘ aZi;N(mi,1) atunci variabila (3.24) se nume¸ ste variabil˘ a hi patrat
necentrat˘ a cu f grade de libertate ¸ si cu parametrul de exce ntricitateδ,notat˘ a
χ2
f,δ,unde
δ2=f/summationdisplay
i=1m2
i. (3.24/prime)
Se arat˘ a c˘ a variabila χ2
fcentrat˘ a este o variabil˘ a de tip Gamma (0,1
2,f
2).For-
mula (3.24) permite simularea direct˘ a, pornind de la definit ¸ie a variabilelor
χ2
f,χ2
f,δ.
3.4. ALTE METODE 71
Exemplul 3.6.2. Dac˘ aZ;N(0,1) este independent˘ a de variabila hi
patratχ2
fatunci variabila
tf=Z/radicalbigg
χ2
f
f(3.25)
se nume¸ ste variabilata lui Student cu fgrade de libertate. Dac˘ a in (3.25)
in loc deχ2
fse introduce χ2
f,δatunci se obt ¸ine variabila notat˘ a tf,δcare
se nume¸ ste variabilatStudent ne centrat˘ a cu fgrade de libertate ¸ si cu
parametrul de excentricitate δ.Variabilele de tip tStudent se simuleaz˘ a deci
direct cu formule de tipul (3.25).
Exemplul 3.6.3. Dac˘ a variabilele χ2
f1,χ2
f2sunt independente atunci
variabila
Ff1,f2=f2χf1
f1χf2(3.26)
se nume¸ ste variabila Fa lui Snedecor centrat˘ a cu f1,f2grade de libertate (in
notat ¸ia indicilor conteaz˘ a ordinea!). Dac˘ a in (3.26) se folose¸ ste cˆ ate una din
χf1,δ1,χf2,δ2sau ambele, atunci se obt ¸in variabilele FSnedecor simplu ne-
centrateFf1,f2;δ1,0,Ff1,f2;0,δ2,cu parametri corespunz˘ atori de excentricitate,
sau variabila FSnedecor dublu necentrat˘ a Ff1,f2;δ1,δ2.Variabilele Fpot fi de
asemenea simulate direct prin formule de tipul (3.26).
In exemplele precedente mediile sunt m= 0 saum/negationslash= 0 iar dispersiile
suntσ=σ2= 1.
Exemplul 3.7 [10]. Variabila aleatoare pozitiv˘ a Yse nume¸ ste lognor-
mal˘ aLN(µ,σ) de parametri µ,σdac˘ a variabila X=log(Y) este normal˘ a
N(µ,σ).Avem deci densit˘ at ¸ile
X;f(x) =1√
2πσe−(x−µ)2
2σ2,x∈R;
Y;g(y) =1√
2πyσe−(log(y)−µ)2
2σ2,y∈R+.
Calculˆ and integralele corespunz˘ atoare, in care se fac sc himb˘ ari de variabile
potrivite, se obt ¸in urm˘ atoarele relat ¸ii
m=E[Y] =eµ+σ2/2, s2=Var[Y] =m2(eσ2−1) (3.27)
de unde prin rezolvarea acestui sistem se obt ¸in formulele
µ=log(m)−1
2log/bracketleftBigg
s2
m2+ 1/bracketrightBigg
, σ2=log/bracketleftBigg
s2
m2+ 1/bracketrightBigg
. (3.27/prime)
72 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Dac˘ a se dau media m¸ si dispersia s2pentru variabila lognormal˘ a Yatunci
mediaµ¸ si dispersia σ2pentruXse calculeaz˘ a cu formulele (3.27’); deci
simularea variabilei Yse realizeaz˘ a cu algoritmul simplu
Algoritmul LNORM pentru simularea lognormalei.
Intrarem,s2;calculeaz˘ aµ,σ; (acesta este un pas pregatitor!);
Genereaz˘ a Z;N(0,1); ( ca in tabelul 3.1);
Calculeaz˘ a X=µ+Zσ; (undeσ=√
σ2);
IaY=eX.(Y;LN(µ,σ)).
•Familia de variabile de tip Johnson [5, 7]. Din aceasta familie fac
parte o serie de variabile ce se obt ¸in prin transform˘ ari de variabile normale
X;N(m,σ).Aceste transform˘ ari sunt:
Y=λeX+ξ,-variabila lognormal˘ a;
Y=λ/bracketleftBig
1 +eX/bracketrightBig−1+ξ-variabila logit normal˘ a;
Y=λsinh (X) +ξ-VariabilaSinh−1normal˘ a ,
sinh(x) =ex−e−x
2,undeλ>0,ξ≥0,aceste constante alegˆ anduse de obicei
astfel incˆ at E{Y}= 0, Var{Y}= 1.
Variabila logonormal˘ a a fost studiat˘ a mai sus,variabila logit normal˘ a este
de tip logistic˘ a, iar variabila Sinh−1normal˘ a este de tip sinus hiperbolic.
3.5 Simularea unor variabile particulare
In sect ¸iunile precedente am prezentat diverse metode, une le generale, pen-
tru simularea variabilelor aleatoare ne uniforme. In aceas t˘ a sect ¸iune vom
prezenta metode pentru simularea tipurilor de variabile al eatoare particulare,
bazate fie pe metodele generale, fie pe anumite particularit˘ at ¸i, dar care con-
duc la algoritmi de regul˘ a mai buni decˆ at cei ilustrat ¸i in exemplele prezentate
pˆ an˘ a acum. (A se vedea [2, 3, 5, 6, 7, 10, 11]).
3.5.1 Repartit ¸ia exponent ¸ial˘ a
Este suficient s˘ a ne ocup˘ am de repartit ¸ia variabilei Z;Exp(1) a c˘ arei
densitate de repartit ¸ie este
f(x) =/braceleftbigg0, dacax≤0
e−x, dacax> 0,(3.28)
c˘ aci simularea variabilei X;Exp(λ) se realizeaz˘ a cu X=Z
λ.Metoda
invers˘ a pentru simularea lui Z,adic˘ aZ=−log(U),nu este recomandabil˘ a
deoarece dac˘ a Ueste apropiat de zero atunci log(U) nu se poate calcula. De
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 73
aceea vom prezenta o metod˘ a de respingere datorat˘ a lui John von Newmann
care se bazeaz˘ a pe teorema urm˘ atoare.
Teorema 3. 8 S˘ a lu˘ am in teorema sub¸ sirului descendent (Teorema 3.4),
Z0=U0,Zi=Ui,i≥1,undeU0,Uisunt uniforme 0−1.Dac˘ a not˘ am cu N
num˘ arul aleator de sub¸ siruri descendente respinse pˆ an˘ a cˆ and se accept˘ a un
sub¸ sir, atunci X=N+Z0;Exp(1),undeZ0este cel acceptat (din ultimul
sub¸ sir descendent).
Demonstrat ¸ie [10]. Din Exemplul 3.5 de mai sus, ret ¸inem c˘ a pentru
x∈[0,1] avem
P(Z0≤x|K=nr.impar ) =1
pax/integraldisplay
0e−xdx=F(x) =1−e−x
pa, pa= 1−e−1,
unde F(x) este dat de (3.18). De aici rezult˘ a c˘ a probabilit atea de a respinge
un ¸ sir descendent (de forma Z0≥Z1≥…≥ZK−1<ZK) estepr= 1−pa=
e−1.Deci,P(N=n) =e−n(1−e−1).R˘ amˆ ane s˘ a ar˘ at˘ am c˘ a
P(N+Z0≤x) =/braceleftbigg0, dacax< 0
1−e−x, dacax≥0.(3.28/prime)
Intr-adev˘ ar, dac˘ a pentru un x>0 dat not˘ am x=k+z,k= [x],z∈[0,1)
(k= partea intreag˘ a) atunci avem
P(N+Z0≤x) =P(N+Z0≤k+z) =P(N <k ) +P(N=k,Z0≤z) =
=k−1/summationdisplay
j=0(1−e−1)e−j+ (1−e−1)e−k
1−e−1z/integraldisplay
0e−udu=
= 1−e−k+e−k(1−e−z) = 1−e−(k+z)= 1−e−x, x> 0
¸ si teorema este demonstrat˘ a.
De aici se deduce urm˘ atorul algoritm pentru simularea lui Z.
Algoritmul EXRJ de simulare a exponent ¸ilalei prin metoda respingerii
Init ¸ializeaz˘ a N:= 0;
repeat
genereaz˘ aU0,U1uniforme 0−1¸ si independente; Ia U∗:=U0,K:= 1;
whileU0≥U1do begin
K:=K+ 1, U0:=U1,genereaz˘ aU1uniform 0−1;
end;(s-a simulat un sub¸ sir descendent);
74 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
ifKmod 2 = 0thenN:=N+ 1; (se num˘ ar˘ a sub¸ sirurile respinse);
untilKmod 2 = 1;
IaZ:=N+U∗.
Pe lˆ ang˘ a probabilitatea de acceptare pa= 1−e−1,performant ¸a algorit-
mului este caracterizat˘ a ¸ si de num˘ arul N∗al variabilelor uniforme {Ui}i≥0
necesare a fi generate pˆ an˘ a cˆ and se obt ¸ine o valoare de sel ect ¸ie exponent ¸ial˘ a
Z.Conform (3.17) avem
E(N∗) =1
pa(1 +1/integraldisplay
0ezdz) =1
1−e−1(1 +e−1) =e2
e−1≈3.8,(3.17/prime)
adic˘ a trebuie simulate in medie aproape 4 numere uniforme p entru a obt ¸ine
o valoare de select ¸ie exponent ¸ial˘ a Z.
3.5.2 Repartit ¸ia Gama
Repartit ¸iaGamma (α,λ,ν ) are densitatea dat˘ a de formula (3.22) iar formula
(3.22’) spune c˘ a este necesar ¸ si esent ¸ial s˘ a construim m etode pentru simu-
larea unei repartit ¸ii Gamma standard, adic˘ aGamma (0,1,ν), ν∈R+.Dac˘ a
ν=k∈N+atunci repartit ¸ia gama devine repartit ¸ie Erlang ¸ si simu larea
acestei variabile (notat˘ a Ek) se face simplu prin insumare de exponent ¸iale,
conform Teoremei 3.5. Dac˘ a 0 <ν < 1 atunci t ¸inˆ and seama de Exemplul 3.3,
simularea variabilei Ganna (0,1,ν) se realizeaz˘ a cu o metod˘ a de respingere
bazat˘ a pe inf˘ a¸ surarea cu o densitate Weibull (0,1,ν).
In aceast˘ a subsect ¸iune vom prezenta ¸ si alte metode pentr u simularea
variabilelor gamma [10].
•O metod˘ a de compunere-respingere pentru cazul 0<ν < 1.
Vom scrie densitatea de repartit ¸ie Gamma (0,1,ν),0<ν < 1 dat˘ a de expre-
sia
f(x) =/braceleftBigg0, dacax< 0,
1
Γ(ν)xν−1e−x, dacax≥0,
sub forma
f(x) =p1f1(x) +p2f2(x),
f1(x) =/braceleftBigg
f(x)
p1, dacax∈[0,1],
0, altfel, f2(x) =/braceleftBigg
f(x)
p2, dacax∈(1,+∞),
0, altfel
(3.29)
p1=Γ(1;ν)
Γ(ν), p2= 1−p1=Γ(ν)−Γ(1;ν)
Γ(ν),
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 75
Γ(ν) =∞/integraldisplay
0xν−1e−xdx,Γ(1;ν) =/integraldisplay1
0xν−1e−xdx.
S˘ a not˘ amX1;f1(x), X2;f2(x).Atunci are loc urm˘ atoarea teorem˘ a
Teorema 3. 9 VariabilaX1se simuleaz˘ a folosind Teorema 3.4 a sub¸ sirului
descendent unde Z0=U1/ν
0, Zi=Ui,cu{Ui}i≥0uniforme 0−1,iarX2
se simuleaz˘ a cu ajutorul Teoremei 3.3 duale unde densitate af2(x)este de
forma
f2(x) =c(1−Q(x))r(x), x> 0, c=1
e(Γ(ν)−Γ(1;ν)),
r(x) =/braceleftbigg0, dacax< 1
e−x+1, dacax≥1, Q(x) =/braceleftbigg0, dacax< 1,
1−xν−1, dacax≥1.
Demonstrat ¸ie [10]. Intr-adev˘ ar, din enunt ¸ul teoremei rezult˘ a c˘ a pen trux∈
[0,1], in Teorema 3.4 avem
G0(x) =P(U1/ν
0<x) =P(U0<xν) =xν,
H(x) =P(U0<x|K=nr.impar ) =1
pax/integraldisplay
0e−tdG0(t) =1
pax/integraldisplay
0e−tνtν−1dt
pa=1/integraldisplay
0e−tνtν−1dt=νΓ(1;ν),
de unde derivˆ and H(x) avem
H/prime(x) =h(x) =e−xxν−1
Γ(1;ν)=f1(x), x∈[0,1]
¸ si prima parte a teoremei este demonstrat˘ a.
Cea de-a doua parte a teoremei se demonstreaz˘ a dac˘ a scriem forma de-
taliat˘ a a lui f2(x) adic˘ a
f2(x) =/braceleftBigg0, dacax< 1,
xν−1e−x
Γ(ν)−Γ(1;ν), x≥1
care se observ˘ a c˘ a se reprezint˘ a sub forma din enunt ¸ul te oremei.
Demonstrat ¸ia este complet˘ a.
76 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Presupunˆ and c˘ a s-au calculat in prealabil
g= Γ(ν), g1= Γ(1;ν), p1=g1
g, p2=g−g1
g,
c=1
e(Γ(ν)−Γ(1;ν));a=1
ν, b=−1
1−ν
algoritmul de simulare al variabilei X;Gamma (0,1,ν),0<ν < 1,este
Algoritmul GAMCOMNL1 pentru simularea variabilei gamma de
parametru subunitar prin compunere ¸ si respingere:
Intrarep1,p2;
Genereaz˘ aU;uniform 0−1;
ifU≤p1then begin
Genereaz˘ aX1;f1(x); IaX:=X1;
end
else begin
Genereaz˘ aX2;f2(x); IaX:=X2;
end.
Variabilele X1¸ siX2se genereaz˘ a cu algoritmii de respingere prezentat ¸i
in continuare.
Algoritmul GAMRESNL1 pentru simularea variabilei X1:
repeat
Genereaz˘ aU:=random ; (U=uniform 0−1);
IaZ0:=Ua;Genereaz˘ aZ1:=random ;IaK:= 1;Z∗:=Z0;
WhileZ0≥Z1do begin
Z0:=Z1;Genereaz˘ aZ1:=random ;K:=K+ 1;
end;
untilKmod 2 = 1;
IaX1:=Z∗.
Pentru acest algoritm avem
pa=νΓ(1;ν);E(N∗
1) =1
pa(1 +/integraldisplay1
0νtν−1etdt)
ultima integral˘ a putˆ and fi calculat˘ a numeric (de ex ¸ si cu metoda Monte
Carlo, cf. Cap.6).
Algoritmul GAMRESNL2 pentru simularea variabilei X2:
repeat
Genereaz˘ aU:=random ;IaZ:=Ub;
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 77
Genereaz˘ aX0;Exp(1);IaY:=X0+ 1; (Y;r(x));
untilY≤Z;
IaX2:=Y.
Pentru acest algoritm avem
p2= 1−p1;E(N∗
2) =2
p2
deci num˘ arul mediu de variabile Zi,i≥0,Z,Y necesare pentru a genera in
final unXeste
E(N∗) =p1E(N∗
1) +p2E(N∗
2) =p1E(N∗
1) + 2.
•Metode pentru simularea variabilei Gamma (0,1,ν), ν > 1.Vom
prezenta doi algoritmi de respingere bazat ¸i pe metoda inf˘ a¸ sur˘ atoarei.
G1.S˘ a consider˘ am X;f(x);Gamma (0,1,ν),ν > 1 ¸ si s˘ a lu˘ am ca
inf˘ a¸ sur˘ atoare densitatea h(x);Exp(1
ν) adic˘ a
h(x) =/braceleftbigg0, dacax< 0,
1
νe−x
ν, dacax≥0.(3.30)
Analizˆ and raportul
r(x) =f(x)
h(x)=νxν−1e−x
Γ(ν)e−x
ν, ν >1
se constat˘ a c˘ a acesta are ca punct de maxim x=ν, deci constanta αdin
Teorema 3.2 (a inf˘ a¸ sur˘ atoarei) este
α=r(ν) =ννe1−ν
Γ(ν).
Algoritmul de respingere in acest caz este simplu de constru it ¸ si nu-l mai
prezent˘ am. Probabilitatea de acceptare este deci
pa=Γ(ν)
ννe1−ν≈/radicalBigg
e22π√ν−1
unde in ultima relat ¸ie s-a folosit aproximarea lui Stirlin g pentruν→∞
adic˘ a
Γ(ν)≈(ν−1)ν−1e−(ν−1)/radicalBig
2π(ν−1),
deci aceast˘ a probabilitate scade de ordinul√ν.
78 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
G2Algoritmul precedent este lent pentru νfoarte mare. De aceea vom
prezenta in acest caz o alt˘ a metod˘ a de respingere, bazat˘ a pe inf˘ a¸ surarea cu
odensitate Cauchy nonstandard trunchiat˘ a pe [0,∞) de forma
h(x) =k
1 +(x−(ν−1))2
c, x≥0 (3 .31)
undekeste o constant˘ a de normare. Putem enunt ¸a teorema [10]
Teorema 3. 10 Dac˘ a inf˘ a¸ sur˘ am densitatea Gamma (0,1,ν), ν > 1,cu den-
sitateah(x)dat˘ a de (3.31) atunci pentru c≥2ν−1avem
r(x) =f(x)
h(x)≤α=1
kΓ(ν)(ν−1)ν−1e−(ν−1). (3.31/prime)
Demonstrat ¸ie. Avem
r(x) =1
kΓ(ν)ϕ(x), ϕ(x) =xν−1e−x/bracketleftBigg
1 +(x−(ν−1))2
c/bracketrightBigg
ϕ/prime(x) =−e−xxν−1
c[x−(ν−1)][(x−ν)2+c−(2ν−1)]
de unde rezult˘ a c˘ a ecuat ¸ia ϕ/prime(x) = 0 are solut ¸ia x0=ν−1>0 iar dac˘ a
c≥2ν−1 atuncix0este punct de maxim. Dac˘ a lu˘ am c= 2ν−1 atunci
avem
α=1
kΓ(ν)(ν−1)ν−1e−(ν−1)
ceeace demonstreaz˘ a teorema.
Pentru a descrie algoritmul dedus din teorema precedent˘ a p resupunem
calculate in prealabil constantele
b=ν−1, c=ν+b, s=√
2ν−1.
Atunci algoritmul pentru generarea variabilei X;Gamma (0,1,ν), ν > 1
este este
Algoritmul GAMCAUCHY (simularea variabilei Gamma (0,1,ν),
ν >1 prin inf˘ a¸ surarea cu o densitate Cauchy)
repeat
repeat
Genereaz˘ aU:=random ¸ si iaT=s.tg[π(U−0.5)]; (Teste Cauchy
standard pe (−∞,+∞));
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 79
IaY=b+T; (Yeste Cauchy non standard pe ( −∞,+∞));
untilY >0; (Se aplica respingerea pentru a obt ¸ine Y-trunchiat˘ a);
Genereaz˘ aU1:=random ;
untilU1≤eblog(Y/b)−T+log(1+ T2/c);
IaX=Y.
Se observ˘ a c˘ a constanta knu intervine in construct ¸ia algoritmului dar
ea este necesar˘ a pentru a calcula pa=1
α.Un calcul simplu arat˘ a c˘ a
k=/bracketleftbiggπ
2+arctg(−ν−1√2ν−1)/bracketrightbigg−1
.
Referitor la repartit ¸ia Gamma (0,1,ν),ν >1 mai observ˘ am ¸ si faptul c˘ a dac˘ a
descompunem νsub forma ν=k+p, k= [ν]∈N+,p=ν−k∈[0,1)
¸ si consider˘ am variabilele X;Gamma (0,1,ν), Ek;Erlang (k), Y;
Gamma (0,1,p),atunci simularea lui Xse realizeaz˘ a cu relat ¸ia X=Ek+
Y,(Ek,Y)−independente.
3.5.3 Repartit ¸ia Beta
VariabilaXare repartit ¸ia Beta(a,b),a >0,b >0 [5, 7, 10, 11] dac˘ a densi-
tatea sa de repartit ¸ie este
f(x) =/braceleftbigg1
B(a,b)xa−1(1−x)b−1,dacax∈[0,1]
0, altfel(3.32)
unde
B(a,b) =1/integraldisplay
0xa−1(1−x)b−1dx, B (a,b) =Γ(a)Γ(b)
Γ(a+b). (3.32/prime)
Urm˘ atoarea teorem˘ a [10] permite simularea variabilei Beta(a,b).
Teorema 3. 11 Dac˘ aX1;Gamma (0,1,a), X2;Gamma (0,1,b), X1
independent de X2atunci variabila
X=X1
X1+X2(3.33)
este o variabil˘ a Beta(a,b).
80 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Demonstrat ¸ie. Densitatea comun˘ a de repartit ¸ie a lui ( X1,X2) este
f(x1,x2) =1
Γ(a)Γ(b)xa−1
1xb−1
2e−(x1+x2).
F˘ acˆ and in ultima integrala transformarea
u=x1
x1+x2, v=x2, J=∂(x1,x2)
∂(u,v)=v
1−u,0<u< 1,
avem
f(x1(u,v),x2(u,v)) =g(u,v) =1
Γ(a)Γ(b)ua−1va+b−1
(1−u)ae−v
1−u,0<v<∞.
Densitatea de repartit ¸ie a variabilei X1/(X1+X2) este
h(u) =/integraldisplay∞
0g(u,v)dv=1
Γ(a)Γ(b)/integraldisplay∞
0ua−1va+b−1
(1−u)a+1e−v
1−udv
adic˘ a dup˘ a calcule deducem
h(u) =Γ(a+b)
Γ(a)Γ(b)ua−1(1−u)b−1.
¸ si teorema este demonstrat˘ a.
Simularea variabilei Beta(a,b) poate fi deci f˘ acut˘ a cu (3.33). Dar deoarece
aceast˘ a formul˘ a presupune generarea prealabil˘ a a dou˘ a variabile gamma,
rezult˘ a c˘ a aceast˘ a metod˘ a are o complexitate mare. De ac eea, in cazuri
particulare se pot folosi urm˘ atoarele teoreme [5, 10]:
Teorema 3. 12 Fiea,b∈N+¸ sin=a+b−1¸ si s˘ a consider˘ am variabilele
U1,U2,…,U nuniforme 0−1.S˘ a construim statisticile de ordine U(1)<U(2)<
…<U (n)prin ordonarea valorilor {Ui}1≤i≤n.AtunciU(a);Beta(a,b).
Nu prezent˘ am demonstrat ¸ia acestei teoreme.
Teorema 3. 13 Dac˘ a 0<a< 1,0<b< 1¸ siU1,U2sunt variabile aleatoare
uniforme 0−1¸ si independente ¸ si dac˘ a V=U1
a
1,T=U1
b
2,atunci repartit ¸ia
variabileiX=V
V+Tcondit ¸ionat˘ a de V+T <1esteBeta(a,b).
Teorema 3. 14 Dac˘ a 0< a < 1,b >1¸ siU1,U2sunt variabile uniforme
0−1independente ¸ si consider˘ am V=U1
a
1,T=U1
b−1
2,atunci repartit ¸ia
variabileiVcondit ¸ionat˘ a de V+T <1esteBeta(a,b).
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 81
Demonstrat ¸ie. Intrucˆ at demonstrat ¸iile ultimelor dou˘ a teoreme sunt as em˘ an˘ atoare,
vom prezenta numai demonstrat ¸ia ultimei teoreme, folosin d calea urmat˘ a cu
ocazia demonstrat ¸iei teoremei 3.11.
Mai intˆ ai observ˘ am c˘ a
F(x) =P(V <x ) =P(U1
a<x) =P(U <xa) =xa, x∈[0,1]
de unde rezult˘ a c˘ a densitatea de repartit ¸ie a lui Veste
f(x) =axa−1, x∈[0,1].
In mod asem˘ an˘ ator densitatea de repartit ¸ie a lui Teste
h(y) = (b−1)yb−2, y∈[0,1].
Rezult˘ a c˘ a densitatea comun˘ a de repartit ¸ie a variabile lorV,T-independente
este
g(x,y) =a(b−1)xa−1yb−2
iar
P(V+T <1) =a(b−1)/integraldisplay1
0(/integraldisplay1−x
0yb−2dy)xa−1dx=aB(a,b).
Deci densitatea comun˘ a a variabilelor ( V,T) condit ¸ionat˘ a de V+T <1 este
p(x,y) =b−1
B(a,b)xa−1yb−2,x∈[0,1],y∈[0,1].
De aici rezult˘ a c˘ a densitatea lui Vcondit ¸ionat˘ a de V+T <1 este
q(x) =/integraldisplay1−x
0p(x,y)dy=1
B(a,b)xa−1(1−x)b−1
¸ si teorema este demonstrat˘ a.
Algoritmii ce rezult˘ a din aceste ultime teoreme sunt u¸ sor de construit.
Vom prezenta algoritmul ce rezult˘ a din teorema 3.13.
Algoritmul BETA13 pentru simularea variabilei Beta(a,b),0<a,b<
1
repeat
Genereaz˘ aU1,U2uniforme 0−1¸ si independente;
IaV=U1
a
1,T=U1
b
2;
untilV+T <1;
82 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Calculeaz˘ a X=V
V+T.
Probabilitatea de acceptare a acestui algoritm de respinge re este
pa=ab
a+bB(a,b). (3.34)
Algoritmul de respingere construit pe baza teoremei 3.14 ar e probabilitatea
de acceptare
pa=aB(a,b). (3.34/prime)
3.5.4 Repartit ¸ia normal˘ a
Desigur, ne vom opri la simularea variabilei Z;N(0,1) c˘ aci dac˘ a ¸ stim s˘ a
simul˘ am aceast˘ a variabil˘ a atunci X;N(m,σ) se simuleaz˘ a cu formula X=
m+Zσ.In tabelul 3.2 este prezentat˘ a metoda de simulare a variabi leiN(0,1),
bazat˘ a pe teorema limit˘ a central˘ a, dar aceast˘ a metod˘ a este aproximativ˘ a.
De aceea in aceast˘ a subsect ¸iune vom prezenta alte metode, exacte.
•O metod˘ a de compunere-respingere. S˘ a consider˘ am variabila
normal˘ a standard N(0,1),notat˘ a cuX1,care are densitatea
f1(x) =/braceleftBigg0, dacax< 0/radicalBig
2
πe−x2
2, dacax≥0.(3.35)
De aici deducem c˘ a densitatea lui X2=−X1este
f2(x) =/braceleftBigg/radicalBig
2
πe−x2
2, dacax< 0
0,dacax≥0. (3.35/prime)
Deci densitatea lui Z;N(0,1) se scrie
f(x) =1
2f1(x) +1
2f2(x)
adic˘ a este o compunere discret˘ a a densit˘ at ¸ilor f1(x) ¸ sif2(x).Pentru a con-
strui un algoritm de simulare a lui Zva trebui s˘ a construim mai intˆ ai un
algoritm de simulare a lui X1.
Vom inf˘ a¸ sura densitatea f1(x) cuh(x);Exp(1).Rezult˘ a teorema
Teorema 3. 15 Dac˘ a inf˘ a¸ sur˘ am f1(x)cuh(x)avem
f1(x)
h(x)≤α=/radicalbigg2e
π(3.36)
¸ si deci putem aplica teorema de respingere a inf˘ a¸ sur˘ ato arei pentru simularea
variabileiX1.
3.5. SIMULAREA UNOR VARIABILE PARTICULARE 83
Demonstrat ¸ie. Observ˘ am c˘ a
r(x) =f1(x)
h(x)=/radicalbigg2
πe−x2
2+x
iar ecuat ¸iar/prime(x) = 0,are solut ¸iax0= 1 care este un punct de maxim pentru
r(x),adic˘ a,
r(x)≤r(x0) =/radicalbigg2e
π
ceea ce demonstreaz˘ a teorema.
Algoritmul pemtru simularea lui Z;N(0,1) este
Algoritmul RJNORM de compunere respingere pentru simularea nor-
maleiN(0,1)
repeat
Genereaz˘ aUuniform 0−1;
Genereaz˘ aY;Exp(1);
untilu≤e−Y2
2+Y−0.5;
IaX1:=Y;
Genereaz˘ aUuniform 0−1;
ifU≤0.5thens:= 1elses:=−1; (seste un semn aleator );
IaZ:=sX1.
Se observ˘ a c˘ a probabilitatea de acceptare este
pa=/radicalbiggπ
2e≈0.72 (3 .36/prime)
adic˘ a, in medie, din patru perechi ( U,Y),trei sunt acceptate pentru a pro-
duce unX1.
•Metoda polar˘ a. O alt˘ a metod˘ a interesant˘ a de simulare a variabilei
N(0,1) este metoda polar˘ a dat˘ a de urm˘ atoarea teorem˘ a [10] datorat˘ a lui Box
¸ si Muller.
Teorema 3. 16 Dac˘ a variabilele U1,U2sunt uniforme 0−1¸ si independente,
atunci variabilele aleatoare
Z1=V1/radicalBigg
−2logS
S, Z 2=V2/radicalBigg
−2logS
S(3.37)
unde
V1= 2U1−1, V 2= 2U2−1, S=V2
1+V2
2, S < 1
sunt variabile normale N(0,1)independente.
84 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Demonstrat ¸ie. S˘ a observ˘ am mai intˆ ai c˘ a ( V1,V2) este un vector aleator
uniform pe p˘ atratul I2= [−1,1]×[−1,1] iarVi,i= 1,2 sunt uniforme pe
[−1,1] ¸ si independente. Condit ¸ia S <1 face ca vectorul ( V1,V2)|{S <1}
(condit ¸ionat de S <1!) s˘ a fie vector uniform pe cercul unitate. De aceea s˘ a
exprim˘ amViincoordonate polare, adic˘ a
V1=Rcosθ, V 2=Rsinθ, 0≤R≤1,0≤θ≤2π.
Identificˆ and ultimele relat ¸ii cu (3.37) rezult˘ a c˘ a
S=R2, Z 1=/radicalbig
−2logScosθ, Z 2=/radicalbig
−2logSsinθ. (3.37/prime)
Pe de alt˘ a parte, ins˘ a¸ si Z1,Z2se pot exprima direct in coordonate polare ¸ si
anume
Z1=R/primecosθ/prime, Z 2=R/primesinθ/prime(3.38)
de unde identificˆ and (3.37’) cu (3.38) avem
θ/prime=θ, R/prime=/radicalbig
−2logS
¸ si deoarece ( V1,V2) independente pe I2, rezult˘ a c˘ a ¸ si ( R,θ) sunt indepen-
dente, precum ¸ si ( R/prime,θ/prime) sunt independente (dar nu pe cercul unitate!).
Deoarece (V1,V2) are o repartit ¸ie uniform˘ a pe cercul unitate, rezult˘ a c˘ aθ/prime
are o repartit ¸ie uniform˘ a pe [0 ,2π] adic˘ a are densitatea
ϕ(θ) =/braceleftbigg1
2π, dacaθ∈[0,2π]
0, altfel.(3.39)
S˘ a determin˘ am acum repartit ¸ia lui R/prime.Avem
F(r) =P(R/prime≤r) =P(/radicalbig
−2logS≤r).
Dar deoarece S=R2este uniform˘ a pe [0 ,1] rezult˘ a c˘ a
F(r) =P(S >e−r2
2) = 1−e−r2
2
deci densitatea de repartit ¸ie a lui R/primeeste
ψ(r) =re−r2
2, r∈[0,1]. (3.40)
Pentru a demonstra teorema trebuie s˘ a ar˘ at˘ am c˘ a funct ¸i a de repartit ¸ie a
variabilelor Z1,Z2date de (3.37) este produsul a dou˘ a funct ¸ii de repartit ¸ie
normaleN(0,1).Pentru aceasta s˘ a consider˘ am domeniile
D(r,θ)={(r,θ);rcosθ≤z1, rsinθ≤z2}
3.6. SIMULAREA UNOR VARIABILE DISCRETE 85
D(x,y)={(x,y);x≤z1, y≤z2}.
Avem
F(z1,z2) =P(Z1≤z1,Z2≤z2) =/integraldisplay /integraldisplay
D(r,θ)1
2πe−r2
2rdrdθ
¸ si dup˘ a efectuarea schimb˘ arilor de variabil˘ a
θ=arctg(x
y), r=/radicalBig
x2+y2
deducem
F(z1,z2) =1
2π/integraldisplay /integraldisplay
D(x,y)e−x2+y2
2dxdy=1√
2π/integraldisplayz1
−∞e−x2
2dx1√
2π/integraldisplayz2
−∞e−y2
2dy
¸ si teorema este demonstrat˘ a.
Algoritmul corespunz˘ ator metodei polare se deduce cu u¸ su rint ¸˘ a ¸ si el pro-
duce simultam dou˘ a valori de select ¸ie N(0,1),Z1¸ siZ2, independente.
Din demonstrat ¸ia teoremei rezult˘ a c˘ a variabilele Z1,Z2pot fi simulate ¸ si
cu formulele
Z1=/radicalbig
−2logU 1cos(2πU2), Z2=/radicalbig
−2logU 1sin(2πU2). (3.41)
In varianta bazat˘ a pe (3.37) se resping valorile pentru car eS≥1 si deci
probabilitatea de acceptare este
pa=π
4(3.41/prime)
in timp ce varianta bazat˘ a pe (3.41) nu presupune nicio resp ingere. Totu¸ si
complexitatea calculului expresiilor (3.41) poate s˘ a m˘ a reasc˘ a timpul de calcul
fat ¸˘ a de cazul (3.37), ceea ce poate da cˆ a¸ stig de cauz˘ a va riantei (3.37) (din
cauza funct ¸iilor sin,log ,etc., consumatoare de timp).
3.6 Simularea unor variabile discrete
Pentru simularea unei variabile discrete ce ia un num˘ ar fini t de valori se
poate folosi algoritmul SIMDISCRV din sect ¸iunea 3.1 bazat pe metoda
invers˘ a. Dac˘ a Xeste o variabil˘ a discret˘ a care ia ca valori ¸ sirul {an}1≤n≤∞
¸ si se cunoa¸ ste funct ¸ia de fracvent ¸˘ a f(i) =P(X=ai),f−calculabil˘ a, atunci
folosind proprietatea lim i→∞f(i) = 0,(dedus˘ a din/summationtext∞
i=1f(i) = 1) se poate
construi u¸ sor un algoritm bazat pe metoda respingerii (m˘ a car aproximativ!)
¸ si in acest caz.
In aceast˘ a sect ¸iune vom prezenta ins˘ a algoritmi pentru s imularea unor
repartit ¸ii particulare.
86 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
3.6.1 Simularea unor repartit ¸ii bazate pe probe
Bernoulli
Vom prezenta mai intˆ ai ce int ¸elegem prin probe Bernoulli [10].
Fie un eveniment aleator observabil Acare are probabilitatea constant˘ a
p=P(A)>0.Intr-o experient ¸˘ a intˆ ampl˘ atoare se poate produce Acu
probabilitatea psau evenimentul contrar Acu probabilitatea q= 1−p.
O astfel de experient ¸˘ a se nume¸ ste prob˘ a Bernoulli. Cˆ and se produce A
spunem c˘ a avem de-a face cu un succes, iar cˆ andanu se produce spunem c˘ a
se realizeaz˘ a un e¸ sec.S˘ a asociem unei probe Bernoulli variabila aleatoare Z
astfel incˆ at Z= 1 dac˘ a se produce A¸ siZ= 0 dac˘ a se produce A,adic˘ aZ
are repartit ¸ia
Z:/parenleftBigg
0 1
q p/parenrightBigg
, E(Z) =p, Var (Z) =pq=p(1−p). (3.42)
Funct ¸ia de repartit ¸ie a lui Zeste
F(x) =P(Z <x ) =
0, daca x< 0
q, daca 0≤x<1
1daca x≥1.(3.42/prime)
De aici rezult˘ a c˘ a algoritmul de simulare a lui Zprin metoda invers˘ a este
Algoritmul BERN de simulare a unei variabile (probe) Bernoulli
Genereaz˘ aU:=random ;
ifU >p thenZ:= 0elseZ:= 1.
S˘ a observ˘ am din nou c˘ a dac˘ a p=1
2atunci suntem in cazul particular al
arunc˘ arii la intˆ amplare cu banul (tragerea la sort ¸i).
•Repartit ¸ia binomial˘ a. Se spune c˘ a variabila aleatoare discret˘ a X∈
Neste ovariabil˘ a binomial˘ a Binom (n,p),n∈N+,0<p< 1 dac˘ aX=num˘ arul
de succese in nprobe Bernoulli independente, adic˘ a
X=n/summationdisplay
i=1Zi
undeZisunt variabile identic repartizate Bernoulli, independen te.
Simularea variabilei Xse face deci simplu, prin num˘ ararea de succese in
nprobe Bernoulli independente.
Se poate deduce cu u¸ surint ¸˘ a c˘ a
P(X=α) =Cα
npαqn−α, q= 1−p,
3.6. SIMULAREA UNOR VARIABILE DISCRETE 87
adic˘ aP(X=α) este termenul general al dezvolt˘ arii binomului ( p+q)n,de
unde deriv˘ a ¸ si denumirea de repartit ¸ie binomial˘ a.
Funct ¸ia caracteristic˘ a a variabilei binomiale este
ϕ(t) =E[eitX] =E[eit/summationtext
jZj] = (q+peit)n. (3.43)
Cu ajutorul funct ¸iei caracteristice se calculeaz˘ a u¸ sor media ¸ si dispersia lui
X,adic˘ a
EX=E(n/summationdisplay
i=1Zi) =n/summationdisplay
i=1E(Zi) =np,
Var(X) =Var(n/summationdisplay
i=1Zi) =n/summationdisplay
i=1Var(Zi) =npq (3.43/prime)
iar din teorema limit˘ a central˘ a se deduce c˘ a pentru nsuficient de mare ( n→
∞) variabila
Wn=X−np√npq;N(0,1).
De aici rezult˘ a urm˘ atorul algoritm simplu de generare a lu iX;Binom (n,p),n=
mare [10].
Algoritmul BINNORM
Genereaz˘ aW;N(0,1);
Calculeaz˘ aX:={np+W√npq}.(Notat ¸ia{E}inseamn˘ a ”cel mai apropiat
intreg deE”).
Observat ¸ie. VariabilaBinom (n,p) are ¸ si o interpretare in termeni de
experiment cu o urn˘ a. Astfel, s˘ a presupunem c˘ a intr-o urn ˘ a avemAbile albe
¸ siBbile negre,A+B=N.Presupunem c˘ a se realizeaz˘ a extract ¸ii succesive
din urn˘ a ¸ si dup˘ a fiecare extract ¸ie se introduce bila extr as˘ a la loc in urn˘ a
(experient ¸a cu bila ”intoars˘ a” ). Fiep=A/Nprobabilitatea de a extrage o
bil˘ a alb˘ a intr-o extract ¸ie. De aici rezult˘ a c˘ a X= num˘ arul de bile albe in n
extract ¸ii succesive cu intoarcere este o variabil˘ a binomial˘ a Binom (n,p).
•Repartit ¸ia Pascal [10]. Variabila Xarerepartit ¸iaPascal (k,p),k∈
N+,0< p < 1,dac˘ aX=num˘ arul de e¸ securi pˆ an˘ a la aparit ¸ia a ksuccese
intr-un ¸ sir oarecare de probe Bernoulli independente. De a ici rezult˘ a c˘ a
variabilaX;Pascal (k,p) se simuleaz˘ a cu urm˘ atorul algoritm care num˘ ar˘ a
e¸ securile realizate pˆ an˘ a la realizarea a ksuccese intr-un ¸ sir de probe Bernoulli
independente.
Algoritmul PASCAL
88 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Intrarek∈N+,p,0< p < 1;X:= 0;j:= 0; (Xnum˘ ar˘ a e¸ securile ¸ si
j-succesele);
repeat
Genereaz˘ aU:=random ;ifU <p thenj:=j+ 1elseX:=X+ 1;
untilj=k.(Xeste valoarea de select ¸ie generat˘ a).
S˘ a observ˘ am c˘ a
P(X=α) =Ck−1
α+k−1pkqα, α= 0,1,2,…
care este termenul general al dezvolt˘ arii in serie a expres ieipk(1−q)−kdin
care cauz˘ a repartit ¸ia Pascal (k,p) se mai nume¸ ste ¸ si repartit ¸ia binomial˘ a cu
exponent negativ. De aici se deduce ¸ si faptul c˘ a dac˘ a X1;Pascal (k1,p) ¸ si
X2;Pascal (k2,p),sunt variabile independente, atunci ( X=X1+X2);
Pascal (k1+k2,p),adic˘ a repartit ¸ia Pascal este stabil˘ a. (Demonstrat ¸ia se
poate face simplu utilizˆ and funct ¸ia caracteristic˘ a).
Se arat˘ a c˘ a
E(X) =kq
p, Var (X) =kq
p2, (3.44)
formule ce se folosesc la validarea algoritmului.
Observat ¸ie . Interpretarea cu urn˘ a din cazul repartit ¸iei Binom (n,p) se
poate adapta ¸ si in cazul repartit ¸iei Pascal (k,p).Astfel, num˘ arul Xde bile
negre extrase cu intoarcere pˆ an˘ a cˆ and se obt ¸in kbile albe, este o variabil˘ a
Pascal (k,p).
•Repartit ¸ia geometric˘ a Geom (p) [10] este un caz particular de repartit ¸ie
Pascal, cˆ and k= 1.Simularea variabilei X;Geom (p) se poate realiza cu
algoritmul PASCAL sau cu metoda invers˘ a dup˘ a cum urmeaz˘ a:
FieP(X=x) =pqx,x= 0,1,2,…¸ si s˘ a not˘ am
F(x) =P(X <x ) =x−1/summationdisplay
i=0pqi= 1−qx,x= 0,1,2,…
care este o funct ¸ie de repartit ¸ie discret˘ a. ( P(X=x) este termenul unei
progresii geometrice, de unde ¸ si numele de repartit ¸ie geometric˘ a). Simularea
variabilei geometrice se poate realiza prin metoda invers˘ a cu formula
X=/bracketleftbigglog(U)
log(q)/bracketrightbigg
. (3.45)
unde[a] este partea intreag˘ a a lui a.Din (3.44) se deduce c˘ a pentru variabila
geometric˘ a Xavem
E(X) =q
p, Var (X) =q
p2, (3.44/prime)
3.6. SIMULAREA UNOR VARIABILE DISCRETE 89
formule care de asemena se pot folosi la validarea algoritmu lui.
3.6.2 Repartit ¸ia hipergeometric˘ a
Aceast˘ a repartit ¸ie se introduce dup˘ a cum urmeaz˘ a [10].
S˘ a consider˘ am experimentul cu urn˘ a descris in leg˘ atur˘ a cu repartit ¸ia
binomial˘ a, cu deosebirea c˘ a aici cele nbile se extrag la intˆ amplare din urn˘ a,
f˘ ar˘ a intoarcere. In acest caz num˘ arul Xde bile albe extrase este o variabil˘ a
hipergeometric˘ a. S˘ a not˘ am cu uevenimentul care reprezint˘ a extragerea unei
bile albe ¸ si cu vevenimentul care const˘ a in extragerea unei bile negre; atu nci
probabilit˘ atile de a extrage in prima extragere o bil˘ a alb ˘ a respectiv neagr˘ a,
sunt respectiv p=P(u) =A/N, P (v) =B/N. Probabilit˘ at ¸ile de extragere a
unei bile albe sau negre in a doua extragere sunt condit ¸iona te de rezultatele
primei extrageri adic˘ a
P(u|u) =A−1
N−1, P(u|v) =A
N−1, P(v|u) =B
N−1, P(v|v) =B−1
N−1.
Se observ˘ a deci c˘ a la fiecare extragere compozit ¸ia urnei se schimba ¸ si prob-
abilitatea de a extrage o bil˘ a alb˘ a sau neagr˘ a este variab il˘ a in funct ¸ie de
extragerile anterioare. Variabila hipergeometric˘ a se no teaz˘ aH(N,p,n ),0<
p<1, n<N, de undeA={Np}({x},x∈Restecel mai apropiat intreg de
x),B=N−A.Se demonstreaz˘ a c˘ a probabilitatea ca in nextract ¸ii succesive
f˘ ar˘ a intoarcere, s˘ a se extrag˘ a abile albe este
P(X=a) =Ca
ACn−a
B
Cn
N,0≤a≤n, n<N. (3.46)
De asemenea se arat˘ a c˘ a
E(X) =np, E (X2) =np
N−1[n(Np−1) +N(1−p)],
Var(X) =np(1−p)N−n
N−1. (3.47)
Avˆ and in vedere cele ment ¸ionate, algoritmul de simulare a variabilei
hipergeometrice Xeste
Algoritmul HIPERGEOM
IntrareA,B,N, N =A+B, n;(Acesta este un pas preg˘ aritor);
Calculeaz˘ a p=A/N;Init ¸ializeaz˘ a j:= 0, X:= 0;
repeat
Genereaz˘ aU:=random ;Iaj:=j+ 1;
90 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
ifU <p then begin
X:=X+ 1;S:= 1 (S-a estras o bil˘ a alb˘ a);
end elseS:= 0; (S-a extras o bil˘ a neagr˘ a);
Calculeaz˘ a N:=N−1, A:=A−S, p:=A
N;
untilj=n.(X;H(N,p,n ));
Formulele (3.47) se pot folosi la validarea algoritmului.
3.6.3 Repartit ¸ia Poisson
Variabila aleatoare X, X∈Nare repartit ¸ia Poisson (λ), λ> 0 dac˘ a
P(X=α) =λα
α!e−λ, λ> 0. (3.48)
Funct ¸ia caracteristic˘ a a variabilei Poisson (λ) este
ϕ(t) =E(eitX) =∞/summationdisplay
α=0(eitλ)α
α!e−λ=eλeite−λ=eλ(eit−1)(3.49)
de unde deducem
E(X) =λ, E (X2) =λ2+λ Var (X) =E(X2)−λ2=λ. (3.49/prime)
Repartit ¸iaPoisson (λ) este repartit ¸ia evenimentelor rare in sensul urm˘ ator:
evenimentele sunt independente ¸ si se produc la intervale a leatoare de timp
astfel incˆ at un eveniment se produce pe intervalul de timp [ t,t+ ∆t] cu
probalilitatea λ∆t+O(δt) unde
lim
∆t→0O(∆t) = 0,lim
∆t→0O(∆t)
∆t= 0
(O(∆T) este neglijabil˘ a in raport cu ∆ t) iar probabilitatea ca pe acela¸ s
interval s˘ a se produc˘ a mai mult de un eveniment (condit ¸ia de raritate ) este
O(∆t) (adic˘ a este neglijabil˘ a). Num˘ arul de evenimente rare ce se produc
pe unitatea de timp este o variabil˘ a aleatoare Poisson (λ).Num˘ arulλeste
intensitatea cu care se produc evenimentele rare.
Se arat˘ a c˘ a intervalul de timp θla care se produc dou˘ a evenimente rare
consecutive are o repartit ¸ie Exp(λ),fapt care spune c˘ a X=j−1 dac˘ a/summationtextj−1
i=1θi≤λ</summationtextj
i=1θi.T ¸inˆ and acum seama de faptul c˘ a θi=−logU i/(λ), Ui
uniforme 0−1,atunci rezult˘ a c˘ a
X=j−1daca ,j−1/productdisplay
i=1Ui≥e−λ>j/productdisplay
i=1Ui. (3.50)
3.7. VALIDAREA GENERATORILOR 91
Pe baza relat ¸iei (3.50) se poate construi cu u¸ surint ¸˘ a un algoritm pentru sim-
ularea luiXiar cu formulele (3.49’) se poate realiza validarea algorit mului.
Repartrit ¸ia Poisson poate fi dedus˘ a din repartit ¸ia binom ial˘ aBin(n,p);
s˘ a not˘ amλ=np¸ si s˘ a presupunem c˘ a n→∞ ¸ sip→0, λr˘ amˆ anˆ and con-
stant. Tinˆ and seama de (3.43) rezult˘ a c˘ a funct ¸ia caract eristic˘ a a variabilei
Binom (n,p) se scrie sub forma
ϕ(t) =/parenleftBigg
1 +λ(eit−1)
n/parenrightBiggn
;eλ(eit−1)
care conform (3.49) este funct ¸ia caracteristic˘ a a variab ilei Poisson.
De aici rezult˘ a c˘ a simularea variabilei Poissonb (λ) se poate realiza (aprox-
imativ!) in felul urm˘ ator.
0. Se alege o probabilitate p≈0 (de exp= 0.001);
1. Se determin˘ a n=λ/pintreg (neste in acest caz mare);
Se simuleaz˘ a X;Binom (n,p).
(Simularea variabilei binomiale se poate face utilizˆ and c a mai sus teorema
limit˘ a central˘ a).
3.7 Validarea generatorilor
Vom prezenta in finalul acestui capitol cum se poate face validarea algorit-
milor cu care se simuleaz˘ a diversele tipuri de variabile aleatoa re. Validare in-
seamn˘ a nu numai verificarea corectitudinii formale a progr amelor ci in special
dac˘ a algoritmul implementat (programat) produce valori d e selectt ¸ie asupra
variabilei aleatoare in cauz˘ a, adic˘ a dac˘ a pe baza unei se lect ¸iiX1,X2,…,X n,
de volumnsuficient de mare se verific˘ a ipoteza statistic˘ a H:X;F(x),
care se mai nume¸ ste ¸ si ipotez˘ a de concordant ¸˘ a.
Mai intˆ ai ar trebui s˘ a verific˘ am intuitiv dac˘ a repartit ¸ia empiric˘ a sau
repartit ¸ia de select ¸ie se aseam˘ an˘ a cu cea teoretic˘ a. Mai precis trebuie s˘ a
construim grafic histograma ¸ si s˘ a vedem dac˘ a ea se aseam˘ an˘ a cu densitatea
de repartict ¸ie.
•Construct ¸ia histogramei se face astfel:
– se determin˘ a mai intˆ ai m= min(X1,X2,…,X n),
M= max(X1,X2,…,X n) care reprezint˘ a intervalul de variat ¸ie [m,M];
– se alege un intreg pozitiv k,(practica recomand˘ a 15 ≤k≤40) care
reprezint˘ a num˘ arul de intervale ale histogramei;
– se imparte intervalul [ m,M] inkintervaleIi= [ai−1,ai),1≤i≤
k,a0=m, a k=M;
92 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
– se determin˘ a fi= num˘ arul valorilor de select ¸ie ce cad in intervalul
[ai−1,ai),1≤i≤k;fise numesc frecvent ¸e absolute;
– se determin˘ a frecvent ¸ele relative ri=fi
n.
Repartit ¸ia empiric˘ a este
/parenleftBigg
I1, I2, …, I k
r1, r2, …, r k/parenrightBigg
. (3.51)
Acum s˘ a reprezent˘ am grafic (3.51) astfel: lu˘ am pe abscis˘ a intervalele Ii¸ si
construim dreptunghiuri care au ca baz˘ a aceste intervale ¸ si ca in˘ alt ¸imi ri.
Graficul obt ¸inut reprezint˘ a histograma select ¸ieiX1,X2,…,X ndate. (Ea
estehistograma frecvent ¸elor relative ; asem˘ an˘ ator se obt ¸ine ¸ si histograma
frecvent ¸elor absolute ).
-6
xy
0a0a1a2a3 ak−2ak−1akI1I2I3 Ik−1Ikr1r2r3
rk−1
rkf(x)
Fig.3.1. Histogramˇ a.
In Fig. 3.1 se prezint˘ a o histogram˘ a; ea sugereaz˘ a c˘ a lin ia punctat˘ a
reprezint˘ a forma densit˘ at ¸ii de repartit ¸ie. Din aceast˘ a reprezentare grafic˘ a
putem formula ipoteza Hcu privire la funct ¸ia de repartit ¸ie F(x) a variabilei
Xasupra c˘ areia s-a efectuat select ¸ia simulat˘ a X1,X2,…,X n.In Fig. 3.2
se prezint˘ a forma graficelor unor densit˘ at ¸i de repartit ¸ ie considerate in acest
capitol.
Cˆ and construim histograma unei select ¸ii obt ¸inut˘ a prin simulare nu putem
determina mai intˆ ai m,M ¸ si apoi s˘ a construim Ii¸ sifi,1≤i≤kdecˆ at dac˘ a
memor˘ am ad literam toat˘ a select ¸ia (ceea ce impune folosirea unei select ¸ii d e
3.7. VALIDAREA GENERATORILOR 93
volumnmic) sau dac˘ a repet˘ am simularea select ¸iei folosind aceea¸ si s˘ amˆ ant ¸˘ a
a generatorului (ceea ce impune consum de timp de calcul dubl u).
De aceea vom folosi urm˘ atoarele idei pentru construct ¸ia h istogramei:
– simul˘ am mai intˆ ai un num˘ ar mic n1de valori de select ¸ie X1,X2,…,X n1,
n1<<n pe care le memor˘ am;
– cu ajutorul acestei select ¸ii determin˘ am urm˘ atoarele l imite ale inter-
valelor histogramei: a1= min{X1,X2,…,X n1}, ak−1= max{X1,X2,…,X n1}
¸ si cu ajutorul lor determin˘ am intervalele I2,…,I k−1de lungimi egale cu
h= (ak−1−a1)/(k−2), adic˘ aIi= [ai−1,ai),2≤i≤k−1, ai=ai−1+hi;
– cu ajutorul select ¸iei de volum n1determin˘ am (part ¸ial!) frecvent ¸ele
absolutefi,2≤i≤k−1 (utilizˆ and pentru num˘ arare formula (3.52) de mai
jos ;deocamdat˘ a a0¸ siaknu sunt cunoscute!); lu˘ am a0=a1, ak=ak−1care
vor fi modificate ulterior; init ¸ializ˘ am f1= 0, fk= 0;
– simul˘ am pe rˆ and celelalte n−n1valori de select ¸ie ¸ si pentru fiecare X
astfel simulat efectu˘ am urm˘ atoarele operat ¸ii: dac˘ a X <a 1atunci lu˘ am a0=
min(a0,X) ¸ sif1:=f1+ 1; dac˘ aX >a k−1atunci lu˘ am ak=max(ak,X) ¸ si
fk:=fk+ 1; altfel dac˘ a a1≤X <a k−1atunci calcul˘ am
j:=/bracketleftbiggX−a1
h/bracketrightbigg
+ 2, fj:=fj+ 1; (3 .52)
Cˆ and s-au prelucrat toate cele n−n1valori de select ¸ie, s-au determinat
toate elementele histogramei, care dup˘ a reprezentarea ¸ s i interpretarea grafic˘ a
conduce la formularea ipotezei de concordant ¸˘ a.
S˘ a remarc˘ am c˘ a aceast˘ a ultim˘ a construct ¸ie conduce la o histogram˘ a cu
k−2 intervale egale, iar intervalele I1,Iksunt de lungimi oarecare.
Dac˘ a am fi ales arbitrar m,M ¸ si am fi construit apoi histograma ca in
construct ¸ia precedent˘ a, atunci histograma obt ¸inut˘ a a r fi putut avea multe
frecvent ¸efi= 0 ¸ si eventual frecvent ¸ele f1¸ si/saufkfoarte mari, fapt care nu
ne-ar fi putut conduce la o formulare corect˘ a a ipotezei de co ncordant ¸˘ aH.In
concluzie, algoritmul cel mai bun, de construct ¸ie al histo gramei unei select ¸ii
simulate asupra unei variabile aleatoare X, cu scopul de a valida algoritmul
de simulare, este urm˘ atorul:
Algoritmul HISTOGRAMA
Intraren,n1,k;Consider˘ am tabela f[1..k]¸ si init ¸ializ˘ am:
forj:= 1tokdof[j] := 0;
Consider˘ am tabela xi[1..n1];Consider˘ am tabela a[0..k];
fori:= 1ton1do begin Genereaz˘ aX¸ siiaxi[i] :=X;end;
Calculeaz˘ a a[1] := min(xi[1],xi[2],…,xi [n1]),
a[k−1] = max(xi[1],xi[2],…,xi [n1]), h:= (a[k−1]−a[1])/(k−2);
94 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
fori:= 1ton1doj:=trunc(xi[i]−a[1]
h) + 2, f[j] :=f[j] + 1;
Iaa[0] :=a[1], a[k] :=a[k−1];
fori:= 1ton−n1do begin
Genereaz˘ a un X;
ifa[1]<X <a [k−1]then begin
j:=trunc(X−a[1]
h) + 2, f[j] :=f[j] + 1;
end
else ifX≤a[1]then begin
a[0] := min{a[0],X}, f[1] :=f[1] + 1;
end
else begin
a[k] := max{a[k],X};f[k] :=f[k] + 1
end;
end.
– – –
66 6
6a) b)
c) d)(0,λ)
0 0
0 0x x
x xy yy y
m−σ m m +σ0<ν < 1ν >1
3.7. VALIDAREA GENERATORILOR 95
Fig. 3.2. Graficele unor densitˇ at ¸i de repartit ¸ie.
a) Densitatea exponent ¸ialˇ a Exp( λ).
b) Densitˇ at ¸i de tipul Gamma(0 ,1,ν), Weibull(0 ,1,ν).
c) Densitatea normala N(m,σ).
d) Densitatea de repartit ¸ie de tip Student.
•Testulχ2.Odat˘ a construit˘ a histograma putem aplica testul de conco rdant ¸˘ a
χ2pentru verificarea ipotezei H:X;F(x).
Pentru aceasta calcul˘ am intˆ ai probabilit˘ at ¸ile
p1=F(a1), pi=F(ai)−F(ai−1),2≤i≤k−2, pk= 1−F(ak−1).
Calcul˘ am apoi
χ2=k/summationdisplay
j=1(fi−npi)2
npi(3.53)
care se ¸ stie c˘ a are repartit ¸ia hi patrat cu k−1 grade de libertate, ( χ2
k−1este
variabila corespunz˘ atoare). Fiind dat riscul de genul I, α,( o probabilitate
mic˘ a, apropiat˘ a de zero) determin˘ am χ2
k−1,α(numit˘ aα-cuantil˘ a superioar˘ a)
astfel incˆ at
P(χ2
k−1>χ2
k−1,α) =α. (3.53/prime)
IpotezaHse accept˘ a dac˘ a
χ2<χ2
k−1,α (3.53/prime/prime)
¸ si se respinge in caz contrar.
•Un test simplu. Cel mai simplu mod de testare a unui generator
care simuleaz˘ a o variabil˘ a neuniform˘ a Xse poate realiza astfel:
– Se determin˘ a cˆ ateva momente teoretice ale lui Xca de ex.m=E[X]
¸ siσ2=Var[X];
– Cu ajutorul select ¸iei simulate X1,X2,…,X nse calculeaz˘ a momentele
empirice de select ¸ie
X=/summationtextn
i=1Xi
n, s2=/summationtextn
i=1X2
i
n−X2;
Se consider˘ a c˘ a generatorul este bun dac˘ a pentru nsuficient de mare ( n >
1000) valorile lui X¸ sis2sunt tot mai apropiate de m¸ siσ2, ca o consecint ¸˘ a
alegii numerelor mari. Se presupune c˘ a momentele teoretice m,σ2sunt
cunoscute.
Exercit ¸ii
E.3.1. Fie variabila X;f(x) unde
f(x) =kg(x)g(x) =/braceleftbiggx(2−x), dacax∈[0,2]
0,altfel.
96 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
Sa se determine constanta k¸ si s˘ a se precizeze o metod˘ a de simulare a lui X.
Solut ¸ie. Impunˆ and condit ¸ia/integraltext
Rf(x)dx= 1,se obt ¸inek= 4/3 ¸ si
F(x) =
0, daca x< 0
x2−x3
3,0≤x≤2
1daca x> 1
iar simularea se poate face prin metoda invers˘ a calculˆ and u-se numeric solut ¸ia
X∈[0,2] a ecuat ¸iei F(X) =U.
E.3.2. Variabila aleatoare Yare densitatea de repartit ¸ie
f(y) =/braceleftbigg0daca y< 0
2λye−λy2, daca y≥0.
Dac˘ aX;Exp(λ) s˘ a se arate c˘ a Y=√
Xde unde se deduce metoda de
simulare a lui Y.
Solut ¸ie Intr-adev˘ ar
P(Y <t) =P(√
X <t ) =P(X <t2) =/braceleftbigg0, daca t< 0
1−e−λt2daca t≥0.
E.3.3. FieX1;Binom (n1,p)X2;Binom (n2,p)X1,X2indepen-
dente. Ar˘ atat ¸i c˘ a ( X1+X2);Binom (n1+n2,p).
Solut ¸ie. Se folose¸ ste funct ¸ia caracteristic˘ a
ϕXj(t) = (q+peit)nj,j= 1,2
¸ siϕX1+X2(t) =ϕX1(t)ϕX2(t).(Repartit ¸ia binomial˘ a este stabil˘ a).
E.3.4. FieX;F(x), Y;G(x) independente. S˘ a se determine funct ¸ia
de repartit ¸ie a variabilei Z=max(X,Y). S˘ a se precizeze de aici cum se
poate simula variabila Z;H(x) unde
H(x) =/braceleftbigg(1−e−λx)(1−1
(1+θx)c)daca x≥0
0, daca x< 0.
Solut ¸ie. Se observ˘ a c˘ a Z;H(x) =F(x)G(x), X;Exp(λ), Y;
Lomax (θ,c) de undeZ=max(X,Y).
E.3.5. FieX;Poisson (λ), Y;Poisson (µ) independente.S˘ a se arate
c˘ a (X|X+Y=n);Binom (n,λ
λ+µ).
Solut ¸ie. Avem (X+Y);Poisson (λ+µ) ¸ si deci
P(X=r|X+Y=n) =P(X=r,X+Y=n)
P(X+Y=n)=
3.7. VALIDAREA GENERATORILOR 97
=e−λλre−µµr
r!(n−r)!n!
e−(λ+µ)(λ+µ)n=Cr
nλrµn−r
(λ+µ)n,r= 0,1,…,n.
E.3.6. FieX;f(x) unde
f(x) =/braceleftbigg0, daca x< 0
1
λexp{−ex−1
λ+x}daca x≥0,λ>0
numit˘ a repartit ¸ia valorii extreme . S˘ a se descrie o metod˘ a pentru simularea
luiX.
Solut ¸ie. Se aplic˘ a metoda invers˘ a.
E.3.7. FieY;Exp(1) ¸ siX=kexp (Y
a).S˘ a se determine repartit ¸ia lui
X.
Solut ¸ie. Se deduce prin calcul direct c˘ a
F(x) =P(X <x ) =/braceleftbigg0daca x< 0
1−/parenleftbigx
k/parenrightbig−adaca x≥0.
Se aplic˘ a metoda invers˘ a.
E.3.8. FieZ1,Z2variabile normale N(0,1),independente. S˘ a se arate
c˘ a
U=2
πarctgZ1
Z2;uniformaU (−1,1).
Solut ¸ie. Densitatea de repartit ¸ie comun˘ a a lui Z1,Z2este
f(x1,x2) =1
2πe−x2
1+x2
2
2.
Deci
P(U <y ) =P(Z1
Z2<tg(2πy)) =/integraldisplay /integraldisplay
x1/x2<tg(2πy)e−x2
1+x2
2
2dx1dx2=y.
E.3.9. FieX¸ siYdou˘ a variabile exponent ¸iale de parametru 1 ,indepen-
dente. S˘ a se determine repartit ¸ia variabilei T=X−Y.
Solut ¸ie. Densitatea comun˘ a de repartit ¸ie este
g(x,y) =e−x−y, x> 0, y>0.
Facem transformarea
t=x−y, v =y, J =D(x,y)
D(v,t)= 1
98 CAP. 3. SIMULAREA VARIABILELOR NEUNIFORME
¸ si calcul˘ am
h(t) =∞/integraldisplay
0g(x(t,v),y(v,t))|J|dv.
Se obt ¸ine in final
h(t) =/braceleftBigg1
2exdacax< 0,
1
2e−xdacax≥0.
Deci densitatea lui Teste de tip Laplace ; variabilaTse simuleaz˘ a deci ca
diferent ¸a de dou˘ a variabile Exp(1) independente.
E.3.10. Variabila aleatoare Xare densitatea f(x) =3
4(1−x2), x∈
[−1,1] ¸ sif(x) = 0, x /∈[−1,1].S˘ a se simuleze X.
Solut ¸ie. Se poate aplica metoda respingerii folosind inf˘ a¸ sur˘ aro areah(x) =
1
2, x∈[−1,1];h(x) = 0, x /∈[−1,1] (adic˘ ah(x)-uniform˘ a pe [−1,1]). Se
obt ¸ine
f(x)
h(x)≤α=3
2, etc.
Se poate folosi ¸ si metida invers˘ a. Avem
F(x) =
0, x< 0,
3x−x3+2
4, x∈[−1,1],
1, x> 1.
Se ia solut ¸ia x0∈[−1,1] a ecuat ¸iei F(x) =U.(Ecuat ¸ia poate avea trei
solut ¸ii!).
Cap. 4
Simularea vectorilor aleatori
4.1 Generalit˘ at ¸i
Un vector X= (X1,X2,…,X k)/prime(vector coloan˘ a) ale c˘ arui componente Xi
sunt variabile aleatoare, se nume¸ ste vector aleator. Cazul in care componen-
tele sunt independente stochastic este desigur banal de ace ea cazul cel mai
interesant este cˆ and componentele Xisunt dependente sau corelate.
Funct ¸ia de repartit ¸ie a vectorului Xeste
F(x) =F(x1,x2,…,x k) =P(X1<x1,X2<x2,…,X k<xk) (4.1)
si ea se mai nume¸ ste funct ¸ia de repartit ¸ie comun˘ a a lui{X1,X2,…,X k}sau
funct ¸ia de repartit ¸ie multidimensional˘ a. Desigur,
F(−∞,…,−∞) = 0, F(+∞,…,+∞) = 1, F(…,x i,…)≤F(…,yi,…), xi<yi
(adic˘ a F este monoton˘ a pe componente). Funct ¸ia f(x1,x2,…,x k) definit˘ a
de relat ¸ia
f(x) =f(x1,x2,…,x k) =∂kF(x1,x2,…,x k)
∂x1∂x2…∂x k(4.2)
cˆ and derivata part ¸ial˘ a exist˘ a, se nume¸ ste densitate de repartit ¸ie multidimen-
sional˘ a a luiX.
Funct ¸ia de repartit ¸ie P(Xi< xi) =F(+∞,…,+∞,xi,+∞,…,+∞) =
Fi(xi) se nume¸ ste funct ¸ie de repartit ¸ie marginal˘ a a lui Xi,iarfi(xi) =F/prime
i(xi)
( cˆ and derivata exist˘ a) se nume¸ ste densitate de repartit ¸ie marginal˘ a a luiXi.
Se pot defini funct ¸ii de repartit ¸ie marginale pentru 2 ,3,…,k−1 compo-
nente, etc. De exemplu funct ¸ia de repartit ¸ie marginal˘ a Fij(xi,xj) =P(Xi<
99
100 CAP. 4. SIMULAREA VECTORILOR ALEATORI
xi,Xj<xj) =F(+∞,…,x i,…,x j,…+∞),1≤i,j≤kcorespunde compo-
nentelorXi,Xjale vectorului X.Au loc relat ¸iile
F(x) =F(x1,…,x k) =/integraldisplayx1
−∞…/integraldisplayxk
−∞f(u1,…,u k)du1…du k=/integraldisplayx
−∞f(u)du.
(4.3)
Dac˘ a variabilele Xi,1≤i≤ksunt independente atunci
F(x1,x2,…,x k) =F1(x1)F2(x2)…Fk(xk) (4 .4)
sau analog pentru densit˘ at ¸i
f(x1,x2…,x k) =f1(x1)f(x2)…fk(xk). (4.4/prime).
Cˆ and exist˘ a integralele
mi=E(Xi) =/integraldisplay+∞
−∞xifi(xi)dxi,
mij=E(XiXj) =/integraldisplay+∞
−∞/integraldisplay+∞
−∞xixjfij(xixj)dxidxj
acestea se mumesc momente de ordinul I , respectiv de ordimul II . Expresiile
σij=E[(Xi−mi)(Xj−mj)] =/integraldisplay+∞
−∞/integraldisplay+∞
−∞(xi−mi)(xj−mj)fij(xi,xj)dxidxj
cˆ and integralele exist˘ a, se numesc momente centrate; in a cest caz,σijse
nume¸ ste covariant ¸a luiXicuXj¸ si se noteaz˘ a σij=Cov(Xi,Xj).Se observ˘ a
c˘ aσii=Cov(Xi,Xi) =Var(Xi) =σ2
i.Este u¸ sor de ar˘ atat c˘ a dac˘ a Xieste
independent de Xj, i/negationslash=j,atunci
mij=E(XiXj) =mimj=E(Xi)E(Xj), σ ij=Cov(Xi,Xj) = 0.
Este satisf˘ acut˘ a inegalitatea lui Schwarz, adic˘ a
|Cov(Xi,xj)|≤/radicalBig
Var(Xi)Var(Xj)sau|σij|≤σiσj.
Se nume¸ ste coeficient de corelat ¸ie al variabilelor Xi¸ siXjm˘ arimea
ρij=Corr(Xi,Xj) =Cov(Xi,Xj)/radicalBig
Var(Xi)Var(Xj). (4.5)
Se observ˘ a c˘ a ρ∈[−1,1] ¸ si el are urm˘ atoarea interpretare: ρij≈0⇒
XidepindefoarteputindeX j; dac˘ aρij<0,atunciXi¸ siXjsuntinvers
4.1. GENERALIT ˘AT ¸I 101
corelate iar dac˘ a ρij>0,atunciXi¸ siXjsuntdirect corelate; dac˘ a|ρij|≈1
atunciXi¸ siXjsuntputernic corelate.
Pentru un vector aleator mediile midefinesc un vector m= (m1,m2,
…,m k)/primenumit vectorul valoare medie notatE(X) iar covariant ¸ele σijdefinesc
o matrice Σ =||σij,||(care este pozitiv definit˘ a, Σ /follows0) ¸ si se noteaz˘ a Σ =
Cov(X,X/prime).
Vom defini acum not ¸iunea de repartit ¸ie condit ¸ionat˘ a. Pr esupunem c˘ a X
are densitatea de repartit ¸ie f(x) ¸ si s˘ a consider˘ am descopmunerea lui Xin
doi subvectori X= (X(1),X(2))/primeundeX(1)este un vector r−dimensional iar
X(2)este un vector q−dimensional, r <k, r +q=k.Definim densitatea de
repartit ¸ie condit ¸ionat˘ a f(x(1)|x(2)) a lui X(1)cˆ andX(2)=x(2)astfel
f(x(1)|x(2)) =f(x(1),x(2))/integraltext+∞
−∞f(y(1),x(2))dy(1), undef (x) =f(x(1),x(2)).(4.6)
Cu aceast˘ a densitate se definesc, cˆ and exist˘ a, E[X(1)|X(2)=x(2)],
Cov(X(1),X(1)/prime|X(2)=x(2)) adic˘ a media condit ¸ionat˘ a, respectiv matricea de
covariant ¸˘ a condit ¸ionat˘ a. Uneori este necesar s˘ a simul˘ am ( X(1)|X(2)=x(2)),
cˆ and se cunoa¸ ste repartit ¸ia condit ¸ionat˘ a.
Metoda invers˘ a este valabil˘ a ¸ si in cazul simul˘ arii vect orilor aleatori. Fie
F(x) =F(x1,x2,…,x k) =P(X1< x1,…,X k< xk),funct ¸ia de repartit ¸ie a
luiX¸ si fieF1(x1) =P(X1<x1) funct ¸ia de repartit ¸ie marginal˘ a a lui X1,¸ si
F1…i(x1,…,x i) =P(X1< x1,…,X i< xi) funct ¸ia de repartit ¸ie marginal˘ a
a lui (X1,…,X i)/prime. Fie de asemenea funct ¸iile de repartit ¸ie condit ¸ionate
F2(x1,x2) =P(X2<x2|X1=x1) =F(x2|x1),
F3(x1,x2,x3) =P(X3<x3|X1=x1,X2=x2) =F(x3|x1,x2),
Fi(x1,x2,…,x i) =P(Xi<xi|X1=x1,…,X i−1=xi−1) =F(xi|x1,…,x i−1),
2≤i≤k.S˘ a not˘ am cu F−1
iinversa funct ¸iei Fi(x1,x2,…,x i) in raport cu
xi.Atunci are loc urm˘ atoatea teorem˘ a (metoda invers˘ a pentr u vectori).
Teorema 4. 1 Dac˘ aUi,1≤i≤ksunt variabile aleatoare uniforme 0−1
independente atunvi vectorul aleator Y= (Y1,Y2,…,Y k)/primeale c˘ arui compo-
nente sunt
Y1=F−1
1(U1), Y2=F−1
2(Y1,U2), Yi=F−1
i(Yi,…,Y i−1,Ui),2≤i≤k
(4.6/prime)
are funct ¸ia de repartit ¸ie F(x).
Demonstrat ¸ie. Avem
P(Y1<x1) =P(F−1
1(U1)<x1) =P(U1<F(x1)) =F1(x1),
102 CAP. 4. SIMULAREA VECTORILOR ALEATORI
P(Y1<x1,Y2<x2) =P(Y2<x2|Y1=x1)P(Y1<x1) =
=P(F−1
2(Y1,U2)<x2|Y1=x1)F1(x1) =P(U2<F2(x1,x2))F1(x1) =
=F2(x1,x2)F1(x1) =F12(x1,x2).
Repetˆ and procedeul precedent obt ¸inem pentru ( Y1,…,Y i)/prime
P(Y1<x1,…,Y i−1<xi−1,Yi<xi) =
=P(Y1<x1,…,Y i−1<xi−1,F−1
i(Y1,…,Y i−1,Ui)<xi) =F1…i(x1,…,x i).
Dar
F1…k(x1,…,x k) =F(x1,…,x k)
ceeace trebuia demonstrat. De aici se deduce urm˘ atorul alg oritm pentru
simularea vectorului aleator Xcˆ and se cunosc inversele F−1
iale funct ¸iilor de
repartit ¸ie condit ¸ionate Fi(x1,…,x i−1,xi) in raport cu xi.
Algoritmul AIMULT pentru metoda invers˘ a multidimensional˘ a.
Genereaz˘ aU:=random ;Calculeaz˘ a Y1=F−1
1(U);
fori:= 2tokdo begin
Genereaz˘ aU:=random ;
Calculeaz˘ a Yi:=F−1
i(Y1,…,Y i−1,U);
end.
Vectorul Y= (Y1,Y2,…,Y k)/primeare funct ¸ia de repartit ¸ie F(x) conform teo-
remei 1.
Exemplul 4.1. Simularea repartit ¸iei Gumbel bidimensiona le.Presupunem
c˘ a vectorul aleator ( X,Y)/primeare funct ¸ia de repartit ¸ie
F(x,y) =/braceleftbigg1−e−x−e−y+e−(x+y+θxy, daca x> 0,y>0,
0, altfel,0<θ< 1.
Se observ˘ a c˘ a
F1(x) =/braceleftbigg1−e−x, daca x> 0,
0, altfel
adic˘ a repartit ¸ia marginal˘ a a lui XesteExp(1).
Prin calcule simple (utilizˆ and (4.6)) se deduce c˘ a
f2(y|x) =/braceleftbigge−y(1+θx){(1 +θx)(1 +θy)−θ}, daca y> 0,
0, altfel
4.2. SIMULAREA VECTORILOR UNIFORMI. 103
¸ si deci funct ¸ia de repartit ¸ie a lui Ycondit ¸ionat˘ a de X=xeste
F2(y|x) =/braceleftbigg[1−e−y(1+θx)][1 +θ(1 +x)], daca y> 0
0, altfel
Putem deci aplica teorema 1 pentru simularea lui ( X,Y)/primeastfel
Algoritmul GUMBEL
Intrareθ; (Acesta este un pas preg˘ atitor);
Genereaz˘ aX;Exp(1);
Genereaz˘ aU:=random ;Genereaz˘ aYrezolvˆ and ecuat ¸ia
[1−e−Y(1+θX)][1 +θ(1 +X)] =U;U∈(0,∞).
Teorema inf˘ a¸ sur˘ atoarei se poate aplica ¸ si in cazul vect orilor aleatori. (Vezi
exercit ¸iul E4.5).
4.2 Simularea vectorilor uniformi.
Vectorul aleator k−dimensional V= (V1,V2,…,V k)/primeare repartit ¸ie uniform˘ a
pe domeniul m˘ arginit D⊂Rkdac˘ a densitatea sa de repartit ¸ie este
f(v) =/braceleftbiggk, daca v∈D,
0, dacav/∈D, k=1
mesD, mesD =/integraldisplay
Ddv.(4.7)
Rezult˘ a c˘ a Vare repartit ¸ie uniform˘ a pe intervalul I= [a1,b1]×[a2,b2]×
…×[ak,bk]−∞<ai<bi<+∞,1≤i≤kdac˘ a
f(v) =
1
k/producttext
i=1(bi−ai), dacav∈I
0, dacav/∈I.(4.7/prime)
Din (4.7’) rezult˘ a c˘ a dac˘ a Veste uniform pe IatunciVisunt variabile
uniforme pe [ ai,bi] ¸ si independente deoarece
f(v1,v2,…,v k) =k/productdisplay
i=1fi(vi), f i(vi) =/braceleftbigg1
bi−ai, daca v i∈[ai,bi]
0,daca v i/∈[ai,bi].(4.7/prime/prime)
De aici se deduce urm˘ atorul algoritm simplu pentru simular ea vectorului
V;uniformpeI.
Algoritmul VUNIFINT de simulare a vectorului uniform pe interval
104 CAP. 4. SIMULAREA VECTORILOR ALEATORI
Intrareai,bi,1≤i≤k;
fori:= 1tokdo begin
Genereaz˘ a U:=random ;IaVi:=ai+ (bi−ai)U;
end.
Pentru a simula un vector aleator Wuniform pe D⊂Rk(Dfiind un
domeniu oarecare), nu mai este adev˘ arat˘ a (4.7”). Dar s˘ a o bserv˘ am c˘ a dac˘ a
D⊆I¸ siVe uniform pe Iatunci restrict ¸ia lui VlaD( vectorul notat W),
este un vector uniform pe D.
De aici rezult˘ a urm˘ atorul algoritm de respingere pentru simularea lui W.
Algoritmul VECTUNIFD de simulare a vectorului uniform pe dome-
niu oarecare:
Construie¸ ste un interval minimal I= [a1,b1]×…×[ak,bk]astfel incˆ at
D⊆I; (Acest interval exist˘ a deoarece Deste m˘ arginit).
repeat
Genereaz˘ a Vuniform pe I;
until V∈D;
IaW:=V.
Probabilitatea de acceptare a acestui algoritm este
pa=mesD
mesI=mesD
k/producttext
i=1[bi−ai]
de unde se deduce c˘ a pentru a obt ¸ine un interval Icˆ at mai bun, acesta
trebuie s˘ a fie minimal astfel incˆ at D⊆I.
4.3 Simularea vectorilor normali
Vectorul aleator k−dimensional Xare repartit ¸ia normal˘ a N(µ,Σ) dac˘ a den-
sitatea sa este
f(x;µ,Σ) =1
(2π)k/2[det(Σ)]1/2e−1
2(x−µ)/primeΣ−1(x−µ),x∈Rk. (4.8)
Se arat˘ a c˘ a
E(X) =µ,Cov(X,X/prime) = Σ. (4.8/prime)
Formulele precedente se deduc u¸ sor cu ajutorul funct ¸iei c aracteristice. In
cazul variabilei normale X;N(m,σ) conform teoremei 3.7 funct ¸ia carac-
teristic˘ a este
ϕ(t) =eitm−t2σ2
2.
4.3. SIMULAREA VECTORILOR NORMALI 105
Prin analogie, in cazul multidimensional funct ¸ia caracte ristic˘ a este
ϕ(t) =E[eit/primeX] =/integraldisplay
Rkeik/summationtext
j=1tjxj
f(x;µ,Σ)dx
care dup˘ a efectuarea unor calcule devine
ϕ(t) =eit/primeµ−t/primeΣt
2.
F˘ acˆ and deci analogie cu funct ¸ia caracteristic˘ a a varia bilei normale N(m,σ)
rezult˘ a c˘ aµ¸ si Σ au semnificat ¸ia din formulele (4.8’). S˘ a not˘ am cu Zvectorul
normalN(0,I) undeIeste matricea unitate k−dimensional˘ a iar 0este vec-
torul nul din Rk.Se constat˘ a cu u¸ surint ¸˘ a c˘ a densitatea f(z) a luiZsatisface
proprietatea
f(z) =k/productdisplay
i=1fi(zi), f i(zi) =1√
2πe−z2
i
2 (4.9)
adic˘ a componentele Ziale lui Zsunt independente ¸ si normale N(0,1).Deci,
simularea lui Z;N(0,I) se realizeaz˘ a simplu astfel
Algoritmul VECNORMSTD de generare a vectorului normal stan-
dard.
fori:= 1tokdo begin
Genereaz˘ aT;N(0,1);IaZi:=T;
end.
Pentru a simula X;N(µ,Σ) vom folosi mai intˆ ai teorema
Teorema 4. 2 Dac˘ aY;N(0,Σ)¸ siCeste o matrice k×kiarµeste un
vectork×1atunci
X=µ+CY;N(µ,CΣC/prime).
Demonstrat ¸ie. Deoarece Xeste o combinat ¸ie liniar˘ a de variabile normale
(componentele lui Y), el are tot o repartit ¸ie normal˘ a ¸ si deci avem
E(X) =µ+CE(Y) =µ+0=µ,
Cov(X,X/prime) =Cov[(CY),(CY)/prime] =CΣC/prime(4.10)
¸ si teorema este demonstrat˘ a.
Fiind dat˘ a matricea Σ /follows0 (pozitiv definit˘ a) se ¸ stie c˘ a exist˘ a o matrice
C=||cij||,C/follows0,inferior triunghiular˘ a (adic˘ acij= 0, i < j ), astfel incˆ at
CC/prime= Σ.MatriceaCestematricea Choleski. De aici deducem teorema
106 CAP. 4. SIMULAREA VECTORILOR ALEATORI
Teorema 4. 3 Dac˘ aZ;N(0,I),µeste un vector k×1¸ siCeste matricea
Choleski a lui Σ, atunci X=µ+CZ;N(µ,Σ).
Demonstrat ¸ie . Din teorema 4.1 avem E(X) =µ¸ siCov(X,X/prime) =CIC/prime=
CC/prime= Σ ¸ si teorema este demonstrat˘ a.
MatriceaCse determin˘ a cu ajutorul matricii Σ = ||σij||cu formulele lui
Choleski
ci1=σi1
σ11,1≤i≤k
cii=/radicaltp/radicalvertex/radicalvertex/radicalbtσii−i−1/summationdisplay
r=1c2
ir,1<i≤k
cij=σij−j−1/summationtext
r=1circjr
cjj,1<j <i≤k (4.11)
cij= 0,1<i<j <k.
Simularea vectorului X;N(µ,Σ), dup˘ a ce se calculeaz˘ a intr-un pas preg˘ atitor
matriceaCa lui Choleski se realizeaz˘ a cu urm˘ atorul algoritm
Algoritmul NORMMULT de simulare a vectorului normal
Intrareµ,C;
Genereaz˘ a Z;N(0,I)cu algoritmul VECNORMSTD;
Calculeaz˘ a X=µ+CZ.
Uneori este necesar s˘ a simul˘ am un subvector al unui vector normal cˆ and
se d˘ a cel˘ alalt subvector. Mai precis dac˘ a X= (X(1),X(2))/prime;N(µ,Σ), cu
X(1)vectorr−dimensional ¸ si X(2)vectorq−dimensional, r+q=k,se cere
s˘ a se simuleze X(1)condit ¸ionat de X(2)=x(2).
S˘ a consider˘ am scrierea celular˘ a a luiµ¸ si Σ,adic˘ a
µ=/parenleftBigg
µ(1)
µ(2)/parenrightBigg
,/parenleftBigg
Σ11Σ12
Σ21Σ22/parenrightBigg
. (4.12)
Dac˘ aµ¸ si Σ sunt cunoscute atunci este adev˘ arat˘ a urm˘ atoarea te orem˘ a
Teorema 4. 4 Repartit ¸ia condit ¸ionat˘ a a lui X(1)cˆ and se d˘ a X(2)=x(2)
este normal˘ a N(µ(1)
∗,Σ∗
11)unde
µ(1)
∗=µ(1)+ Σ12Σ−1
22(x(2)−µ(2)),Σ∗
11= Σ11−Σ12Σ−1
22Σ21.(4.13)
4.3. SIMULAREA VECTORILOR NORMALI 107
Nu prezent˘ am demonstrat ¸ia acestei teoreme.
De aici se deduce algoritmul de simulare a lui X(1)condit ¸ionat de X(2)=
x(2)¸ si anume
Algoritmul NORMCOND de simulare condit ¸ionat˘ a.
Intrare x(2), µ(i),Σij, i,j= 1,2;
Calculeaz˘ a µ(1)
∗,Σ∗
11;
Genereaz˘ a Z(1);N(0,Ir×r);
Calculeaz˘ a C∗astfel incˆ at C∗C∗/prime= Σ∗
11;
Calculeaz˘ a X(1)
∗=µ(1)
∗+C∗Z(1).
Rezultatul este X(1)
∗;N(µ(1)
∗,Σ∗
11).
•O metod˘ a special˘ a. Presupunem c˘ a matricea de covariant ¸˘ a Σ are
elementele de forma
σij=/braceleftbiggσ2
idaca i =j, σi>0
σiσjλiλjdaca i/negationslash=j, λi∈[−1,1].(4.13/prime)
Se arat˘ a simplu c˘ a dac˘ a Z;N(0,I) este un vector normal ( k+1)−dimensiolal,
Z= (Z0,Z1,Z2,…,Z k)/prime,atunci
Xi=µi+σi(/radicalBig
1−λ2
iZi+λiZ0),1≤i≤k (4.13/prime/prime)
este un vector normal N(µ,Σ), µ= (µ1,µ2,…,µ k)/prime.
Intr-adev˘ ar, deoarece Zi;N(0,1) rezult˘ a c˘ a Xisunt normale ¸ si deci
X= (X1,X2,…,X k)/primeare repartit ¸ie normal˘ a multidimensional˘ a. In plus
avem
E(Xi) =µi, Var(Xi) =σ2
i(1−λ2+λ2) =σ2
i, σij=Cov(Xi,Xj) =
E[(Xi−µi)(Xj−µj)] =E[σi(/radicalBig
1−λ2
iZi+λiZ0)σj(/radicalBig
1−λ2
jZj+λjZ0)] =
=σiσjE[/radicalBig
(1−λ2
i)(1−λ2
j)ZiZj+λj/radicalBig
1−λ2
iZ0Zj+
+λi/radicalBig
1−λ2
jZ0Zi+λiλjZ2
0] =σiσjλiλj, i/negationslash=j
adic˘ aσijeste dat de (4.13’). Simularea vectorului normal in acest ca z special
se face determinˆ and componentele sale cu formula (4.13”).
108 CAP. 4. SIMULAREA VECTORILOR ALEATORI
4.4 Simularea repartit ¸iei Cauchy multidi-
mensionale
In capitolul precedent s-a introdus repartit ¸ia Cauchy sta ndard a c˘ arei den-
sitate este
f(x) =1
π(1 +x2)(4.14)
¸ si care se poate simula cu ajutorul metodei inverse (vezi ta belul 3.1). Se
poate ar˘ at˘ a c˘ a dac˘ a Z1,Z2sunt variabile normale N(0,1) independente,
atunci variabila
X=Z1
Z2(4.15)
are repartict ¸ia Cauchy standard.
Din aceast˘ a proprietate rezult˘ a deci o metod˘ a simpl˘ a de simulare a vari-
abileiX-Cauchy standard unidimensionale ca raport de variabile no rmale
N(0,1) independente.
O variabil˘ a Yare repartit ¸ia Cauchy (c,σ) dac˘ a densitatea sa este
g(x) =1
σ.1
1 +(x−c)2
σ2, c∈R, σ> 0. (4.16)
Simularea lui Yse va face cu formula Y=c+σX.
In mod asem˘ an˘ ator se poate introduce repartit ¸ia Cauchy s tandard mul-
tidimensional˘ a. Vectorul aleator Xare repartit ¸ia Cauchy standard multidi-
mensional˘ a dac˘ a densitatea sa de repartit ¸ie este de forma
f(x) =Γ/parenleftBig
k+1
2/parenrightBig
πk+1
21
(1 +x/primex)k+1
2,x∈Rk. (4.15/prime)
Ca ¸ si in cazul unidimensional se arat˘ a c˘ a dac˘ a Zeste un vector k−dimensi-
onal normal N(0,I) ¸ siηeste o variabil˘ a normal˘ a N(0,1) independent˘ a de
Z,atunci Xse poate simula cu formula
X=Z
η. (4.15/prime/prime)
Se poate considera ¸ si repartit ¸ia multidimensional˘ a Cauchy (c,Σ) care are
densitatea de forma
g(x) =Γ(k+1
2)
πk+1
2(detΣ)1
21
[1 + (x−c)/primeΣ−1(x−c)]k+1
2. (4.16/prime)
4.5. SIMULAREA REPARTIT ¸IEI MULTINOMIALE 109
Relat ¸ia dintre vectorul Cauchy standard X¸ si vectorul Y;Cauchy (c,Σ)
este asem˘ an˘ atoare relat ¸iei dintre vectorul ZnormalN(0,I) ¸ si vectorul Ynor-
malN(c,Σ),adic˘ a dac˘ a Xare repartit ¸ie Cauchy standard ¸ si Y;Cauchy (c,Σ)
¸ si consider˘ am matricea Sinferior triunghiular˘ a astfel ca Σ = SS/prime,atunci Y
se poate genera cu formula
Y=SX+c. (4.16/prime/prime)
Combinˆ and (4.15’) cu (4.16”) rezult˘ a c˘ a Y;Cauchy (c,Σ) se simuleaz˘ a cu
formula
Y=Z∗
η(4.17)
undeZ;N(0,Σ),independent de η;N(0,1).
4.5 Simularea repartit ¸iei multinomiale
Aceast˘ a repartit ¸ie este generalizarea multidimensiona l˘ a a repartit ¸iei binomi-
ale. Vectorul aleator cu componente intregi nenegative X= (X1,X2,…,X k)/prime,
X1+X2+…+Xk=n,are repartit ¸ia multinomial˘ a Multinom (n,p1,p2,…,p k)
dac˘ a
P(X1=n1,X2=n2,…,X k=nk) =n!
n1!n2!…nk!pn1
1pn2
1…pnk
k,
n1+…+nk=n, p i>0,1≤i≤k, p 1+p2+…pk= 1. (4.18)
Se arat˘ a c˘ a
mi=E[Xi] =npi, σ2
i=Var[Xi] =npi(1−pi) =Cov(Xi,Xi),
σij=Cov(Xi,Xj) =E[XiXj]−E[Xi]E[Xj] = (4 .18/prime)
=n(n−1)pipj−n2pipj=−npipj, i/negationslash=j.
Vectorul Xare o interpretare asem˘ an˘ atoare variabilei binomiale in cazul
unui experiment cu urn˘ a dup˘ a cum urmeaz˘ a: s˘ a presupunem c˘ a intr-o urn˘ a
se g˘ asescNibile de culoarea i, 1≤i≤k,N=N1+N2+…Nk.Se presupune
c˘ a se extrag nbile din urn˘ a cu intoarcere , din careXisunt bile de culoarea
i, n=X1+X2+…Xk.Atunci vectorul aleator X= (X1,X2,…,X k)/primeare
repartit ¸iaMultinom (n,p1,…,p k), pi=Ni/N,/summationtext
ipi= 1.
110 CAP. 4. SIMULAREA VECTORILOR ALEATORI
Aceast˘ a interpretare ne conduce la urm˘ atorul algoritm pe ntru simularea
luiX
Algoritmul MULTINOM de simulare a repartit ¸iei multinomiale
Intraren,k,p 1,p2,…,p k¸ si calculeaz˘ a F[α] =α/summationtext
i=1pi,1≤i≤k; (Acesta
este un pas preg˘ atitor);
Init ¸ializeaz˘ a X[1] = 0,…,X [k] = 0;
fori:= 1tondo begin
Simuleaz˘ aU:=random ;Iai:= 1;
whileU≥F[i]doi:=i+ 1;
Insumeaz˘ a X[i] :=X[i] + 1;
end.
Testarea algoritmului se face in mod simplu astfel
– Se genereaz˘ a select ¸ia de volum T,X(α)= (X(α)
1,…,x(α)
k)/prime,1≤α≤T;
– Se calculeaz˘ a mediile aritmetice ¸ si dispersiile empiri ce
Xi=1
TT/summationdisplay
α=1X(α)
i, s2
i=1
TT/summationdisplay
i=1[X(α)
i]2−Xi2.
Pentru validarea algoritmului, trebuie, ca pentru un Tmare s˘ a avem mi≈
Xi, σ2
i≈s2
i,undemi¸ siσ2
isunt date de (4.18’).
4.6 Simularea repartit ¸iei Dirichlet.
Un vector aleator Xare repartit ¸ia Dirichlet (ν1,ν2,…,ν k+1) dac˘ a densitatea
sa de repartit ¸ie este
f(x1,x2,…,x k) =/braceleftBiggΓ(ν1+…+νk+1)
Γ(ν1)…Γ(νk+1)xν1
1…xνk
k(1−x1−…−xk)νk+1,x∈Sk
0, daca x /∈Sk
x= (x1,…,x k)/prime, Sk={(x1,…,x k)/prime∈Rk,xi≥0,1≤i≤k,/summationdisplay
ixi≤1}.
(4.19)
Se arat˘ a c˘ a dac˘ a Yi;Gamma (0,1,νi),1≤i≤k+ 1 sunt variabile gama
independente, atunci vectorul Xale c˘ arui componente sunt de forma
Xi=Yi
Y1+Y2+…+Yk+1,1≤i≤k, (4.20)
4.6. SIMULAREA REPARTIT ¸IEI DIRICHLET. 111
are o repartit ¸ie Dirichlet (ν1,ν2,…,ν k+1).Se observ˘ a deci c˘ a repartit ¸ia Dirich-
let este o extensie la cazul multidimensional a repartit ¸ie i Beta. Formulele
(4.16) simuleaz˘ a componentele unui vector Dirichlet, pre supunˆ andu-se de-
sigur c˘ a parametri νi,1≤i≤k+ 1 sunt cunoscut ¸i.
Exercit ¸ii
E4.1 S˘ a se prezinte o metod˘ a de simulare a unui vector V= (V1,V2)/prime,
uniform pe cercul C(O,r).
Solut ¸ie. Se simuleaz˘ a un vector W= (W1,W2)/primeuniform pe [−r,r]×
[−r,r] ¸ si se pune condit ¸ia ca el s˘ a apart ¸in˘ a cercului. Algori tmul este:
repeat
Genereaz˘ a: U1:=random ;U2:=random ;
W1:=−r+ 2rU1;W2:=−r+ 2rU2;
untilW2
1+W2
2≤r2;
IaV1:=W1;V2:=W2.
E4.2 S˘ a se prezinte o metod˘ a de simulare a unui vector W= (W1,W2)/prime
uniform pe elipsa de semiaxe a,b> 0.
Indicat ¸ie. Se simuleaz˘ a un vector V= (V1,V2)/primeuniform pe intervalul
[−a,a]×[−b,b] ¸ si se pune condit ¸ia ca V2
1/(a2) +V2
2/(b2)≤1.
E4.3 Se consider˘ a vectorul X= (X1,X2,…,X k)/primeundeXi;Exp(λiη)
sunt independente iar η;Gamma (0,b,a).S˘ a se determine densitatea de
repartit ¸ie a lui X¸ si s˘ a se indice un algoritm pentru simularea acestuia.
Solut ¸ie. S˘ a not˘ am
g(η) =/braceleftbiggba
Γ(a)ηa−1e−ηb, daca η> 0
0, η≥0.
Atunci densitatea de repartit ¸ie a lui Xeste
f(x1,x2,…,x k) =
(k/producttext
i=1λi)/integraltext∞
0ηk+a−1ba
Γ(a)e−k/summationtext
i=1xiλiη
e−bηdη, x i>0
o, altfel=
=
ba
Γ(a)(k/producttext
i=1λi)/integraltext∞
0ηa+b−1e−η(k/summationtext
i=1xiλi+b)
dη, daca x i>0
0, altfel=
=
ba
Γ(a)(k/producttext
i=1λi)Γ(a+k)
(b+k/summationtext
i=1λixi)a+k, xi>0
0, altfel=
112 CAP. 4. SIMULAREA VECTORILOR ALEATORI
=
(/producttextk
i=1θi)a(a+1)…(a+k−1)
(1+k/summationtext
i=1θixi)a+k, daca x i>0
0, altfel,θi=λi
b.
Simularea lui Xse poate face prin metoda compunerii.
Se poate ar˘ ata (folosind (4.6)) c˘ a pentru xi>0
f(xm|x1,…,x m−1) =θm(a+m−1)(1 +m−1/summationtext
i=1θixi)a+m−1
(1 +m−1/summationtext
i=1θixi+θmxm)a+m
de unde
F(xm|x1,…,x m−1) = 1−
1 +k−1/summationtext
i=1θixi
1 +m/summationtext
i=1θixi
a+m−1
.
Ultima formul˘ a permite simularea lui Xutilizˆ and teorema 4.1.
E4.4 Fie vectorul aleator ( X,Y)/primecu componente pozitive avˆ and densi-
tatea de repartit ¸ie
f(x,y) =/braceleftbiggα(α+β)e−(α+β)y, daca 0≤x<y
β(α+β)e−(α+β)xdaca 0≤y<x
(repartit ¸ia bidimensional˘ a a lui Freund). S˘ a se determi neE(X),E(Y),
Var(X),Var(Y) ¸ si s˘ a se g˘ aseasc˘ a o metod˘ a de simulare a vectorului ( X,Y)/prime.
Indicat ¸ie. Densit˘ at ¸ile marginale ¸ si sunt
fX(x) = [α+xβ(α+β)]e−(α+β)x, x> 0, f Y(y) = (α+β)e−(α+β)y, y>0
iar
Fx(x) = 1−(1 +βx)e−(α+β)x
de unde se pot calcula cu u¸ surint ¸˘ a mediile ¸ si dispersiil e.
Pentru simulare se aplic˘ a metoda invers˘ a (teorema 4.1) un deX;Fx(x)
iarf(y|x) este de forma
f(y|x) =
β(α+β)
α+β(α+β)xdaca 0<y<x
α(α+β)e−(α+β)(y−x)
α+β(α+β)xdaca y>x.
Se observ˘ a c˘ a
f(y|x) =p1
xI(0,x)+ (1−p)(α+β)e−(α+β)(y−x)I(x,∞), p=β(α+β)x
α+β(α+β)x
4.6. SIMULAREA REPARTIT ¸IEI DIRICHLET. 113
adicaf(y|x) este amestecarea densit˘ at ¸ii uniforme pe [0 ,x] cu densitatea
Exp(α+β)) trunchiat˘ a pe ( x,∞).(IA(x) este funct ¸ia indicator a lui A).
E4.5Enunt ¸at ¸i ¸ si demonstrat ¸i teorema de respingere a inf˘ a¸ sur˘ atoarei pen-
tru vectori aleatori. Aplicat ¸i aceast˘ a metod˘ a pentru si mularea vectorului
(X,Y)/primedin exemplul 4.4.
Solut ¸ie. Teorema inf˘ a¸ sur˘ atoarei in cazul multidimensional este
Teorema 4. 5 Fie vectorul aleator X;f(x)pe care dorim sa-l simul˘ am.
FieY;h(x)pe care ¸ stim sa-l simul˘ am. Presupundem c˘ a f(x)¸ sih(x)
au acela¸ s suport S⊆Rk¸ si c˘ a exist˘ a α,0< α <∞astfel incˆ at f(x)≤
αh(x),∀x∈Rk.Dac˘ aUeste o variabil˘ a uniform˘ a 0−1independent˘ a de
Y, atunci densitatea de repartit ¸ie a lui Ycondit ¸ionat˘ a de 0< U≤f(Y)
αh(Y)
estef(x).
Pentru a aplica aceast˘ a teorem˘ a in cazul exemplului 4.4 s˘ a observ˘ am c˘ a
densitatea de repartit ¸ie este
f(x,y) =/braceleftbigge−(x+y+θxy)[(1 +θx)(1 +θy)−θ], dacax,y > 0
0, altfel.
Pentru a aplica teorema inf˘ a¸ sur˘ atoarei vom lua
h(x,y) =/braceleftbigge−(x+y)dacax> 0, y>0
0altfel,
adic˘ a vectorul corespunzˆ and densit˘ at ¸ii inf˘ a¸ sur˘ at oare are componentele exponent ¸iale
Exp(1) independente.
E4.6. FieU1,U2,…,U nnumere aleatoare uniforme pe [0 ,1] independente
¸ si s˘ a consider˘ am aceste numere ordonate (adic˘ a statist ica de ordine) U(1)≤
U(2)≤…≤U(n).Not˘ amU(0)= 0.U(n+1)= 1.S˘ a se arate c˘ a vectorul aleator
(S1,S2,…,S n), Si=U(i)−U(i−1),1≤i≤n+ 1,are repartit ¸ie uniform˘ a pe
simplexul
An={(x1,x2,…,x n);xi≥0,n/summationdisplay
i=1xi≤1}.
Solut ¸ie. NumereleU(1),…,U (n)sunt uniform repartizate pe domeniul
(simplexul)
Bn={(x1,…,x n);0≤x1≤…≤xn≤1}.
S˘ a facem acum transformarea
s1=u1;s2=u2−u1, ,…,s n=un−un−1
114 CAP. 4. SIMULAREA VECTORILOR ALEATORI
a c˘ arei invers˘ a este
u1=s1, u2=s1+s2, ,…,u n=s1+s2+…+sn.
Jacobianul acestei transform˘ ari este J= 1.Deoarece repartit ¸ia lui ( U(1),…,U (n))
este uniform˘ a adic˘ a are densitatea
f(u1,…,u n) =/braceleftbigg1
mes B n,(u1,…,u n)∈Bn
0,(u1,…,u n)/∈Bn
rezult˘ a c˘ a ( S1,…,S n) are tot densitate uniform˘ a pe An(transformatul lui
Bn) adic˘ a
g(s1,…,s n) =/braceleftbigg1
mes A n(s1,…,s n)∈An
0 (s1,…,s n)/∈An,mesA n=mesB nJ.
Not˘ a. De aici rezult˘ a c˘ a simularea unui vector uniform pe domeni ul
An∈Rnse realizeaz˘ a simulˆ and U1,…,U nuniforme pe [0 ,1] independente,
¸ si calculˆ and apoi ( S1,…,S n) cu ajutorul statisticii de ordine U(1)≤U(2)≤
…≤U(n).
E4.7 Folosind teorema 4.1 construit ¸i un algoritm pentru simula rea vec-
toruluialeator discret ( X,Y)/primecuX¸ siYluˆ and mult ¸imi finite de valori.
Indicat ¸ie. Repartit ¸ia discret˘ a a lui ( X,Y)/primeeste dat˘ a de tabela de contingent ¸˘ a
Y=b1. . .brpi.
X=a1p11. . . . p1rp1.
a2p21 . . .p2rp2.
. . . .
asps1. . .psrps.
p.1. . .p.r
Repartit ¸ia marginal˘ a a lui Xeste
p1.p2….ps.
¸ si cu ajutorul ei se simuleaz˘ a X, iar repartit ¸ia lui Ycondit ¸ionat˘ a de X=ai
estepi1
pi.pi2
pi….pir
pi.
¸ si din ea se simuleaz˘ a Y.(In tabela ¸ si in formulele de mai sus, indicii inlocuit ¸i
cu punct (.) noteaz˘ a rezultatele insum˘ arilor pe coloane sau pe lin ii).
4.6. SIMULAREA REPARTIT ¸IEI DIRICHLET. 115
Not˘ a. Dac˘ a pentru un vector bidimensional ( X,Y) se d˘ a o select ¸ie
(X1,Y1),(X2,Y2),…,(Xn,Yn),cu ajutorul ei se poate construi o tabel˘ a de
frecvent ¸˘ a bidimensional˘ a asem˘ an˘ atoare histogramei. Ea va fi de forma tabelei
de mai sus unde in loc de pijse vor scrie frecvent ¸ele fij.Aceasta se nume¸ ste
tabel˘ a de contingent ¸˘ a.
116 CAP. 4. SIMULAREA VECTORILOR ALEATORI
Cap. 5
Simularea proceselor
stochastice
5.1 Generalit˘ at ¸i
O familie de variabile aleatoare, {Xt}t∈T,T⊂R, deprinzˆ and de parame-
trul realt(presupus a fi timpul ) se nume¸ ste proces stochastic. Dac˘ aTeste o
mult ¸ime discret˘ a (deobicei T={0,1,2,…}), atunci procesul se nume¸ ste lant ¸.
Dac˘ aTeste un interval I⊆Ratunci procesul este cu timp continuu. Valorile
luiXtse numesc st˘ ari. Fie Smult ¸imea valorilor unui proces stochastic. Dac˘ a
mult ¸imeaSeste discret˘ a spunem c˘ a procesul este cu st˘ ari discrete iar dac˘ a
Seste de puterea continuumului, spunem c˘ a procesul este cu st˘ ari continue.
Mult ¸imea{(t,Xt)|t∈T}se nume¸ ste traiectorie a procesului stochastic.
Procesul stochastic este cunoscut dac˘ a pentru ∀n,t1,t2,…,t neste cunos-
cut˘ a funct ¸ia de repartit ¸ie
Ft1,t2,…tn(x1,x2,…,x n) =P(Xt1<x1,…,X tn<xn).
Definit ¸ia 5. 1 Procesul stochastic {Xt}t∈Tse nume¸ ste stat ¸ionar tare dac˘ a
∀n,h∈R, t1<t2<…<t navem
Ft1+h,t2+h,…,t n+h(x1,x2,…,x n) =Ft1,t2,…,t n(x1,x2,…,x n). (5.1)
Procesul{Xt}t∈Tse nume¸ ste stat ¸ionar slab sau simplu stat ¸ionar dac˘ a
are momente de ordinul doi, adic˘ a exist˘ a ¸ si sunt finite mt=E[Xt], σst=
Cov[Xs,Xt], s<t ¸ simt=m=const, σ st=σ(t−s).
117
118 CAP. 5. SIMULAREA PROCESELOR STOCHASTICE
Observ˘ am c˘ a pentru un proces stat ¸ionar tare, avem in part icularFt+h(x) =
Ft(x),adic˘ a procesul are aceea¸ si funct ¸ie de repartit ¸ie la ori ce moment de
timpt, dar variabilele Xtpot s˘ a nu fie independente pentru diverse valori
ale luit.Dac˘ a variabilele Xtsunt independente atunci suntem in cazul banal
clasic, al unei familii de variabile aleatoare independent e.
Se poate observa cu u¸ surint ¸˘ a c˘ a dac˘ a {Xt}t∈Teste stat ¸ionar tare ¸ si
are momente de ordinul doi, atunci el este stat ¸ionar; recip roc nu este ins˘ a
adev˘ arat.
In ceeace prive¸ ste simularea proceselor stochastice, ne i ntereseaz˘ a s˘ a pro-
ducem cu calculatorul puncte ale unor traiectorii finite. In cazul unui lant ¸ de
exemplu este necesar s˘ a producem un num˘ ar finit de puncte al e traiectoriei
lant ¸ului. In cazul unui proces cu timp continuu simul˘ am di ntr-o traiectorie
numai un num˘ ar finit de puncte ale acesteia, deobicei coresp unzˆ and valorilor
discrete ale timpului t= 0,1,2,…,n. De fapt problema construirii unui algo-
ritm de simulare a unui proces revine la urm˘ atoarele: dˆ and u-se o valoare X0
a procesului (presupus˘ a a se afla pe o traiectorie a sa la mome ntult= 0),
se cere s˘ a se simuleze valoarea X1aflat˘ a pe aceea¸ si traiectorie la momentul
t= 1.
Desigur, problema simul˘ arii unui proces stochastic este m ult mai com-
plicat˘ a decˆ at a variabilelor aleatoare. In cele ce urmeaz ˘ a ne vom ocupa
de simularea lant ¸urilor ¸ si proceselor Markov ¸ si de simularea unor procese
stat ¸ionare care au repartit ¸ii de probabilitate cunoscute.
5.2 Lant ¸uri ¸ si procese Markov
Procesele ¸ si lant ¸urile Markov sunt acelea care satisfac proprietatea lui Markov.
Definit ¸ia 5. 2 Procesul{Xt}t∈Tdiscret, este un proces Markov dac˘ a satis-
face proprietatea
P(Xtn=xn|Xtn−1=xn−1,…,X t1=x1) =P(Xtn=xn|Xtn−1=xn−1)
(5.2)
adic˘ a procesul nu are memorie. Probabilit˘ at ¸ile P(Xtn=xn|Xtn−1=xn−1)
se numesc probabilit˘ at ¸i de tranzit ¸ie sau probabilit˘ at ¸i de trecere.
Dac˘ aT={0,1,2,…,n,}¸ siS={1,2,…,m},atunci avem de-a face cu un
lant ¸ Markov cu un num˘ ar finit de st˘ ari. Acest lant ¸ este car acterizat de
vectorulπ= (π1,π2,…,π n)/primecare reprezint˘ a repartit ¸ia init ¸ial˘ a a st˘ arilor ¸ si de
mult ¸imea probabilit˘ at ¸ilor de tranzit ¸ie Pij(s,t) =P(Xt=j|Xs=i), i,j∈
S, s<t, s,t∈N.
5.3. SIMULAREA UNUI LANT ¸ MARKOV 119
Se arat˘ a c˘ a probabilit˘ at ¸ile de tranzit ¸ie satisfac relat ¸ia lui Chapman-
Kolmogorov, adic˘ a
Pij(s,t) =/summationdisplay
k∈S/summationdisplay
s≤r≤tPik(s,r)Pkj(r,t). (5.2/prime)
Observ˘ am c˘ a Pij(s,t) definesc ni¸ ste matrici de probabilit˘ at ¸i de tranzit ¸ie care
au proprietatea/summationdisplay
j∈SPij(s,t) = 1. (5.3)
Dac˘ at−s= 1 atunci matricile ||Pij(s,s+ 1)||,s∈Nsuntmatrici de
probabilit˘ at ¸i de tranzit ¸ie intr-un pas ¸ si matricile||Pij(s,t)||,s,t∈Nsunt
matrici de tranzit ¸ie in t−spa¸ si. Dac˘ a Pij(s,s+ 1) =pij(adic˘ a aceste
probabilit˘ at ¸i nu depind de momentele scˆ and au loc tranzit ¸iile intr-un pas)
spunem c˘ a lant ¸ul Markov este omogen sau stat ¸ionar.
S˘ a not˘ am cu Pmatricea probabilit˘ at ¸ilor de tranzit ¸ie intr-un pas pen tru
un lant ¸ Markov omogen ¸ si cu P(n)matricea probabilit˘ at ¸ilor de trecere inn
pa¸ sipentru acela¸ s lant ¸. Atunci din (5.2’) se deduce cu u¸ surin t ¸˘ a c˘ a
P(n+1)=P(n)P=PP(n)=Pn+1. (5.2/prime/prime)
Dac˘ a repartit ¸ia init ¸ial˘ a π= (π1,π2,…,π m)/primeeste cunoscut˘ a atunci folosind
formula probabilit˘ at ¸ii totale
P(Xn=s) =m/summationdisplay
j=1P(n)
sjπj (5.3)
deducem, utilizˆ and ¸ si (5.2”) repartit ¸ia lant ¸ului omog en la momentul n,π(n),
astfel
π(n)=Pnπ, P=||pij||,m/summationdisplay
j=1pij= 1. (5.4)
Dac˘ a o stare ia unui lant ¸ omogen are proprietatea c˘ a exist˘ a un j, j/negationslash=iastfel
incˆ atpij>0,atunci starea iestestare de tranzit ¸ie, iar dac˘ apii= 1 atunci
stareaiestestare absorbant˘ a. (Cˆ and lant ¸ul intr˘ a intr-o stare absorbant˘ a, el
nu mai p˘ ar˘ ase¸ ste acea stare).
5.3 Simularea unui lant ¸ Markov
S˘ a presupunem c˘ a se cunoa¸ ste repartit ¸ia init ¸ial˘ a π= (π1,π2,…,π m)/prime¸ si ma-
tricea probabilit˘ at ¸ilor de tranzit ¸ie P=||pij||.Atunci starea init ¸ial˘ a I=ise
120 CAP. 5. SIMULAREA PROCESELOR STOCHASTICE
simuleaz˘ a ca variabila discret˘ a
I:/parenleftBigg
1,2,…,m
π1,π2,…,π m/parenrightBigg
. (5.5)
Dac˘ a lant ¸ul se afl˘ a in starea iatunci starea aleatoare urm˘ atoare in care trece
lant ¸ul se simuleaz˘ a ca variabila discret˘ a
J:/parenleftBigg
1,2,…,m
pi1,pi2,…,p im/parenrightBigg
. (5,5/prime)
Deci, algoritmul de simulare a unei traiectorii i1,i2,…,i ncˆ and se dau π,P
este
Algoritmul MARKOVOMOG de simulare a lant ¸ului omogen
Cite¸ steπ,P=||pij||;Citet ¸en;
calculeaz˘ afi=/summationtexti
α=1πα, Fij=/summationtextj
α=1piα,1≤i≤m; (Acestea sunt
calcule preg˘ atitoare);
genereaz˘ aU:=random ;i:= 1 :whileU≥fidoi:=i+ 1;
fork:= 1tondo
begin
Genereaz˘ aU:=random ;Iaj:= 1;
whileU≥Fijdoj:=j+ 1;
Iai:=j,ik=i;Scrieik;
end.
In mod asem˘ an˘ ator se poate face ¸ si simularea lant ¸ului ne omogen, dac˘ a
se cunosc probabilit˘ at ¸ile de tranzit ¸ie intr-un pas Pij(s,s+ 1),1≤s≤n.
In acest caz, probabilit˘ at ¸ile Pij(s,s+ 1) sunt citite in cadrul ciclului foral
algoritmului cˆ and se calcululeaz˘ a pe rˆ and ¸ si probabilit˘ at ¸ile cumulate Fij.
S˘ a mai observ˘ am c˘ a dac˘ a lant ¸ul Markov are o stare absorb ant˘ ai0,cele-
lalte fiind de tranzit ¸ie, atunci din orice stare init ¸ial˘ a iar porni procesul,
exist˘ a o traiectorie finit˘ a de lungime N(i)astfel incˆ at X1=i,…,X N(i)=i0,
adic˘ a lant ¸ul se opre¸ ste in starea absorbant˘ a i0.
Pentru un proces Markov cu o mult ¸ime continu˘ a Sde st˘ ari{Xt}t∈Tse
presupune dat˘ a densitatea de repartit ¸ie init ¸ial˘ a p(x)>0, x∈S¸ si densitatea
de probabilitate de tranzit ¸ie q(x,y)>0, x,y∈S,densit˘ at ¸i care satisfac
condit ¸iile /integraldisplay
Sp(x)dx= 1,/integraldisplay
Sq(x,y)dy= 1. (5.6)
Algoritmul in acest caz este
5.4. SIMULAREA UNOR PROCESE GAUSIENE STAT ¸IONARE 121
Algoritmul MARKOVCONT de simulare a unui proces Markov con-
tinuu
Intraren; (n=num˘ arul de puncte ale traiectoriei);
genereaz˘ a starea init ¸ial˘ a X0;p(x);
fori:= 1ton−1do
begin
Genereaz˘ aY;q(X0,y);
IaXi:=Y;X0:=Y;ScrieXi;
end.
Punctele traiectoriei generate sunt X0,X1,…,X n−1.
5.4 Simularea unor procese gausiene sta-
t ¸ionare
Fie procesul stat ¸ionar care are funct ¸ia de autocovariant ¸˘ a
φ(t) =Cov(Xs,Xs+t), t= 0,1,2,… φ (0) =Var(Xt) =σ2(4.7)
¸ si f˘ ar˘ a a pierde generalitatea consider˘ am mt=m= 0.Dac˘ a not˘ am ρ(Xs,Xt+s) =
Corr(Xs,Xt+s) rezult˘ a c˘ a ρ(Xs,Xt+s) =ρ(t), t= 1,2,…Funct ¸iaρ(t) este
funct ¸ia de autocorelat ¸ie a procesului.
Dac˘ a pentru orice t, repartit ¸ia lui Xteste normal˘ a N(0,σ),atunci pro-
cesul{Xt}t∈Teste un proces gausian.
5.4.1 Procesul gausian cu funct ¸ie de autocorelat ¸ie
exponent ¸ial˘ a
Acest proces are fun¸ ctia de autocorelat ¸ie
ρ(t) =φ(t)
φ(0)=θt, t= 1,2,…0<θ< 1 (5 .8)
¸ si s˘ a consider˘ am σ2dispersia sa. Acest proces se simuleaz˘ a cu formula de
recurent ¸˘ a
Z0;N(0,1), Z t+1=θZt+/radicalbig
1−θ2/epsilon1t, t= 1,2,…,X t+1=σZt+1(5.8/prime)
unde/epsilon1t,t= 1,2,…sunt variabile N(0,1) independente ¸ si independente de
Zt.Intr-adev˘ ar, Zt+1are repartit ¸ie normal˘ a ¸ si Var(Xt) =σ2¸ si
Cov(Zt,Zt+1) =Cov(Zt,Zt+1) =E[Zt,Zt+1] =E[Zt(θZt+/radicalbig
1−θ2/epsilon1t)] =
122 CAP. 5. SIMULAREA PROCESELOR STOCHASTICE
=E[θZ2
t]E[/radicalbig
1−θ2Zt/epsilon1t] =θ+/radicalbig
1−θ2E[Zt]E[/epsilon1t] =θ.
Asem˘ an˘ ator
Cov[Zt,Zt+2] =E[θZtZt+1] +E[Zt/radicalbig
1−θ2/epsilon1t] =
=θθ+E[Zt+1]E[/epsilon1t]/radicalbig
1−θ2=θ2.
Prin induct ¸ie se deduce c˘ a E[Z1Zt+1] =θt¸ si formula (5.8’) este justi-
ficat˘ a. Aceast˘ a formul˘ a iterativ˘ a permite deci simular ea unei traiectorii
X1,X2,…,X n.Se observ˘ a c˘ a σnu joac˘ a un rol important ¸ si de aceea putem
consideraσ= 1.
5.4.2 Procesul gausian cu funct ¸ie de autocorelat ¸ie
liniar˘ a
S˘ a presupunem c˘ a pentru un intreg mdat funct ¸ia de autocorelat ¸ie a proce-
sului gausian{Xt}este de forma
ρ(t) =/braceleftbigg1−t
m, daca 1≤t≤m
o,altfel, Cov(Xt,Xt+k) = Φ(k),(5.9)
ρ(k) =Φ(k)
Φ(0), Var (Xt) =σ2
∗= Φ(0)
¸ si dorim s˘ a simul˘ am un proces gausian {Xt}cu aceast˘ a funct ¸ie de autocorelat ¸ie
¸ si cuVar(Xt) =σ2
∗.
Vom simula Xtutilizˆ and teorema limit˘ a central˘ a. Pentru aceasta s˘ a
consider˘ am variabilele aleatoare Vi,i≥1,independente ¸ si uniform distribuite
pe [−a,a], a>0 cua−dat. Avem deci
E[V] = 0, Var [V] =a2
3=σ2. (5.10)
Pentru a genera procesul gausian {Xt}t∈Nde medie 0 ¸ si dispersie σ2
∗,alegem
mai intˆ aiN >10 (impus de teorema limit˘ a central˘ a) ¸ si un num˘ ar natura l
p, p> 0 a c˘ arui valoare va fi precizat˘ a mai jos. Simul˘ am valorile de select ¸ie
Xt,Xt+1,t∈N,astfel
Xt=n/summationdisplay
i=1Vi, X t+1=N+p/summationdisplay
i=p+1Vi, (5.11)
5.4. SIMULAREA UNOR PROCESE GAUSIENE STAT ¸IONARE 123
¸ si vom determina a,σ,p astfel incˆ at
Corr(Xt,Xt+k) =ρ(k). (5.12)
Deoarece in expresiile lui Xt,Xt+1aparN−pvariabileViindependente,
avem
Cov[Xt,Xt+k] =E{(Xt−Xt+k)2}=E{X2
t−2XtXt+k+X2
t+k}=
=E{(Xt−Xt+k)2}= 2Nσ2−2Φ(k). (5.12)
Dac˘ ak<N/p atunci in expresia E[(Xt−Xt+k)2] exist˘ a numai 2 kpvariabile
de select ¸ieViindependente stochastic, de unde
E[(Xt−Xt+k)2] = 2kp2= 2Nσ2−2Φ(k)→kp2=Nσ2−Φ(k).
Din ultima relat ¸ie deducem c˘ a
ρ(k) =Φ(k)
Nσ2= 1−kp
N
¸ si identificˆ and cu prima relat ¸ie (5.9) trebuie s˘ a lu˘ am
p=N
m
pentru a obt ¸ine expresia cerut˘ a a lui ρ(k).
Trebuie s˘ a determin˘ am acum valoarea lui a.DeoareceVar(Xt) =Nσ2=
σ2
∗¸ si conform (5.10) a=σ√
3,rezult˘ a c˘ a trebuie s˘ a avem
σ=σ∗√
Na=σ∗√
N√
3.
In concluzie, dˆ andu-se m,σ∗¸ siN(de ex.N= 12,) simularea procesului
gausian cu funct ¸ia de autocorelat ¸ie dat˘ a de prima formul ˘ a (5.9) se realizeaz˘ a
cu urm˘ atorul algoritm
Algoritmul PRGAUSLIN de simulare a procesului gausian cu funct ¸ie
de autocorelat ¸ie liniar˘ a
Intrarem,σ∗,N;Calculeaz˘ a a:=σ∗√
N√
3;Determin˘ a pintreg astfel incˆ at
p=N
m; (Dac˘ a pentru mdat ¸ siNinit ¸ial ales nu exist˘ a intregul pastfel incˆ at
N=mpatunci se alege alt N >10 pentru care s˘ a poat˘ a fi determinat p.
Calculele precedente sunt calcule preg˘ atitoare);
fori:= 1toNdo begin
124 CAP. 5. SIMULAREA PROCESELOR STOCHASTICE
X0:= 0;Genereaz˘ aU:=random ;
Calculeaz˘ a W:=−a+ 2aU;Vi:=W;X0:=X0+Vi;
end:
ScrieX0;X1:= 0; (*)
fori:= 1toN−pdo beginVi:=Vi+p;X1:=X1+Viend;
fori:=N−p+ 1toNdo begin
Genereaz˘ aU:=random ;W:=−a+ 2aU;Vi:=W;
X1:=X1+Vi;ScrieX1;
end.
Repetˆ and de Tori instruct ¸iunile algoritmului precedent ce incep cu cal –
culul sumei X1(instruct ¸iunea *) se obt ¸ine traiectoria X1,X2,…,X Ta pro-
cesului gausian.
•Simularea procesului de zgomot alb pur. Procesul zgomotului
alb{Xt}t∈Teste descris de urm˘ atoarele relat ¸ii de recurent ¸˘ a
X0=/radicalBigg
1−θ
1 +θV0, Xt=θXt−1+ (1−θ)Vt,0<θ< 1, (5.13)
undeVt,t= 0,1,2,…sunt variable aleatoare independente ¸ si identic repar-
rtizate avˆ and propriet˘ at ¸ile E(Vt) = 0, Var(Vt) =σ2.Se observ˘ a c˘ a
E(Xt) = 0, Var(Xt) =σ2
∗=1−θ
1 +θσ2. (5.14)
Se deduce apoi c˘ a
Corr(Xt,Xt+k) =ρ(k) =θk. (5.15)
Intr-adev˘ ar, deoarece Xt−1este independent de Vtrezult˘ a c˘ a
Φ(1) =Cov(Xt,Xt−1) =E[Xt,Xt−1)] =θE[X2
t−1] =θσ2
∗.
Prin induct ¸ie se arat˘ a c˘ a
Φ(k) =Cov(Xt,Xt+k) =θkσ2
∗
¸ si (5.15) este demonnstrat˘ a.
Algoritmul pentru simularea zgomotului alb este u¸ sor de co nstruit.
Dac˘ aVt, t= 0,1,…sunt variabile unifirme pe [ −a,a] cuadat, atunci
procesul{Xt}t∈Tse nume¸ ste zgomot alb pur. Desigur, asem˘ an˘ ator celor de
mai sus se deduce c˘ a
E[Vt] = 0, Var(Vt) =σ2=a2
3, Var(Xt) =σ2
∗=1−θ
1 +θσ2
5.5. SIMULAREA PROCESULUI POISSON 125
de unde, dˆ andu-se θ¸ siσ∗avem
σ=σ∗/radicalBigg
1 +θ
1−θ, a=σ√
3.
Cu aceste elemente se construie¸ ste u¸ sor algoritmul de sim ulare al zgomo-
tului alb pur pe baza relat ¸iei (5.13).
5.5 Simularea procesului Poisson
Procesul Poisson este un caz particular de proces de na¸ ster e ¸ si deces (vezi
$ 7.1.1), mai precis este un proces de na¸ stere pur cu intensi tateaλn=λ, a
c˘ arui repartit ¸ie satisface eceat ¸iile diferent ¸iale
P/prime
0(t) =−λP0(t), P/prime
n(t) =−λPn(t) +λPn−1(t), n≥1. (5.16)
Dac˘ a se dau condit ¸iile init ¸iale naturale P0(0) = 1,Pi(0) = 0,i >0 atunci
solut ¸ia sistemului (5.16) este
Pn(t) =(λt)n
n!e−λt(5.16/prime)
iar dac˘ aλdepinde de t,(λ=λ(t)) atunci solut ¸ia este
Pn(t) =(Λ(t))n
n!e−Λ(t),Λ(t) =/integraldisplayt
0λ(u)du. (5.16/prime/prime)
Procesul avˆ and repartit ¸ia (5.16’) se nume¸ ste proces Poisson omogen (PPO)
iar procesul avˆ and repartit ¸ia (5.16”) se nume¸ ste proces Poisson neomogen
(PPNO).
Simularea unei valori de select ¸ie a PPO sau PPNO se poate rea liza cu
ajutorul metodei din $ 3.6.3. Pentru aceasta reamintim c˘ a o valoare de
select ¸ieN;Poisson (λ) satisface condit ¸ia
SN≤1<SN+1, S k=k/summationdisplay
i=1Zi, Z i;Exp(λ).
Conceptul de PPO poate fi generalizat astfel: se consider˘ a c ˘ a procesul are
drept parametru tot t=timpul , ¸ si ia ca valori puncte X∈A⊂Rk; procesul,
numit PPOU uniform pe Ade intensitate λ, ia ca valori Xi∈A,1≤i≤N
dac˘ aN;Poisson (λVol(A)) ¸ siXisunt puncte uniform repartizate in A.
Desigur, PPOU pe Ase simuleaz˘ a astfel
126 CAP. 5. SIMULAREA PROCESELOR STOCHASTICE
Algoritm PPOU
genereaz˘ aN;Poisson (λVol(A));
genereaz˘ aX1,X2,…,X kpuncte uniform repartizate in A.
PuncteleXireprezint˘ a valori aleatoare ale PPOU.
In mod analog se poate considera PPNOU peAcˆ and variabila aleatoare
Nare repartit ¸ia N;Poisson (Λ(t)Vol(A)).
Cap. 6
Metoda Monte Carlo
6.1 Generalit˘ at ¸i
Sub denumirea de metode Monte Carlo sunt cuprinse o serie de tehnici de re-
zolvare a diverse probleme utilizˆ and numere aleatoare, variabile aleatoare sau
procese stochastice simulate cu calculatorul. Mai precis se accept˘ a urm˘ atoar ea
definit ¸ie
Definit ¸ia 6. 1 Fie de rezolvat o problem˘ a numeric˘ a Pcare are solut ¸ia θ.
O metod˘ a Monte Carlo pentru rezolvarea lui Pconst˘ a in urm˘ atoarele:
– se asociaz˘ a in mod adecvat un proces stochastic ξproblemei astfel
incˆ at cu ajutorul lui ξs˘ a se poat˘ a estima θ;(de exemplu θ=E[τ(ξ)],sau
E[τ(ξ)]→θ,sauτ(ξ)converge intr-un sens probabilist c˘ atre θ, undeτeste
o funct ¸ie dat˘ a). S˘ a not˘ am deci τ=τ(ξ)estimatorul lui θ.(τ(ξ)se nume¸ ste
estimator primar. ).
– se simuleaz˘ a o select ¸ie ξ1,ξ2,…,ξ nasupra luiξ¸ si se calculeaz˘ a un es-
timatorτnal luiτ(ξ); dac˘ a de exemplu E[τ(ξ)] =θatunci estimatorul lui
τ(ξ)este
τn=1
nn/summationdisplay
i=1τ(ξi) (6 .1)
¸ si el se nume¸ ste estimator secundar.
– solut ¸ia problemei Pse aproximeaz˘ a cu τn.
Dac˘ a estimatorul primar τ(ξ) este nedeplasat, adic˘ aE[τ(ξ)] =θ,atunci
estimatorul secundar τnsatisface de regul˘ a legea numerelor mari ¸ si deci
τn→θin probabilitate.
127
128 CAP. 6. METODA MONTE CARLO
Desigur, nu exist˘ a o regul˘ a sau o tehnic˘ a matematic˘ a bin e precizat˘ a pen-
tru construct ¸ia unei metode Monte Carlo. Este mai degrab˘ a o art˘ a necesar˘ a
pentru construct ¸ia unei astfel de metode.
De cele mai multe ori, estimatorul primar este τ(ξ) astfel caE[τ(ξ)] =θ.
(Deocamdat˘ a consider˘ am c˘ a θeste un num˘ ar, dar el poate fi ¸ si vector sau o
funct ¸ie). Estimat ¸ia Monte Carlo aproximeaz˘ a solut ¸ia θ,a¸ sa cum s-a precizat.
S˘ a presupunem c˘ a exist˘ a σ2=Var{τ(ξ)}<∞¸ si c˘ a dorim s˘ a aproxim˘ am
θcu o anumit˘ a eroare dat˘ a /epsilon1.Darθeste determinist ¸ si τneste aleator. De
aceea eroarea /epsilon1trebuie considerat˘ a in probabilitate, adic˘ a
P(|τn−θ|</epsilon1) =p= 1−δ (6.2)
undeδeste o probabilitate mic˘ a (un riscmic). Deci conform legii numerelor
mari, trebuie s˘ a alegem nastfel incˆ at pentru /epsilon1¸ siδsuficient de mici dat ¸i s˘ a
fie satisf˘ acut˘ a relat ¸ia (6.2).
Teorema 6. 1 Volumulnal select ¸ieiξ1,ξ2,…,ξ nnecesar pentru a estima θ
prinτncu eroarea/epsilon1dat˘ a ¸ si cu riscul δadmis este
n≥n0, n 0=/bracketleftBigg
t2
δσ2
/epsilon12/bracketrightBigg
+ 1, tδ=1√
δ(6.3)
unde[x]este partea intreag˘ a a lui x.
Demonstrat ¸ie. DeoareceVar(τ(ξ)) =σ2rezult˘ a c˘ a
Var(τn) =Var1
nn/summationdisplay
i=1τ(ξi) =σ2
n.
Aplicˆ and inegalitatea lui Cebˆ a¸ sev variabileiτnavem
P(|τn−θ|<tσ√n)≥1−1
t2=p.
Deoarece dorim ca P(|τn−θ|</epsilon1)≥p= 1−δ,impunem condit ¸iile
1−1
t2= 1−δ, tσ√n≤/epsilon1
de unde deducem
t=tδ=1√
δ, n≥t2
δσ2
/epsilon12
de unde rezult˘ a (6.3) ¸ si teorema este demonstrat˘ a.
6.1. GENERALIT ˘AT ¸I 129
Cu ajutorul metodei Monte Carlo se rezolv˘ a multe tipuri de p robleme
cum sunt: calculul integralelor, rezolvarea sistemelor de ecuai ¸i l iniare ¸ si a
ecuat ¸iilor integrale, rezolvarea problemei Dirichlet pe ntru ecuat ¸ii cu derivate
part ¸iale de tip eliptic, rezolvarea problemelor de oprimi zare cu restrict ¸ii, etc.
O parte din astfel de probleme vor fi tratate in continuare.
6.1.1 Calculul integralelor
Calculul numeric al integralelor, a¸ sa zisele formule de cu adratur˘ a, consti-
tuie un domeniu bine studiat in cadrul analizei numerice cla sice, mai ales in
cazulunidimensional. In cazul multidimensional ins˘ a, calculul integralelor
prindiscretizare, (aproximare prin sume integrale) este dificil de realizat
practic. De aceea in cazul multidimensional mult mai bune su nt procedurile
Monte Carlo de calcul al integralelor. Totu¸ si, pentru u¸ su rarea expunerii, aici
vom prezenta unele metode Monte Carlo de calcul al integrale lor numai in
cazul unidimensional, avˆ and ca scop numai simplificarea sc rierii. Va trebui
ins˘ a s˘ a avem ca obiectiv utilizarea metodelor mai ales in c azul multidimen-
sional. Desigur, metodele Monte Carlo se aplic˘ a ¸ si la calc ulul integralelor
unidimensionale cˆ and formulele de cuadratur˘ a sunt ne apl icabile (de ex. in
cazul integralelor improprii) sau se aplic˘ a cu dificultate .
S˘ a presupunem deci, f˘ ara a restrˆ ange generalitatea, c˘ a avem de calculat
integrala
θ=/integraldisplay1
0f(x)dx. (6.4)
Dac˘ a am avea de calculat
I=/integraldisplayb
ag(t)dt,−∞<a<b< +∞
atunci prin transformarea
x=t−a
b−a, dt = (b−a)dx,
integrala cap˘ at˘ a forma
I= (b−a)/integraldisplay1
0f(x)dx= (b−a)θ, f(x) =g(a+ (b−a)x),
¸ si deci problema se reduce la calculul integralei de forma ( 6.4).
130 CAP. 6. METODA MONTE CARLO
6.2 Metoda Monte Carlo brut˘ a.
Dac˘ a considet˘ am Uvariabila aleatoare uniform˘ a 0 −1,atunciθse poate
scrie
θ=E[f(U)] =/integraldisplay1
0f(u)du
adic˘ aτ=f(U) este un estimator primar nedeplasat al luiθde unde rezult˘ a
c˘ a dac˘ a consider˘ am select ¸ia U1,U2,…,U natunciθse estimeaz˘ a cu media
aritmetic˘ a, adic˘ a cu estimatorul secundar
θn=1
nn/summationdisplay
i=1f(Ui). (6.5)
Metoda aceasta bazat˘ a pe formula (6.5) se nume¸ ste metoda Monte Carlo
brut˘ a (denumirea derivˆ and din faptul c˘ a se folose¸ ste repartit ¸ia uniform˘ a).
Exemplul 6.1 Calculul lui π.S˘ a presupunem c˘ a se d˘ a cercul de raz˘ a 1
cu centrul in origine x2+y2= 1,fieDdiscul m˘ arginit de acest cerc ¸ si s˘ a
consider˘ am χD(x,y) funct ¸ia indicator a acestui domeniu D.Atunci
a=aria(D) =/integraldisplay /integraldisplay
Ddxdy=π=/integraldisplay /integraldisplay
χD(x,y)dxdy.
S˘ a consider˘ am acum intervalul bidimensional (p˘ atratul )I2= [−1,1]×[−1,1]
¸ si vectorulV= (V1,V2)/primeuniform pe I2.Atunci
p=aria(D)
aria(I2)=π
4
se estimeaz˘ a cu
p=1
nn/summationdisplay
i=1χD(Vi) =χD,n
undeV1,V2,…,V neste o select ¸ie asupra lui V.Din ultima relat ¸ie rezult˘ a c˘ a
π≈4p=4
nn/summationdisplay
i=1χD(Vi) = 4χD,n (6.5/prime)
formul˘ a care d˘ a aproximarea lui π.Dac˘ a not˘ am σ2=Var(χD(V)) =p(1−p),
rezult˘ a c˘ a
Var(p) =1
np(1−p)≤1
n4. (6.5/prime/prime)
S˘ a revenim acum la analiza estimatorului (6.5).
6.3. METODE DE REDUCERE A DISPERSIEI 131
Dac˘ a se cere estimarea (aproximarea) lui θcu eroarea /epsilon1dat˘ a ¸ si cu coe-
ficientul de risc δdat, atunci volumul necesar al select ¸iei este dat de (6.3).
Pentru a aplica formula (6.3) ar trebui s˘ a cunoa¸ stem
σ2=Var[f(U)] =/integraldisplay1
0(f(u)−θ)2du=/integraldisplay1
0f2(u)du−θ2. (6.6)
Suntem deci in fat ¸a unui caz special ¸ si oarecum ciudat: pen tru a calcula θar
trebui sa-l cunoa¸ stem mai intˆ ai pe θ¸ si s˘ a cunoa¸ stem ¸ si integrala/integraltext1
0f2(x)dx
(presupunˆ and deci c˘ a f∈L2[0,1]). Dar nu putem abandona ideea. Putem
determina (estima) pe ncu (6.3) intr-unul din dou˘ a moduri ¸ si anume:
(1) Presupunem c˘ a f(x)≤M <∞, x∈[0,1]. Atunci avem σ2<M2si
deci in (6.3) putem inlocui σ2=M2obt ¸inˆ and un nmai mare dar care asigur˘ a
cu atˆ at mai mult precizia/epsilon1¸ si risculδ.In particular, in cazul exemplului 6.1
putem determina n0din (6.3) luˆ and σ2=p(1−p).
(2) Alt mod de a estima un nconst˘ a in a estima mai intˆ ai pe σ2folosind
o select ¸ie de volum k, U1,U2,…,U k¸ si anume
σ2≈s2=1
kk/summationdisplay
i=1(f(Ui)−θk)2
iar din (6.3) (luˆ and σ=s) determin˘ am n.
Din cele analizate, rezult˘ a c˘ a estimat ¸ia θna luiθare dispersia
Var(θn) =1
nσ2, σ2=Var(f(U)). (6.7)
Deci precizia metodei depinde in mod esent ¸ial de σ.Dar, din prima integral˘ a
din (6.6) rezult˘ a c˘ a σ2depinde direct de m˘ arimea variat ¸iei pe [0,1]a lui
f(x)−θ.Pentru a m˘ ari deci precizia metodei este necesar s˘ a mic¸ sor˘ am
dispersiaσ2=Var[f(U)].De aceea vom prezenta in continuare metode de
reducere a dispersiei.
6.3 Metode de reducere a dispersiei
Vom prezenta cˆ ateva metode de reducere a dispersiei estima torului primar
in calculul integralelor definite.
6.3.1 Metoda Monte Carlo dup˘ a important ¸˘ a.
Aceast˘ a metod˘ a deriv˘ a tocmai din cerint ¸a de a mic¸ sora v ariat ¸ia luif(x)−θpe
[0,1].Pentru aceasta s˘ a alegem o densitate de repartit ¸ie p(x), x∈[0,1] astfel
132 CAP. 6. METODA MONTE CARLO
incˆ at variat ¸ia funct ¸iei ( f(x)/p(x)−θ)2p(x) s˘ a fie mai mic˘ a decˆ at variat ¸ia lui
(f(x)−θ)2pe [0,1].(Acest lucru se obt ¸ine dac˘ a de exemplu se alege p(x)
astfel incˆ at graficele funct ¸iilor f(x) ¸ sip(x) s˘ a fie aproape paralele!).
Cu aceast˘ a alegere a lui p(x) integrala (6.4) se scrie
θ=/integraldisplay1
0f(x)
p(x)p(x)dx=E[f(X)
p(X)] (6 .8)
undeX;p(x).Deciτ(i)=f(X)/p(X) este un estimator primar pentru θ.
Simulˆ and o select ¸ie X1,X2,…,X na luiX,din (6.8) rezult˘ a c˘ a θse estimeaz˘ a
cu estimatorul secundar
θ(i)
n=1
nn/summationdisplay
i=1f(Xi)
p(Xi).
Datorit˘ a alegerii densita˘ at ¸ii p(x) ca mai sus rezult˘ a c˘ a
Var[f(U)]>Var/bracketleftbiggf(X)
p(X)/bracketrightbigg
,→Var[θn]>Var [θ(i)
n]
¸ si deci se realizeaz˘ a reducerea dispersiei. Densitatea p(x) se nume¸ ste funct ¸ie
de important ¸˘ a , de unde ¸ si denumirea de metoda Monte Carlo dup˘ a important ¸˘ a.
S˘ a observ˘ am c˘ a metoda dup˘ a important ¸˘ a se poate aplica cu succes la
calculul unor integrale pe interval necompact , chiar integ rale multiple.
Exemplul 6.2 S˘ a ne propunem s˘ a calcul˘ am integrala
I=/integraldisplay∞
0/integraldisplay∞
0e−x5/2−y3/2/radicalBig
x2+y2+ 1dxdy.
S˘ a alegem funct ¸ia de important ¸˘ a
p(x,y) =/braceleftbigge−x−y, daca x> 0,y>0
0, altfel.
Se observ˘ a c˘ a vectorul aleator T= (X,Y)/primecare are densitatea p(x,y), are
componentele sale X¸ siYrepartizate Exp(1) ¸ si independente, ele putˆ andu-
se simula cu u¸ surint ¸˘ a. Se poate deci aplica metoda Monte C arlo dup˘ a
important ¸˘ a pentru estimarea integralei I.
Exemplul 6.3. S˘ a consider˘ am integrala
θ=1/integraldisplay
0g(x)√xdx
6.3. METODE DE REDUCERE A DISPERSIEI 133
undeg(x) este cotinu˘ a pe [0 ,1].Metoda Monte Carlo brut˘ a conduce la esti-
matorul secundar
θn=1
nn/summationdisplay
i=1g(Ui)√Ui, U i;uniform [0,1].
DeoareceVar(g(U)√
U) =∞,rezult˘ a c˘ a metoda Monte Carlo brut˘ a nu este
bun˘ a. Dar dac˘ a lu˘ am ca funct ¸ie de important ¸˘ a densitatea pe [0 ,1]
p(x) =1
2√x, F(x) =P(X <x ) =
0, x< 0
1−√x, x∈[0,1]
1, x> 1
atunci dispersia estimatorului dup˘ a important ¸˘ a este finit˘ a ¸ si deci aceast˘ a
ultim˘ a metod˘ a este mai bun˘ a.
••Observat ¸ii. (1) S˘ a observ˘ am c˘ a metoda select ¸iei dup˘ a important ¸˘ a
se poate aplica la calculul oric˘ arei integrale, simpl˘ a sa u multipl˘ a de forma
θ=/integraldisplay
Df(x)p(x)dx=/integraldisplay
f(x)p(x)dx, D⊆Rk (6.8/prime)
undep(x) este densitate.Valoarea integralei θse aproximeaz˘ a cu estimatorul
secundar
θn=1
nn/summationdisplay
i=1f(Yi), Y i;p(x).
S˘ a alegem acum o alt˘ a densitate q(x), x∈D¸ si fieX;q(x).Scriind
θ=/integraldisplayf(x)p(x)
q(x)q(x)dz=E/bracketleftbiggf(X)p(X)
q(X)/bracketrightbigg
putem determina un estimator nedeplasat al lui θastfel
ˆθn=1
nn/summationdisplay
i=1f(Xi)p(Xi)
q(Xi), X i;q(x).
Se poate ar˘ ata c˘ a dispersia estimatorului ˆθnse mic¸ soreaz˘ a fat ¸˘ a de cea a lui θn
dac˘ a alegem ca densitate q(x) =q0(x)∼|f(x)|p(x),adic˘ a satisface aceast˘ a
relat ¸ie de proport ¸ionalitate. Utilizarea celor dou˘ a de nsit˘ at ¸ip(x),q0(x) pen-
tru calculul unei integrale, (cu q0(x) ales ca mai sus) poate deci conduce la
mic¸ sorarea dispersiei fat ¸˘ a de metoda brut˘ a.
134 CAP. 6. METODA MONTE CARLO
(2) S˘ a presupunem c˘ a avem de calculat mai multe integrale m ultiple pe
acela¸ s domeniu de forma (6.8’), adic˘ a
θi=/integraldisplay
Dfi(x)pi(x)dx=/integraldisplay
fi(x)p(x)dx, 1≤i≤s
¸ si pentru fiecare alegem o aceea¸ si densitate de important ¸˘ a q(x) ca la observat ¸ia
(1), precedent˘ a. Obt ¸inem atunci estimatorii secundari
ˆθ(i)
n=1
nn/summationdisplay
i=1fi(Xi)p(Xi)
q(Xi), X i;q(x).
Presupunem c˘ a se dau constantele ai,1≤i≤s,¸ si dorim s˘ a alegem q(x)
astfel incˆ at Var(/summationtext
iaiˆθ(i)
n) s˘ a fie minim˘ a. Avem
Var(ˆθn) =Var(/summationdisplay
iaiˆθ(i)
n) =/integraldisplays/summationdisplay
i=1a2
if2
i(x)p2(x)
q(x)dx−s/summationdisplay
i=1a2
iθ2
i
iar minimum acestei dispersii se obt ¸ine cˆ and este minim˘ a expresia
S=/integraldisplays/summationdisplay
i=1a2
if2
i(x)p2(x)
q(x)dx.
S˘ a consider˘ am variabila aleatoare
η=/parenleftBiggs/summationdisplay
i=1a2
if2
i(X)/parenrightBigg1
2p(X)
q(X), X;q(x)
¸ si s˘ a observ˘ am c˘ a Var(η) =S−I2,unde
I=/integraldisplay/parenleftBiggs/summationdisplay
i=1a2
if2
i(x)/parenrightBigg1
2
de unde
S≥
/integraldisplay/parenleftBiggs/summationdisplay
i=1a2
if2
i(x)/parenrightBigg1
2
p(x)dx
2
.
In concluzie dispersia Var(ˆθn) devine minim˘ a cˆ and
q(x) =q0(x) =1
I/parenleftBiggs/summationdisplay
i=1a2
if2
i(x)/parenrightBigg1
2
p(x), S=I
¸ si acest minim se atinge pentru q0(x) ¸ si el esteI2−s/summationtext
i=1a2
iθ2
i.
6.3. METODE DE REDUCERE A DISPERSIEI 135
6.3.2 Metoda variabilei de control
S˘ a presupunem c˘ a pentru a calcula integrala (6.6) cunoa¸ s tem o funct ¸ie ϕ
pentru care putem calcula u¸ sor integrala
µ=/integraldisplay1
0ϕ(u)du
¸ si presupunem c˘ a ϕeste selectat˘ a astfel incˆ at
Var[f(U)−ϕ(U)]<Var [f(U)]. (6.9)
Deoarece
θ=µ+/integraldisplay1
0[f(u)−ϕ(u)]du=µ+E[f(U)−ϕ(U)] (6.10)
rezult˘ a c˘ a putem estima θcu
µ+θ(c)
n=µ+1
nn/summationdisplay
i=1ψ(Ui), ψ(u) =f(u)−ϕ(u).
Dar din (6.9) avem
Var[µ+ψ(U)] =Var[ψ(U)]<Var [f(U)]
¸ si deci dispersia estimatorului µ+θ(c)
neste mai mic˘ a decˆ at cea a estimatorului
brutθn.Funct ¸iaϕse nume¸ ste funct ¸ie de control de unde deriv˘ a ¸ si denumirea
metodei.
6.3.3 Metoda variabilelor corelate
S˘ a presupunem c˘ a alegem o funct ¸ie ϕ(ca in cazul metodei variabilei de
control) astfel incˆ at
θ=/integraldisplay1
0ϕ(u)du+/integraldisplay1
0[f(u)−ϕ(u)]du
unde integrala µ=/integraltext1
0ϕ(u)duse poate calcula exact ¸ si u¸ sor. Dac˘ a in plus se
alegeϕastfel incˆ at
Var[ϕ(U)]−2Cov[ϕ(U),f(U)]<0, (6.11)
atunci, de asemenea se poate realiza reducerea dispersiei d eoarece
Var[ϕ∗(U)] =Var[f(U)−ϕ(U)] =
=Var[f(U)] +Var[ϕ(U)]−2Cov[f(U),ϕ(U)]<Var [f(U)].
Variabila aleatoare ϕ(U) care satisface (6.11) se nume¸ ste variabil˘ a corelat˘ a
(cuf(U)), de unde ¸ si denumirea metodei.
136 CAP. 6. METODA MONTE CARLO
6.3.4 Metoda variabilelor antitetice
S˘ a consider˘ am integrala (6.4) care se scrie
θ=E[τ] =E[f(U)],
s˘ a alegem un alt estimator primar f∗(U), θ=E[f∗(U)] ¸ si s˘ a consider˘ am
estimatorul primar
ϕ=f∗(1−U), E[ϕ(U)] =E[f∗(1−U)] =E[f∗(U)] =θ.
Atunci, putem considera estimatorul primar
ψ=1
2(τ+ϕ)
pentru care avem
Var(ψ) =1
4{Var(τ) +Var(ϕ) + 2Cov(τ,ϕ)}siCov (τ,ϕ)<0.
Dac˘ a se alege f∗astfel incˆ at
Var(ψ)<Var (τ) (6 .12)
atunci estimatorul ψrealizeaz˘ a reducerea dispersiei. Uneori puntem alege
simpluϕ=f(1−U) care satisface (6.12).
6.3.5 Metoda select ¸iei stratificate
Aceast˘ a metod˘ a deriv˘ a tot din ideea de a mic¸ sora dispers ia estimatorului
primar prin reducerea variat ¸iei funct ¸iei ce se integreaz ˘ a. Fie 0 =α0<α1<
…<α m= 1 o diviziune a intervalului [0 ,1].Atunci integrala (6.4) se scrie
θ=m/summationdisplay
i=1αj/integraldisplay
αj−1f(v)dv
de unde se deduce c˘ a fiecare din cele mintegrale ale sumei precedente se
poate estima prin metoda Monte Carlo brut˘ a, obt ¸inˆ andu-s e in final estima-
torul secundar
τ∗
m=m/summationdisplay
j=1kj/summationdisplay
i=1(αj−αj−1)1
kjf(αj−1+ (αj−αj−1)Uij) (6.13)
6.3. METODE DE REDUCERE A DISPERSIEI 137
undeUij,1≤j≤m,1≤i≤kjsunt select ¸ii de numere aleatoare inde-
pendente ¸ si uniforme 0 −1 de volume kj,iarn=m/summationtext
i=1kj.Cu select ¸iile de
volumekjde numere aleatoare uniforme 0 −1 se estimeaz˘ a integralele pe
intervalele [ αj−1,αj).Celemintervale se mai numesc (in limbaj statistic)
straturi iar select ¸ia format˘ a din cele mselect ¸ii ale straturilor se nume¸ ste
select ¸ie stratificat˘ a. F˘ acˆ and schimb˘ ari de variabile in integralele (6.13) se
deduce c˘ a
Var(τ∗
m) =m/summationdisplay
j=1(αj−αj−1)2
kjαj/integraldisplay
αj−1f2(u)du−m/summationdisplay
j=11
kj/bracketleftBigg/integraldisplayαj
αj−1f(u)du/bracketrightBigg2
.(6.14)
Notˆ and
θj=αj/integraldisplay
αj−1f(u)du,1≤j≤m
dispersia lui τ∗
mse mic¸ soreaz˘ a dac˘ a variat ¸iile funct ¸iilor f(u)−θjpe inter-
valele [αj−1,αj) sunt mult mai mici decˆ at variat ¸ia funct ¸iei f(u)−θ,u∈[0,1].
Din teoria statistic˘ a a sondajelor stratificate se ¸ stie c˘ a dac˘ a se fixeaz˘ a volu-
mul total al select ¸iei n,atunci volumele de select ¸ie ale straturilor kjse aleg
proport ¸ionale cu valorile
(αj−αj−1)αj/integraldisplay
αj−1f2(u)du−
αj/integraldisplay
αj−1f(u)du
2
. (6.15)
Punctele diviziunii αjse pot alege astfel incˆ at lungimile intervalelor s˘ a fie
egale cu1
m(adic˘ aαj=j
m) sau se aleg astfel incˆ at variat ¸ia funt ¸iei s˘ a fie
aceea¸ si pe fiecare interval.
DispersiaVar(τ∗
m) se calculeaz˘ a deobicei greu, dar ea se poate estima
astfel
Var(τ∗
m)≈s2
m=m/summationdisplay
j=1(αj−αj−1)2
kj(kj−1)kj/summationdisplay
i=1(fij−fj)2(6.16)
unde
fij=f(αj−1+ (αj−αj−1)Uij),fj=1
kjkj/summationdisplay
i=1fij. (6.16/prime)
138 CAP. 6. METODA MONTE CARLO
6.3.6 Reducerea dimensiunii de integrare
S˘ a presupunem c˘ a avem de calculat integrala multipl˘ a
θ=/integraldisplay
Df(x)p(x)dx, D∈Rk(6.4/prime)
undep(x) este densitate de repartit ¸ie. (Oricˆ and, o integral˘ a mu ltipl˘ a se
poate scrie a¸ sa). S˘ a not˘ am x= (y,z)/prime,y= (x1,x2,…,x s)/prime, s < k, z=
(xs+1,…,x k)/prime.Atunci, integrala (6.4’) se scrie, folosind notat ¸ii conve nabile
θ=/integraldisplay
(Y)/integraldisplay
(Z)f(y,z)p(y,z)dydz=/integraldisplay
(Y)˜f(y)p1(y)dy
p1(y) =/integraldisplay
(Z)p(y,z)dz,˜f(y) =/integraldisplay
(Z)f(y,z)p(y,z)dz
p1(y)
undep(y,z)
p1(y)este densitatea condit ¸ionat˘ a, iar p1(y) este densitate marginal˘ a.
S˘ a not˘ am ˜Yvectorul aleator care are densitatea p1(y) ¸ si cuX= (Y,Z)/prime,˜Y=
Yvectorul aleator corespunz˘ ator densit˘ at ¸ii p(x).Atunci putem estima inte-
gralaθin dou˘ a moduri ¸ si anume
θn=1
nn/summationdisplay
i=1f(Yi,Zi),˜θn=1
nn/summationdisplay
i=1˜f(Yi). (6.4/prime)
Se poate ar˘ ata c˘ a are loc relat ¸ia
Var(˜θn)≤Var(θn).
Intr-adev˘ ar, scriind in detaliu dispersiile avem
Var(θn)−Var(˜θn) =
=1
n/integraldisplay
(Y)
/integraldisplay
(Z)f2(y,z)p(y,z)
p1(y)dz−
/integraldisplay
(Z)f(y,z)p(y,z)
p1(y)dz
2
/integraldisplay
(Z)p(y,z)dy≥0.
Ultima inegalitate rezult˘ a din faptul c˘ a expresia din aco lade este dispersia
lui˜Y(care este pozitiv˘ a) iar p(x,y)≥0 fiind densitate de repartit ¸ie.
6.4 Rezolvarea unor ecuat ¸ii operatoriale
In aceast˘ a sect ¸iune ne vom ocupa de rezolvarea sistemelor de ecut ¸ii liniare
¸ si de rezolvarea unor ecuat ¸ii integrale.
6.4. REZOLVAREA UNOR ECUAT ¸II OPERATORIALE 139
6.4.1 Rezolvarea sistemelor de ecuat ¸ii liniare
S˘ a presupunem c˘ a sistemul de ecuat ¸ii liniare este scris s ub forma matricial˘ a
x=a+Hx,x∈Rn,a∈Rn, H= (hij),||H||= max
i(/summationdisplay
j|hij|)<1.(6.17)
(Dac˘ a sistemul este dat sub forma Ax=acux,a∈Rn,atunci el se scrie
sub forma (6.17) dac˘ a H= (I−A), I−matricea unitate n×n). Pentru
construirea metodei Monte Carlo de rezolvare a sistemului ( 6.17) asociem
problemei un lant ¸ Markov finit, absorbant ¸ si omegen cu n+ 1 st˘ ari astfel:
– la matricea Hn×nasociem matricea de probabilit˘ at ¸i Pn×n= (pij) cu
condit ¸ia
pij≥0,n/summationdisplay
j=1pij<1;pij/negationslash= 0⇔hij/negationslash= 0 (6 .18)
¸ si fiepi= 1−n/summationtext
j=1pij.Lant ¸ul Markov omogen ¸ si absorbant va avea matricea
probabilit˘ at ¸ilor de trecere
P∗=
p11p12… p 1np1
p21p22… p 2np2
. . … .
pn1pn2… p nnpn
0 0…0 1
; (6 .18/prime)
– in continuare definim ponderile
vij=/braceleftBigghij
pijdaca p ij>0
0altfel; (6 .19)
– pentru un i0,1≤i0≤ngener˘ am o traiectorie a lant ¸ului Markov
γ= (i0,i1,…,i m,im+1), im+1=n+ 1
adic˘ aim+1este stare absorbant˘ a; din construct ¸ia lant ¸ului rezult ˘ a c˘ a traiec-
toria este finit˘ a ( m<∞iarpim,im+1=pim);
– s˘ a consider˘ am acum expresia
Vm(γ) =vi0i1vi1i2…vim−1im, X(γ) =VM(γ)aim
pim. (6.20)
Pentru statistica X(γ) este adev˘ arat˘ a teorema
140 CAP. 6. METODA MONTE CARLO
Teorema 6. 2 StatisticaX(γ)este un estimator primar pentru componenta
xi0a solut ¸iei xa sistemului liniar (6.17).
Demonstrat ¸ie. Pentru traiectoria γdat˘ a avem
E[X(γ)|i0=i] =/summationdisplay
γP(γ)X(γ) =
=∞/summationdisplay
m=0/summationdisplay
i1i2…impii1pi1i2…pim−1impimvii1vi1i2…vim−1imaim
pim=
=∞/summationdisplay
m=0/summationdisplay
i1i2…imhii1hi1i2…him−1imaim=
=ai+ (Ha)i+ (H2a)i+… (6.20/prime)
Ultima formul˘ a reprezint˘ a componenta xi0=xia dezvolt˘ arii
x=a+Ha+H2a+… (6.21)
adic˘ a a solut ¸iei sistemului (6.17) ¸ si teorema este demon strat˘ a. Deoarece
||H||<1 rezult˘ a c˘ a (6.21) deci ¸ si (6.20’) converge.
Din cele de mai sus, rezult˘ a c˘ a dac˘ a consider˘ am o select ¸ ieγ1,γ2,…,γ N
de traiectorii independente ale lant ¸ului Markov construi t, pornind toate din
stareai0=iobt ¸inem estimatorul secundar al componentei xia sistemului
de forma
xi=1
NN/summationdisplay
i=1X(γi)
care este estimator nedeplasat ¸ si consistent pentru xi.Observ˘ am c˘ a metoda
Monte Carlo ne permite s˘ a determin˘ am o singur˘ a component˘ a a solut ¸iei,
(componenta xi, i=i0), ceea ce nu putem realiza cu nicio metod˘ a numeric˘ a
clasic˘ a. Acest fapt poate s˘ a prezinte un avantaj in cazul u nor probleme
inginere¸ sti, cˆ and de exemplu xi0reprezint˘ a o component˘ a important˘ a a unei
structuri de rezistent ¸˘ a ¸ si numai aceasta este necesar sa fie bine calculat˘ a,
celelalte putˆ and avea acela¸ s ordin de m˘ arime.
6.4.2 Rezolvarea ecuat ¸iilor integrale
S˘ a consider˘ am ecuat ¸ia integral˘ a de spet ¸a doua in funct ¸ia necunoscut˘ a f(x)
de forma
f(x) =g(x) +b/integraldisplay
aK(x,y)f(y)dy (6.22)
6.4. REZOLVAREA UNOR ECUAT ¸II OPERATORIALE 141
unde nucleul K¸ si funct ¸iile f,gsatisfac condit ¸ii astfel incˆ at solut ¸ia f(x) s˘ a
existe pentru orice x∈[a,b].Considerˆ and Kdrept un operator liniar ecuat ¸ia
(6.22) se poate scrie asem˘ an˘ ator lui (6.17) adic˘ a
f=g+Kf (6.17/prime)
care este tot o ecuat ¸ie operatorial˘ a. Considerˆ and normele
||g||=/integraldisplayb
a|g(u)|du,||K||= sup
x/integraldisplayb
a|K(x/prime,x)|dx
¸ si iterˆ and nucleul Kconform regulei
[K2f](x) =/integraldisplayb
a/integraldisplayb
af(x0)K(x0,x1)K(x1,x)dx0dx1
se arat˘ a c˘ a dac˘ a||K||<1 atunci exist˘ a un n0finit astfel incˆ at
f=n0/summationdisplay
i=1Kif+g
adic˘ a in acest caz exist˘ a solut ¸ie a ecuat ¸iei integrale.
Un mod direct de rezolvare numeric˘ a a ecuat ¸iei (6.22) cons t˘ a in a dis-
cretiza ecuat ¸ia . Adic˘ a, alegem o gril˘ ade puncte a=α0< α1< … <
αn=bsuficient de fin˘ aastfel incˆ at ne intereseaz˘ a s˘ a calcul˘ am valorile
fi=f(αi),1≤i≤n.Atunci, aproxim˘ and integralele prin sume core-
spunzˆ and fiec˘ arui punct αiajungem la un sistem liniar de forma
f=g+Kf (6.22/prime)
undef= (f1,f2,…,f n)/prime,g= (g1,g2,…,g n)/prime, gi=g(αi),K= (Kij),
Kij=K(αi,αj),1≤i,j≤n.Acest sistem se rezolv˘ a ca un sistem liniar ca
mai sus. S ¸i aici remarc˘ am avantajul metodei in a determina solut ¸ia numai
a unei componente fi0a luif.
Putem ins˘ a s˘ a construim o metod˘ a Monte Carlo asem˘ an˘ ato are celei
privind rezolvarea sistemelor de ecuat ¸ii liniare, folosi nd un lant ¸ Markov cu
o mult ¸ime continu˘ a de st˘ ari ¸ si absorbant. Vom presupune c˘ a dorim s˘ a es-
tim˘ am o funt ¸ional˘ aIh(definit˘ a de produsul scalar) ce depinde de solut ¸ia f
a ecuat ¸iei integrale (6.22) sau (6.17’) dat˘ a de relat ¸ia
Ih= (f,h) =/integraldisplay
Rf(x)h(x)dx, f =Kf+g. (6.23)
142 CAP. 6. METODA MONTE CARLO
Lant ¸ul Marcov se presupune c˘ a este determinat de o densitate de repartit ¸ie
init ¸ial˘ a a st˘ arilorπ(x) ¸ si de o densitate de tranzit ¸ie p(x/prime,x); vom nota cu N
num˘ arul aleator de st˘ ari finale ale lant ¸ului. (Lant ¸ul este absorbant!). Dac˘ a
x0,x1,…,x Neste o traiectorie a lant ¸ului s˘ a introducem ponderile
Q0=g(x0)
π(x0), Q n=Qn−1K(xn−1,xn)
p(xn−1,xn). (6.24)
Date fiindg,K,h, vrem s˘ a alegem densit˘ at ¸ile π(x),p(x/prime,x) astfel incˆ at esti-
matorul
ξ=N/summationdisplay
n=0Qnh(xn) (6 .24/prime)
s˘ a fie un estimator primar pentru funct ¸ionala ( f,h).Proced˘ am astfel:
– alegem funct ¸iile π(x), r(x/prime,x) cu condit ¸iile
π(x)/negationslash= 0⇔g(x)/negationslash= 0,/integraldisplayb
aπ(x)dx= 1,
r(x/prime,x)/negationslash= 0⇔K(x/prime,x)/negationslash= 0
¸ si construim densitatea de tranzit ¸ie a lant ¸ului absorba nt de forma
p(x/prime,x) =r(x/prime,x)[1−q(x/prime)],/integraldisplayb
ap(x/prime,x)dx= 1−q(x/prime)≤1
undeq(x/prime) este probabilitatea ca traiectoria lant ¸ului s˘ a se intre rup˘ a (lant ¸ul
absorbant!). Cu preciz˘ arile anterioare se poate demonstr a teorema urm˘ atoare,
asem˘ an˘ atoare teoremei 6.2.
Teorema 6. 3 Dac˘ a nucleul Ksatisface condit ¸ia c˘ a pentru un n0finit dat
are loc condit ¸ia||ˆKn0||<1unde ˆK(x/prime,x) =|K(x/prime,x)|¸ si dac˘ a densit˘ at ¸ile π
¸ sipsunt selectate ca mai sus, atunci
E[ξ] =E/bracketleftBiggN/summationdisplay
n=0Qnh(xn)/bracketrightBigg
=Ih= (f,h).
In plus, lungimea traiectoriei este finit˘ a, E(N)<∞.
Demonstrat ¸ia teoremei, cu except ¸ia relat ¸iei E(N)<∞este intru totul
asem˘ an˘ atoare teoremei precedente 6.2 ¸ si nu o prezent˘ am aici.
Pentru a estima funct ¸ia f(x) in punctul xeste suficient s˘ a observ˘ am c˘ a
f(x) = (f,hx) +g(x), h x(x/prime) =K(x/prime,x).
6.5. REZOLVAREA ECUAT ¸IILOR CU DERIVATE PART ¸IALE 143
Dac˘ ag(x)≥0 ¸ si
/integraldisplayb
ag(x)dx= 1, K(x/prime,x)≥0,/integraldisplayb
aK(x,x/prime)dx/prime≤1,
atunci putem lua
π(x) =g(x), p(x/prime,x) =K(x/prime,x), Qn= 1, ξ=N/summationdisplay
n=0h(xn)
undeNeste lungimea traiectoriei pˆ an˘ a la absorbt ¸ie.
6.5 Rezolvarea ecuat ¸iilor cu derivate part ¸iale
S˘ a consider˘ am ecuat ¸ia cu derivate part ¸iale de ordinul d oi
β11∂2V
∂x2+ 2β12∂2V
∂x∂y+β22∂2V
∂y2+ 2α1∂V
∂x+ 2α2∂V
∂y=F(x,y) (6.25)
cu condit ¸ia
V(x,y) =ϕ(x,y),(x,y)∈C, (6.25/prime)
undeV(x,y) este o funct ¸ie necunoscut˘ a pe domeniul m˘ arginit D ⊂R2,
coeficient ¸ii βij, αi, i,j= 1,2 sunt funct ¸ii reale cunoscute definite pe D,
funct ¸iaϕ(x,y) este de asemenea cunoscut˘ a, iar C=∂Deste frontiera luiD.
Problema rezolv˘ arii ecuat ¸iei (6.25) cu condit ¸ia pe contur (6.25’) este cunos-
cut˘ a sub numele de problema Dirichlet.
Etapele rezolv˘ arii prin metoda Monte Carlo a problemei Dir ichlet for-
mulat˘ a anterior sunt urm˘ atoarele:
1) Domeniul Deste acoperit de o ret ¸ea dreptunghiular˘ a de puncte ( sau
gril˘ a), puncte in care se vor calcula valorile funt ¸iei V.S˘ a not˘ am cu ( xi,yj)
nodurile ret ¸elei definite astfel
xi=x0+ih, y i=y0+ih, i = 0,±1,±2,±3,… (6,26)
unde (x0,y0) sunt fixate iar heste o constant˘ a suficient de mic˘ a ( pasul grilei ).
Orice punct ( x,y) al ret ¸elei are partu puncte vecine
P1= (x+h,y), P2= (x−h,y), P3= (x,y+h), P4= (x,y−h) (6.26/prime)
Consider˘ am de asemenea punctul vecin suplimentar P5= (x+h,y+h).
Unele puncte ale ret ¸elei sunt pe curba Csau sunt cele mai apropiate de
curbaC; s˘ a not˘ am Chmult ¸imea acestor puncte.
144 CAP. 6. METODA MONTE CARLO
2) Discretiz˘ am ecuat ¸ia (6.26) in punctul P= (x,y) in care dorim s˘ a
estim˘ amV(x,y).Discretizarea conduce la construirea unor diferent ¸e finite
∆x,∆y,∆xx,∆xy,∆yy,definite astfel:
∆x=V(x+h,y)−V(x,y)
h,∆y=V(x,y+h)−V(x,y)
h,∆xx= ∆(∆ x),etc.
∆xx=V(x+h,y) +V(x−h,y)−2V(x,y)
h2, (6.26/prime/prime)
∆xy=V(x+h,y+h)−V(x+h,y)−V(x,y+h) +V(x,y)
h2
∆yy=V(x,y+h) +V(x,y−h)−2V(x,y)
h2.
Folosind aceste diferent ¸e in (6.25) deducem expresia lui V(x,y) =V(P)
astfel
V(P) =5/summationdisplay
i=1pi(P)V(Pi)−h2F(P)
D(P)(6.27)
unde
p1(P) =1
D(β11−2β12), p2(P) =β11
D,
p3(P) =1
D(β22−2β12), p4(P) =β22
D(6.27/prime)
p5(P) =2β12
D, D(P) = 2β11+ 2β22−2β12+ 2h(α1+α2).
Se observ˘ a c˘ a dac˘ a ecuat ¸ia (6.25) este de tip eliptic atunciβ11β22−β2
12>0
¸ si decipi(P) din (6.27”) sunt probabilit˘ at ¸i (sunt pozitive) ¸ si
5/summationdisplay
i=1pi(P) = 1∀βij,αii= 1,2.
Se arat˘ a c˘ a dac˘ a in (6.27) lu˘ am h→0 atunci aceast˘ a expresie converge c˘ atre
V(x,y) care este solut ¸ie a ecuat ¸iei (6.25). Probabilit˘ at ¸ile pi(P),1≤i≤5
definesc un lant ¸ Markov particular numit mers la intˆ amplare in plan. Inter-
pretarea acestui lant ¸ este urm˘ atoarea: dac˘ a o particol˘ a porne¸ ste din punctul
P(x,y) atunci ea se deplaseaz˘ a pe gril˘ a in punctele vecine prin s alturi, cu
probabilit˘ at ¸ile pi(P).Dac˘ aβ12= 0 atunci particola nu se poate deplasa in
punctulP5= (x+h,y+h).Mersul la intˆ amplare construit este absorbant pe
frontieraCh;dac˘ a particola atinge un punct Q∈Chatunci probabilitatea
de a p˘ ar˘ asi acel punct este zero.
6.5. REZOLVAREA ECUAT ¸IILOR CU DERIVATE PART ¸IALE 145
3) Cu ajutorul mersului la intˆ amplare construit definim est imatorul pri-
mar asociat unei traiectorii
γ= (P,P(1),P(2),…,P(m),P(m+1)), P(m+1)=Qi∈Ch
astfel
Zi=−m/summationdisplay
j=1h2F(P(j))
D(P(j))+ϕ(Qi). (6.28)
Cu notat ¸iile ¸ si construct ¸iile de mai sus este adev˘ arat˘ a teorema
Teorema 6. 4 Estimatorul primar (6.28) este un estimator asimptotic ned e-
plasat pentru solut ¸ia V(P) =V(x,y)a ecuat ¸iei (6.25).
Demonstrat ¸ie. F˘ ar˘ a a restrˆ ange generalitatea vom presupune c˘ a F(P)>
0, ϕ(Qi)>0.S˘ a not˘ amWm(P) =E[Z∗
mi] cu
Z∗
mi=−m/summationdisplay
j=1h2F(P(j))
D(P(j))+ϕm(Qi), (6.28/prime)
unde
ϕm(Qi) =/braceleftbiggϕ(Qi),dacafrontieraC hesteatinsa inmpasi
0, inrest
T ¸inˆ and seama de (6.28) atunci deducem c˘ a Wm(P) verific˘ a relat ¸ia de recurent ¸˘ a
WM(P) =5/summationdisplay
i=1pi(P)Wm−1(Pi)−h2
D(P)F(P) (6 .28/prime/prime)
¸ si de aici se deduce Wm+1≥Wmadic˘ aWmeste monoton cresc˘ ator ¸ si
m˘ arginit (conform (6.28)) de
ϕmax+/bracketleftBigg
−h2
Df/bracketrightBigg
maxkm, cu ϕ max= max
Q∈Chϕ(Q).
Num˘ arulkmeste num˘ arul mediu de pa¸ si ai unei traiectorii, care oricu m are
cel mult un num˘ ar finit de pa¸ si dac˘ a domeniul inconjurat de curbaCeste
m˘ arginit. Deci, pentru un punct Pfixat, ¸ sirulWmeste convergent, de unde
rezult˘ a c˘ a estimatorul (6.28) este asimptotic nedeplasa t, deci teorema este
demonstrat˘ a.
146 CAP. 6. METODA MONTE CARLO
4) Un estimator secundar al lui V(P) se obt ¸ine dac˘ a se consider˘ a n
traiectoriiγ1,γ2,…,γ nce pornesc toate din punctul P= (x,y) astfel
V=1
nn/summationdisplay
i=1Zi. (6.28/prime/prime/prime)
Acest estimator este de asemenea asimptotic nedeplasat pen truV(x,y).
Un caz particular de ecuat ¸ie de tip eliptic este ecuat ¸ia Poisson , adic˘ a
/triangleinvV(P) =F(P), sau∂2V
∂x2+∂v
∂y2=F(x,y)
cu condit ¸ia pe contur
V(P) =ϕ(P), P∈C, C =D⊂R2.
Aici construct ¸ia este asem˘ an˘ atoare, dar desigur mai sim pl˘ a. Consider˘ am ca
si in cazul general o gril˘ a de puncte care acoper˘ a Ddar ca puncte vecine lui
P= (x,y) consider˘ am numai punctele P1,P2,P3,P4,(deoareceβ12= 0). In
acest caz prin discretizare obt ¸inem V(P) de forma
V(P) =1
44/summationdisplay
i=1V(Pi)−1
4h2F(P), p i(P) =pi=1
4, D = 4.(6.27/prime)
Deci mersul la intˆ amplare asociat are in acest caz probabil it˘ at ¸i egale de
tranzit ¸ie din Pin punctele vecine Pi,1≤i≤4.Teorema precedent˘ a este
desigur valabil˘ a ¸ si in acest caz ¸ si anume estimatorul pri mar este
Zi=−m/summationdisplay
j=11
4h2F(P(j)) +ϕ(Qi)
el fiind calculat cu ajutorul traiectoriei γca mai sus, iar estimatorul secundar
este tot de forma (6.28”’).
In final preciz˘ am un algoritm pentru simularea mersului la i ntˆ amplare
in cazul general al ecuat ¸iei (6.25). De fapt este necesar s˘ a preciz˘ am cum
gener˘ am punctul P(j+1)al traiectoriei cˆ and plec˘ am din punctul P(j).Algo-
ritmul pentru generarea acestui punct este
Algoritmul SALT pentru generarea unui salt de mers la intˆ amplare.
Intrarex(j),y(j)¸ sih; (Acesta este un pas preg˘ atitor);
Calculeaz˘ a pi=pi(P(j)),1≤i≤5cu formulele (6.27’);
6.5. REZOLVAREA ECUAT ¸IILOR CU DERIVATE PART ¸IALE 147
Calculeaz˘ a fi=p1+…+pi,1≤i≤5,f5= 1;
Genereaza˘ a U:=random ;i:= 1;
whileU >f idoi:=i+ 1;
Calculeaz˘ a coordonatele punctului Picu formulele (6.26’) in care x=
x(j),y=y(j);
IaP(j+1):=Picalculat anterior;
Dac˘ aP(j+1)/negationslash∈Chatunci iaP(j):=P(j+1),altfel traiectoria se termin˘ a.
Repetˆ and algoritmul precedent de la pasul
Genereaza U :=random ;
pˆ anˆ a cˆ and pentru prima dat˘ a P(j+1)∈Chse obt ¸ine traiectoria mersului
pˆ an˘ a la absorbt ¸ie. In final s˘ a observ˘ am c˘ a metodele num erice obi¸ snuite
pentru rezolvarea problemei Dirichlet se bazeaz˘ a tot pe di scretizare. Valorile
necunoscute ale funt ¸iei V(P) in puncte ale grilei sunt necunoscute ale unui
sistem de ecuat ¸ii liniare de dimensiune foarte mare. Prin r ezolvarea acestui
sistem liniar se obt ¸in toatevalorile necunoscute in punctele grilei interioare
luiD.Metoda Monte Carlo descris˘ a aici permite calculul separat al valorii
funct ¸ieiVin fiecare punct Pal grilei, f˘ ar˘ a a mai fi necesar calculul acesteia
in alte puncte. Acest fapt, de asemenea poate constitui un av antaj practic.
Exercit ¸ii
E6.1 S˘ a se calculeze mai intˆ ai direct, iar apoi utilizˆ and meto da Monte
Carlo brut˘ a integrala
I=/integraldisplay1
0/radicalbig
1−x2dx.
Indicat ¸ie. Facˆ and o schimbare potrivit˘ a de variabil˘ a se arat˘ a c˘ a I=π
4.
Acela¸ s fapt se constat˘ a dac˘ a observ˘ am c˘ a Ieste aria din primul cadran a
discului cu centrul in origine ¸ si de raz˘ a 1. Cu ajutorul met odei Monte Carlo
se obt ¸ine
π
4≈In=1
nn/summationdisplay
i=1/radicalBig
1−U2
i
undeUi,1≤i≤nsunt numere aleatoare uniforme 0 −1.Se observ˘ a c˘ a
π≈4In,ceea ce reprezint˘ a un alt mod de a aproxima constanta π.
E6.2 S˘ a se aplice metoda variabilelor antitetice la calculul integralei I
din exercit ¸iul precedent ¸ si dac˘ a Ia,neste estimat ¸ia lui Iin acest caz s˘ a se
arate c˘ aVar(Ia,n)<Var (In).
148 CAP. 6. METODA MONTE CARLO
Solut ¸ie. estimatorul Monte Carlo antitetic este
Ia,n=1
2nn/summationdisplay
i=1/bracketleftbigg/radicalbig
1−U2+/radicalBig
1−(1−U)2/bracketrightbigg
de unde
Var(Ia,n) =1
n[1
4{Var(/radicalbig
1−U2) +Var/radicalBig
1−(1−U2))+
+2Cov((/radicalBig
1−U2),/radicalBig
1−(1−U2)}] =
=1
2n/braceleftbigg
Var(/radicalbig
1−U2+Cov(/radicalbig
1−U2,/radicalBig
1−(1−U2))/bracerightbigg
=
=1
2n/parenleftBigg
2
3−π2
16/parenrightBigg
+1
2nE[/radicalBig
(U+ 1)U(U−1)(U−2)−π2
16],
Se poate ar˘ ata prin calcule relativ simple c˘ a media expres iei inUdin paran-
teza dreapt˘ a precedent˘ a este EU≈0.5806 de unde rezult˘ a c˘ a
Var(Ia,n)≈0.0052
n.
In mod direct se poate ar˘ ata c˘ a
Var(In) =1
n/parenleftBigg/integraldisplay1
0(1−x2)dx−π2
16/parenrightBigg
=1
n/parenleftBigg
2
3−π2
16/parenrightBigg
≈0.498
n
de unde rezult˘ a inegalitatea cerut˘ a.
E6.3O problem˘ a interesant˘ a in aplicat ¸ii este calculul funct ¸iei de repartit ¸ie
normal˘ aN(0,1) adic˘ a
L(x) =x/integraldisplay
−∞e−y2
2√
2πdx=1√
2πx/integraldisplay
−∞φ(y)dy.
S˘ a se construiasc˘ a un estimator dup˘ a important ¸˘ a pentruL(x) utilizˆ and ca
densitate de important ¸˘ a o densitate logistic˘ a trunchia t˘ a.
Solut ¸ie. S˘ a consider˘ am densitatea logistic˘ a
f(y) =πe−πy√
3
√
3(1 +e−πy√
3)2, y∈(−∞,+∞).
6.5. REZOLVAREA ECUAT ¸IILOR CU DERIVATE PART ¸IALE 149
Trebuie ins˘ a s˘ a consider˘ am densitatea logistica (aici n on-standard!) trunchiat˘ a
pe (−∞,x).Va trebui deci s˘ a o norm˘ am cu o constant˘ a k=k(x) in raport
cuy(care ins˘ a depinde de x), adic˘ a s˘ a lu˘ am ca densitate de important ¸˘ a
˜f(y) =f(y)k−1=πe−πy√
3(1 +e−πx√
3)
√
3(1 +e−πy√
3)2, y∈(−∞,x);˜f(y) = 0, y<x.
In acest caz avem estimatorul primar de important ¸˘ a
L(x) =1
1 +e−πx√
3E/bracketleftbiggφ(Y)
f(Y)/bracketrightbigg
, Y ;˜f(y).
Pentru a construi estimatorul secundar trebuie s˘ a g˘ asim u n generator pentru
Y.Se poate aplica metoda invers˘ a pentru funct ¸ia de repartit ¸ie
˜F(z) =z/integraldisplay
−∞˜f(y)dy=1 +e−πx√
3
1 +e−πz√
3, z <x
adic˘ aYse obt ¸ine rezolvˆ and ecuat ¸ia
˜F(Y) =U, Uuniform 0−1.
E6.4(Problema lui Buffon).Un ac de lungime leste aruncat pe o du¸ sumea
de parchet care are l˘ at ¸imea lamelelor edal˘ a cu d.Lamelele vecine determin˘ a
deci linii paralele la distant ¸a d.S˘ a se determine probabilitatea ca acul, dup˘ a
ce a c˘ azut pe parchet s˘ a ating˘ a o linie desp˘ art ¸itoare a l amelelor parchetului
¸ si de aici s˘ a se deduc˘ a un procedeu de estimare a num˘ arulu iπ.
Solut ¸ie. Fiel≤d.Pentru o pozit ¸ie dat˘ a a acului s˘ a not˘ am cu θunghiul
format de ac cu marginea lamelei. Distant ¸a de la ac la linie e stelcosθiar
probabilitatea ca in pozit ¸ia dat˘ a acul s˘ a atinga margine a lamelei este2lcosθ
2πd,
iar cumθpoate varia intre ( −π/2,+π/2) rezult˘ a c˘ a probabilitatea Pca acul
s˘ a ating˘ a marginea (indiferent de pozit ¸ia sa) este
P= 2π
2/integraldisplay
−π
2lcosθ
2πddθ=2l
πd.
Dac˘ al>d atunci printr-un rat ¸ionament asem˘ an˘ ator avem
P=π
2/integraldisplay
−π
2min(lcosθ,d)
2πddθ=2
πd
dcos−1d
l+l(1−/radicalBigg
1−d2
l2)
.
150 CAP. 6. METODA MONTE CARLO
Pentru estimarea lui πse folose¸ ste formula lui P(cazull≤d,) ¸ si se estimeaz˘ a
Pcu
Pn=α
n
undeαeste num˘ arul de cazuri cˆ and acul atinge o margine a lamelei din
narunc˘ ari independente.Simularea arunc˘ arii aleatoare a unui ac de lungine
l(l < d), presupunˆ and c˘ a cele dou˘ a lamele vecine au ca margine co mun˘ a
axaox, se realizeaz˘ a astfel: se simuleaz˘ a un punct Paleator intre 2 lamele
(P∈[−d,d];) apoi se simuleaz˘ a un θuniform in [0 ,+2π] ¸ si se determin˘ a
segmentul cu centrul in P, de lungime l, orientat pe direct ¸ia θ; se verific˘ a
apoi prin calcul dac˘ a segmentul construit intˆ alne¸ ste un a din dreptele y=
0,y=d,y=−dcare reprezint˘ a delimit˘ arile celor dou˘ a lamele vecine. De-
terminarea num˘ arului de arunc˘ ari ale acului care interse cteaz˘ a liniile ce de-
limiteaz˘ a cele 2 lamele vecine (din narunc˘ ari ) este acum evident˘ a. Desigur,
aceast˘ a cale de determinare a lui πnu este recomandabil a se face cu cal-
culatorul deoarece algoritmul are o complexitate ridicat˘ a. Metoda acului
lui Buffon are ins˘ a important ¸a ei istoric˘ a. (Simularea lu iθse poate face ¸ si
uniform pe [−π
2,+π
2]).
E6.5 S˘ a se precizeze o metod˘ a Monte Carlo de estimare a num˘ arul ui
πfolosind simularea de puncte aleatoare intr-un domeniu inc onjurat de o
elips˘ a cu centrul in origine ¸ si de semiaxe a>0,b>0.
Indicat ¸ie. Se folose¸ ste ideea de la Exemplul 6.1. Se simuleaz˘ a Npuncte
(V1,V2) aleatoare in dreptunghiul [ −a,a]×[−b,b] ¸ si se num˘ ar˘ a cele ce satisfac
relat ¸iaV2
1
a2+V2
2
b2≤1.
E6.6 Un lant ¸ Marcov cu st˘ ari continue are densitatea de reparti t ¸ie a
st˘ arilor init ¸iale π(x);N(2,√
2) ¸ si densitatea de tranzit ¸ie p(x,y);N(x,2),
undexeste starea de plecare. S˘ a se prezinte un algoritm de simula re a unei
st˘ ari a lant ¸ului.
Solut ¸ie. Avem deci
π(x) =1
2√πe−(x−2)2
4, p(x,y) =1
2√
2πe−(x−y)2
8.
Algoritmul este urm˘ atorul
Algoritmul MARKOV de simulare a unui lant ¸ Marcov gaussian
Genereaz˘ aX;N(2,√
2); (Xeste starea init ¸ial˘ a);
Genereaz˘ aY;N(X,2); (Yeste starea generat˘ a, in care se ajunge).
Acest lant ¸ se poate utiliza la rezolvarea ecuat ¸iei integr ale
f(x) =/integraldisplay
p(x,y)f(y)dy+g(x), x∈R.
6.5. REZOLVAREA ECUAT ¸IILOR CU DERIVATE PART ¸IALE 151
Pentru simularea unei traiectorii de Npuncte a lant ¸ului se continu˘ a algorit-
mul precedent cu instruct ¸iunile
X:=Y;genereaza Y ;N(X,2).
152 CAP. 6. METODA MONTE CARLO
Cap. 7
Cateva modele de simulare
In acest capitol vom prezenta cateva modele de simulare din d omeniul teoriei
a¸ stepat˘ arii ¸ si teoriei stocurilor, modele implementab ile in limbaje evoluate
(ca Pascal, C, C++, etc).
7.1 Generalit˘ at ¸i despre modele de a¸ steptare
Vom incepe cu cateva not ¸iuni despre modele de a¸ steptare. P entru inceput
vom introduce o notat ¸ie specific˘ a unui model de a¸ steptare si anume
A/S/c : (Lc;d)
unde:
Aeste o informat ¸ie despre repartit ¸ia de probabilitate a ti mpului de in-
tersosireATsau a sosirilor;
Seste o informat ¸ie despre repartit ¸ia de probabilitate a du ratei serviciului
ST;
cprecizeaz˘ a numarul de stat ¸ii de serviciu ¸ si topologia lo r, adic˘ a dac˘ a
sunt conectate in serie, in paralel, sau in ret ¸ea;
Lceste lungimea maxim˘ a a cozii, adic˘ a un num˘ ar natural pozi tiv dac˘ a
coada este finit˘ a, sau ∞dac˘ a coada poate avea lungime infinit˘ a;
deste disciplina de serviciu care precizeaz˘ a reguli de efec tuarea serviciu-
lui. De exemplu daca client ¸ii sunt servit ¸i in ordinea sosi rilor, atunci disciplina
esteFIFO (adica First In First Out ). Pot exista ¸ si reguli de tipul LIFO
(adic˘ a Last In First Out ) sau disciplina de serviciu cu prioritat ¸i in sensul
ca unii client ¸i, care au prioritat ¸i pot fi servit ¸i inainte a altora. Insfar¸ sit, pot
exista modele cu client ¸i nedisciplinat ¸i; o astfel de siutuat ¸ie se prezint˘ a in
153
154 CAP. 7. CATEVA MODELE DE SIMULARE
cazul cˆ and client ¸ii care asteapt˘ a mai mult de w0unitat ¸i de timp p˘ ar˘ asesc
sistemul f˘ ar˘ a s˘ a mai beneficieze de serviciu.
Modelele matematice sunt construite ¸ si rezolvate de regul a cˆ and repartit ¸iile
luiATsiSTsunt exponent ¸iale negative, cˆ and sistemele au o singur˘ a stat ¸ie
sau stat ¸ii paralele, cˆ and disciplina este FIFO, ¸ si cˆ and client ¸ii sunt disciplinat ¸i.
Toate celelelte tipuri de modele sunt greu de construit in ip oteze generale
privind repartit ¸iile sosirilor ¸ si serviciilor ¸ si de ace ea se recurge la simulare.
Noi am prezentat (in Cap.1) ¸ si cˆ ateva modele de simulare in GPSS, care de
regul˘ a au condus la programe scurte dar nu ¸ si flexibile. Mod elele ce vor fi
construite in acest capitol vor putea fi extinse la diverse re partit ¸ii ale lui AT
¸ siST.
Exemple de modele matematice de a¸ steptare sunt:
Exp(λ)/Exp(µ)/1 : (∞;FIFO ) (7 .1)
care este cel mai simplu model cu o stat ¸ie de serviciu;
Exp(λ)/Exp(µ)/N(paralele );(∞;FIFO ) (7 .2)
care este un model cu Nstat ¸ii paralele presupuse identice (adica au aceea¸ si
repartit ¸ie pentru ST-ul fiec˘ areia), coada poate fi infinit˘ a, iar disciplina este
standard ( primul venit primul servit ).
In cazul modelelor de simulare, pentru modelele anterioare , vom folosi
notat ¸iile:
•/•/1 : (∞;FIFO ) (7 .1/prime)
•/•/N: (∞;FIFO ) (7 .2/prime)
semnul•insemnˆ and ca putem folosi orice repartit ¸ii de probabilit ate pentru
AT¸ siST.De asemenea, in descrierea algoritmilor (sub forma de schem e
logice!) vom folosi in locul semnului de atribuire := semnul =. Modelele
matematice ale teoriei cozilor se bazeaz˘ a pe utilizarea un or procese Markov
particulare numite procese stochastice de na¸ stere ¸ si deces, procese ce vor fi
studiate mai intˆ ai. Num˘ arul de client ¸i N(t) in sistemul de a¸ steptare la un
moment dat de timp teste un astfel de proces stochastic. Aceste procese stau
la baza model˘ arii ¸ si a altor sisteme naturale cum sunt popu lat ¸iile biologice
(de unde ¸ si denumirea lor de procese de na¸ stere ¸ si deces ).
7.1.1 Procese de na¸ stere ¸ si deces
Definit ¸ia 7.1. Procesul stochastic discret N(t),cu cre¸ steri independente, se
nume¸ ste proces de na¸ stere ¸ si deces, dac˘ a satisface urm˘ atoarele propriet˘ at ¸i:
P([N(t+ ∆t) =n+ 1]/[N(t) =n]) =λn∆t+o(∆t);
7.1. GENERALIT ˘AT ¸I DESPRE MODELE DE AS ¸TEPTARE 155
P([N(t+ ∆t) =n−1]/[N(t) =n]) =µn∆t+o(∆t); (7.3)
P([N(t+ ∆t) =n±i]/[N(t) =n]) =o(∆t),i>1,
undeP(A/B)inseamn˘ a probabilitatea lui Acondit ¸ionat˘ a de B,constantele
{λn,n≥0},{µn,n≥1},sunt ¸ siruri de numere pozitive date, iar o(∆t)este
un element al unei clase de funct ¸ii ce satisfac condit ¸iile
lim
∆t→0o(∆t) = 0,lim
∆t→0o(∆t)
∆t= 0. (7.4)
Procesul este cu cre¸ steri indepentente in sensul c˘ a orica re ar fit1<t2<t3<
t4,variabileleN(t2)−N(t1)¸ siN(t4)−N(t3)sunt independente stochastic,
iarN(t+h)−N(t) =N(h),∀t,h> 0(adic˘ a procesul este de num˘ arare ).
Constantele λnse numesc intensit˘ at ¸i de natalitate iar constantele µn
se numesc intensit˘ at ¸i de mortalitate . Aceste constante sunt caracteristice
pentru procesul N(t).Funct ¸iileo(∆t) exprim˘ a cantit˘ at ¸i neglijabile in raport
cu ∆t,deci care tind la zero odat˘ a cu ∆ t, dar mai repede decˆ at acesta ¸ si
mult ¸imea lor este inchis˘ a fat ¸˘ a de operat ¸iile de adunar e ¸ si inmult ¸ire cu alte
funct ¸ii sau constante (adic˘ a sunt inchise la liniaritate ). Relat ¸iile (7.3) spun
c˘ a na¸ sterile ¸ si decesele evolueaz˘ a rarin timp. Intensit˘ at ¸ile de natalitate
¸ si cele de mortalitate corespund in cazul sistemelor de a¸ s teptare sosirilor,
respectiv serviciilor (adic˘ a plec˘ arilor ) din sistem.
•Teorema de baz˘ a. Cu ajutorul propriet˘ at ¸ilor (7.3) se pot determina
probabilit˘ at ¸ile Pn(t) =P[N(t) =n],care reprezint˘ a repartit ¸ia procesului de
na¸ stere ¸ si deces.
Teorema 7. 1 Probabilit˘ at ¸ile Pn(t)satisfac ecuat ¸iile diferent ¸iale
P/prime
0(t) =−λ0P0(t) +µ1P1(t) (7 .5)
P/prime
n(t) =−(λn+µn)Pn(t) +λn−1Pn−1(t) +µn+1Pn+1(t),n>0.(7.6)
Demonstrat ¸ie. Tinˆ and seama de relat ¸iile (7.3) ¸ si de regulile de calcul c u
probabilit˘ at ¸i condit ¸ionate, pentru n= 0 avem
P0(t+ ∆t) =P0(t)[1−λ0∆t−o(∆t)] +P1(t)[µ1∆t+o(∆t)] +o(∆t) (7.5/prime)
unde ultimul termen reprezint˘ a conform (7.3) probabilita tea ca pe intervalul
de timp [t,t+ ∆t] s˘ a se nasc˘ a sau s˘ a decedeze mai mult de un individ. Din
(7.5’) rezult˘ a
P0(t+ ∆t)−P0(t) =−λ0P0(t)∆t+µ1P1(t)∆t+o(∆t).
156 CAP. 7. CATEVA MODELE DE SIMULARE
Dac˘ a in ultima relat ¸ie imp˘ art ¸im cu ∆ t¸ si facem ∆ t→0,atunci obt ¸inem
ecuat ¸ia (7.5). Proced˘ am in mod asem˘ an˘ ator ¸ si pentru n>0 ¸ si avem
Pn(t+ ∆t) =Pn(t)[1−λn∆t−o(∆t)][1−µn∆t−o(∆t)]+
+Pn−1(t)[λn−1∆t+o(∆t)][1−µn−1∆t−o(∆t)]+
+Pn+1(t)[1−λn+1∆t−o(∆t)][µn+1∆t+o(∆t)] +o(∆t),
unde ultimul termen reprezint˘ a de asemenea probabilitate a ca pe intervalul
[t,t+ ∆t] s˘ a se nasc˘ a sau s˘ a decedeze mai mult de un individ.Din ult ima
relat ¸ie deducem
Pn(t+ ∆t)−Pn(t) =−(λn++µn)Pn(t)∆t) +λn−1Pn−1(t)∆t+
+µn+1Pn+1(t)∆t+o(∆t).
Imp˘ art ¸ind ultima relat ¸ie cu ∆ t¸ si f˘ acˆ and apoi ∆ t→oobt ¸inem relat ¸ia (7.6)
¸ si teorema este demonstrat˘ a.
Dˆ andu-se condit ¸ii init ¸iale pentru Pn(t) (de exemplu P0(0) = 1,Pi(0) =
0,i > 0),sistemul (7.5),(7.6) are solut ¸ie unic˘ a. Pe noi ne interes eaz˘ a ca
solut ¸ia s˘ a satisfac˘ a ¸ si condit ¸ia
∞/summationdisplay
n=0Pn(t) = 1,∀t, (7.7)
adic˘ a s˘ a reprezinte intr-adev˘ ar repartit ¸ia procesulu i.Teorema ce urmeaz˘ a d˘ a
o condit ¸ie suficient˘ a in acest sens.
Teorema 7. 2 Dac˘ a este satisf˘ acut˘ a condit ¸ia
∞/summationdisplay
k=1k/productdisplay
i=1µi
λi−1=∞. (7.7/prime)
atunci are loc relat ¸ia (7.7).
Nu prezent˘ am aici demonstrat ¸ia acestei teoreme.
Procesul de na¸ stere ¸ si deces este stat ¸ionar dac˘ a Pn(t) =pn=const.
adic˘ a repartit ¸ia sa nu depinde de timp. (Procesul se nume¸ steergodic dac˘ a
limt→∞Pn(t) =pn=const. ). S˘ a vedem care este solut ¸ia sistemului in acest
caz (stat ¸ionar sau ergodic). Desigur, sistemul (7.5),(7. 6) devine sistemul
liniar
−λ0p0+µ1p1= 0 (7 .5/prime/prime)
7.1. GENERALIT ˘AT ¸I DESPRE MODELE DE AS ¸TEPTARE 157
−(λn+µn)pn1λn−1pn−1+µn+1pn+1= 0,n>0. (7.6/prime/prime)
Pentru a rezolva sistemul s˘ a not˘ am
Zk=−λkpk+µk+1pk+1.
Atunci din (7.5”),(7.6”) rezult˘ a
−Zn−1+Zn= 0
adic˘ a
Zn=Zn−1,
iar deoarece din (7.5”) avem Z0= 0,avem ¸ siZn= 0,de unde
pn+1=µn+1
λnpn,n≥0.
Prin recurent ¸˘ a se deduce c˘ a
pn=∞/productdisplay
α=0λα
µα+1p0. (7.8)
Utilizˆ and (7.7) se g˘ ase¸ ste ¸ si constanta p0¸ si anume
p0=/bracketleftBigg
1 +∞/summationdisplay
n=1n−1/productdisplay
α=0λα
µα+1/bracketrightBigg−1
. (7.8/prime)
7.1.2 Calculul unor caracteristici ale modelului de
a¸ steptare.
Cunoscˆ and probabilit˘ at ¸ile pnse pot calcula cu u¸ surint ¸˘ a cˆ ateva caracteristici
(parametri de ie¸ sire) pentru sistemul de a¸ steptare cu cstat ¸ii de serviciu ¸ si
anume:
Num˘ arul mediu de client ¸i in sistem
E[N(t)] =∞/summationdisplay
n=0npn;
Lungimea medie a cozii
E[WL] =∞/summationdisplay
n=c(n−c)pn; (7 .9)
158 CAP. 7. CATEVA MODELE DE SIMULARE
Timpul mediu de a¸ steptare
E[WT] =E[WL]E[ST]; (7 .9/prime)
Num˘ arul mediu de stat ¸ii care lenevesc
E[NID] =c/summationdisplay
n=0(c−n)pn; (7 .10)
Timpul mediu de lenevire al celor cstat ¸ii
E[TID] =E[NID]E[AT]. (7.10/prime)
7.2 Simularea unui sistem cu o statie
Vom studia pentru inceput modele de simulare pentru un siste m de a¸ steptare
cu o singur˘ a stat ¸ie de serviciu de forma (7.1’).
7.2.1 Modelul cu ceas variabil
Prezent˘ am mai intˆ ai un model de simulare bazat pe ceasul cu cre¸ stere vari-
abil˘ a.
Variabilele ¸ si parametri modelului , in afar˘ a de cele deja cunoscute, adic˘ a,
AT,ST,WT (timpul de a¸ steptare curent al unui client), TID (timpul de
lenevire curent al stat ¸iei), sunt:
TWT = timpul total de a¸ steptare al client ¸ilor;
TTID = timpul total de lenevire al stat ¸iei;
ICOUNT = contor, care numa˘ r˘ a client ¸ii servit ¸i;
NS= numarul de client ¸i ce trebuie servit ¸i (parametru de intr are);
AWT = timpul mediu de a¸ steptare (parametru de ie¸ sire);
ATID = timpul mediu de lenevire (parametru de ie¸ sire al modelulu i).
Schema logic˘ a a modelului de simulare este prezentat˘ a in F ig.7.1.In
blocul (1) se fac init ¸ializarile:
TWT =TTID = 0;WT=TID= 0;ICOUNT = 0 (7 .11)
care sunt nesesare pentru calculul mediilor empirice AWT,ATID ; aici se
citesc parametri de intrare: NS,¸ si parametri repartit ¸iilor variabilelor AT,ST
necesari pentru simularea acestor variabile aleatoare. To t aici se init ¸ializeaz˘ a
contorulICOUNT care num˘ ar˘ a serviciile ¸ si care prin comparare cu NS
impune condit ¸ia de terminare a simul˘ arii. In blocul (2) se simuleaz˘ a sosirea
7.2. SIMULAREA UNUI SISTEM CU O STATIE 159
unui client. Pentru a int ¸elege mai departe algoritmul ment ion˘ am faptul c˘ a
in acest model ceasul variabil al simularii nu apare explici t (el este implicit ),
in sensul c˘ a de fapt pentru alegerea evenimentului ce trebu ie prelucrat se
folose¸ ste regula primului eveniment urmator, care este o consecint ¸˘ a a tehnicii
bazat˘ a pe ceasul cu cre¸ stere variabil˘ a. Blocul (3) reali zeaz˘ a o ajustare a
timpului de sosire, care permite alegerea evenimentului (u rmator) ce trebuie
prelucrat ¸ si care poate conduce fie la calculul timpului de a ¸ steptare (in blocul
(6)), fie la calculul timpului de lenevire a stat ¸iei (in bloc ul (7)). Este evident
ce face blocul (4) (care poate fi situat cu acela¸ s efect ¸ si in ainte de blocul (8)).
Blocul (5) este blocul care alege evenimentul urm˘ ator, t ¸i nˆ and seama ¸ si de
disciplinaFIFO, iar blocul (8) precizeaz˘ a condit ¸ia de terminare a simul˘ a rii;
el conduce la repetarea blocurilor (2)-(8) pˆ an˘ a cˆ and se s imuleaz˘ aNSservicii.
160 CAP. 7. CATEVA MODELE DE SIMULARE
START
(1)?
Initializari si citirea
parametrilor de intrare
?
Genereaza AT(2)
?
AT = AT – WT(3)
?
Genereaza ST
ICOUNT←ICOUNT + 1(4)
?!!!!aaaa
aaaa
!!!! ST>AT
?DA (5) NU
? ?
TWT = TWT+WTWT = ST – ATTID = 0
TTID = TTID+TIDTID = AT – STVT = 0(6) (7)
? ?
?!!!!!aaaaa
aaaaa
!!!!! ICOUNT<NS
?DA(8)
?
rezultatele utilede iesire si livreazaCalculeaza parametriiNU (9)
?
STOP-
Fig. 7.1. Schema logica a modelului ./1./1: ( ∞FIFO),
cu ceas variabil
ææææææææææææææææææææææææææææ
Insfˆ ar¸ sit, blocul (9) calculeaz˘ a parametri de ie¸ sire d up˘ a formulele
AWT =TWT
NS, ATID =TTID
NS. (7.12)
7.2. SIMULAREA UNUI SISTEM CU O STATIE 161
7.2.2 Modelul cu ceas constant.
Acest model, fat ¸˘ a de modelul precedent, folose¸ ste in plu s variabilele ¸ si parametri:
TAT= momentul ultimei sosiri (i.e. ceasul sosirilor );
TST= momentul termin˘ arii ultimului serviciu (i.e. ceasul servirilor );
CLOCK = ceasul simularii, cu cre¸ stere constant˘ a;
C=oraceasului (i.e. o constant˘ a cu care se incrementeaz˘ a ceasu l);
I= variabila intreag˘ a care reprezint˘ a lungimea curent˘ a a cozii;
NT= parametru de intrare care reprezint˘ a durata impusa a simu larii
(adica simularea se termina cˆ and CLOCK≥NT).
Init ¸ializ˘ arile in acest model sunt:
TWT =TTID =TAT=TST= 0, CLOCK = 0, I= 0. (7.11/prime)
Schema logic˘ a a modelului este dat˘ a in Fig.7.2. Blocurile (1)-(4) pre-
cizeaz˘ a condit ¸iile initiale ¸ si determin˘ a inceperea si mul˘ arii. In blocul (5) se
constat˘ a dac˘ a stat ¸ia este libera sau ocupat˘ a. Dac˘ a sta t ¸ia este ocupat˘ a cˆ and
sose¸ ste clientul (adic˘ a TAT≤TST), atunci se continu˘ a cu blocul (6):se
mare¸ ste coada cu o unitate, se calculeaz˘ a timpul curent de a¸ steptare ¸ si se
actualizeaz˘ a timpul total de a¸ steptare; in continuare bl ocul (7) decide dac˘ a
este necesar˘ a cre¸ sterea ceasului (in blocul (8), cˆ and CLOCK <TAT ), sau
dac˘ a se trece direct la blocul (9) cˆ and se genereaz˘ a un nou timp de sosire.
Dac˘ a in blocul (5) se decide c˘ a stat ¸ia este liber˘ a (adic˘ aTAT >TST ), atunci
se continu˘ a cu blocul (10) care constat˘ a dac˘ a coada este v ida sau nu; in caz
afirmativ (I= 0,) in blocul (11) se determin˘ a timpul curent de lenevire TID,
se actualizeaz˘ a TTID precum ¸ si ceasul serviciilor TSTcu valoarea ceasului
sosirilor; dac˘ a in blocul (10) se g˘ ase¸ ste coada nevid˘ a, atunci se extrage un
client din coad˘ a (conform disciplinei FIFO ). Mai departe, blocul (13) de-
cide dac˘ a ceasul trebuie actualizat (fapt ce se produce in b locul (14)), dup˘ a
care se continua cu blocul (15) in care se serve¸ ste fie client ul sosit (dac˘ a in
blocul (10) coada era vida), fie se serve¸ ste clientul extras din coada (in blocul
(12)). Blocul (16) decide dac˘ a simularea continu˘ a (cˆ and CLOCK < NT )
sau dac˘ a simularea se opre¸ ste, caz in care se execut˘ a bloc ul terminal (17)
care calculeaz˘ a parametri de ie¸ sire ai modelului ¸ si alte statistici interesante.
162 CAP. 7. CATEVA MODELE DE SIMULARE
START
(1)?
Initializari si citirea
parametrilor de intrare
?
Genereaza AT(2)
?
TAT=TAT+AT(3)
?
CLOCK=CLOCK+C(4)
?!!!!aaaa
aaaa
!!!! TAT≥TST
?DA(5)NU
??
?QQQ
QQQI = 0? ?
?
I= I−1(10)
NU DA
(11)(12)
(13)
NU(14)DA
(15)? ?
?!!!!!!aaaaaa
aaaaaa
!!!!!! CLOCK>TST-TID
? ?
?CLOCK=CLOCK+C
?
?TWT=TWT+WTWT=TST−TATI = I + 1
!!!!!aaaaa
aaaaa
!!!!! CLOCK>TAT
??
DA(7)
?
?
??
CLOCK=CLOCK+CNU (8)
?TST=TATTTID=TTID+TIDTID=TAT-TST(6)
TAT = TAT + ATGenereaza AT
TST = TST + STGenereaza ST(9)
? ??!!!!!aaaaa
aaaaa
!!!!! CLOCK<NT
?DA (16)
?
livreaza rezultatele utileiesire sau alte statistici siCalculeaza parametrii deNU (17)
?
STOP-
Fig. 7.2. Schema logica a modelului ./1./1: ( ∞FIFO);
cu ceas constant.
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
7.2. SIMULAREA UNUI SISTEM CU O STATIE 163
Printre altele se poate calcula durata total˘ a a serviciilo r efectuate de sistem
SST=TST−TTID (7.13)
precum ¸ si timpul total petrecut de client ¸i in sistem
TCST =SST+TWT. (7.14)
Pentru a calcula AWT,ATID este necesar s˘ a introducem in model un con-
torICOUNT ce trebuie initializat cu zero ¸ si care se actualizeaz˘ a (se incre-
menteaz˘ a cu o unitate) in blocul (15) cˆ and se simuleaz˘ a se rvirea unui client.
Calculul parametrilor AWT,ATID se va realiza in acest caz tot cu formulele
(7.10) (in cazul ultimului model se ia NS=ICOUNT ). Aceasta formul˘ a
estimeaz˘ a de fapt valorile medii teoretice E(WT),E(TID) ale timpilor de
a¸ steptare ¸ si de lenevire. Pentru ca aceste estim˘ ari sa fie cˆ at mai bune, trebuie
cavolumele de select ¸ie NSsauICOUNT s˘ a fie suficient de mari, fapt ce se
realizeaz˘ a fie cˆ and NSeste mare, in cazul ceasuliui cu cre¸ stere variabil˘ a, fie
cˆ andNTeste mare, in cazul ceasului cu cre¸ stere constant˘ a.
7.2.3 Validarea modelelor cu o stat ¸ie
Cele dou˘ a modele simuleaz˘ a acela¸ s sistem de a¸ steptare, deci validarea lor se
face pe baza aceluia¸ s model matematic de a¸ steptare ¸ si anu me modelul
Exp(λ)/Exp(µ)/1 : (∞,FIFO ),
adic˘ a se consider˘ a c˘ a repartit ¸iile duratelor de sosire ¸ si de serviciu au repartit ¸ii
exponent ¸iale negative.
Trebuie s˘ a determin˘ am mai intˆ ai intensit˘ at ¸ile λn,n≥0,¸ siµn,n > 0.
Intensitatea unei sosiri va satisface deci relat ¸ia
P(0<AT < ∆t) = 1−e−λ∆t= 1−1+λ∆t+o(∆t) =λ∆t+o(∆t).(7.15)
Deoarece, conform definit ¸iei 7.1 trebuie s˘ a avem
λn∆t+o(∆t) =λ∆t+o(∆t),
rezult˘ a c˘ a
λn=λ,∀n≥0. (7.15/prime)
In mod asem˘ an˘ ator deducem c˘ a
µn=µ. (7.15/prime/prime)
164 CAP. 7. CATEVA MODELE DE SIMULARE
Deci conform formulei (7.8) avem
pn=ρnp0, ρ=λ
µ, (7.16)
iar din (7.8’) rezult˘ a
p0= [1 +∞/summationdisplay
n=1ρn]−1= 1−ρ, (7.16/prime)
adic˘ a
pn=ρn(1−ρ).
Conform relat ¸iei cunoscute dintre repartit ¸ia exponent ¸ ial˘ a negativa ¸ si repartit ¸ia
Poisson, rezult˘ a c˘ a λeste num˘ arul mediu de sosiri pe unitatea de timp, iar
µeste num˘ arul mediu de client ¸i servit ¸i pe unitatea de timp . De aceea ρ
reprezint˘ a intensitatea de trafic a client ¸ilor prin sistem.Pentru a avea sens p0
trebuie ca 0 <ρ< 1.(Deci un sistem de a¸ steptare cu λ>µ nu are sens! ).
Pentru validarea modelelor de simulare cu o stat ¸ie putem de ci folosi modelul
matematic anterior. Formulele (7.9),(7.9’),(7.10),(7.1 0’) devin respectiv
E[WL] =∞/summationdisplay
n=2(n−1)ρn(1−ρ) =
=ρ2(1−ρ)∞/summationdisplay
n=2(n−1)ρn−2=ρ2(1−ρ)∞/summationdisplay
n=1nρn−1=
=ρ2
1−ρ,
E[WT] =E[ST]E[WL] =1
µE[WL] =ρ2
µ(1−ρ). (7.17)
E[NID] =1/summationdisplay
n=0(1−n)pn=p0= 1−ρ,
E[TID] =E[AT]E[NID] =1−ρ
λ. (7.18)
Validarea modelelor de simulare se realizeaz˘ a cˆ and
AWT≈E[WT], ATID≈E[TID], (7.19)
sau dac˘ a
|E(WT)−AWT|≤/epsilon1 (7.19/prime)
7.3. SIMULAREA UNUI SISTEM CU NSTAT ¸II PARALELE 165
cu/epsilon1 >0 dat, suficient te mic ( /epsilon1=eroare ). Desigur in practic˘ a se poate
folosi pentru validare numai unul din parametri E[WT] sauE[TID].Dac˘ a
(7.19) are loc, atunci inseamn˘ a c˘ a in loc de repartit ¸ii ex ponent ¸iale se pot
folosi orice repartit ¸ii pentru AT¸ siST.
O caracteristic˘ a important˘ a a unui sistem de a¸ steptare e stefactorul de
eficient ¸˘ a al sistemului care se define¸ ste astfel
Ie=E(W)
E(ST),E(W) =E[N(t)]1
µ(7.20)
care spune de fapt in ce m˘ asur˘ a timpul petrecut de client in sistem a fost
folositor pentru el.(Clientul este interesat ca Ies˘ a fie cˆ at mai mic!). Factorul
de eficient ¸˘ a se estimeaz˘ a cu ajutorul simul˘ arii astfel
Ie=TWT +SST
SST(7.20/prime)
¸ si el poate fi utilizat ¸ si pentru validare.
Pentru un model de a¸ steptare cu o stat ¸ie, cu sosiri exponen t ¸iale ¸ si servicii
oarecare ( adic˘ a modelul Exp(λ)/B/1 : (∞;FIFO ),E(B) =E(ST) =1
µ,)
s-a ar˘ atat c˘ a
Ie=ρ
2(1−ρ)(1 +C2
s) (7 .20/prime/prime)
undeCseste coeficientul de variabilitate al timpului de serviciu d efinit astfel
Cs=/radicalbig
Var(ST)
E(ST).
Formula (7.20”), cunoscut˘ a sub numele de Formula lui Pollaczek , spune in
fapt c˘ a factorul de eficient ¸˘ a al sistemului de a¸ steptare depinde numai de
ρ=λ/µ¸ si deCs.
7.3 Simularea unui sistem cu Nstat ¸ii par-
alele
Vom prezenta aici modelul de simulare
././N : (∞,FIFO )
in care cele Nstat ¸ii sunt presupuse paralele. In practic˘ a un astfel de m odel
se intalne¸ ste la o stat ¸ie de service auto, la o stat ¸ie de benzin˘ a sau la o
166 CAP. 7. CATEVA MODELE DE SIMULARE
banc˘ a ( ghi¸ seele care servesc client ¸ii ), etc. Lista variabilelor ¸ si parametrilor
modelului este
AT= intervalul de timp (aleator) dintre dou˘ a veniri consecut ive;
ST(J) = durata unui serviciu (aleator) la stat ¸ia J,1≤J≤N,(Neste
parametru de intrare; tot parametri de intrare sunt paramet ri repartit ¸iilor
de probabilitate ale variabilelor aleatoare AT¸ siST(J));
WT= timpul de a¸ steptare in coad˘ a al unui client oarecare;
TID= timpul curent de lenevire al stat ¸iei care incepe un servic iu;
TAT= momentul sosirii ultimului client (clientul curent);
TT(J) = timpul stat ¸iei Jla plecarea din ea a ultimului client ( ceasul
stat ¸ieiJ);
TTMIN = ceasul simul˘ arii, cu cre¸ stere variabil˘ a (definit ca cel mai mic
dintre ceasurile TT(J));
L= stat ¸ia cu cel mai mic ceas, adic˘ a TTMIN =TT(L);
NS= num˘ arul de client ¸i ce trebuie servit ¸i pe parcursul simu l˘ arii, este
parametru de intrare;
ICOUNT = contur care num˘ ara serviciile;
SST(J) = suma duratelor de serviciu ale stat ¸iei J;
SWT(J) = suma timpilor de a¸ steptare ai client ¸ilor servit ¸i de st at ¸iaJ;
TTID (J) = timpul total de lenevire al stat ¸iei J;
DIF=TAT−TTMIN = variabil˘ a de lucru.
Schema logic˘ a a modelului de simulare este prezentat˘ a in F ig.7.3. In
blocul (1) sunt citit ¸i parametri de intrare ¸ si sunt f˘ acut e init ¸ializ˘ arile
TAT= 0,TT(J) =SST(J) =SWT(J) =TTID (J) = 0,1≤J≤N.
(7.21)
In continuare, ciclul definit de blocurile (2) ¸ si (3) genere az˘ aN−1 sosiri
(se presupune c˘ a la inceputul simul˘ arii un client se afl˘ a d eja in sistem).
Ciclul format din blocurile (5) ¸ si (6) simuleaz˘ a servirea primilorNclient ¸i
(specificat ¸i in blocul (4)) ¸ si actualizeaz˘ a variabilele TT(J),TTID (J),ST(J),SST (J),1≤
J≤N.Blocurile (7)-(15) realizeaz˘ a ciclul de simulare al servi rii celorNS
client ¸i. Astfel, blocul (7) determin˘ a ceasul (variabil) al simul˘ arii alegˆ and
stat ¸iaLla care se va efectua urm˘ atorul serviciu, num˘ arat de blocu l (8).
Blocul (9) controleaz˘ a ¸ si decide terminarea simul˘ arii. Blocul (10) simuleaz˘ a
o nou˘ a sosire, actualizeaz˘ a momentul ultimei sosiri TAT, ¸ si calculeaz˘ a vari-
abila de lucru DIF, al c˘ arei semn este testat de blocul (11). Dac˘ a semnul
luiDIFeste negativ atunci in blocul (12) se calculeaz˘ a timpul de a ¸ steptare
al clientului ce urmeaz˘ a s˘ a intre in serviciu ¸ si se actual izeaz˘ a timpul de
a¸ steptare al client ¸ilor servit ¸i de stat ¸ia L,altfel dac˘ aDIFin blocul (11) este
pozitiv, atunci in blocul (13) se calculeaz˘ a ¸ si actualize az˘ a timpul de lenevire
7.3. SIMULAREA UNUI SISTEM CU NSTAT ¸II PARALELE 167
al stat ¸ieiL.In continuare blocul (14) simuleaz˘ a servirea clientului ( sosit cel
mai de demult conform blocului (12) sau deja sosit conform bl ocului (10)),
conform disciplinei FIFO, de c˘ atre stat ¸ia L.Blocul (15) actualizeaz˘ a ceasul
stat ¸ieiLcare a terminat serviciul si se reia ciclul simul˘ arii din bl ocul (9).
Cˆ and simularea se termin˘ a, se execut˘ a blocul (16) care ca lculeaz˘ a ca deobicei
statisticile finale ¸ si alte elemente de interes.
•Validarea modelului cu Nstat ¸ii paralele. Pentru validare folosim
modelul matematic de a¸ steptare
Exp(λ)/Exp(µ)/N: (∞;FIFO ) (7 .22)
adic˘ a modelul cu Nstat ¸ii paralele identice, cu timp de intersosire exponent ¸ial
de parametru λ,cu timpul de servire al fiec˘ arii stat ¸ii repartizat exponen t ¸ial
de parametru µ,¸ si cu disciplina de serviciu FIFO.
Va trebui ¸ si in acest caz s˘ a determin˘ am intensit˘ at ¸ile λn,n≥0 ¸ siµn,n>
0.Ca ¸ si in cazul modelului cu o stat ¸ie, avem
λn=λ, n≥0. (7.23)
Deoarece intensitatea servirilor pentru fiecare stat ¸ie es teµ¸ si serviciul se
desf˘ a¸ soar˘ a in paralel, avem
µn=/braceleftbiggnµ, 1≤n≤N−1,
Nµ, n≥N.(7.24)
168 CAP. 7. CATEVA MODELE DE SIMULARE
m?
ATT(L)= TTMIN+ST(L)(15) ?SST(L)=SST(L)+ST(L)Genereaza ST(L)(14) ?? ?SWT(L)=SWTL(L)+WTWT=-DIF
TTID(L)=TTID(L)+TIDTID = DIF? ?!!!!aaaa
aaaa
!!!!
?DIF ?
(12) (13)
= 0+(11)?DIF = TAT – TTMINTAT = TAT + ATGenereaza AT (10)?≤NS!!!!aaaa
aaaa
!!!!?
ICOUNT ?(9)>NS
?
rezultatele utilesi livreazaCalculeaza statisticile(16)
?
STOPICOUNT=ICOUNT+1? (8)TTMIN=TT(L)1≤J≤NTTMIN=MIN(TT(J))? (7)– ?
A
TTMIN=TT(L)1≤J≤NTTMIN=MIN(TT(J))? (7)SST(J)=SST(J)+ST(J)TT(J)=TTID(J)=ST(J)Genereaza ST(J)? (6) JJ
JJDO J=1,N(5) ?ICOUNT=N(4) ?TAT=TAT+ATGenereaza AT? (3) JJ
JJDO J=2,N(2) ?si fixeaza conditiile initialeCiteste parametrii de intrare? (1)
START
Fig. 7.3. Schema logica pentru simularea unui sistem
cu N stat ¸ii paralele.
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
7.3. SIMULAREA UNUI SISTEM CU NSTAT ¸II PARALELE 169
Notˆ and ca ¸ si in cazul modelului cu o stat ¸ie
ρ=λ
µ,
conform cu (7.8) deducem
pn=/braceleftBiggρn
n!po,1≤n≤N−1,
ρn
N!Nn−Np0, N≤n<∞,(7.25)
iar din (7.8’) rezult˘ a
p0=/bracketleftBiggN−1/summationdisplay
n=0ρn
n!+ρN
N!N
N−ρ/bracketrightBigg−1
. (7.25/prime)
Lungimea medie a cozii este
E(WL) =∞/summationdisplay
n=N(n−N)pn=p0/bracketleftBigg
Nn
N!∞/summationdisplay
n=Nnρn
Nn−NN+1
N!∞/summationdisplay
n=Nρn
Nn./bracketrightBigg
.
Notˆ and
ρ∗=ρ
N
se deduce prin calcule c˘ a
E(WL) =p0/bracketleftBigg
Nn
N!ρ∗d
dρ/parenleftBigg∞/summationdisplay
n=Nρ∗n−1/parenrightBigg
−NN+1
N!ρ∗N+1
1−ρ∗/bracketrightBigg
=
=NN
N!ρ∗N+1
(1−ρ∗)2=λµρN
(N−1)(Nµ−λ)2. (7.26)
M˘ arimeaρ∗se nume¸ ste intensitatea de trafic a sistemului de a¸ steptare.
Timpul mediu de a¸ steptare este
E(WT) =E(WL)E(S),E(S) =E(ST)/N,
undeE(S) este timpul mediu de serviciu al sistemului. In final se obt ¸ ine
E(WT) =λρN
N(N−1)!(Nµ−λ). (7.26/prime)
In mod asem˘ an˘ ator se calculeaz˘ a num˘ arul mediu de stat ¸i i care lenevesc ¸ si
timpul mediu de lenevire al stat ¸iilor, adic˘ a
E(NID) =N−1/summationdisplay
n=0(N−n)pn=/bracketleftBigg
(N−ρ)N−2/summationdisplay
n=0ρn
n!+NρN−1
(N−1)!/bracketrightBigg
p0,(7.27)
170 CAP. 7. CATEVA MODELE DE SIMULARE
E(TID) =E(NID)E(AT) =1
λ/bracketleftBigg
(N−ρ)N−2/summationdisplay
n=0ρn
n!+NρN−1
(N−1)!/bracketrightBigg
p0.(7.27/prime)
Din modelul de simulare se obt ¸in respectiv urm˘ atoarele es timat ¸ii pentru
E(WT) ¸ siE(TID)
AWT =/summationtext
LSWT(L)
NS, (7.26/prime/prime)
ATID =/summationtext
LTTID (L)
NS. (7.27/prime/prime)
Ca ¸ si in cazul modelului cu o stat ¸ie, condit ¸iile de valida re pentru acest model
sunt
|E(WT)−AWT|</epsilon1,|E(TID)−ATID|</epsilon1.
In caz de validare, inseamn˘ a c˘ a modelul de simulare constr uit poate fi utilizat
¸ si dac˘ a repartit ¸iile variabilelor aleatoare AT¸ siSTsunt oarecare (diferite de
exponent ¸iale).
7.4 Modele de simulare pentru stocuri
7.4.1 Introducere in teoria matematic˘ a a stocurilor
Un stoc este o resurs˘ a de orice fel care are o valoare economi c˘ a, caracteri-
zat˘ a prin intr˘ ari ¸ siie¸ siri. Ie¸ sirea din resurs˘ a este determinat˘ a de regul˘ a de
cerere, de¸ si nu intotdeauna. (Pot fi scoase din stoc ¸ si elem enteexpirate sau
deteriorate).
Stocuri (numite uneori ¸ si inventare ), exist˘ a in aproape orice activitate
economico-social˘ a (de ex. unitate de product ¸ie, unitate comercial˘ a, etc).
Scopul unui model de stocare este s˘ a defineasc˘ a regulile de inc˘ arcare op-
tim˘ a a stocului, astfel incˆ at costul (sau profitul) legat d e aprovizionarea
¸ si intret ¸inerea stocului s˘ a fie minim (maxim). Stocul se p oate m˘ asura in
unit˘ at ¸i fizice ( de ex. kilograme, metri, buc˘ at ¸i, etc), s au in unit˘ at ¸i valorice
convent ¸ionale (de regul˘ a unit˘ at ¸i monetare).
Variabilele ¸ si parametri unui model general de stocare sun t:
t=timpul;
I(t)= nivelul curent al stocului;
a(t)= rata intr˘ arii in stoc la momentul t;
b(t)= rata ie¸ sirii sin stoc la momentul t;
r(t)= rata cererii (cˆ and aceasta nu coincide cu ie¸ sirea de alt ˘ a natur˘ a).
Rata cererii, ca ¸ si alte elemente ce caracterizeaz˘ a un sto c, pot fi aleatoare.
7.4. MODELE DE SIMULARE PENTRU STOCURI 171
De regul˘ a, intrarea in stoc se realizeaz˘ a in cantit˘ at ¸i m ari (numite comenzi )
care se introduc in stoc la intervale de timp numite cicluri de reaprovizionare .
Costurile sunt (parametri!) de tipul:
h= costul de stocare a unei unit˘ at ¸i de stoc intr-o unitate de timp;
d= costul lipsei unei unit˘ at ¸i de stoc intr-o unitate de timp ;
s= costul de lansare a unei comenzi (costul fort ¸ei de munc˘ a s au al altor
resurse folosite pentru a lansa comanda).
Din cele de mai sus rezult˘ a c˘ a nivelul stocului la momentul teste
I(t) =I0+t/integraldisplay
0[a(t)−b(t)]dt, (7.28)
undeI0este nivelul init ¸ial al stocului.
In funct ¸ie de elementele de mai sus se define¸ ste un obiectiv , sa-l not˘ am
E[a(t),b(t),r(t)],care trebuie optimizat. A¸ sa cum am ment ¸ionat, acest
obiectiv poate fi un cost (sau un profit) determinat in funt ¸ie de cerere ¸ si
de costurile h,d,s ¸ si de unele necunoscute (comand˘ a sau allte elemente ce
vor fi definite mai jos). Cˆ and cererea este aleatoare, funct ¸ ia obiectiv este
omedie (cost mediu sau beneficiu mediu). De regul˘ a, scopul modelul ui de
stocare este de a defini a(t) optim cˆ and se dau b(t),r(t).Uneori ins˘ a (de
exemplu cˆ and stocul este un lac de acumulare), scopul model ului este s˘ a
determine ie¸ sirea optim˘ a (adic˘ a b(t) ¸ si/saur(t)) cˆ and rata (debitul) intr˘ arii
a(t) este cunoscut. Pentru a face o alegere ne vom ocupa de primul caz (al
stocurilor obi¸ snuite, caz mai frecvent intˆ alnit),
-6
0AAAAAAAAAAAA K
t1 t2T1 T2I0I(t)
q1 q2
t JJJJJJJJJJJ ]
AAAAAAAAAAAAA K
Fig. 7.4. Variat ¸ia stocului I(t)
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
cˆ and se cere intrarea optim˘ a. Am v˘ azut c˘ a in acest caz int rarea in stoc
se realizeaz˘ a prin comenzi. Reaprovizionarea stocului ¸ si variat ¸ia acestuia se
prezint˘ a grafic in Fig. 7.4. Comenzile q1,q2,…intr˘ a in stoc la momentele
t1,t2,…IntervalulTi=ti+1−tiesteciclul de reaprovizionare care paote fi
constant sau variabil.
172 CAP. 7. CATEVA MODELE DE SIMULARE
Reaprovizionarea stocului se realizeaz˘ a printr-un mecanism de reapro-
vizionare descris de Fig. 7.5. Se presupune c˘ a stocul nu dep ˘ a¸ se¸ ste un nivel
maxinS.In timp stocul scade cu o rat˘ a dat˘ a (care este constant˘ a in Fig. 7.5,
deoarece variat ¸ia stocului este liniar˘ a); cˆ and stocul s cade pˆ an˘ a la un nivel P,
numit nivel reaprovizionare, atunci se lanseaz˘ a o comand˘ a qcare va intra in
stoc dup˘ a timpul de avans L.Comenzile intr˘ a in stoc la intervale de timp de
reaprovizionare de lungime T.Nivelul de reaprovizionare ar trebui s˘ a poat˘ a
satisface cererea pe perioada timpului de avans L.Dar uneori accept˘ am ca
stocul de rezerv˘ a Ps˘ a poat˘ a satisface cererea pe o perioad˘ a de timp de
lungimet/prime,t/prime< T.In acest caz exist˘ a o perioad˘ a t/prime/prime=T−t/primecˆ and are loc
lipsa de stoc. Un astfel de model se nume¸ ste cu lips˘ a de stoc ¸ si in el intervine
costuld.Conform Fig. 7.5 cererea ne satisf˘ acut˘ a se p˘ astreaz˘ a in sensul c˘ a
atunci cˆ and qintr˘ a in stoc se consum˘ a o parte din comand˘ a pentru a satis face
cererea care nu a fost satisf˘ acut˘ a pe perioada t/prime/prime.
In acest caz se admite c˘ a nivelul stocului ia ¸ si valori nega tive, iar nivelul
la care se ridic˘ a stocul va fi mai mic decˆ at q.Dac˘ a cererea nesatisf˘ acut˘ a nu se
p˘ astreaz˘ a, nu se admite stoc negativ ¸ si la intrarea lui qin stoc nivelul maxim
al stocului devine S=q.Pentru un astfel de model cererea nestisf˘ acut˘ a se
pierde.
-6
0I(t)
T 2T
t/primet”@@@@@@@@@@@@I
SSSSSSSSSSSSSSSS o B
B
B
B
B
B
B
BB
L1 L2PS
t
Fig. 7.5. Mecanismul reaprovizionˇ arii
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
In diverse modele de stocare se pot da costurile h,s¸ si/saud,se d˘ a rata
cereriir¸ si timpul de avans L¸ si se cerq,Poptime. O mult ¸ime de elemente ce
definesc un mecanism de aprovizionare se spune c˘ a determin˘ a opolitic˘ a de
7.4. MODELE DE SIMULARE PENTRU STOCURI 173
reaprovizionare. Cˆ andr,Lnu sunt aleatoare modelul se nume¸ ste determinist ;
in cazul cˆ and cel put ¸in una din aceste variabile este aleat oare modelul este
stochastic . Dac˘ a timpul nu intervine in mod explicit in model, spunem c ˘ a
avem de-a face cu un model static, altfel, modelul este dinamic.
In concluzie, modelele de teoria stocurilor i¸ si propun s˘ a determine o
politic˘ a de reaprovizionare optim˘ a.
7.4.2 Modele simple deterministe de stoccare a unui
produs
Vom prezenta dou˘ a din cele mai simple modele statice determ iniste pentru
stocarea unui produs.Aceste modele vor constitui scheletu l pe baza c˘ arora
se vor construi modelele de simulare.
•Modelul clasic al lotului economic. Acest model, cunoscut ¸ si sub
numele de modelul lui Wilson, are la baz˘ a urm˘ atoarele ipoteze:
– rata cererii reste constant˘ a, cunoscut˘ a ¸ si cererea este continu˘ a;
– ciclul de reaprovizionare Teste constant ¸ si ne cunoscut;
– comandaqeste constant˘ a ¸ si necunoscut˘ a; intr˘ arile cantit˘ at ¸i lorqin stoc
au loc instantaneu la intervale de timp T;
– timpul de avans Leste zero, adic˘ a neglijabil; (comenzile qintr˘ a in stoc
imediat dup˘ a ce se lanseaz˘ a comanda);
– nivelul de reaprovizionare Peste zero (in concordant ¸˘ a cu ipoteza ante-
rioar˘ a);
– costurile de stocare h¸ si de lansare ssunt constante date;
– nu se admite lips˘ a de stoc (adic˘ a d= 0).
Se observ˘ a c˘ a intre necunoscutele q,Tare loc relat ¸ia
T=q
r. (7.29)
Variat ¸ia stocului in cazul acestui model este prezentat˘ a in Fig.7.6.
174 CAP. 7. CATEVA MODELE DE SIMULARE
-6
0I(t)
T 2T@@@@@@@@@@@@I
@@@@@@@@@@@@Iq
t
Fig. 7.6. Variat ¸ia stocului pentru modelul clasic al lotul ui economic
ææææ
Costul total de intret ¸inere a stocului pe perioada Teste
CT=Ch,T+s (7.30)
undeCh,Teste costul de stocare ¸ si seste costul de lansare. Avem
Ch,T=hT/integraldisplay
0I(t)dt=hq
2T=hq2
2r. (7.30/prime)
Funct ¸ia obiectiv a modelului const˘ a in a minimiza costul a sociat ment ¸inerii
stocului. Dac˘ a am considera acest cost a¸ sa cum este el defin it de (7.30),
atunci s-ar deduce c˘ a T= 0 ceea ce nu are sens. De aceea lu˘ am ca obiectiv
minimizarea costului C(q)pe unitatea de timp, adic˘ a, tinˆ and seama
¸ si de (7.29) trebuie s˘ a impunem condit ¸ia
C(q) =CT
T=hq2
2r1
T+s
T=hq
2+sr
q=min. (7.31)
Impunˆ and condit ¸ia de mninim lui C(q) obt ¸inem politica optim˘ a de reaprovizionare
( ˆq0,ˆT0) dat˘ a de
ˆq0=/radicalbigg2rs
h,ˆT0=ˆq0
r=/radicalbigg2s
rh(7.32)
iar costul optim (i.e. minim) este
ˆC0=√
2rsh. (7.32/prime)
7.4. MODELE DE SIMULARE PENTRU STOCURI 175
Din formula (7.31) se deduce o regul˘ a simpl˘ a de calcul a cos tului de stocare
pe unitatea de timp, anume, el este produsul dintre h¸ si stocul mediu pe
perioada ciclului de reaprovizionare care este (0 + q)/2; de aici se deduce
costul de stocare mediu pe o perioad˘ a de lungime t,adic˘ a
Ch,t=hq
2t. (7.31/prime)
•Modelul clasic al lipsei de stoc. In acest caz sunt satisf˘ acute
ipotezele modelului precedent cu except ¸ia faptului c˘ a ex ist˘ a lips˘ a de stoc
(adic˘ ad >0, d=constant˘ a dat˘ a) ¸ si stocul poate cre¸ ste pˆ an˘ a la o valo are
Snecunoscut˘ a. Variat ¸ia stocului in acest caz este ilustra t˘ a de Fig. 7.7.
Rat ¸ionˆ and asem˘ an˘ ator modelului precedent se deduce fu nct ¸ia obiectiv de
minimizat de forma
C(S,T) =1
T/bracketleftbigCh,t/prime+Cd,t/prime/prime+s/bracketrightbig(7.33)
undeCh,t/primea fost definit mai sus in (7.31’) iar Cd,t/prime/primese define¸ ste in mod
asem˘ an˘ ator. Detaliind costurile rezult˘ a c˘ a
C(S,T) =1
T(s+hS
2t/prime+dq−S
2t/prime/prime), q=rT. (7.33/prime)
-6
0I(t)
T 2T
@@@@@@@@@@@@I S
S
S
S
S
S
S
S
S
S
SSqS
t/primet/prime/prime
t
Fig. 7.7. Variat ¸ia stocului pentru modelul lipsei de stoc
ææææææææææææ
Din asem˘ anarea unor triunghiuri din Fig.7.7 rezult˘ a
t/prime=S
r, t/prime/prime=T−S
r=rT−S
r
176 CAP. 7. CATEVA MODELE DE SIMULARE
de unde se obt ¸ine in final
C(S,T) =s
T+hS2
2rT+d(rT−S)2
2rT. (7.34)
Impunˆ and condit ¸ii de minim in (7.34), adic˘ a
∂C
∂S= 0,∂S
∂T= 0,
deducem in final valorile ˆS1,ˆT1care realizeaz˘ a costul minim ˆC1,
ˆT1=/radicalbigg2s
rh/radicalBigg
1
ρ, ρ=d
h+d,
ˆS1=/radicalbigg2rs
h√ρ,ˆq1=ˆT1r=/radicalbigg2rs
h/radicalBigg
1
ρ. (7.35)
Se observ˘ a c˘ a 0 <ρ< 1,care conduce la
ˆC1=√ρˆC0<ˆC0,
de unde rezult˘ a la prima vedere c˘ a modelul clasic al lipsei de stoc este mai
bun dacˆ at modelul clasic al lotului economic. Coeficientul ρsatisface relat ¸ia
ρ=ˆS1
ˆq1,de unde rezult˘ a c˘ a (1 −ρ)% poate fi interpretat ca indice de lips˘ a.
Deci dac˘ a s-ar da indicele de lips˘ a α= 1−ρatunci ar rezulta c˘ a d=1−α
αh
adic˘ a ar rezulta c˘ a exist˘ a o dependent ¸˘ a strict˘ a intre costurileh¸ sid,ceea ce
nu este intocmai adev˘ arat in practic˘ a. Acest fapt constit uie deci o critic˘ a a
modelului clasic al lotului economic.
7.4.3 Modele de simulare particulare
Vom prezenta aici dou˘ a modele de simulare simple pentru un p rodus, din
care vor rezulta planuri de reaprovizionare ¸ si costuri opt ime. Modelele vor
fi construite pe scheletul modelului clasic al lipsei de stoc .
•Primul model. In acest model vom folosi urm˘ atoarele variabile ¸ si
parametri
H= costul de stochare;
D= costul lipsei de stoc;
S= costul de lansare;
CH= costul total de stocare pe perioada simulat˘ a;
CD= costul total al lipsei de stoc pe perioada simulat˘ a;
7.4. MODELE DE SIMULARE PENTRU STOCURI 177
CS= costul total de lansare pe perioada simulat˘ a;
TC= costul total ( TS=CH+CD+CS);
T= momentul de timp (curent) cˆ and intr˘ a o comand˘ a in stoc;
R= cerera pe unitatea de timp (rata cererii);
VI= nivelul curent al stocului;
Q= comanda optim˘ a;
P= nivelul de reaprovizionare;
L= timpul de avans;
CLOCK = ceasul simul˘ arii;
BI= nivelul init ¸ial al stocului;
TT= perioada de timp pe care se face simularea.
Parametrii de intrare sunt: H,D,S,P,BI,TT ; variabilele R,Lsunt
variabile aleatoare de intrare (avˆ and repartit ¸ii date) i ar parametri acestor
repartit ¸ii sunt de asemenea parametri de intrare; toate ce lelalte variabile
listate anterior sunt variabile de ie¸ sire.
178 CAP. 7. CATEVA MODELE DE SIMULARE
T = CLOCK + LGenereaza LCS = CS + S(12) ?!!!!aaaa
aaaa
!!!! T≤CLOCK(11)?!!!!aaaa
aaaa
!!!!P<VI
?(10)?CH = CH + VI∗H(9)?≥
VI = 0CD = CD – VI∗D
(8)!!!!aaaa
aaaa
!!!!?VI
?(7)<0?VI = VI – R(6)?VI = VI + Q(5)
Nu?Da!!!!aaaa
aaaa
!!!!
?T=CLOCK(4)?!!!!aaaa
aaaa
!!!!
?CLOCK≤TT(3)?
Da?Nu
simulˇ ariiScrie rezultatele
?(14) ?TS = CH + CD + CS(13)
STOPCLOCK = CLOCK + 1Genereaza R(2) ?parametrii de intrareInitializeaza si citeste?(1)
START
-66
DaNuDa –
– Nu
?? ?CH=CH+VI∗HCD=CD-VI∗D(9) (8) ? ?≥0 <0!!!!aaaa
aaaa
!!!!?VI?(7)
Fig. 7.8’
Fig. 7.8. Schema logica pentru primul model
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
7.4. MODELE DE SIMULARE PENTRU STOCURI 179
Condit ¸iile init ¸iale (inclusiv valorile init ¸iale ale va riabilelor) sunt
TC=CS=CD=CH= 0, VI =BI, T =CLOCK = 0.(7.36)
M˘ arimea comenzii Qse determin˘ a pe parcursul simul˘ arii cu formula
Q=/radicalBigg
2RS
H/radicalBigg
H+D
D, R;N(m,σ), m>> 3σ (7.37)
undeRse simuleaz˘ a in prealabil; comanda Qeste calculat˘ a in ipotezele
modelului clasic al lotului economic.
Nivelul de reaprovizionare, in ipoteza R;N(m,σ) se calculeaz˘ a la
inceputul execut ¸iei simul˘ arii folosind proprietatea Prob(R(L)> P) =α,
undeαeste un risc mic dat ( α≈0.05), iarR(L)=R1+…+RLeste
cererea pe timpul aleator de avans L, (L-intreg) cu media l=E[L]. Deoarece
R(L);N(lm,√
lσ) rezult˘ a c˘ a
Prob(R(L)>P) =Prob(R(L)−ml√
lσ>P−lm√
lσ) =α,
¸ si deoarece
Z=R(L)−lm√
lσ;N(0,1)
rezult˘ a
P−lm√
lσ=zα, undezα/integraldisplay
−∞e−t2
2dt= 1−α.
Din ultima relat ¸ie rezult˘ a nivelul de reaprovizionare de forma
P=lm+zα√
lσ. (7.38)
Schema logic˘ a a modelului de simulare este dat˘ a de Fig. 7.8 ¸ si ea se autoex-
plic˘ a. Modelul de simulare este construit in ipoteza c˘ a cererea nesatisf˘ acut˘ a
se pierde, fapt ilustrat de blocurile (7) ¸ si (8) din schem˘ a. Printr-o mod-
ificare minor˘ a se poate introduce in model ipoteza c˘ a cererea nesatif˘ acut˘ a
se p˘ astreaz˘ a. Acest fapt este ilustrat prin blocurile (7),(8),(9) din figu ra
incadrat˘ a 7.8’ care ar trebui s˘ a inlocuiasc˘ a blocurile ( 7),(8) din Fig. 7.8.
Introducˆ and in Fig. 7.8 instruct ¸iuni corespunz˘ atoare d e afi¸ sare (scriere), se
poate obt ¸ine planul de reaprovizionare pe perioada simulat˘ a TT, constˆ and
din momentele intr˘ arii in stoc T¸ si comenzile optime Q.
•Al doilea model. Acest model este asem˘ an˘ ator primului model,
dar el folose¸ ste unele ipoteze mai generale ce vor fi preciza te in continuare.
180 CAP. 7. CATEVA MODELE DE SIMULARE
Astfel, sunt folosite multe din variabilele ¸ si parametri p rimului model, dar
sunt incluse ¸ si urm˘ atoarele:
AR=media mobil˘ a a cererii calculat˘ a pe Munit˘ at ¸i de timp precedente;
RS= abaterea medie p˘ atratic˘ a a cererii ca medie mobil˘ a pe Mperioade
de timp precedente;
AL= media mobil˘ a a timpului de avans calculat din datele pe Nperioade
precedente;
K=zα=α−cuantila repartit ¸iei normale N(0,1) (folosit˘ a ¸ si in modelul
precedent).
Se presupune deci c˘ a rata cererii R;N(µ(t),σ(t)),are parametri vari-
abili in timp iar Lare de asemenea media E[L] =l(t) variabil˘ a in timp. Se
presupune c˘ a aceste variabile aleatoare au parametri cons tant ¸i pe perioade
mici de timp de lungimi MrespectivN,parametri ce sunt estimat ¸i ca medii
mobile de forma
AR=M/summationtext
i=1Ri
M=SUMR
M(7.39)
AL=N/summationtext
j=1Lj
N=SUML
N(7.40)
SR=/radicaltp/radicalvertex/radicalvertex/radicalvertex/radicalvertex/radicalvertex/radicalvertex/radicalbtM/summationtext
i=1R2
i
M−
M/summationtext
i=1Ri
M
2
=/radicalBigg
SSUMR
M−/parenleftbiggSUMR
M/parenrightbigg2
. (7.41)
In ipoteza parametrilor constant ¸i putem deci aplica formu lele de calcul pen-
tru comanda Q¸ si nivelul de reaprovizionare L,adic˘ a
Q=/radicalBigg
2.AR.S
H/radicalBigg
H+D
D(7.42)
7.4. MODELE DE SIMULARE PENTRU STOCURI 181
m?
AVI = VI-R(11)?VI = VI+Q(10)
??
NuDa!!!!aaaa
aaaa
!!!!?
?T=CLOCK(9)Nu!!!!aaaa
aaaa
!!!!?
?CLOCK>TT(8)
?
tipareste-lede iesire sistatisticileCalc. TC si(12)Da
?
STOPCalculeaza Q,PCalculeaza AR,AL,SRCLOCK=CLOCK+1? (7)RR(M)=R(6)?
?JJ
JJDO I=1,M
RR(I) = RR(I+1)(5)?
-RR(1)∗RR(1)SSUMR=SSUMR+R ∗R-SSUMR=SSUMR+R-RR(1)Genereazˇ a Rm B
(4)?JJ
JJDO J=1,N
SUML = SUML+LLL(J) = LGenereaza L(3)?JJ
JJDO I=1,M
SUMR=SUMR+R ∗RSUMR=SUMR+RRR(I) = RGenereaza L(2)?si fixeaza conditiile initialeCiteste parametrii de intrare? (1)
START
m?
B(22)
T = CLOCK + L?(21)
LL(N) = L?(20)
LL(J)=LL(J+1)JJ
JJDO J=1,N?SUML=SUML+L-LL(1)Genereaza L(19)?CS = CS + S(18) Nu?!!!!aaaa
aaaa
!!!!?
?T>CLOCK(17)mB!!!!aaaa
aaaa
!!!!?
?P<VI(16)mB
Nu
DaDaCH = CH+VI∗H (15)?CD = CD-VI∗DVI = 0(14)
??<0
≥0!!!!aaaa
aaaa
!!!!?
VI(13)mA
–
–
–
–
Fig. 7.9. Schema logica pentru al doilea model de stocare
182 CAP. 7. CATEVA MODELE DE SIMULARE
æææææææææææææææææææææææææææææææææææææææææææææææææææ ææææææææææ
P=AL.AR +K√
AL.SR. (7.43)
Schema logic˘ a a acestui model de simulare este prezentat˘ a in Fig. 7. 9.
Condit ¸iile init ¸iale sunt (7.36) precum ¸ si cele ce rezult ˘ a din considerarea
noilor variabile adic˘ a
SUMR =SSUMR =SUML = 0. (7.44)
Algoritmul simul˘ arii folose¸ ste doi vecroti RR(I),1≤I≤M(care memo-
reaz˘ aRidin (7.39), (7.41)) ¸ si LL(J),1≤j≤N(care memoreaz˘ a Ljdin
(7.40)). Blocurile schemei logice se autoexplic˘ a. Trebui e sa preciz˘ am ins˘ a
c˘ a printre parametri de intrare se dau ¸ si parametri cu care se calculeaz˘ a
funct ¸iileµ(t),σ(t),l(t).Schema logic˘ a este construit˘ a in ipoteza c˘ a cererea
nesatisf˘ acut˘ a se pierde (vezi blocurile (13), (14), (15)), dar ca ¸ si in mo-
delul precedent, prin modific˘ ari (reamplas˘ ari) corespun z˘ atoare ale acestor
blocuri, se poate introduce ¸ si ipoteza c˘ a cererea nesatisf˘ acut˘ a se p˘ astreaz˘ a.
Pentru a obt ¸ine din modelul de simulare un plan de reaproviz ionare pe pe-
rioadaTTva trebui s˘ a includem in blocul (22) o instruct ¸iune care s˘ a afi¸ seze
CLOCK,Q,P,T. Repartit ¸ia ratei cererii Rpoate fi normal˘ a N(µ(t),σ(t)),
caz in care Pse calculeaz˘ a cu formula (7.43), sau poate fi Exp(λ(t)),caz in
carePse calculeaz˘ a pe o cale asem˘ an˘ atoare, dar folosind faptu l c˘ a cererea pe
timpul de avans R(L)are o repartit ¸ie Erlang (0,λ,l).Repartit ¸ia lui Lpoate
fi de exemplu Poisson (λ(t)), l=E[L] =λ(t).(Vezi exercit ¸iul E 7.7 ).
Acest ultim model simuleaz˘ a in mod mai realist decˆ at primu l, procesul
de reaprovizionare al stocului.
Exercit ¸ii.
E 7.1. Precizat ¸i cˆ ateva caracteristici ale modelului de a¸ step tare
Exp(λ)/Exp(µ)/1 : (M,FIFO ),0<M <∞
adic˘ a un model cu o ¸ stat ¸ie ¸ si cu coad˘ a finit˘ a.
Indicat ¸ie. Conform formulelor (7.15’),(7.15”) din $ 7.2.3 avem
λn=λ, n≥0, µ n=µ,1≤n≤M+ 1.
deci dup˘ a calcule, folosind (7.8’) avem
pn=ρ(1−ρ)
1−ρM+1=ρ(1−ρ)
K, K= 1−ρM+1.
7.4. MODELE DE SIMULARE PENTRU STOCURI 183
De aici se deduce
E[N(t)] =∞/summationdisplay
n=0nρn(1−ρ)
1−ρN+1=ρ(1 + (M+ 1)(ρ−ρM)−ρM+1)
(1 +ρ)(1 +ρM+1)
E[WL] =M/summationdisplay
n=1(n−1)ρn(1−ρ)
1−ρM+1=ρ2[(M−1)ρm+ 1−MρM−1]
(1−ρM+1)(1 +ρ).
E[WT] =E[WL]
µ, E[NID] =p0, E[TID] =1−ρ
λ(1−ρM+1).
E 7.2. Fie modelul de a¸ steptare
Exp(λ)/Exp(µ)/N: (M,FIFO )
adic˘ a un model cu Nstat ¸ii paralele identice ¸ si cu coada finit˘ a M,M >N. S˘ a
se determine repartit ¸ia num˘ arului de client ¸i in sistem ¸ si cˆ ateva caracteristici
ale modelului.
Indicat ¸ie. Asem˘ an˘ ator exercit ¸iului precedent avem
λn=λ,n≥0, µ n=/braceleftbiggn!µ, daca 1≤n≤M
N!µNn−N, dacaN <n≤N+M.
Mai departe se continu˘ a calculele ca in exercit ¸iul preced ent.
E 7.3. Modificat ¸i schema logic˘ a din modelul din Sect ¸iunea 7.2astfel
incat client ¸ii posed˘ a dou˘ a priorit˘ at ¸i; prioritatea 1 este mai puternic˘ a decˆ at
prioritatea 2.
Indicat ¸ie. In blocul (2) se consider˘ a repartit ¸ia lui ATca o amestecare
discret˘ a de forma
fAT(x) =p1f1(x) +p2f2(x),p1,p2>0,p1+p2= 1,fi−densitati,i = 1,2.
La generarea lui ATclientul sosit se depune in coad˘ a Q1sauQ2core-
spunz˘ atoare priorit˘ at ¸ii. In blocul (4) se va simula timp ul de servire conform
priorit˘ at ¸ii celei mai mari ( adic˘ a 1), dac˘ a Q1/negationslash=∅sau priorit˘ at ¸ii mai mici
dac˘ aQ1=∅.Se pot calcula timpii de a¸ steptare in funct ¸ie de priorit˘ a t ¸i.
E 7.4. La fel ca in exercit ¸iul precedent, modificat ¸i schema logic ˘ a din
Fig. 7.3 (a modelului 7.3) presupunˆ and c˘ a sosirile provin dintr-o populat ¸ie
cu dou˘ a priorit˘ at ¸i.
Indicat ¸ie. Se vor folosi ideile din exercit ¸iul precedent: timpul de in ter-
sosire are o repatit ¸ie dat˘ a de o amestecare discret˘ a de do u˘ a repartit ¸ii.
184 CAP. 7. CATEVA MODELE DE SIMULARE
E 7.5. Ce modific˘ ari ar trebui f˘ acute in modelul 7.3dac˘ a duratele de
serviciu ale stat ¸iilor au repartit ¸ii diferite.
Indicat ¸ie. Se va folosi un vector ST(I),1≤I≤Niar in blocurile unde se
genereaz˘ aSTse va inlocui aceast˘ a instruct ¸iune cu GENEREAZA ST (I).
E 7.6. Ce precaut ¸ii trebuie s˘ a se ia in modelele 7.3dac˘ a cererea Reste
discret˘ aPoisson (λ) ¸ siLesteBinom (n,p)?
Indicat ¸ie. Toate variabilele din model vor fi discrete, inclusiv CLOCK.
Nivelul de reaprovizionare se va calcula t ¸inˆ and seama c˘ a R(l);Poisson (lλ).
E 7.7. S˘ a se determine nivelul de reaprovizionare Pcˆ and rata cererii r
are repartit ¸ia Exp(λ).
Indicat ¸ie. Se folose¸ ste condit ¸ia Prob(R(L)> P) =α, α−risc.DeciP
este solut ¸ia ecuat ¸iei
1−α=λl
Γ(l)/integraldisplayP
0xl−1e−λxdx
deoareceR(L)=r1+…+rl;Erlang (λ,l), l=E[L].
Bibliography
[1] CHISMAN,J. (1989). Introduction to Simulation and Modeling using
GPSS/PC , Minuteman Software. (Cont ¸ine ¸ si discheta cu versiunea
student ¸easc˘ a a GPSS/PC).
[2] ERMAKOV,E.S. (1974). Metoda Monte Carlo ¸ si probleme inrudite. Ed-
itura Tehnic˘ a, Bucure¸ sti. (Traducere din Limba Rus˘ a).
[3] FISHMAN, G. S. (1978). Principles of Discrete Event Simulation. Wi-
ley, New York.
[4] GORUNESCU, F., PRODAN, A. (2001). Modelare stochastic˘ a ¸ si sim-
ulare. Editura Albastr˘ a, Cluj-Napoca.
[5] MORGAN,BYRON T. (1984). Elements of Simulation. Chapman &
Hall, New York, London.
[6] ROBERT CHRISTIAN P., CASELLA, GEORGE. (1999). Monte Carlo
Statistical Methods. Springer Verlag, New York, Berlin.
[7] ROSS, SHELDOM M. (1997) Simulation. Second Edition. Academic
Press, San Diego, New York, London.
[8] SPRIET, JAN, VANSTEENKISTE GHISLAIN, C. (1982). Computer
ided Modeling and Simulation. Academic Press, New York.
[9] V˘ADUVA, I. (1972). ”Metoda Monte Carlo”. Culegere tematic˘ a,
Matematic˘ a-Mecanic˘ a, Vol. 1, Nr. 1, CIDI, p.131-188.
[10] V ˘ADUVA, I. (1977). Modele de Simulare cu Calculatorul. Editura
Tehnic˘ a, Bucure¸ sti.
[11] V ˘ADUVA,I., OD ˘AGESCU,I., STOICA,M. (1983). Simularea Proceselor
Economice. Editura Tehnic˘ a, Bucure¸ sti.
185
186 BIBLIOGRAPHY
[12] ZEIGLER,B. P. (1976). Theory of Modeling and Simulation. (First Edi-
tion). John Wiley and Sons, New York.
[13] ZEIGLER, B. P., PRAEHOFER, H. (2000). Theory of Modeling and
Simulation, (Second Edition). Academic Press, New York.
[14] *** (1977). Limbajul SIMUB. Manual de utilizare. Centrul de Calcul
Al Universit˘ at ¸ii din Bucure¸ sti. (litografiat).
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Modele de simulare [626768] (ID: 626768)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
