Tp7-solution

.pdf
School
Université de Montréal**We aren't endorsed by this school
Course
IFT 2125
Subject
Mathematics
Date
Dec 16, 2024
Pages
7
Uploaded by JudgeElement12891
Introduction `a l’algorithmiqueHiver 2024IFT2125-6001emonstrateur : Samuel Ducharmeemonstration 7Question 2:(B&B 4.33) R´esoudre la r´ecurrence suivante exactementtn=n+ 1sin= 0 ou sin= 1,3tn12tn2+ 3·2n2sinonSolution:Pourn >1, nous avonstn3tn1+ 2tn2= (3/4)·2n. Pour le polynˆomecaract´eristique, les termes r´ecursifs engendrent (x23x+ 2), qu’on factorise en (x1)(x2), et le terme non homog`ene (3/4)·2nengendre (x2)1via la formulep(n)cn(xc)deg(p)+1(3/4 ´etant un polynˆome de degr´e 0). Ainsi le polynˆome caract´eristiquede la r´ecurrence estp(x) = (x1)(x2)2Les racines sont donc 1 (de multiplicit´e 1) et 2 (de multiplicit´e 2). La racine 2 engendre(c1+c2n)·2net la racine 1 engendrec3·1n.Ainsi,tn=c12n+c22nn+c3.Utilisant les conditions initiales donn´ees partnnous obtenons le syst`eme suivantt0=c1+c3=1,t1=2c1+2c2+c3=2,t2=4c1+8c2+c3=7.Comme nous avons10112212481710020103/20013Nous obtenons donctn=2·2n+ (3/2)2nn+ 3 = (3n4)2n1+ 3.1
Background image
Question 3:(Inspir´ee de B&B 4.37) R´esoudre la r´ecurrence suivante pournunepuissance de 2T(n) =1sin= 1,T(n/2) +T(n/2) + lgnsinonSolution:Nous faisons le changement de variablen= 2ket nous r´ecrivons la r´ecurrence:tk=1sik= 0,2tk1+ksinonPour son polynˆome caract´eristique, les termes r´ecursifs engendrent (x2), et le termenon homog`ene +kengendre (x1)2via la formulep(k)ck(xc)deg(p)+1(il fautvoirkcommek1n,k´etant lui-mˆeme un polynˆome de degr´e 1).Ainsi le polynˆomecaract´eristique de la r´ecurrence estp(x) = (x2)(x1)2,Les racines sont donc 2 (de multiplicit´e 1) et 1 (de multiplicit´e 2). La racine 2 engendrec1·2ket la racine 1 engendre(c2+c3k)·1k.Ainsi,tk=c12k+c2+c3kUtilisant les conditions initiales donn´ees par la r´ecurrence, nous obtenons le syst`emed’´equation suivantt0=c1+c2=1,t1=2c1+c2+c3=3,t2=4c1+c2+2c3=8.Comme nous avons110121134128100301020011Nous avons donctk= 3·2kk2.En r´ecrivant en fonction den, nous obtenons que lorsquenest une puissance de 2,T(n) = 3nlg(n)2.Nous pouvons donc conclureT(n)Θ(n) lors quenest une puissance de 2. Mais enealit´e,T(n)Θ(n) pour tous lesn.2
Background image
Question 4:Appliquer leMaster theoremaux r´ecurrences suivantes. Lorsque ce n’estpas possible, expliquer pourquoi :1.T(n) = 3T(n/2) + 272.T(n) =T(n/2) +T(n/2) + 2n3.T(n) = 4T(n/2) + 2T(n/4) + 5n24.T(n) = 32T(n/4) +n3+nlogn5.T(n) = 2T(n/2) + 2nSolution:Rappel : Le master theorem nous dit que siT(n) =lT(n/b) +g(n).o`ug(n)Θ(nk), alors nous avons :T(n) =Θ(nk)sik >logblΘ(nklogn)sik= logblΘ(nlogbl)sik <logblRemarque importante :Appliquer ce th´eor`eme revient essentiellement `a d´eterminer les valeurs del, betk,puis `a comparerkaveclogbl(ou de mani`ere ´equivalentebkavecl, souvent plussimple lorsquelogbln’est pas entier!). L’intuition derri`ere est quenkcorrespond `ala complexit´e de la partie non-homog`ene, etnlogblcorrespond `a celle de la partiehomog`ene, et alors on cherche `a savoir laquelle domine l’autre (cas 1 et 3), ou sielles sont `a peu pr`es ´egales (cas 2).1.T(n) = 3T(n/2) + 27Nous pouvons voir le 27 comme 27n0. Nous avons doncl= 3, b= 2, k= 0. Puisque3>20, nous utilisons le troisi`eme cas pour conclureT(n)Θ(nlog23).2.T(n) =T(n/2) +T(n/2) + 2nIci, les param`etres des appels r´ecursifs sont tousn/2 lorsquenest une puissancede deux. On peut donc r´ecrire la r´ecurrence commeT(n) = 2T(n/2) + 2n. Nousavons doncl= 2, b= 2, k= 1 (car 2n= 2n1). Puisque 2 = 21, nous utilisons ledeuxi`eme cas pour conclureT(n)Θ(nlogn).3
Background image
3.T(n) = 4T(n/2) + 2T(n/4) + 5n2Ici, nous ne pouvons pas appliquer directement leMaster theorem, puisque cetteecurrence est en termes deT(n/2) etT(n/4). En effet, il n’est pas possible detrouver deb.4.T(n) = 32T(n/4) +n3+nlognPuisquen3+nlognΘ(n3), nous prenonsk= 3. Nous avons doncl= 32, b=4, k= 3.Puisque 32<43= 64, nous utilisons le premier cas pour conclureT(n)Θ(n3).5.T(n) = 2T(n/2) + 2nIci, nous ne pouvons pas appliquer directement leMaster theorem, puisque le terme2n/O(nk), peut importe le choix dek.Question 5:Trouver le polynˆome caract´eristique de l’´equation de r´ecurrence suivante,en faisant la d´emarche compl`ete et sans passer par la formulep(n)cn(xc)deg(p)+1.tn= 2tn1+ (n2+ 1)3nSolution:Nous verrons deux fa¸cons diff´erentes d’homog´en´eiser cette r´ecurrence. Dansles deux cas, le but est de produire des ´equations suppl´ementaires et d’en faire unecombinaison lin´eaire pour annuler le terme non-homog`ene.1. Comme nous avons un polynˆome de degr´e 2 dans notre terme non-homog`ene, nousallons devoir engendrer 3 ´equations suppl´ementaires pour annuler ses 3 coefficients(n2+ 1 =n2+ 0n+ 1, donc 3 coefficients)On remplacenparn1 danstn= 2tn1+ (n2+ 1)3n:tn1= 2tn2+ ((n1)2+ 1)3n1tn1= 2tn2+ (n22n+ 2)3n13tn1= 6tn2+ (n22n+ 2)3n(*)On remplacenparn2 danstn= 2tn1+ (n2+ 1)3n:tn2= 2tn3+ ((n2)2+ 1)3n2tn2= 2tn3+ (n24n+ 5)3n29tn2= 18tn3+ (n24n+ 5)3n(**)4
Background image
On remplacenparn2 danstn= 2tn1+ (n2+ 1)3n:tn3= 2tn4+ ((n2)2+ 1)3n3tn3= 2tn4+ (n26n+ 10)3n327tn3= 54tn4+ (n26n+ 10)3n(***)Nous avons maintenant tout ce qu’il nous faut pour faire disparaitre le terme nonhomog`ene. Nous ferons la combinaison lin´eaire suivante :(tn= 2tn1+ (n2+ 1)3n) -c1(*) -c2(**) -c3(***)En regardant uniquement le terme non-homog`ene, que nous voulons faire dis-paraitre et donc rendre ´egal `a 0, nous avons :(n2+ 1)3nc1(n22n+ 2)3nc2(n24n+ 5)3nc3(n26n+ 10)3n= 0((n2+ 1)c1(n22n+ 2)c2(n24n+ 5)c3(n26n+ 10))3n= 0(n2+ 1)c1(n22n+ 2)c2(n24n+ 5)c3(n26n+ 10) = 0c1(n22n+ 2)c2(n24n+ 5)c3(n26n+ 10) =(n2+ 1)c1(n22n+ 2) +c2(n24n+ 5) +c3(n26n+ 10) = (n2+ 1)c1n2c12n+ 2c1+c2n2c24n+ 5c2+c3n2c36n+ 10c3= (n2+ 1)n2(c1+c2+c3) +n(2c14c26c3) + (2c1+ 5c2+ 10c3) = (n2+ 0n+ 1)Pour rendre la derni`ere ligne vraie, il nous faut trouver les valeurs dec1, c2etc3.Pour chaque terme (n2,net 1), nous avons donc une ´equation que ces constantesdoivent satisfaire, soit :c1+c2+c3= 12c14c26c3= 02c1+ 5c2+ 10c3= 1Ceci nous donne donc un syst`eme d’´equation lin´eaire, qui une fois r´esolu, nousdonnec1= 3, c2=3, c3= 1.Nous devons donc faire (tn= 2tn1+ (n2+ 1)3n) - 3(*) + 3(**) - (***), ce quinous donne :tn9tn1+ 27tn227tn3= 2tn118tn2+ 54tn354tn4tn11tn1+ 45tn281tn3+ 54tn4= 0Nous avons donc maintenant une r´ecurrence lin´eaire homog`ene!Son polynˆomecaract´eristique est ainsix411x3+ 45x281x+ 54 = 05
Background image
2. L’id´ee de cette deuxi`eme approche sera de faire les combinaisons lin´eaire au furet `a mesure qu’on g´en`ere des ´equations.`A chaque ´etape, on diminuera le termenon-homog`ene, jusqu’`a ce qu’il soit annul´e compl`etement.On remplacenparn1 danstn= 2tn1+ (n2+ 1)3n:tn1= 2tn2+ ((n1)2+ 1)3n1tn1= 2tn2+ (n22n+ 2)3n13tn1= 6tn2+ (n22n+ 2)3n(*)On peut maintenant utiliser nos deux ´equations pour annuler len2, en soustrayantnotre ´equation d’origine avec (*):tn3tn1= 2tn1+ (n2+ 1)3n6tn2(n22n+ 2)3ntn= 5tn16tn2+ (n2+ 1n2+ 2n2)3ntn= 5tn16tn2+ (2n1)3n(**)On remplace n parn1 dans (**) :tn1= 5tn26tn3+ (2(n1)1))3n1tn1= 5tn26tn3+ (2n3)3n13tn1= 15tn218tn3+ (2n3)3n(***)On peut maintenant annuler le terme ennen faisant (**) - (***) :tn3tn1= 5tn16tn2+ (2n1))3n15tn2+ 18tn3(2n3)3ntn= 8tn121tn2+ 18tn3+ ((2n1)(2n3))3ntn= 8tn121tn2+ 18tn3+ 23n(****)On remplace n parn1 dans (****) :tn1= 8tn221tn3+ 18tn4+ 23n13tn1= 24tn263tn3+ 54tn4+ 23n(*****)On peut maintenant annuler le terme non-homog`ene en faisant (****) - (*****) :tn3tn1= 8tn121tn2+ 18tn3+ 23n24tn2+ 63tn354tn423ntn= 11tn145tn2+ 81tn354tn4Nous avons donc maintenant une r´ecurrence lin´eaire homog`ene!Son polynˆomecaract´eristique est ainsix411x3+ 45x281x+ 54 = 06
Background image
Question 6:(B&B 4.40) R´esoudre la r´ecurrence suivante exactementT(n) =(nsin= 0 ou sin= 1,q12T2(n1) +12T2(n2) +nsinonSolution:Cette r´ecurrence n’a pas l’allure d’une r´ecurrence qu’on sait r´esoudre avecles techniques vu en cours.Par contre, on peut facilement faire un changement devariable pour qu’elle deviennent une r´ecurrence r´esolvable.Mettons le tout au carr´e,nous obtenons :T2(n) =n2sin= 0 ou sin= 1,12T2(n1) +12T2(n2) +nsinonEn posanth(n) =T2(n), on a donc la r´ecurrence lin´eaire suivante :h(n) =nsin= 0 ou sin= 1,12h(n1) +12h(n2) +nsinon(Remarque : dans le cas de base, on revient `ancarn2=nlorsquen= 0 oun= 1)On peut donc maintenant r´esoudre cette r´ecurrence! Pour son polynˆome caract´eristique,les termes r´ecursifs engendrent (x212x12), qu’on factorise en (x1)(x+12), et leterme non homog`ene +nengendre (x1)2via la formulep(n)cn(xc)deg(p)+1. On adonc le polynˆome caract´eristique (x1)3(x+12) = 0. Ses racines sont 1 (de multiplicit´e3) et12(de multiplicit´e 1).La forme g´en´erale de la solution est donch(n) =c1+c2n+c3n2+c4(12)n. En ´evaluantpour les 4 premi`eres valeurs, on fabrique le syst`eme d’´equation lin´eaire suivant :h(0) = 0=c1+c4h(1) = 1=c1+c2+c312c4h(2) =52=c1+ 2c2+ 4c3+14c4h(3) =194=c1+ 3c2+ 9c318c4En le r´esolvant, on obtient :c1=227, c2=59, c3=13, c4=227, et donc la solutionen´erale esth(n) =227+5n9+n23227(12)n.Comme on avait fait le changement devariableh(n) =T2(n), on aT(n) =ph(n) =q227+5n9+n23227(12)n. On remarquequeh(n)Θ(n2), et doncT(n)Θ(n).7
Background image