Ir al contenido

Teorema de Myhill-Nerode

De Wikipedia, la enciclopedia libre

En la teoría de lenguajes formales, el teorema de Myhill-Nerode proporciona una condición necesaria y suficiente para que un lenguaje sea regular. El teorema debe su nombre a John Myhill y Anil Nerode, quienes lo demostraron en la Universidad de Chicago en 1957 (Nerode y Sauer, 1957, p. ii).

Enunciado

[editar]

Dado un lenguaje , y un par de cadenas y , define una extensión distintiva para que sea una cadena de manera que exactamente una de las dos cadenas y pertenece a . Definir una relación en cuerdas como si no hay una extensión distintiva para y . Es fácil demostrar que es una relación de equivalencia en cadenas y, por lo tanto, divide el conjunto de todas las cadenas en clases de equivalencia.

El teorema de Myhill-Nerode establece que un lenguaje es regular si y sólo si tiene un número finito de clases de equivalencia y, además, que este número es igual al número de estados en el autómata finito determinista mínimo (AFD) que acepta . Además, cada AFD mínimo para el lenguaje es isomorfo al canónico (Hopcroft y Ullman, 1979).

(1) es regular si y solo si tiene un número finito de clases de equivalencia.

(2) Este número es igual al número de estados en el autómata finito determinista mínimo (AFD) que acepta .

(3) Cualquier aceptador del AFD mínimo para el lenguaje es isomorfo al siguiente:

Sea cada clase de equivalencia correspondiente a un estado, y sean las transiciones de estado para cada . Sea el estado inicial , y los estados de aceptación sean donde .


Myhill, Nerode (1957)

Generalmente, para cualquier lenguaje, el autómata construido es un aceptor de autómatas de estados. Sin embargo, no necesariamente tiene un número finito de estados. El teorema de Myhill-Nerode muestra que la finitud es necesaria y suficiente para la regularidad del lenguaje.

Algunos autores hacen referencia a la relación como congruencia de Nerode, [1][2]​ en honor a Anil Nerode.

Demostración
(1) Si es regular, construir un DFA mínimo para aceptarlo. Claramente, si terminan en el mismo estado después de ejecutarse a través del DFA, entonces , por lo tanto, el número de clases de equivalencia de es como máximo el número de estados del DFA, que debe ser finito.

Por el contrario, si tiene un número finito de clases de equivalencia, entonces el autómata de estados construido en el teorema es un aceptor de AFD, por lo tanto, el lenguaje es regular.

(2) Por la construcción en (1).

(3) Dado un aceptor DFA mínimo , construimos un isomorfismo al canónico.

Construya la siguiente relación de equivalencia: si y solo si terminan en el mismo estado al pasar por .

Como es un aceptor, si entonces . Por lo tanto, cada clase de equivalencia es una unión de una o más clases de equivalencia de . Además, como es mínima, el número de estados de es igual al número de clases de equivalencia de por la parte (2). Por lo tanto, .

Ahora bien, esto nos da una biyección entre los estados de y los estados del aceptor canónico. Es claro que esta biyección también preserva las reglas de transición, por lo que es un isomorfismo de AFD.

Uso y consecuencias

[editar]

El teorema de Myhill-Nerode se puede utilizar para demostrar que un lenguaje es regular demostrando que el número de clases de equivalencia de es finito. Esto se puede hacer mediante un análisis de caso exhaustivo en el que, a partir de la cadena vacía, se utilizan extensiones distintivas para encontrar clases de equivalencia adicionales hasta que no se puedan encontrar más. Por ejemplo, el lenguaje que consiste en representaciones binarias de números que pueden dividirse por 3 es regular. Dada la cadena vacía, (o ), , y son extensiones distintivas que dan como resultado las tres clases (correspondientes a números que dan como residuo 0, 1 y 2 cuando se dividen por 3), pero después de este paso ya no hay más extensión distintiva. El autómata mínimo que acepte nuestro lenguaje tendría tres estados correspondientes a estas tres clases de equivalencia.

Otro corolario inmediato del teorema es que si para un lenguaje La relación tiene infinitas clases de equivalencia, not es regular. Este es el corolario que se utiliza con frecuencia para demostrar que una lengua no es regular.

Generalizaciones

[editar]

El teorema de Myhill-Nerode se puede generalizar a los autómatas de árbol. [3]

Véase también

[editar]
  • Lema de bombeo para lenguajes regulares, un método alternativo para demostrar que un lenguaje no es regular. El lema de bombeo no siempre puede demostrar que un lenguaje no es regular.
  • Monoide sintáctico

Referencias

[editar]
  1. Brzozowski, Janusz; Szykuła, Marek; Ye, Yuli (2018), «Syntactic Complexity of Regular Ideals», Theory of Computing Systems 62 (5): 1175-1202, doi:10.1007/s00224-017-9803-8 .
  2. Crochemore, Maxime et al. (2009), «From Nerode's congruence to suffix automata with mismatches», Theoretical Computer Science 410 (37): 3471-3480, doi:10.1016/j.tcs.2009.03.011 .
  3. Hubert Comon; Max Dauchet; Rémi Gilleron; Florent Jacquemard; Denis Lugiez; Christoph Löding; Sophie Tison; Marc Tommasi (Oct 2021). Tree Automata Techniques and Applications (TATA).  Here: Sect. 1.5, p.35-36.

Bibliografía

[editar]

Lectura adicional

[editar]