Optimisation discrète, séance 5 : Cours THÉORIE de la COMPLEXITÉ

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

Download "Optimisation discrète, séance 5 : Cours THÉORIE de la COMPLEXITÉ"

Transcription

1 Graphes et Optimisation discrète 1 Optimisation discrète, séance 5 : Cours THÉORIE de la COMPLEXITÉ Résumé La solution d un problème combinatoire, quand elle existe, peut être déterminée par l énumération de toutes les possibilités : elle appartient à un ensemble fini et on peut à l aide d un algorithme fini tester si un élément de cet ensemble est une solution. Mais l énumération de toutes les solutions exige souvent un temps de calcul exponentiel par rapport à la complexité des données. Il existe de très nombreux problèmes, dits NP-complets, pour lesquels on ne connaît pas d algorithme plus efficace que l énumération de tous les sous ensembles d un ensemble. En un certain sens ces problèmes sont équivalents entre eux : un algorithme efficace (précisément polynômial) pour l un le serait pour tous. Curieusement on ne sait pas démontrer que ces problèmes n admettent pas d algorithme polynômiaux, c est la conjecture P NP. 1 Problème combinatoire et notion d algorithme 1.1 Exemples de problèmes résolus par un algorithme Opérations élémentaires sur les entiers par les méthodes apprises à l école élémentaire. Calcul de la valeur d un polynôme en un point par le schéma de Horner n k=0 a k x k = ((...((a n x + a n 1 )x + a n 2 )x...)x + a 1 )x + a 0 Multiplication de deux matrices (n, n) : L algorithme usuel en n 3 opérations n est pas optimal, voir ci-dessous en annexe l algorithme de Strassen. Résolution d un système linéaire : algorithme de Gauss. Pour une matrice pleine il faut n3 3 opérations élémentaires, l algorithme n est pas optimal. Calcul du PGCD de deux entiers : algorithme d Euclide (PGCD). Test de primalité relative de deux entiers : on peut par l algorithme d Euclide tester si le PGCD est 1. Test de primalité (PRIM). Il s agit de tester si un entier n est premier. Noter que si l entier s écrit en décimal avec 50 chiffres, il est de l ordre de Ce qui interdit en pratique de le diviser par tous les entiers inférieurs. Certains entiers premiers célèbres sont des nombres de Mersenne (2 p +1), ils sont donc très très grands par rapport à leur représentation (l entier p écrit en décimal). Ce problème, historiquement très important, a de nombreuses applications (cryptographie)

2 Graphes et Optimisation discrète 2 Construction d un arbre minimal recouvrant un graphe. Vu à la séance 1. Connexité d un graphe. La construction d un arbre de recouvrement peut servir d algorithme, voir la séance 1. Notons que certains des algorithmes ci-dessus peuvent être appliqués théoriquement à des nombres réels mais que, interprétés sur un ordinateur, ils utiliseront des opérations en virgule flottante, portant sur des réels tronqués à un nombre fini de décimale, opérations qui feront des erreurs de troncature, ils ne font pas alors de calcul exact. Nous ne considérerons dans ce qui suit que des algorithmes portant sur des objets ayant une représentation finie. Nous en donnerons ci-dessous une définition plus précise. 1.2 Problème combinatoire Définition 1 (informelle) Un problème combinatoire est un problème portant sur un ensemble fini d objet fini et pour lequel on peut tester par un algorithme si un objet est solution. Un tel problème peut donc être résolu par énumération des objets et test pour déterminer si un objet est une solution Exemples k-coloration d un graphe. Est-il possible de colorier les noeuds d un graphe de façon à ce que deux noeuds adjacents n aient jamais la même couleur? Pour k = 2 on a un algorithme très rapide, vu à la séance 2. Circuit eulérien (EUL) : existe-t-il sur un graphe un circuit passant par toutes les arêtes une fois et une seule? Circuit hamiltonien (HAM) : existe-t-il sur un graphe un cycle passant par tous les sommets d un graphe une fois et une seule? Le problème du voyageur de commerce (TSP) : trouver un cycle hamiltonien de longueur minimal sur un graphe valué. Satisfiabilité d un ensemble de clauses 1 (SAT). Un ensemble de n clauses 2 (P 1 P 2... P k ) à p symboles est-il satisfiable, i.e. peuton donner des valeurs VRAI ou FAUX aux symboles P i pour que toutes les clauses soient vraies? (Des propositions quelconques peuvent être écrites comme une conjonction de clauses, leur satisfiabilité est ramenée à celle de chaque clause). On peut tester toutes les valeurs des symboles de proposition. Satisfiabilité d un ensemble de clauses de longueur au plus k (k-sat). La programmation linéaire en nombres entiers (ILP) : chercher le maximum d une fonction linéaire sur tous les vecteurs de R p à composantes entières qui vérifient un ensemble d inéquations linéaires (si l ensemble défini par les contraintes est borné il n y a donc qu un nombre fini de solutions possibles). 1 voir annexe ci-dessous 2 Voir l annexe 1

