EISTI - Département Informatique : Théorie des langages

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

Grammaires d unification

Logiciel de Base. I. Représentation des nombres

Vers l'ordinateur quantique

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

Algorithmes récursifs

Continuité et dérivabilité d une fonction

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

Chapitre 1 I:\ Soyez courageux!

Algorithme. Table des matières

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

Représentation d un entier en base b

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

Raisonnement par récurrence Suites numériques

Compte rendu d activité

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Les suites numériques

Estimation: intervalle de fluctuation et de confiance. Mars IREM: groupe Proba-Stat. Fluctuation. Confiance. dans les programmes comparaison

Initiation à la programmation en Python

mes m est mets/met mais mets

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

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Calculateur quantique: factorisation des entiers

Guide d'utilisation de la. plate-forme GAR. pour déposer une demande. de Bourse Sanitaire et Sociale

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

TP 1. Prise en main du langage Python

Correction de l examen de la première session

Les nombres entiers. Durée suggérée: 3 semaines

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

ENREGISTREMENT COMPTABLE DES FLUX ECONOMIQUES

EOI ARUCAS DEPARTAMENTO DE FRANCÉS DOSSIER PASSÉ RÉCENT FUTUR PROCHE PRÉSENT PROGRESSIF

Auxiliaire avoir au présent + participe passé

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

TSTI 2D CH X : Exemples de lois à densité 1

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Listes de fournitures du secondaire pour la rentrée

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

LE BUDGET DES VENTES

PREVISION DU BESOIN EN FONDS DE ROULEMENT - PRINCIPES

LES REGLEMENTS DES CREANCES ET DETTES. Connaissance des documents relatifs aux opérations de règlement..

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

Mysql. Les requêtes préparées Prepared statements

S LICENCE INFORMATIQUE Non Alt Alt SS1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

ACTIVITÉS SUPPLÉMENTAIRES UNE JOURNÉE QUOTIDIENNE

Chapitre 10 Arithmétique réelle

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

chapitre 4 Nombres de Catalan

Licence Sciences et Technologies Examen janvier 2010

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.

LA RECHERCHE DOCUMENTAIRE

Chap III : Les tableaux

Multicast & IGMP Snooping

Nom de l application

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

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Mots interrogatifs. Quand,comment,pourquoi,qui... sont des mots interrogatifs qui servent à introduire une phrase interrogative.

Rappels sur les suites - Algorithme

Comment accéder à une vision synthétique de mon activité commerciale?

C f tracée ci- contre est la représentation graphique d une

Guide de configuration de la Voix sur IP

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Chapitre 5. Le ressort. F ext. F ressort

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

Chapitre 2. Matrices

Algorithmique avec Algobox

Distinction des questions et des consignes

La petite poule qui voulait voir la mer

Augmenter la portée de votre WiFi avec un répéteur

L EQUIPE ÉTUDES ENQUÊTES: Georgeta BOARESCU psychologue coordonateur études enquêtes Florin CIOTEA sociologue

Création d articles sur le site web du GSP

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

TP1 : Initiation à l algorithmique (1 séance)

Mesurer les performances (CPU) sous Linux

DISCOURS DIRECT ET INDIRECT

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Utilisation de GLPI. 1.Page d'accueil. Introduction

Démontrer qu'un point est le milieu d'un segment

Unité 6. Qu est ce que tu prends au petit au petit déjeuner?

BIND : installer un serveur DNS

Le verbe : chanter Le verbe : jouer Le verbe : regarder. Je chantai Je jou Je regard. Tu chantas Tu jou Tu regard. Il chanta Il jou Il regard

Utilisez Toucan portable pour vos sauvegardes

Aide - mémoire gnuplot 4.0

Les tableaux croisés dynamiques

Auto-Entreprise : Activités : Eric SOTY - Siret n Formation Bureautique, continue d'adultes. Tél : Fax :

Configuration O.box Table des matières

PRIME D UNE OPTION D ACHAT OU DE VENTE

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

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

Un concept multi-centre de données traditionnel basé sur le DNS

Simulation de variables aléatoires

NAS 206 Utiliser le NAS avec Windows Active Directory

YAPBA M. Logiciel libre de suivi de vos comptes

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Gestion d'une billeterie défilé des talents

Détection des propositions syntaxiques du français : en vue de l alignement des propositions de textes parallèles français-japonais

Direct and Indirect Object Pronouns

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Transcription:

Cartouche du document Année : ING 1 - Matière : Théorie des langages - Activité : Travail dirigé Objectifs - Notions de langage hors contete ou algébrique - Normalisation de Chomsky - Algorithme CKY - Application au traitement des langues Définition : Un langage hors-contete est aussi appelé langage algébrique. Une grammaire hors-contete (ou algébrique) est un quadruplet T,N,S,P où : T : ensemble des éléments terminau N : ensemble des éléments non terminau S : élément non terminal initial (aiome) P : ensemble de règles de la forme : X > a où a T et X N X > Y où Y (N T) * et X N Définition : Une grammaire hors-contete qui ne produit pas ε est dite sous forme normale de Chomsky si et seulement si toutes les règles sont de la forme : A > a où a T A > B C où B, C N On rappelle que ε (le mot vide) peut être également noté λ (c'est le cas par défaut en JFLAP). Sommaire des eercices 1 - Reconnaissance d'un mot par l'algorithme CKY 2 - Des propositions très relatives 3 - JFLAP Corps des eercices 1 - Reconnaissance d'un mot par l'algorithme CKY Énoncé : Il s'agit dans l' eercice suivant de : Transformer une grammaire sous Forme Normale de Chomsky. Définir un algorithme qui teste l'appartenance d'un mot à cette grammaire normalisée. Question 1) Énoncé de la question Soit la grammaire G basée sur l'alphabet {a, b}. On a : G = { T = {a,b} page 1

N = {S,A,B} S = S P = { (1) S > b A (2) S > a B (3) A > b A A (4) A > a S (5) A > a (6) B > a B B (7) B > b S (8) B > b } } Mettre cette grammaire sous forme normalisée de Chomsky. Procédure de transformation : 1. Remplacer tous les terminau en partie droite des règles par des non terminau en ajoutant des règles de la forme X > 2. Transformer les parties droites des règles comme suit : X > Y Z W par deu régles X > Y V et V > Z W 3. Transformer les parties droites des règles comme suit : X > Y par X > W Z si Y > W Z Solution de la question Etape 1 Pour chaque terminal, on crée une règle avec un nouveau terminal comme membre gauche et le terminal comme membre droit. (9') A 1 > a (10') B 1 > b Etape 2 Pour chaque règle comportant plus de deu membres à droite ((3) et (6)), on scinde la partie droite en créant de nouveau non terminau et de nouvelles règles. (11') A 2 > A A (12') B 2 > B B Etape 3 page 2

On normalise toutes les règles et on obtient la grammaire suivante : (1') S > B 1 A (2') S > A 1 B (3') A > B A 2 (4') A > A 1 S (5') A > a (6') B > A 1 B 2 (7') B > B 1 S (8') B > b (9') A 1 > a (10') B 1 > b (11') A 2 > A A (12') B 2 > B B Question 2) Énoncé de la question Montrer que le mot aabbab appartient au langage engendré par la grammaire. On utilisera l'algorithme de Coke, Younger et Kasami (CKY) qui permet de tester si un mot w est reconnu par une grammaire sous forme normale de Chomsky. On note n la longueur du mot w : n = w. On définit v une matrice de dimensions (n,n). Le pseudo-code de l'algorithme CKY est le suivant : Pour i = 1 à n DEBUT v[i,1] = {A tel que A est le membre gauche d'une règle A > a et a est le i ème symbole du mot w} FIN Pour j = 2 à n DEBUT Pour i = 1 à n - j + 1 DEBUT v[i,j] = Pour k = 1 à j - 1 DEBUT page 3

v[i,j] = v[i,j] {A tel que A est le membre gauche d'une règle A > B C avec B v[i,k] et C v[i+k,j-k]} FIN FIN FIN Le mot w est reconnu par la grammaire <==> S v[1,n]. Solution de la question Le tableau v avec le mot aabbab est le suivant : a A, A 1 A 2 A S A S a A, A 1 S B S B b B, B 1 B 2 B B 2 b B, B 1 S B a A, A 1 S b B, B 1 Nous constatons que S v[1,6], donc "aabbab" est un élément du langage. 2 - Des propositions très relatives Énoncé : On s'intéresse au constructions de phrases avec des propositions relatives. On considère la grammaire hors contete suivante : G ={ T={que,qui,regarde,regardent,mange,mangent,dort,dorment,tombe,tombent,une,un,la,le,des,les,pommes, pomme,femme,femmes,pierre,marie} N={s,sn,reln,rela,sv,proa,pron,vt,vi,det,n,np} S=s P={ (1) s > sn sv (2) sn > det n reln det n rela np reln np rela (3) reln > pron sv (4) rela > proa sn vt (5) sn > det n (6) sn > np (7) sv > vi vt sn (8) proa > que page 4

(9) pron > qui (10) vt > regarde regardent mange mangent (11) vi > dort dorment tombe tombent (12) det > une un la le des les (13) n > pommes pomme femme femmes (14) np > Pierre Marie } Légende : reln <==> proposition relative nominative rela <==> proposition relative accusative proa <==> pronom relatif accusatif pron <==> pronom relatif nominatif vi <==> verbe intransitif vt <==> verbe transitif det <==> déterminant n <==> nom commun np <==> nom propre Question 1) Énoncé de la question Vérifier l'appartenance de la phrase Une pomme que Pierre regarde tombe au langage reconnu par la grammaire en utilisant un arbre syntaique. Solution de la question page 5

Question 2) Énoncé de la question Appliquer l'algorithme CKY pour vérifier : l'appartenance de la phrase Une pomme que Pierre regarde tombe au langage engendré par la grammaire le rejet de la phrase Une pomme qui Pierre regarde tombe du langage engendré par la grammaire Solution de la question Pour pouvoir appliquer l'algorithme CKY, il nous faut tout d'abord normaliser la grammaire : Les règles de production ne respectant pas la FNC sont les suivantes : (2) sn > det n reln det n rela np reln np rela (4) rela > proa sn vt (6) sn > np (7) sv > vi vt sn On commence par séparer la partie droite des règles contenant plus de 3 non terminau. (2a) sn > DN reln DN rela np reln np rela (2b) DN > det n page 6

(4a) rela > proa SNV (4b) SNV > sn vt Les règles (6) et (7) contiennent un unique non terminal en partie droite de leur règle, on le remplace par toutes ses décompositions. (6') sn > Pierre Marie (7') sv > vt sn dort dorment tombe tombent On remarque que les règles (11) et (14) deviennent inutiles, on les supprime donc. On obtient la grammaire suivante : G ={ T={que,qui,regarde,regardent,mange,mangent,dort,dorment,tombe,tombent,une,un,la,le,des,les,pommes, pomme,femme,femmes,pierre,marie} N={s,sn,reln,rela,sv,proa,pron,vt,det,n,DN,SNV} S=s P={ (1) s > sn sv (2a) sn > DN reln DN rela np reln np rela (2b) DN > det n (3) reln > pron sv (4a) rela > proa SNV (4b) SNV > sn vt (5) sn > det n (6') sn > Pierre Marie (7') sv > vt sn dort dorment tombe tombent (8) proa > que (9) pron > qui (10) vt > regarde regardent mange mangent (12) det > une un la le des les (13) n > pommes pomme femme femmes } page 7

On a maintenant la grammaire sous forme normale de Chomsky, on peut appliquer CKY à nos 2 phrases. Le tableau v avec le mot une pomme que Pierre regarde tombe est le suivant : une det DN, sn sn s pomme n que proa rela Pierre sn SNV regarde vt tombe sv Nous constatons que s v[1,6], donc une pomme que Pierre regarde tombe est un élément du langage. Le tableau v avec le mot une pomme qui Pierre regarde tombe est le suivant : une det DN, sn pomme n qui pron Pierre sn SNV regarde vt tombe sv Nous constatons que s v[1,6], donc une pomme qui Pierre regarde tombe n'est pas un élément du langage. 3 - JFLAP Énoncé : L'analyse CKY peut être effectuée par le logiciel JFLAP (http://jflap.org/jflaptmp). Pour celà, on se place en mode grammaire (Grammar). Ensuite, on rentre les différentes règles de la grammaire non normalisée. On peut alors vérifier qu'il s'agit bien d'une grammaire de type 2 (hors-contete / contet-free) grâce à l'item Test for Grammar Type de l'onglet Test. On peut ensuite normaliser la grammaire grâce à l'item (Transform Grammar) de l'onglet Convert. On peut ensuite réaliser l'analyse CKY grâce à la commande CYK Parse de l'onglet Input. page 8