Décidabilité des langages des grammaires et des automates

16

Notez qu'il s'agit d'une question liée à l'étude dans un cours de CS dans une université, ce n'est PAS des devoirs et peut être trouvé ici sous l'examen d'automne 20112.

Voici les deux questions que je regarde d'un examen passé. Ils semblent être liés, le premier:

Laisser

FINITECFG={<G>∣G is a Context Free Grammar with |L(G)|<}

Prouver que est un langage décidable. FINITECFG

et...

Laisser

FINITETM={<M>∣M est une machine de Turing avec |L(M)|<}

Prouver que est un langage indécidable. FINITETM

Je suis un peu perdu sur la façon de résoudre ces problèmes, mais j'ai quelques idées qui, je pense, peuvent être dans la bonne direction. La première chose que je connais est que le langage , oùAREX

AREX={<R,w>∣R is a regular expression with wL(R)}

est un langage décidable (la preuve se trouve dans Theory of Computation de Michael Sipser , p. 168). La même source prouve également qu'une grammaire sans contexte peut être convertie en une expression régulière, et vice versa. Ainsi, , doit également être décidable car il peut être converti en une expression régulière. Ceci, et le fait que A T M est un -decidable, semble être lié à ce problème.ACFGATM

La seule chose que je peux penser G passe à des machines de Turing pour (après conversion de G à une expression régulière) et A T M . Accepter ensuite si G le fait et rejeter si G ne le fait pas. Comme A T M est indécidable, cela ne se produira jamais. D'une certaine manière, j'ai l'impression de faire une erreur ici, mais je ne suis pas sûr de ce que c'est. Quelqu'un pourrait-il me prêter main forte ici?AREXATMATM

BrotherJack
la source
5
"une grammaire libre de contexte peut être convertie en une expression régulière, et vice versa" Ce n'est pas vrai (sauf si vous l'interprétez comme "il existe un CFG qui peut être converti en une expression régulière", mais je ne pense pas que ce soit ce que vous signifiait). Les grammaires régulières peuvent être converties en expressions régulières. Il n'y a pas d'algorithme pour convertir les CFG en expressions régulières pour la simple raison que la plupart des langues sans contexte (c'est-à-dire toutes les langues sans contexte qui ne sont pas également des langues régulières) ne peuvent pas être décrites à l'aide d'une expression régulière.
sepp2k

Réponses:

9
  1. Convertissez G en forme normale de Chomsky . De cette façon, la seule dérivation vide serait le symbole de départ qui n'apparaît nulle part ailleurs et donc s'il y a une production qui peut éventuellement se générer elle-même, alors la grammaire est infinie. Si une telle production n'existe pas, chaque symbole ne pourra générer qu'un ensemble fini de chaînes, et la grammaire sera alors finie. Donc, construisez un graphique dirigé où chaque production est un nœud et chaque symbole à l'intérieur d'une production est un bord ciblant ce symbole. Si le graphique a un certain cycle, le CFG est infini, sinon il ne l'est pas. Par conséquent, une machine de Turing pour pourrait être construite en faisant exactement cela, puis F NFINITECFG est décidable.FINITECFG

  2. Supposons que est décidable. Disons que H est une machine de Turing qui a une chaîne en entrée et lui - même utilise comme une entrée à F I N I T E T M . Si F I N I T E T M renvoie vrai (c'est-à-dire que H n'accepte qu'un langage fini), alors HFINITETMHFINITETMFINITETMHHaccepte l'entrée, ce qui conduit à une contradiction puisque l'ensemble d'entrée est infini (la longueur de l'entrée est illimitée, donc accepter n'importe quelle chaîne possible comme entrée signifie accepter un ensemble infini de chaînes). Si I T renvoie false (c'est-à-dire quela langue de H est infinie), puis H rejette l'entrée, ce qui signifie quela langue de H est finie car elle n'accepte aucune entrée (c'est-à-dire que sa langue est vide), ce qui conduit à une contradiction aussi. De cette façon, la supposition que H existe conduit à la contradiction, et cette supposition est basée sur la supposition que F I NFINITETMHHHH est décidable. Donc, par contradiction, nous avons queFINIT E T M n'est pas décidable.FINITETMFINITETM

La même source prouve également qu'une grammaire sans contexte peut être convertie en une expression régulière, et vice versa.

Je doute vraiment que Sipser affirme que vous avez probablement mal lu ou mal compris. Cela signifierait que les grammaires sans contexte génèrent exactement les mêmes langages que les grammaires linéaires à droite. C'est faux; les grammaires linéaires droites générées sont un sous-ensemble approprié des grammaires sans contexte dp. Cela dit, la façon dont vous avez essayé d'utiliser des langues régulières pour répondre aux questions ne vous mène nulle part.

Comme vous pouvez le voir ci-dessus dans mes preuves, les deux questions sont en effet deux questions très distinctes et sans rapport. Il se trouve qu'ils étaient libellés de la même manière.

Victor Stafusa
la source
1
J'ai un problème après la deuxième preuve. OK donc vous passez H à G, oui? Si G renvoie vrai que H est fini, cela a du sens. Cependant, je ne reçois pas l'ensemble d'entrée infini, quelle est l'entrée à laquelle vous faites référence?
BrotherJack
1
HH
1
D'ACCORD. Cela semble logique. Serait-il exact de se référer à cette entrée comme "toute chaîne possible dans la langue d'entrée H"?
BrotherJack
1
@BrotherJack - J'ai modifié la réponse pour clarifier ce point.
Victor Stafusa
1
Excellente explication! Merci beaucoup pour votre temps.
BrotherJack
2

Une autre façon de décider FjeNjeTECFg est via le lemme de pompage.

Le lemme de pompage dit que chaque LFC L a un numéro N (qui peut être calculé à partir de la grammaire, ou au moins une limite supérieure de celle-ci peut être facilement calculée), de sorte que tout XL qui est plus long que N peut être "pompé".

Cela signifie que si Lest fini, tous les motsL sont plus courts que N.

Maintenant, tout ce qu'il faut vérifier, ce sont des mots d'une longueur comprise entre N et 2N. Si un tel mot existe, alorsLest infini. Il n'est pas trop difficile de voir que cette déclaration est "si et seulement si", donc si vous ne trouvez aucun mot dans cette plage,Lest fini. L'efficacité ici est bien pire que la réponse de Victor, mais elle enseigne quelque chose sur la structure des LFC.

A sonné.
la source