Licece Iformatique L3 aée 008-009 Parcours : Iformatique fodametale TD -- : Suites récurretes et compleité 3 types d eercice : les eercices * sot absolumet à faire e TD, ils peuvet être complétés par les eercices sas metio. Les eercices (maiso) peuvet être faits sas problème dès lors que les autres ot été compris. Eercice * : Soit = { a,..., } Σ u alphabet à k élémets. a k O rappelle que les arbres biaires BIN étiquetés par Σ sot défiis iductivemet par : - φ est u arbre biaire - si Σ, b BIN, b BIN, alors(, b, b ) BIN. g d g Défiitio : La profodeur p(b) d u arbre biaire est défiie par : - p ( φ) = 0 p, b, b ) = + sup p( b ), p( b ) ( g d g d - ( ) { } Etablir ue formule de récurrece pour : ) le ombre u d arbres biaires U de profodeur (e foctio de u - ). ) le ombre v d arbres biaires AB de profodeur = (e foctio de v - et des (u i ) i ). NB : O e demade pas de calculer u et v. d Eercice : O cosidère l alphabet A { a, s, b, t} = où a (resp. s, b, t) est d arité 0 (resp.,,3). L esemble T des arbres étiquetés sur l alphabet A est défii iductivemet par : a) a T (arbre réduit à ue feuille) b) t, t, t 3 T alors : - ( s, t ) T - ( b, t, t ) T - ( t, t, t, t3 ) T La profodeur d u tel arbre se défiit iductivemet par : a) p ( a) = b) - p (( s, t) ) = + p( t) - p (( b, t, t )) = + sup{ p( t), p( t )} p t, t, t, t ) = + sup p( t ), p( t ), p( ) ( 3 t3 - ( ) { } Soit k le ombre d arbres de profodeur. ) Doer des eemples d arbres de profodeur, et 3. Calculer k, k et k 3. ) E déduire ue relatio de récurrece pour k. NB : O e demade pas de calculer k.
Eercice 3* : O trace cercles qui se coupet à sas poits tagets i poits triples. Soit r le ombre de régios du pla aisi défiies. ) Calculer r, r et r 3. ) E déduire r = r + ( ), >. 3) Calculer r. Eercice * : Algorithme pour le calcul du produit de deu matrices de taille NN, avec N=. (méthode de Strasse) - Compredre les calculs suivats das le cas N= a b e f ae + bg af + bh Si = c d g h ce + dg cf + dh o peut poser : = ( b d)( g + h) = d( g e) 3 7 = ( a + d)( e + h) = ( a c)( e + = ( a + b) h = a( f h) = ( c + d) e f ), le produit des deu matrices s écrit alors + + 7 + 3 + + - Soit N=, A et B deu matrices NN O pose : A A A =, idem pour B. O peut alors faire le produit de deu matrices A A de maière récursive à partir des ciq foctios de base : Découper_e_(A), algorithme qui fourit à partir d ue matrice A de taille NN, les matrices A, A, A, A de taille N/ N/ Recompose (A,A, A,A ), algorithme qui recompose ue matrice NN à partir de matrices N/ N/ AddMat(A,B,N) et SubMat(A,B,N) fot respectivemet l additio et la soustractio de deu matrices NN ProdMat(A,B,N) fait le produit de deu matrices d ordre NN avec N=, de la maière suivate : 7
foctio ProdMat(A,B,N) si (N=) alors ProdMat := A B ; sio Découper_e_(A) ; Découper_e_(B) ; X := ProdMat(SubMat(A,A,N/),AddMat(B,B,N/),N/) ; X := ProdMat(AddMat(A,A,N/), AddMat(B,B,N/),N/) ; X7 := C := C := AddMat(X,X,N/) ; C := C := ProdMat := Recompose(C,C, C,C ) ; fi fisi fi. Compléter l algorithme ProdMat.. Combie d appels à ProdMat(,N/) et à AddMat(,N/) fait ProdMat(,N)? (O suppose qu u appel à AddMat(,N/) est équivalet à SubMat(,N/)).3 Trouver la relatio de récurrece qui permet de défiir le ombre de multiplicatios effectuées pour calculer le produit de deu matrices NN avec N= aisi que le ombre d additios.. Résoudre ces relatios.. Retrouver le ombre de multiplicatios et additios effectuées lorsque l algorithme utilisé est l algorithme classique (vu e cours).. Comparer les deu résultats Eercice * : Résoudre la relatio, : U = 3 U k + (e foctio de et U 0 ). k = 0 Eercice * : Résoudre Fiboacci : F + + = F+ F pour 0 avec F 0 = 0 et F =. (Ces ombres apparaisset das le calcul de la compleité de l algorithme d Euclide : e effet pgcd (F,F -) correspod au pire des cas, le ombre d appel de l algorithme pgcd est égal alors à ) Eercice 7 (maiso) : Trouver les solutios de U = 3 + U U pour avec U 0 = 0 et U =. Eercice 8 (maiso) : Trouver les solutios de U = U 8U + U 3 pour 3 avec U 0 = 0, U = et U =. 3
Eercice 9* : = { a,b} + Σ. B Σ. a B, b B B défiie par : w B abw B. w B baw B ) Ecrire élémets de B. ) Prouver que w B w impair (logueur impaire). La réciproque est-elle vraie? 3) U = card {w / w B et w = }. a. Calculer U, U, U 3 et U. b. Doer la relatio de récurrece et résoudre. Eercice 0* : = { a, b, c, d} Σ. * * { w Σ / w, w Σ avecw w abw } L = = * = { w Σ / w a pas de facteur ab},, o pose L = L I Σ et L u = avec Σ = {mots de logueur sur Σ }. ) Calculer L, L, u et u. ) Doer ue coditio écessaire et suffisate pour que w = w avec Σ et w L. 3) Eprimer L e foctio de L et L. E déduire queu = u u. ) Calculer u. Eercice : Soit Σ = { 0,}. O iterprète u mot f de Σ * comme la représetatio biaire d u etier. Par eemple, 0 représete, 0 représete 3. Soiet L {. * i = f Σ / i f [3]}, i = 0,,, e d autres termes, L i = { f. Σ * / f commece par et i f modulo 3 }, i = 0,,. Pour tout, o pose : u v w = = = L L 0 L Σ Σ Σ ) Calculer u, v, w et u, v, w ) Si f Li à quel esemble appartiet le mot f0? A quel esemble appartiet le mot f? u+ = u + v E déduire que : v = u + w. + w + = w + v 3) Calculeru, v, w avec : a. La méthode du polyôme caractéristique. b. La méthode matricielle.
Eercice : Algorithme du pgcd (Recherche du plus grad commu diviseur) Rappel de l algorithme Procedure pgcd (etier : a, etier : b, var c :etier) si (b = 0) alors c := a ; sio c := pgcd(b,a%b) ; fisi fi (a%b représete le reste de la divisio euclidiee de a par b) - Soit a = ; motrer que le ombre d appels de la foctio pour calculer le pgcd de a et b (b<a) est majoré par les termes de la suite A, vérifiat : A0 = 0 A = A / + - Détermier A. Eercice 3* : Algorithme de calcul de la ième puissace de Procedure Ep( : log, : etier, var y : log) si ( = 0) alors y := ; sio Ep(,/,y) ; si (% = 0) alors y := y * y ; sio y := y * y * ; fisi fi fisi fi - Trouver la relatio de récurrece qui doe le ombre de multiplicatios réalisées pour calculer, otée E(). t - Après avoir écrit e base, > 0, c'est-à-dire que = + i bi, t, écrire i= 0 E() e foctio des (b i ) i. 3- E déduire la compleité au pire, das le meilleur des cas et e moyee. - Comparer avec l algorithme classique. t
Eercice (maiso) : Résoudre, : U = U U U = 3U ) ) U = U U + U = U U U. Eercice * : Résoudre U = U + U + ( ) pour et U 0 = U =. Eercice * : Résoudre U = U + + pour > 0 et U 0 = 0. Eercice 7 (maiso) : Résoudre U + = 3U + U + pour 0 et U 0 = U = 0. Eercice 8 : Résoudre la récurrece u = u ² pour = k. +