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 10−9seconde, 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. n→9.5×10−15 ann´ee
2. nln n→5.4−14 ann´ee
3. n2→2.9×10−12 ann´ee
4. n3→8.6×10−10 ann´ee
5. 2n→6.5×1073 ann´ees
6. en→6.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 R´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).