Rappel d'avant-hier. Margaux Nattaf 1 / 22

Dimension: px
Commencer à balayer dès la page:

Download "Rappel d'avant-hier. Margaux Nattaf 1 / 22"

Transcription

1 Rappel d'avant-hier Margaux Nattaf 1 / 22

2 Rappel d'avant-hier Problématique : On cherche à mesurer l'ecacité d'un algorithme (en temps). Margaux Nattaf 1 / 22

3 Rappel d'avant-hier Problématique : On cherche à mesurer l'ecacité d'un algorithme (en temps). Le temps d'exécution est proportionnel au nombre d'opérations élementaires eectués. Margaux Nattaf 1 / 22

4 Rappel d'avant-hier Problématique : On cherche à mesurer l'ecacité d'un algorithme (en temps). Le temps d'exécution est proportionnel au nombre d'opérations élementaires eectués. Nombre d'opérations dépend de la taille de la donnée Margaux Nattaf 1 / 22

5 Rappel d'avant-hier Problématique : On cherche à mesurer l'ecacité d'un algorithme (en temps). Le temps d'exécution est proportionnel au nombre d'opérations élementaires eectués. Nombre d'opérations dépend de la taille de la donnée et de la diculté de l'instance ; Margaux Nattaf 1 / 22

6 Rappel d'avant-hier Problématique : On cherche à mesurer l'ecacité d'un algorithme (en temps). Le temps d'exécution est proportionnel au nombre d'opérations élementaires eectués. Nombre d'opérations dépend de la taille de la donnée et de la diculté de l'instance ; En général, on mesure la complexité asymptotique et dans le pire cas. Margaux Nattaf 1 / 22

7 Programme d'aujourd'hui Règles de réduction pour O(.) Margaux Nattaf 2 / 22

8 Programme d'aujourd'hui Règles de réduction pour O(.) Technique de calcul de complexité Méthode par substitution Théorème Maître Margaux Nattaf 2 / 22

9 Programme d'aujourd'hui Règles de réduction pour O(.) Technique de calcul de complexité Méthode par substitution Théorème Maître Taille de la donnée Margaux Nattaf 2 / 22

10 Programme d'aujourd'hui Règles de réduction pour O(.) Technique de calcul de complexité Méthode par substitution Théorème Maître Taille de la donnée Classes complexité Algorithmes Polynomiaux Algorithmes Exponnentiels Margaux Nattaf 2 / 22

11 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; Margaux Nattaf 3 / 22

12 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Margaux Nattaf 3 / 22

13 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Margaux Nattaf 3 / 22

14 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Exemple si <condition> alors #instructions (1); sinon #instructions (2) ; n Margaux Nattaf 3 / 22

15 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Exemple si <condition> alors #instructions (1); sinon #instructions (2) ; n O(g(n)) Margaux Nattaf 3 / 22

16 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Exemple si <condition> alors #instructions (1); sinon #instructions (2) ; n O(g(n)) O(f 1 (n)) Margaux Nattaf 3 / 22

17 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Exemple si <condition> alors #instructions (1); sinon #instructions (2) ; n O(g(n)) O(f 1 (n)) O(f 2 (n)) Margaux Nattaf 3 / 22

18 Règles de calculs : combinaisons des complexités Les instructions de base prennent un temps constant, noté O(1) ; On additionne les complexités d'opérations en séquence : O(f 1 (n)) + O(f 2 (n)) = O(f 1 (n) + f 2 (n)) Même chose pour les branchements conditionnels : Exemple si <condition> alors #instructions (1); sinon #instructions (2) ; n O(g(n)) O(f 1 (n)) O(f 2 (n)) = O(g(n) + f 1 (n) + f 2 (n)) Margaux Nattaf 3 / 22

19 Règles de calculs : combinaison des complexité Dans les boucles, on multiplie la complexité du corps de la boucle par le nombre d'itérations ; Margaux Nattaf 4 / 22

20 Règles de calculs : combinaison des complexité Dans les boucles, on multiplie la complexité du corps de la boucle par le nombre d'itérations ; La complexité d'une boucle while se calcul comme suit : Exemple en supposant qu'on a m itérations tant que <condition> faire #instructions ; n O(g(n)) O(f (n)) } = O(m (g(n) + f (n))) Margaux Nattaf 4 / 22

21 Règles de calculs : combinaison des complexité Dans les boucles, on multiplie la complexité du corps de la boucle par le nombre d'itérations ; La complexité d'une boucle for se calcul comme suit : Exemple pour i allant de a à b faire #instructions ; n O(f (n)) } = O((b a + 1) f (n)) Margaux Nattaf 4 / 22

22 Calcul de la complexité asymptotique d'un algorithme Pour calculer la complexité d'un algorithme : Margaux Nattaf 5 / 22

23 Calcul de la complexité asymptotique d'un algorithme Pour calculer la complexité d'un algorithme : 1 on calcule la complexité de chaque partie de l'algorithme ; Margaux Nattaf 5 / 22

24 Calcul de la complexité asymptotique d'un algorithme Pour calculer la complexité d'un algorithme : 1 on calcule la complexité de chaque partie de l'algorithme ; 2 on combine ces complexités conformément aux règles qu'on vient de voir ; Margaux Nattaf 5 / 22

25 Calcul de la complexité asymptotique d'un algorithme Pour calculer la complexité d'un algorithme : 1 on calcule la complexité de chaque partie de l'algorithme ; 2 on combine ces complexités conformément aux règles qu'on vient de voir ; 3 on simplie le résultat grâce aux règles de simplications qu'on a vues ; élimination des constantes, et conservation du (des) termes dominants Margaux Nattaf 5 / 22

26 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n Margaux Nattaf 6 / 22

27 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n L3 initialisation : O(1) Margaux Nattaf 6 / 22

28 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n L3 L4 initialisation : O(1) itérations : O(n) Margaux Nattaf 6 / 22

29 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n L3 L4 L5 initialisation : O(1) itérations : O(n) multiplication + aectation : O(1) Margaux Nattaf 6 / 22

30 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n L3 L4 L5 L7 initialisation : O(1) itérations : O(n) multiplication + aectation : O(1) O(1) Margaux Nattaf 6 / 22

31 Exemple : calcul de la factorielle de n N Reprenons le calcul de la factorielle, qui nécessitait n opérations : Algorithme : Factorielle(n) Données : un entier n Résultat : un entier valant n! 1 fact, i : entier; 2 début 3 fact := 2; 4 pour i allant de 3 à n faire 5 fact = fact i; 6 n 7 retourner fact; 8 n L3 L4 L5 L7 initialisation : O(1) itérations : O(n) multiplication + aectation : O(1) O(1) Nombre total d'opérations : O(1) + O(n) O(1) + O(1) = O(n) Margaux Nattaf 6 / 22

32 Récurrences Algorithme : TriFusion(T) Données : un tableau T Résultat : le tableau T trié mil : entier; début si T 1 alors retourner T ; n sinon T +1 milieu := ; 2 retourner Fusion(T [1..mil], T [mil.. T ]); n n Margaux Nattaf 7 / 22

33 Récurrences Algorithme : TriFusion(T) Données : un tableau T Résultat : le tableau T trié mil : entier; début si T 1 alors retourner T ; n sinon T +1 milieu := ; 2 retourner Fusion(T [1..mil], T [mil.. T ]); n n Algorithme : Fusion(T1,T2) Données : deux tableaux T 1 et T 2 Résultat : un tableau T trié contenant les éléments de T 1 et de T 2 T : tableau de taille T 1 + T 2; début si T 1 = 0 alors T = T 2; sinon si T 2 = 0 alors T = T 1; sinon si T 1[1] < T 2[1] alors T [1] = T 1[1]; T [2.. T ] = Fusion(T 1[2.. T 1, T 2[1.. T 2 ]); sinon T [1] = T 2[1]; T [2.. T ] = Fusion(T 1[1.. T 1, T 2[2.. T 2 ]); n retourner T n Margaux Nattaf 7 / 22

34 Illustration du Tri Fusion Margaux Nattaf 8 / 22

35 Récurrences Temps d'exécution T dans le pire des cas du tri fusion pour trier un tableau de n entiers Margaux Nattaf 9 / 22

36 Récurrences Temps d'exécution T dans le pire des cas du tri fusion pour trier un tableau de n entiers T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 Margaux Nattaf 9 / 22

37 Récurrences Temps d'exécution T dans le pire des cas du tri fusion pour trier un tableau de n entiers T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 Complexité du tri fusion : T (n) = Θ(n log n) Margaux Nattaf 9 / 22

38 Récurrences Temps d'exécution T dans le pire des cas du tri fusion pour trier un tableau de n entiers T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 Complexité du tri fusion : T (n) = Θ(n log n) Comment passer de l'un à l'autre? Méthode par substitution Méthode générale (théorème maître) Margaux Nattaf 9 / 22

39 Méthode par substitution Il faut avoir une intuition sur la forme de la solution (ici : O(n log n)) Margaux Nattaf 10 / 22

40 Méthode par substitution Il faut avoir une intuition sur la forme de la solution (ici : O(n log n)) Permet de borner une récurrence soit par excès, soit par défaut (par en haut ou par en bas) Margaux Nattaf 10 / 22

41 Méthode par substitution Il faut avoir une intuition sur la forme de la solution (ici : O(n log n)) Permet de borner une récurrence soit par excès, soit par défaut (par en haut ou par en bas) On va montrer qu'il existe c > 0 t.q. T (n) = 2T ( n/2 ) + n cn log n Margaux Nattaf 10 / 22

42 Méthode par substitution Il faut avoir une intuition sur la forme de la solution (ici : O(n log n)) Permet de borner une récurrence soit par excès, soit par défaut (par en haut ou par en bas) On va montrer qu'il existe c > 0 t.q. T (n) = 2T ( n/2 ) + n cn log n On procède par induction ( récurrence) Margaux Nattaf 10 / 22

43 Méthode par substitution (I) T (n) = 2T ( n/2 ) + n cn log n Il faut montrer que la formule est vraie pour les conditions limites de la récurrence pour des données de petite taille, i.e. n = 1 ou 2 en générale Margaux Nattaf 11 / 22

44 Méthode par substitution (I) T (n) = 2T ( n/2 ) + n cn log n Il faut montrer que la formule est vraie pour les conditions limites de la récurrence pour des données de petite taille, i.e. n = 1 ou 2 en générale Problème : c'est faux pour n = 1 car c1 log 1 = 0 ne peut être < T (1) ; Margaux Nattaf 11 / 22

45 Méthode par substitution (I) T (n) = 2T ( n/2 ) + n cn log n Il faut montrer que la formule est vraie pour les conditions limites de la récurrence pour des données de petite taille, i.e. n = 1 ou 2 en générale Problème : c'est faux pour n = 1 car c1 log 1 = 0 ne peut être < T (1) ; Mais on cherche à montrer la complexité pour des tailles supérieures ou égale n 0 pour de grande valeur de n... Margaux Nattaf 11 / 22

46 Méthode par substitution (I) T (n) = 2T ( n/2 ) + n cn log n Il faut montrer que la formule est vraie pour les conditions limites de la récurrence pour des données de petite taille, i.e. n = 1 ou 2 en générale Problème : c'est faux pour n = 1 car c1 log 1 = 0 ne peut être < T (1) ; Mais on cherche à montrer la complexité pour des tailles supérieures ou égale n 0 pour de grande valeur de n... On utilise n 0 = 2 et on vérie que la formule tient pour T (2) et T (3) (car ce sont les deux valeurs qui dépendent de T (1)). Margaux Nattaf 11 / 22

47 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) Margaux Nattaf 12 / 22

48 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 Margaux Nattaf 12 / 22

49 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 T (2) = 2T (1) + 2 Margaux Nattaf 12 / 22

50 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 T (2) = 2T (1) + 2 T (2) = = 1 2c log 2 = 2c Margaux Nattaf 12 / 22

51 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 T (2) = 2T (1) + 2 T (2) = = 1 2c log 2 = 2c T (2) = 1 2c log 2 = 2c Margaux Nattaf 12 / 22

52 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 T (2) = 2T (1) + 2 T (2) = = 1 2c log 2 = 2c T (2) = 1 2c log 2 = 2c On fait la même chose pour T (3)... Margaux Nattaf 12 / 22

53 Méthode par substitution (II) T (n) = 2T ( n/2 ) + n cn log n On vérie que la formule tient pour T (2) et T (3) T (2) = 2T ( 2/2 ) + 2 T (2) = 2T (1) + 2 T (2) = = 1 2c log 2 = 2c T (2) = 1 2c log 2 = 2c On fait la même chose pour T (3) et on obtient que c doit être 2. Margaux Nattaf 12 / 22

54 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 Margaux Nattaf 13 / 22

55 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n Margaux Nattaf 13 / 22

56 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) On substitue dans l'expression T ( n/2 ) c n/2 log n/2 T (n) = 2T ( n/2 ) + n 2c n log( n ) n Margaux Nattaf 13 / 22

