Vous êtes sur la page 1sur 13

1

Complexit des algorithmes


J oanna Tomasik, Dpartement Informatique
Fondements de linformatique,
structures de donnes et algorithmes
Squence 3, voie 3
J oanna Tomasik, Suplec, 2012 2
Sommaire
Problme, algorithme, modle (machine
de Turing)
Complexit en temps et en espace
Complexit en temps :
au mieux, en moyenne, au pire
Ordres de grandeur
2
J oanna Tomasik, Suplec, 2012 3
Notion du problme
DONNEES : donnes de dpart (instances)
modlisables par un ordinateur
PROBLEME : question sur les donnes
(opration raliser)
BUT : concevoir un algorithme EFFICACE
rpondant la question
J oanna Tomasik, Suplec, 2012 4
Exemples de problmes
DONNEES : n entiers
PROBLEME : trier les entiers par ordre croissant
UN TRI
DONNEES : trois entiers positifs : x, y, z
PROBLEME : existe-t-il un entier n, n>2, tel que
x
n
+ y
n
= z
n
?
LE PROBLEME DE FERMAT
3
J oanna Tomasik, Suplec, 2012 5
Taille dun problme
Normalement : nombre
de donnes atomiques traiter
(codage)
Modle abstrait : machine de Turing
J oanna Tomasik, Suplec, 2012 6
1 1
alphabet fini et des symboles spciaux dont blanc
nombre fini des tats de la machine (+ ltat initial, -)
table daction ( programme )
e1
Thse Church :
tout problme de calcul fond sur une procdure algorithmique peut
tre rsolu par une machine de Turing.
dans e1 si 1 alors crit 0; droite; passe e2
sinon stop fsi;
dans e2 si 1 alors stop
sinon crit 1; droit; passe e3 fsi;
0
e2

4
J oanna Tomasik, Suplec, 2012 7
COMPLEXITE EN TEMPS :
COMPLEXITE EN ESPACE :
Taille de lespace mmoire ncessit par excution
de lalgorithme en nombre de donnes atomiques.
Nombre de pas (oprations lmentaires) de calcul
ncessaires lexcution de lalgorithme.
Pour lalgorithme A et pour les donnes (linstance) d
la complexit de A pour d se note comme C
A
(d).
J oanna Tomasik, Suplec, 2012 8
Exemple
DONNEES : n nombres rels groupes
dans un tableau T, une valeur relle x
PROBLEME : x est-il dans le tableau T ?
5
J oanna Tomasik, Suplec, 2012 9
Lalgorithme propos
begin
i = 1;
while (i<=n && T[i]!=x) do i = i+1;
if (i>n)
return false;
else
return true;
end;
J oanna Tomasik, Suplec, 2012 10
DONNEES d
1
: x=1, n=5
1 2 3 4 5
2 comparaisons (dont 1 lourde ) ;
le corps de la boucle nest pas excut ;
le meilleur des cas.
T =
6
J oanna Tomasik, Suplec, 2012 11
DONNEES d
2
: x=0, n=5
1 2 3 4 5
2n+1 comparaisons (dont n lourdes ),
n additions et n affectations = 4n+1 oprations ;
le corps de la boucle est excut pour tous les
lments du tableau ; le pire des cas.
T =
J oanna Tomasik, Suplec, 2012 12
DONNEES d
3
: x=3, n=5
1 2 3 4 5
6 comparaisons (dont 3 lourdes ),
2 additions et 2 affectations = 10 oprations ;
un des cas typiques.
T =
7
J oanna Tomasik, Suplec, 2012 13
Soit A un algorithme et D(n) lensemble
de toutes les donnes dentre possibles
de A de taille n.
La complexit de A dans le meilleur des cas,
C
Ameilleur
(n) :
la complexit de cet algorithme dans le cas le plus favorable.
) ( min ) (
) (
d C n C
A
n D d
A
meilleur
e
=
J oanna Tomasik, Suplec, 2012 14
Soit A un algorithme et D(n) lensemble
de toutes les donnes dentre possibles
de A de taille n.
La complexit de A dans le pire des cas, C
Apire
(n) :
la complexit de cet algorithme dans le cas le plus dfavorable.
) ( max ) (
) (
d C n C
A
n D d
A
pire
e
=
8
J oanna Tomasik, Suplec, 2012 15
Soit A un algorithme et D(n) lensemble
de toutes les donnes dentre possibles
de A de taille n.
La complexit de A en moyenne, C
Amoyen
(n) :
la complexit de cet algorithme dans le cas moyen.
) (
) (
) (
n D
d C
n C
D d
A
A
moyen

e
=
J oanna Tomasik, Suplec, 2012 16
Pour notre exemple :
C
Ameilleur
(n) = 2
C
Apire
(n) = 4n + 1
A condition que llment x soit dans le tableau T :
n i
n
n C
n
i
A
moyen
2 ] 2 ) 1 ( 4 [
1
) (
1
= + =

=
C
Ameilleur
(n) = 1
C
Apire
(n) = n
COMPARAISONS LOURDES :
) 1 (
2
1
) 1 (
2
1 1 1
) (
1
+ = + = =

=
n n n
n
i
n
n C
n
i
A
moyen
COMPARAISONS LOURDES :
9
J oanna Tomasik, Suplec, 2012 17
Ordres de grandeur (1/3),
majoration asymptotique :
Une fonction f, f : N R,
est majore asymptotiquement
par une fonction g, g : N R,
si et seulement si :
) ( ) (
0 0
N
n cg n f
n n n
R c
s . v v
> e
e
+
feO(g)
J oanna Tomasik, Suplec, 2012 18
R
N
n
0
f(n)
cg(n)
feO(g)
10
J oanna Tomasik, Suplec, 2012 19
Ordres de grandeur (2/3),
minoration asymptotique :
Une fonction f, f : N R,
est minore asymptotiquement
par une fonction g, g : N R,
si et seulement si :
) ( ) (
0 0
N
R
n f n dg
n n n
d
s . v v
> e
e
+
feO(g)
J oanna Tomasik, Suplec, 2012 20
R
N
n
0
dg(n)
f(n)
feO(g)
11
J oanna Tomasik, Suplec, 2012 21
Ordres de grandeur (3/3) :
Deux fonctions f et g, f, g : N R,
ont le mme ordre de grandeur asymptotique
si et seulement si :
) ( ) ( ) (
0 0
N
R ,
n cg n f n dg
n n n
d c
s s . v v
> e
e
+
f e O(g) si f eO (g) . f e O(g)
J oanna Tomasik, Suplec, 2012 22
R
N
n
0
cg(n)
dg(n)
f(n)
feO(g)
12
J oanna Tomasik, Suplec, 2012 23
Pour notre exemple :
Au mieux : O(1)
Au pire : O(n)
A condition que llment x soit dans le tableau T :
En moyenne : O(n)
J oanna Tomasik, Suplec, 2012 24
Les fonctions dcrivant les ordres de grandeur :
n, nlog
2
n, n
2
, 2
n
et leur vitesse de croissance (pour
tout petits n)
13
J oanna Tomasik, Suplec, 2012 25
Les algorithmes dont la complexit est
exponentielle ne peuvent pas tre
utiliss en pratique mme pour des
problmes de petite taille puisque nous
navons pas de moyens pour les
excuter. Et nous ne les aurons jamais

Vous aimerez peut-être aussi