Top Banner
Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence
33

Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Apr 03, 2015

Download

Documents

Timothée Maury
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Chapitre II.Rappels mathématiques et complexité

Outils mathématiques

- Notations asymptotiques

- Séries

- Dénombrements

- Equations de récurrence

Page 2: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Comparaisons de complexités

• Comparer sur un ensemble des données très grand;

• « Ordre de grandeur », « Comportement asymptotique »

Page 3: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notation asymptotique

• Pour caractériser le comportement asymptotique en terme de complexité d’un algorithme on utilisera les fonctions dont le domaine est N

• Notations : ,,,, oO

Page 4: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notation

• Pour une fonction donnée g(n), on note

L’ensemble de fonctions:

L’écriture simplifiée :

g(n) s’appelle borne approchée asymptotique pour f(n)

Chaque fonction utilisée à l’intérieur de la notation doit être positive asymptotiquement

ng

)()()(:00,0:)( 210021 ngcnfngcnnnetccnfng

ngnf )(

Page 5: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Exemples en (1)

•  

)(32

1 22 nnn

22

221 3

2

1ncnnnc

0nn

0nn 2n 21

3

2

1c

nc

2

3

2

1c

n

03

2

11 c

n

72/1,14/1 021 netcc

22 32

1nnn

Page 6: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Exemples en (2)

•  

)()())(),(max( ngnfngnf

Page 7: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Exemples en (3) •  

Considérons la partie gauche de cette inégalité

la partie gauche de cette inégalité est

Page 8: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notation

Pour une fonction donnée g(n), on noteL’ensemble de fonctions:

L’écriture simplifiée :

g(n) s’appelle borne asymptotique supérieure pour f(n)Remarque 1: implique

Remarque 2: et

On dit que g et f ont un même ordre de grandeur asymptotique

O

ngO

)()(0:00:)( 00 ncgnfnnnetcnfngO

ngOnf )(

ngnf )( ngOnf )(

))(()()( ngOnfngnf ))(()( nfOng

Page 9: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notation

Pour une fonction donnée g(n), on noteL’ensemble de fonctions:

La notation fournit une borne asymptotique inférieure

Théorème: pour deux fonctions quelconques et ,

si et seulement si et

ng

)()(0:00:)( 00 nfncgnnnetcnfng

)(nf

ngOnf )(

))(()( ngnf

)(ng

ngnf )(

Page 10: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notations asymptotiques pour les bornes non-approchées

• La borne supérieure n’est pas asymptotiquement approchée

• La borne inférieure n’est pas asymptotiquement approchée

)()(0:00:)( 00 ncgnfnnnetcnfngo

)()(0:00:)( 00 nfncgnnnetcnfng

Page 11: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notations asymptotiques

Notation

définition

exemple

Page 12: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Critères pour comparer les fonctions

• Soit f(n) et g(n) deux fonctions asymptotiquement positives

))(()(0)(

)(lim ngonf

ng

nf

n

))(()()(

)(lim ngnf

ng

nf

n

))(()(0)(

)(lim ngnfc

ng

nf

n

Page 13: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notations standard et fonctions classiques (1)

(1) Polynômes

• On dit qu’une fonction f(n) a une borne polynomiale si , ce qui équivaut à dire que

• Complexité quadratique :• Complexité linéaire :

0,)(0

d

d

i

ii ananp

1)( Onnf 0,)( knOnf k

,)( 2nnT ,)( nnT

Page 14: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notations standard et fonctions classiques (2)

• Exponentielles

• - par convention

Comparaison des vitesses de croissance des polynômes et des exponentielles

Ou

Cas particulier (rappel, réelles) :

,)()(/1,,1,,,0, 110 mnmnnm aaaaaaaanmaRa

nmnm aaa

100

0lim1:, n

b

n a

naba

nb aon

0

32

!...

!3!21

i

ix

i

xxxxe

Page 15: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Notations standard et fonctions classiques (3)

• Logarithmes - log binaire - log naturel• Pour tout réel

• etc..

• Comparaison des vitesses de croissance

• ou illustration graphique • Complexité logarithmique

nn 2loglg

nn elogln

abba

netbalog

0,0

0lg

lim a

b

n n

n

)(lg ab non nnT lg)(

Page 16: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Séries (1)

• Série arithmétique :

• Démonstration • =

+

)/2

=

Page 17: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Séries(2)

• Série géométrique ou exponentielle : • Pour • Raison • Démonstration • =

- )/()=

