2016-09-17 7 views
0

Regular language savoir qui est une langue régulière

Mon argument/réponse est si y est aregular ensemble alors il sort un DFA qui accepte y. Dans la L1, il y a une condition que y = x^n, que x appartienne à L1, car y est accepté par DFA. Ainsi est x^n et donc x est donc L1 est régulier. Maintenant L2 -> ici la condition est x = y^n. Ici y est accepté par DFA, donc y^n est donc égal à x donc x peut être accepté par DFA. Cela rend les deux L1, L2 régulière

Mon argument est-il correct?

+0

Il y a quelque chose qui cloche dans votre réponse parce que «y» n'est pas un ensemble. – melpomene

+0

Je ne suis pas votre argument. S'il y a un DFA qui accepte x^n, cela ne veut pas dire qu'il doit aussi accepter x. – melpomene

Répondre

1

Cette question semble être mal posée. Par exemple, si nous prenons A = {a}, alors L1 est la langue {a} et L2 est la langue a *, les deux étant réguliers. Si nous prenons A = a * b, alors L1 = a * b (qui est régulier) et L2 = {(a n b) m | m, n ≥ 0}, qui n'est pas régulier (en utilisant le lemme de pompage). En d'autres termes, la réponse dépend du choix de A.

+0

Donc aucune des options n'est correcte? – Anjo

+0

Si A = a * b alors L2 = (a * b) * ce qui est bien sûr normal. Voir ma réponse pour plus de détails. – chazisop

+1

@chazisop Etes-vous sûr de ça? L_2, intuitivement, est le langage que vous obtenez en choisissant des chaînes individuelles dans A et en les répliquant un certain nombre de fois. En conséquence, vous n'auriez pas d'ababat dans L_2 car il n'y a pas de chaîne fixe dans A que vous pourriez choisir et dupliquer deux fois pour obtenir aabab. – templatetypedef