3 Graphes et Optimisation discrète Rappel sur la notion d algorithme La notion d algorithme que nous utiliserons est stritement déterministe, ce qui exclut les opérations en virgule flottante. On suppose donné un langage de programmation L et une classe d objets C définis par des chaînes de caractères (nous dirons parfois que ces chaînes forment un mot). Un algorithme est une fonction définie par un programme (notion à préciser) écrit dans le langage L qui, si on lui donne en entrée un objet (ou un mot) n C, fournit en sortie un objet f(n). Comme à une chaîne de caractères on peut associer un entier et réciproquement, nous pouvons considérer tout aussi bien qu un programme opère sur les entiers. Dans tous les cas nous notons n le nombre de bits nécessaires pour représenter l objet n. Il y a plusieurs façons de coder un entier sous forme de chaînes de caractères, nous y reviendrons. Un n-uple d entiers peut être représenté par un seul entier, moyennant un codage adéquat, nous nous limiterons donc aux fonctions à un argument. Tous les langages de programmation usuels (Assembleur, C, Pascal, CAML, Mathematica...) sont équivalents en ce sens qu une fonction calculable par l un est calculable par tous les autres. Pour être équivalent à ceux-ci un langage doit comprendre, outre les opérations élémentaires, les test (IF...) et les boucles while, ou bien les tests et les GO TO, ou, c est équivalent, la composition des fonctions et la récursivité (langages fonctionnels), ou encore la possibilité de reconnaître une chaîne de caractères et la remplacer par une autre (Mathematica). L exécution d un algorithme ne se fait pas toujours en un temps fini : certains algorithmes bouclent indéfiniment. Nous supposerons que pour toutes les valeurs de n l algorithme s arrête en un nombre fini d étapes. (Rappel : le problème de l arrêt d un algorithme est indécidable, mais c est un autre problème...) Nous distinguerons dans la liste d exemples ci-dessus les problèmes (par exemple la primalité (PRIM)) des algorithmes particuliers pour les résoudre (par exemple tester toutes les divisions). 1.4 Algorithme de reconnaissance Nous nous limiterons dans cette étude aux fonctions, calculables par un algorithme, à valeurs {0, 1}. On peut considérer ces fonctions n f(n) comme des tests d appartenance des objets n C à un certain sous-ensemble (correspondant à la valeur 1). On dit aussi que ces fonctions acceptent un mot ou reconnaissent le sous langage de L qui est formé par les mots acceptés. Cela définit une classe particulière d algorithme, auxquels on peut ramener les autres, car à une fonction quelconque n f(n) définie sur les entiers, on peut associer la fonction de reconnaissance dont les données sont (n, m) qui renvoie 1 si et seulement si m = f(n). On peut donc ramener le calcul de f(n) aux problèmes de reconnaissance successifs f(n) = p pour des valeurs croissantes de p. Ainsi au problème du voyageur de commerce nous associerons le problème de reconnaissance (TSP) qui consiste à chercher si il existe un circuit hamiltonien de longueur égale ou inférieure à un entier k. 1.5 Différentes notions de complexité La complexité d un algorithme présente plusieurs aspects : - Complexité en nombre d opérations algébriques : notion utile pour des algorithmes qui définissent des fonction algébriques, elle est surtout utilisée pour des calculs en virgule flottante.

4 Graphes et Optimisation discrète 4 - Complexité en temps : temps de calcul. C est celle que nous allons développer. - Complexité en espace : encombrement mémoire. Elle est toujours inférieure la complexité en temps car lire ou écrire un bit est une opération. - Complexité algorithmique : longueur du programme. Elle sert à définir la complexité d un objet comme la longueur du plus court programme qui peut le calculer : une définition précise de cette complexité, la complexité au sens de Chaïtin-Kolmogorov a permis de donner une définition précise de la notion de suite aléatoire. 2 La complexité en temps 2.1 Introduction On veut mesurer le temps de calcul. Il dépend bien sûr de l ordinateur sur lequel le programme est exécuté. En première approximation nous pouvons considérer que le temps de calcul est proportionnel aux nombres d opérations élémentaires effectuées par l algorithme. Il dépend de la complexité des données, représentée par n, la lecture des données est d ailleurs une borne inférieure de la complexité. On peut préciser cette notion en remarquant que les ordinateurs opérant en pratique sur des bits on peut considérer qu une opération élémentaire est une opération sur les bits. On mesurera donc la complexité en temps par le nombre d opérations sur les bits, ce qui exige de décomposer les opérations des langages usuels en opérations proches de celles effectuées par des langages de très bas niveau. Bien sûr cela entraîne toujours une dépendance vis à vis de l ordinateur, par exemple du fait de l utilisation du parallélisme. Pour fixer les idées nous choisirons pour mesurer la complexité une écriture de l algorithme sous la forme d une Machine de Turing. Nous supposons donc qu un algorithme est écrit dans le langage des machines de Turing et nous en déduirons une définition précise de la complexité 2.2 Le codage des données Nous avons supposé plus haut qu un algorithme opérait sur des objets appartenant à une certaine classe C codés par des chaînes de caractères, ou, c est équivalent des entiers. Donnons quelques exemples de codage des données d un problème sous cette forme. Codage d un entier n Il peut être un-aire (une suite de n bâtons), binaire, décimal... Utiliser un codage un-aire signifie en pratique que l on rapporte la complexité d un algorithme sur les entiers à la valeur de l entier. Le codage en base k 2 implique entre l entier n et la longueur n de sa représentation une relation n k n. Donc le simple balayage des entiers inférieurs à n définit un nombre exponentiel d opérations par rapport à la longueur n des données. Codage d un graphe (G, A) On peut représenter un graphe à n noeuds par sa matrice booléenne, soit n 2 bits au plus. Codage d un ensemble de clauses 3 On peut représenter un ensemble de n clauses (P 1 P 2... P k ) à p arguments par une 3 Voir annexe 1 ci-dessous

5 Graphes et Optimisation discrète 5 matrice(n, p) à coefficients dans (1, 1, 0) pour représenter la présence d un symbole de proposition, l absence ou la présence de sa négation Nous verrons d autres exemples en exercice. 2.3 Les machines de Turing Le lecteur trouvera sur le WEB de nombreux sites décrivant les machines de Turing, cf. wikipedia. 2.4 Définition précise de la complexité Définition 2 La complexité d un algorithme est le nombre d opérations effectuées par la machine de Turing associée à cet algorithme qui est supposée s arrêter toujours. Remarquer que sur une machine de Turing le simple accès un objet rangé en mémoire (quelque part sur le ruban) est une opération polynômiale. C est une grande différence avec les ordinateurs actuels pour lesquels une copie d un élément n de la mémoire dans un registre correspond au pire à un nombre d opérations de l ordre de n. 3 Les problèmes combinatoires P et NP 3.1 Exemples de complexité Les opérations élémentaires sur les entiers (additions, multiplications...). Si les entiers sont représentés en binaire ce sont des opérations dont la complexité est linéaire par rapport à n. Entiers premiers entre eux. L algorithme d Euclide appliqué à deux nombres n et m < n réduit à chaque étape par une division euclidienne le plus grand des deux entiers d un facteur au moins 2. Il se termine donc en au plus log 2 n n opérations algébriques. Ce qui fait de l ordre de n 3 opérations élémentaires. Test de primalité (PRIM). D après un résultat récent 4 la complexité est inférieure à C n 12. SAT L algorithme qui teste toutes les valeurs possibles des symboles de propositions (soit 2 n ) est exponentiel par rapport aux nombres de symboles, et donc par rapport à la longueur des données. CLIQUE Etant donné un graphe n noeuds existe-t-il une clique (i.e. un sous graphe complet) à k noeuds? L énumération de tous les sous-graphes à k noeuds exige C k n tests sur ces sous-graphes. Il existe donc une constante c telle que le nombre d opérations pour cet algorithme est inférieur à cn k. 4 PRIMES is in P, Manindra Agrawal, Neeraj Kayal and Nitin Saxena

