Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012

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

Download "Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012"

Transcription

1 . Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012 Cours Algorithmique et Programmation Complexité Algorithmique Savoir résoudre un problème est une chose. Le résoudre efficacement en est une autre.. Plan du chapitre 1. Théorie de la complexité Critères d évaluation d un algorithme Efficacité et Complexité. Approches d évaluation de la complexité. 2. Complexité algorithmique. Analyse et notations asymptotiques. Classes de la complexité algorithmique. 3. Complexité d un algorithme. Complexité des structures de contrôle. Complexité d algorithmes récursifs. 4. Complexité d un problème. Classes P, NP,NP-complets (NPC). Approches de résolution des problèmes NP complets. 5. Conclusion. Théorie de la complexité Critères d évaluation d un algorithme : Exactitude Convergence et stabilité Simplicité de l implémentation. Efficacité Soit : P : un problème décidable ou calculable. M: une méthode pour résoudre le problème P. Objectifs Evaluer l efficacité de la méthode M Comparer M avec une autre méthode M Indépendamment de l environnement (machine, système, compilateur, programmeur...) Exemple : Calculer la puissance m d un nombre x Méthode 1 Méthode 1 (Algo. naïf) : x 11 =x*x*x*x*x*x*x*x*x*x*x x0 = 1; xi = x* xi-1 i >0 Méthode 2 x0 = 1; xi =x (i/2)* x (i/2) si i est pair; xi =x*(x (i-1)/2 ) 2 si i est impair x 11 =x*(x 5 ) 2 = x* (x* (x 2 ) 2 ) 2 Efficacité et Complexité d un algorithme Calculer la complexité d un algorithme consiste à trouver combien coûte un appel à cet algorithme : Combien de ressources l algorithme utilise-t-il. On a deux ressources critiques: Temps de calcul. Espace mémoire. La complexité à deux dimensions : 1. Complexité temporelle : T(Algo), Temps nécessaire pour transformer les données du problème considéré en un ensemble de résultats. 2. Complexité spatialle S(Algo) : Taille en mémoire nécessaire pour stocker les structures de données utilisées. Le facteur temps d'exécution est l'élément qualitatif le plus perceptible par l'utilisateur. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 1 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 2

2 Approches d évaluation de la complexité Deux approches peuvent être utilisées: 1. Approche expérimentale, 2. Approche mathématique. Approche expérimentale Écrire un programme implémentant l algorithme. Exécuter le programme pour différentes instances du problème Limitations de l approche expérimentale Nécessité d implémenter les # algorithmes. Nombre limité d instances de test. Mesures dépendantes des facteurs et détails de l implémentation Approche mathématique. Analyser le temps (ou l espace) en se concentrant sur l algorithme et l influence de la taille du problème. Modèle de calcul : 1. Modèle de machine idéale (Modele de Turing) avec : a. Une mémoire infinie, b. Accès à la mémoire en temps constant. 2. L unité de mesure de la complexité en temps est l opération fondamentale pour le problème de calcul particulier. a. Temps discret, pas continu. b. Temps logique, pas réel. Définition : Le temps d'exécution d'un algorithme sur une entrée particulière est le nombre d opérations élémentaires exécutées. On admet que toute opération élémentaire prend un temps constant. Choix des paramètres : 1. Il faut choisir au préalable les opérations élémentaires. 2. Il faut déterminer la taille du problème. Problème Opération fondamentale Taille de l entrée Addition Calcul de la somme des éléments d un tableau Recherche d un élément dans une liste Multiplication de matrices Addition des entiers binaires Comparaison entre l élément et les entrées de la liste Multiplication scalaire réelles Opération binaire nombre d éléments dans le tableau nombre d éléments dans la liste dimension des matrices N*M nombre de bits pour représenter les entiers Exemple 1: calcul de a^n Algorithme Puissance (entier a, entier n) var i, x : Entiers; début x 1 ; // c1 pour (i=0; i<n; pas =1) // n fois. x x*a; //c2 retourne x // c3 fin algorithme Exemple 2 : Recherche Séquentielle Opération fondamentale; x x*a Complexité : C1+N*C2+C3 Rechercher x dans un tableau A de n éléments Algorithme : SRecherche(A,x) Début K 1 ; // c1 tant que (k <= n) et A[k]!= x (A[k]!= x) // c2+c3 Faire k:=k+1 ; // c4 fin Tantque si k>n alors k:=-1;// c5 +c6 Fin Opération fondamentale; Complexité : =? Complexité Temporelle Soit A un algorithme {Dn} l ensemble des entrées E de taille n. E une entrée de taille n CoûtA(E)= C(n) = Nombre d opérations élémentaires exécutées par l algorithme A sur une entrée E. Le calcul exact de la complexité C(n) s avère très difficile, voire impossible. Il y a souvent un nombre infini d instances possibles de taille n. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 3 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 4

