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-6001D´emonstrateur : Samuel DucharmeD´emonstration 7Question 2:(B&B 4.33) R´esoudre la r´ecurrence suivante exactementtn=n+ 1sin= 0 ou sin= 1,3tn−1−2tn−2+ 3·2n−2sinonSolution:Pourn >1, nous avonstn−3tn−1+ 2tn−2= (3/4)·2n. Pour le polynˆomecaract´eristique, les termes r´ecursifs engendrent (x2−3x+ 2), qu’on factorise en (x−1)(x−2), et le terme non homog`ene (3/4)·2nengendre (x−2)1via la formulep(n)cn→(x−c)deg(p)+1(3/4 ´etant un polynˆome de degr´e 0). Ainsi le polynˆome caract´eristiquede la r´ecurrence estp(x) = (x−1)(x−2)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 avons101122124817∼100−20103/20013Nous obtenons donctn=−2·2n+ (3/2)2nn+ 3 = (3n−4)2n−1+ 3.1
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´e´ecrivons la r´ecurrence:tk=1sik= 0,2tk−1+ksinonPour son polynˆome caract´eristique, les termes r´ecursifs engendrent (x−2), et le termenon homog`ene +kengendre (x−1)2via la formulep(k)ck→(x−c)deg(p)+1(il fautvoirkcommek∗1n,k´etant lui-mˆeme un polynˆome de degr´e 1).Ainsi le polynˆomecaract´eristique de la r´ecurrence estp(x) = (x−2)(x−1)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 avons110121134128∼1003010−2001−1Nous avons donctk= 3·2k−k−2.En r´e´ecrivant en fonction den, nous obtenons que lorsquenest une puissance de 2,T(n) = 3n−lg(n)−2.Nous pouvons donc conclureT(n)∈Θ(n) lors quenest une puissance de 2. Mais enr´ealit´e,T(n)∈Θ(n) pour tous lesn.2
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´e´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
3.T(n) = 4T(n/2) + 2T(n/4) + 5n2Ici, nous ne pouvons pas appliquer directement leMaster theorem, puisque cetter´ecurrence 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→(x−c)deg(p)+1.tn= 2tn−1+ (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 remplacenparn−1 danstn= 2tn−1+ (n2+ 1)3n:tn−1= 2tn−2+ ((n−1)2+ 1)3n−1tn−1= 2tn−2+ (n2−2n+ 2)3n−13tn−1= 6tn−2+ (n2−2n+ 2)3n(*)On remplacenparn−2 danstn= 2tn−1+ (n2+ 1)3n:tn−2= 2tn−3+ ((n−2)2+ 1)3n−2tn−2= 2tn−3+ (n2−4n+ 5)3n−29tn−2= 18tn−3+ (n2−4n+ 5)3n(**)4
On remplacenparn−2 danstn= 2tn−1+ (n2+ 1)3n:tn−3= 2tn−4+ ((n−2)2+ 1)3n−3tn−3= 2tn−4+ (n2−6n+ 10)3n−327tn−3= 54tn−4+ (n2−6n+ 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= 2tn−1+ (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)3n−c1(n2−2n+ 2)3n−c2(n2−4n+ 5)3n−c3(n2−6n+ 10)3n= 0((n2+ 1)−c1(n2−2n+ 2)−c2(n2−4n+ 5)−c3(n2−6n+ 10))3n= 0(n2+ 1)−c1(n2−2n+ 2)−c2(n2−4n+ 5)−c3(n2−6n+ 10) = 0−c1(n2−2n+ 2)−c2(n2−4n+ 5)−c3(n2−6n+ 10) =−(n2+ 1)c1(n2−2n+ 2) +c2(n2−4n+ 5) +c3(n2−6n+ 10) = (n2+ 1)c1n2−c12n+ 2c1+c2n2−c24n+ 5c2+c3n2−c36n+ 10c3= (n2+ 1)n2(c1+c2+c3) +n(−2c1−4c2−6c3) + (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= 1−2c1−4c2−6c3= 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= 2tn−1+ (n2+ 1)3n) - 3(*) + 3(**) - (***), ce quinous donne :tn−9tn−1+ 27tn−2−27tn−3= 2tn−1−18tn−2+ 54tn−3−54tn−4tn−11tn−1+ 45tn−2−81tn−3+ 54tn−4= 0Nous avons donc maintenant une r´ecurrence lin´eaire homog`ene!Son polynˆomecaract´eristique est ainsix4−11x3+ 45x2−81x+ 54 = 05
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 remplacenparn−1 danstn= 2tn−1+ (n2+ 1)3n:tn−1= 2tn−2+ ((n−1)2+ 1)3n−1tn−1= 2tn−2+ (n2−2n+ 2)3n−13tn−1= 6tn−2+ (n2−2n+ 2)3n(*)On peut maintenant utiliser nos deux ´equations pour annuler len2, en soustrayantnotre ´equation d’origine avec (*):tn−3tn−1= 2tn−1+ (n2+ 1)3n−6tn−2−(n2−2n+ 2)3ntn= 5tn−1−6tn−2+ (n2+ 1−n2+ 2n−2)3ntn= 5tn−1−6tn−2+ (2n−1)3n(**)On remplace n parn−1 dans (**) :tn−1= 5tn−2−6tn−3+ (2(n−1)−1))3n−1tn−1= 5tn−2−6tn−3+ (2n−3)3n−13tn−1= 15tn−2−18tn−3+ (2n−3)3n(***)On peut maintenant annuler le terme ennen faisant (**) - (***) :tn−3tn−1= 5tn−1−6tn−2+ (2n−1))3n−15tn−2+ 18tn−3−(2n−3)3ntn= 8tn−1−21tn−2+ 18tn−3+ ((2n−1)−(2n−3))3ntn= 8tn−1−21tn−2+ 18tn−3+ 2∗3n(****)On remplace n parn−1 dans (****) :tn−1= 8tn−2−21tn−3+ 18tn−4+ 2∗3n−13tn−1= 24tn−2−63tn−3+ 54tn−4+ 2∗3n(*****)On peut maintenant annuler le terme non-homog`ene en faisant (****) - (*****) :tn−3tn−1= 8tn−1−21tn−2+ 18tn−3+ 2∗3n−24tn−2+ 63tn−3−54tn−4−2∗3ntn= 11tn−1−45tn−2+ 81tn−3−54tn−4Nous avons donc maintenant une r´ecurrence lin´eaire homog`ene!Son polynˆomecaract´eristique est ainsix4−11x3+ 45x2−81x+ 54 = 06
Question 6:(B&B 4.40) R´esoudre la r´ecurrence suivante exactementT(n) =(nsin= 0 ou sin= 1,q12T2(n−1) +12T2(n−2) +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(n−1) +12T2(n−2) +nsinonEn posanth(n) =T2(n), on a donc la r´ecurrence lin´eaire suivante :h(n) =nsin= 0 ou sin= 1,12h(n−1) +12h(n−2) +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 (x2−12x−12), qu’on factorise en (x−1)(x+12), et leterme non homog`ene +nengendre (x−1)2via la formulep(n)cn→(x−c)deg(p)+1. On adonc le polynˆome caract´eristique (x−1)3(x+12) = 0. Ses racines sont 1 (de multiplicit´e3) et−12(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+c3−12c4h(2) =52=c1+ 2c2+ 4c3+14c4h(3) =194=c1+ 3c2+ 9c3−18c4En le r´esolvant, on obtient :c1=227, c2=59, c3=13, c4=−227, et donc la solutiong´en´erale esth(n) =227+5n9+n23−227(−12)n.Comme on avait fait le changement devariableh(n) =T2(n), on aT(n) =ph(n) =q227+5n9+n23−227(−12)n. On remarquequeh(n)∈Θ(n2), et doncT(n)∈Θ(n).7