6 Graphes et Optimisation discrète Définitions Définition 3 La complexité d un algorithme est polynômial (On dit de classe P) si il existe une constante C et un entier k tels que le nombre d opérations effectuées par la machine de Turing associée à cet algorithme pour une données n est inférieur à C n k. La primalité relative de deux entiers, la connexité d un graphe sont des algorithmes polynômiaux. On sait depuis peu (2002, voir note 4) que PRIM est dans P, c est un résultat non trivial. Voir en exercices que 2 SAT est polynômial. Pour CLIQUE si l on suppose que k est fixe et ne fait pas partie des données il est polynômial, mais on considère que k fait partie des données, l algorithme d énumération n est pas polynômial. Définition 4 La complexité d un algorithme est exponentielle (On dit de classe EXP) si, il existe une constante C et un entier k tels que le nombre d opérations effectuées par la machine de Turing associée à cet algorithme pour une données n est inférieur à C2 n. On a donc P EXP. Ainsi SAT résolu par énumération des valeurs des symboles de proposition est exponentiel. Il en est de même de CLIQUE, k-col, HAM, TSP par les algorithmes d énumération des solutions possibles. On ignore s ils sont dans P. La primalité par le test des divisions par tous les entiers inférieurs est exponentielle. Définition 5 Nous dirons qu un problème de reconnaissance est de classe P, EXP si il existe un algorithme de cette classe pour le résoudre. Pour la plupart des problèmes que nous avons définis il existe un algorithme simple pour tester si une donnée est une solution, mais il n est pas simple de trouver une solution. Nous allons donner une définition abstraite de ces problèmes : Définition 6 Le problème de reconnaissance défini par une fonction f(n) est de classe NP ( nondeterministic polynômial ) si il existe une constante C, un entier k, et une fonction g(m) calculable par un algorithme polynômial telle que à toute donnée n on puisse associer une donnée (le témoin ) m = φ(n) en entrée de g telle que m C n k et que g(m) = 1 si et seulement si f(n) = 1 Il y a beaucoup de variantes dans l écriture de cette définition, mais la classe NP ne change pas! Notons que la définition n exige pas que l on sache construire le témoin φ(n), mais seulement qu il existe : pour un problème NP on ne sait pas facilement trouver une solution, mais vérifier facilement qu une donnée est une solution. La totalité des problèmes de reconnaissance définis plus haut sont de classe NP. Un des rares algorithmes pour lequel ce résultat n est pas trivial ( test de primalité) s est révélé être de classe P! 3.3 Exemples de problèmes NP Pour k-col, la fonction est f(n) est la fonction qui vaut 1 si le graphe, codé par n, est coloriable en k couleurs et 0 sinon. Un coloriage d un graphe est la donnée du couple m = (n, p) ou n est le codage du graphe et p le codage d un coloriage des noeuds. On prend m = φ(n) =

7 Graphes et Optimisation discrète 7 (n, p). La fonction g(m) est une fonction qui teste si deux noeuds adjacents ont la même couleur. Tester la propriété revient à balayer toutes les arêtes, c est à dire la matrice du graphe, c est donc un algorithme linéaire par rapport à m = n + p car n est à peu près égal au nombre d arêtes du graphe. Pour CLIQUE, n est le code du graphe (et contient l entier k), f(n) la fonction qui vaut 1 si le graphe admet une clique d ordre k, 0 sinon. Une clique est la donnée du couple m = (n, p) ou N est le codage du graphe et p un sous-ensemble de noeuds. On prend donc m = φ(n) = (n, p). La fonction g(m) avec m = (n, p) est une fonction qui teste si un sous graphe de n associé aux noeuds p est complet. Tester la propriété revient à balayer toutes les arêtes du sous-graphe associé à p, c est donc un algorithme linéaire. Pour SAT, étant donné un ensemble de clauses codé par n, f(n) est la fonction qui vaut 1 si cet ensemble est satisfiable 0 sinon. Une valuation de cet ensemble est un couple m = (n, p) où n est le code de l ensemble des clauses et p le code d un ensemble de valeurs (VRAI ou FAUX) attribuées aux symboles P i. La complexité des données p et N sont (à peu près) le nombre de symboles P i et le nombre de symboles dans les clauses ( m = n + p ). On prend donc m = φ(n) = (n, p). La fonction g(m) est la fonction qui calcule la valeur des clauses avec pour données les clauses (codées par n) et un ensemble de valeurs des symboles (codées par p). Le calcul, par les règles usuelles du calcul booléen, comporte un nombre d opérations de l ordre de somme des longueurs des clauses, c est donc un algorithme linéaire vis à vis des données de g. 3.4 Robustesse de ces définitions Toutes les opérations algébriques (addition, multiplication...) sont polynômiales. De même les tests, les recopies d éléments en mémoire, ce qui fait que la classe P ne dépend pas du type d ordinateur ou du langage utilisé. Le parallélisme ne fait que modifier la constante C, l utilisation de machines de Turing très peu sophistiquées change la valeur de k seulement. Ces classes P, EXP, NP sont indépendantes des types d ordinateur utilisé, dès lors que l algorithme est décomposé en opérations sur des bits. 3.5 Problèmes NP : variantes de la définition Soit un problème NP. Par définition il existe une fonction g(m) opérant sur des objets m à définir, telle que f(n) = 1 si et seulement si il existe m tel que g(m) = 1. Choisissons pour m un couple (n, p) où p est le code d une suite d entier (p 1,..., p k ). Si bien que le problème associé à la fonction g a pour données k entiers supplémentaires. Ces entiers peuvent, par exemple, définir des GO TO p i, on peut donc considérer que ces entiers servent à définir l ordre de déroulement des instructions du programme. Le programme de la fonction g(m) est de complexité polynômial et il a pour donnée les objets initiaux mais son déroulement n est déterminé que par la donnée supplémentaire des entiers p 1,..., p k. On peut donc le considérer, par abus de langage, comme un programme non déterministe qui avec des données supplémentaires devient déterministe et polynômial. Autrement dit on peut considérer qu un problème est NP si il existe un algorithme non déterministe 5 polynômial qui lui 5 i.e. il attend qu on lui donne certains entiers pour s exécuter

8 Graphes et Optimisation discrète 8 est équivalent. Pour rendre la définition encore plus imagée on considère souvent qu un oracle donne les valeurs des entiers p 1,..., p k, que l on peut considérer comme la réponse à une question. 3.6 Représentation d un problème par un autre Définitions Définition 7 Un problème de reconnaissance P 1 (données n, fonction f(n)) est polynômialement représentable dans le problème P 2 (données m, fonction g(m)) si, il existe une constante C, un entier k, et une fonction φ(m) telle que à toutes données n de P 1 on puisse associer une donnée m = φ(n) en entrée de P 2 telle que m C n k et que g(m) = 1 si et seulement si f(n) = 1 On note On n exige pas de construire φ(n). P 1 P P2 La relation P 1 P P2 est transitive. Si on a un algorithme polynômial pour P 2 on a un algorithme polynômial pour P Exemples Représentation de SAT dans CLIQUE voir l annexe 3 ci-dessous. Représentation de k COL dans SAT voir les exercices. Représentation de SAT dans 3 SAT Voir les exercices. Représentation de 3 SAT dans 3 SAT sym 3-SATsym est le problème consistant à décider la proposition Π : il existe un ensemble de valeurs de vérité P j = V RAI ou P j = F AUX tel que dans toutes les clauses il y ait (au moins) un élément vrai et (au moins) un élément faux. Voir l annexe 4 pour la démonstration. 4 Problèmes NP-Complet 4.1 Le théorème de Cook Théorème 1 Tous les problèmes de classe NP sont polynômialement représentables dans SAT. Notons qu il est souvent facile de démontrer qu un problème est polynômialement représentable dans SAT sans passer par le théorème de Cook (voir en exercice le cas de 3-SAT). Nous ne démontrons pas ce théorème. Sa démonstration repose sur une description du déroulement du programme d une machine de Turing à l aide de propositions 6 et de clauses de façon à ce que la donnée de l ensemble des états du ruban soit équivalente à la donnée d un ensemble de valeurs satisfaisant ces clauses. 6 Ex. : La valeur de la case i est 0, Écrire 1, Déplacer la tête de lecture à gauche...

9 Graphes et Optimisation discrète Les problèmes NP-Complet Définition 8 Un problème de reconnaissance est NP-complet si tout problème de classe NP est polynômialement représentable dans ce problème. Définition 9 Un problème d optimisation (ou de calcul d une fonction) est NP-difficile si le problème de reconnaissance qui lui est associé est NP-complet. Comme tout problème NP est représentable dans SAT, il suffit de montrer que SAT est représentable dans un problème NP pour montrer que ce problème est NP-complet. En pratique on procède souvent par complexité croissante 4.3 Exemples de problèmes NP-complets SAT P 3 SAT P 3 SAT sym P 3 COL SAT P CLIQUE P HAM P T SP SAT d après le théorème de Cook. CLIQUE parce que SAT est représentable dans CLIQUE (sera fait en cours). 3-SAT (voir exercices). 3-SATsym : voir l annexe 4. 3-COL (voir exercices). HAM (admis) TSP (admis) La programmmation linéaire en nombre entiers. Un très grand nombre de problèmes, parfois très particuliers ou très sophistiqués et d une grande utilité pratique (ordonnancement, logistique, transport) sont NP-complets. Si l on connaissait un algorithme polynômial pour l un d entre eux, on en aurait un pour tous. Pour certains de ces problèmes (CLIQUE) il semble naturel qu il n y ait pas de méthode plus efficace que l énumération, d où le l intuition que ces problèmes devraient être dans EXP mais pas dans P. En pratique la notion de problème N P Complet correspond à des problèmes qui sont effectivement difficiles ; on ne connaît pas d algorithmes efficaces pour traiter ces problèmes dans des situations tout à fait usuelles. Un tel algorithme pour, par exemple SAT, étendrait considérablement les applications de l intelligence artificielle. 4.4 La conjecture P NP La situation étrange aujourd hui est que on ne sait pas démontrer que les problèmes NP complet ne sont pas polynômiaux, c est la conjecture P NP

