Diremos que un lenguaje
es regular-N si coincide con el lenguaje reconocido por algún autómata no-determinista.
Ya que todo autómata finito es en sí mismo un autómata no-determinista se tiene que todo lenguaje regular es también un lenguaje regular-N. El recíproco también es cierto.
Lema 3.2 (Equivalencia de determinismo e indeterminismo)
Todo lenguaje regular-N es regular.
Es decir, para todo autómata no-determinista
existe un autómata finito
tal que
.
En efecto, sea
un autómata no-determinista. Podemos presentar dos construcciones de autómatas finitos equivalentes a
.
Primera construcción. Construyamos el monoide
del autómata no-determinista
y consideremos su estructura de autómata finito: cada uno de sus elementos
es un estado, para cada símbolo
definamos la transición
y definamos como estados finales a las clases de equivalencia
tales que
.
Una palabra será reconocida en este último autómata cuando y sólo cuando lo sea por
.
Segunda construcción.
Construyamos el autómata finito
como sigue:
estados:
Todo subconjunto de estados ``viejos'' será un ``nuevo'' estado,
transición:
Todo subconjunto de estados ``viejos'' se transforma en su imagen bajo la función de transición ``vieja'',
,
es decir, para cada ,
si y sólo si
.
estado inicial:
Hagamos
,
la mónada que consta sólo del estado inicial ``viejo''.
estados finales:
Todo subconjunto de estados ``viejos'' que contenga alguno final de ésos será un nuevo estado final:
Observamos que rige cada una de las siguientes equivalencias para cualquier palabra
:
así pues,
y
son equivalentes.
Observemos también aquí que el nuevo conjunto de estados ha de tener 2n elementos, donde n es el número de estados ``viejos''. Esto hace crecer mucho el tamaño del autómata finito equivalente construído de esta forma. Bien que en algunos casos tal cota superior al número de estados nuevos puede alcanzarse, en muchos otros casos la parte accesible del autómata construído incluirá sólo una cantidad mucho menor de estados. Por tanto, en la práctica es muy conveniente construir tan solo la parte accesible del autómata
siguiendo la estrategia del algoritmo (3.5) de cálculo de estados accesibles.
Ejemplo. Consideremos el mismo ejemplo tratado en esta sección. Cada subconjunto Q del conjunto de estados
puede ser codificado por una cadena de 5 caracteres
de manera evidente,
y cada una de tales cadenas puede ser vista como la representación binaria de un número entero entre 0 y 31. Nombremos pues con números de 0 a 31 a los elementos del conjunto Q2 de nuevos estados. Así por ejemplo ``7'' que en binario es 00111 representa al conjunto
y ``16'',
16=(10000)2, es el nuevo estado inicial
.
Los nuevos estados finales son todos aquellos que contegan a q4, es decir, que tengan el último bit ``prendido''. Los nuevos estados finales son entonces todos los números impares.
Con ayuda de la tabla (3.14), se ve que la función de transición del nuevo autómata es la mostrada en la tabla (3.15).
Table 3.15:
Transición en el autómata finito equivalente al no-determinista.
Observamos en este ejemplo que hay muchos estados inaccesibles tan sólo por el hecho de que la imagen de la función de transición no incluye a todos los estados. Con el estímulo 0 sólo se puede arribar a los estados 0, 4, 8, 12, 16, 20, 24 y 28. Con el estímulo 1 sólo se puede arribar a los estados 0, 2, 13 y 15. Si se aplica el algoritmo (3.5) se obtiene el autómata de 8 estados cuya tabla de transición es la siguiente: