La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chapitre II.Rappels mathématiques et complexité

Présentations similaires


Présentation au sujet: "Chapitre II.Rappels mathématiques et complexité"— Transcription de la présentation:

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

2 Comparaisons de complexités
Comparer sur un ensemble des données très grand; « Ordre de grandeur », « Comportement asymptotique »

3 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 :

4 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

5 Exemples en (1)

6 Exemples en (2)

7 Exemples en (3) Considérons la partie gauche de cette inégalité
Considérons la partie gauche de cette inégalité la partie gauche de cette inégalité est

8 Notation Pour une fonction donnée g(n), on note
L’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

9 Notation Pour une fonction donnée g(n), on note
L’ensemble de fonctions: La notation fournit une borne asymptotique inférieure Théorème: pour deux fonctions quelconques et , si et seulement si et

10 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

11 Notations asymptotiques
définition exemple

12 Critères pour comparer les fonctions
Soit f(n) et g(n) deux fonctions asymptotiquement positives

13 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 :

14 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) :

15 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

16 Séries (1) Série arithmétique : 𝑘=1 𝑛 𝑘=1+2+3+…𝑛 = 1 2 𝑛 𝑛+1 = 𝑆 𝑛
Démonstration 𝑆 𝑛 = 𝑆 𝑛 + 𝑆 𝑛 = ( …𝑛 + 𝑛+𝑛−1+𝑛−2+…1)/2 = 𝑛+1 ∙ 𝑛 2 𝒌=𝟏 𝒏 𝒌 = 𝟏 𝟐 𝒏 𝒏+𝟏 =𝜣 𝒏 𝟐

17 Séries(2) Série géométrique ou exponentielle :
Pour 𝑥≠1 𝑘=1 𝑛 𝑥 𝑘 =1+𝑥+ 𝑥 2 + 𝑥 3 +… 𝑥 𝑛 = 𝑥 𝑛+1 −1 𝑥−1 = 𝑆 𝑛 Raison 𝑥 Démonstration 𝑆 𝑛 = 𝑟𝑆 𝑛 − 𝑆 𝑛 𝑟−1 = (𝑥+ 𝑥 2 + 𝑥 3 +… 𝑥 𝑛 −𝑥− 𝑥 2 − 𝑥 3 +… 𝑥 𝑛 )/(𝑟−1)= 𝑺 𝒏 = 𝒙 𝒏+𝟏 − 𝟏 𝒙−𝟏

18 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?

19 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?

20 Dénombrements(3) Chaînes. Une chaîne sur un ensemble fini 𝐸 est une séquence d’éléments de 𝐸. Ex. Soit 𝐸= 0;1 . 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)

21 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 𝐸= 0;1 . 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 : 𝑛 𝑛−1 𝑛−2 … 𝑛−𝑘+1 = 𝑛! 𝑛−𝑘 !

22 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 : 𝑥+𝑦 𝑛 = 𝑘=0 𝑛 𝐶 𝑛 𝑘 𝑥 𝑘 𝑦 𝑛−𝑘 , 2 𝑛 = 𝑘=0 𝑛 𝐶 𝑛 𝑘

23 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

24 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.

25 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 : , p=1, q=4, r=8 A trié : Complexité de « Fusionner » est

26 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

27 Complexité Temps d’exécution dans le pire des cas

28 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

29 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

30 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.

31 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)

32 Résolution de récurrence (5)
(3) Théorème général Soient 𝑎≥1 et 𝑏>1 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

33 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


Télécharger ppt "Chapitre II.Rappels mathématiques et complexité"

Présentations similaires


Annonces Google