Dado un lenguaje , ¿cómo puedo decir directamente, sin mirar las reglas de producción, que este lenguaje no es regular?
Podría usar el lema de bombeo, pero algunos chicos dicen simplemente mirando la gramática que este no es uno normal. ¿Como es posible?
Respuestas:
La propiedad principal de DFA / NFA es la falta de memoria ilimitada. Si observa un idioma y el único algoritmo (que luego debería traducirse en un autómata finito) puede pensar que requiere esta propiedad, es decir, siente que cualquier algoritmo que lo reconozca necesitará recordar una gran cantidad arbitraria de cosas (como en su ejemplo), entonces ese idioma probablemente no sea regular.n
Por supuesto, siempre debe recordar que la intuición matemática puede estar equivocada, y la única forma de estar seguro de su intuición es demostrarlo.
EDITAR: responderé la última pregunta en los comentarios aquí, por falta de espacio.
Espero que esto lo haga un poco más claro.
fuente
Una buena manera de probar su intuición es mirar estos idiomas:
¿Cuáles son libres de contexto?
fuente
En realidad, puede decidir si un idioma es regular utilizando cálculos bastante sencillos, en lugar de hacer una prueba completa. Simplemente necesita aplicar un criterio muy poderoso: un lenguaje es regular si y solo si tiene muchos cocientes.
fuente