Chapitre 2 Modèle simple des MT (Machines de Turing) à quadruplets

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

Download "Chapitre 2 Modèle simple des MT (Machines de Turing) à quadruplets"

Transcription

1 cours_final Cours de complexité Université Joseph Fourier Master 1 Informatique Enseignants responsables: Marie-Christine Rousset, Christian Boitet Prise de notes: Claude Vial Table des matières 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 NP (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. 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 Université Joseph Fourier 1 / 15

2 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 L q l ] ou[q i S j R q 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 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, Université Joseph Fourier 2 / 15

3 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: q s s q q s L q q s R q 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 q s, 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). Université Joseph Fourier 3 / 15

4 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 γ q s δ 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= 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: [ Université Joseph Fourier 4 / 15

5 q 0 R q 0 q 0 B q 1 q 1 L q 1 q 1 B R q 2 ] Z effectue le calcul suivant: q 0 n+1 Z q 2 n+2 Cela correspond à la fonction: f: N N n n+2 (que l on peut également noter λ n[n+2]) Codage d une suite d entiers 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] q 0 x+1 B y+1 Z q 0 x BB 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 ] 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: 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) (k) Ψ Z (x 1,,x k ) n est pas définie. On note aussi: Ψ Z (x 1,,x k ). Université Joseph Fourier 5 / 15

6 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: Ψ Z (2) =λ xy[x+y] Ψ Z (1) =λ x[x] Ψ Z (k) =λ x 1 x 2 x 3 x 4 x k [x 1 +x 2 +x 3 +1+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=ψ Z (k) 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. q s [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 Université Joseph Fourier 6 / 15

7 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 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: n+1 n+1 n 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 Université Joseph Fourier 7 / 15

8 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. 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+3 5 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)])). 4.5 Cas particuliers Complexité constante: C Z est en Θ(1). Université Joseph Fourier 8 / 15

9 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 Θ(log n) 10ns 20ns 30ns 40ns recherche dichotomique Θ(n) 50ns 100µs parcours d une liste Θ(n log n) 50ns 400µs tri Θ(n 2 ) 25ns 1s 28h Θ(n 3 ) 27h Θ(2 n ) 320ns 130 jours 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 Université Joseph Fourier 9 / 15

10 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,s j : 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,s j+4 JUMP N q,s j+1 LOAD 1 ADD=1 STORE 1 JUMP N q,s 0 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. Θ(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. Université Joseph Fourier 10 / 15

11 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 2ADD = 1STORE 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. 5.3 Résultat central Les modèles de calculabilité MT, RAM et pseudo-pascal sont tous polynomialement équivalents Codage binaire de l entier i. Contenu du registre r i. Instruction équivalente à un nombre constant d instructions RAM. Chapitre 6 Classification des problèmes 6.1 Classe P Université Joseph Fourier 11 / 15

12 6.1.1 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 ))) 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. Université Joseph Fourier 12 / 15

13 Exemple 1 Soit TS 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: ( k=1 n 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 TS Soit une instance quelconque de HC: G=(S,A) Soit f la transformation suivante: f(g)= { V=S d(v i,v j )= c=n 1 si (v i,v j ) A 2 sinon Cette transformation f est de complexité polynomiale. G contient un cycle hamiltonien f(g) vérifie: ( k=1 n 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. n 1 d(s il,s il+1 )=1 et d(s il,s il+1 )=1 ( k=1 d(v ik,v ik+1 ))+d(v in,v i1 ) n Université Joseph Fourier 13 / 15

14 : Trivial, la démonstration est laissée en exercice au lecteur. HC p TS 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. Université Joseph Fourier 14 / 15

15 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. 1 p(n) est un polynôme. Ce document a été traduit de L A T E X par H E V E A Université Joseph Fourier 15 / 15

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

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

Plus en détail

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

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

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

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

Plus en détail

Représentation d un entier en base b

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

Plus en détail

Probabilités sur un univers fini

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

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

Plus en détail

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

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

Plus en détail

Programmation linéaire

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

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 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étail

INF 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 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étail

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

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

Plus en détail

Cours de Master Recherche

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

Plus en détail

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

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

Plus en détail

Plus courts chemins, programmation dynamique

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

Plus en détail

Année 2014/15 2. 1 er septembre 2014. 2. Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

Anné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étail

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

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

Plus en détail

Compilation (INF 564)

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

Plus en détail

Logiciel de Base. I. Représentation des nombres

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

Plus en détail

Machines virtuelles Cours 1 : Introduction

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

Plus en détail

Initiation à l algorithmique

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

Plus en détail

Algorithme. Table des matières

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

Plus en détail

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Chapitre 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étail

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

FONCTIONS 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étail

Objets Combinatoires élementaires

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

Plus en détail

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

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

Plus en détail

Cours de Probabilités et de Statistique

Cours 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étail

Calculateur quantique: factorisation des entiers

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

Plus en détail

Algorithmes de recherche

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

Plus en détail

Codage d information. Codage d information : -Définition-

Codage 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étail

Projet 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. 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étail

Informatique Générale

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

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatriè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étail

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

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

Plus en détail

Transmission d informations sur le réseau électrique

Transmission 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étail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux 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étail

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

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

Plus en détail

Chapitre 10 Arithmétique réelle

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

Plus en détail

ARBRES BINAIRES DE RECHERCHE

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

Plus en détail

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

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

Plus en détail

Rappels Entrées -Sorties

Rappels 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étail

Table des matières. Introduction

Table 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étail

Algorithmique et Programmation Fonctionnelle

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- 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étail

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. 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étail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 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étail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Plus en détail

Loi d une variable discrète

Loi d une variable discrète MATHEMATIQUES TD N : VARIABLES DISCRETES - Corrigé. P[X = k] 0 k point de discontinuité de F et P[X = k] = F(k + ) F(k ) Ainsi, P[X = ] =, P[X = 0] =, P[X = ] = R&T Saint-Malo - nde année - 0/0 Loi d une

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE 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étail

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

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

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Plus en détail

Cours d analyse numérique SMI-S4

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

Plus en détail

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

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

Plus en détail

Conversion d un entier. Méthode par soustraction

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

Plus en détail

Rappels d architecture

Rappels 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étail

Modè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. 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étail

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

J 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étail

GPA770 Microélectronique appliquée Exercices série A

GPA770 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étail

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

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

Plus en détail

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

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

Plus en détail

Continuité et dérivabilité d une fonction

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

Plus en détail

Fondements de l informatique Logique, modèles, et calculs

Fondements 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étail

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique : Chapitre Chapitre. Séries de Fourier Nous supposons connues les formules donnant les coefficients de Fourier d une fonction - périodique : c c a0 f x dx c an f xcosnxdx c c bn f xsinn x dx c L objet de

Plus en détail

Algorithmique, graphes et programmation dynamique Notes de Cours Rapport de Travaux Pratiques. Laurent Canet

Algorithmique, graphes et programmation dynamique Notes de Cours Rapport de Travaux Pratiques. Laurent Canet Algorithmique, graphes et programmation dynamique Notes de Cours Rapport de Travaux Pratiques Laurent Canet Le 2 juillet 2003 Table des matières I IN202 - Algorithmique 6 1 Système formel de preuve de

Plus en détail

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

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

Plus en détail

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

CCI 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étail

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La 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étail

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

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

Plus en détail

Quelques algorithmes simples dont l analyse n est pas si simple

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

Plus en détail

Probabilités sur un univers fini

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

Plus en détail

Premiers exercices d Algèbre. Anne-Marie Simon

Premiers 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étail

Structures algébriques

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

Plus en détail

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

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

Plus en détail

1 Définition et premières propriétés des congruences

1 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étail

ALGORITHMIQUE ET PROGRAMMATION En C

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

Plus en détail

Algorithmique et Programmation, IMA

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

Plus en détail

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

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

Plus en détail

Logique : ENSIIE 1A - contrôle final

Logique : 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étail

Représentation des Nombres

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

Plus en détail

Par combien de zéros se termine N!?

Par 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étail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Plus en détail

titre.dsf - Page : 1 Ordinateur quantique: rêves et réalité 1 + 2 J.M. Raimond Laboratoire Kastler Brossel

titre.dsf - Page : 1 Ordinateur quantique: rêves et réalité 1 + 2 J.M. Raimond Laboratoire Kastler Brossel titre.dsf - Page : Ordinateur quantique: rêves et réalité b + g 2 J.M. Raimond Laboratoire Kastler Brossel intro.dsf - Page : Il existe des superpositions d'états logiques b 2 +, g n n valeurs Un ordinateur

Plus en détail

4. Les structures de données statiques

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

Plus en détail

Logique. Plan du chapitre

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

Plus en détail

Algorithmes récursifs

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

Plus en détail

Chapitre 7. Récurrences

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

Plus en détail

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions HQ = He 1 He 2 He 3 He 4 HQ e 5 comme anneaux (avec centre Re 1 Re 2 Re 3 Re 4

Plus en détail

Listes de fournitures du secondaire pour la rentrée 2015-2016

Listes 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étail

Polynômes à plusieurs variables. Résultant

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

Plus en détail

Raisonnement par récurrence Suites numériques

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

Plus en détail

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

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

Plus en détail

Cercle trigonométrique et mesures d angles

Cercle 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étail

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

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

Plus en détail