Sunteți pe pagina 1din 12

CURS 1

Elemente de teoria aproximarii


1.1. Introducere Se poate intampla ca diverse fenomene din jurul nostru

care se cerceteaza cu ajutorul metodelor matematice sa fie caracterizate prin functii de una sau mai multe variabile reale, insa pentru care nu exista posibilitatea determinarii lor complete ci doar a aflarii valorilor pe anumite valori particulare ale argumentelor. Cunoscand aceste valori se doreste adesea sa se aproximeze fie valorile functiilor respective pe alte noi puncte din domeniul lor de definitie, fie anumite caracteristici numerice cum ar fi: valorile pe puncte date ale derivatelor de anumite ordine sau integralelor pe anumite domenii. Probleme de modelare matematic proceselor mecanice i a situaiilor economice nu pot fi rezolvate fara aplicarea metodelor de calcul numeric. Un specialist modern trebuie s cunoasc bine metode de baza ale matematicii aplicate din care face parte i analiza numeric . Practic, orice teorie inginereasc fr un suport matematic solid nu are nici o valoare tiinific. Ca regul , un inginer opereaz cu datele numerice, care trebuie sa fie prelucrate intr-un anumit mod pentru calculul i proiectarea dispozitivelor tehnice. Ecuaiile matematice din domeniul mecanic, ca regul, conin derivate i integrale,iar cele din domeniu financiar modern utilizeaz, de exemplu, teoria ecuaiilor difereniale stohastice, care nu pot fi rezolvate direct in mod

analitic, ci numai prin metode aproximative cu care opereaza analiza numeric. Astfel, metodele numerice de calcul sunt metode aproximative, iar disciplina aparine domeniului matematicii aplicate.

Metodele numerice isi propun gasirea unor solutii aproximative eficiente la probleme diverse ce pot fi exprimate prin modele matematice, eficienta data in primul rand de precizia ceruta (eroare) dar si de usurinta implementarii. Prin urmare metodele numerice trebuiesc alese tinand cont de convergenta, stabilitate, propagarea erorilor si de analiza complexitatii algoritmului asociat. Prin algoritm vom intelege un set de instructiuni care specifica succesiunea de operatii ce urmeaza sa fie aplicate asupra datelor pentru rezolvarea efectiva a problemelor de un anumit tip. Stabilitatea- in sensul ca variatii mici in datele numerice-care de obicei sunt afectate de erori- sa aiba ca efect variatii de asemenea mici ale solutiilor aproximative. Convergenta- intr-un anumit sens, a sirului de aproximatii successive, la care suntem condusi pe baza unei relatii, la solutia exacta a problemei. In metodele de aproximare se pune si problema vitezei convergentei. O convergenta prea lenta reprezinta un aproximare. O atentie speciala se impune a fi acordata procedeelor de aproximare care conduc la solutii optimale, in sensul ca abaterea intr-o anumita norma a solutiei aproximative de la solutia exacta sa fie minima pentru o anumita clasa de solutii posibile. In aceasta categorie se incadreaza teoria celei mai bune aproximari, cuprinzand ca un caz special important metoda celor mai
2

neajuns serios al unei metode de

mici patrate, precum si a formulelor optimale de derivare si integrare numerica. Vom intelege prin problema algoritmica o functie total definita P : I F , unde I este multimea informatiilor initiale (intrarile problemei) iar F este
multimea informatiilor finale. Presupunem ca I si F sunt cel mult numarabile. Din multitudinea de algoritmi existenti pentru rezolvarea unei probleme se va alege cel mai performant, adica sa fie usor de inteles, codificat, modificat, depanat si sa utilezeze in mod eficient resursele. Calitatea unui algoritm care se presupune ca permite obtinerea solutiei corecte este apreciata prin eficienta sa spatiala (memoria necesara datelor si programului) si temporala (timpul de calcul necesar obtinerii solutiei). De exemplu, algoritmul pentru inmultirea matricelor patrate n dimensionale necesita 3n^2 locatii de memorie (in fiecare memorandu-se un numar real, element al matricei A,B sau C). Daca dimensiunea n a matricei creste de 10 ori, spatiul necesar creste de 100 ori, motiv pentru care se spune ca algoritmul este de ordinul 2 si se scrie M = O(n2). Eficienta unui algortitm se regaseste deci si in timpul consumat prin care intelegem timpul consumat in numar de operatii (in virgula mobila). Sa notam cu T = TA ( p ) numarul de operatii effectuate de algoritmul A
pentru rezolvarea unei instante p = P(i ), i I si vom asocia problemei rezolvate un numar g (P ) numit dimensiunea problemei- numarul datelor de intrare. Timpul se exprima ca o functie de dimensiunea problemei, functie numita complexitatea in timp a algoritmului T = f (n) . Prin complexitate timp nelegem timpul necesar execuiei programului. nainte de a evalua timpul necesar execuiei programului ar trebui s avem