57 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n 2c n log( n ) n cn log(n/2) + n Margaux Nattaf 13 / 22

58 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n 2c n log( n ) n cn log(n/2) + n cn log n cn log 2 + n Margaux Nattaf 13 / 22

59 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n 2c n log( n ) n cn log(n/2) + n cn log n cn log 2 + n cn log n cn + n Margaux Nattaf 13 / 22

60 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n 2c n log( n ) n cn log(n/2) + n cn log n cn log 2 + n cn log n cn + n cn log n Margaux Nattaf 13 / 22

61 Méthode par substitution (III) T (n) = 2T ( n/2 ) + n cn log n On suppose maintenant que c'est vrai pour T ( n/2 ) T ( n/2 ) c n/2 log n/2 On substitue dans l'expression T (n) = 2T ( n/2 ) + n 2c n log( n ) n cn log(n/2) + n cn log n cn log 2 + n cn log n cn + n cn log n A condition que c 1 (on prendra c 2, à cause de T (2) et T (3)) Margaux Nattaf 13 / 22

62 Méthode générale Pour les récurrence de la forme T (n) = at (n/b) + f (n) avec a 1 et b > 1 Margaux Nattaf 14 / 22

63 Méthode générale Pour les récurrence de la forme T (n) = at (n/b) + f (n) avec a 1 et b > 1 L'algorithme découpe la donnée en a sous-problèmes de taille n/b et les résout récursivement La fonction f représente le coût de division et de fusion du problème. Margaux Nattaf 14 / 22

64 Méthode générale Pour les récurrence de la forme T (n) = at (n/b) + f (n) avec a 1 et b > 1 L'algorithme découpe la donnée en a sous-problèmes de taille n/b et les résout récursivement La fonction f représente le coût de division et de fusion du problème. Exemple pour le tri fusion : a = 2, b = 2 et f (n) = Θ(n) Margaux Nattaf 14 / 22

65 Méthode générale Pour les récurrence de la forme T (n) = at (n/b) + f (n) avec a 1 et b > 1 L'algorithme découpe la donnée en a sous-problèmes de taille n/b et les résout récursivement La fonction f représente le coût de division et de fusion du problème. Exemple pour le tri fusion : a = 2, b = 2 et f (n) = Θ(n) On peut omettre ici les parties entières ( n/b ou n/b ) Margaux Nattaf 14 / 22

66 Méthode générale Pour les récurrence de la forme T (n) = at (n/b) + f (n) avec a 1 et b > 1 L'algorithme découpe la donnée en a sous-problèmes de taille n/b et les résout récursivement La fonction f représente le coût de division et de fusion du problème. Exemple pour le tri fusion : a = 2, b = 2 et f (n) = Θ(n) On peut omettre ici les parties entières ( n/b ou n/b ) Il existe un théorème pour identié la complexité : le théorème maître Margaux Nattaf 14 / 22

67 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 Margaux Nattaf 15 / 22

68 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Margaux Nattaf 15 / 22

69 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 Margaux Nattaf 15 / 22

70 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 a = 2, Margaux Nattaf 15 / 22

