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.

Sam Hooper
la source

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 UNEw dans g on a UNEwR dans H.

Ensuite, par induction, nous montrons que UNEgw ssi UNEHwR.

  • ( base ) En zéro étapes, nous avons UNEg0UNE ssi UNEH0UNE.
  • ( induction ) En supposant UNEgw1Bw2 ssi UNEHw2RBw1R nous pouvons appliquer n'importe quelle production Bu dans g (et en H à l'envers) et obtenir UNEgw1uw2 et UNEHw2RuRw1R 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.

Hendrik Jan
la source
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 formulaireP1UNEB, remplacez-le par, P1BUNE et pour les productions du formulaire P1une, 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.

Ameet Deshpande
la source
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.

ahaywood
la source
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