informaii detaliate despre sistemul de calcul folosit. Pentru a analiza teoretic algoritmul, vom presupune c se lucreaz pe un calculator "clasic", n sensul c o singur instruciune este executat la un moment dat. Astfel, timpul necesar execuiei programului depinde de numrul de operaii elementare efectuate de algoritm. Privind din perspectiva calculului paralel, acest mod de analiz a complexitii timp a unui algoritm va fi, probabil, total inadecvat pentru viitoarele generaii de calculatoare. Dar pentru algoritmii "clasici" ofer un criteriu general de comparaie, fr a fi necesar implementarea i rularea pe un calculator. De altfel, din motive practice, pe calculator nu putem testa algoritmul pentru cazuri orict de mari i nu putem obine informaii asupra comportrii n timp a algoritmilor dect pentru seturi particulare de date de intrare. Primul pas n analiza complexitii timp a unui algoritm este determinarea operaiilor elementare efectuate de algoritm i a costurilor acestora. Numim operaie elementar o operaie al crei timp de execuie

este independent de datele de intrare ale problemei. Timpul necesar


execuiei unei operaii elementare poate fi diferit de la o operaie la alta, dar este fixat, deci putem spune c operaiile elementare au timpul mrginit superior de o constant. Fr a restrnge generalitatea, vom presupune c toate operaiile elementare au acelai timp de execuie, fiind astfel necesar doar evaluarea numrului de operaii elementare, nu i a timpului total de execuie a acestora. Analiza teoretic ignor toi factorii care depind de

main sau de limbajul de programare ales i se axeaz doar pe determinarea ordinului de mrime a numrului de operaii elementare.
Scopul analizei teoretice a algoritmilor este de fapt determinarea unor funcii care s limiteze superior, respectiv inferior comportarea n timp a

algoritmului. Funciile depind de caracteristicile relevante ale datelor de intrare. Notm TA(n) timpul necesar execuiei algoritmului A. Fie f: N R+* o funcie arbitrar. Spunem c algoritmul este de ordinul lui f(n) ( notat O(f(n)) ), dac i numai dac exist c > 0 i n0N,

astfel nct TA(n) c.f(n), n n0. De exemplu:


a) Dac TA(n) = 3n+2, atunci TA(n)O(n), pentru c 3n+2 4n,

n 2.
Mai general, dac TA(n) = an+b, a > 0, atunci TA(n)O(n) pentru c exist c = a+1 > 0 i n0 = bN, astfel nct an+b (a+1)n, n b.
b) Dac TA(n) = 10n +4n+2, atunci TA(n)O(n ), pentru c 10n +4n+2
2 2 2

11n2, n 5. Mai general, dac TA(n) = an2+bn+c, a > 0, atunci TA(n)O(n2), pentru c an2+bn+c (a+1)n2, n max(b,c)+1. c) Dac TA(n) = 62n+n2, atunci TA(n)O(2n), pentru c TA(n) = 62n+n2 7 2n,n 4.

Observaii
1. Notaia O ofer o limit superioar a timpului de execuie a unui algoritm. 2. Un algoritm cu TA(n)O(1) necesit un timp de execuie constant. Un algoritm cu TA(n)O(n) se numete liniar. Dac TA(n)O(n2) algoritmul se numete ptratic, iar dac TA(n)O(n3), cubic. Un algoritm
5

cu TA(n)O(nk) se numete polinomial, iar dac TA(n)O(2n) algoritmul se numete exponenial. Presupunem ca un pas necesita 10 6 secunde, adica O (1) = 10 6 secunde, atunci n=40. --Un algoritm cu functia de complexitate n necesita 0.00004 secunde, --Un algoritm cu functia de complexitate n5 necesita aprox. 1.7 min, --Un algoritm cu functia de complexitate n6 necesita aprox 129 ani.

.Exemplu
Calcularea maximului Fiind date n elemente a1, a2, ..., an, s se calculeze max {a1, a2, ..., an}.

max := a[1]; [ ] for i := 2 to n do if a[i] > max then max := a[i]; [] []

Vom estima timpul de execuie al algoritmului n funcie de n, numrul de date de intrare. Fiecare iteraie a ciclului for o vom considera operaie elementar. Deci complexitatea algoritmului este O(n), att n

medie ct i n cazul cel mai defavorabil.

Intrucat cea mai mare parte a materialului se refera la aproximarea functiilor, a unor functionale liniare definite pe spatii de functii sau la aproximarea
6

solutiilor unor ecuatii operatoriale sau a unor sisteme de ecuatii liniare, prin metode generate de procedee de aproximare a functiilor, accentul se va pune pe prezentarea cu precadere, a spatiilor de functii. In general, intr-o problema de aproximare intervin trei elemente esentiale: 1. o multime B ale carei elemete urmeaza a fi aproximate 2. o multime A a aproximatiilor ( cu elementele careia se aproximeaza elementele lui B) 3. un criteriu prin care se selecteaza aproximatia din A a unui element dat din B De cele mai multe ori criteriul de selectie are la baza eroarea de aproximare Nu sunt excluse nici situatiile in care aproximatia din A a unui element a lui B se alege astfel incat ea sa fie usor de calculate sau cumularea erorilor de calcul sa fie cat mai redusa. Un loc aparte il ocupa problemele in care pentru un element dat f B se cere determinarea elementului lui A care aproximeaza cel mai bine pe f sau elemental din A care aproximeaza pe f cu o eroare dinainte data. Daca multimea A nu contine nici un element care sa aproximeze pe f cu eroarea prescrisa, ea poate fi extinsa astfel incat conditia pusa sa fie satisfacuta. De exemplu daca A este multimea functiilor polinomiale de grad cel mult n, Pn , extinderea ei se poate face prin marirea gradului n, prin trecerea la multimea functiilor spline, a functiilor rationale, etc. Apare astfel necesitatea definirii erorii de aproximare a lui f B prin elementul din A, a compararii mai multor aproximatii ale lui f cu scopul de a decide care dintre ele este mai convenabila sau chiar la determinarea celei mai bune aproximatii din A a lui f.

In unele cazuri definrea erorii poate depinde si de natura multimii B, de structurile cu care este inzestrata. De exemplu daca ( B, d ) este un spatiu metric, A B si f B , eroarea de aproximare a lui f prin g A se masoara prin distanta d ( g , f ) . Elementul g * A pentru care d ( g * , f ) d ( g , f ) oricare ar fi g A este cea mai buna aproximatie a lui f in A. Amintim ca ( B, d ) este un spatiu metric daca pe multimea B este definite o aplicatie (metrica) d : B B R+ care satisfac conditiile: 1. d ( f , g ) 0 si d ( f , g ) = 0 daca si numai daca f = g 2. d ( f , g ) = d ( g , f ) 3. d ( f , h) d ( f , g ) + d ( g , h) pentru orice f , g , h B

1.2 Spaii liniare. Definiii si Notaii


Fie B un spaiu liniar peste corpul K (vezi definitia la spatiu liniar) Daca K=R atunci B este spaiu liniar real, iar daca K=C, B este spatiu liniar complex. O aplicatie a lui B in K se numeste funcionala. O functionala L : B K se numeste funcionala aditiv dac L( f + g ) = L( F ) + L( g ) oricarea ar fi f , g B O functionala L : B K se numeste funcionala omogen dac L(f ) = L( f ) oricare ar fi K si f B O functionala aditiva si omogena se numeste functionala liniara. O functionala reala nenegativa p definite pe spatiul liniar B cu proprietatile:

1. p ( f + g ) p ( f ) + p ( g ) oricare ar fi f , g B 2. p (f ) = p ( f ) , oricare ar fi K si f B se numete seminorma pe B. O seminorma p definite pe spatiul liniar B se numeste norma daca din p ( f ) = 0 rezulta f = 0 . Spatiul liniar B (peste corpul K) inzestrat cu o norma p se numeste spatiu

