Chapitre II.Rappels mathématiques et complexité

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Résolution Graphique d'un Programme Linéaire
CHAPITRE 5 Suites réelles.
Johann Carl Friedrich GAUSS
l’algorithme du simplexe
Cours 5-b Problèmes spatio-temporels d’ordre 1 en temps
Cours 3-a Méthode des éléments finis 1D
Calculs de complexité d'algorithmes
Equations différentielles
III. Fonctions numériques et modélisation (intégration,équations différentielles,…) II. Nombres entiers, rationnels, réels et complexes ; suites de réels.
FONCTIONS EXPONENTIELLES ET LOGARITHMES
IN302 – Chapitre 1 Notions de base, connexité. Rappels sur la complexité
Stabilité des systèmes linéaires continus
Stabilité des systèmes linéaires continus
Résoudre graphiquement une équation ou une inéquation simple
Les structures de contrôles itératives complètes
Continuité Introduction Continuité Théorème des valeurs intermédiaires
Conception et analyse des algorithmes
Algorithmes Branch & Bound
Chapitre 2: Les régularités et les relations
ASI 3 Méthodes numériques pour l’ingénieur
Chapitre 2 : La fonction de transfert
Continuité Montage préparé par : André Ross
Équations différentielles.
IFT-2000: Structures de Données Introduction à lanalyse dalgorithmes Dominic Genest, 2009.
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
Les points importants des chapitres 1 et 2. Ce quil faut retenir Les 2 conception du pgcd() (méthode force brute et diminuer pour régner) Définition de.
Analyse d’Algorithmes
Inéquations du 1er degré
Systèmes Différentiels
Chapitre 5 : Etude de la Stabilité des systèmes dynamiques
Chapitre 3: Les équations et les inéquations
1.2 FONCTIONS Cours 2.
Algorithmes d ’approximation
L ABORATOIRE d I NGÉNIERIE des S YSTÈMES A UTOMATISÉS EA 4014 – Université dAngers Institut des Sciences et Techniques de lIngénieur dAngers Master2 Recherche.
ASI 3 Méthodes numériques pour l’ingénieur
Analyse des Algorithmes
Analyse d’algorithmes
ASI 3 Méthodes numériques pour l’ingénieur
Algorithmique Avancée II
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
ASI 3 Méthodes numériques pour l’ingénieur
TP9: Equations différentielles II
V. Complexité  Exemples pour démarrer (tri insertion, tri fusion)
Suites numériques Définitions.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
ASI 3 Méthodes numériques pour l’ingénieur
Théorie du point fixe 1. Rappel Ensemble ordonné Majorant, Minorant
D’ UN CIRCUIT RLC DEGRADE
Programmation linéaire en nombres entiers
Présentation du marché obligataire
Algorithmes Branch & Bound
CHAPITRE 1: LES FONCTIONS.
Septembre Semaines du 2 au 13 septembre DATECOURSEXERCICESEXERCICES à fairePOUR le Jeudi 4 Prise de contact Rappels sur les suites 2 exemples donnés pour.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Les différentes sortes de filtre
Chapitre 3: Translation et Vecteurs
MATHÉMATIQUES DISCRÈTES Chapitre 2 (section 2) François Meunier DMI.
ASI 3 Méthodes numériques pour l’ingénieur
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Le circuit RLC en régime transitoire critique et apériodique
ANALYSE Révisions.
Cours N°4 : fonction réelle d’une variable réelle
Martin Roy, Janvier 2010 Révisé Juillet  Un système d’équations est un ensemble de plusieurs équations.  La solution d’un système d’équations.
CSI2510 Structures de données et algorithmes Analyse des algorithmes
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
ANALYSE HARMONIQUE.
LES POSTULATS DE LA MÉCANIQUE QUANTIQUE
Chapitre 4 Equations différentielles ordinaires à n variables.
Transcription de la présentation:

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 »

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 :

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

Exemples en (1)  

Exemples en (2)  

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

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

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

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

Notations asymptotiques définition exemple

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

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 :

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

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

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

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 +… 𝑥 𝑛+1 - 1−𝑥− 𝑥 2 − 𝑥 3 +… 𝑥 𝑛 )/(𝑟−1)= 𝑺 𝒏 = 𝒙 𝒏+𝟏 − 𝟏 𝒙−𝟏

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?

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?

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)

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 = 𝑛! 𝑛−𝑘 !

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 𝑛 𝐶 𝑛 𝑘

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

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.

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

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

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

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

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

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.

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)

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

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