Sunteți pe pagina 1din 4

Erori in calculul numeric

Metodele numerice reprezint tehnici prin care problemele matematice sunt reformulate
astfel nct s fie rezolvate numai prin operaii aritmetice. Prin trecerea de la infinit la finit,
diferenial la algebric, neliniar la liniar problemele complicate sunt nlocuite de probleme
mai simple care au aceeai sau aproape aceeai soluie. Astfel soluiile obinute prin
aplicarea metodelor numerice reprezint doar aproximaii ale soluiilor problemelor
originale, i deci implic erori.


Se pot distinge trei tipuri de erori n cazul aplicrii de metode numerice pentru rezolvarea
unei probleme:

1) Erori inerente (initiale). Aceste erori provin din: simplificarea modelului fizic pentru a
putea fi descris printr-un model matematic; masuratori initiale; calcule anterioare; datele
problemei;
2) Erori de metoda (de trunchiere) care se datoreaza preciziei insuficiente a metodei
folosite. Majoritatea metodelor necesita un numar mare de operatii aritmetice (adesea un
numar infinit!) pentru a ajunge la solutia exacta a problemei. Acest fapt necesita trunchieri
(renuntarea la o multime - eventual infinita - de operatii) si aproximatii;
3) Erori de rotunjire (de calcul) care apar n datele de intrare, n calculele pe parcurs si n
datele de iesire. Astfel, datele de start nu pot fi numere cu o infinitate de cifre deoarece nu
putem opera cu acestea. Se nlatura multe cifre - eventual o infinitate - rotunjind numerele
date, prin retinerea unui numar finit de cifre. Pe parcursul calculelor numarul cifrelor creste
si se impune de asemenea rotunjirea. Chiar rezultatul final se rotunjeste retinndu - se un
numar de cifre corespunzator preciziei dorite.

Erori absolute i erori relative
Eroarea absolut = valoare aproximativ - valoare exact
Eroarea relativ = eroarea absoluta /valoarea exacta
Din aceste definiii se obine:
Valoare aproximativ = (valoare exact )(1 + eroare relativ)
Eroarea absolut nu ine seama de ordinul de mrime al valorilor comparate. De
exemplu, o eroare n centimetri este mai important dac lungimea calculat este de 100
cm, dect dac este de 100 km. De aceea, eroarea relativ se raporteaz la valoarea real.
Adesea eroarea relativ se exprim n procente:
(eroarea absoluta /valoarea exacta )* 100 %
De obicei valoarea exact nu este cunoscut. De aceea nici eroarea (absolut sau
relativ) nu poate fi calculat, i doar se estimeaz valorile limit ale acesteia. Se utilizeaz
majorani pentru modulul erorii (sau norma erorii, dac se lucreaz ntr-un spaiu normat).
Tot datorit necunoaterii valorii exacte, frecvent eroarea relativ se raporteaz la
valoarea aproximativ.

Erori ale datelor i erori de calcul

Considerm urmtoarea problem tipic: calculul valorii unei funcii
f : R R pentru un argument dat. Fie:
x = valoarea de intrare exact
x* = valoare de intrare aproximativ
f(x) = rezultatul dorit
f* = funcia aproximativ de calcul
Eroarea total este dat de:
f*(x*) - f(x) = (f*(x*) - f(x*)) - (f(x*) - f(x))
Deci
Eroare total = eroare de calcul + eroare propagat a datelor,
unde,
Eroare de calcul = f*(x*) - f(x*)
Eroare a datelor = x* - x.

Algoritmul nu are nici un efect asupra erorii propagate a datelor.

Erori apriori i erori aposteriori

S presupunem c dorim s calculm y = f(x), unde f : R R, dar obinem o valoare
aproximativ y*.
Eroare apriori = x = x* - x
Eroare aposteriori = y = y* - y, unde f(x*) = y*.
De exemplu, dac aproximm y prin y* = 1.4, eroarea aposteriori absolut este
| y | =| y* - y | = | 1.4 - 1.41421| 0.0142
iar eroarea aposteriori relativ este aproximativ 1%.
Pentru a calcula eroarea apriori, observm c 96 . 1 =1.4. Eroarea apriori absolut este
| x | =| x* - x | = | 1.96 - 2 | 0.04,
iar eroarea apriori relativ este aproximativ 2%.

Analiza erorilor apriori

Ideea analizei erorilor din punct de vedere a erorilor apriori este urmtoarea: soluia
aproximativ este soluia exact a unei probleme modificate. Soluia aproximativ se
consider "bun" dac este soluie exact pentru o problem cu datele "uor" perturbate.
Deseori eroarea apriori este mai uor de estimat dect eroarea aposteriori.

Condiionarea numeric. Factor de condiionare.

Problema se numete bine condiionat dac variaiile relative ale soluiei au acelai
ordin de mrime cu variaiile relative ale datelor de intrare ce le cauzeaz. Problema este
ru condiionat dac modificrile relative care au loc n soluiei pot fi mult mai mari dect
cele ale datelor de intrare.
Factorul de condiionare se definete prin:
cond = |variatia relative a solutie| / |variatia relative a datelor de intrare |
Problema este ru condiionat, dac factorul de condiionare cond > 1.
Factorul de condiionare acioneaz ca un "factor de amplificare" legnd eroarea aposteriori
de eroarea apriori:
| eroarea relativ aposteriori | = cond | eroarea relativ apriori |
De obicei factorul de condiionare nu este cunoscut exact i poate varia n funcie de datele
de intrare. De aceea se utilizeaz o estimaie margine superioar pentru cond.
Considerm un exemplu de estimare pentru factorul de condiionare.
S presupunem c se evalueaz funcia f pentru data de intrare aproximativ
x* = x + x
n locul datei exacte de intrare x. Eroarea absolut aposteriori este
f(x + x) - f(x) () x f x
.

Stabilitatea algoritmilor

Noiunea referitoare la algoritmi analoag condiionrii numerice a problemelor este
stabilitatea. Un algoritm de rezolvare a unei probleme este stabil dac rezultatul produs este
soluia exact a aceleai probleme cu datele "uor" perturbate.
n cazul algoritmilor stabili efectul erorii de calcul nu este mai puternic dect efectul
erorii (mici) a datelor de intrare. Un algoritm instabil poate amplifica mult perturbaiile date
de erorile
de calcul.

Acurateea metodelor

Acurateea se refer la apropierea soluiei calculate de soluia exact a problemei.
Stabilitatea algoritmului nu garanteaz acurateea. Aceasta depinde n egal msur de buna
condiionare a problemei i de stabilitatea algoritmului. Inacurateea poate rezulta din
aplicarea unui algoritm stabil unei probleme ru condiionate, ca i din aplicarea unui
algoritm instabil unei probleme bine condiionate.
Aplicarea (cu ajutorul calculatorului) unui algoritm stabil unei probleme bine condiionat
garanteaz obinerea soluiei cu o precizie bun, n sensul c eroarea relativ a soluiei
calculate fa de soluia exact este de ordinul de mrime al erorilor de reprezentare a
datelor n calculator.

Complexitatea algoritmilor

n evaluarea complexitii unui algoritm se ine cont de dou aspecte
timpul necesar execuiei algoritmului (dat de numrul de operaii elementare)
spaiul de memorie necesitat de algoritm
n general nu este posibil s obinem simultan un timp de execuie mai scurt precum i un
necesar de spaiu de memorare mai mic. Progresele tehnologice din ultima vreme impun
drept criteriu primordial criteriul timp.
Fie n numrul de date de intrare pentru un anumit algoritm (eventual considerm n egal cu
numrul de locaii de memorie necesare pentru memorarea datelor iniiale). Fie TS(n)
timpul cerut de algoritm pentru un anumit set de n date de intrare S. Vom nota (n) timpul
cerut de algoritm n cazul cel mai defavorabil, i.e.:
(n) = sup {TS(n) : S este un set de date de intrare de dimensiune n.

n general nu este posibil s determinm o formul pentru (n). n acelai timp ne
intereseaz comportarea lui (n) pentru valori mari ale lui n.

Interpretare: are o cretere mai strict mai lent dect f
Interpretare: are o cretere la fel de lent ca f
Interpretare: f are o cretere mai lent dect

Un algoritm se numete algoritm polinomial dac (n) = O(P(n)), unde este timpul
cerut de algoritm, iar P este un polinom.