Page 18: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Dénombrements(1)• La théorie de dénombrements tente de répondre à la

question « Combien? » sans pour autant procéder à une numération.

• Ex. « Combien de mémoire faut-il réserver pour toutes les chaines binaires possibles de longueur n ?»

• (1). Règle de la somme : le nombre de façons de choisir un élément appartenant à un ensemble parmi deux ensembles disjoints est la somme des cardinaux de ces deux ensembles: =

• Ex. Etant donnés deux tableaux des entiers T1 et T2 de taille m et k respectivement combien d’éléments de mémoire faut-il réserver pour le tableau qui contiendra tous les éléments de T1 et de T2?

Page 19: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Dénombrements(2)• (2). Règle du produit: le nombre de façons de choisir

une paire ordonnée des éléments chacun appartenant à un ensemble est le nombre de fçons de choisir le premier élément multiplié par le nombre de façons de choisir un second élément=

• Ex. Sur le site d’une agence matrimoniale se sont inscrits k hommes et l femmes. Combien de couples potentiels faudrait-il constituer?

Page 20: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Dénombrements(3)• Chaînes. Une chaîne sur un ensemble fini est une

séquence d’éléments de . • Ex. Soit . Combien de chaînes binaires de longueur 3

existe-t-il? • Une chaîne de longueur k est appelée une k-chaine. • Il existe k-chaines sur un ensemble fini • Ex. Dans le système d’immatriculation des véhicules

(SIV, 2009) la numérotation des véhicules se fait de manière séquentielle (de AA-001-AA à ZZ-999-ZZ). Les lettres I,O,V sont exclues. Les sous-chaînes WW et SS sont exclues à gauche. La sous-chaîne SS est exclue à droite. Quelle est la quantité possible des numéros d’immatriculation en France ?((23x23)-2)x999x((23x23)-1)

Page 21: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Dénombrements(4)• Permutations. Une permutation d’un ensemble fini est

une séquence ordonnée de tous les éléments de chaque élément apparaissant exactement une fois.

• Ex. Soit . Combien de permutations existe-t-il?• Il existe de permutations d’un ensemble de n éléments. • Une k- permutation de est une séquence ordonnée de k

éléments de , sans qu’un élément apparaisse plus d’une fois dans la séquence.

• Ex. Un code produit d’une société de commerce électronique contient 4 chiffres décimales tous différents.

• Combien de slots faut-il réserver dans le catalogue électronique des produits?

• Le nombre de k-permutations d’un ensemble de n éléments :

Page 22: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Dénombrements(5)• Combinaisons. • Une k- combinaison d’un ensemble de n éléments est

un sous-ensemble de, composé de k éléments. • Le nombre de k-combinaisons d’un ensemble de n

éléments peut être exprimé en fonction du nombre de ses k-permutations. Pour chaque k-combinaison il existe exactement k! permutations de ses éléments.

• Le nombre de k-combinaisons d’un ensemble de n éléments:

• Coefficients binomiaux : • , =• Binôme de Newton : ,

Page 23: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Equations de récurrences

• Souvent pour évaluer le temps d’exécution d’un algorithme sur des données de taille n, on décompose le problème en sous-problèmes sur des données de tailles plus petites et on exprime T(n) en fonction de divers T(p) avec p<n :

• On obtient alors une équation de récurrence

