L3 Informatique Automates et langages formels 18 f´evrier 2009
TD 4 : Formes normales, analyse syntaxique
Exercice 1 (Th´eor`eme de Chomsky et Sch¨
utzenberger).Le th´eor`eme dit qu’un
langage Lest alg´ebrique si et seulement s’il existe un entier n, un langage rationnel R
et un morphisme πtels que L=π(D
nR), o`u D
nd´enote l’ensemble des mots bien
parenth´es´es sur un alphabet `a npaires de parenth`eses.
L’intuition derri`ere ce th´eor`eme est que l’on peut s´eparer les aspects de structure (le
parenth´esage, c’est-`a-dire la structure d’arbre) et de contrˆole (le langage rationnel) d’un
langage alg´ebrique – ce dont on verra une autre interpr´etation avec les automates `a pile.
1. Soit Gune grammaire alg´ebrique sur Σ. Proposer une grammaire alg´ebrique G0,
qui explicite la structure des d´erivations de Gau moyen d’un alphabet Σnde n
sortes de parenth`eses, telle que
L(G0)D
net L(G) = π(L(G0))
avec πune projection de Σ
nΣ.
2. Il faut maintenant trouver un langage rationnel Rtel que
L(G0) = D
nR .
En fait, il existe mˆeme un langage local (cf. feuille de TD 1, exercice 5) qui remplit
ce rˆole. Proposer un tel langage.
3. Montrer qu’il existe un morphisme µde ΣnΣ2tel que
D
n=µ1(D
2).
En d´eduire une autre formulation du th´eor`eme.
Exercice 2 (Complexit´e des formes normales).On d´efinit la taille d’une grammaire
alg´ebrique G=hN, Σ, P, Sicomme
|G|= max( X
AαP
||,|NΣ|).
1. Un symbole non terminal Ade Nest utile s’il existe une d´erivation de la forme
SαAβ w
avec αet βdes chaˆınes de symboles dans (N]Σ)et wun chaˆıne de symboles
dans Σ.
Montrer que pour toute grammaire alg´ebrique G, on peut calculer l’ensemble de
ses symboles non terminaux utiles en temps O(|G|). En d´eduire un algorithme pour
construire une grammaire r´eduite ´equivalente `a Gen temps lin´eaire.
1
L3 Informatique Automates et langages formels 18 f´evrier 2009
2. Une grammaire alg´ebrique est sous forme quadratique si pour toute r`egle Aαde
P,|α| ≤ 2. Montrer que, pour toute grammaire alg´ebrique G, on peut construire
une grammaire alg´ebrique G0´equivalente sous forme quadratique en temps O(|G|).
3. En d´eduire une borne de complexit´e du calcul d’une grammaire alg´ebrique ´equivalente
o`u les r`egles Aαde Pv´erifient |α| ≥ 1 (sauf potentiellement pour une r`egle
Sε, mais alors on demande aussi αN\{S})).
4. Quelle borne de complexit´e pouvez-vous donner pour la suppression des r`egles
de la forme ABavec Aet Bdans N? Pour la mise sous forme normale de
Chomsky ?
Exercice 3 (Algorithme de Cocke,Kasami et Younger).On raffine dans cet exercice
la proc´edure d’intersection avec un langage rationnel pour r´esoudre le probl`eme du mot :
pour Gfix´ee, est-ce que west un mot du langage L(G) ?
1. Quelle est la complexit´e de la construction d’une grammaire alg´ebrique pour le
langage L(G)w?
2. Un probl`eme avec cet algorithme est qu’il g´en`ere en g´en´eral beaucoup de r`egles
inutiles. On voudrait filtrer la g´en´eration des r`egles de la grammaire pour n’ajouter
une r`egle avec un non terminal de la forme [q, A, q0] (o`u qet q0sont des ´etats de
l’automate reconnaissant w, et Aun non terminal de G) que s’il existe r´eellement
un facteur ude wdans LG(A)Lq,q0.
Proposer un algorithme avec cet invariant. Quelle borne de complexit´e obtenez-
vous ?
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !