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



Documents pareils
Algèbre binaire et Circuits logiques ( )

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

D'UN THÉORÈME NOUVEAU

LE PROBLEME DU PLUS COURT CHEMIN

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

Limites finies en un point

Vers l'ordinateur quantique

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

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

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

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

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

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

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Comparaison de fonctions Développements limités. Chapitre 10

Représentation d un entier en base b

Introduction à l étude des Corps Finis

Dérivation : cours. Dérivation dans R

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

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

Développements limités, équivalents et calculs de limites

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

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

CHAPITRE VIII : Les circuits avec résistances ohmiques

6. Les différents types de démonstrations

Raisonnement par récurrence Suites numériques

O, i, ) ln x. (ln x)2

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Planche n o 22. Fonctions de plusieurs variables. Corrigé

FONCTION EXPONENTIELLE ( ) 2 = 0.

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

Chapitre 2 Les ondes progressives périodiques

Algorithmes d'apprentissage

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

ARBRES BINAIRES DE RECHERCHE

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Continuité et dérivabilité d une fonction

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

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

SINE QUA NON. Découverte et Prise en main du logiciel Utilisation de bases

La médiatrice d un segment

Chapitre 5 : Flot maximal dans un graphe

chapitre 4 Nombres de Catalan

Développer, factoriser pour résoudre

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Modèles de Calcul Start p.

Recherche dans un tableau

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

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

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

Théorie des Langages

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Date : Tangram en carré page

Problèmes de Mathématiques Filtres et ultrafiltres

SOMMAIRE. Travailler avec les requêtes... 3

Algorithmes de recherche

Programmation par contraintes. Laurent Beaudou

Problème 1 : applications du plan affine

Arbres binaires de recherche

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Logiciel de Base. I. Représentation des nombres

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

Cours d Analyse. Fonctions de plusieurs variables

Ebauche Rapport finale

Cours 02 : Problème général de la programmation linéaire

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

Les structures de données. Rajae El Ouazzani

DOCM Solutions officielles = n 2 10.

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

La mesure de Lebesgue sur la droite réelle

OPTIMISATION À UNE VARIABLE

Cours de Master Recherche

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Pourquoi l apprentissage?

ÉPREUVE COMMUNE DE TIPE Partie D

Résolution de systèmes linéaires par des méthodes directes

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ


VIII- Circuits séquentiels. Mémoires

Model checking temporisé

Amplificateur à deux étages : gains, résistances "vues", droites de charges, distorsion harmonique

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Fonctions homographiques

Seconde et première Exercices de révision sur les probabilités Corrigé

Les indices à surplus constant

Représentation des Nombres

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

Cours de mathématiques Première année. Exo7

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

Quelques Algorithmes simples

par Denis-Charles Cisinski & Georges Maltsiniotis

Transcription:

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 lemme de pompage On a une propriété de "pompage" pour les langages non contetuels. Elle serira entre autres à montrer que certains langages ne peuent pas être engendrés par une grammaire non contetuelle. On utilise un lemme relatif au arbres binaires complets, dont la démonstration est laissée en eercice : Lemme : Dans un arbre binaire complet de hauteur k, le nombre de nœuds eternes est au plus 2 k. Si est un nœud d'un arbre, on appellera profondeur de ce nœud la hauteur du sous-arbre enraciné en. utomates ch6 2

Théorème (lemme de pompage) : Soit L un langage non contetuel. Il eiste un nombre n dépendant uniquement de L tel que la propriété suiante soit raie. Si z est un mot de L de longueur n, alors z se factorise en z = uy, où n, et ne sont pas tous les deu ides et, pour tout i 0, on a u i i y L. Démonstration : On suppose que L est engendré par une grammaire sous forme normale de Chomsky et que le nombre de ariables de cette grammaire est k. On a montrer que le nombre n = 2 k conient. Pour cela, soit z un mot de L et considérons son arbre de dériation. Comme la grammaire est sous forme de Chomsky, cet arbre est un arbre binaire complet, sauf pour les feuilles qui sont seuls fils de nœuds. Si on néglige les feuilles, il reste un arbre binaire complet utomates ch6 3 dont les nœuds eternes sont en même nombre que la longueur de z. Si la longueur de z est au moins 2 k, la hauteur de l'arbre est au moins k. Sur un chemin de longueur k étiqueté par des noms de ariables, un même nom doit apparaître deu fois (principe des tiroirs). Considérons les nœuds i qui sont étiquetés par un nom de ariable qui apparaît encore une fois sur un chemin partant de i. Il eiste au moins un tel i. Parmi tous les i, considérons a, celui qui a la plus petite profondeur et soit le nom attaché à a. Cela assure que, dans le sous-arbre enraciné en a, le nom de la racine est répété eactement une fois sur (au moins) un chemin issu de a et qu'aucun chemin issu de a ne contient deu nœuds ayant le même nom. Le sous-arbre enraciné en a est donc de hauteur au plus k. En conséquence, le nombre de ses nœuds eternes est au plus 2 k. La situation est la suiante : utomates ch6 4

S La longueur de est au plus 2 k = n. Puisque la grammaire est sous forme de Chomsky, u y chaque nœud interne a eactement deu fils. Donc et ne sont pas simultanément ides. S Enfin, le plus petit sous-arbre de racine peut être mis à la place du plus grand, produisant le mot uy. Le plus u y grand peut être raccroché au plus S petit autant de fois qu'on eut, produisant u i i y. u y S u y utomates ch6 5 Eemples : L 1 = {0 n 1 n 2 n, n 0} n'est pas non contetuel. Si c'était le cas, soit n le nombre dépendant de L 1 et considérons z = 0 n 1 n 2 n = uy. Puisque est de longueur au plus n, au moins l'une des lettres 0, 1 ou 2 n'y apparaît pas, d'où contradiction aec le fait que uy L 1. Le même raisonnement aut pour les mots ayant autant de 0, de 1 et de 2. L 2 = {a i b j a i b j, i, j 1} n'est pas non contetuel. On fait de même en eaminant z = a n b n a n b n. Le facteur ne peut alors contenir des a des deu facteurs a n, d'où la contradiction. utomates ch6 6

6.2 Les propriétés de fermeture On utilise la définition par grammaire ou celle par automate à pile. Théorème : Les langages non contetuels sont fermés par les opérations régulières. Démonstration : On part des grammaires G 1 et G 2 engendrant les langages L 1 et L 2. On fabrique une grammaire G engendrant L 1 L 2 en introduisant un nouel aiome pouant produire l'un ou l'autre des aiomes de G 1 et de G 2. Pour la concaténation, ce nouel aiome produit la concaténation des aiomes de G 1 et de G 2. Pour la fermeture transitie de L 1, si S 1 est son aiome, le nouel aiome S produit : S ε S 1 S. utomates ch6 7 Théorème : Les langages non contetuels sont fermés par substitution. Démonstration : Cela reient à dire que chaque terminal d'un langage deient l'aiome d'un autre langage. Ceci passe facilement au grammaires. Corollaire : Les langages non contetuels sont fermés par homomorphisme. Théorème : Les langages non contetuels sont fermés par homomorphisme inerse. Démonstration : Soit h un homomorphisme. Si L est un langage non contetuel, h -1 (L) = { : h() L}. On raisonne aec les automates à pile comme on l'aait fait pour les langages réguliers. utomates ch6 8

utomate à pile pour h -1 (L) h Buffer Contrôle de M Pile de M Contrôle de M' On entre un caractère a ; il est stocké dans le buffer (file). Puis celui-ci est idé caractère par caractère. Supposons que = {0,...} et Σ = {a,...}. Formellement, si L = L(M) aec M = (Q,, Γ, δ, q 0, Z 0, F), on fabrique M' = (Q', Σ, Γ, δ', [q 0, ε], Z 0, F {ε}). Les états sont un couple formé d'un état de M et d'un suffie de h(a). δ'([q, ε], a, Y) = ([q, h(a)], Y) chargement du buffer ; δ'([q, ], ε, Y) = {([p, ], γ) : (p, γ) δ(q, ε, Y)} transition ide ; δ'([q, 0], ε, Y) = {([p, ], γ) : (p, γ) δ(q, 0, Y)} transition sur 0. La reconnaissance par état final permet d'assurer que le buffer est bien ide après lecture de. ttention : Les langages non contetuels ne sont pas fermés par intersection. Ils ne le sont donc pas non plus par complémentation (identités de de Morgan). Eemple : L 1 = {0 n 1 n 2 m, n, m 0} et L 2 = {0 m 1 n 2 n, n, m 0} sont tous deu non contetuels, car produits d'un langage non contetuel et d'un langage régulier (donc non contetuel). Néanmoins, L 1 L 2 = {0 n 1 n 2 n, n 0}, dont on a u qu'il ne l'est pas. L'eplication ient de ce que, si on fait fonctionner en parallèle deu automates à pile, on a besoin de deu piles. Si l'un des deu automates est un automate fini (sans pile), le même fonctionnement se fait aec une seule pile. D'où le théorème suiant. utomates ch6 10

Théorème : Si L est non contetuel et R est régulier, alors L R est non contetuel. Démonstration : Si L = L(M) aec M = (Q M, Σ, Γ, δ Μ, q 0, Z 0, F M ) (reconnaissance par état final) et R = L() aec = (Q, Σ, δ Α, p 0, F ), déterministe (non indispensable ici). On fabrique M' = (Q Q M, Σ, Γ, δ, [p 0, q 0 ], Z 0, F F M ), aec δ([p, q], a, Y) = {([p', q'], γ) : δ Α (p, a) = p' et (q', γ) δ Μ (q, a, Y)} si a ε δ([p, q], ε, Y) = {([p, q'], γ) : (q', γ) δ Μ (q, ε, Y)} si a = ε. utomate à pile pour L R Contrôle de M Contrôle de Pile de M Contrôle de M' utomates ch6 11 Eemple : L = { : (a + b)*}, ensemble des carrés, ne peut pas être engendré par une grammaire non contetuelle. Si L était non contetuel, il en serait de même de L aa*bb*aa*bb*, qui aut {a i b j a i b j, i, j 1}, d'où une contradiction. Les langages non contetuels sont également fermés par d'autres opérations : quotient par un langage régulier, préfie, permutation circulaire, image-miroir. Les démonstrations sont identiques à celles utilisées pour les langages réguliers. utomates ch6 12

6.3 Les problèmes de décidabilité Dans le cas des langages non contetuels, un certain nombre de problèmes sont indécidables. La démonstration de l'indécidabilité est impossible ici. Elle nécessite le déeloppement de la théorie de la calculabilité. Dans le cas d'un problème concernant les langages non contetuels, le problème de leur codage est important. C'est pourquoi ces problèmes sont formulés en termes de problèmes relatifs au grammaires ou au automates à pile. Puisque le passage entre grammaires et automates à pile est algorithmique (donc effectif), on peut formuler ces problèmes au choi en termes de grammaires ou d'automates à pile. Théorème : Si G est une grammaire non contetuelle, les problèmes suiants sont décidables : 1. Le langage engendré par G est non-ide ; 2. Le langage engendré par G est infini. utomates ch6 13 Démonstration : Pour le premier problème, on applique l'algorithme d'élimination des ariables inutiles : le langage est non-ide si et seulement si l'aiome est un symbole utile. Pour le second, on peut utiliser le lemme de pompage (eercice) en montrant que le langage est infini si et seulement s'il contient un mot de longueur comprise entre n et 2n. On peut plus efficacement procéder directement : on suppose que G est sous forme de Chomsky sans ariable inutile (algorithme pour cela), puis on fabrique un graphe entre ariables dans lequel si BC est une production, on place un arc de ers B et de ers C. On montre (eercice) que le langage est infini si et seulement si ce graphe contient un cycle ou un circuit. Ce graphe contient les informations relaties à la récursiité dans la grammaire. utomates ch6 14

Théorème : Soit un mot en symboles terminau et G une grammaire non contetuelle ; le problème suiant est décidable : L(G). Démonstration : Mettre la grammaire sous forme normale de Greibach, puis essayer toutes les dériations possibles jusqu'à la longueur de. Il eiste des algorithmes plus efficaces (en O(n 3 )) tel que celui de Cocke, Younger et Kasami. Par contre, un certain nombre de problèmes faisant interenir des grammaires non contetuelles sont indécidables. Dans la liste, G, G 1 et G 2 désignent de telles gammaires et R est une epression régulière (ou un automate fini). utomates ch6 15 Les problèmes suiants sont indécidables : 1. L(G 1 ) L(G 2 ) = ; 2. L(G) = Σ* ; 3. L(G 1 ) = L(G 2 ) ; 4. L(G 1 ) L(G 2 ) ; 5. L(G) = R ; 6. R L(G) ; 7. Le complémentaire de L(G) est non contetuel ; 8. L(G 1 ) L(G 2 ) est non contetuel ; 9. L(G) est régulier ; 10. L(G) est inhéremment ambigu. utomates ch6 16

6.4 Les langages non contetuels déterministes Langages pour lesquels il eiste un automate à pile déterministe le reconnaissant. Seront abrégés en langages NCD. Seuls langages utilisables en pratique car l'analyse syntaique se fait en temps linéaire. En fait, les algorithmes de génération d'analyseurs syntaiques produisent effectiement des automates à pile déterministes. Mais ces langages sont plus délicats à manipuler que les langages non contetuels en général : ucun lemme de pompage n'est connu pour les langages NCD. Théorème : Les langages NCD sont fermés par complémentation. Démonstration : Pour faire comme pour les langages réguliers (inersion des états terminau et non terminau), il faut auparaant normaliser les automates à pile déterministes : utomates ch6 17 Si L = L(M) où M est déterministe, il eiste un automate à pile déterministe M' tels que : 1. M' lit entièrement tout mot présenté en entrée (création d'un puits) ; 2. M' n'a aucune transition ide sur un état final. Ces deu points sont assez délicats à établir complètement. utres propriétés de clôture : Théorème : Les langaes NCD sont fermés par : 1. quotient par un langage régulier ; 2. homomorphisme inerse ; 3. intersection aec un ensemble régulier. Démonstration : Le premier point est assez technique, les deu autres se font comme pour les langages non contetuels. utomates ch6 18

Théorème : Les langages NCD ne sont pas fermés par : 1. homomorphisme ; 2. union ; 3. concaténation ; 4. fermeture transitie ; 5. intersection. Théorème : Il eiste des langages non contetuels non déterministes. On peut en effet montrer que si L est NCD, alors MIN(L), mots de L dont aucun préfie propre n'est dans L est aussi NCD (Modifier l'automate préalablement normalisé de façon à supprimer toute transition sur un état terminal.) Si donc L = { t } était NCD, alors il en serait de même de L 1 = L (01)*(10)*(01)*(10)* = {(01) i (10) j (01) j (10) i : i, j 0, i + j 0} ; pareil pour MIN(L 1 ) = {(01) i (10) j (01) j (10) i : 0 j < i} ; utomates ch6 19 Par homomorphisme inerse, il en est de même de L 2 = {a i b j a j b i : 0 j < i} ; mais ce dernier n'est pas un langage non contetuel. Pour montrer ce point, on applique le lemme de pompage sur le mot z = a n + 1 b n a n b n + 1 ; puisque z = uy et que n, selon la place possible de, soit les eposants ne sont plus égau, soit le nombre de a et de b au centre deient trop grand. Propriétés de décidabilité. On n'a aucune caractérisation des langages NCD par leur grammaire. Le seul modèle est l'automate à pile déterministe. En effet, Théorème : Soit G une grammaire non contetuelle ; le problème L(G) est NCD est indécidable. Ce théorème est admis. utomates ch6 20

Théorème : Si M est un automate à pile déterministe, et R une epression régulière, les problèmes suiants sont décidables : 1. L(M) = R ; 2. R L(M) ; 3. L(M) = Σ* ; 4. L(M) est régulier. Démonstration : Trois premiers points faciles, quatrième difficile. Théorème : Si M et M' sont deu automates à pile déterministes, les problèmes suiants sont indécidables : 1. L(M) L(M') = ; 2. L(M) L(M') ; 3. L(M) L(M') est un langage NCD ; 4. L(M) L(M') est un langage non contetuel ; 5. L(M) L(M') est un langage NCD. utomates ch6 21 Théorème : Si M et M' sont deu automates à pile déterministes, le problème suiant est décidable : L(M) = L(M'). La démonstration en est récente. L'algorithme n'est pas (pas encore?) praticable. Enfin, l'importance pratique des langages NCD est contenue dans le théorème suiant : Théorème : Un langage L est analysable par une technique ascendante LR si et seulement si il est L est non contetuel déterministe et préfie (c'est-à-dire L = MIN(L)). Démonstration : un sens résulte de l'algorithme de construction d'un analyseur syntaique (cf. cours de traduction). L'autre sens résulte de ce que la construction automate - grammaire produit une grammaire LR(0) lorsque l'automate est déterministe. utomates ch6 22