nppTfnT ;)(

Page 24: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Les récurrences des partitions• On se limitera à ce type de récurrences.• Considérons l’algorithme de tri par fusion d’un tableau

• Principe

1. Diviser la séquence de n éléments à trier en deux sous-séquences de taille n/2 éléments

2. Trier les deux sous-séquences récursivement à l’aide de tri par fusion

3. Fusionner les deux sous-séquences triées pour produire la réponse triée.

Condition de sortie de récursion – une séquence d’un élément est déjà triée.

Page 25: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Algorithme de tri par fusion(1)

• Supposons que nous avons à notre disposition une procédure Fusionner(A,p,q,r). Elle fusionne deux séquences ordonnées A[p],…,A[q] et A[q+1],…, A[r].

• Exemple • A : 1 3 5 7 2 4 6 8, p=1, q=4, r=8• A trié : 1 2 3 4 5 6 7 8• Complexité de « Fusionner » est n

Page 26: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Algorithme de tri par fusion (2)

Procédure Tri-Fusion(val A,p,r)

Var q:entier

Début

Si p<r

Alors

Tri-Fusion(A,p,q)

Tri-Fusion(A,q+1,r)

Fusionner(A,p,q,r)

FinSi

Fin Tri-Fusion

2/: rpq

Page 27: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Complexité

• Temps d’exécution dans le pire des cas

)()2/(2

11)(

nnT

nsinT

Page 28: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Résolution de récurrence (1)

(1) Par substitution : substituer la solution pressentie à la fonction et appliquer l’induction mathématique.

• Considérons

• On suppose que

• Démontrer que

nnTnT )2/(2)(

)lg()( nnOnT

ncnnTnnnc lg)(:,0 00

Page 29: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Résolution de récurrence (2)

• On suppose la validité pour

• En substituant dans l’équation de récurrence

• pour c>1 on majore par

• donc• Il est maintenant nécessaire de vérifier pour les

premiers n ( pour n=1 – faux), mais on doit choisir n>n0,

• (n=2,3..)- choisir c suffisamment grande

2/n

2/lg2/)2/( nncnT

ncnncnncnncn

nncnnnncnT

lg2lglg

2/lg2/lg2/2)(

ncnncnncn lglg

ncnnT lg)(

Page 30: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Résolution de récurrence (3)

• L’inconvénient de la méthode par substitution : il faut « pressentir » la forme de la solution.

(2)Méthode itérative.

Principe : développer (itérer) la récurrence et de l’exprimer sous la forme d’une sommation en termes dépendant uniquement de n et de conditions initiales. Utiliser ensuite l’évaluation de sommations.

Page 31: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Résolution de récurrence (4)

• Considérons

• (Ici on se sert de la borne)• Combien de fois faut-il itérer la récurrence avant d’atteindre la

condition aux limites (n=1) ?

• L’itération atteint 1 quand • donc i = (ou dépasse)

nnTnT )2/(2)(

....8/222

4/)8/(2222/)4/(22)2/(2)(

nTnnn

nnTnnnnTnnnTnT

ii nn 2/2/

12/ innlg

nnOnnnnnnnnn

nnnnnT nn

lglglg1lg

12lg12...)( lglg

Page 32: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Résolution de récurrence (5)• (3) Théorème général• Soient et constantes, soit f(n) – une fonction et soit T(n) définie pour

les entiers positifs par la récurrence

• Où l’on interprète n/b soit comme soit comme • T(n) peut alors être borné asymptotiquement comme suit

• 1)Si pour une certaine constante ,alors • 2)Si , alors

• 3)Si pour une certaine constante et si • suffisamment grand, alors

)()/( nfbnaTnT bn / bn /

abnOnf log0 abnnT log

abnnf log nnnT ab lglog

abnnf log 0 netcncfbnaf ,1,/ )(nfnT

Page 33: Chapitre II.Rappels mathématiques et complexité Outils mathématiques - Notations asymptotiques - Séries - Dénombrements - Equations de récurrence.

Exemple d’application du théorème général

• ss on a a=9, b=3, f(n)=n

• On peut appliquer le cas 1 du théorème général et donc

nnTnT )3/(9

1,9log3 oùnOnnf

2nnT