3 Il y a lieu de distinguer trois mesures de complexité: 1. Complexité du pire cas TMax (n). : Borne supérieure du coût d exécution Une garantie de performances. 2. Complexité moyenne TMoy (n) : Espérance sur l'ensemble des entrées 3. Complexité du meilleur cas : TMin (n) : une estimation optimiste du coût d exécution. Calcul de la complexité: La complexité en coût pire cas TMax (n) = Max{Coût A(E), Taille (E)= n } La complexité en coût meilleur cas La complexité en moyenne TMin (n) = Min{Coût A(E), Taille (E)= n } TMoy (n) = {Coût A(E)*Prob(E), Taille (E)= n } Avec Prob(E) = probabilité d avoir en entrée une instance E parmi toutes les données de taille n. Opération de base : Comparaison de x avec un élément de A. T(n) = 1 si A[1] = x : Meilleur des cas. T(n) = n si A[n] = x : Pire des cas. 1 <= T(n) <= n dans tous les cas. Complexité en moyenne de RS : On suppose que : Prob [x dans A ] = p Ensemble de Données Coût Probabilité Pour 1 <= i <= n A[i] = x Coûti(Réussite) =i p/n Si i == n+1 Sortie avec échec Coût(Echec)=n 1-p Complexité moyenne TMoy (n)= Coûti(Réussite)*p/n+Coût(Echec)*(1-p) 1 <= i <= n Exemple Problème : Recherche Séquentielle d un élément x dans un tableau de N éléments Entrées : A,n,x ; où A est un tableau A [n], x : l élément recherché Sortie : l indice de x dans A (- 1 si échec). Algorithme : SRecherche() Début K 1 ; tant que (k <= n) et (A[k]!= x) Faire k:=k+1 ; fin Tantque si k>n alors k:=-1; Fin Recherche Séquentielle : Complexité moyenne T MOY (n) = (p/n) i + n.(1-p) 1 <= i <= n T MOY (n) = p.n.(n+1)/(2n) + n.(1-p) T MOY (n) = p.(n+1)/(2) + n.(1-p) Si p=1 T MOY (n)= (n+1)/2 Si p=1/2 T MOY (n)= (3n+1)/4 L'analyse mathématique de T MOY (n) souvent délicate. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 5 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 6

4 Analyse asymptotique Le coût exact T(n) est très difficile à mesurer Etude de l évolution de la complexité lorsque la taille du problème augmente (i.e. tend vers l infini). La vraie question: Simplifications : Principe d invariance : Comment évolue la complexité en fonction de la taille du problème? La complexité d un algorithme est indépendante de son implémentation (choix de la machine, du langage,... ). Les facteurs multiplicatifs constants ne sont donc pas pris en compte dans la mesure de la complexité. Exemple : Si la taille n du problème est multipliée par 10, Comment évolue la complexité T(n)= f(n)? Si f(n) = k f(10n) = 10.k=k1. Si f(n) = k.n f(10n) = k.(10n) = 10(k.n) = 10.f(n) = k2.n Si f(n) = k.n^2 f(10n) = k.(10n)^2 = 100.f(n)=. k3.n^2. Ordre de grandeur : L'ordre de complexité d'une fonction nous donne un ordre de grandeur de son taux de croissance. L algorithme le moins complexe sera très certainement le plus rapide Notations asymptotiques Comportement limite de T(n) lorsque l'argument tend vers une valeur particulière ou l'infini, On utilise les notations asymptotiques : O(grand oh), Ω(grand oméga) et Θ(grand Thêta) Notations asymptotiques taux de croissance des complexités Notation grand O (notation de Landau) : T(n) est en O(f(n)) s il existe deux constantes positives c et n0 telles que: T(n) <= c.f(n) n >= n0. Signification: T(n) est de l'ordre de f(n) T(n) O(f) ou bien T(n) = O(f) Le nombre d'opérations effectuées est borné par c.f(n), Exemples T(n)=a.n 2 + b.n + c, T(n)=O(n 2 ). Quelques cas : T(n)=n2+10 n O(n2) pour n n0=1 avec c=11. En effet : n n n n 2 = 11 n 2 donc c=11 et n0=1 T(n)=n n O(n2) pour n n0=10 avec c=2. en effet : n n n 2 +n n = 2 n 2 donc c=2 et n0=10 en effet : n n 2 donc c=1 et n0=1 T(n)=n O(n2) pour n 1 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 7 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 8

5 Notation grand Ω (Omega) : T(n) est en Ω(f(n)) s il existe deux constantes positives c et n0 telles que: T(n) c.f(n) pour tout n >= n0. On utilise la notation Ω pour décrire le meilleur des cas. Remarques T(n)= Ω ( f1(n)) T(n) >= c1.f1(n) T(n)= O ( f2(n)) T(n) <= c1.f2(n) f1(n) est une borne inférieure asymptotique pour Ω(f(n)). f2(n) est une borne supérieure asymptotique pour O(f(n)). Notation grand Θ (Theta): La notation Θ permet d encadrer asymptotiquement T(n) à des constantes multiplicatives près. T(n) est en Θ(f(n)), si et seulement si T(n) Ω(f(n)) et T(n) O(f(n)) T = Θ(f) s il existe des constantes positives c1, c2 et n0 tel que: c1 f(n) T(n) c2 f(n) pour tout n >= n0. Méthode pratique Il est généralement plus pratique d utiliser la méthode suivante Si la limite L existe. L=Lim T(n)/f(n) n + Selon la valeur de L L =r (fini) Avec r ]0,+ [ alors T = Θ(f) L= 0 alors T = Ο(f) et T Θ(f) L= + alors T = Ω (f) et T Θ(f) Notes: Θ(f(n))=Ω(f(n)) O(f(n)) letaux de croissance de T(n) est équivalent à celui de f(n) : Notation Θ classement en sous-ensembles disjoints (classes d équivalence) : Θ(1), Θ(n). Exemples T(n) =3n 2 100n + 6 N Classe Justification 1 T(n) = Ο(n2) 3n 2 > 3n 2 100n T(n) = Ο(n3) 0,01n 3 > 3n 2 100n T(n) Ο(n) c n < 3n 2 lorsque n > c. 4 T(n) = Ω(n2) 2,99n 2 < 3n 2 100n T(n) Ω(n3) n 3 > 3n 2 100n T(n) = Ω(n) 100n < 3n 2 100n T(n) = Θ(n2) T(n) = Ο(n 2 ) et T(n) = Ω (n 2 ) 8 T(n) Θ(n3) T(n) = Ο(n 3 ) seulement 9 T(n) Θ(n) T(n) = Ω(n) seulement ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 9 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 10

6 Exercice Soient : A un algorithme, T1(n) le temps pris par A pour résoudre une instance de taille n sur un ordinateur, T2(n) le temps pris par le même algorithme sur la même instance sur un ordinateur k fois plus rapide. Montrer que O(T1(n)) = O(T2(n)), Solution Soit T1(n) =O(f(n)) il existe c1 R* et n0 N tel que T1(n)<= c1.f(n) n>= n0. Comme T1(n)=k. T2(n), on a : k.t2(n)<= c1.f(n) T2(n)<= c1/k.f(n) =c2.f(n) n>=n0. ce qui veut dire que T2(n) =O(f(n)) soit T2(n) =O(f(n)) il existe c2 R* et n0 N tel que T2(n)<= c2.f(n) n>= n0. Comme T1(n)=k. T2(n), on a : T1(n)<= k.c2.f(n) T1(n)<= c2.k.f(n) =c1.f(n) n>=n0. Propriétés des notations asymptotiques. T1 O f1, T2 O f2 T1 O f, T2 O f T1 O f1, T2 O f2 Réflexivité de O Dualité entre O et Ω. Transitivité : =[O Θ Ω ] T1+T2 O(max(f1+f2)) T1+T2 O(f) T1*T2 O(f1*f2)) T n =O T(n)). Classes complexité algorithmique f n = O g n g n = Ω(f(n)) f n = g n et g n = h n f(n) = (h(n)) O 1 complexité constante O log n complexité logarithmique. O n complexité linéaire. O n.log n complexité quasi linéaire. O n 2 complexité quadratique. O n 3 complexité cubique. O n p complexité polynomiale. O nlog n complexité quasi polynômiale. O a n, a>=2 complexité exponentielle. O n! complexité factorielle. Les fonctions de croissance les plus lentes sont listées en premier. Θ 1 Θ lg n Θ n Θ n lg n Θ n 2 Θ n 3 Θ n k Θ a n Θ n!. où a > 1 et k > 3 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 11 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 12

7 Exemples Exemples: soit T n =p n,k. p n,k = ak.n k + ak-1.n k-1 + a2.n 2 + a1.n +a0 donne une complexité de = O(n k ) T(n) = a.n 2 + b.n+c T(n) =O (n 2 ) T(n) = a.n k + log(n) T(n) = O (n k ) T(n) = a.n + b.n.log(n)+c T(n) = O (n.log(n)) Temps d exécution en fonction de la taille du problème Les temps sont donnés à titre indicatif (Une op./ 10 nanosecondes : Src. Wikipédia) En pratique : Importance des constantes Exemple O(1000 x n 30 ). Taille des données traitées à temps constant. Analyse de la complexité d un algorithme. Soit A un algorithme permettant de résoudre un problème P. Soit T n le pire temps de calcul de A pour une instance de taille n. Estimation de T(n) : On considère que toute opération élémentaire coûte O(1). On travaille à constante multiplicative près. On ignore les termes d ordres inférieurs. Règle générale, L analyse d'un algorithme se fait de l'intérieur vers l'extérieur. On analyse les instructions individuelles, puis les structures qui les englobent, etc., jusqu à obtenir le résultat pour l'algorithme dans son ensemble. Analyse des diverses structures de contrôle Complexité d une séquence Début Traitement1 T1(n) Traitement2 T2(n). Traitement2 Tm(n) Fin T(Séquence) = T1(n) + T2(n)+ Tm(n) T(n)= coûts.(traitements) Complexité asymptotique T1(n)=O(Max(T1(n), T2(n),,Tm(n)) Exemple : double VSphere (const float r) { double volume; const double PI = ; // (c1) volume = 4.0/3*PI*r*r*r; // (c2) return volume; // (c3) } Complexité de VSphere() T(n)=O(c1+3*c2+c3)= O(c) =O(1). Un algorithme efficace est beaucoup plus intéressant L'important n'est pas la valeur exacte entre les parenthèses suivant le O, mais le fait que cette valeur soit constante qu'une machine puissante. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 13 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 14

8 Complexité d'une instruction conditionnelle. Soit l alternative suivante : SI (Condition) ALORS Tc Traitement1 T1 SINON Traitement2 T2 FIN La complexité sera alors T Alternative = Tc Condition) + Max(T1, T2) Exemple : Probleme : Calcule du maximum de deux entiers Entrée: Entier1,Entier2 : Entiers Sortie: Maximum : Entier Début si Entier1<Entier2 alors Maximum Entier2 sinon Maximum Entier1 Fin Complexité d'une instruction répétitive Dans le cas général : T Itérations = coûts des passages successifs par chaque itération Itérations déterministes : le nombre de boucle est dé ini à l'entrée de la boucle La complexité est égal au nombre d'itérations multiplie par la complexité du corps de la boucle (instruction pour) Exemple 1: Problème : Évaluer une fonction polynomiale : méthode de Hörner Entrée Un tableau p[0, n + 1] de valeurs (polynôme), une valeur x0 Sortie La valeur p(x0) ALGORITHME HORNER(p,x):entier; VARIABLES i: entier; y: valeur; DEBUT y 0; pour (i =0 à n) FAIRE y y * x + p[n - i]; Θ(1) FIN POUR RETOURNER y; FIN. COMPLEXITÉ T(n) = Θ(n) Exemple 2: Var T :Un tableau T[0,n-1] d Entiers Min, Max : Entiers Debut min=max=t[0]; pour ( i=1 a n-1) faire Si (t[i]>max) max=t[i]; // Tmax(n) = 2.(n-1) Sinon // Tmin(n) = n-1 Si (t[i]<min) min=t[i]; Fsi // Tmoy=3(n-1)/2 Fsi Fin pour Fin Itérations indéterministes : Itérations conditionnées par une expression booléenne. 1. Analyser la boucle pour obtenir une borne supérieure (resp. inferieure) pour le nombre d'itérations. 2. Utiliser cette information comme pour une itération déterministe Dans le pire cas le nombre d'itérations est maximal (peut être difficile a calculer) Dans le meilleur des cas le nombre d'itérations est de 0 (pour le tantque) ou de 1 (pour le répéter jusqu'à ce que). En moyenne : il faut calculer tous les cas possibles et faire la moyenne (souvent très difficile à calculer) Exemple1: Sequence1 i=1 Tantque (i<n) faire Operation i=2*i; Fin Tantque l opération s exécute «k» fois tel que 2^(k-1)<n<=2^k Dans le pire des cas on a n=2^k donc k=log2 n T(n) =O( Log2 (n)). Exemple2: Sequence2 Pour (i=1 à n) k=1 Tantque (k<n) faire Operation k=2*k; Fin Tantque Fin Pour Exemple n=8: i = 1 2^0 = 1 opération i = 2 2^1 = 1 opération i = 4 2^2 = 1 opération i = 8 2^3 = Fin de la boucle Exécution N fois la boucle Tantque La boucle interne qui s exécute «k=log2(n)» fois est répétée n fois (boucle pour ) T(n) =O( n.log2 (n)). ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 15 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 16

9 Complexité d algorithmes récursifs Etablir une équation récursive donnant T(n) en fonction de T(n - 1) ou de T(n/d), Résoudre l équation de récurrence Equation Cas Solution T(n) = c.t(n-1) + b.n k c = 1 T(n) = O(n k+1 ) T(n) = c.t(n-1) + b.n k c > 1 T(n) = O(c n ) T(n) = c.t(n/d) + b.n k c > d k T(n) = O(n log d (c) ) T(n) = c.t(n/d) + b.n k c = d k T(n) = O(n k log(n)) T(n) = c.t(n/d) + b.n k c < d k T(n) = O(n k ) Exemple 2 : Fonction Factoriel récursive T(0)=c1 =O(1) T(n)= T(n-1)+c1+c2 = T(n-1)+ O(1) On obtient donc l équation T(n) = O(1) + max{o(1), T(n 1) + O(1) T(n)= O(1) + T(n 1) + O(1) = T(n 1) + O(1). Elle correspond au cas T(n) = c.t(n-1) + b.n k (avec c = 1 et k = 0). T(n) = O(n). Arbre de récursivité Arbre de récursivité ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 17 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 18

10 Complexité d un problème Problèmes du GI Problèmes décisionnels : Problèmes de recherche et d'optimisation Problèmes dont la réponse est de type binaire oui/non, vrai/faux, 1/0, ). Problèmes qui comportent une injonction de la forme«trouver un élément tel que» et dont la réponse est de type numérique. Complexité d un problème On appelle complexité du problème, la borne inférieure du temps de calcul de tous les algorithmes connus ou non pour résoudre ce problème dans le pire des cas. L algorithme optimal Un algorithme est dit "algorithme optimal" si sa complexité est la complexité minimale parmi les algorithmes de sa classe. Exemple : Algorithme de Horner en O(n) Classes de complexité On distingue deux classes de problèmes : Classe P : Les problèmes faciles à décider, c est à dire de complexité raisonnable (polynomiale). Classe NP : les problèmes faciles à vérifier. Classe P Un problème de classe P est un problème de complexité O(n^k). Faciles à résoudre (pour une valeur k raisonnable). Un problème est dans P s il existe un algorithme pour le résoudre en temps polynômial. Classe NP ( Non-déterministes Polynomiaux ) La classe NP représente l ensemble des problèmes pour lesquels aucun algorithme connu ne peut faire mieux dans le pire cas qu'une complexité exponentielle. Un problème est dans NP s'il existe un algorithme pour vérifier qu'une solution donnée convient, en un temps polynômial. Les problèmes dans NP peuvent être résolus en énumérant l'ensemble des solutions possibles. Exemple : Problème : Factorisation d'un entier N, en un produit de facteurs premiers. On ne sait pas s'il existe un algorithme polynômial pour déterminer les facteurs premiers : p1.p2. pk. Mais, pour des nombres p1,...,pk donnés, il est trivial de vérifier si N=p1.p2. pk. Application La contrainte de complexité d'algorithmique reste la seule barrière contre une cryptanalyse par factorisation. Exemple : Algorithme cryptographique RSA Classe NP-complets (NPC). La classe NPC représente un sous-ensemble de la classe NP, qui contient les problèmes les plus difficiles. Les problèmes de la classe NPC peuvent servir comme des sous-routines pour la résolution des problèmes de la classe NP. Une solution polynomiale à un problème NPC implique une solution polynomiale à tous les problèmes NP. Les problèmes d'optimisation NP-complet ne possèdent pas, à ce jour, un algorithme général permettant de les résoudre en un temps polynomial. Exemples de problèmes NP-complets. Un très large spectre de domaines de recherche : Programmation Linéaire, Théorie des Graphes, Recherche Opérationnelle, Combinatoire, Programmation par Contraintes, etc. Quelques problèmes fondamentaux et stratégiques pour nombre d'applications industrielles : Problème de sac à dos. Voyageur de commerce. Cycle hamiltonien. Clique maximum. Colorations de graphes. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 19 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 20

11 Exemple1 : Problème du voyageur de commerce Entrées : un ensemble de villes et une distance d. Question : Existe-il un chemin passant par toutes les villes et de longueur inférieure à d. Nul ne sait résoudre parfaitement ce problème : Complexité en O(n!). Exemple 2: SAT Conclusion : La théorie de la complexité algorithmique s'intéresse à l'estimation de l'efficacité des algorithmes. En générale, on s intéresse aux complexités dans le pire/meilleur des cas. Le calcul de la complexité en moyenne est rare et très délicat. La complexité asymptotique d un algorithme donne un ordre de grandeur du nombre d'opérations élémentaires nécessaires. Connaître les complexités en temps et en espace de différents algorithmes réalisant une même tâche permet de répondre à la question suivante : Quel est le meilleur algorithme et dans quelles conditions. Un algorithme qui n'est pas polynomial ou logarithmique a de grandes chances de ne pas être Calculer la complexité. Approches de résolution des problèmes NP complets. : On conjecture que les problèmes NP-complets ne sont pas solubles en un temps polynomial. À partir de là plusieurs approches sont tentées : Séparation et évaluation (branch and bound) : Analyse du problème et élimination de larges classes de mauvaises solutions. Seules les solutions potentiellement bonnes sont donc énumérées Solutions exactes en un temps modéré. Approximation (heuristiques) Solutions approchées généralement de bonne qualité, mais sans aucune garantie sur l optimalité. Recuit simulé, Algorithmes génétiques, réseaux de neurones, Algorithmes à estimation de distribution, Optimisation par colonie de fourmis. ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 21 ENP /2011/2012/G.I /1 Année / Chap. 3 : Complexité 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

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

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

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

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

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

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

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

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

Coefficients binomiaux

Coefficients binomiaux Probabilités L2 Exercices Chapitre 2 Coefficients binomiaux 1 ( ) On appelle chemin une suite de segments de longueur 1, dirigés soit vers le haut, soit vers la droite 1 Dénombrer tous les chemins allant

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

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

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

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

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

Comment démontrer des formules sans effort? exposé de maîtrise

Comment démontrer des formules sans effort? exposé de maîtrise Comment démontrer des formules sans effort? exposé de maîtrise Marc Mezzarobba Sam Zoghaib Sujet proposé par François Loeser Résumé Nous exposons un ensemble de méthodes qui permettent d évaluer «en forme

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

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

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

Pour l épreuve d algèbre, les calculatrices sont interdites.

Pour l épreuve d algèbre, les calculatrices sont interdites. Les pages qui suivent comportent, à titre d exemples, les questions d algèbre depuis juillet 003 jusqu à juillet 015, avec leurs solutions. Pour l épreuve d algèbre, les calculatrices sont interdites.

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

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

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

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

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

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

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

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

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

Cours 02 : Problème général de la programmation linéaire

Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =

Plus en détail

Feuille TD n 1 Exercices d algorithmique éléments de correction

Feuille TD n 1 Exercices d algorithmique éléments de correction Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments

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

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

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

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

La persistance des nombres

La persistance des nombres regards logique & calcul La persistance des nombres Quand on multiplie les chiffres d un nombre entier, on trouve un autre nombre entier, et l on peut recommencer. Combien de fois? Onze fois au plus...

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

Introduction à l étude des Corps Finis

Introduction à l étude des Corps Finis Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur

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

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples. LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples. Pré-requis : Probabilités : définition, calculs et probabilités conditionnelles ; Notion de variables aléatoires, et propriétés associées : espérance,

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

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

I- Définitions des signaux.

I- Définitions des signaux. 101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais

Plus en détail

Calculateur quantique: factorisation des entiers

Calculateur quantique: factorisation des entiers Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

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

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

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

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

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

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

Lois de probabilité. Anita Burgun

Lois de probabilité. Anita Burgun Lois de probabilité Anita Burgun Problème posé Le problème posé en statistique: On s intéresse à une population On extrait un échantillon On se demande quelle sera la composition de l échantillon (pourcentage

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

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

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

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

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples, Non-linéarité Contexte Pour permettre aux algorithmes de cryptographie d être sûrs, les fonctions booléennes qu ils utilisent ne doivent pas être inversées facilement. Pour cela, elles doivent être très

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

Structures algébriques

Structures algébriques Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe

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

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques Université Mohammed V, Faculté des Sciences de Rabat Laboratoire de Recherche Mathématiques, Informatique et Applications Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques MASTER

Plus en détail

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Julien Jorge, Xavier Gandibleux Laboratoire d Informatique de Nantes Atlantique

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

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

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

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

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

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

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

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

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

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Amphi 3: Espaces complets - Applications linéaires continues

Amphi 3: Espaces complets - Applications linéaires continues Amphi 3: Espaces complets - Applications linéaires continues Département de Mathématiques École polytechnique Remise en forme mathématique 2013 Suite de Cauchy Soit (X, d) un espace métrique. Une suite

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

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

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

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

Carl-Louis-Ferdinand von Lindemann (1852-1939)

Carl-Louis-Ferdinand von Lindemann (1852-1939) Par Boris Gourévitch "L'univers de Pi" http://go.to/pi314 sai1042@ensai.fr Alors ça, c'est fort... Tranches de vie Autour de Carl-Louis-Ferdinand von Lindemann (1852-1939) est transcendant!!! Carl Louis

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