Langages formels, automates et grammaires formelles

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

Download "Langages formels, automates et grammaires formelles"

Transcription

1 Langages formels, automates et grammaires formelles N. Prcovic Langages formels, automates et grammaires formelles p.1/94

2 Contenu général du cours Etude des langages formels selon deux manières de les modéliser : les machines abstraites (automates et machines de Turing) les grammaires formelles. Langages formels, automates et grammaires formelles p.2/94

3 Intérêt des langages formels Résolution des problèmes de décision : "est-ce que [ceci] est une solution à [tel problème]?" (-> oui ou non). Langages formels, automates et grammaires formelles p.3/94

4 Intérêt des langages formels Résolution des problèmes de décision : "est-ce que [ceci] est une solution à [tel problème]?" (-> oui ou non). Est-ce que ce nombre est premier? Est ce que ce texte est un programme C syntaxiquement correct? Langages formels, automates et grammaires formelles p.3/94

5 ien entre pbs de décision et lang. formels Un langage formel se définit comme un ensemble de suites de symboles. Lien : solution du problème élément du langage. Langages formels, automates et grammaires formelles p.4/94

6 ien entre pbs de décision et lang. formels Un langage formel se définit comme un ensemble de suites de symboles. Lien : solution du problème élément du langage. Est-ce que cette suite de chiffres représente un nombre premier? Langages formels, automates et grammaires formelles p.4/94

7 ien entre pbs de décision et lang. formels Un langage formel se définit comme un ensemble de suites de symboles. Lien : solution du problème élément du langage. Est-ce que cette suite de chiffres représente un nombre premier? Est ce que cette suite de caractères correspond à un programme C syntaxiquement correct? Langages formels, automates et grammaires formelles p.4/94

8 ien entre pbs de décision et lang. formels Un langage formel se définit comme un ensemble de suites de symboles. Lien : solution du problème élément du langage. Est-ce que cette suite de chiffres représente un nombre premier? Est ce que cette suite de caractères correspond à un programme C syntaxiquement correct? De façon générale : "Est-ce que [cette suite de symboles] appartient à [l ensemble des suites de symboles qui correspondent à une solution de mon problème]?". Langages formels, automates et grammaires formelles p.4/94

9 Historique Machine de Turing (années 30) pour modéliser une machine qui résout le plus de problèmes possibles. Langages formels, automates et grammaires formelles p.5/94

10 Historique Machine de Turing (années 30) pour modéliser une machine qui résout le plus de problèmes possibles. Automates (années 40 et 50) pour modéliser certaines fonctionnalités du cerveau. Langages formels, automates et grammaires formelles p.5/94

11 Historique Machine de Turing (années 30) pour modéliser une machine qui résout le plus de problèmes possibles. Automates (années 40 et 50) pour modéliser certaines fonctionnalités du cerveau. Grammaires formelles (fin des années 50, Chomsky) pour modéliser les langues naturelles. Actuellement : pour la compilation. Langages formels, automates et grammaires formelles p.5/94

12 Equivalences entre machines abstraites et grammaires formelles Langage formel Machine abstraite Grammaire récursiv. énum. Machines de Turing non restreintes contextuels MdT bornées linéair. contextuelles hors contexte Automates à pile hors contexte rationnels Automates régulières Langages formels, automates et grammaires formelles p.6/94

13 Les langages formels Les langages formels représentent uniquement l aspect syntaxique des langages et non la sémantique qu on pourrait leur associer (comme on le ferait avec les langues naturelles). Langages formels, automates et grammaires formelles p.7/94

14 Les langages formels Définition Alphabet Un alphabet Σ est un ensemble fini, non vide, de symboles. Langages formels, automates et grammaires formelles p.8/94

15 Les langages formels Définition Alphabet Un alphabet Σ est un ensemble fini, non vide, de symboles. Ex : l ensemble {0, 1} des 2 chiffres binaires, l ensemble des 10 chiffres arabes, l ensemble des 26 lettres de l alphabet français, l ensemble des caractères ASCII, etc. Langages formels, automates et grammaires formelles p.8/94

16 Les langages formels Définition Mot (ou chaîne) Un mot w est une suite de symboles d un alphabet donné. La longueur d un mot w, noté w est le nombre de symboles qu il contient. Le mot vide, noté ǫ, est le mot de longueur nulle. Langages formels, automates et grammaires formelles p.9/94

17 Les langages formels Définition Mot (ou chaîne) Un mot w est une suite de symboles d un alphabet donné. La longueur d un mot w, noté w est le nombre de symboles qu il contient. Le mot vide, noté ǫ, est le mot de longueur nulle. Ex : est un mot créé à partir de l alphabet {0, 1} et a pour longueur 5, tous les fichiers ASCII sont des mots créés à partir des caractères ASCII. Langages formels, automates et grammaires formelles p.9/94

18 Les langages formels Définition Sous-mot Un sous-mot v est une sous-suite de la suite des symboles d un mot w. Langages formels, automates et grammaires formelles p.10/94

19 Les langages formels Définition Sous-mot Un sous-mot v est une sous-suite de la suite des symboles d un mot w. Ex : si w = abcd alors abd, cd, ac, b, abcd et ǫ sont des exemples de sous-mots de w. Langages formels, automates et grammaires formelles p.10/94

20 Les langages formels Définition Concaténation de mots La concaténation de 2 mots w et w est le mot égal à la suite des symboles de w suivi de la suite des symboles de w. Elle se note w.w ou ww. Langages formels, automates et grammaires formelles p.11/94

21 Les langages formels Définition Concaténation de mots La concaténation de 2 mots w et w est le mot égal à la suite des symboles de w suivi de la suite des symboles de w. Elle se note w.w ou ww. Ex : La concaténation de w = abc et de w = fg est w.w = abcfg. Langages formels, automates et grammaires formelles p.11/94

22 Les langages formels Définition Facteur d un mot Le facteur v d un mot w est un mot tel qu il existe des mots u et u tels que w = u.v.u. Un facteur gauche (ou préfixe) est un facteur tel que u = ǫ. Un facteur droit (ou suffixe) est un facteur tel que u = ǫ. Une occurence d un facteur est l apparition de ce facteur a une position précise dans le mot. Langages formels, automates et grammaires formelles p.12/94

23 Les langages formels Définition Facteur d un mot Le facteur v d un mot w est un mot tel qu il existe des mots u et u tels que w = u.v.u. Un facteur gauche (ou préfixe) est un facteur tel que u = ǫ. Un facteur droit (ou suffixe) est un facteur tel que u = ǫ. Une occurence d un facteur est l apparition de ce facteur a une position précise dans le mot. Remarque : un facteur est un sous-mot mais l inverse n est pas vrai en général. Langages formels, automates et grammaires formelles p.12/94

24 Les langages formels Définition Produit de 2 alphabets On note Σ 1 l ensemble des mots de longueur 1 constitués à partir de chacun des symboles de Σ. Le produit de 2 alphabets Σ et Σ est l ensemble de mots défini par Σ.Σ = { w.w w Σ 1, w Σ 1 }. Langages formels, automates et grammaires formelles p.13/94

25 Les langages formels Définition Produit de 2 alphabets On note Σ 1 l ensemble des mots de longueur 1 constitués à partir de chacun des symboles de Σ. Le produit de 2 alphabets Σ et Σ est l ensemble de mots défini par Σ.Σ = { w.w w Σ 1, w Σ 1 }. Ex : si Σ = {a, b} et Σ = {c, d} alors Σ.Σ = {ac, ad, bc, bd}. Langages formels, automates et grammaires formelles p.13/94

26 Les langages formels Définition Puissance d un alphabet La k eme puissance d un alphabet Σ, notée Σ k, se définit par : Σ 0 = {ǫ} et k > 0, Σ k = Σ k 1.Σ 1. C est l ensemble de tous les mots de longueur k que l on peut former à partir de Σ. Langages formels, automates et grammaires formelles p.14/94

27 Les langages formels Définition Puissance d un alphabet La k eme puissance d un alphabet Σ, notée Σ k, se définit par : Σ 0 = {ǫ} et k > 0, Σ k = Σ k 1.Σ 1. C est l ensemble de tous les mots de longueur k que l on peut former à partir de Σ. Ex : si Σ = {a,b} alors Σ 0 = {ǫ}, Σ 1 = {a,b}, Σ 2 = {aa,ab,ba,bb}, etc. Langages formels, automates et grammaires formelles p.14/94

28 Les langages formels Définition Puissance d un alphabet La k eme puissance d un alphabet Σ, notée Σ k, se définit par : Σ 0 = {ǫ} et k > 0, Σ k = Σ k 1.Σ 1. C est l ensemble de tous les mots de longueur k que l on peut former à partir de Σ. Ex : si Σ = {a,b} alors Σ 0 = {ǫ}, Σ 1 = {a,b}, Σ 2 = {aa,ab,ba,bb}, etc. On appelle étoile d un alphabet Σ = Σ 0 Σ 1 Σ 2... C est l ensemble de tous les mots qu on peut former à partir de Σ. On note Σ + le même ensemble mais privé du mot vide : Σ = Σ + {ǫ}. Langages formels, automates et grammaires formelles p.14/94

29 Les langages formels Définition Langage Un langage L se définit à partir d un alphabet Σ comme étant un sous-ensemble de Σ. Langages formels, automates et grammaires formelles p.15/94

30 Les langages formels Définition Langage Un langage L se définit à partir d un alphabet Σ comme étant un sous-ensemble de Σ. Tout sous-ensemble de Σ est potentiellement un langage, y compris le langage vide (ne contenant aucun mot), le langage {ǫ} (contenant uniquement le mot vide) et le langage égal à Σ. Langages formels, automates et grammaires formelles p.15/94

31 Les langages formels Définition Langage Un langage L se définit à partir d un alphabet Σ comme étant un sous-ensemble de Σ. Tout sous-ensemble de Σ est potentiellement un langage, y compris le langage vide (ne contenant aucun mot), le langage {ǫ} (contenant uniquement le mot vide) et le langage égal à Σ. Ex : le langage des chiffres binaires pairs (c-a-d se terminant par 0), le langage des nombres entiers décimaux inférieurs à 100, le langage des mots français du Larousse, etc. Langages formels, automates et grammaires formelles p.15/94

32 Les langages formels En général, on définira un langage en utilisant une notation ensembliste de la forme {w propriété sur w}, qui signifie "l ensemble des mots w (de Σ ) tels qu ils respectent une certaine propriété". Ex : {w w se termine par a}, {w 2 w 5}. Langages formels, automates et grammaires formelles p.16/94

33 Les langages formels En général, on définira un langage en utilisant une notation ensembliste de la forme {w propriété sur w}, qui signifie "l ensemble des mots w (de Σ ) tels qu ils respectent une certaine propriété". Ex : {w w se termine par a}, {w 2 w 5}. Remarque : l ensemble des parties de Σ, noté P(Σ ) ou 2 Σ, est l ensemble de tous les langages sur Σ. Langages formels, automates et grammaires formelles p.16/94

34 Les langages formels Définition Produit de langages Le produit (de concaténation) de 2 langages L et L est défini par : L.L = {w.w w L, w L }. Langages formels, automates et grammaires formelles p.17/94

35 Les langages formels Définition Puissance d un langage La k eme puissance d un langage L, notée L k, se définit par : L 0 = {ǫ} et k > 0, L k =L k 1.L. Langages formels, automates et grammaires formelles p.18/94

36 Les langages formels Définition Puissance d un langage La k eme puissance d un langage L, notée L k, se définit par : L 0 = {ǫ} et k > 0, L k =L k 1.L. Ex : si L= {ab,cd} alors L 0 = {ǫ}, L 1 = {ab,cd}, L 2 = {abab,abcd,cdab,cdcd}, etc. Langages formels, automates et grammaires formelles p.18/94

37 Les langages formels Définition Puissance d un langage La k eme puissance d un langage L, notée L k, se définit par : L 0 = {ǫ} et k > 0, L k =L k 1.L. Ex : si L= {ab,cd} alors L 0 = {ǫ}, L 1 = {ab,cd}, L 2 = {abab,abcd,cdab,cdcd}, etc. On appelle étoile d un langage, le langage L = L 0 L 1 L 2... Il contient tous les mots qu on peut obtenir en concaténant un nombre quelconque de mots de L. On appelle étoile propre de L et on note L + le même langage mais privé du mot vide : L + = L /{ǫ}. Langages formels, automates et grammaires formelles p.18/94

38 Les langages formels Définition Puissance d un langage La k eme puissance d un langage L, notée L k, se définit par : L 0 = {ǫ} et k > 0, L k =L k 1.L. Ex : si L= {ab,cd} alors L 0 = {ǫ}, L 1 = {ab,cd}, L 2 = {abab,abcd,cdab,cdcd}, etc. On appelle étoile d un langage, le langage L = L 0 L 1 L 2... Il contient tous les mots qu on peut obtenir en concaténant un nombre quelconque de mots de L. On appelle étoile propre de L et on note L + le même langage mais privé du mot vide : L + = L /{ǫ}. Remarque : l étoile d un langage fini est un langage infini dénombrable. Langages formels, automates et grammaires formelles p.18/94

39 Automates d états finis Automate : machine abstraite qui modélise un système discret dont l état va varier au cours du temps à cause d influences externes. Langages formels, automates et grammaires formelles p.19/94

40 Automates d états finis Automate : machine abstraite qui modélise un système discret dont l état va varier au cours du temps à cause d influences externes. On peut représenter un automate par un graphe dont chaque sommet est un état et chaque arc, étiqueté par un nom d action, est une transition possible d un état vers un autre. Langages formels, automates et grammaires formelles p.19/94

41 Automates d états finis Automate : machine abstraite qui modélise un système discret dont l état va varier au cours du temps à cause d influences externes. On peut représenter un automate par un graphe dont chaque sommet est un état et chaque arc, étiqueté par un nom d action, est une transition possible d un état vers un autre. Un automate possède un état initial et un nombre quelconque d états finaux (désirés pour le système). Langages formels, automates et grammaires formelles p.19/94

42 Automates d états finis Automate : machine abstraite qui modélise un système discret dont l état va varier au cours du temps à cause d influences externes. On peut représenter un automate par un graphe dont chaque sommet est un état et chaque arc, étiqueté par un nom d action, est une transition possible d un état vers un autre. Un automate possède un état initial et un nombre quelconque d états finaux (désirés pour le système). L automate vérifie si la suite d actions permet de passer de l état initial à un état final. Langages formels, automates et grammaires formelles p.19/94

43 Exemple On veut modéliser un système simple composé d un coffre-fort et d un document top secret. On peut agir sur le système en ouvrant ou en fermant le coffre ou en plaçant ou en retirant le document du coffre. Le système peut avoir 4 états : (0) coffre fermé et vide, (1) coffre ouvert et vide, (2) coffre ouvert et plein et (3) coffre fermé et plein. Etat final (désiré) : mettre en sûreté notre document (état 4). Etat initial : état 0. Problème (de décision) : est-ce que [cette suite d actions] permet de mettre le document en sécurité? Langages formels, automates et grammaires formelles p.20/94

44 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Langages formels, automates et grammaires formelles p.21/94

45 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Q est un ensemble fini d états. Langages formels, automates et grammaires formelles p.21/94

46 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Q est un ensemble fini d états. Σ est un alphabet contenant des symboles d entrée. Langages formels, automates et grammaires formelles p.21/94

47 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Q est un ensemble fini d états. Σ est un alphabet contenant des symboles d entrée. δ : Q Σ Q est la fonction de transition telle que δ(q i, s) = q j ssi dans l état q i la lecture du symbole s fait passer dans l état q j. Langages formels, automates et grammaires formelles p.21/94

48 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Q est un ensemble fini d états. Σ est un alphabet contenant des symboles d entrée. δ : Q Σ Q est la fonction de transition telle que δ(q i, s) = q j ssi dans l état q i la lecture du symbole s fait passer dans l état q j. q 0 est l état initial. Langages formels, automates et grammaires formelles p.21/94

49 Automates d états finis déterministes Définition Automate d états finis déterministe Un automate d états finis déterministe (AEFD) est un quintuplet (Q, Σ, δ, q 0, F) où : Q est un ensemble fini d états. Σ est un alphabet contenant des symboles d entrée. δ : Q Σ Q est la fonction de transition telle que δ(q i, s) = q j ssi dans l état q i la lecture du symbole s fait passer dans l état q j. q 0 est l état initial. F Q est l ensemble des états finaux. Langages formels, automates et grammaires formelles p.21/94

50 Représentations d un automate On peut représenter un automate par une table de transition. Cette table contient : en ligne les états possibles de l automate. en colonne les symboles de Σ. L état initial est préfixé par une flèche. Les états finaux sont préfixés par une astérisque. Chaque case du tableau contient l état résultant de la lecture du symbole en colonne à partir de l état en ligne. Langages formels, automates et grammaires formelles p.22/94

51 Représentations d un automate On peut représenter un automate par une table de transition. Cette table contient : en ligne les états possibles de l automate. en colonne les symboles de Σ. L état initial est préfixé par une flèche. Les états finaux sont préfixés par une astérisque. Chaque case du tableau contient l état résultant de la lecture du symbole en colonne à partir de l état en ligne. o f p r q 0 q 1 q 1 q 0 q 2 q 2 q 3 q 1 a b *q 0 q 1 q 1 q 1 q 2 q 1 Langages formels, automates et grammaires formelles p.22/94 *q q

52 Représentations d un automate On peut aussi représenter un AEFD par un diagramme de transition. Il s agit d un graphe dont : les sommets sont les états de Q, les arcs étiquetés par des symboles de Σ sont les transitions d un état à un autre suite à la lecture d un symbole. l état initial est signalé par une flèche entrante. les états finaux sont cerclés. Langages formels, automates et grammaires formelles p.23/94

53 AEFD Définition Extension aux mots de la fonction de transition La fonction de transition peut être étendue aux mots. Son extension δ est définie sur Q Σ Q avec : δ(q i, ǫ) = q i. w Σ, c Σ: δ(q i, w.c) = δ( δ(q i, w), c). Langages formels, automates et grammaires formelles p.24/94

54 AEFD Définition Extension aux mots de la fonction de transition La fonction de transition peut être étendue aux mots. Son extension δ est définie sur Q Σ Q avec : δ(q i, ǫ) = q i. w Σ, c Σ: δ(q i, w.c) = δ( δ(q i, w), c). δ(q i, w) = q j signifie que la lecture du mot w à partir de l état q i mène à l état q j. Langages formels, automates et grammaires formelles p.24/94

55 AEFD Définition Mot accepté par un automate Un mot w Σ est dit accepté par un automate (Q, Σ, δ, q 0, F) si δ(q 0, w) F. Langages formels, automates et grammaires formelles p.25/94

56 AEFD Définition Mot accepté par un automate Un mot w Σ est dit accepté par un automate (Q, Σ, δ, q 0, F) si δ(q 0, w) F. En d autres termes, un mot est accepté par un automate si la lecture des symboles de w à partir de q 0 mène à un état final de l automate. Langages formels, automates et grammaires formelles p.25/94

57 AEFD Définition Langage reconnu par un automate Un langage reconnu par un automate A est défini par : L(A) = {w Σ δ(q 0, w) F}. Langages formels, automates et grammaires formelles p.26/94

58 AEFD Définition Langage reconnu par un automate Un langage reconnu par un automate A est défini par : L(A) = {w Σ δ(q 0, w) F}. En d autres termes, le langage reconnu par un automate est l ensemble des mots qu il accepte. Langages formels, automates et grammaires formelles p.26/94

59 AEFD Définition Langage reconnaissable Un langage est dit reconnaissable s il existe un AEFD le reconnaissant. Langages formels, automates et grammaires formelles p.27/94

60 AEFD Définition Langage reconnaissable Un langage est dit reconnaissable s il existe un AEFD le reconnaissant. Déterminisme : Un automate d états finis est dit déterministe si, étant donné un mot qu on lui donne à lire, on est toujours sûr que l automate transite toujours par la même séquence d états. Langages formels, automates et grammaires formelles p.27/94

61 Automates d états finis non déterministes Contrairement aux AEFD, les automates d états finis non déterministes (AEFND) peuvent se retrouver dans plusieurs états en même temps après avoir lu un symbole à partir d un état donné. Langages formels, automates et grammaires formelles p.28/94

62 Automates d états finis non déterministes Contrairement aux AEFD, les automates d états finis non déterministes (AEFND) peuvent se retrouver dans plusieurs états en même temps après avoir lu un symbole à partir d un état donné. Définition AEFND Un automate d états finis non déterministe est un quintuplet (Q, Σ, q 0, δ, F) où Q, Σ, q 0 et F ont la même signification que pour un AEFD mais où δ est défini par : δ : Q Σ 2 Q δ(q i, c) = Q j avec Q j Q. Langages formels, automates et grammaires formelles p.28/94

63 Automates d états finis non déterministes Contrairement aux AEFD, les automates d états finis non déterministes (AEFND) peuvent se retrouver dans plusieurs états en même temps après avoir lu un symbole à partir d un état donné. Définition AEFND Un automate d états finis non déterministe est un quintuplet (Q, Σ, q 0, δ, F) où Q, Σ, q 0 et F ont la même signification que pour un AEFD mais où δ est défini par : δ : Q Σ 2 Q δ(q i, c) = Q j avec Q j Q. Ainsi, après avoir lu une suite de symboles, un AEFND peut se trouver au même moment dans plusieurs états différents. Langages formels, automates et grammaires formelles p.28/94

64 AEFND Définition Extension aux mots de la fonction de transition La fonction de transition peut être étendue aux mots. Son extension δ est définie sur Q Σ 2 Q avec : δ(q i, ǫ) = {q i }. w Σ, c Σ: δ(q i, w.c) = δ(q j, c). q j b δ(q i,w) Langages formels, automates et grammaires formelles p.29/94

65 AEFND Définition Extension aux mots de la fonction de transition La fonction de transition peut être étendue aux mots. Son extension δ est définie sur Q Σ 2 Q avec : δ(q i, ǫ) = {q i }. w Σ, c Σ: δ(q i, w.c) = δ(q j, c). q j b δ(q i,w) δ(q i, w) = Q j signifie que la lecture du mot w à partir de l état q i mène à tous les états de Q j en même temps. Langages formels, automates et grammaires formelles p.29/94

66 AEFND Définition Mot accepté par un AEFND Un mot w Σ est dit accepté par un AEFND (Q, Σ, δ, q 0, F) si δ(q 0, w) F. Langages formels, automates et grammaires formelles p.30/94

67 AEFND Définition Mot accepté par un AEFND Un mot w Σ est dit accepté par un AEFND (Q, Σ, δ, q 0, F) si δ(q 0, w) F. En d autres termes, un mot est accepté par un automate si la lecture des symboles de w à partir de q 0 mène à un ensemble d états dont au moins un est final. Langages formels, automates et grammaires formelles p.30/94

68 AEFND Définition Mot accepté par un AEFND Un mot w Σ est dit accepté par un AEFND (Q, Σ, δ, q 0, F) si δ(q 0, w) F. En d autres termes, un mot est accepté par un automate si la lecture des symboles de w à partir de q 0 mène à un ensemble d états dont au moins un est final. Définition Langage reconnu par un AEFND Un langage reconnu par un AEFND A est défini par : L(A) = {w Σ δ(q 0, w) F }. Langages formels, automates et grammaires formelles p.30/94

69 Avantage d un AEFND sur un AEFD L intérêt des AEFND est qu ils permettent plus facilement de définir un automate reconnaissant un langage donné. q0 a q1 q0 a q1 a,b b b a Le langage {w.a w Σ } reconnu par un AEFND (à gauche) et un AEFD (à droite). Langages formels, automates et grammaires formelles p.31/94

70 Equivalence entre AEFD et AEFND Bien que les AEFND aient l air plus puissant que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Langages formels, automates et grammaires formelles p.32/94

71 Equivalence entre AEFD et AEFND Bien que les AEFND aient l air plus puissant que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Il est évident que tout AEFD est aussi un AEFND. Langages formels, automates et grammaires formelles p.32/94

72 Equivalence entre AEFD et AEFND Bien que les AEFND aient l air plus puissant que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Il est évident que tout AEFD est aussi un AEFND. Théoreme Tout langage reconnu par un AEFND peut aussi être reconnu par un AEFD. Langages formels, automates et grammaires formelles p.32/94

73 Preuve Preuve constructive : on va démontrer que si A N = (Q N, Σ, δ N, q 0, F N ) est un AEFND alors le langage qu il reconnaît est aussi reconnu par l AEFD A D = (Q D, Σ, δ D, {q 0 }, F D ) où : Q D = 2 Q N est l ensemble des sous-ensembles de Q N. F D est l ensemble des états de Q D qui contiennent un état de F N, c-a-d les états dont l intersection avec F N est non vide. S Q N et c Σ : δ D (S,c) = δ N (s, c). s S Langages formels, automates et grammaires formelles p.33/94

74 Preuve Démontrons d abord que w, δ D ({q 0 }, w) = δ N (q 0, w). Preuve par récurrence sur w : Pour w = 0, c-a-d w = ǫ, δ D ({q 0 }, ǫ) = δ N (q 0, ǫ) = {q 0 }. Posons que pour tout mot w de longueur n, on a δ D ({q 0 }, w) = δ N (q 0, w) = {p 1, p 2,...p k }. c Σ, δ D ({q 0 }, w.c) = δ D ( δ D ({q 0 }, w), c) = δ D ({p 1, p 2,...p k }, c) = δ N (p i, c) = δ N (q 0, w.c). 1 i k On a alors δ D ({q 0 }, w) = δ N (q 0, w) qui est aussi vérifiée pour tous les mots de longueur n+1. Langages formels, automates et grammaires formelles p.34/94

75 Preuve On a donc L(A D ) = {w Σ δ D ({q 0 }, w) F D } = {w Σ δ D ({q 0 }, w) F N } = {w Σ δ N (q 0, w) F N } = L(A N ). Langages formels, automates et grammaires formelles p.35/94

76 struction d un AEFD à partir d un AEF En pratique, quand c est possible, on ne générera pas 2 n états d un AEFD à partir des n états d un AEFND : on se contentera de générer tous les états accessibles depuis {q 0 }. La procédure de génération de tous ces états consiste à maintenir l ensemble Q des états qu on a généré mais dont on a pas encore généré les successeurs. Au début, Q = {{q 0 }}. Tant que Q n est pas vide, on retire un état q de Q et on ajoute à Q tous les états directement accessibles depuis q et qui n ont pas déjà été générés précédemment. Langages formels, automates et grammaires formelles p.36/94

77 AEFND avec ǫ-transitions On peut étendre le modèle de l AEFND en lui permettant des ǫ-transitions, c est-à -dire des transitions sans lecture de symbole. L intérêt est, une fois encore, de faciliter la construction d automates reconnaissant un langage donné. Langages formels, automates et grammaires formelles p.37/94

78 AEFND avec ǫ-transitions Définition AEFND avec ǫ-transitions Un AEFND avec ǫ-transitions est un quintuplet (Q, Σ, q 0, δ, F) où Q, Σ, q 0, δ et F ont la même signification que pour un AEFND mais où δ est définie sur Q Σ {ǫ} 2 Q. Langages formels, automates et grammaires formelles p.38/94

79 ǫ-fermeture Définition ǫ-fermeture q Q, ǫ-fermeture(q) est un ensemble d états tel que : q ǫ-fermeture(q). si r ǫ-fermeture(q) alors {r Q r = δ(r,ǫ)} ǫ-fermeture(q). Langages formels, automates et grammaires formelles p.39/94

80 ǫ-fermeture Définition ǫ-fermeture q Q, ǫ-fermeture(q) est un ensemble d états tel que : q ǫ-fermeture(q). si r ǫ-fermeture(q) alors {r Q r = δ(r,ǫ)} ǫ-fermeture(q). L ǫ-fermeture se définit aussi sur un ensemble d états : S Q, ǫ-fermeture(s) = s S ǫ-fermeture(s) Langages formels, automates et grammaires formelles p.39/94

81 ǫ-fermeture Définition ǫ-fermeture q Q, ǫ-fermeture(q) est un ensemble d états tel que : q ǫ-fermeture(q). si r ǫ-fermeture(q) alors {r Q r = δ(r,ǫ)} ǫ-fermeture(q). L ǫ-fermeture se définit aussi sur un ensemble d états : S Q, ǫ-fermeture(s) = s S ǫ-fermeture(s) En d autres termes, ǫ-fermeture(q) est l ensemble de tous états accessibles depuis q en suivant une suite d ǫ-transitions. Langages formels, automates et grammaires formelles p.39/94

82 AEFND avec ǫ-transitions Définition Extension aux mots de la fonction de transition L extension aux mots δ de la fonction de transition est définie sur Q Σ 2 Q avec : δ(q i, ǫ) = ǫ-fermeture(q i ). w Σ, c Σ: δ(q i, w.c) = ǫ-fermeture(δ(q j, c)). q j b δ(q i,w) Langages formels, automates et grammaires formelles p.40/94

83 Equivalence entre AEFD et ǫ-aefnd Bien que les ǫ-aefnd aient l air plus puissants que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Langages formels, automates et grammaires formelles p.41/94

84 Equivalence entre AEFD et ǫ-aefnd Bien que les ǫ-aefnd aient l air plus puissants que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Tout AEFD est aussi un ǫ-aefnd. Langages formels, automates et grammaires formelles p.41/94

85 Equivalence entre AEFD et ǫ-aefnd Bien que les ǫ-aefnd aient l air plus puissants que les AEFD en terme de possibilité de reconnaître un langage, il s avère que leur puissance leur est égale. Tout AEFD est aussi un ǫ-aefnd. Théorème Tout langage reconnu par un ǫ-aefnd peut aussi être reconnu par un AEFD. Langages formels, automates et grammaires formelles p.41/94

86 Preuve Preuve constructive : on va démontrer que si A E = (Q E, Σ, δ E, q 0, F E ) est un ǫ-aefnd alors le langage qu il reconnaît est aussi reconnu par l AEFD A D = (Q D, Σ, δ D, q D, F D ) où : Q D = 2 Q E. q D = ǫ-fermeture(q 0 ). F D est l ensemble des états de Q D qui contiennent un état de F E, c-a-d les états dont l intersection avec F N est non vide. S Q N et c Σ : δ D (S,c) = ǫ-fermeture( δ E (s, c)). s S Langages formels, automates et grammaires formelles p.42/94

87 Preuve Démontrons d abord que w, δ D (q D, w) = δ N (q 0, w). Preuve par récurrence sur w : Pour w = 0, c-a-d w = ǫ, δ D (q D, ǫ) = δ E (q 0, ǫ) = ǫ-fermeture(q 0 ). Posons que pour tout mot w de longueur n, on a δ D (q D, w) = δ E (q 0, w) = {p 1, p 2,...p k }. c Σ, δ D (q D, w.c) = δ D ( δ D (q D, w), c) = δ D ({p 1, p 2,...p k }, c) = ǫ-fermeture( δ E (p i, c)) = 1 i k 1 i k ǫ-fermeture(δ E (p i, c)) = δ E (q 0, w.c). On a alors δ D (q D, w) = δ E (q 0, w) qui est aussi vérifiée pour tous les mots de longueur n+1. Langages formels, automates et grammaires formelles p.43/94

88 Preuve On a donc L(A D ) = {w Σ δ D (q D, w) F D } (définition d un AEFD) = {w Σ δ D (q D, w) F E } (définition de A E ) = {w Σ δ E (q 0, w) F E } (démontré juste avant) = L(A E ) (définition d un ǫ-aefnd) Langages formels, automates et grammaires formelles p.44/94

89 Les langages réguliers/rationnels Le but de ce chapitre est de présenter les langages réguliers (ou rationnels), les expressions régulières, qui sont leur représentation, de montrer qu ils constituent l ensemble des langages reconnaissables (par des AEFD) Langages formels, automates et grammaires formelles p.45/94

90 Les langages rationnels Définition Langages rationnels Etant donné un alphabet Σ, les langages rationnels sont des langages définis récursivement par :, {ǫ} et c Σ 1, {c} sont des langages rationnels. Si L et L sont des langages rationnels alors L L, L.L et L sont des langages rationnels. Langages formels, automates et grammaires formelles p.46/94

91 Expressions régulières Définition Expressions régulières Etant donné un alphabet Σ, les expressions régulières sur Σ sont définies récursivement par : est une expression régulière représentant l ensemble vide. ǫ et c Σ 1, c sont des expressions régulières représentant respectivement {ǫ} et {c}. Si r et s sont des expressions régulières représentant les langages R et S alors (r+s), (r.s) ou (rs) et r représentent respectivement les langages R S, R.S et R. Langages formels, automates et grammaires formelles p.47/94

92 Expressions régulières Définition Expressions régulières Etant donné un alphabet Σ, les expressions régulières sur Σ sont définies récursivement par : est une expression régulière représentant l ensemble vide. ǫ et c Σ 1, c sont des expressions régulières représentant respectivement {ǫ} et {c}. Si r et s sont des expressions régulières représentant les langages R et S alors (r+s), (r.s) ou (rs) et r représentent respectivement les langages R S, R.S et R. Priorité : * est prioritaire sur. qui est prioritaire sur +. Langages formels, automates et grammaires formelles p.47/94

93 Expressions régulières On note r + l expression r.r. Langages formels, automates et grammaires formelles p.48/94

94 Expressions régulières On note r + l expression r.r. Définition Langage d une expression régulière Etant donné une expression régulière r, L(r) désigne le langage représenté par r. Langages formels, automates et grammaires formelles p.48/94

95 Propriétés r,s,t : r+s = s+r (commutativité de l union) (r+s)+t = r+(s+t) (associativité de l union) (r.s).t = r.(s.t) (associativité du produit) r.(s+t) = r.s+r.t et (r+s).t = r.t+s.t (distributivité du produit par rapport à l union) = ǫ, (r ) = r, (ǫ+r) = r, (r.s ) = (r+s). Langages formels, automates et grammaires formelles p.49/94

96 uivalence entre AEFD et langages régulie Nous allons montrer que tout langage régulier est reconnaissable par un AEFD et qu un AEFD ne peut reconnaître qu un langage régulier. Pour ceci, il nous suffira de montrer que tout langage régulier est reconnaissable par un AEFND avec ǫ-transitions (car on a déjà vu l équivalence avec un AEFD) puis que tout langage reconnaissable par un AEFD est régulier. Langages formels, automates et grammaires formelles p.50/94

97 Exp. reg. -> AEFD Théorème Tout langage défini par une expression régulière est reconnaissable par un AEFND avec ǫ-transition. Preuve constructive : on montre comment créer l automate à partir de l expression régulière. Plus précisément, on montre que l on peut construire un AEFND avec ǫ-transition tel que : aucun arc n arrive vers son état initial aucun arc ne part de son unique état final. Cette preuve se fait par induction sur le nombre k d opérateurs de l expression régulière. Langages formels, automates et grammaires formelles p.51/94

98 Induction (preuve) : cas de base Pour k=0 : Langages formels, automates et grammaires formelles p.52/94

99 Induction (preuve) : cas de base Pour k=0 : est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ définie nulle part. Langages formels, automates et grammaires formelles p.52/94

100 Induction (preuve) : cas de base Pour k=0 : est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ définie nulle part. {ǫ} est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ(ǫ) = q f. Langages formels, automates et grammaires formelles p.52/94

101 Induction (preuve) : cas de base Pour k=0 : est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ définie nulle part. {ǫ} est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ(ǫ) = q f. {c} est reconnu par ({q 0, q f }, Σ, δ, q 0, {q f }) avec δ(c) = q f. Langages formels, automates et grammaires formelles p.52/94

102 Induction (preuve) : cas général Posons que le théorème est vrai pour les expressions avec au plus k opérateurs. Soit r une expression ayant k opérateurs. Cette expression peut avoir 3 formes : r = r 1 + r 2. r = r 1.r 2. r = r 1. Soient A 1 = (Q 1, Σ 1, δ 1, q 1, {f 1 }) et A 2 = (Q 2, Σ 2, δ 2, q 2, {f 2 }) tels que L(A 1 ) = L(r 1 ) et L(A 2 ) = L(r 2 ) et Q 1 et Q 2 sont disjoints. Langages formels, automates et grammaires formelles p.53/94

103 r = r 1 + r 2 Soit A = (Q 1 Q 2 {q 0, f 0 }, Σ 1 Σ 2, δ, q 0, {f 0 }) où δ est défini par : δ(q 0, ǫ) = {q 1, q 2 }. q Q 1 \ {f 1 }, c Σ 1 {ǫ} : δ(q, c) = δ 1 (q, c). q Q 2 \ {f 2 }, c Σ 2 {ǫ} : δ(q, c) = δ 2 (q, c). δ(f 1, ǫ) = δ(f 1, ǫ) = {f 0 }. Soient A 1 = (Q 1, Σ 1, δ 1, q 1, {f 1 }) et A 2 = (Q 2, Σ 2, w (Σ 1 Σ 2 ), {f 0 } δ(q 0, w) si et seulement si {f 1 } δ(q 1, w) ou {f 2 } δ(q 2, w) donc L(A) = L(A 1 ) L(A 2 ). Langages formels, automates et grammaires formelles p.54/94

104 r = r 1.r 2 Soit A = (Q 1 Q 2, Σ 1 Σ 2, δ, q 1, {f 2 }) où δ est défini par : q Q 1 \ {f 1 }, c Σ 1 {ǫ} : δ(q, c) = δ 1 (q, c). q Q 2 \ {f 2 }, c Σ 2 {ǫ} : δ(q, c) = δ 2 (q, c). δ(f 1, ǫ) = {q 2 }. w (Σ 1 Σ 2 ), δ(q 1, w) = {f 2 } si et seulement si w 1 Σ 1, w 2 Σ 2 : w = w 1.w 2 et δ(q 1, w 1 ) = {f 1 } et δ(q 2, w 2 ) = {f 2 } donc L(A) = L(A 1 ).L(A 2 ). Langages formels, automates et grammaires formelles p.55/94

105 r = r 1 Soit A = (Q 1 {q 0, f 0 }, Σ 1, δ, q 0, {f 0 }) où δ est défini par : δ(q 0, ǫ) = δ(f 1, ǫ) = {q 1, f 0 }. q Q 1 \ {f 1 }, c Σ 1 {ǫ} : δ(q, c) = δ 1 (q, c). w Σ 1, n 0, δ(q 0, w n ) = {f 0 } si et seulement si δ(q 1, w) = {f 1 } donc L(A) = L(A 1 ). Langages formels, automates et grammaires formelles p.56/94

106 Conclusion (preuve) On en déduit que le théorème est aussi vrai si r possède k opérateurs. r1 c q1 f1 c q0 qf r1+r2 q0 c q2 r2 f2 c qf c q0 c qf r1 r2 r1.r2 q1 f1 c q2 f2 c q0 c qf r1 c r1* q0 c q1 f1 c qf c Langages formels, automates et grammaires formelles p.57/94

107 AEFD -> Exp. reg. Théorème Tout langage reconnaissable par un AEFD est régulier. Preuve constructive, récursive Langages formels, automates et grammaires formelles p.58/94

108 Preuve Soit un AEFD A = ({q 0, q 1,...q n }, Σ, δ, q 0, F). On considère les AEFD suivants : i,j,k, A (k) i,j = ({q 0, q 1,...q k } {q i, q j }, Σ, δ (k) i,j, q i, {q j }) où δ (k) i,j est définie sur {q 0, q 1,...q k } {q i, q j } Σ {q 0, q 1,...q k } {q i, q j } et c Σ, q {q 0, q 1,...q k } {q i, q j }, δ (k) i,j (q, c) = δ(q, c). Langages formels, automates et grammaires formelles p.59/94

109 Preuve Soit un AEFD A = ({q 0, q 1,...q n }, Σ, δ, q 0, F). On considère les AEFD suivants : i,j,k, A (k) i,j = ({q 0, q 1,...q k } {q i, q j }, Σ, δ (k) i,j, q i, {q j }) où δ (k) i,j est définie sur {q 0, q 1,...q k } {q i, q j } Σ {q 0, q 1,...q k } {q i, q j } et c Σ, q {q 0, q 1,...q k } {q i, q j }, δ (k) i,j (q, c) = δ(q, c). A (k) i,j est l automate A qui ne conserve que les états {q 0, q 1,...q k } {q i, q j }, qui a pour état initial q i et pour état final q j. Langages formels, automates et grammaires formelles p.59/94

110 Preuve Appelons L (k) i,j le langage {w Σ δ (k) i,j (q i, w) = q j }. On va démontrer par récurrence sur k que i,j,k, L (k) i,j est régulier. (que c est vrai pour k = -1, puis que si c est vrai pour k 1 alors c est vrai pour k+1). Langages formels, automates et grammaires formelles p.60/94

111 Preuve : cas où k = -1 Pour k = -1, A ( 1) i,j ne possède que les états q i et q j. Langages formels, automates et grammaires formelles p.61/94

112 Preuve : cas où k = -1 Pour k = -1, A ( 1) i,j ne possède que les états q i et q j. Si i = j, il y a un seul état et L ( 1) i,i = {ǫ} X avec X l ensemble (éventuellement vide) de symboles permettant les transitions de q i à q i. Langages formels, automates et grammaires formelles p.61/94

113 Preuve : cas où k = -1 Pour k = -1, A ( 1) i,j ne possède que les états q i et q j. Si i = j, il y a un seul état et L ( 1) i,i = {ǫ} X avec X l ensemble (éventuellement vide) de symboles permettant les transitions de q i à q i. Si i j alors L ( 1) i,j = (W X.Y.Z).X.Y avec W, X, Y, Z les ensembles (éventuellement vides) de symboles permettant les transitions respectivement de q i à q i, de q i à q j, de q j à q j et de q j à q i. Langages formels, automates et grammaires formelles p.61/94

114 Preuve : cas où k = -1 Pour k = -1, A ( 1) i,j ne possède que les états q i et q j. Si i = j, il y a un seul état et L ( 1) i,i = {ǫ} X avec X l ensemble (éventuellement vide) de symboles permettant les transitions de q i à q i. Si i j alors L ( 1) i,j = (W X.Y.Z).X.Y avec W, X, Y, Z les ensembles (éventuellement vides) de symboles permettant les transitions respectivement de q i à q i, de q i à q j, de q j à q j et de q j à q i. Dans tous les cas, L ( 1) i,j est bien un langage régulier. Langages formels, automates et grammaires formelles p.61/94

115 Preuve : cas général Posons que L (k 1) i,j est régulier. L automate A (k) i,j possède l état supplémentaire q k par rapport à A (k 1) i,j. Pour déduire le langage L (k) i,j à partir de L (k 1) i,j, il nous faut rajouter les mots qui sont reconnus si on passe par l état q k. On a alors 3 cas : Il n existe pas de chemin partant de q i, menant à q j et passant par q k. Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il n existe pas de circuit dans l automate A (k) i,j contenant q k. Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il existe au moins un circuit (k) Langages formels, automates et grammaires formelles p.62/94

116 Cas 1 Il n existe pas de chemin partant de q i, menant à q j et passant par q k. Langages formels, automates et grammaires formelles p.63/94

117 Cas 1 Il n existe pas de chemin partant de q i, menant à q j et passant par q k. On a alors L (k) i,j = L(k 1) i,j. Langages formels, automates et grammaires formelles p.63/94

118 Cas 2 Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il n existe pas de circuit dans l automate A (k) i,j contenant q k. Langages formels, automates et grammaires formelles p.64/94

119 Cas 2 Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il n existe pas de circuit dans l automate A (k) i,j contenant q k. On a alors L (k) i,j = L(k 1) i,k.l (k 1) k,j L (k 1) i,j. Langages formels, automates et grammaires formelles p.64/94

120 Cas 3 Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il existe au moins un circuit dans l automate A (k) i,j contenant q k. Langages formels, automates et grammaires formelles p.65/94

121 Cas 3 Il existe au moins un chemin partant de q i, menant à q j et passant par q k et il existe au moins un circuit dans l automate A (k) i,j contenant q k. On a alors L (k) i,j = L(k 1) i,k.(l (k 1) k,k ).L (k 1) k,j L (k 1) i,j. Langages formels, automates et grammaires formelles p.65/94

122 Preuve : conclusion Dans tous les cas L (k) i,j est régulier. Langages formels, automates et grammaires formelles p.66/94

123 Preuve : conclusion Dans tous les cas L (k) i,j est régulier. Le langage de l automate A est l union des langages L (n) 0,j pour toutes les valeurs de j telles que q j F. Ce langage est donc régulier. Langages formels, automates et grammaires formelles p.66/94

124 Preuve : conclusion Dans tous les cas L (k) i,j est régulier. Le langage de l automate A est l union des langages L (n) 0,j pour toutes les valeurs de j telles que q j F. Ce langage est donc régulier. Cette preuve indique un moyen de déduire l expression régulière du langage reconnu par un AEFD. Il existe une méthode plus pratique d arriver au même résultat. Langages formels, automates et grammaires formelles p.66/94

125 Méthode par élimination d état Idée : éliminer un par un les états internes (ni initial ni finaux) d un AEFD pour produire finalement un AEFD équivalent qui ne contient plus d état interne et dont les arcs sont étiquetés par des expressions régulières. Langages formels, automates et grammaires formelles p.67/94

126 Méthode par élimination d état Idée : éliminer un par un les états internes (ni initial ni finaux) d un AEFD pour produire finalement un AEFD équivalent qui ne contient plus d état interne et dont les arcs sont étiquetés par des expressions régulières. Départ : remplacer les étiquettes "a,b,c,..." par des expressions régulières "a+b+c+...". Langages formels, automates et grammaires formelles p.67/94

127 Méthode par élimination d état Idée : éliminer un par un les états internes (ni initial ni finaux) d un AEFD pour produire finalement un AEFD équivalent qui ne contient plus d état interne et dont les arcs sont étiquetés par des expressions régulières. Départ : remplacer les étiquettes "a,b,c,..." par des expressions régulières "a+b+c+...". Pour éliminer un état s, il faut considérer les prédécesseurs q 1, q 2,...q n de s et les successeurs p 1, p 2,...p m de s. i,j, on remplace les arcs (q i,s) étiqueté X, (s,s) étiqueté Y, (s,p j ) étiqueté Z et (q i,p j ) étiqueté W par un arc (q i,p j ) étiqueté X.Y.Z+W. Langages formels, automates et grammaires formelles p.67/94

128 Langages non rationnels Tous les langages ne sont pas réguliers. Nous allons voir un moyen de démontrer que certains langages ne sont pas réguliers grâce au lemme du facteur itérant. Lemme Lemme du facteur itérant Pour tout langage régulier L, il existe une constante n (dépendant de L) telle que pour tout mot w de L de longueur supérieure ou égale à n, il existe les mots x, y et z tels que (1) w = x.y.z, (2) y ǫ, (3) x.y n et (4) k 0 : x.y k.z L. Langages formels, automates et grammaires formelles p.68/94

129 Preuve du lemme Soit L un langage rationnel et un AEFD A = (Q, Σ, δ, q 0, F) qui reconnaît L. Soit n le nombre d états de A. Soit w=c 1 c 2...c m un mot de L tel que i c i Σ et m>n. Il existe forcément deux valeurs i et j telles que 0 i < j n et δ(q 0, c 1 c 2...c i ) = δ(q 0, c 1 c 2...c j ) car il y a moins d états dans l automate que de facteurs gauches dans w. Soit x = c 1...c i, y = c i+1...c j et z = c j+1...c m. On a bien w = x.y.z, y ǫ (car i < j), x.y n (car j n) et x.y k.z L (car k, δ(q i, y) = δ(q i, y k )). Langages formels, automates et grammaires formelles p.69/94

130 Intérêt du lemme Ce lemme signifie que, dans tout langage rationnel, il existe une taille n de mot telle que tous les mots de taille supérieure possède un facteur non vide qui, s il apparaissait plusieurs fois à cet endroit dans le mot (au lieu d une seule fois), ferait que le mot appartiendrait encore au langage. On utilise en général le lemme du facteur itérant pour montrer qu un certain langage L n est pas rationnel : il faut montrer que quel que soit n, on peut trouver un mot w qui dépend de n et est de la forme w = x.y.z où x.y n et y ǫ mais qu il existe une valeur k telle que x.y k.z L. Langages formels, automates et grammaires formelles p.70/94

131 Exemple Démontrons que L = {a m b m m 0} n est pas régulier. Si L était régulier, il existerait une constante n tel que pour tout mot w de L, on aurait w qui répond aux critères donnés dans le lemme du facteur itérant. Or, si on choisit w = a n b n, qui est de longueur supérieure à n, sachant qu il faut que w = x.y.z, que x.y n et y ǫ, on a forcément x.y qui ne contient que des symboles a et z qui contient n symboles b (et peut-être des symboles a devant). Donc, il est faux que k 0, on a x.y k.z L : par exemple, pour k=0, on a x.y 0.z = x.z qui contient au maximum n-1 symboles a et exactement n symboles b donc il n appartient pas à L. Langages formels, automates et grammaires formelles p.71/94

132 Machine de Turing Une machine de Turing (MT) est une machine abstraite qui permet de modéliser un ordinateur : les calculs qu ils peuvent effectuer sont les mêmes. Langages formels, automates et grammaires formelles p.72/94

133 Machine de Turing Une machine de Turing (MT) est une machine abstraite qui permet de modéliser un ordinateur : les calculs qu ils peuvent effectuer sont les mêmes. Une MT est en quelque sorte un automate d états finis qui lit et écrit des symboles sur les cases d un ruban de longueur infinie et peut potentiellement changer le sens de sa lecture (déplacement d une case vers la gauche ou vers la droite) après chaque lecture de symbole. Langages formels, automates et grammaires formelles p.72/94

134 MT : définition informelle Une MT peut se voir comme étant composé d un système de contrôle, d une tête de lecture/écriture et d un ruban de longueur infini. Langages formels, automates et grammaires formelles p.73/94

135 MT : définition informelle Une MT peut se voir comme étant composé d un système de contrôle, d une tête de lecture/écriture et d un ruban de longueur infini. Le système de contrôle détermine ce que sera le prochain état de la machine en fonction de l état courant et du symbole du ruban pointé par la tête de lecture, ce que sera le symbole qu il faudra écrire à l emplacement pointé par la tête de lecture dans quel sens (une case à gauche ou à droite) déplacer la tête de lecture. Langages formels, automates et grammaires formelles p.73/94

136 MT : définition informelle Une MT peut se voir comme étant composé d un système de contrôle, d une tête de lecture/écriture et d un ruban de longueur infini. Le système de contrôle détermine ce que sera le prochain état de la machine en fonction de l état courant et du symbole du ruban pointé par la tête de lecture, ce que sera le symbole qu il faudra écrire à l emplacement pointé par la tête de lecture dans quel sens (une case à gauche ou à droite) déplacer la tête de lecture. Initialement, la tête de lecture pointe sur le 1er symbole d une suite finie de symboles encadrée à gauche et à droite par deux suites infinies de cases vides. Langages formels, automates et grammaires formelles p.73/94

137 MT : définition formelle Définition Une machine de Turing est un septuplet M = (Q, Σ, Γ, δ, q 0,, F) où : Q est l ensemble des états de la machine. Σ est l ensemble des symboles d entrée de la machine. Γ est l ensemble des symboles du ruban. Σ Γ. δ est définie sur Q Γ Q Γ {, } telle que δ(q,c) = (q,c, D) avec q, le nouvel état de la machine, c le symbole qui remplace c sur le ruban D = ou, le sens de déplacement de la tête de lecture (gauche ou droite). q 0 est l état initial. Γ est le symbole de la case vide. F est l ensemble des états finaux. Langages formels, automates et grammaires formelles p.74/94

138 Représentation de l état global d une MT On indique par c 1 c 2...c i 1 qc i...c k que le ruban contient le mot c 1...c k encadré par des cases vides tandis que le système de contrôle se trouve dans l état q et que la tête de lecture pointe sur c i. Langages formels, automates et grammaires formelles p.75/94

139 Succession d états globaux d une MT αqβ α q β désigne une transition élémentaire de l état global αqβ à l état global α q β par la lecture du premier symbole de β, son remplacement par un nouveau symbole et un déplacement de la tête de lecture à gauche ou à droite. On désignera par la fermeture transitive et réflexive de. Langages formels, automates et grammaires formelles p.76/94

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

Le théorème de Thalès et sa réciproque

Le théorème de Thalès et sa réciproque Le théorème de Thalès et sa réciproque I) Agrandissement et Réduction d une figure 1) Définition : Lorsque toutes les longueurs d une figure F sont multipliées par un même nombre k on obtient une autre

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

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x = LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste

Plus en détail

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

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

Plus en détail

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

Chapitre 2. Matrices

Chapitre 2. Matrices Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce

Plus en détail

2.4 Représentation graphique, tableau de Karnaugh

2.4 Représentation graphique, tableau de Karnaugh 2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables

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

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.

DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur

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

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

Plus en détail

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites I Droites perpendiculaires Lorsque deux droites se coupent, on dit qu elles sont sécantes Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites Lorsque deux

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Note de cours. Introduction à Excel 2007

Note de cours. Introduction à Excel 2007 Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier

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

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» Corrigé Cours de Mr JULES v3.3 Classe de Quatrième Contrat 1 Page 1 sur 13 CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» «Correction en rouge et italique.» I. Les nombres décimaux relatifs.

Plus en détail

PROBLEME(12) Première partie : Peinture des murs et du plafond.

PROBLEME(12) Première partie : Peinture des murs et du plafond. PROBLEME(12) Une entreprise doit rénover un local. Ce local a la forme d'un parallélépipède rectangle. La longueur est 6,40m, la largeur est 5,20m et la hauteur est 2,80m. Il comporte une porte de 2m de

Plus en détail

Cours Premier semestre

Cours Premier semestre C.Belleudy, D.Gaffé Université de Nice-Sophia Antipolis DEUG Première année SM,MP,MI UECS EEA Électronique Numérique Cours Premier semestre C. Belleudy, D.Gaffé version 3. 2 Électronique Numérique Chapitre

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

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

«Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement.

«Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement. «Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement.» Léonard de Vinci MATHEMATIQUES Les mathématiques revêtaient un caractère particulier

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

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Université Paris-Sud Licence d Informatique Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Adresse de l auteur : LIX École Polytechnique

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

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

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

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

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

La mesure de Lebesgue sur la droite réelle

La mesure de Lebesgue sur la droite réelle Chapitre 1 La mesure de Lebesgue sur la droite réelle 1.1 Ensemble mesurable au sens de Lebesgue 1.1.1 Mesure extérieure Définition 1.1.1. Un intervalle est une partie convexe de R. L ensemble vide et

Plus en détail

Fonctions de deux variables. Mai 2011

Fonctions de deux variables. Mai 2011 Fonctions de deux variables Dédou Mai 2011 D une à deux variables Les fonctions modèlisent de l information dépendant d un paramètre. On a aussi besoin de modéliser de l information dépendant de plusieurs

Plus en détail

CHAPITRE 10. Jacobien, changement de coordonnées.

CHAPITRE 10. Jacobien, changement de coordonnées. CHAPITRE 10 Jacobien, changement de coordonnées ans ce chapitre, nous allons premièrement rappeler la définition du déterminant d une matrice Nous nous limiterons au cas des matrices d ordre 2 2et3 3,

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

Mesure d angles et trigonométrie

Mesure d angles et trigonométrie Thierry Ciblac Mesure d angles et trigonométrie Mesure de l angle de deux axes (ou de deux demi-droites) de même origine. - Mesures en degrés : Divisons un cercle en 360 parties égales définissant ainsi

Plus en détail

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique Contenu Introduction Modélisation Problèmes de satisfaction des contraintes Exemples des modèles PPC simples

Plus en détail

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé.

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en 2000. Énoncé. I- ACTIVITES NUMERIQUES (12 points) Exercice 1 (3 points) On considère

Plus en détail

1S Modèles de rédaction Enoncés

1S Modèles de rédaction Enoncés Par l équipe des professeurs de 1S du lycée Parc de Vilgénis 1S Modèles de rédaction Enoncés Produit scalaire & Corrigés Exercice 1 : définition du produit scalaire Soit ABC un triangle tel que AB, AC

Plus en détail

Quelques contrôle de Première S

Quelques contrôle de Première S Quelques contrôle de Première S Gilles Auriol auriolg@free.fr http ://auriolg.free.fr Voici l énoncé de 7 devoirs de Première S, intégralement corrigés. Malgré tout les devoirs et 5 nécessitent l usage

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

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

Probabilités sur un univers fini

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

Plus en détail

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

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

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

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

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

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

Chapitre 6. Fonction réelle d une variable réelle

Chapitre 6. Fonction réelle d une variable réelle Chapitre 6 Fonction réelle d une variable réelle 6. Généralités et plan d étude Une application de I dans R est une correspondance entre les éléments de I et ceu de R telle que tout élément de I admette

Plus en détail

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE Jean Luc Bovet, Auvernier L'article de Monsieur Jean Piquerez (Bulletin de la SSPMP No 86), consacré aux symédianes me paraît appeler une généralisation. En

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire

Plus en détail

Limites finies en un point

Limites finies en un point 8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,

Plus en détail

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

3. Conditionnement P (B)

3. Conditionnement P (B) Conditionnement 16 3. Conditionnement Dans cette section, nous allons rappeler un certain nombre de définitions et de propriétés liées au problème du conditionnement, c est à dire à la prise en compte

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

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

Texte Agrégation limitée par diffusion interne

Texte Agrégation limitée par diffusion interne Page n 1. Texte Agrégation limitée par diffusion interne 1 Le phénomène observé Un fût de déchets radioactifs est enterré secrètement dans le Cantal. Au bout de quelques années, il devient poreux et laisse

Plus en détail

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de HAPITRE 1 Suites arithmetiques et géometriques Rappel 1 On appelle suite réelle une application de dans, soit est-à-dire pour une valeur de la variable appartenant à la suite prend la valeur, ie : On notera

Plus en détail

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES Théorème - Définition Soit un cercle (O,R) et un point. Une droite passant par coupe le cercle en deux points A et

Plus en détail

Le seul ami de Batman

Le seul ami de Batman Le seul ami de Batman Avant de devenir un héros de cinéma en 1989, Batman est depuis plus de 50 ans un fameux personnage de bandes dessinées aux États-Unis. Il fut créé en mai 1939 dans les pages de Détective

Plus en détail

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 % 23 CALCUL DE L INTÉRÊT Tau d intérêt Paul et Rémi ont reçu pour Noël, respectivement, 20 et 80. Ils placent cet argent dans une banque, au même tau. Au bout d une année, ce placement leur rapportera une

Plus en détail

MPI Activité.10 : Logique binaire Portes logiques

MPI Activité.10 : Logique binaire Portes logiques MPI Activité.10 : Logique binaire Portes logiques I. Introduction De nombreux domaines font appel aux circuits logiques de commutation : non seulement l'informatique, mais aussi les technologies de l'asservissement

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

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

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

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

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

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

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

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

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

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

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

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

6. Les différents types de démonstrations

6. Les différents types de démonstrations LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,

Plus en détail

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

Plus en détail

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

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

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Correction : E = Soit E = -1,6. F = 12 Soit F = -6 3 + 45. y = 11. et G = -2z + 4y G = 2 6 = 3 G = G = -2 5 + 4 11

Correction : E = Soit E = -1,6. F = 12 Soit F = -6 3 + 45. y = 11. et G = -2z + 4y G = 2 6 = 3 G = G = -2 5 + 4 11 Correction : EXERCICE : Calculer en indiquant les étapes: (-6 +9) ( ) ( ) B = -4 (-) (-8) B = - 8 (+ 6) B = - 8 6 B = - 44 EXERCICE : La visite médicale Calcul de la part des élèves rencontrés lundi et

Plus en détail

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

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

Plus en détail

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

Problème 1 : applications du plan affine

Problème 1 : applications du plan affine Problème 1 : applications du plan affine Notations On désigne par GL 2 (R) l ensemble des matrices 2 2 inversibles à coefficients réels. Soit un plan affine P muni d un repère (O, I, J). Les coordonnées

Plus en détail

Représentation géométrique d un nombre complexe

Représentation géométrique d un nombre complexe CHAPITRE 1 NOMBRES COMPLEXES 1 Représentation géométrique d un nombre complexe 1. Ensemble des nombres complexes Soit i le nombre tel que i = 1 L ensemble des nombres complexes est l ensemble des nombres

Plus en détail

Cours d Informatique

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

Plus en détail

Correction du baccalauréat ES/L Métropole 20 juin 2014

Correction du baccalauréat ES/L Métropole 20 juin 2014 Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)

Plus en détail

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

MEMOIRES MAGNETIQUES A DISQUES RIGIDES MEMOIRES MAGNETIQUES A DISQUES RIGIDES PARTIE ELECTRONIQUE Le schéma complet de FP5 est donnée en annexe. Les questions porterons sur la fonction FP5 dont le schéma fonctionnel de degré 2 est présenté

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

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet

Plus en détail

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année

Cours d électricité. Circuits électriques en courant constant. Mathieu Bardoux. 1 re année Cours d électricité Circuits électriques en courant constant Mathieu Bardoux mathieu.bardoux@univ-littoral.fr IUT Saint-Omer / Dunkerque Département Génie Thermique et Énergie 1 re année Objectifs du chapitre

Plus en détail

Microsoft Excel. Tableur

Microsoft Excel. Tableur Microsoft Excel Tableur 1 Introduction à la notion du tableur Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur des nombres stockés

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Model checking temporisé

Model checking temporisé Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier

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

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015 Énoncé Soit V un espace vectoriel réel. L espace vectoriel des endomorphismes de V est désigné par L(V ). Lorsque f L(V ) et k N, on désigne par f 0 = Id V, f k = f k f la composée de f avec lui même k

Plus en détail