Grammaire, grammaire régulière

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

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.

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

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

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

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

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Calculabilité Cours 3 : Problèmes non-calculables.

Représentation d un entier en base b

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

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

Calculs de probabilités

Algorithmes récursifs

Algorithmique et Programmation Fonctionnelle

Angles orientés et trigonométrie

Chp. 4. Minimisation d une fonction d une variable

Géométrie dans l espace Produit scalaire et équations

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

Continuité et dérivabilité d une fonction

Logique. Plan du chapitre

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Limites finies en un point

Premiers exercices d Algèbre. Anne-Marie Simon

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Cours d Analyse. Fonctions de plusieurs variables

Espérance conditionnelle

Théorie des Langages

Note de cours. Introduction à Excel 2007

MIS 102 Initiation à l Informatique

Informatique Générale

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

Activités numériques [13 Points]

Grammaires d unification

Rappels sur les suites - Algorithme

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

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Conception des bases de données : Modèle Entité-Association

CORRECTION EXERCICES ALGORITHME 1

Chapitre 2. Matrices

Machines virtuelles Cours 1 : Introduction

Structures algébriques

Utilisation des tableaux sémantiques dans les logiques de description

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

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

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

STATIQUE GRAPHIQUE ET STATIQUE ANALYTIQUE

Plus courts chemins, programmation dynamique

Les indices à surplus constant

Cours de Master Recherche

2.4 Représentation graphique, tableau de Karnaugh

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 =

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Calculs de probabilités avec la loi normale

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

Diapo 1. Objet de l atelier. Classe visée. Travail en co-disciplinarité (identité et origine académique des IEN)

Évaluation et implémentation des langages

Nombre dérivé et tangente

Rappel sur les bases de données

L AIDE AUX ATELIERS D ARTISTES :

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

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

Hervé Couturier EVP, SAP Technology Development

Université de La Rochelle. Réseaux TD n 6

Introduction à l étude des Corps Finis

Image d un intervalle par une fonction continue

Raisonnement par récurrence Suites numériques

Master Métiers de l enseignement scolaire. Mémoire professionnel de deuxième année UTILISER ET COMPRENDRE L ORDINATEUR EN MÊME TEMPS :

Introduction à MATLAB R

Modélisation des données

par Denis-Charles Cisinski & Georges Maltsiniotis

ELEC2753 Electrotechnique examen du 11/06/2012

Logiciel de Base. I. Représentation des nombres

Construction d un cercle tangent à deux cercles donnés.

Les structures de données. Rajae El Ouazzani

Chapitre 10 Arithmétique réelle

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Probabilités sur un univers fini

La géométrie du triangle III IV - V Cercles remarquables - Lieux géométriques - Relations métriques

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

LE PRODUIT SCALAIRE ( En première S )

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Les BRMS Business Rules Management System. Groupe GENITECH

chapitre 4 Nombres de Catalan

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

Jeux de caracte res et encodage (par Michel Michaud 2014)

DOCM Solutions officielles = n 2 10.

5 ème Chapitre 4 Triangles

Résolution d équations non linéaires

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Université de Bangui. Modélisons en UML

Feuille TD n 1 Exercices d algorithmique éléments de correction

Cours 1 : Qu est-ce que la programmation?

Algorithmes d'apprentissage

Licence Sciences et Technologies Examen janvier 2010

EXAMEN : CAP ADAL SESSION 2011 N du sujet : SPECIALITE : CEB - GEPER SUJET SECTEUR : FOLIO : 1/6 EPREUVE : EG2 (MATH-SCIENCES)

Transcription:

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 d Opale Laboratoire LISIC Equipe CAMOME

Objectifs de la séance 05 Connaître la définition d une grammaire Savoir dessiner l arbre de dérivation d un mot selon une grammaire Connaitre la définition d une grammaire régulière Savoir concevoir un automate fini reconnaissant le langage d une grammaire régulière Savoir définir une grammaire engendrant le même langage qu un automate fini déterministe Connaitre la classification de Chomsky des langages

Plan 1 Introduction 2 Grammaire 3 Grammaire régulière 4 Forme normale

Là où nous en sommes Les mots d un langage rationnel sont reconnus par des automates finis et réciproquement. Les automates sont des machines abstraites capables de réaliser des calculs sur des mots. Les notions de langage et de calcul sur machine sont très proches : Pour tout langage rationnel, il existe un automate reconnaissant ce langage Tout automate reconnait un langage rationnel

Vers où l on va Il est possible de définir d autres propriétés et d autres types de machines abstraites qui permettent de définir d autres classes de langages. L expressivité du langage et la capacité de calcul de la machine sont alors différentes. Les questions que l on se pose sont alors les mêmes : mode de lecture, description formelle/algébrique langage, équivalence avec d autres classes de langages, capacité de la machine reconnaissant le langage. Par exemple, on peut remplacer expression régulière par grammaire ou automate par machine de Turing...

Exemple littéraire phrase phrase conj. coord. phrase sujet verbe compl. gr. nom. sujet verbe compl. pronom article nom pronom nom C' était l' hiver et il faisait nuit

Exemple littéraire phrase phrase conj. coord. phrase sujet verbe compl. gr. nom. sujet verbe compl. pronom article nom pronom nom C' était l' hiver et il faisait nuit Première phrase de La position du tireur couché, J.-P. Manchette.

Intuition : la réécriture Réécriture (source CNRTL) Règle permettant de retranscrire, suivant un principe de transformation, une suite de symboles en une autre.

Intuition : la réécriture Réécriture (source CNRTL) Règle permettant de retranscrire, suivant un principe de transformation, une suite de symboles en une autre. Moyen expressif puissant Au lieu de définir un langage par les mots vérifiant une expression algébrique, on utilise un ensemble de fonctions de l ensemble des mots dans lui-même, et plus généralement des couples de mots.

Comment peut-on réécrire? Intuition Objet initial : S Règles de réécriture, de production : Relation de dérivation : alpha se réécrit en beta α β si α β alors α β si α β et si en remplaçant α par β dans γ on obtient δ alors γ δ Langage engendré : {ϕ : S ϕ}

Exemple graphique Alphabet de symboles : { F, -, + } Règles de réécriture (ou de production) : F F-F+F+FF-F-F+F (P1) Cette règle peut s interpréter graphiquement. Sur un quadrillage, F signifie avancer d une unité, - tourner à droite de 90 degrés, + tourner à gauche de 90 degrés. Questions Graphiquement, Dériver F en appliquant 1 fois (P1) Dériver F-F-F-F en appliquant plusieurs (P1)

Réécriture avec une production Soit Σ un alphabet. Production Une production est un couple (α, β) de Σ + Σ, noté : α β α est appelé prédécesseur et β successeur. Règle de réécriture La règle de réécriture α β est une relation binaire définie par : Pour tous les mots v et w sur Σ, v α β w ssi il existe 2 mots v 1 et v 2 sur Σ tels que v = v 1 αv 2 et w = v 1 βv 2.

Grammaire Définition Une grammaire est un quadruplet (N, Σ, P, S) où : N est un ensemble fini de symboles non terminaux Σ est un ensemble de symboles terminaux P est un ensemble fini de productions {ϕ ψ : ϕ (N Σ) + et ψ (N Σ) } S N + est l axiome (mot initial) Propriétés Vocabulaire : V = N Σ N Σ =

Notation pratique Notation d un ensemble de productions Plusieurs productions avec la même partie gauche peuvent s écrire en une seule avec le symbole ou : { α β1 α β 2 peut se noter α β 1 β 2

Dérivation Dérivation (w 0, w 1,..., w n ) est une dérivation de v en w selon la grammaire G = (N, Σ, P, S) ssi w 0 = v et w n = w et pour tout i {0, n 1} il existe une production (α, β) P telle que w i α β w i+1. Remarque : les productions s appliquent successivement. Relation v w s il existe une dérivation entre les mots v et w. Remarque : La relation est une relation binaire transitive.

Calcul, langage engendré Langage engendré Le langage engendré par la grammaire G = (N, Σ, P, S) est : L(G) = {ϕ Σ : S ϕ}

Exemple (1) Soit la grammaire G 1 = (N, T, P, A) avec : N = {A, B, C} T = {a, b} P = { A ab, B bc, C ac C bc C ɛ} Quel est le langage engendré par G 1?

Exemple (2) Soit la grammaire G 2 = (N, T, P, A) avec : N = {A, B, O, T } T = {o, t, p} P = { A ta, A oa, A pa, A tt, T oo, O pb, B ɛ, B tb, B ob, B pb} Quel est le langage engendré par G 2?

Exemple (3) Soit la grammaire G 3 = (N, T, P, A) avec : N = {A} T = {0, 1} P = { A 0A1, A ɛ} Quel est le langage engendré par G 3?

Exemple (3) Soit la grammaire G 3 = (N, T, P, A) avec : N = {A} T = {0, 1} P = { A 0A1, A ɛ} Quel est le langage engendré par G 3? Attention tous les langages ne sont pas des langages rationnels! Et loin de là, pensez au cardinal de ces ensembles...

Arbre de dérivation Important : Soit G = (N, T, P, A) grammaire dont les productions n ont qu un seul symbole non-terminal comme prédécesseur. Arbre de dérivation Représentation graphique de la dérivation d un mot depuis l axiome. Arbre de dérivation du mot w engendré par G Arbre tel que : Racine étiquetée par le symbole initial S Feuilles étiquetées par les éléments de T {ɛ} Noeuds internes étiquetés par les éléments de N B F 1 F 2 si une production B F 1 F 2... F n... F n w est formé par la concaténation des feuilles obtenues par un parcours en profondeur de l arbre

Exemple Arbre de dérivation de w = abaa engendré par la grammaire G 1

Exemple Arbre de dérivation de w = abaa engendré par la grammaire G 1 A a B b a C C a ε

Exemple Arbre de dérivation de w = 000111 engendré par la grammaire G 3

Exemple Arbre de dérivation de w = 000111 engendré par la grammaire G 3 A 0 A 1 0 0 A ε 1 1

Définition Grammaire régulière à droite Une grammaire G = (N, T, P, A) est régulière à droite si toutes les productions sont de la forme : avec B N, C N et a T. B ac ou B a ou B ɛ

Définition Grammaire régulière à droite Une grammaire G = (N, T, P, A) est régulière à droite si toutes les productions sont de la forme : avec B N, C N et a T. Grammaire régulière à gauche B ac ou B a ou B ɛ Une grammaire G = (N, T, P, A) est régulière à gauche si toutes les productions sont de la forme : avec B N, C N et a T. B Ca ou B a ou B ɛ

Exemple Question Parmi les grammaires G 1, G 2 et G 3, lesquels sont des grammaires régulières?

Lien AFD / grammaire régulière Théorème Un langage L est rationnel si et seulement si il existe une grammaire régulière qui engendre les mots de L. cf. exercice 1 Fiche 05

Construction d une grammaire régulière à partir d un AFD Exemple a,c a,c a,c b 0 1 b b 2

Construction d une grammaire régulière à partir d un AFD Exemple a,c a,c a,c b 0 1 b 2 b T = {a, b, c} P = { A aa, A ca, A bb, B ab, B cb, B bc, C ac, C cc, C ba, A ɛ} N = {A, B, C}

Construction d une grammaire régulière à partir d un AFD Soit un automate A = (Σ, Q, T, q 0, F ) La grammaire G = (N, T, P, A) telle que : N = Q T = Σ A = q 0 dont les productions P sont : q i aq j lorsque l automate a pour transition T (q i, a) = q j et q i ɛ pour tout q i F engendre le même langage que l automate A. Remarque : il y a des renommages implicites dans la construction

Construction d un AFD à partir d une grammaire régulière N = {A, B, C} T = {a, b} P = { A ab, B bc, C ac C bc C ɛ}

Construction d un AFD à partir d une grammaire régulière N = {A, B, C} T = {a, b} P = { A ab, B bc, C ac C bc C ɛ} a b A B C a,b

Construction d un AFD à partir d une grammaire régulière Soit la grammaire régulière à droite G = (N, T, P, A). L automate A = (Σ, Q, T, q 0, F ) telle que : Q = N {X } Σ = T q 0 = A dont les transitions sont : T (q i, a) = q j pour les productions q i aq j T (q i, a) = X pour les productions q i a F = {X } {B : production B ɛ} reconnait le même langage que la grammaire G. Remarque : il y a des renommages implicites dans la construction

Langages algébriques ou non-contextuels Grammaire algébrique Une grammaire G = (N, Σ, P, S) est non-contextuelle (context-free in english), ou algébrique, si les productions sont de la forme : B w avec B N et w (N Σ) Langage algébrique Un langage L est algébrique s il existe une grammaire algébrique G telle que L(G) = L. Remarque : Tout langage rationnel est algébrique, mais la réciproque est fausse. Exemple : les langages de programmation classiques

Hierarchie de Chomsky Classification de Chomsky Type Langages Grammaires 3 Rationnels régulières à droite ou A a, A ab, A ɛ réguliers A, B N a T (régulières à gauche) 2 algébriques algébriques, non-contextuelles ou A α non-contextuels A N α (N T ) 1 contextuelles, monotones contextuels α β ou A ɛ α, β (N T ), A axiome α β 0 récursivement contextuelles avec effacement énumérables α β α (N T ) + β (N T ) aucune contrainte

Formes normales Pour comparer les grammaires, on peut les écrire sous forme normalisée Il existe plusieurs formes normales (Chomsky, Greibach, etc.) Il existe des algorithmes pour transformer les grammaires en forme normale Forme normale de Chomsky Une grammaire G = (N, Σ, P, S) est sous forme normale de Chomsky si toutes les productions sont de la forme : A a A BC S ɛ avec A, B, C N et a Σ (et si on a S ɛ, S ne figure dans aucun membre droit d une autre production)

Conclusion Langages rationnels ou réguliers Langages clos par : union, produit, étoile, Ensemble dénombrable de langage, Caractérisés par les expressions régulières Reconnus par les automates finis (déterministe ou non) Engendrés par les grammaires régulières (à droite ou gauche)