Sunteți pe pagina 1din 5

I.1.

Introducere

Cuvântul simulare este de origine latină (simulatio) şi înseamnă capacitatea de a


reproduce ceva. În informatică, termenul de simulare a fost introdus de John von
Neumann la începutul anilor `40, o dată cu apariŃia primelor calculatoare electronice.
J.von Neumann împreună cu grupul de savanŃi de la Şcoala Los Alamos (Ulam,
Metropolis etc) au dezvoltat primele aplicaŃii ale calculatoarelor. Tot ei au introdus
denumirile Cercetări operaŃionale (pentru a desemna aplicaŃiile legate de dirijarea
operaŃiilor militare pe arii geografice mari ale globului pământesc!) precum şi metoda
Monte - Carlo (pentru a desemna aplicaŃii ale calculatoarelor bazate pe utilizarea
numerelor aleatoare). În accepŃiunea actuală a informaticii, simularea cuprinde o serie de
aplicaŃii care realizează imitarea comportamentului unor părŃi ale lumii reale (simularea
stochastică), luând în considerare şi comportamentul aleator al acesteia. Din domeniul
simulării face parte şi metoda Monte Carlo.
DefiniŃia 1. Simularea este o tehnică de realizare a experimentelor cu
calculatorul, care implică utilizarea unor modele matematice şi logice care descriu
comportarea unui sistem real (sau a unor componente ale sale) de-a lungul unor
perioade mari de timp.
Deci simularea se realizează pe baza unui model special, numit model de
simulare, cu ajutorul căruia se realizează experimentele prin intermediul calculatorului.
Modelul de simulare se construieşte pe scheletul unui model matematic şi se finalizează
într-un algoritm. De aceea în cele ce urmează vom prezenta schema generală a unui
model de simulare, pornind de la descrierea principalelor elemente ale unui model
matematic.
Model matematic. Prin definiŃie, un model este un analog ce reprezintă o parte a
lumii înconjurătoare într-un mod uşor de perceput de către noi. Modelul ne reprezintă
uneori realitatea prin scheme, figuri geometrice sau alte obiecte ce ne sunt familiare şi pe
care le înŃelegem uşor (i.e. la fel de bine cum le ''vedem'' sau le ''pipăim''). Modelul
matematic ne reprezintă realitatea folosind elemente sau abstracŃiuni matematice.
Elementele constitutive ale unui model matematic sunt următoarele:
a) Variabile ( V ) şi Parametri ( P ) care pot fi de intrare ( VI, PI ), dacă pot fi percepute
(măsurate sau înŃelese uşor), sau de ieşire ( VE, PE ), dacă dimpotrivă, măsurarea sau
perceperea lor este dificilă. Variabilele şi parametrii pot lua valori numerice sau
logice. Deosebirea dintre variabile şi parametri constă în aceea că parametrii nu îşi
schimbă valorile pe perioade mari de timp, în timp ce variabilele îşi schimbă valorile
chiar pe intervale mici de timp. Scopul modelului este de a exprima variabilele şi
parametrii de ieşire în funcŃie de variabilele şi parametrii de intrare, cu eventuala
satisfacere a unor condiŃii de performanŃă de către sistem (de ex. condiŃii de optim).
Unele VI pot fi aleatoare, caz în care şi unele variabile sau parametri de ieşire vor fi
de asemenea aleatoare.
b) RelaŃiile funcŃionale constituie o altă categorie de elemente ale unui model
matematic. Ele sunt de forma
Fi (VI , PI , VE , PE ) = 0
(adică implicite) şi pot fi la rândul lor de două tipuri:
- ecuaŃii, care sunt satisfăcute numai de anumite valori ale variabilelor sau
parametrilor;
- identităŃi, care sunt satisfăcute de orice valori ale variabilelor şi parametrilor; ele
exprima condiŃii de echilibru sau legi de conservare.
EcuaŃiile si identităŃile pot fi relaŃii algebrice sau transcendente, diferenŃiale sau
integrale, detrministe sau stochastice, etc.
c) Caracteristicile operative constituie o altă categorie de elemente ce compun un model
matematic şi ele pot fi:
- ipoteze de lucru (referitoare la relaŃiile funcŃionale);
- ipoteze statistice (referitoare la VI -aleatoare).
d) Tehnica de rezolvare este un alt element constitutiv al unui model matematic. Ea este
o tehnică matematică ce realizează separarea elementelor de ieşire în funcŃie de
elementele de intrare, adică:
(V , P )E = f i (VI , PI ) .
Cu alte cuvinte, tehnica de rezolvare a modelului exprimă sub formă explicită
variabilele şi parametrii de ieşire în funcŃie de variabilele şi parametrii de intrare.
Tehnicile matematice de rezolvare a modelelor sunt însă sărace atât ca varietate,
cât şi ca performanŃă. De exemplu, ecuaŃiile modelului se pot reazolva numai dacă sunt
liniare sau uneori pătratice, iar dacă sunt de grad superior ele se pot rezolva numai dacă
au forme particulare. La fel, ecuaŃiile diferenŃiale sau cu derivate parŃiale se pot rezolva
cu metode matematice deductive numai în anumite cazuri particulare. De aceea în
construcŃia modelelor matematice se fac de multe ori ipoteze simplificatoare care permit
aplicarea tehnicilor de care dispune matematica. (Acesta este scopul utilizării de către
model a caracteristicilor operative!). Din aceste motive, modelarea matematică este
aproximativă şi ea nu permite rezolvarea realistă a problemelor practice. Utilizarea
calculatorului permite îmbunătăŃirea performanŃelor modelelor matematice prin
utilizarea metodelor numerice. Dar şi în aceste condiŃii modelele matematice nu pot
descrie corect realitatea în toată complexitatea ei deoarece nu toate relaŃiile dintre
obiectele lumii reale se pot exprima prin formule matematice. Într-o atare situaŃie
modelul matematic trebuie completat cu descrieri care să imite anumite comportări ale
lumii reale. Acestea se realizează prin descrieri algoritmice de tipul if-then-else- sau if-
then- combinate cu alte structuri algoritmce (cicluri, secvenŃe etc.). În acest fel, modelul
matematic se completează, se extinde sub formă de algoritm şi devine model de
simulare. Simularea măreşte deci mult posibilitatea de tratare realistă a
problemelor aplicative. ConstrucŃia unui model de simulare, care în fapt este un
algoritm complex, dezvoltat pe scheletul unui model matematic, este o sarcină nu prea
uşoară; o vom trata mai jos.
Clasificări ale modelelor matematice. Mai întâi să vedem însă cum pot fi
clasificate modelele matematice?
(i) Clasificarea modelelor matematice după natura variabilelor utilizate de model:
continue/discrete; statice/dinamice (dacă timpul nu intervine sau dacă apare
explicit ca variabilă a modelului); deterministe/stochastice (după cum nu conŃin
sau conŃin măcar o variabilă de intrare ca variabilă aleatoare).
(ii) Clasificare topologică, după structura determinată de părŃile în care se descopune
modelul (când este cazul): cu o componentă/cu mai multe componente în serie ,
în paralel, în reŃea.
Un model, fie el matematic sau de simulare, constituie de fapt o clasă de modele.
I.2. ConstrucŃia unui model de simulare

Modelul de simulare (MS) presupune utilizarea calculatorului şi el se


construieşte pe baza/scheletul unui model matematic; mai precis, el completează modelul
matematic descriind unele relaŃii prin algoritmi, deci în final MS este un algoritm. Acest
algoritm trebuie să descrie corect evoluŃia sistemului şi să permită efectuarea de
experienŃe (prin rulări pe calculator), care să înlocuiască experienŃele ce ar trebui
realizate asupra sistemului real.

Structura unui model de simulare

ConstrucŃia unui MS utilizează două concepte de bază: ceasul simulării şi agenda


simulării.
Ceasul simulării. Ceasul asigură eşalonarea corectă în timp a evenimentelor
create de model şi uneori ajută la implementarea condiŃiei de terminare a simulării. El
este de două feluri:
a) ceas cu creştere constantă;
b) ceas cu creştere variabilă.
Notă: Evenimentele corespund unor modificări în sistem adică modificari ale
valorilor unor variabile care se calculează sau se generează prin instrucŃiuni ale
modelului (chiar şi dacă sunt aleatoare!).
Ceasul porneşte cu valoarea zero la începutul simulării. Dacă modelul se bazează
pe ceasul cu creştere variabilă, atunci ceasul este crescut cu valoarea ce corespunde
apariŃiei primului eveniment următor; apoi programul prelucrează evenimentul, după
care ceasul creşte din nou reluându-se ciclul simulării, până când ceasul atinge o valoare
dată iniŃial, Tmax care corespunde perioadei pe care se realizează simularea.
Ceasul cu creştere constantă presupune că de fiecare dată creşterea se realizează
cu o cuantă de timp c constantă; apoi se prelucrează toate evenimentele apărute pe
intervalul de timp de lungime c , după care se reia ciclul simulării. Simularea se termină
de asemenea când ceasul atinge valoarea Tmax .
Terminarea simulării se poate realiza şi impunând condiŃia ca modelul să
prelucreze un anumit număr dat de evenimente de un tip precizat. (De exemplu, în cazul
unui model de simulare a unui sistem de aşteptare, se poate impune condiŃia ca simularea
să se termine când s-a simulat servirea unui număr dat de clienŃi).
A rămas oarecum neprecizat ce se înŃelege prin prelucrarea unui eveniment. Acest
fapt se înŃelege uşor dacă precizăm şi conceptul de agendă a simulării.
Agenda simulării. Agenda se compune din elementele memorate de modelul de
simulare. Variabilele modelului iau diverse valori pe parcursul simulării; de aici rezultă
că pe parcursul simulării apar multe evenimente. Memorarea în totalitate a acestor
evenimente, împreună cu caracteristicile lor, nu este nici recomandată dar nici necesară
dacă simularea se realizează pe perioade mari de timp. De aceea, se memorează (în
agendă) numai ceea ce este strict necesar. Evenimentele sunt de diverse tipuri; unele
variabile descriu şi stări ale sistemului (sau ale unor componente ale acestuia).
Evenimentele sunt create sau generate la momente de timp ulterioare valorii ceasului. De
aceea agenda se compune din două părŃi: agenda evenimentelor curente AEC şi
agenda evenimentelor viitoare AEV .
Deci agenda A = AEC ⊕ AEV , unde:
AEC = agenda evenimentelor curente (care au timpul de apariŃie egal cu valoarea
ceasului); iar
AEV = agenda evenimentelor viitoare (care au timpul de apariŃie ulterior ceasului).
Algoritmul simulării prelucrează deci numai evenimentele din AEC ; prelucrarea
unui eveniment înseamnă fie determinarea apariŃiei unui nou eveniment (memorat în
AEV ) sau modificarea unei stări, fie distrugerea unui eveniment ("ştergerea'') lui din
agendă. Prelucrările evenimentelor Ńin seama şi de stările sistemului la acel moment.
Algoritmul simulării gestionează/actualizează agenda prin interacŃiunea acesteia
cu ceasul; într-un ciclu al simulării ceasul este acualizat, după care se selectează din
agenda A evenimentele care fac parte din AEC şi se prelucrează aceste evenimente până
când AEC devine vidă. Atunci, ceasul este crescut din nou şi se reia ciclul simulării.
Deci agenda simulării se modifică pe parcursul simulării conform următoarei relaŃii de
dinamică
A = A ⊕ AE gen O AE elim
unde Agen sunt evenimentele generate pe parcursul unui ciclu, iar Aelim sunt evenimentele
eliminate cu ocazia prelucrării AEC . (Semnele ⊕ şi O se autexplică).

I.3. Concepte de bază în modelarea sistemelor

Prin sistem se înŃelege, sub forma cea mai vagă, o mulŃime de obiecte O
interconectate prin intermediul unei relaŃii R , adica Sistem = (O , R ) , unde
R ⊂ O ×O
DefiniŃia formală generală a unui sistem este:
DefiniŃia 2. Un sistem este următoarea structură de mulŃimi:
S = (T , X , Ω, Σ, Y , δ, λ )
unde:
T = timpul de bază al sistemului (ceasul sistemului);
X = mulŃimea intrărilor;
Ω = mulŃimea segmentelor de intrare (forma intrărilor!); segment =
ω : (t 0 , t1 ) ֏ X ,= ω(t0 ,t1 ) =grafic= {(t , ω(t )), t0 ≤ t ≤ t1} . Se foloseşte de regulă notaŃia
ω(t ,t1 ) = {(τ, ω(τ )), t ≤ τ ≤ t1 } şi notaŃiile ω = ω (t0 ,t1 ) , ωt ) = ω(t0 ,t ) , ω(t = ω (t ,t1 ) , ω = ωt )ω (t .
Σ = mulŃimea stărilor interne ale sistemului = memoria sistemului; Conceptul
de stare este esenŃial în modelarea sistemelor; el descrie structura internă (intimă!) a
sistemului;
δ = funcŃia de tranziŃie a stărilor definită ca
δ:Σ×Ω ֏ Σ .
Ea satisface relaŃia
δ(σ, ω) = δ(δ(σ, ωt ) ), ω(t ) , ∀t , ω = ωt )ω(t .
care este axioma semigrupului sau proprietatea de separabilitate a stărilor. MulŃimea
(graficul) (ω, σ ) se numeşte traiectorie a stărilor;
Y = mulŃimea ieşirilor (Sistemul este presupus deschis, intrările şi ieşirile fiind
exterioare sistemului). MulŃimea Y conŃine răspunsul sistemului la intrarea de forma ω ,
când la momentul iniŃial t 0 sistemul se află în starea σ .
λ = funcŃia de răspuns, de forma λ : Σ × X × T ֏ Y ; λ(σ, x, t ) conduce la un
segment de ieşire ce reprezintă forma răspunsului sistemului la intrarea x , la momentul
t când starea la momentul t 0 , t 0 < t , este σ ;
Notă: din definiŃie rezultă că pentru o stare iniŃială σ , (la momentul t 0 ) când are
loc intrarea de forma ω se realizează o traiectorie unică a stărilor. Cu alte cuvinte,
traiectoria stărilor satisface relaŃiile:
STRAJ σ,ω : (t 0 , t1 ) ֏ Σ , astfel încât STRAJ σ,ω (t 0 ) = σ
STRAJ σ,ω (t ) = δ(σ, ω(t ) , ∀t ∈ (t 0 , t1 )
ProiecŃia STRAJ obŃinută prin funcŃia de tranziŃie a stărilor compusă cu funcŃia
de răspuns, este traiectoria de ieşire
OTRAJ σ,ω : (t 0 , t1 ) ֏ Y
Dacă λ = λ (σ ) (ieşirea depinde numai de σ ) atunci rezultă relaŃia simplă:
OTRAJ σ,ω (t ) = λ (STRAJ σ,ω (t )) .
Nivele de reprezentare a sistemelor. Există mai multe nivele de reprezentare a
sistemelor şi anume:
- Reprezentarea la nivel de comportare. Sistemul este o cutie neagră (black
box), exprimat formal prin relaŃia:
{
R s = (ω, ρ ) ω ∈ Ω, ρ = OTRAJ σ,ω , σ ∈ Σ }
Acest nivel de reprezentare este cel mai vag. El descrie numai relaŃiile de
intrare/ieşire ce se pot observa din afara sistemului (care deci se comportă ca o
cutie neagră).
- Reprezentarea la nivel de structură de stare. La acest nivel se intră în structra
internă a sistemului, adică se stabilesc elementele acestuia : (T , X , Ω, Σ, Y , δ, λ ) ,
definite ca mai sus.
- Reprezentarea modulară (ca structură compusă). Dacă sistemul este complex,
atunci se identifică subsisteme ale acestuia precum şi interconexiunile dintre ele
în sensul că ieşirile unor subsisteme sunt intări în alte subsisteme, intrările unor
subsisteme fiind intrări ale sistemului şi ieşirile unor subsisteme fiind ieşiri ale
sistemului.
Nivelele de reprezentare a sistemelor, pornind de la forma cea mai vagă şi
continuând până la forma detaliată, legitimează Metodologia ''TOP DOWN'' de
proiectare a sistemelor de orice fel, în particular, metodologia de proiectare a sistemelor
informatice, şi în general metodologia de proiectare ierarhică, descendentă a
programelor.

S-ar putea să vă placă și