10 Graphes et Optimisation discrète 10 5 Annexes 5.1 Annexe 1 : une présentation simplifiée du calcul propositionnel, point de vue sémantique Nous résumons quelques définitions et propriétés classiques du calcul des propositions. Une variable (notée P,P i, Q...) du calcul propositionnel, appelée aussi symbole de proposition peut prendre deux valeurs (dites de vérité) : VRAI (ou 1) et FAUX (ou 0). Une formule du calcul propositionel est construite à partir des symboles de proposition à l aide des opérateurs ( connecteurs ) négation ( ), disjonction ( ), conjonction ( ), exemple : ((P 1 P 2 ) (P 1 P 3 )). La valeur d une formule pour des valeurs données des variables se calcule selon les règles bien connues : en notant x, y les valeurs ( 0 ou 1) des variables, on a v( x) = 1 x, v(x y) = xy et v(x y) = x + y xy). L implication ( ) et l équivalence ( ) sont des symboles dérivés : P Q signifie P Q, P Q signifie P Q et Q P. Une clause est une formule disjonctive :(P 1 P 2... P k ). Règle de De Morgan : (P Q) P Q Distributivité : (P Q) P Q (P Q) R (P R) (Q R) (P Q) R (P R) (Q R) Forme normale : En utilisant les règles ci-dessus on montre que toute formule peut être mise sous une forme normale conjonctive (P 1 P 2... P k )... ( P i P j... P n ) ou disjonctive (P 1 P 2... P k )... ( P i P j... P n ). Un ensemble de formules est satisfiable si on peut donner des valeurs de vérité aux variables qui rendent vraies toutes les formules de l ensemble. Noter que si une formule s écrit C 1 C 2 elle est satisfiable si et seulement si C 1 et C 2 le sont ; en mettant les formules sous forme normale conjonctive on peut donc toujours considérer que l ensemble des formules à satisfaire est composé de clauses. Une formule est une tautologie si elle est vraie pour toutes les valeurs possibles de ses variables, c est à dire aussi si sa négation n est pas satisfiable. Une démonstration de la formule C à partir des formules (hypothèses ou axiomes) C i, i = 1,..., p équivaut à montrer que la formule (C 1... C p ) C est une tautologie. Ce qui revient aussi à démontrer que l ensemble des formules (C 1,..., C p, C) n est pas satisfiable, d où l importance du problème de la satisfiabilité. 5.2 Annexe 2 : L algorithme de multiplication matricielle de Strassen Un exemple classique de réduction de la complexité par partition, présenté sous forme d exercice. Combien de multiplications et additions sont nécessaires pour effectuer la multiplication de deux matrices par la formule classique?

11 Graphes et Optimisation discrète 11 Corr. n 3. Vérifier que la multiplication C = AB de deux matrices de dimension 2n partitionnées en 4 blocs (n, n) peut s écrire m 1 = (A 12 A 22 )(B 21 + B 22 ) m 2 = (A 11 + A 22 )(B 11 + B 22 ) m 3 = (A 11 A 21 )(B 11 + B 12 ) m 4 = (A 11 + A 12 )B 22 m 5 = A 11 (B 12 B 22 ) m 6 = A 22 (B 21 B 11 ) m 7 = (A 21 + A 22 )B 11 puis : C 11 = m 1 + m 2 m 4 + m 6 C 12 = m 4 + m 5 C 21 = m 6 + m 7 C 22 = m 2 m 3 + m 5 m 7 Noter qu il y a 7 multiplications et 18 additions de blocs. Supposons que les matrices soient de dimension n = 2 p (sinon on complète les matrices par des zéros jusqu à obtenir n = 2 p ). On effectue récursivement la multiplication des blocs, montrer que le nombre d opérations (additions et multiplications) T (n) nécessaires pour calculer le produit est solution de la récurrence T (n) = 7T ( n 2 ) + 18(n 2 )2, T (1) = 1 Corr. Comptez... Soit ɛ > 0. Montrer qu il existe une constante C > 0 telle que n log 2 7 T (n) Cn log 2 (7+ɛ) Le calcul exact montre que T (n) < n 3 pour n Corr. On a T (n) 7T ( n 2 ) et donc T (n) n log 2 7. Soit ɛ > 0, comme log 2 7 > 2 il existe p 0 tel que si n > 2 p 0 on a 18( n 2 )2 ɛ( n 2 )log 2 7 ɛt ( n 2 ) et donc T (n) (7 + ɛ)t ( n 2 ) d où T (2 p ) (7 + ɛ) p p0 T (2 p0 ) et donc T (n) C(7 + ɛ) p avec C = (7 + ɛ) p 0 T (2 p 0 ), d où T (n) C(7 + ɛ) log 2n = Cn log 2 (7+ɛ)

