Cours de complexité Université Joseph Fourier Master 1 Informatique
|
|
- Ernest Clément
- il y a 8 ans
- Total affichages :
Transcription
1 Cours de complexité Université Joseph Fourier Master 1 Informatique Enseignants responsables : Marie-Christine Rousset, Christian Boitet Prise de notes : Claude Vial 4 février 2013
2 Table des matières 1 Motivations 3 2 Modèle simple des MT (Machines de Turing) à quadruplets Illustration Exemple Configuration initiale Représentation d une bande vide Expression de bande Définition plus formelle d un calcul de MT Calcul d une MT Configuration terminale Calcul Résultat d un calcul Complexité d un calcul d une MT et complexité d une MT Fonctions N k N calculées par MT Codage des entiers Codage d une suite d entiers MT qui calcule λxy[x + y] Fonctions calculées par une MT Exemple Fonctions Turing-calculables (T-calculables) Robustesse du modèle de MT Objectifs MT à quintuplets MT à demi-bande MT à plusieurs bandes Notation (k bandes) Exemple (2 bandes) Théorème Complexité : ordres de grandeur Rappel Exemple Fonctions de références Définition Exemple Définition Définition Cas particuliers Tableau comparatif Réduction polynomiale entre modèles de calcul (RAM, Pseudo-Pascal, MT) Machine RAM Complexité d un programme RAM Théorème Démonstration Modèle pseudo-pascal
3 TABLE DES MATIÈRES Définition Résultat central Classification des problèmes Classe P Définition Réduction polynomiale entre problèmes Problème de décision Définition Théorème Définition Machine de Turing Non Déterministe Classe NP Définition Problèmes NP-complet Définition Théorème de Cook Exemples de problèmes NP-complets
4 Chapitre 1 Motivations Les buts du cours de complexité sont les suivants : appréhender la notion de complexité intrinsèque d un calcul informatique, indépendamment d un langage ou de la machine sur laquelle s exécute l algorithme. appréhender la notion de complexité intrinsèque d un problème à résoudre ou d une fonction à calculer. Dans la suite, nous ne nous intéresserons qu aux problèmes décidables, c est-à-dire aux problèmes de décision, pour lesquels il existe un algorithme, qui se termine en un nombre fini d étapes, pour toute entrée, et qui est capable de répondre par oui ou par non à la question du problème posé. On classe les problèmes décidables en deux catégories : les problèmes «traitables»(tractable). Il s agit des problèmes pouvant être traités par un algorithme de complexité «raisonnable». Il s agit des problèmes de la classe P (polynomiaux). les problèmes «intraitables» (on dit souvent aussi «non traitables». Il s agit des problèmes de la classe N P (polynomiaux en utilsant une formulation non déterministe). Être capable de classer les problèmes en tant que problèmes traitables ou intraitables permet de déterminer à l avance la difficulté ou l impossibilité d écrire un algorithme. Afin de classer un problème dans une de ces catégories, nous introduirons des outils tels que la réduction polynomiale d un problème à un autre.
5 Chapitre 2 Modèle simple des MT (Machines de Turing) à quadruplets 2.1 Illustration Une Machine de Turing Z est constituée d un automate, d une bande infinie mais toujours presque partout blanche, et d une tête (ou curseur) de lecture-écriture pointant vers une cellule de la bande. Comme pour les automates d états finis et les automates à pile, cet automate, aussi appelé programme de la MT, est formé d un ensemble fini de nœuds portent des états et d arcs portant des transitions. Dans le modèle le plus simple, une transition entre 2 états q i et q l exprime une action du type : si le curseur pointe sur une cellule contenant le symbole S j, écrire à sa place le symbole S k, ou bien déplacer le curseur d une cellule à gauche ou à droite. On peut décrire un tel automate par un ensemble de quadruplets de forme [q i S j S k q l ] ou[q i S j Lq l ] ou[q i S j Rq l ]. Pour que le modèle soit universel, on convient que les symboles et les états sont pris dans deux ensembles disjoints infinis dénombrables : A(Z) S = {S 0, S 1, S 2,..., S n...} et E(Z) Q = {q 0, q 1, q 2,..., q m...}. On convient aussi de pouvoir utiliser à volonté des alias simples pour les caractères et les états. En particulier, on utilise B (le blanc) pour S 0 et (le bâton) pour S 1. IMPORTANT : le modèle simple est déterministe, ce qui se traduit par le fait qu il n y pas 2 transitions différentes partant d un état q i pour le même symbole S j (consistance). Une configuration d une Machine de Turing Z est formée de 3 éléments : un état, pris parmi l ensemble fini E(Z) des états de Z, bande infinie mais toujours presque partout blanche sur laquelle sont inscrits des caractères de son alphabet fini A(Z), et de la position du curseur. Une description instantanée dune MT est une chaîne finie représentant une configuration. On note l état courant et le symbole de la cellule sous le curseur, et on ne note pas les suites infinies de blancs à gauche et à droite. Il y a donc une description instantanée minimale, et une infinité d autres équivalentes, comme le montre l exemple suivant Exemple La configuration de cet exemple a la description minimale q 0 B, et d autres non minimales comme BBB q 0 B B, BBBBBBB q 0 B, B q 0 B BBBBBBB, etc. Un cas particulier est celui où la bande est totalement blanche. Si q i est l état courant, on peut alors écrire la configuration q i B ou q i ou q i ε Configuration initiale Une exécution (ou calcul) d une MT est une suite de configurations, à partir d une configuration initiale, obtenue en utilisant à chaque pas une transition (un quadruplet). À cause du caractère déterministe, un calcul
6 CHAPITRE 2. MODÈLE SIMPLE DES MT (MACHINES DE TURING) À QUADRUPLETS 6 de MT est unique. Il s arrête si et quand il atteint une configuration terminale, c est à dire une configuration γq i S j δ telle qu il n y ait aucun quadruplet commençant par q i S j. On convient que q 0 est toujours l état initial. Par contre, on a différents choix pour coder l entrée d une MT, selon qu on désire qu elle calcule sur des (listes de) nombres ou des (listes de) chaînes, pour réaliser une fonction arithmétique, ou bien résoudre un problème d analyse, de génération ou de transduction de chaînes. On convient toujours que, dans une configuration initiale, le curseur pointe vers le symbole le plus à gauche du codage de l entrée sur la bande. Dans notre exemple, la configuration est q 0 B que l on peut également écrire q 0 2 B afin de gagner en lisibilité et en espace. Ce n est pas une configuration initiale, car le curseur est sur le 2ème caractère du codage de l entrée Représentation d une bande vide Nous aurons parfois besoin dans le futur, notamment pour faire tourner une MT sur plusieurs configurations de départ différentes, de représenter une bande, ou partie de bande, vide. Par exemple, pour représenter une chaîne vide, nous écrirons q 1 ε, ou q 1, ou q 1 B si l on veut toujours mettre un vrai symbole après l état Expression de bande L expression de bande est la représentation de la partie codante, indépendamment du curseur et de l état. Dans notre exemple, l expression de bande est : 3 B S. 2.2 Définition plus formelle d un calcul de MT Une MT Z est définie sur un couple (A(Z), E(Z)), où A(Z) est un ensemble fini de symboles (contenant obligatoirement le symbole S 0 signifiant le vide, noté par la suite B pour blanc) et où E(Z) est un ensemble fini d états. Le programme de Z est décrit par un ensemble fini de quadruplets de la forme : qss q qslq qsrq Où q, q E(Z) et s, s A(Z). L représente le déplacement à gauche, et R le déplacement à droite. Cet ensemble de quadruplets est tel que deux quadruplets différents ne commencent pas par le même début qs, ce qui permet la propriété de consistance. 2.3 Calcul d une MT Le calcul d une MT correspond à une séquence finie de pas de calcul (on considère qu une MT qui ne termine pas ne calcule rien). Soit une configuration α de la forme α = γq i S j δ où γ, δ S. Un pas de calcul correspond à la transformation d une configuration α en une configuration β après exécution d un quadruplet : α = γq i S j δ Z β = γ q j S k δ Configuration terminale Une configuration terminale est une configuration γ qsδ sur laquelle aucune instruction ne s applique, donc où la MT s arrête Calcul Un calcul de longueur p d une MT Z est une suite de configurations α 0 α 1...α p telle que α i Z α i+1 pour i < p et que α p est une configuration terminale. Si la configuration initiale est également terminale, le calcul se réduit à α 0 et sa longueur est p = 0.
7 CHAPITRE 2. MODÈLE SIMPLE DES MT (MACHINES DE TURING) À QUADRUPLETS Résultat d un calcul Res Z (α 0 ) = α p 2.4 Complexité d un calcul d une MT et complexité d une MT La complexité (ou le temps) d un calcul est définie comme le nombre de pas de ce calcul, c est-à-dire au nombre de quadruplets exécutés lors du calcul (c est p dans la définition ci-dessus). La complexité (en temps) d une MT Z (supposée s arrêter sur toute entrée) est la fonction qui détermine (en ordre de grandeur) le nombre p de pas de calcul en fonction de la taille du mot d entrée. α 0 = Res Z (α 0 ) 2.5 Fonctions N k N calculées par MT Codage des entiers binaire : l entrée est codée par une chaîne sur {B, 0, 1}, donc A(Z) contient au moins {B, 0, 1}. unaire : l entrée est codée par une chaîne sur {B, 1}, donc A(Z) contient au moins {B, 1}. n ñ : (n + 1) sur la bande. n+1 (si n est l entrée de la MT) C est le codage unaire que nous utiliserons. Le résultat est interprété comme le nombre de sur la bande au moment de l arrêt (on ne se soucie pas qu il y ait des B ou d autres caractères entre les.). Exemple Soit la MT Z possédant les quadruplets suivants : Z effectue le calcul suivant : Cela correspond à la fonction : (que l on peut également noter λn[n + 2]) Codage d une suite d entiers q 0 n+1 Z q 2 n+2 f : N N n n + 2 q 0 R q 0 q 0 B q 1 q 1 L q 1 q 1 B R q 2 Le code d une suite d entiers est composé des codes des entiers séparés par des B. Par exemple, pour coder {22, 16, 57} nous ferons 23 B 17 B MT qui calcule λxy[x + y] Z : q 0 B q 0 q 0 B R q 1 q 1 B R q 2 q 1 R q 1 q 2 B q 3 q 0 x+1 B y+1 Z q 0 x BB y 2.6 Fonctions calculées par une MT Soit Z une MT. Pour tout k N, k associe à Z la fonction (partielle) d arité k des k-uplets d entiers dans les entiers (N k N) définie de la façon suivante :
8 CHAPITRE 2. MODÈLE SIMPLE DES MT (MACHINES DE TURING) À QUADRUPLETS 8 si la MT s arrête à partir de q 0 (x 1, x 2,..., x k ) et si on appelle Res Z (q 0 (x 1, x 2,..., x k )) la configuration finale : Ψ (k) Z (x 1,..., x k ) = le nombre de dans l expression de bande associée à Res Z (q 0 (x 1, x 2,..., x k )). sinon : Ψ (k) Z (x 1,..., x k ) n est pas définie. On note aussi : Ψ (k) Z (x 1,..., x k ). Une question classique est de déterminer quelle famille de fonctions calcule une MT en faisant varier k Exemple Avec la MT vue précédemment, nous avons : Ψ (2) Z = λxy[x + y] Ψ (1) Z = λx[x] Ψ (k) Z = λx 1x 2 x 3 x 4... x k [x 1 + x 2 + x x x k + 1] Fonctions Turing-calculables (T-calculables) Une fonction f : N k N (pouvant être partielle) est T-calculable s il existe une MT Z telle que : f = Ψ (k) Z
9 Chapitre 3 Robustesse du modèle de MT 3.1 Objectifs Montrer qu on ne modifie pas ce qui est calculable et ce qui ne l est pas en modifiant le modèle à quadruplets pour obtenir des variantes de MT. Étudier l impact sur la complexité de ces variantes. 3.2 MT à quintuplets Une MT à quintuplets est une variante sur le langage d instruction. qs[l N R]s q (N pour No_Move signifie qu il n y a aucun déplacement, L est mis pour Left, R pour Right.) Un quintuplet est équivalent à au plus deux quadruplets. Exemple : [ q s N s q ] [ q s s q ] [ q s L s q ] [ q s s q ], [ q s L q ] Théorème Tout calcul de Z à quintuplets de k pas de calcul peut être simulé par une MT Z à quadruplets ayant au plus 2k pas de calcul. Corollaire Les deux modèles de calcul sont équivalents en terme de calculabilité et en ordre de grandeur de complexité. 3.3 MT à demi-bande Nous imposons un début de bande, et obtenons ainsi une demi-bande infinie (infinie d un côté, finie de l autre). On admettra qu on peut toujours simuler une MT à bande infinie par une MT à demi-bande. 3.4 MT à plusieurs bandes Notation (k bandes) q(s 1,.., s k )(a 1,.., a k )q où a i (i {1,.., k}) est une instruction ou un déplacement.
10 CHAPITRE 3. ROBUSTESSE DU MODÈLE DE MT Exemple (2 bandes) Une MT à 2 bandes pour le test de palindrome sur des mots composés de 0 et de 1. S = {1, 0, N, Y, B} À l état initial, on a le mot d entré sur la partie codante de la première bande avec le curseur positionné au début du mot. 1. On recopie le mot sur la 2 nde bande. 2. On positionne la 1 ère tête de lecture au début du mot et la 2 nde à la fin du mot copié. 3. Tant que les 2 symboles lus sont identiques et différents de B, on déplace la 1 ère tête de lecture vers la droite et la 2 nde tête de lecture vers la gauche. 4. Si le symbole lu par les 2 têtes de lecture alors on écrit Y, sinon on écrit N. q 0 (1, B)(1, 1)q 0 q 0 (0, B)(0, 0)q 0 q 0 (1, 1)(R, R)q 0 q 0 (0, 0)(R, R)q 0 q 0 (B, B)(L, L)q 1 q 1 (1, 1)(L, 1)q 1 q 1 (0, 1)(L, 1)q 1 q 1 (1, 0)(L, 0)q 1 q 1 (0, 0)(L, 0)q 1 q 1 (B, 0)(R, 0)q 2 q 1 (B, 1)(R, 1)q 2 Nombre maximum de pas de calculs nécessaires pour terminer l exécution sur un mot de taille n : 1. 2n n n 4. 1 Ce qui donne 4n + 3, ce qui nous donne donc une complexité linéaire en O(n). Le test de palindrome peut-il être effectué avec une MT simple? Avec quel coût? Théorème Soit une MT Z k à k bandes. Il existe une MT Z simple simulant n pas de calcul de Z k par au plus 2n (n + 2k + 1) pas de calcul de Z. Corollaire Le modèle de MT multi-bande est équivalent pour la calculabilité au modèle de MT simple. La MT simple correspondante a une complexité en ordre de grandeur égale au carré de la complexité de la MT multi-bande.
11 Chapitre 4 Complexité : ordres de grandeur 4.1 Rappel La complexité en temps d un calcul effectué par une MT Z est une fonction λn[c z (n)] qui détermine le nombre maximum de pas de calcul effectués par la MT Z en fonction de la taille n du mot d entrée Exemple MT à 2 bandes qui teste si un mot est un palindrome : 4n + 3. ordre de grandeur : n. MT simple qui teste si un mot est un palindrome : C Z = (n+2) (n+3) 2. ordre de grandeur : n Fonctions de références Par ordre de grandeur croissant : λn[log 2 n], λn[n], λn[n k ], λn[2 n ], λn[n!], λn[n n ]. 4.2 Définition 1 Une fonction g : N N est dite en ordre de grandeur inférieur à f, soit en O(f) s il existe une constante c et un entier n 1 tels que : n n 1, g(n) c f(n) Exemple g = λ[4n + 3] est en O(n) (4n + 3 = O(n)), n 4, 4n n 4.3 Définition 2 Ordre de grandeur inférieur : O(f) = {g/ k 1 > 0, n 1 0, n n 1, g(n) k 1 f(n)} Ordre de grandeur supérieur : Ω(f) = {g/ k 2 > 0, n 2 0, n n 2, g(n) k 2 f(n)} Ordre de grandeur égal (ou exact) : Θ(f) = O(f) Ω(f) 4.4 Définition 3 Soit λn[ref(n)] une fonction de référence, on dira qu une MT Z a une complexité en ordre de grandeur égale (inférieur, ou supérieur) à λn[ref(n)] si sa fonction de complexité C Z est dans Θ(λn[ref(n)]) ( (λn[ref(n)]), Ω(λn[ref(n)])).
12 CHAPITRE 4. COMPLEXITÉ : ORDRES DE GRANDEUR Cas particuliers Complexité constante : C Z est en Θ(1). Complexité linéaire : C Z est en Θ(n). Complexité quadratique : C Z est en Θ(n 2 ). Complexité polynomiale : C Z est en Θ(n k ). Complexité exponentielle : C Z est en Θ(2 n ). 4.6 Tableau comparatif n=5 n=50 n=1000 n=10000 n=10 6 Exemple Θ(1) 10ns 10ns 10ns 10ns accès dans un tableau Θ(logn) 10ns 20ns 30ns 40ns recherche dichotomique Θ(n) 50ns 100µs parcours d une liste Θ(nlogn) 50ns 400µs tri Θ(n 2 ) 25ns 1s 28h Θ(n 3 ) 27h Θ(2 n ) 320ns 130 jours
13 Chapitre 5 Réduction polynomiale entre modèles de calcul (RAM, Pseudo-Pascal, MT) 5.1 Machine RAM Chaque case contient un entier aussi grand qu on veut. Chaque registre contient un entier (au départ 0). Le registre r 0 joue un rôle particulier et est appelé «accumulateur» Complexité d un programme RAM L ordre de grandeur du nombre maximum d instructions à exécuter sur une entrée de taille n, où la taille d un entier (ou d une séquence d entiers) est le nombre de bits (O et 1) de son codage binaire Théorème Le modèle RAM est polynomialement équivalent au modèle de machine de Turing Démonstration Le modèle MT peut être simulé par le modèle RAM Une MT à demi-bande de complexité f(n) peut être simulée par un programme RM de complexité O(f(n)). Les cases de la bandes sont numérotées à partir de 1. S = {s 0, s 1,.., s k } On construit une machine RAM sur le principe suivant : le registre n (i + 1) contient l entier j si s j est contenu dans la case n i de la bande de la MT. r 1 contient le numéro de la case pointée par la tête de lecture. Le programme RAM est une séquence de (k + 1) sous-séquences d instructions, chaque sous-séquence simulant l ensemble des instructions correspondant à un des (k + 1) symboles de la MT. Illustration q, s j, R, p N q,sj : LOAD 1 On met dans l accumulateur le numéro du symbole dans la case pointée par la tête de lecture. SUB = j JZERO N q,sj+4 JUMP N q,sj+1 LOAD 1 ADD = 1 ST ORE 1 JUMP N q,s0 On commence par copier le mot d entrée S i1..s in dans les registres de RAM. Θ(n) instructions. Pour simuler une instruction quadruplet : un nombre constant M = 7.
14 CHAPITRE 5. RÉDUCTION POLYNOMIALE ENTRE MODÈLES DE CALCUL (RAM, PSEUDO-PASCAL, MT)14 Θ(n) + Θ(f(n)) en O(f(n)) (à condition que f(n) Ω(n)) Le modèle RAM peut être simulé par le modèle MT Un programme RAM qui effectue f(n) instructions sur une entrée de taille n peut être simulé par une machine de Turing à 7 bandes de complexité en O(f(n) 3 ), à condition que les entiers soient codés en binaires. Principe de la simulation La première bande de la MT contient le codage en binaire de l entrée de la machine RAM. La seconde bande code le contenu des différents registres comme une séquence de mots b(i) 1 : b(c(i)) 2, séparés par B et terminé par *. Màj : On remplace par B b(i) : b(c(i)). On ajoute à la fin le nouveau mot B b(i) : b(c(i)). La troisième bande contient le codage binaire du compteur d instructions. La quatrième bande contient le codage en binaire du numéro du registre de travail. Les 3 dernières servent à faire les opérations arithmétiques. Pour chaque instruction RAM, on simule par un paquet d instructions à l aide d états (en nombre fini). Illustration ADD 20 (Ajoute au contenu de l accumulateur l entier que l on trouve dans le registre dont le numéro est contenu dans le registre numéro 20.) chercher sur la bande numéro 2 un mot de la forme B10100 : δb où δ est un mot, et on se positionne sur δ. copier le mot δ sur la bande numéro 4. chercher sur la bande numéro 2 un mot de la forme Bδ : γb. copier γ sur la bande numéro 6. chercher sur la bande numéro 2 un mot de la forme B0 : ub où u est un mot. copier le mot u sur la bande numéro 5. faire l addition binaire sur les trois dernières bandes. Coût de la recherche d un mot sur la bande numéro 2 : O(taille du mot d entrée de la bande n 2). le nombre de registres non nuls la taille d un motb(i) : b(c(i)) Le nombre de registre non nul est en O(f(n)). La taille d un mot b(i) : b(c(i)) est en O(f(n)) (car les entiers sont codés en binaire). Cela est fait pour n instructions, d où la complexité en O(f(n) 3 ). 5.2 Modèle pseudo-pascal Définition La complexité d un programme pseudo-pascal est l ordre de grandeur du nombre d instructions élémentaires 3 à exécuter sur une entrée de taille n. Exemple x := y+1 Correspond à (x dans dans r 1 et y dans r 2 ) : LOAD 2 ADD = 1 STORE 1 Le modèle pseudo-pascal est équivalent en terme de complexité au modèle RAM. La complexité d un programme pseudo-pascal est la même en ordre de grandeur que le programme RAM qui le compile. 1. Codage binaire de l entier i. 2. Contenu du registre r i. 3. Instruction équivalente à un nombre constant d instructions RAM.
15 CHAPITRE 5. RÉDUCTION POLYNOMIALE ENTRE MODÈLES DE CALCUL (RAM, PSEUDO-PASCAL, MT) Résultat central Les modèles de calculabilité MT, RAM et pseudo-pascal sont tous polynomialement équivalents.
16 Chapitre 6 Classification des problèmes 6.1 Classe P Définition La classe P des fonctions polynomiales ou des problèmes polynomiaux est l ensemble des fonctions/problèmes qui peuvent être calculés/décidables par un algorithme de complexité polynomiale. 6.2 Réduction polynomiale entre problèmes Problème de décision Un problème de décision est un ensemble d instances X et une question Q(x)? pour x X. Si la réponse est «oui» on dit que x est une instance positive (négative sinon) Définition Soit P 1 et P 2 deux problèmes, une réduction polynomiale de P 1 vers P 2 (P 1 p P 2 ) est une fonction de l ensemble des instances de P 1 telle que : elle est calculable en temps polynomiale. P 1 (x) est vrai si et seulement si P 2 (f(x)) est vrai Théorème Si P 1 p P 2 et si P 2 P alors P 1 P. (Si P 1 p P 2 et P 1 / P alors P 2 / P.) Si P 1 p P 2 et si P 2 p P 3 alors P 1 p P 3. Démonstration Si P 1 P : il existe un algorithme polynomiale qui décide si P (y) en temps en O(p(n)) 1 où n est la taille du codage de y. Pour résoudre P 1 (x) : calculer f(x) (où f est la réduction polynomiale qui permet P 1 p P 2 ). si P 2 (f(x)) est vrai, alors répondre oui au problème P 1. sinon, répondre non. Complexité O(p (n )) où n est la taille du codage de x et p est un polynôme. le résultat f(x) a une taille en O(p (n )). O(p(p (n ))) 1. p(n) est un polynôme.
17 CHAPITRE 6. CLASSIFICATION DES PROBLÈMES 17 O(p (n )) + O(p(p (n ))) O(p (n )) + O(p (n )) O(p (n )) Autre point : P 1 (x) P 2 (f(n)) et P 2 (y) P 3 (f (y)) P 1 (x) P 3 (f (f(n))) f f permet de passer de P 1 à P Définition Deux problèmes B 1 et B 2 sont polynomialement équivalents (B 1 p B 2 ) ssi B 1 p B 2 et B 2 p B 1. Exemple 1 Soit T S le problème du voyageur de commerce : Étant donnés un ensemble V de n villes et étant donné une matrice D de distances entre les paires de villes et un entier c. Existe-t-il un parcours fermé des n villes dont la longueur est inférieure ou égale à c? Mathématiquement, cela revient à trouver une permutation (v i1, v i2,.., v in ) telle que : ( n 1 k=1 d(v ik, v ik+1 )) + d(v in, v i1 ) c Algorithme On énumère toutes les permutations jusqu à en trouver une qui vérifie l inéquation si c est possible. Il y a n! permutations possibles, tester une inéquation a un coût en Θ(n), donc la complexité est en Θ(n n!) en Ω(2 n ). Exemple 2 Soit HC le problème du circuit hamiltonien : Étant donné un graphe G = (N, A) de k sommets (où A N N). Existe-t-il un circuit contenant chaque sommet du graphe une et une seule fois? Mathématiquement, cela revient à trouver une permutation (S i1, S i2,.., S ik ) des sommets du graphe G telle que : (S il, S il+1 ) A l [1, k 1], et (S ik, S il ) A. Algorithme On énumère toutes les permutations jusqu à en trouver une qui vérifie la propriété. Il y a k! permutations possibles, tester la propriété a un coût en Θ(k 3 ), donc la complexité est en Θ(k 3 k!). HC p T S Soit une instance quelconque de HC : G = (S, A) Soit f la transformation suivante : V = S { 1 si (v i, v j ) A f(g) = d(v i, v j ) = 2 sinon c = n Cette transformation f est de complexité polynomiale. G contient un cycle hamiltonien f(g) vérifie : ( n 1 k=1 d(v ik, v ik+1 )) + d(v in, v i1 ) c : Supposons que G contient un circuit hamiltonien. (S il..s in ) telle que l [1, n 1], (S il, S il+1 ) A et (S in, S ik ) A. d(s il, S il+1 ) = 1etd(S il, S il+1 ) = 1 ( n 1 k=1 d(v ik, v ik+1 )) + d(v in, v i1 ) n : Trivial, la démonstration est laissée en exercice au lecteur. HC p T S
18 CHAPITRE 6. CLASSIFICATION DES PROBLÈMES Machine de Turing Non Déterministe Définition Une MTND (Machine de Turing Non Déterministe) est une MT dont l ensemble des quadruplets n est pas nécessairement consistant. plusieurs exécutions/calculs possibles à partir d une configuration initiale. Une MTND résout un problème B ssi à partir d une configuration initiale q 0 x : si B(x), il existe une configuration qui s arrête avec «OUI» sur la bande. si B(x), toutes les exécutions terminent avec un résultat différent de «OUI» sur la bande. Complexité L ordre de grandeur de la fonction qui détermine le nombre maximum de pas de calcul de l exécution la plus courte permettant de résoudre B. 6.3 Classe NP Définition La classe NP est l ensemble des problèmes pour lesquels il existe une MTND pour les résoudre avec une complexité polynomiale. Question : Sont-ils décidables dans le modèle de calcul déterministe? Oui, mais avec une complexité exponentielle. 6.4 Problèmes NP-complet Définition B est NP-complet si : B est dans NP. B NP, B p B. B 1 NP-complet tel que B 1 p B Théorème de Cook SAT est NP-complet. Problème SAT Étant donné une conjonction de clauses de logique propositionnelle, est-ce qu elle est satisfaisable? E 1... E k E i = x i1... x il Où x ij est une variable propositionnelle ou la négation d une variable propositionnelle. Exemple ( p 1 p 2 p 3 ) (p 1 p 2 p 3 ) Exemple d interprétation qui satisfait la formule : (p 1, p 2, p 3 ) = (F, V, F ) Exemples de problèmes NP-complets SAT. 3-SAT Problème de couverture de graphes Étant donné un couple (G,j) où G est un graphe et j est un entier. Existe-t-il une couverture du graphe G = (V, E) contenant j sommets? Un ensemble S V est une couverture de G si (s 1, s 2 ) E, s 1 ou s 2 S.
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é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é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é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é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é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é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é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é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é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étailAnnée 2014/15 2. 1 er septembre 2014. 2. Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143
Modèles de calcul Année 2014/15 2 M1, Univ. Bordeaux http://www.labri.fr/perso/anca/mc.html 1 er septembre 2014 2. Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143 Modalités du cours 12 cours,
Plus en détailPlus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Plus en détailALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII
ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)
Plus en détailChapitre 2. Eléments pour comprendre un énoncé
Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données
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é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é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étailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
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é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é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étailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailINF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
Plus en détailAlgorithmes de recherche
Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailFONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)
FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4) Bernard Le Stum Université de Rennes 1 Version du 13 mars 2009 Table des matières 1 Fonctions partielles, courbes de niveau 1 2 Limites et continuité
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étailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
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é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étailTransmission d informations sur le réseau électrique
Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en
Plus en détailRappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk
Plus en détailTable des matières. Introduction
Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............
Plus en détailModèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Yassine.Lakhnech@imag.fr. Modèles de Calcul Start p.
Modèles de Calcul Yassine Lakhnech Yassine.Lakhnech@imag.fr 2007/08 Université Joseph Fourier Lab.: VERIMAG Modèles de Calcul Start p.1/81 Équipe pédagogique Cours : Saddek Bensalem et Yassine Lakhnech
Plus en détailCQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que
CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
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étailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailPremiers exercices d Algèbre. Anne-Marie Simon
Premiers exercices d Algèbre Anne-Marie Simon première version: 17 août 2005 version corrigée et complétée le 12 octobre 2010 ii Table des matières 1 Quelques structures ensemblistes 1 1.0 Ensembles, relations,
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailPROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Plus en dé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é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é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étailChapitre 3. Mesures stationnaires. et théorèmes de convergence
Chapitre 3 Mesures stationnaires et théorèmes de convergence Christiane Cocozza-Thivent, Université de Marne-la-Vallée p.1 I. Mesures stationnaires Christiane Cocozza-Thivent, Université de Marne-la-Vallée
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étailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailFondements de l informatique Logique, modèles, et calculs
Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailAlgorithmique et Programmation Fonctionnelle
Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes
Plus en détailARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
Plus en dé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é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é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étailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailQuelques algorithmes simples dont l analyse n est pas si simple
Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire
Plus en détailCalculateur quantique: factorisation des entiers
Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détail1 Définition et premières propriétés des congruences
Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon
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étailJean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux
Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis
Plus en détailLogique : ENSIIE 1A - contrôle final
1 Logique : ENSIIE 1A - contrôle final - CORRIGÉ Mardi 11 mai 2010 - Sans documents - Sans calculatrice ni ordinateur Durée : 1h30 Les exercices sont indépendants. Exercice 1 (Logique du premier ordre
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 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étailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailPar combien de zéros se termine N!?
La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine
Plus en détailListes de fournitures du secondaire pour la rentrée 2015-2016
Listes de fournitures du secondaire pour la rentrée 2015-2016 Classe de 6 ème - Un paquet de pinceaux (gros, moyens, petit) Classe de 5 ème - Un paquet de pinceaux (gros, moyens, petits) Classe de 4 ème
Plus en détailQuatrième partie IV. Test. Test 15 février 2008 1 / 71
Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion
Plus en détailJournées Télécom-UPS «Le numérique pour tous» David A. Madore. david.madore@enst.fr. 29 mai 2015
et et Journées Télécom-UPS «Le numérique pour tous» David A. Madore Télécom ParisTech david.madore@enst.fr 29 mai 2015 1/31 et 2/31 : définition Un réseau de R m est un sous-groupe (additif) discret L
Plus en détailProjet Matlab : un logiciel de cryptage
Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que
Plus en détailCercle trigonométrique et mesures d angles
Cercle trigonométrique et mesures d angles I) Le cercle trigonométrique Définition : Le cercle trigonométrique de centre O est un cercle qui a pour rayon 1 et qui est muni d un sens direct : le sens inverse
Plus en détailJ AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE
RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent
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étailDurée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point
03 Mai 2013 Collège Oasis Durée de L épreuve : 2 heures. apple Le sujet comporte 4 pages et est présenté en livret ; apple La calculatrice est autorisée ; apple 4 points sont attribués à la qualité de
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étailChapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Plus en détailFeuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Plus en détailMATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE
MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE Michel Rigo http://www.discmath.ulg.ac.be/ Année 2007 2008 CRYPTOGRAPHIE. N. F. Art d écrire en chiffres ou d une façon secrète quelconque. Ensemble
Plus en détailProblème d ordonnancement de véhicules en variables booléennes
Problème d ordonnancement de véhicules en variables booléennes Freddy Hetman 2 juillet 2013 Faculté des sciences Jean Perrin Freddy Hetman () 2 juillet 2013 1 / 22 Sommaire 1 Introduction 2 Le problème
Plus en détailCCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?
Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce 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étailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailStructures algébriques
Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe
Plus en détailTS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S
FICHE Fiche à destination des enseignants TS 35 Numériser Type d'activité Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S Compétences
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailProbabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur
Plus en dé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étailArchitecture des ordinateurs Introduction à l informatique
Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la
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étailCours de Probabilités et de Statistique
Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles
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 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étailExo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.
Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3
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étailOrdonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1
CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste
Plus en détail