liniar normat.
Proprietati ale normei: 1. f = 0 implica f = 0 2. f + g f + g 3. f = f Daca B este un spatiu liniar normat atunci d ( f , g) = f g , f , g B este o distanta in B. Deci orice spatiu liniar normat este un spatiu metric. Fie { f n }nN un sir de elemete din B si f B . Se spune ca sirul converge in norma la f daca:

lim f n f = 0 .
n

Un sir { f n }nN de elemete ale spatiului liniar normat B se numeste sir

Cauchy (in norma) daca pentru orice numar > 0 exista un numar natural
N = N astfel incat fm fn daca m, n > N . Un sir convergent este un sir Cauchy.

Un spatiu liniar normat se numeste complet daca orice sir Cauchy de elemente ale sale este convergent. Un spatiu liniar normat si complet se numeste spatiu Banach. Daca B este un spatiu liniar cu produs scalar, norma definite pe B prin

f = < f , f > se spune ca este indusa de produsul scalar. Un spatiu liniar normat cu norma indusa de produsul scalar se numeste spatiu prehilbertian. Un spatiu prehilbertian si complet se numeste spatiu Hilbert. Deci un spatiu Hilbert este un spatiu Banach cu norma indusa de un produs scalar.

Exemple de spaii de funcii


1. C ([a, b]) - spatiul funciilor continue pe intervalul [a, b] avnd norma
f = sup f ( x)
x[ a ,b ]

2. C p ([a, b]) -spaiul funciilor f : [a, b] R care admit derivate continue pna la ordinul p inclusiv. In raport cu norma
f
p

k =0

max a x b f k ( x )

spaiul C p ([a, b]) este spaiu Banach. 3. B([a, b]) spaiul funciilor f : [a, b] R marginite pe [a,b] nzestrat cu norma
f
B

= sup f ( x)
a x b

B ([a, b]) este un spaiu Banach.

4. C B ([a, b]) - spaiul funciilor f : [a, b] R continue i mrginite 5. Pm spaiul funciilor polinomiale de grad cel mult m . Avem Pm C [a, b].

10

1.3 Probleme numerice


Combinatia dintre o problema matematica (PM) de natura constructica si specificatiile de precizie ale rezultatului (SP) se numeste problema

numerica. Exemplul 1 Fie f : R R si x R . Dorim sa calculam y = f (x) . In


general x nu este reprezentabil in calculator; din acest motiv vom lucra cu o aproximare x * a sa x * x .De asemenea este posibil ca f sa nu poata fi calculate exact; vom inlocui f cu o aproximanta a sa f A .Valoarea calculate in calculator ca fi f A ( x * ) . Deci problema numerica este urmatoarea:

PM. Dandu-se x si f, sa se calculeze f(x); SP


f ( x) f A ( x * ) < cu dat.

Exemple de probleme numerice


1. Evaluarea unei functionale l : F R cum ar fi de exemplu, calcularea valorii unei functii f (x) , a derivatelor f ' ( x), f ' ' ( x), (derivare
b

numerica), a integralelor definite f (t )dt (integrare numerica) si a


a

normelor f 2. Rezolvarea

, etc. algebrice: determinarea valorilor unor

ecuatiilor

necunoscute aflate in relatii algebrice prin rezolvarea unor sisteme de ecuatii liniare sau neliniare.

11

3. Rezolvarea unor ecuatii analitice: determinarea functiilor (sau valorilor de functii) solutii ale unei ecuatii operatoriale, cum ar fi ecuatiile diferentiale ordinare sau cu derivate partiale, ecuatiile integrale, etc 4. Probleme de optimizare: determinarea unor valor numerice particulare ale unor functii, care optimizeaza (minimizeaza sau maximizeaza) o functie obiectiv cu restrictii sau fara restrictii. Problemele matematice constructive, din care provin problemele numerice, pot fi privite ca o aplicatie, abstracta F : X Y intre doua spatii liniare normate. In functie de care dintre cantitatile y, x sau F este necunoscuta in ecuatia Fx = y avem de a face cu o problema directa, o problema inversa sau o problema de identificare.

12

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