12 Graphes et Optimisation discrète Annexe 3 : CLIQUE est NP-complet Nous avons vu que CLIQUE est NP (ce qui implique que CLIQUE est représentable dans SAT), il nous reste donc à montrer que SAT est représentable dans CLIQUE ; SAT étant NP-complet d après le théorème de Cook, nous aurons donc montré que CLIQUE est NP-complet. Soit un ensemble de n clauses avec p symboles de proposition. Nous pouvons associer un graphe G à SAT de la manière suivante : Pour chaque clause (P 1 P 2... P k ) on crée k noeuds auxquels nous donnerons le nom de la proposition associée (i.e. P i ou P i ). On crée une arête entre deux noeuds si : i) les deux noeuds ne sont pas associés à des propositions qui sont la négation l une de l autre (i.e. P i et P i ) et ii) les deux noeuds n appartiennent pas à la même clause. Montrons qu il existe une clique à n noeuds dans G si et seulement si les clauses sont simultanément satisfiables : Si il existe une clique (i.e. un sous-graphe complet) à n noeuds dans ce graphe, donnons la valeur VRAI à toutes les propositions associées (i.e. si c est P i on choisit P i VRAI si c est P i on choisit P i FAUX). Ce choix n est pas contradictoire car deux noeuds de cette clique ne sont pas associés à une proposition P i et sa négation P i d après i) ; d autre part deux noeuds ne peuvent appartenir à la même clause d après ii) et il y a n noeuds dans la clique donc un noeud par clause et donc une proposition vraie par clause qui sont donc toutes satisfiables. Réciproquement, si les n clauses sont satisfiables, on peut choisir une proposition vraie par clause ; les n propositions ainsi définies forment une clique de G : en effet deux propositions quelconques ne peuvent être négation l une de l autre (car simultanément vraies) et n appartiennent pas à la même clause, elles sont donc reliées par une arête dans le graphe G. Les propositions qui ne sont pas dans la clique peuvent prendre des valeurs arbitraires. FIG. 1 Graphe complémentaire de G Prenons comme exemple les 4 clauses suivantes : P 1 P 2 P 3 P 4

13 Graphes et Optimisation discrète 13 P 1 P 2 P 3 P 1 P 2 P 3 P 2 P 3 P 4 Par souci de simplicité nous avons tracé 7 ci-dessus, non pas G, mais le graphe G complémentaire de G (i.e. une arête est dans G si et seulement si elle n est pas dans G) ; une clique de G est un ensemble indépendant dans G, i.e. un ensemble de noeuds non reliés par des arêtes. Les noeuds en blanc définissent une clique de G. En donnant la valeur VRAI à P 1, P 2, P 3, P 4 on satisfait toutes les clauses. 5.4 Annexe 4 : représentation de 3-SAT dans 3-SATSym 3-SATsym est le problème consistant à décider la proposition Π : il existe un ensemble de valeurs de vérité P j = V RAI ou P j = F AUX tel que dans toutes les clauses il y ait (au moins) un élément vrai et (au moins) un élément faux. Proposition 1 3-SATSym est polynômialement représentable dans 3-SAT et réciproquement. Noter d abord que pour vérifier que un ensemble de clauses a la propriété Π il suffit d ajouter à cet ensemble toutes les clauses obtenues en remplaçant chaque symbole de proposition par sa négation et de vérifier que cet ensemble est satisfiable ; ce qui montre que 3-SATSym est linéairement représentable dans 3-SAT. Montrons que 3-SAT est représentable dans 3-SATSym. On considère un ensemble de n clauses de la forme L 1 i L2 i L3 i où la notation Lj i désigne un symbole P k ou P k. L ensemble des clauses L 1 L 2 L 3 est satisfiable si et seulement si les 4n clauses L 1 i L2 i Q i L 1 i Q i R L 2 i Q i R L 3 i Q i R ont la propriété Π. Pour le montrer on notera que L 1 i L2 i L3 i est équivalent à L1 i L2 i Q i et Q i L 3 i et donc, en utilisant la définition de l équivalence (A B ssi A B et B A) et les règles du calcul des propositions, à L 1 i L2 i Q i L 1 i Q i L 2 i Q (2) i L 3 i Q i Si les clauses L 1 i L2 i L3 i sont satisfiables on vérifie facilement que les 4 clauses (1) ont la propriété Π en donnant à Q i la valeur de L 1 i L2 i et à R la valeur FAUX. (1) 7 Il faut ajouter des arêtes entre tous les noeuds d une même clause.

14 Graphes et Optimisation discrète 14 Réciproquement si ces 4n clauses (1) ont la propriété Π on peut supposer que R a la valeur FAUX : en effet si les 4n clauses ont la propriété Π, cela signifie qu il existe un ensemble de valeurs de vérité pour les symboles P k, Q i et R tel que une proposition soit VRAI et une FAUX dans chaque clause ; Si dans cet ensemble R est VRAI, on prend les valeurs complémentaires (i.e. on remplace VRAI per FAUX et vice-versa) ces nouvelles valeurs vérifient la propriété Π et R est FAUX. Si R est FAUX les 4n clauses 1 sont satisfiables ce qui implique que l ensemble 2 est satisfiable ; or ces clauses sont elles même sont équivalentes à l ensemble L 1 i L 2 i L 3 i

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

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

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

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

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

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes

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

Eléments de Théorie des Graphes et Programmation Linéaire

Eléments de Théorie des Graphes et Programmation Linéaire INSTITUT NATIONAL POLYTECHNIQUE DE LORRAINE Ecole Nationale Supérieure d Electricité et de Mécanique Eléments de Théorie des Graphes et Programmation Linéaire Didier Maquin Professeur à l INPL Version

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

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

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

