Exercices Supplémentaires 1 IFT-17588 : Analyse d`algorithmes Été

Exercices Suppl´ementaires 1
IFT-17588 : Analyse d’algorithmes ´
Et´e 2005
1
Utilisez les relations et = pour mettre en rang les ordres respectifs des fonctions suivantes :
αnn242 nn2n+1 2nnα22n,
o`u 0 < α < 1. N’utilisez pas le symbole .Les preuves ou justifications sont requises. Pr´esentez
clairement votre solution, sur une seule ligne, puis, exhibez clairement (et bri`evement) les justifications.
R´eponse
O(αn)O(42) O(nα)O(n2)O(nn)O(2n) = O(2n+1)O(22n)
Pour les justifications, voir Alexandre lors des ateliers.
2
R´esoudre la r´ecurrence suivante en utilisant le th´eor`eme g´en´eral. Justifiez bien votre r´eponse.
T(n) = 4T(n
4) + n.
R´eponse
Cas 1. n=n1
2O(n1²) pour ²=1
4par exemple. Donc T(n) = θ(n).
3
1. Elvis, Jimmy et Janis analysent un mˆeme algorithme Aet obtiennent les r´esultats TE(n), Ti(n) et Ta(n)
respectivement. Elvis obtient TE(n)O(n2) en pire cas. Jimmy obtient Ti(n)Ω(n2) en meilleur cas. Janis
affirme que Ta(n)θ(n2) pour tous les cas. Si Elvis et Jimmy ont raison, le r´esultat de Janis est-il correct ?
Justifiez.
2. Soient Aet Bdes algorithmes prenant des temps, en meilleur cas, dans Ω(n2) et Ω(nlog n) respectivement.
Est-il possible qu’une implantation de l’algorithme Asoit plus efficace qu’une implantation de l’algorithme
Bsur tous les exemplaires ? Justifiez.
3. Alice et Bob analysent un mˆeme algorithme Aet obtiennent les r´esultats TA(n) et TB(n) respectivement.
Alice obtient que TA(n)θ(n3) en pire cas. Bob obtient que TB(n)Ω(n2log n2) pour tous les cas. Le
r´esultat d’Alice implique-t-il celui de Bob ? Justifiez.
4. ´
Enoncez «le principe d’invariance ».
5. Dans le cadre du cours, que veux dire «analyser un algorithme »?
Solutions :
1. Oui. Elvis T(n)O(n2) dans tous les cas et Jimmy T(n)Ω(n2) dans tous les cas, d’o`u le r´esultat.
2. Oui. Exemple : TA(n) = n2et TB(n) = 5n3+ 5
3. Non. On pourrait avoir, par exemple, T(n) = n2(en meilleur cas).
4. Les temps d’ex´ecution de deux implantations d’un mˆeme algorithme ne diff`erent qu’`a une constante
multiplicative pr`es (Brassard page 60 ou voir les notes de cours).
5. C’est pr´evoir les ressources n´ecessaires `a cet algorithme. Dans le cadre du cours, c’est le temps d’ex´ecution
qui nous int´eresse.
4
Quel est le lien entre le principe d’invariance, les op´erations ´el´ementaires, le temps d’ex´ecution, la notation
asymptotique et l’analyse d’algorithmes ?
Solution. En analyse d’algorithmes, on peut, entre autres, s’int´eresser au temps d’ex´ecution d’un algorithme
(c’est ce que nous faisons dans ce cours). La notion d’op´erations ´el´ementaires nous permet de se d´etacher des
contraintes temporelles physiques reli´ees au temps d’ex´ecution d’un algorithme sur un ordinateur en particulier.
Le principe d’invariance nous permet d’abstraire l’implantation concr`ete d’un algorithme. Ainsi, le langage de
programmation, le syst`eme d’exploitation, le programmeur, n’influence le temps d’ex´ecution qu’`a une constante
multiplicative pr`es. Enfin, la notation asymptotique sert `a exprimer les r´esultats de l’analyse.
5
Afin de r´esoudre un certain probl`eme Pon vous propose 7 algorithmes diff´erents qui ex´ecutent exactement
n, n ln n, n2, n3,2n, enet n! op´erations ´el´ementaires respectivement. Si on suppose qu’une op´eration ´el´ementaire
s’ex´ecute en 109seconde, calculez, dans chacun des cas, le nombre d’ann´ees n´ecessaires afin de r´esoudre un (petit !)
exemplaire de taille n´egale `a 300. Que pouvez-vous conclure ?
1. n9.5×1015 ann´ee
2. nln n5.414 ann´ee
3. n22.9×1012 ann´ee
4. n38.6×1010 ann´ee
5. 2n6.5×1073 ann´ees
6. en6.2×10113 ann´ees
7. Overflow ann´ees ! (10598)
6
Soient A,B,C,Det Ecinq algorithmes qui r´esolvent le mˆeme probl`eme Pet pour lesquels nous avons obtenu
les r´esultats d’analyse suivants respectivement :
1. TA(n)O(n2) en pire cas ;
2. TB(n)Ω(n2) dans tous les cas ;
3. TC(n)Θ(n) en meilleur cas ;
4. TD(n)Θ(n2lg n) dans tous les cas ;
5. TE(n)Θ(n2) en pire cas.
a) Vous ˆetes `a concevoir un algorithme Zqui r´esout un probl`eme P0ayant des instances de taille n. Votre
algorithme Zne doit jamais prendre plus de n4lg nunit´es de temps (`a une constante pr`es et pour des entr´ees
de taille assez grande). Dans Z, il y a n2lg nappels `a esoudre le probl`eme P (tous sur des instances de taille
n). Donnez, parmi les cinq algorithmes ci-haut, tous ceux qui peuvent ˆetre utilis´es dans votre algorithme Z,
sans d´epasser la limite de temps.
b) Vous ˆetes `a ´elaborer un syst`eme qui doit fonctionner en temps r´eel (le facteur temps est primordial). Pour
ce faire, vous devez choisir un (et un seul) algorithme parmi les 5 ci-haut. Quel est, selon vous, le choix le
plus prometteur ? Justifiez.
c) Pour chacun des 5 algorithmes ci-haut, dites, avec justifications, si on est assur´e que son temps d’ex´ecution
en pire cas appartient `a l’ensemble suivant :
S= (O(n3)Ω(n2)) Θ(n).
d) En supposant que les analyses 2 et 3 soient exactes, est-il possible que les algorithmes Bet Csoient en fait
un seul et mˆeme algorithme ? Justifiez.
Solution.
a)
Les algorithmes Aet Epeuvent ˆetre utilis´es.
b)
L’analyse des algorithmes Bet Cne donne aucune informations sur le maximum de temps requis pour ces
algorithmes. Ils peuvent donc possiblement ˆetre extrˆemement lent. Clairement, le choix de l’algorithme Dest
moins bon que Aet E. Puisque Enous assure un temps de n2en pire cas, alors que Anous assure un temps
inf´erieur ou ´egal `a n2en pire cas, l’algorithme Bne peut ˆetre meilleur que A. A est donc le choix le plus prometteur.
c)
A : non, le temps en PC est au plus n2mais pourrait ˆetre inf´erieur, nlg npar exemple et dans ce cas il n’est
pas dans l’ensemble car nlg n6∈ Ω(n2) et nlg n6∈ Θ(n).
B : non, aucune borne sup´erieur sur le temps en PC, ce dernier peut donc ˆetre n10 qui n’appartient clairement
pas `a S.
C : non, mˆeme explication que B.
D : oui, comme TD(n)Θ(n2lg n), on sait que TD(n)Ω(n2lg n)Ω(n2) et TD(n)O(n2lg n)O(n3).
E : oui, comme TE(n)Θ(n2), on sait que TE(n)Ω(n2) et TE(n)O(n2)O(n3).
d)
Non car il y a une contradiction. L’analyse 2 nous dit que T(n) est born´e inf´erieurement par n2dans tous les cas
(en particulier pour le meilleur cas). Par contre, l’analyse 3 nous dit que T(n) est exactement nen meilleur cas.
Mais comme nplus petit que n2, il ne peut donc pas s’agir du mˆeme algorithme.
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !