Calcul Numeric Cursul 1 2011-2012 Anca Ignat
ancai@infoiasi.ro, olariu@info.uaic.ro cn@fenrir.infoiasi.ro pentru temele de laborator http://www.infoiasi.ro/~ancai/cn/ Consultaţii: prin e-mail la adresa de mai sus sau la cabinet (C-307), joi, 16-18 1
Regulament - 2011-2012 Laborator 8 teme cei care prezintă temele până la termenul limită precizat la fiecare temă, punctajul maxim ce poate fi obţinut este punctajul afişat pentru fiecare temă cei care prezintă temele după termenul limită precizat punctarea se va face din 50% din punctajul temei prezentate 2
Examen teză scrisă de 1 oră, cu 3 sau 4 exerciţii din materia predată, cu cursurile pe masa - exclusă documentaţia pe suport electronic teza scrisă este notată între 1 şi 10 prezenţa la examen este obligatorie chiar dacă s-a obţinut punctaj de promovare doar din punctajul de la laborator 3
Calculul punctajului / notei final(e) Punctaj final = punctaj laborator + 29*nota examen Promovează disciplina acei studenţi care au: nota la examen 3 şi punctaj final 260 pt Nota finală se calculează din punctajul final aplicând curba lui Gauss. 4
Desfăşurarea semestrului Săptămânânile 1-7 şi 9-15 şcoală conform orarului Prima săptămâna de evaluare liber Săptămâna 15 - prezentare teme de laborator restante Săptămâna 15 sau 16 - examen 5
Bibliografie 1. Elemente de informatică şi calcul numeric, vol. 1 - C.Ignat, C.Ilioi, T.Jucan - Ed. Univ. Al. I. Cuza Iaşi, 1987 2. Calcul numeric în C - T. A. Beu - Ed. Albastră, Cluj, 2004 3. Metode numerice - V.Iorga, B.Jora - Ed. Albastră, Cluj, 2004 4. Numerical Recipes in C/C++ (www.nr.com) 5. Matrix Computations - G.H. Golub, C.F. van Loan - John Hopkins Univ. Press, 1996 6. Numerical Analysis R.L. Burden, J.D. Faires Brooks/Cole, Thomson Learning, 2001 7. Computing for numerical methods using Visual C++ - S. Salleh, A.Y. Zomaya, S. Abu Baka John Wiley & Sons, 2008 8. Numerical Optimization J. Nocedal, S.J. Wright Springer, 1999 6
Capitolele cursului 1. Rezolvarea sistemelor liniare (Ax=b) 2. Optimizare numerică ( min { F(x) ; x Œ R n } ) 3. Valori şi vectori proprii (Au = λu) 4. Ecuaţii neliniare (f(x)=0) 5. Interpolare numerică 7
Exemple Web search Google s PageRank - informaţii nestructurate, self-organized - fără standarde, recenzenţi, paznici ai conţinutului - informaţie volatilă, eterogenă şi foarte diversă (conţinut, structură, format, limbi, alfabete, scop) - 10 13 pagini web (probabil mai multe)??? 8
Căutarea roboţi web parcurg permanent graful Web pentru informaţii depozitul de pagini - memorează temporar paginile web (paginile foarte populare sunt stocate perioade mai lungi) modulul de indexare se extrage din paginile depozitate informaţia esenţială (cuvinte-cheie, fraze-cheie, descriptori) se obţine o versiune comprimată a paginii; în funcţie de popularitatea paginii aceasta este fie ştearsă, fie păstrată în depozitul de pagini 9
informaţiile esenţiale memorate despre orice pagină Web index de conţinut - cuvinte sau fraze cheie, titlu (se construieşte inverted file - similar indexului unei cărţi) index de structură hyperlink index de informaţii speciale imagini, pdf 10
modul de interogare transformă cererea din limbaj natural într-un limbaj pentru motorul de căutare (de obicei numere); se consultă informaţiile esenţiale memorate; se obţin paginile relevante cererii (care conţin termeni din interogare). modulul de ranking (evaluare a relevanţei) prelucrează paginile relevante furnizate de modulul de interogare şi le ordonează după anumite criterii (funcţie de motorul de căutare); acest modul trebuie să discearnă care pagină Web răspunde cel mai bine interogaţiei şi le ordonează; 11
PageRank este sistemul de evaluare a paginilor web din punctul de vedere al importanţei, folosit de motorul de căutare Google. Nota furnizată de PageRank este unul din factorii folosiţi pentru a ordona paginile web atunci cand se face o căutare. PageRank is an important factor. It is one out of 200 signals but still it is an important one for a large number of queries. (Matt Cutts head of Google s Webspam team) 12
Google dă cel puţin 2 note / scoruri fiecărei pagini Web: a. popularitate b. conţinut modul de calcul este secret termenii din interogare sunt în titlu sau în interiorul paginii, de câte ori termenii apar în pagină, cât de aproape unii de alţii sunt termenii din interogaţiile cu cuvinte multiple, cum apar termenii de interogare (bold, subtitluri ), conţinutul paginilor vecine Nota/scorul finală cu care se face ordonarea este o medie ponderată între notele de mai sus, componenta principală fiind popularitatea. 13
PageRank (Google) S. Brin, L. Page (popularitate) Sergey Brin, Lawrence Page, R. Motwami, Terry Winograd The PageRank citation ranking: bringing order to the Web Technical Report 1999-0120, Computer Science Department, Stanford University, 1999 Ideea: O pagină este importantă dacă este referită (citată) de alte pagini importante. 14
Importanţa unei pagini (PageRank-ul ei) este calculată sumând PageRank-urile tuturor paginilor care citează pagina respectivă. Dacă o pagină importantă citează mai multe pagini, atunci importanţa ei se împarte egal paginilor pe care le citează. Graful Web cu n noduri. I ij 1 0 daca pagina j citeaza pagina altfel i c j = numarul de citari ale paginii j (outlink-urile paginii j) r i = PageRank-ul paginii i 15
I r (1 d) d r, d 0, d 0.85 i n ij j? (1) j1 c j Constanta d asigură faptul că fiecare pagina Web are un Pagerank de cel puţin (1-d). Relaţia (1) poate fi scrisă matricial astfel: T 1 r (1 d) e de IC r (2) 16
1 1 e, I I, diag ij C c 1, c 2,, cn 1 n n n nn Deoarece suma tututror Pagerank-urilor este 1 putem scrie: n T ri e r 1. i1 1 d T 1 nn A ee d IC n 17
Relaţia (2) se poate scrie: r Ar Această relaţie ne spune că matricea A (matrice de dimensiuni foarte mari şi rară) are valoarea proprie 1 iar vectorul de Pagerankuri este vectorul propriu asociat. Se poate folosi metoda puterii pentru determinarea lui r. 18
Alte tehnici de CN folosite pentru PageRank: rezolvarea sistemelor liniare, SVD (Singular Value Decomposition) An Arnoldi-type Algortihm for Computing Page Rank, G.H. Golub, C. Greif, BIT Numerical Mathematics, Springer, 2006 Fast Parallel PageRank: A Linear System Approach, D. Gleich, L. Zhukov, P. Berkhin, WWW2005, May 10 14, 2005, Chiba, Japan The Use of the Linear Algebra by Web Search Engines, A.N.Langville, C.D. Meyer, 2004 (http://www.infoiasi.ro/~ancai/cn/bibliografie/) 19
Compresia imaginilor digitale si descompunerea după valori singulare o imagine digitală matrice de pixeli A cu m linii şi n coloane ij i 1,..., m, ij sau A a a j 1,..., n ( a 0,1,...,255sau a 0,1,...,255 ij ) Pentru memorarea lui A e nevoie de m n mem(int) = 2 m n bytes Descompunerea dupa valori singulare (SVD) a unei matrici A U SV, U, S, V ij T m m m n n n 3 3 Uu, u,..., u, Vv, v,..., v 1 2 m 1 2 n matrici ortogonale 20
1 daca i j ui, uj ij, vi, vj, n ij i j 0 daca i j m 1 0 0 0 0 2 0 0 S 0 0 r 0 0 0 0 0 1 2 r 0, r min{ m, n}- valorile singulare ale matricii A mn 21
A uv u v u v T T T 1 1 1 2 2 2 r r r A A uv u v u v T T T k 1 1 1 2 2 2 k k k memorarea lui A k necesită k(m+n+1) mem(double) m=2448, n=3264, r c mn, r=2448 km ( n 1) k=50 r c = 27.9722 ; k=100 r c = 13.9861 ; k=150 r c = 9.3241 k=200 r c = 6.9931 ; k=250 r c =5.5944 ; k=300 r c = 4.662 22
Vectori şi matrici n Fie x i, y i,. Se definesc vectorii x, y şi operaţiile de adunare şi înmulţire cu scalari astfel: x1 y1 x1 y1 x1 x 2 y 2 x2 y 2 x 2 x, y, x y, x. xn yn xn yn xn 23
Fie vectorul n z : z1 z 2 z cuz1, z2,..., zn. zn Pentru z utilizăm notaţiile: z = a + ib, Re z = a, Im z = b, zaib, z a b 2 2 24
mn mn Notăm cu / spaţiul matricilor cu elemente reale / complexe cu m linii şi n coloane a11 a1n A, aij /, i 1,2,..., m, j 1,2,..., n am1 a mn 25
Definiţie X se numeşte spaţiu vectorial (spaţiu liniar) + : X X Æ X şi : K X Æ X, astfel încât ( X, + ) este un grup comutativ : a + b = b + a, a,b X comutativitate, (a + b) + c = a + (b + c), a,b,c X asociativitate, 0 X a. î. a + 0 = 0 + a = a, a X - element neutru, a X, -a X a.î. a + (-a) = (-a) + a = 0 element opus. 26
iar pentru operaţia de înmulţire cu scalari au loc relaţiile: (a+b) = a + b, K, a,b X, ( + ) a = a + a,, K, a X, ( a ) = ( )a,, K, a X, 1 K astfel încât 1 a = a, a X. 27
Definiţie Fie X un spaţiu liniar. Spunem că vectorii x 1, x 2,, x p X sunt liniar independenţi dacă: x x.. x 0... 0 K 1 1 2 2 p p 1 2 p i Spaţiul vectorial X este finit dimensional dacă există p vectori liniar independenţi în X, x 1, x 2,,x p X, şi orice mulţime de q elemente din X cu q > p este liniar dependentă. În acest caz dimensiunea spaţiului X este p (dim X = p). 28
Fie spaţiul vectorial X finit dimensional cu dim X = p. Orice sistem de p vectori liniar independenţi din X se numeşte bază a spaţiului X. Fie x 1, x 2,,x p X o bază pentru spaţiul X. Atunci pentru x X, unice constantele 1, 2,, p K astfel încât p 1 1 2 2.. p pi i i1 x x x x x n este un spaţiu vectorial finit dimensional, dim baza canonică: n = n cu 29
0 1 0 0 0 0 1 0 e1, e2,, ek,, e n 1 - poziţia k 0 0 1 0 30
Fie matricea A mn : Calcul matricial a11 a1n A, Aa am1 a mn Se defineşte matricea transpusă: a a ij i1 m, j1n 11 m1 T T, nm ji i1 m, j1n A A a a1n a mn 31
Pentru matricea: i 11 mn A, A aij j m n se defineşte matricea adjunctă A H : H T A A a ji j1 i 1 n m a11 a1n a11 am1 H A, A a a a a m1 mn 1n mn 32
Pentru A H = A T. A Fie vectorul x n1 : mn matricea adjunctă coincide cu transpusa, n x, acesta este considerat vector coloană, x x x 1 2 T x x x1x2 xn n 33
Dacă facem înmulţirea matricială Ae j obţinem coloana j a matricii A: 0 a1 j a11 a1n a2 j Ae j 1 poziţia j am1 a mn a mj 0 Ae j este coloana j a matricii A, j=1,...,n ; e i T A este linia i a matricii A, i=1,...,m. 34