Queremos construir un autómata que acepta el lenguaje
Si fuesemos capaz de saltar mágicamente, es decir, sin consumir una letra de la entrada, de un estado a otro, sería fácil la construcción:
Es decir, hemos introducido aristas marcados con la palabra vacía .
Un autómata finito no-determinista con transiciones
(AFND-
) es una quíntupla
donde
Observamos que añadir más aristas con obviamente no
cambia el comportamiento del autómata:
Podemos tratar las transiciones con como una relación
sobre el conjunto de estados, es decir
Esta relación podemos ampliar para que sea reflexiva, es decir,
que todas las parejas con
formen parte de la relación,
es decir, formamos
Podemos ampliar la relación aun más considerando el efecto
transitivo de las transiciones , es decir, formamos en un primer paso
El proceso termina en nuestro caso de autómatas finitos, es decir,
la unión va solamente
sobre un número finito de s, porque
sigue siendo un subconjunto
del conjunto finito
(
).
Con la clausura- podemos
definir la clausura-
de un estado, como todos aquellos
estados que se puede alcanzar con caminos de transisiones
, es decir
En el ejemplo:
Entonces podemos formalizar el lenguaje aceptado por un
AFND- (parecido a lo que hicimos para un AFND).
Primero definimos la ampliación de para autómatas con
transiciones
.
va a ser
el conjunto de estados (igual como en el caso de
para AFNDs) que podemos alcanzar desde
leyendo la palabra.
Entonces:
enumera entonces todos los
estados alcanzables desde
leyendo la palabra
.
Observa: Hemos dado una definición recursiva desde
la izquierda, es decir, añadimos un símbolo a la derecha.
Hubiese sido posible definir para un
AFND de la misma manera.
Un autómata no-determinista con transiciones
acepta una palabra
sobre el alfabeto
(
)
si
El lenguaje aceptado por es (como siempre)