Optimisation discrète, séance 5 : Cours THÉORIE de la COMPLEXITÉ
|
|
- Pauline Bois
- il y a 7 ans
- Total affichages :
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. 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étailObjectifs 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étailExemples 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étailProgrammation 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étailUEO11 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étailNombres 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étailThé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étailExercices - 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étailElé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étailDé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étailRepré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étailIntroduction à 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étailLogique. 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étailCryptographie 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étailConversion 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étail1/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étailSouad 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étailIntroduction à 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étailEteindre. 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étailArithmé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étailRepré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étailCours 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étailLa 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étailCours 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étailChapitre 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étailLogiciel 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étailBaccalauré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étailFONDEMENTS 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étailPour 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étailResolution 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étailOptimisation 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étailBaccalauré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étailArchitecture 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étailCalcul 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étailDé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étailI- 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étailFonctions 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étailCours 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étailCorrigé 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étailBACCALAUREAT 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étailMIS 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étailCours 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étailCours 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étailProbabilité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étailRappels 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étailFonctions 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étailMachines 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étailCours 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étailRecherche 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étailLa 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étailImage 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étailExercices - 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étailV- 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étailBaccalauré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étailComparaison 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étailGrandes 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étailThé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étailChapitre 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étailInformatique 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étailCalculabilité 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étailObjets 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étailQuelques 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étailLES 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étailChapitre 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étailExo7. 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étailCRYPTOGRAPHIE. 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étailDe 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étailCours 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 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étailSuites 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étailCommunications 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étailCours 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étailUniversité 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étailContinuité 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étailAlgè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étailLimites 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étailChapitre 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étailCours 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étailInté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étailRé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étailThé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étailCOURS 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étailchapitre 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étailExercices 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étailBaccalauré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étailLicence 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étailInfo0101 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étailRappels 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étailMaster 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étailCompilation (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étailAlgorithme. 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étailCatalogue 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étailINTRODUCTION 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étailManuel 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étailALGORITHMIQUE 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
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étailIII- 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étailt 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étailContinuité 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étailCours 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