Logique. Plan du chapitre

Logique. Plan du chapitre Logique Ce chapitre est assez abstrait en première lecture, mais est (avec le chapitre suivant «Ensembles») probablement le plus important de l année car il est à la base de tous les raisonnements usuels

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

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

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

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

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

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

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

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

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

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

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

FONDEMENTS DES MATHÉMATIQUES

FONDEMENTS DES MATHÉMATIQUES FONDEMENTS DES MATHÉMATIQUES AYBERK ZEYTİN 1. DIVISIBILITÉ Comment on peut écrire un entier naturel comme un produit des petits entiers? Cette question a une infinitude d interconnexions entre les nombres

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

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

Optimisation des fonctions de plusieurs variables

Optimisation des fonctions de plusieurs variables Optimisation des fonctions de plusieurs variables Hervé Hocquard Université de Bordeaux, France 8 avril 2013 Extrema locaux et globaux Définition On étudie le comportement d une fonction de plusieurs variables

Plus en détail

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

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

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

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

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

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

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

BACCALAUREAT GENERAL MATHÉMATIQUES

BACCALAUREAT GENERAL MATHÉMATIQUES BACCALAUREAT GENERAL FEVRIER 2014 MATHÉMATIQUES SERIE : ES Durée de l épreuve : 3 heures Coefficient : 5 (ES), 4 (L) 7(spe ES) Les calculatrices électroniques de poche sont autorisées, conformement à la

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 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

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

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

Fonctions homographiques

Fonctions homographiques Seconde-Fonctions homographiques-cours Mai 0 Fonctions homographiques Introduction Voir le TP Géogébra. La fonction inverse. Définition Considérons la fonction f définie par f() =. Alors :. f est définie

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

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient par un nombre entier I La division euclidienne : le quotient est entier Faire l activité division. Exemple Sur une étagère de 4mm de large, combien peut on ranger de livres de mm d épaisseur? La question

Plus en détail

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer Pour commencer Exercice 1 - Ensembles de définition - Première année - 1. Le logarithme est défini si x + y > 0. On trouve donc le demi-plan supérieur délimité par la droite d équation x + y = 0.. 1 xy

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H

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

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

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

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

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

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin. Exo7 Matrice d une application linéaire Corrections d Arnaud odin. Exercice Soit R muni de la base canonique = ( i, j). Soit f : R R la projection sur l axe des abscisses R i parallèlement à R( i + j).

Plus en détail

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

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

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

Suites numériques 3. 1 Convergence et limite d une suite

Suites numériques 3. 1 Convergence et limite d une suite Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n

Plus en détail

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

Cours d arithmétique Première partie

Cours d arithmétique Première partie Cours d arithmétique Première partie Pierre Bornsztein Xavier Caruso Pierre Nolin Mehdi Tibouchi Décembre 2004 Ce document est la première partie d un cours d arithmétique écrit pour les élèves préparant

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Continuité en un point

Continuité en un point DOCUMENT 4 Continuité en un point En général, D f désigne l ensemble de définition de la fonction f et on supposera toujours que cet ensemble est inclus dans R. Toutes les fonctions considérées sont à

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

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

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

Cours Fonctions de deux variables

Cours Fonctions de deux variables Cours Fonctions de deux variables par Pierre Veuillez 1 Support théorique 1.1 Représentation Plan et espace : Grâce à un repère cartésien ( ) O, i, j du plan, les couples (x, y) de R 2 peuvent être représenté

Plus en détail

Intégration et probabilités TD1 Espaces mesurés Corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.

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

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

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

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

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie Rappels et compléments, première partie : Nombres complexes et applications à la géométrie 1 Définition des nombres complexes On définit sur les couples de réels une loi d addition comme suit : (x; y)

Plus en détail

Master IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP

Master IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP Master IMA - UMPC Paris 6 RDMM - Année 2009-200 Fiche de TP Préliminaires. Récupérez l archive du logiciel de TP à partir du lien suivant : http://www.ensta.fr/~manzaner/cours/ima/tp2009.tar 2. Développez

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Pourquoi un autre catalogue en Suisse romande Historique En 1990, la CRUS (Conférences des

Plus en détail

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE Le schéma synoptique ci-dessous décrit les différentes étapes du traitement numérique

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours Exo7 Continuité (étude globale). Diverses fonctions Exercices de Jean-Louis Rouget. Retrouver aussi cette fiche sur www.maths-france.fr * très facile ** facile *** difficulté moyenne **** difficile *****

Plus en détail

III- Raisonnement par récurrence

III- Raisonnement par récurrence III- Raisonnement par récurrence Les raisonnements en mathématiques se font en général par une suite de déductions, du style : si alors, ou mieux encore si c est possible, par une suite d équivalences,

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

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

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail