L2: cours I4c Langages et automates

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

Download "L2: cours I4c Langages et automates"

Transcription

1 L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 Modifié le 31 mai 2007

2 Sommaire Utiles pour compilation, interprétation, Langages rationnels 2. Langages reconnaissables 3. Langages algébriques

3 Langages rationnels Les mots - alphabet=ensemble fini de symboles (lettres) - mot sur alphabet A : suite finie de lettres de A - A =ensemble des mots définis sur A - mot vide ɛ A - longueur d un mot u : u =nb de lettres. u a =nb d occurences de a dans u. - opération de concaténation sur A : si u = abc et v = cac alors u.v = abccac. Rem : opération associative (u(v.w) = (u.v)w) mais pas commutative ( u, v, u.v v.u). - notation : le mot aaabbab sera raccourci en a 3 b 2 ab. - (A,., ɛ) est un monoïde (ensemble muni d une opération associative et d un élément neutre, mais pas forcement d inverse comme dans un groupe).

4 Langages rationnels Langages rationnels - Langage formel sur A= ensemble fini ou infini de mots de A : L A. - opérations : * complémentation L = {u A, u L} * union L 1 L 2 = {u A, u L 1 ou u L 2 } * intersection L 1 L 2 = {u A, u L 1 et u L 2 } * produit L 1.L 2 = {u A, u = u 1 u 2, u 1 L 1 et u 2 L 2 } * fermeture itérative : L est l ensemble des mots formés par un concaténation finie de mots de L : L = {ɛ} L L 2 L L + = L {ɛ}.

5 Langages rationnels Expressions rationnelles Définition Un langage est dit rationnel s il s écrit de manière finie à l aide des opérations d union, de produit et de fermeture transitive à partir des lettres de l alphabet et du mot vide. défini par une expression rationnelle. De façon formelle : Définition Une expression rationnelle est définie de façon inductive par : - est une expression rationnelle, - si a est une lettre, a est une expression rationnelle, - si E est une expression rationnelle, E aussi, - si E 1 et E 2 sont des expr. rationnelles, E 1 + E 2 et E 1 E 2 aussi.

6 Langages rationnels Exemple Ex : si A = {a, b, c}, A = (a b c) = (a + b + c). Ex : sur {a, b}, donner les expressions rationnelles correspondant au langages suivants : mots ayant 1 seule occurence de b mots contenant abab mots ne contenant pas abab.

7 Langages reconnaissables Langages reconnaissables Définition Un automate fini A est un sextuplet (A, Q, T, λ, I, F ) avec : - A alphabet fini appelé alphabet d entrée, - Q ensemble fini d états, - T ensemble des transitions, - λ : T A étiquettes des transitions, - I ensemble des états initiaux, - F ensemble des états terminaux (ou finals), Rem : (Q, T, λ) est un graphe orienté étiqueté (les arcs ont une valeur ou étiquette qui est une lettre de A).

8 Langages reconnaissables Exemple

9 Langages reconnaissables Langage reconnu par un automate Soit r = q 0, q 1,..., q p un chemin dans A La trace λ(r) de r est le mot de A formé par les étiquettes portées par les arcs qui composent le chemin : λ(r) = λ(q 0, q 1 )λ(q 1, q 2 )... λ(q p 1, q p ). Définition Le langage reconnu par un automate A est l ensemble des traces de tous les chemins qui partent d un état initial et aboutissent à un état final : L(A) = {λ(r) A, r = q 0, q 1,..., q p, q 0 I, q p F }. Définition Un langage L est reconnaissable ssi il existe un automate fini A tel que L = L(A).

10 Langages reconnaissables Exemple : Langage reconnu par l automate de l ex précédant

11 Langages reconnaissables Automates minimaux et complets Il existe souvent plusieurs solutions d automates correspondant à un langage reconnaissable. Il existe une solution utilisant un nombre minimum d états : l automate minimal. Il existe des algos pour minimiser un automate. Définition Un automate est complet ssi q Q, a A, il existe au moins une transition t d origine q et d étiquette a. Il est facile de rendre un automate complet en ajoutant un état appelé puit et toutes les transitions manquantes de chaque état vers ce puit.

12 Langages reconnaissables Automates déterministes Définition Un automate est déterministe ssi : - il n y a qu un seul état initial, et - q Q, a A, il existe au plus une transition t d origine q et d étiquette a. Un automate non déterministe est souvent plus facile à construire (qu un déterministe), par contre il est plus facile de tester si un mot appartient à un langage quand on est en présence d un automate déterministe.

13 Langages reconnaissables Automates déterministes Pour un automate déterministe, on peut définir la fonction ou table de transition δ : Q A Q, qui à partir d un état et d une lettre, donne l état dans lequel on arrive si on suit la transition correspondant à la lettre. Ex :

14 Langages reconnaissables Automates déterministes Un automate A sera non déterministe si au moins une des situations suivantes à lieu : - A possède au moins deux états initiaux - A possède des transitions étiquetées ɛ - δ n est pas une fonction mais une relation. Il existe des algorithmes pour déterminiser un automate, donc il existe toujours une solution déterministe!!

15 Langages reconnaissables Exemple Construire un automate déterministe acceptant le langage (aab + aa + aabb)

16 Langages reconnaissables Algorithme de simulation d un automate déterministe Etat <- etat_initial Tant Que (il reste des lettres) faire Debut Lire(lettre) Etat <- TT[Etat,lettre] //TT=table de transition Fin Si Etat est un etat final alors le mot est reconnu sinon le mot n est pas reconnu

17 8 de 25 L2: cours I4c Langages et automates Langages reconnaissables Rationnel vs reconnaissable Théorème (Kleene) L est reconnaissable ssi L est rationnel. En d autres termes, il est possible de construire un automate à partir de n importe quelle expression rationnelle et, réciproquement, d associer une expression rationnelle à tout automate. Les langages rationnels (ou reconnaissables) permettent de définir formellement beaucoup de langages, mais pas tous. Par ex le langage {a n b n, n N} n est pas rationnel. Langages algébriques...

18 Langages algébriques Langages algébriques Basés sur la notion de réécriture... Définition Une grammaire algébrique est un triplet G = (T, N, P) où - T est un alphabet fini dit terminal, - N est un alphabet fini dit non-terminal et disjoint de T, - P est un ensemble fini de règles de production. Une règle est A u, A N, u (N T )

19 Langages algébriques Exemple T = {a, b}, N = {A, B, S} et P = {S A, S B, B bb, B ɛ, A aa, A ɛ}. Convention : Terminaux=minuscules, non-terminaux= majuscules

20 Langages algébriques Réécriture Définition Soient f et g deux mots de (N T ). On dit que f se réécrit en g par application de la règle p : A u, que l on note f p g ssi f est de la forme f = f 1 Af 2 et g = f 1 uf 2. Une dérivation est une séquence de réécritures la forme f 1 p1 f 2 p2... f n pn f n+1. On dit qu un mot f se dérive en un mot g, noté f g si f = g ou s il existe une dérivation telle que f 1 = f et f n+1 = g. On ne peut réécrire un mot ne contenant aucun élément non-terminal : un tel mot est dit terminal ou irréductible.

21 Langages algébriques Langage algébrique Définition Le langage engendré par une grammaire G à partir de A (appelé axiome) est l ensemble des mots irréductibles obtenus par dérivation de A : L(G, A) = {u T, A u}. Ce langage est un langage algébrique. Ex précédent : mots ne contenant que des a ou que des b. Ex : Soit G = ({a, b}, {S}, {s as, S Sb, S ɛ}). Le langage engendré par la grammaire G est L(G, S) = a b.

22 Langages algébriques Quelques propriétés des langages algébriques L 1 et L 2 algébriques L 1 L 2 et L 1.L 2 algébriques, L 1 et L 2 algébriques L 1 L 2 algébrique, tout langage rationnel (reconnaissable) est algébrique.

23 Langages algébriques Arbre de dérivation A tout mot d un langage algébrique on peut faire correspondre un arbre de dérivation qui indique par quelle suite de dérivations le mot à été obtenu. La racine de l arbre est le non-terminal de départ et le mot est obtenu par un parcours en largeur les feuilles de l arbre. Si un mot peut être obtenu par deux dérivations différentes, la grammaire est dite ambiguë. Ex : G : S x y z (S) S S S + S est ambiguë car u = x + y z peut être généré par deux arbres de dérivation différents (les 2 dérivations correspondant à u = (x + y) z et u = x + (y z)). Une version non ambiguë de la grammaire précédente est : E E + T T, T T F F, F (E) x y z.

24 Langages algébriques Construction d une grammaire à partir d un automate Chaque état q i de l automate correspond à un non-terminal Q i de la grammaire et pour chaque transition (q i, q j ) de l automate, on ajoute la règle Q i aq j, où a = λ(q i, q j ) est l étiquette de la transition. Le langage engendré par cette grammaire est le même que l ensemble des mots reconnus par l automate.

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

Grammaires formelles, Automates

Grammaires formelles, Automates 1/39 Grammaires formelles, Automates Pierre Zweigenbaum LIMSI, CNRS pz@limsi.fr http://www.limsi.fr/~pz/ 2/39 1 Syntaxe : grammaire, analyse 2 Grammaires formelles Langage et grammaire Grammaires régulières

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

Plus en détail

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

5. Equivalences d automates

5. Equivalences d automates 5. Equivalences d automates 5.1. Le problème du déterminisme 5.2. Différentes sortes d AEF 5.3. Déterminisation d un AEF 5.4. Déterminisation d un AEF avec ɛ-transitions 5.5. Minimisation d un AEF déterministe

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

Automate Fini Non-déterministe

Automate Fini Non-déterministe Automate Fini Non-déterministe Théorème de Kleene Systèmes Formels Master 1 ISIDIS Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/~verel Université du Littoral Côte d Opale

Plus en détail

Formulaire Automates Sylvain Lombardy

Formulaire Automates Sylvain Lombardy Formulaire Automates Sylvain Lombardy Définition 1 Alphabet, mot, langage Un alphabet est un ensemble fini de symboles; chacun de ces symboles est appelé lettre. Un mot est une suite fini de lettres pris

Plus en détail

Un automate à états fini

Un automate à états fini Automates à états et langages Notion d automate Langage reconnu par un automate Automates non déterministes Expressions régulières et automates Limites des automates Notion d automate Objectif : définir

Plus en détail

Automate Avancé. Olivier Carton. Étudiant : Colin González

Automate Avancé. Olivier Carton. Étudiant : Colin González Automate Avancé Olivier Carton Étudiant : Colin González Table des matières 1 Introduction 2 1.1 Définitions............................... 2 1.2 Opérations sur les langages..................... 3 1.3

Plus en détail

Chap. 2. Langages et automates

Chap. 2. Langages et automates Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique

Plus en détail

CHAPITRE 5 : ANALYSE LEXICALE

CHAPITRE 5 : ANALYSE LEXICALE CHAPITRE 5 : ANALYSE LEXICALE L analyse lexicale est un autre domaine fondamental d application des automates finis. Dans la plupart des langages de programmation, les unités lexicales (identificateurs,

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires

RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires Master ASE : http://master-ase.univ-lille1.fr/ Master Informatique : http://www.fil.univ-lille1.fr/ Spécialité IVI : http://master-ivi.univ-lille1.fr/

Plus en détail

MVA004 Automates, codes, graphes et matrices Cours n 6

MVA004 Automates, codes, graphes et matrices Cours n 6 MVA004 Automates, codes, graphes et matrices Cours n 6 cours n 5 1 Mots-clés Automate fini déterministe AFD Automate fini non déterministe AFN Déterminisation mots-clés 2 MVA004 Chapitre 22 Construction

Plus en détail

Automates & Langages

Automates & Langages Automates & Langages Frédéric Olive 1 2010 / 2011 1. LIF/CMI, 39 rue joliot Curie, 13453 Marseille - 04 13 55 13 16 - frederic.olive@lif.univ-mrs.fr Table des matières Introduction 5 1 Langages réguliers

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Marc Chemillier Master Atiam (Ircam), 2009-2010

Marc Chemillier Master Atiam (Ircam), 2009-2010 MMIM Modèles mathématiques en informatique musicale Marc Chemillier Master Atiam (Ircam), 2009-2010 Notions théoriques sur les langages formels (Partie I) - Définitions générales o Mots, langages o Monoïdes

Plus en détail

Grammaires hors-contexte

Grammaires hors-contexte Analyse syntaxique Grammaires hors-contexte Une grammaire hors-contexte est un 4-uplet N, Σ, P, S où : N est un ensemble de symboles non terminaux, appelé l alphabet non terminal. Σ est un ensemble de

Plus en détail

Modélisation de programmes C en expressions régulières

Modélisation de programmes C en expressions régulières HATEM MAHBOULI Modélisation de programmes C en expressions régulières Mémoire présenté à la Faculté des études supérieures de l Université Laval dans le cadre du programme de maîtrise en informatique pour

Plus en détail

Automate à états finis. Faculté I&C, André Maurer, Claude Petitpierre

Automate à états finis. Faculté I&C, André Maurer, Claude Petitpierre Automate à états finis Faculté I&C, André Maurer, Claude Petitpierre Exemple introductif: reconnaître un numéro de plaque Numéros valides Numéros non valides Un problème de décision Un mot OUI, si le mot

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

Cours 9: Automates finis

Cours 9: Automates finis Cours 9: Automates finis Olivier Bournez ournez@lix.polytechnique.fr LIX, Ecole Polytechnique INF421-a Bases de la programmation et de l algorithmique Aujourd hui Rappels Déterminisation Automates et expressions

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

Polytechnique. Épreuve d Informatique 1998

Polytechnique. Épreuve d Informatique 1998 Polytechnique Épreuve d Informatique 1998 Corrigé rédigé par Martine Lannaud, Lycée Chaptal, Paris Pour toute remarque ou correction martine.lannaud@prepas.org Motifs et automates Question 1. Quelques

Plus en détail

Grammaire, grammaire régulière

Grammaire, grammaire régulière Grammaire, grammaire régulière Intelligence Artificielle et Systèmes Formels Master 1 I2L Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/ verel Université du Littoral Côte

Plus en détail

Analyse descendante LL(k)

Analyse descendante LL(k) Bureau 203 - M3 extension mirabelle.nebut at lifl.fr 2012-2013 Principes Factorisation à gauche Suppression de la récursivité à gauche 2/119 Objectif du cours Comprendre le fonctionnement des générateurs

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

Théorie des Langages Formels Chapitre 7 : Grammaires

Théorie des Langages Formels Chapitre 7 : Grammaires 1/22 Théorie des Langages Formels Chapitre 7 : Grammaires Florence Levé Florence.Leve@u-picardie.fr Année 2014-2015 2/22 Reconnaître ou engendrer Un automate peut être vu comme une machine permettant de

Plus en détail

TD 2 - Modèles de calcul

TD 2 - Modèles de calcul TD 2 - Modèles de calcul Remarques préliminaires Si ou désigne une relation binaire (de dérivation/transition suivant le contexte), on notera ou sa clôture transitive, comprendre la relation obenue en

Plus en détail

CHAPITRE 4 : BASES DE LEX

CHAPITRE 4 : BASES DE LEX CHAPITRE 4 : BASES DE LEX Analyse lexicale (rappel) L analyse lexicale consiste à déterminer le, «statut» de chaque mot, c est-à-dire l unité lexicale (ou token) qui lui correspond. Les unités lexicales

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la première partie

Mathématiques pour l informatique 1 notes de cours sur la première partie 1 Mathématiques pour l informatique 1 notes de cours sur la première partie L1 Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances

Plus en détail

et Automates de Büchi

et Automates de Büchi Cours 9: Propriétes ω-régulières et Automates de Büchi Francesco Belardinelli Laboratoire IBISC Remerciements à Alessio Lomuscio et Joost-Pieter Katoen 26 mars 2015 Cours 9 - Vue d Ensemble Motivation

Plus en détail

INFO-F-302 Informatique Fondamentale Logique du premier ordre

INFO-F-302 Informatique Fondamentale Logique du premier ordre INFO-F-302 Informatique Fondamentale Logique du premier ordre Prof. Emmanuel Filiot Exercice 1 1. Soit un langage L = (p, q, r, s, t, f, g) où p, q sont des prédicats unaires, r, s, t sont des prédicats

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

Langages et Automates : LA3 Partie 1 : Langages, Expressions Rationnelles

Langages et Automates : LA3 Partie 1 : Langages, Expressions Rationnelles Langages et Automates : LA3 Partie 1 : Langages, Expressions Rationnelles Langages et Automates : LA3 Partie 1 : Langages, Expressions Rationnelles 1 / 23 1 Introduction 2 Mots 3 Langages 4 Expressions

Plus en détail

Un alphabet Un ensemble fini non vide s'appelle un alphabet. Langages réguliers et automates. Un mot. Un langage. {a,b} non. A.

Un alphabet Un ensemble fini non vide s'appelle un alphabet. Langages réguliers et automates. Un mot. Un langage. {a,b} non. A. Langages réguliers et automates finis A. Maurer Mars 09 Un alphabet Un ensemble fini non vide s'appelle un alphabet Ensemble Σ {a,b} {a,b,a,b} L'ensembledes nombres naturels pairs Alphabet? oui non oui

Plus en détail

Modélisation de systèmes par automates finis

Modélisation de systèmes par automates finis LIP6 - UPMC Année 2010 2011 Master SAR - MSR Aide mémoire Modélisation de systèmes par automates finis Table des matières 1 Introduction : modélisation par automates finis 1 2 Systèmes de transitions et

Plus en détail

Méthodes de Résolution de problèmes En Intelligence Artificielle

Méthodes de Résolution de problèmes En Intelligence Artificielle Méthodes de Résolution de problèmes En Intelligence Artificielle Résolution de Problèmes et Intelligence Artificielle Résoudre des puzzles Jouer aux échecs Faire des mathématiques Et même conduire une

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

Théorie des Langages Épisode 1 Langages et grammaires

Théorie des Langages Épisode 1 Langages et grammaires Langage Grammaires Expressions Régulières L-systèmes 1/ 28 Théorie des Langages Épisode 1 Langages et grammaires Thomas Pietrzak Université Paul Verlaine Metz Langage Grammaires Expressions Régulières

Plus en détail

Calculabilité Cours 2 : Machines de Turing

Calculabilité Cours 2 : Machines de Turing Calculabilité Cours 2 : Machines de Turing Introduction Un autre type de modèle de calcul Les fonctions récursives et les fonctions λ représentables définissent des modèles de calculs dans k N Nk N Nous

Plus en détail

Leçon 6. Savoir compter

Leçon 6. Savoir compter Leçon 6. Savoir compter Cette leçon est une introduction aux questions de dénombrements. Il s agit, d une part, de compter certains objets mathématiques (éléments, parties, applications,...) et, d autre

Plus en détail

Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents)

Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents) Numéro d anonymat: 1 Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents) Sauf mention contraire en caractères gras,

Plus en détail

CH.8 Décidabilité. Propriétés des langages récursifs : Fermés par complémentation, union et intersection. oui. non. oui M 1. non. oui M 2.

CH.8 Décidabilité. Propriétés des langages récursifs : Fermés par complémentation, union et intersection. oui. non. oui M 1. non. oui M 2. CH.8 Décidabilité 8.1 Les langages récursifs 8.2 La machine de Turing universelle 8.3 Des problèmes de langages indécidables 8.4 D'autres problèmes indécidables Automates ch8 1 8.1 Les langages récursifs

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Analyse syntaxique IFT-15752 Compilation et interpr etation c! Danny Dub e 2006

Analyse syntaxique IFT-15752 Compilation et interpr etation c! Danny Dub e 2006 Analyse syntaxique Introduction Les grammaires hors-contexte sont les outils que nous utiliserons pour spécifier la structure syntaxique des programmes. Les grammaires hors-contexte ont plusieurs avantages:

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

THEORIE DES LANGAGES & COMPILATION

THEORIE DES LANGAGES & COMPILATION THEORIE DES LANGAGES & COMPILATION Parie I: Langages réguliers & Automates + Analyse lexicale. Partie II: Compilation: Grammaires, Analyse syntaxique, Sémantique. Intervenants: M. CHABBAR : Cours partie

Plus en détail

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels.

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels. Licence de Sciences et Technologies EM21 - Analyse Fiche de cours 1 - Nombres réels. On connaît les ensembles suivants, tous munis d une addition, d une multiplication, et d une relation d ordre compatibles

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

INFZ24, Informatique et linguistique II

INFZ24, Informatique et linguistique II INFZ24, Informatique et linguistique II AUDIBERT Laurent 1 22 octobre 2003 1. Jeune équipe DELIC - Université de Provence - 29 Avenue Robert SCHUMAN - 13621 Aix-en-Provence Cedex 1 - laurent.audibert@up.univ-aix.fr

Plus en détail

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT Chapitre 4 Machines de Turing Dans ce chapitre on présente un modèle de calcul introduit dans les années 3 par Turing, les machines de Turing. Ces machines formalisent la notion de calculabilité. La thèse

Plus en détail

Grammaires formelles et. programmation logique

Grammaires formelles et. programmation logique Grammaires formelles et programmation logique Motivation Après avoir étudié Prolog nous l avons appliqué à l interprétation de règles de sémantique sur des termes (Arbres de Syntaxe Abstraite) Nous allons

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Langages hors-contexte

Langages hors-contexte Langages hors-contexte Au-delà des langages réguliers Les langages hors-contexte (angl. Context-Free Languages, CFL) ont de nomreuses applications dans l étude des langages naturels, en compilation (syntaxe

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

3. Grammaires : Backus-Naur Form

3. Grammaires : Backus-Naur Form 3. Grammaires : Backus-Naur Form Au départ : Backus-Naur Form : Métalangage introduit par ALGOL60 Basée sur la définition inductive. Moyen simple et élégant de décrire toutes les phrases permises d un

Plus en détail

Mathématiques pour l'informatique? Au programme. Objectif du semestre

Mathématiques pour l'informatique? Au programme. Objectif du semestre Mathématiques pour l'informatique? Calcul des Ensembles David Teller 09/02/2007 Q L'informatique, au juste, c'est quoi? A L'informatique, c'est : de l'électronique de la théorie des processus de la linguistique

Plus en détail

Cours de Compilation

Cours de Compilation Université Mohammed V - Agdal Faculté des sciences Département d'informatique Cours de Compilation SMI - S5 Prof. M.D. RAHMANI mrahmani@fsr.ac.ma Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 III- L'analyse

Plus en détail

Automates. Lycée Louis-le-Grand Année 2003 2004. Automates. option informatique 1/74

Automates. Lycée Louis-le-Grand Année 2003 2004. Automates. option informatique 1/74 Lycée Louis-le-Grand Année 2003 2004 Automates option informatique 1/74 1 Sommaire notion d automate, leur intérêt et leurs usages ; calculs d un automate et langage reconnu ; déterminisme, comment s en

Plus en détail

Introduction au model-checking et application à la vérification des protocoles cryptographiques

Introduction au model-checking et application à la vérification des protocoles cryptographiques Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction

Plus en détail

Analyse syntaxique. Sections 4.1 à 4.4. IFT-3101 Compilation et interprétation Révision hiver 2014 p. 1

Analyse syntaxique. Sections 4.1 à 4.4. IFT-3101 Compilation et interprétation Révision hiver 2014 p. 1 Analyse syntaxique Sections 4.1 à 4.4 IFT-3101 Compilation et interprétation Révision hiver 2014 p. 1 * Contenu * Introduction Rôle et types d analyseurs syntaxiques Gestion des erreurs Langages hors-contexte

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

Expressions rationnelles, automates, analyse lexicale

Expressions rationnelles, automates, analyse lexicale Chapitre 2 Expressions rationnelles, automates, analyse lexicale L analyse lexicale est la première phase d un compilateur ou d un interprète : elle consiste à identifier et à catégoriser les différents

Plus en détail

Apprentissage de langages formels : théorie et pratique Stage de fin de licence

Apprentissage de langages formels : théorie et pratique Stage de fin de licence Apprentissage de langages formels : théorie et pratique Stage de fin de licence Jean-Marie Madiot sous la direction de Rémi Eyraud Juin, juillet 2009 LIF de Marseille, équipe BDAA CMI Remerciements Je

Plus en détail

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0.

Sortie : OUI si n est premier, NON sinon. On peut voir Premier aussi comme une fonction, en remplaçant OUI par 1 et NON par 0. Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE IN7W11, Modèles de calcul. Responsable A. Muscholl Session 1, 2011 2012. 12 décembre 2011, 14h-17h. Documents autorisés :

Plus en détail

Théorie des langages

Théorie des langages Théorie des langages Notes de Cours François Yvon et Akim Demaille avec la participation de Pierre Senellart 9 Novembre 2015 (rev. c54c818) Avertissement au lecteur Ces notes documentent le cours de théorie

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Grammaires algébriques Analyse LL(1) Analyse LR(0) Quelques mots de l analyse LR(1) L outil Menhir 1 Compilation (INF 564) Analyse syntaxique François Pottier 16 décembre 2015 Grammaires algébriques Analyse

Plus en détail

Fondamentaux pour les Mathématiques et l Informatique :

Fondamentaux pour les Mathématiques et l Informatique : Université Bordeaux 1 Licence de Sciences, Technologies, Santé Mathématiques, Informatique, Sciences de la Matière et Ingénierie M1MI1002 Fondamentaux pour les Mathématiques et l Informatique Fondamentaux

Plus en détail

B03. Ensembles, applications, relations, groupes

B03. Ensembles, applications, relations, groupes B03. Ensembles, applications, relations, groupes Bernard Le Stum Université de Rennes 1 Version du 6 janvier 2006 Table des matières 1 Calcul propositionnel 2 2 Ensembles 5 3 Relations 7 4 Fonctions, applications

Plus en détail

La recherche locale. INF6953 La recherche locale 1

La recherche locale. INF6953 La recherche locale 1 La recherche locale INF6953 La recherche locale 1 Sommaire Recherche locale et voisinage. Fonction de voisinage, optimum local Fonction de voisinage et mouvements Fonction de voisinage et mouvements Exemples

Plus en détail

TD2 Fonctions mesurables Corrigé

TD2 Fonctions mesurables Corrigé Intégration et probabilités 2012-2013 TD2 Fonctions mesurables Corrigé 0 Exercice qui avait été préparé chez soi Exercice 1. Soit (Ω, F, µ) un espace mesuré tel que µ (Ω) = 1. Soient A, B P (Ω) deux sousensembles

Plus en détail

Langages formels, Calculabilité et Complexité

Langages formels, Calculabilité et Complexité Langages formels, Calculabilité et Complexité Année 2007/2008 Formation interuniversitaire en informatique de l École Normale Supérieure Olivier Carton Version du 5 juin 2008 Rédaction Une toute première

Plus en détail

Modélisation et vérification

Modélisation et vérification Modélisation et vérification Yohan Boichut (inspiré du cours de John Mullins, Ecole polytechnique de Montréal) Cours Master IRAD Semestre 3 Yohan Boichut Modélisation et vérification Cours Master IRAD

Plus en détail

Listes creuses - plus d espace que de temps

Listes creuses - plus d espace que de temps Listes creuses - plus d espace que de temps Omar AitMous 1 Frédérique Bassino 1 Cyril Nicaud 2 1 LIPN UMR 7030 Université Paris 13 2 LIGM, UMR CNRS 8049 Université Paris Est 11 Janvier 2011 Listes creuses

Plus en détail

Chapitre 3. Définitions récursives et induction structurelle

Chapitre 3. Définitions récursives et induction structurelle Chapitre 3 Définitions récursives et induction structurelle 114 Plan 1. Définitions récursives 2. Induction structurelle 3. Exemples Arbres Naturels Expressions arithmétiques Lectures conseillées : I MCS

Plus en détail

Mathématiques pour l Informatique I (Notes de cours) L1 UMLV. C. Nicaud

Mathématiques pour l Informatique I (Notes de cours) L1 UMLV. C. Nicaud Mathématiques pour l Informatique I (Notes de cours) L1 UMLV C. Nicaud February 10, 2014 2 Contents 1 Rappels 5 1.1 Fonctions et applications.............................. 5 1.2 Dénombrements élémentaires...........................

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 6 / 9 novembre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2015 2016 / cours

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Théorie des ensembles

Théorie des ensembles Théorie des ensembles Cours de licence d informatique Saint-Etienne 2002/2003 Bruno Deschamps 2 Contents 1 Eléments de théorie des ensembles 3 1.1 Introduction au calcul propositionnel..................

Plus en détail

Déroulement de l épreuve

Déroulement de l épreuve Déroulement de l épreuve Le sujet, volontairement très long, se compose de deux problèmes indépendants. Le candidat pourra au choix se concentrer sur l un des deux problèmes ou les aborder tous les deux.

Plus en détail

INFO-F-302 Informatique Fondamentale Exercices - Modélisation en SAT

INFO-F-302 Informatique Fondamentale Exercices - Modélisation en SAT INFO-F-302 Informatique Fondamentale Exercices - Modélisation en SAT Prof. Emmanuel Filiot Exercice 1 Modélisation autour des mots Dans ce problème, on va travailler sur les mots, vus de manière générale

Plus en détail

(3.22) Interchangeabilité mutuelle : p q r p q r

(3.22) Interchangeabilité mutuelle : p q r p q r Préséance (priorité) des opérateurs (1) [x := e] (substitution textuelle) (prioritéélevée) (2). (application de fonction) (3) + P (opérateurs unaires préfixes) (4) / mod pgcd (5) + (opérateurs binaires)

Plus en détail

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL

Théorie des graphes. Introduction. Programme de Terminale ES Spécialité. Résolution de problèmes à l aide de graphes. Préparation CAPES UCBL Introduction Ces quelques pages ont pour objectif de vous initier aux notions de théorie des graphes enseignées en Terminale ES. Le programme de Terminale (voir ci-après) est construit sur la résolution

Plus en détail

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel Introduction Notre contexte : pas possible d exprimer toutes les combinaisons de DT. Le test fonctionnel est basé sur la spécification/interface

Plus en détail

Introduction à Lex et Yacc

Introduction à Lex et Yacc Introduction à Lex et Yacc H. Cassé, M. Couzinier, M. Strecker Année 2004/2005 1. L analyseur lexical Lex 2. L analyseur syntaxique Yacc 3. La coordination de Lex et Yacc 1 Processus de compilation programme

Plus en détail

Mathématiques Pour l Informatique I : Théorie des Ensembles et Relations. Serge Iovleff

Mathématiques Pour l Informatique I : Théorie des Ensembles et Relations. Serge Iovleff Mathématiques Pour l Informatique I : Théorie des Ensembles et Relations Serge Iovleff 13 septembre 2004 Quelques références Ma Page http ://www.iut-info.univ-lille1.fr/ iovleff Un Cours réalisé par des

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Plan de cours. LOG2810 Structures discrètes. Enseignants. Chargés de laboratoires. Département de génie informatique et de génie logiciel Automne 2013

Plan de cours. LOG2810 Structures discrètes. Enseignants. Chargés de laboratoires. Département de génie informatique et de génie logiciel Automne 2013 Plan de cours LOG2810 Structures discrètes Département de génie informatique et de génie logiciel Automne 2013 3 crédits Triplet horaire : 3 2 4 Enseignants Foutse Khomh, Professeur responsable Pavillon

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Langages et Compilation. Analyse descendante prédictive

Langages et Compilation. Analyse descendante prédictive Langages et Compilation Analyse descendante prédictive 1 Introduction Grammaires LL(1) Une famille de grammaires analysables de façon ecace. Caractéristiques de l'analyse LL(1) analyse descendante Construction

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

Éléments de logique et de théorie des ensembles

Éléments de logique et de théorie des ensembles 1 Éléments de logique et de théorie des ensembles Pour les exemples et exercices traités dans ce chapitre les ensembles usuels de nombres entiers, rationnels réels et complexes sont supposés connus, au

Plus en détail

Logique des propositions (2)

Logique des propositions (2) Logique des propositions (2) F. Alexandre École Supérieure d Informatique et Applications de Lorraine January 21, 2009 Plan Algorithme de mise sous forme clausale 1 Système formel basé sur les clauses

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Épreuve orale d Informatique Fondamentale

Épreuve orale d Informatique Fondamentale Épreuve orale d Informatique Fondamentale Patrick Baillot, Nicolas Ollinger, Alexis Saurin ULC MPI 2013 Résumé Ce document consiste en une sélection, à titre d exemples, de 3 sujets proposés à l épreuve

Plus en détail

Réalisabilité et extraction de programmes

Réalisabilité et extraction de programmes Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme

Plus en détail