Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
Objectifs de ce module
• Introduire la notion de complexité afin de
comparer les performances de différents
algorithmes.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
Plan de ce module
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
1. GENERALITES SUR LA
COMPLEXITE.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
Plan de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
Notation :
T : IN ® IR
n T ( n)
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
å c =n ´ c
k=1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
n
n ´ ( n +1)
å k= 2
k=1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
n
n ´ ( n +1) ´ ( 2n +1)
åk = 2
6
k=1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
n n+1
1- q
Si q ¹ 1, å q k =
k=0 1- q
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
æx ö
" x, y > 0, log a ç ÷=log a ( x ) - log a ( y )
èy ø
" x > 0, " n Î IN, log a ( x n ) =n. log a ( x )
log a ( 1) =0
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
log b ( x )
" x > 0, log a ( x ) =
log b ( a)
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
log a ( x )
" x > 0, a =x
" x Î IR, log a ( a x ) =x
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
1. Généralités sur la complexité.
Fin de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
2. PREMIERS CALCULS DE
COMPLEXITE.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
Plan de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def conversion(n):
h = n // 3600
m = (n - 3600*h) // 60
s = n % 60
return h,m,s
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
•On a donc :
T ( n ) =8
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def puissanceMoinsUn(n):
if n%2==0:
res = 1
else:
res = -1
return res
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
•On a donc :
T ( n ) =3
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def sommeEntiers(n):
somme = 0
for i in range(n+1):
somme += i
return somme
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
•On a donc :
( )
T n =5n +1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def sommeEntiersBis(n):
return n*(n+1)//2
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def recherche(l,x):
for i in range(len(l)):
if l[i]==x:
return i
return -1
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
( )
T n =4n
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
def triSelection(l):
for i in range(len(l)-1):
ind_mini=i
for j in range(i+1,len(l)):
if l[j]<l[ind_mini]:
ind_mini=j
l[i],l[ind_mini]=l[ind_mini],l[i]
return l
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
•Le pire des cas correspond à une liste triée par ordre
décroissante.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
n- 1
( )
6 +5´ n - 1 +6 +5´ n - 2 +... +6 +5´ 1 = ( ) å ( 6 +5´ i )
i=1
n- 1
= ( )
6 ´ n - 1 +5´ åi
i=1
= 6 ´ ( n - 1) +5´
( n - 1) ´ n
2
5 2 7
= n + n- 6
2 2
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
5 2 7
T n n n 6
2 2
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
2. Premiers calculs de complexité.
Fin de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
3. COMPORTEMENT
ASYMPTOTIQUE DES FONCTIONS.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
Plan de ce chapitre
a. Notations asymptotiques.
b. Croissance des fonctions usuelles.
c. Classes de complexité.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Hypothèses :
•Ce n’est bien sûr pas une contrainte car les fonctions
exprimant une complexité sont nécessairement positives.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Borne supérieure asymptotique :
f ( n ) =O ( g ( n ) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Interprétation :
c x g(n)
f(n)
n0
f ( n ) =O ( g ( n) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Exemples :
T ( n) =4 Þ T ( n ) =O ( 1)
T ( n) =4n +1 Þ T ( n) =O ( n)
T ( n) =4n +1 Þ T ( n ) =O ( n 2 )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Borne inférieure asymptotique :
f ( n) =W ( g ( n ) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Interprétation :
f(n)
c x g(n)
n0
f ( n) =W ( g ( n ) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Exemples :
T ( n ) =4 Þ T ( n ) =W ( 1)
T ( n) =4n +1 Þ T ( n) =W ( n)
2
T ( n ) =4n +1 Þ T ( n) =W ( n)
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Borne asymptotique :
$c1 > 0, $c2 > 0, $n0 > 0 / " n > n0 , c1 ´ g ( n) < f ( n ) < c2 ´ g ( n)
f ( n) =Q ( g ( n ) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Remarque :
f ( n ) =Q ( g ( n ) )
•Si et seulement si
f ( n) =O ( g ( n) ) et f ( n ) =W ( g ( n ) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Interprétation :
c2 x g(n)
f(n)
c1 x g(n)
n0
f ( n ) =Q ( g ( n) )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Exemples :
T ( n ) =4 Þ T ( n ) =Q ( 1)
T ( n) =4n +1 Þ T ( n) =Q ( n)
T ( n ) =4n 2 +1 Þ T ( n ) =Q ( n 2 )
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Équivalence :
f ( n) » g ( n)
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
a. Notations asymptotiques.
Exemples :
( )
f n =4n - 2n +1, g n =4n 2
( ) 2
Þ ( ) ( )
f n »g n
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
•Formule de Stierling
n
æn ö
n! » 2p n ç ÷
èe ø
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
f5 ( n) =n 2 f6 ( n) =n3 f7 ( n) =2 n f8 ( n) =n!
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
c. Classes de complexité.
• On va exprimer nos complexités algorithmiques comme
des “grands O” de fonctions de référence.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
c. Classes de complexité.
Complexités de référence :
O Type de complexité
O(1) constant
O(log n) logarithmique
O(n) linéaire
O(n * log n) quasi - linéaire
O(n2) quadratique
O(n3) cubique
O(2n) exponentiel
O(n!) factoriel
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
c. Classes de complexité.
Exemples :
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
3. Comportement asymptotique des fonctions.
Fin de ce chapitre
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com
Notion de complexité algorithmique.
©
© SUPINFO
SUPINFO International
International University
University –– http://www.supinfo.com
http://www.supinfo.com