71 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 a = 2, b = 2, Margaux Nattaf 15 / 22

72 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 a = 2, b = 2, d = 1, Margaux Nattaf 15 / 22

73 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 a = 2, b = 2, d = 1, log 2 2 = 1 = d Margaux Nattaf 15 / 22

74 Théorème maître (général) - version simpliée On ne considère que les récurrences T (n) = at (n/b) + O(n d ) avec a 1, b > 1, d 0 1 Si d > log b a, T (n) = Θ(n d ) 2 Si d = log b a, T (n) = Θ(n d log n) 3 Si d < log b a, T (n) = Θ(n log b a ) Tri fusion : T (n) = { Θ(1) si n = 1 2T (n/2) + Θ(n) si n > 1 a = 2, b = 2, d = 1, log 2 2 = 1 = d On est donc dans le cas 2 et la complexité en Θ(n log n) Margaux Nattaf 15 / 22

75 La taille de la donnée La taille des données va dépendre de leur codage ; Margaux Nattaf 16 / 22

76 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Margaux Nattaf 16 / 22

77 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : Margaux Nattaf 16 / 22

78 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; Margaux Nattaf 16 / 22

79 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; des nombres : nombre de bits nécessaires à leur représentation (log 2 (n)) ; Margaux Nattaf 16 / 22

80 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; des nombres : nombre de bits nécessaires à leur représentation (log 2 (n)) ; des matrices : taille m n max(m, n), m.n, m + n ; Margaux Nattaf 16 / 22

81 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; des nombres : nombre de bits nécessaires à leur représentation (log 2 (n)) ; des matrices : taille m n max(m, n), m.n, m + n ; des graphes : nombre de sommets, nombre d'arcs, produit des deux ; Margaux Nattaf 16 / 22

82 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; des nombres : nombre de bits nécessaires à leur représentation (log 2 (n)) ; des matrices : taille m n max(m, n), m.n, m + n ; des graphes : nombre de sommets, nombre d'arcs, produit des deux ; des tableaux : (ou listes) nombre de cases, d'éléments ; Margaux Nattaf 16 / 22

83 La taille de la donnée La taille des données va dépendre de leur codage ; On choisit comme taille la ou les dimensions les plus signicatives ; Exemple En fonction du problème, les entrées et leur taille peuvent être : des éléments : le nombre d'éléments ; des nombres : nombre de bits nécessaires à leur représentation (log 2 (n)) ; des matrices : taille m n max(m, n), m.n, m + n ; des graphes : nombre de sommets, nombre d'arcs, produit des deux ; des tableaux : (ou listes) nombre de cases, d'éléments ; des mots : leur longueur. Margaux Nattaf 16 / 22

84 Vocabulaire Un algorithme est dit : Margaux Nattaf 17 / 22

85 Vocabulaire Un algorithme est dit : en temps constant si sa complexité (dans le pire des cas) est bornée par une constante Margaux Nattaf 17 / 22

86 Vocabulaire Un algorithme est dit : en temps constant si sa complexité (dans le pire des cas) est bornée par une constante linéaire (resp. linéairement borné) si sa complexité (dans le pire des cas) est Θ(n) (resp. O(n)) Margaux Nattaf 17 / 22

87 Vocabulaire Un algorithme est dit : en temps constant si sa complexité (dans le pire des cas) est bornée par une constante linéaire (resp. linéairement borné) si sa complexité (dans le pire des cas) est Θ(n) (resp. O(n)) quadratique (resp. au plus quadratique) si sa complexité (dans le pire des cas) est Θ(n 2 ) (resp. O(n 2 )) Margaux Nattaf 17 / 22

88 Vocabulaire Un algorithme est dit : en temps constant si sa complexité (dans le pire des cas) est bornée par une constante linéaire (resp. linéairement borné) si sa complexité (dans le pire des cas) est Θ(n) (resp. O(n)) quadratique (resp. au plus quadratique) si sa complexité (dans le pire des cas) est Θ(n 2 ) (resp. O(n 2 )) polynômial ou polynômialement borné, si sa complexité (dans le pire des cas) est en O(n p ) pour un certain p > 0 (Q : n log n?) Margaux Nattaf 17 / 22

89 Vocabulaire Un algorithme est dit : en temps constant si sa complexité (dans le pire des cas) est bornée par une constante linéaire (resp. linéairement borné) si sa complexité (dans le pire des cas) est Θ(n) (resp. O(n)) quadratique (resp. au plus quadratique) si sa complexité (dans le pire des cas) est Θ(n 2 ) (resp. O(n 2 )) polynômial ou polynômialement borné, si sa complexité (dans le pire des cas) est en O(n p ) pour un certain p > 0 (Q : n log n?) (au plus) exponentiel si elle est en O(2 np ) pour un certain p > 0 Margaux Nattaf 17 / 22

90 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; Margaux Nattaf 18 / 22

91 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : Margaux Nattaf 18 / 22

92 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; Margaux Nattaf 18 / 22

93 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; 2 les algorithmes dits exponentiels, dont la complexité ne peut pas être majorée par une fonction polynomiale ; Margaux Nattaf 18 / 22

94 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; 2 les algorithmes dits exponentiels, dont la complexité ne peut pas être majorée par une fonction polynomiale ; De même : Margaux Nattaf 18 / 22

95 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; 2 les algorithmes dits exponentiels, dont la complexité ne peut pas être majorée par une fonction polynomiale ; De même : 1 un problème de complexité polynomiale est considéré facile ; Margaux Nattaf 18 / 22

96 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; 2 les algorithmes dits exponentiels, dont la complexité ne peut pas être majorée par une fonction polynomiale ; De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Margaux Nattaf 18 / 22

97 Hiérarchie Pour faire un choix éclairé entre plusieurs algorithmes, il faut être capable de situer leur complexité ; On fait une première distinction entre les deux classes suivantes : 1 les algorithmes dits polynomiaux, dont la complexité est en O(n k ) pour un certain k ; 2 les algorithmes dits exponentiels, dont la complexité ne peut pas être majorée par une fonction polynomiale ; De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Margaux Nattaf 18 / 22

98 Hiérarchie De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Attention! Margaux Nattaf 19 / 22

99 Hiérarchie De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Attention! 1 Attention à la puissance du polynôme : n 5 30 ans si n = Margaux Nattaf 19 / 22

100 Hiérarchie De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Attention! 1 Attention à la puissance du polynôme : n 5 30 ans si n = Un algorithme peut avoir un comportement mauvais dans le pire des cas mais être ecace en général (exemple : algorithme du simplexe) Margaux Nattaf 19 / 22

101 Hiérarchie De même : 1 un problème de complexité polynomiale est considéré facile ; 2 sinon (complexité non-polynomiale ou inconnue (!)) il est considéré dicile ; Attention! 1 Attention à la puissance du polynôme : n 5 30 ans si n = Un algorithme peut avoir un comportement mauvais dans le pire des cas mais être ecace en général (exemple : algorithme du simplexe) Mais quel est l'intérêt de la classication des problèmes? Margaux Nattaf 19 / 22

102 Sommations Linéarité n (ca k + b k ) = c n a k + n k=1 k=1 k=1 n n Θ(f (k)) = Θ( f (k)) k=1 k=1 b k Séries arithmétiques n k = n = 1 2 n(n + 1) = Θ(n2 ) k=1 Margaux Nattaf 20 / 22

103 Sommations Séries géométriques n x k = 1 + x + x x n = x n+1 1 k=0 x 1 Séries harmoniques n e nombre harmonique H n = n = 1 n k k=1 = ln n + O(1) Margaux Nattaf 21 / 22

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

Chapitre 7. Récurrences

Chapitre 7. Récurrences Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,

Plus en détail

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Polynômes à plusieurs variables. Résultant

Polynômes à plusieurs variables. Résultant Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \

Plus en détail

Chp. 4. Minimisation d une fonction d une variable

Chp. 4. Minimisation d une fonction d une variable Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie

Plus en détail

Algorithmique et Programmation

Algorithmique et Programmation École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Quelques tests de primalité

Quelques tests de primalité Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest Jean-Marc.Couveignes@u-bordeaux.fr École de printemps C2 Mars

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Comparaison de fonctions Développements limités. Chapitre 10

Comparaison de fonctions Développements limités. Chapitre 10 PCSI - 4/5 www.ericreynaud.fr Chapitre Points importants 3 Questions de cours 6 Eercices corrigés Plan du cours 4 Eercices types 7 Devoir maison 5 Eercices Chap Et s il ne fallait retenir que si points?

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

CCP PSI - 2010 Mathématiques 1 : un corrigé

CCP PSI - 2010 Mathématiques 1 : un corrigé CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P

Plus en détail

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

Table des matières. I Mise à niveau 11. Préface

Table des matières. I Mise à niveau 11. Préface Table des matières Préface v I Mise à niveau 11 1 Bases du calcul commercial 13 1.1 Alphabet grec...................................... 13 1.2 Symboles mathématiques............................... 14 1.3

Plus en détail

Quelques Algorithmes simples

Quelques Algorithmes simples Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités Chapitre 2 Le calcul des probabilités Equiprobabilité et Distribution Uniforme Deux événements A et B sont dits équiprobables si P(A) = P(B) Si il y a équiprobabilité sur Ω, cad si tous les événements

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

4. Les structures de données statiques

4. Les structures de données statiques 4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer

Plus en détail

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire 2008-2009. Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera. Cours Optimisation Partie Optimisation Combinatoire 3ième année ISAE Année scolaire 2008-2009 Gérard Verfaillie ONERA/DCSD/CD, Toulouse Gerard.Verfaillie@onera.fr Septembre 2008 Résumé Ce document couvre

Plus en détail

Développements limités. Notion de développement limité

Développements limités. Notion de développement limité MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un

Plus en détail

Chapitre VI - Méthodes de factorisation

Chapitre VI - Méthodes de factorisation Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Programmation mathématique Discrète et Modèles Linéaires

Programmation mathématique Discrète et Modèles Linéaires Université Pierre et Marie Curie Master IAD Module PDML Programmation mathématique Discrète et Modèles Linéaires Pierre Fouilhoux pierre.fouilhoux@lip6.fr 29 septembre 2013 Table des matières I Programmation

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a la recherche d information Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

Optimisation Discrète

Optimisation Discrète Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée EXAMENS D'ADMISSION Admission RÉCAPITULATIFS DES MATIÈRES EXAMINÉES MATIÈRES Préparation en 3 ou 4 semestres Formation visée Préparation complète en 1 an 2 ème partiel (semestriel) Niveau Durée de l examen

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

Sites web éducatifs et ressources en mathématiques

Sites web éducatifs et ressources en mathématiques Sites web éducatifs et ressources en mathématiques Exercices en ligne pour le primaire Calcul mental élémentaire : http://www.csaffluents.qc.ca/wlamen/tables-sous.html Problèmes de soustraction/addition

Plus en détail

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

Plus en détail

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures) CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE Cinquième épreuve d admissibilité STATISTIQUE (durée : cinq heures) Une composition portant sur la statistique. SUJET Cette épreuve est composée d un

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire et Optimisation. Didier Smets Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Master of Science en mathématiques 2015-2016

Master of Science en mathématiques 2015-2016 Remarques liminaires : 1/9 Ce master à 90 ECTS (3 semestres) permet 2 orientations distinctes : - Un master général en mathématiques - Un master qui permet de choisir des mineurs en finance, statistique

Plus en détail

Analyse des Systèmes Asservis

Analyse des Systèmes Asservis Analyse des Systèmes Asservis Après quelques rappels, nous verrons comment évaluer deux des caractéristiques principales d'un système asservi : Stabilité et Précision. Si ces caractéristiques ne sont pas

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

Suites numériques 4. 1 Autres recettes pour calculer les limites

Suites numériques 4. 1 Autres recettes pour calculer les limites Suites numériques 4 1 Autres recettes pour calculer les limites La propriété suivante permet de calculer certaines limites comme on verra dans les exemples qui suivent. Propriété 1. Si u n l et fx) est

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

Plus en détail

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Introduction à la théorie des graphes. Solutions des exercices

Introduction à la théorie des graphes. Solutions des exercices CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti

Plus en détail

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Nombres premiers. Comment reconnaître un nombre premier? Mais... Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement

Plus en détail

Programme de la classe de première année MPSI

Programme de la classe de première année MPSI Objectifs Programme de la classe de première année MPSI I - Introduction à l analyse L objectif de cette partie est d amener les étudiants vers des problèmes effectifs d analyse élémentaire, d introduire

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

Statistiques Descriptives à une dimension

Statistiques Descriptives à une dimension I. Introduction et Définitions 1. Introduction La statistique est une science qui a pour objectif de recueillir et de traiter les informations, souvent en très grand nombre. Elle regroupe l ensemble des

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives. L G L G Prof. Éric J.M.DELHEZ ANALYSE MATHÉMATIQUE ÉALUATION FORMATIE Novembre 211 Ce test vous est proposé pour vous permettre de faire le point sur votre compréhension du cours d Analyse Mathématique.

Plus en détail

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. david.madore@enst.fr. 29 mai 2015

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. david.madore@enst.fr. 29 mai 2015 et et Journées Télécom-UPS «Le numérique pour tous» David A. Madore Télécom ParisTech david.madore@enst.fr 29 mai 2015 1/31 et 2/31 : définition Un réseau de R m est un sous-groupe (additif) discret L

Plus en détail

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Biologie, chimie, physique et sciences de la Terre (BCPST) Discipline : Mathématiques Seconde année Préambule Programme

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes pour la planification de mouvements en robotique non-holonome Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Génération automatique de procédures numériques pour les fonctions D-finies

Génération automatique de procédures numériques pour les fonctions D-finies Marc MEZZAROBBA sous la direction de Bruno SALVY Génération automatique de procédures numériques pour les fonctions D-finies Rapport de stage de Master 2 Master parisien de recherche en informatique février-juillet

Plus en détail

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014 numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:.@ulg.ac.be Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume Introduction a l'algorithmique des objets partages Bernadette Charron{Bost Robert Cori Lix, Ecole Polytechnique, 91128 Palaiseau Cedex, France, charron@lix.polytechnique.fr cori@lix.polytechnique.fr Antoine

Plus en détail

aux différences est appelé équation aux différences d ordre n en forme normale.

aux différences est appelé équation aux différences d ordre n en forme normale. MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire

Plus en détail

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48 Méthodes de Polytech Paris-UPMC - p. 1/48 Polynôme d interpolation de Preuve et polynôme de Calcul de l erreur d interpolation Étude de la formule d erreur Autres méthodes - p. 2/48 Polynôme d interpolation

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Une nouvelle approche de détection de communautés dans les réseaux sociaux UNIVERSITÉ DU QUÉBEC EN OUTAOUAIS Département d informatique et d ingénierie Une nouvelle approche de détection de communautés dans les réseaux sociaux Mémoire (INF 6021) pour l obtention du grade de Maîtrise

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

D'UN THÉORÈME NOUVEAU

D'UN THÉORÈME NOUVEAU DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent

Plus en détail

Leçon 01 Exercices d'entraînement

Leçon 01 Exercices d'entraînement Leçon 01 Exercices d'entraînement Exercice 1 Etudier la convergence des suites ci-dessous définies par leur terme général: 1)u n = 2n3-5n + 1 n 2 + 3 2)u n = 2n2-7n - 5 -n 5-1 4)u n = lnn2 n+1 5)u n =

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Licence 2 Mathématiques- Semestre 3 Introduction aux mathématiques

Licence 2 Mathématiques- Semestre 3 Introduction aux mathématiques Licence 2 Mathématiques- Semestre 3 Introduction aux mathématiques financières Année universitaire 2010-11 1 Version Septembre 2010 1 Responsable du cours: Marie-Amélie Morlais 2 0.1 Plan sommaire du cours

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre IUFM du Limousin 2009-10 PLC1 Mathématiques S. Vinatier Rappels de cours Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre 1 Fonctions de plusieurs variables

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail