Langues sans contexte fermées sous inversion


8

En classe cette semaine, nous avons découvert les LFC et leurs propriétés de fermeture. J'ai vu des preuves d'union, d'intersection et de compliment, mais pour le renversement, mon conférencier vient de dire que c'était fermé. Je voulais voir la preuve, donc je cherchais depuis quelques jours, mais tout ce que j'ai trouvé, c'est que la plupart des gens disent simplement que renverser les productions suffit pour le prouver. Ceux qui vont un peu plus formellement déclarent simplement qu'il existe une preuve inductive facile que vous pouvez donner. Quelqu'un peut-il me fournir plus d'informations / conseils sur la preuve inductive? Essayez comme je pourrais, je ne peux pas le trouver.

Réponses:


11

Vos sources ont raison, et je crains qu'il n'y ait que peu de choses à ajouter, à part le formalisme. Je dénote l'inverse (miroir) de la chaînew par wR.

Si g est une grammaire, laissez H être son inversé, donc pour la production UNE→w dans g on a UNE→wR dans H.

Ensuite, par induction, nous montrons que UNE⇒g∗w ssi UNE⇒H∗wR.

  • ( base ) En zéro étapes, nous avons UNE⇒g0UNE ssi UNE⇒H0UNE.
  • ( induction ) En supposant UNE⇒g∗w1Bw2 ssi UNE⇒H∗w2RBw1R nous pouvons appliquer n'importe quelle production B→u dans g (et en H à l'envers) et obtenir UNE⇒g∗w1uw2 et UNE⇒H∗w2RuRw1R respectivement, où en effet w2RuRw1R est l'inverse de w1uw2.

Ceci est une preuve très condensée, mais contient tous les ingrédients nécessaires. Encore une fois, une dérivation de la grammaire inversée est l'inverse de celle d'origine. Cela est particulièrement clair lorsque l'on regarde les deux arbres de dérivation.


cela vaut-il pour un langage sans contexte déterministe.
— akashchandrakar

@aksam Les LFC déterministes ne sont pas fermées en cas d'annulation. Notez que le déterminisme pour CFL est généralement défini avec des automates déroulants, pas des grammaires.
— Hendrik Jan

7

Il existe une autre façon de voir ce problème.

Considérez que la langue Lest une LFC. Cela signifie qu'il y a une grammaireg={N,∑,P,S}qui satisfait la LCF. Nous pouvons supposer que c'est sous la forme normale de Chomsky.

Si ϵ fait partie de la langue, trivialement ϵRfait également partie de la langue. Maintenant pour chaque production du formulaireP1⟶UNEB, remplacez-le par, P1⟶BUNE et pour les productions du formulaire P1⟶une, où une∈∑, laissez la même chose.

À partir de l'arbre d'analyse de la chaîne dérivée, il est facile de voir que le langage dérivé sera exactement l'inverse du langage initial car la construction reflète l'arbre d'analyse d'origine.


Je ne pense pas que ce soit "une autre façon": c'est juste la même manière formulée d'une manière différente (et en fait, je pense, plus facile à suivre). La partie où vous dites "c'est facile à voir" est la partie où l'induction entre en jeu. Quoi qu'il en soit, +1 car cette réponse est certainement utile.
— David Richerby

4

Tout d'abord. Les CFL ne sont pas fermées sous intersection ou complément (ou différence d'ailleurs). Ils sont fermés sous Union, Concaténation, fermeture des étoiles de Kleene, substitution, homomorphisme, homomorphisme inverse et inversion. REMARQUE: Les deux homomorphismes ne sont généralement pas couverts dans un cours d'introduction à la théorie des ordinateurs.

Pour prouver l'inversion, Soit L un CFL, avec la grammaire G = (V, T, P, S). Soit L R l'inverse de L, telle que la grammaire soit G R = (V, T, P R , S). Autrement dit, inversez chaque production.

Ex. P -> AB deviendrait P -> BA

Puisque G R est un CFG, donc L (G R ) est un CFL.


Bienvenue sur le site! Je suis étonné que personne n'ait remarqué auparavant que la question prétend à tort que les LFC sont fermées sous intersection et complément.
— David Richerby
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.