Documentos de Académico
Documentos de Profesional
Documentos de Cultura
es un alfabeto finito;
es el estado inicial;
Este autmata finito est definido sobre el alfabeto ={0,1}, posee dos estados s1 y s2, y sus
transiciones son (s1,0)=s2, (s1,1)=s1, (s2,0)=s1 y (s2,1)=s2. Su estado inicial es s1, que es tambin
su nico estado final.
Los autmatas finitos se pueden representar mediante grafos particulares, tambin llamados
diagramas de estados finitos, de la siguiente manera:
El estado inicial q0 se caracteriza por tener una arista que llega a l, proveniente de ningn
otro vrtice.
El o los estados finales F se representan mediante vrtices que estn encerrados a su vez
por otra circunferencia.
smbolo
0
1
0
1
llegada
(q,) Q
s2
s1
s1
s2
0
*s1
s2
1
s2
s1
s1
s2
La primera representa explcitamente los parmetros y el valor que toma cada ocurrencia de la
funcin de transicin.7 La segunda es ms compacta, y marca con una flecha el estado inicial, y con
un asterisco los estados finales.
Funcionamiento
El esquema general es el de una cinta lectora que avanza slo hacia delante y de a una celda,
segn la funcin de transicin.
En el comienzo del proceso de reconocimiento de una cadena de entrada, el autmata finito se
encuentra en el estado inicial y a medida que procesa cada smbolo de la cadena va cambiando de
estado de acuerdo a lo determinado por la funcin de transicin. Cuando se ha procesado el ltimo
de los smbolos de la cadena de entrada, el autmata se detiene en el estado final del proceso. Si el
estado final en el que se detuvo es un estado de aceptacin, entonces la cadena pertenece al
lenguaje reconocido por el autmata; en caso contrario, la cadena no pertenece a dicho lenguaje.
Note que el estado inicial de un autmata finito siempre es nico, en tanto que los estados finales
pueden ser ms de uno, es decir, el conjunto puede contener ms de un elemento. Tambin
puede darse el caso de que un estado final corresponda al mismo estado inicial.
Generalizacin de la funcin de transicin
3.2 Clasificacin de AF
Autmata finito determinista
AFD que reconoce el lenguaje regular conformado exclusivamente por las cadenas con un nmero
par de ceros y par de unos.
Un autmata finito determinista (abreviado AFD) es un autmata finito que adems es un sistema
determinista; es decir, para cada estado q Q en que se encuentre el autmata, y con cualquier
smbolo a del alfabeto ledo, existe siempre a lo ms una transicin posible (q,a).
En un AFD no pueden darse ninguno de estos dos casos:
Que existan dos transiciones del tipo (q,a)=q1 y (q,a)=q2, siendo q1 q2;
Que existan transiciones del tipo (q,), salvo que q sea un estado final, sin transiciones
hacia otros estados.
AFND con transiciones (q0,b)=q0 y (q0,b)=q1, que acepta el lenguaje regular sobre el alfabeto {a,b}
conformado por todas las palabras que terminan en b; es decir, que equivale a la expresin regular
(a|b)*b+.
AFND- a cuyo estado 2 se puede acceder pasando por el estado 3, sin procesar smbolos de
entrada.
Un autmata finito no determinista (abreviado AFND) es aquel que, a diferencia de los autmatas
finitos deterministas, posee al menos un estado q Q, tal que para un smbolo a del alfabeto,
existe ms de una transicin (q,a) posible.
Haciendo la analoga con los AFDs, en un AFND puede darse cualquiera de estos dos casos:
Que existan transiciones del tipo (q,), siendo q un estado no-final, o bien un estado final
pero con transiciones hacia otros estados.
Normalmente en el diseo de autmatas finitos, lo primero que se hace es construir un AFND-, que
es el ms sencillo de construir, por poseer menos restricciones en su funcin de transiciones. Luego
dicho autmata se reduce a un AFND, y finalmente a un AFD, el cual por sus caractersticas
deterministas ya puede ser implementado sin problemas utilizando un lenguaje de programacin.
AFND inicial.
Proceso de conversin.
AFD final.
Todo AFND (QN, , q0, N, FN) puede convertirse en un AFD (QD, , q0, D, FD) equivalente, que
mantiene el alfabeto y el estado inicial q0 originales. La conversin implica pasar por un AFD
intermedio con estados y transiciones redundantes, que al no ser accesibles a partir del estado
inicial, son eliminados para obtener el AFD definitivo.
Para definir el AFD intermedio, se deben seguir los siguientes pasos:
1. Primero se redefine el conjunto de estados QN = {q0, q1, ..., qm} original, como uno
conformado por todos los subconjuntos de QN. Los nuevos estados finales sern todos
aquellos estados que contengan a alguno de los estados finales originales.
La
figura representa un grafo de transicin generalizado
siguiente
El lenguaje aceptado por dicho grafo es L(a* + a* (a+b)c*), la liga (q 0,q0) etiquetada con a es
un ciclo que puede generar cualquier nmero de as, esto es, se representa por L(a*). Podemos
etiquetar esta liga como a*, sin cambiar el lenguaje aceptado por el grafo.
Ahora bien, dada la ER a+ a(a+b)*a
Tenemos
3. Marcar en la tabla aquellas entradas donde un estado es final y el otro es no-final, es decir,
aquellos pares de estados que son claramente distinguibles.
4. Para cada par (p, q) y cada smbolo a del alfabeto, tal que r = (p,a) y s = (q,a):
1. Si (r, s) ya ha sido marcado, entonces p y q tambin son distinguibles, por lo tanto
marcar la entrada (p, q).
2. De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s).
5. Agrupar los pares de estados no marcados.
Luego del tercer paso, si la tabla creada queda completamente marcada, entonces el AFD inicial ya
era mnimo.
La complejidad computacional del problema de minimizar un AFD es polinomial. De hecho, existen
algoritmos ms eficientes an que el mostrado en este artculo (aunque menos intuitivos). Sin
embargo, el problema de minimizar un autmata finito no determinista es NP-completo y PSPACEcompleto.
Ejemplo
Minimizacin de un AFD.
AFD minimizado.
En la primera figura del ejemplo, se muestra un autmata con el estado inaccesible d, el cual puede
eliminarse inmediatamente. Luego se construye la tabla de pares de estados, y a continuacin se
marcan, de acuerdo a la tercera lnea del algoritmo, las filas y columnas correspondientes a los
estados finales c y g, salvo la celda que representa el par (c,g), puesto que al ser ambos estados
finales, pueden ser estados equivalentes. Posteriormente, se marcan las celdas restantes de
acuerdo a la cuarta lnea del algoritmo, notando que el par (b, f) queda asociado con el par (c, g), y
as finalmente se obtiene el autmata final, agrupando los estados b y f, as como c y g, tal y como
se muestra en la segunda figura del ejemplo.
b
c
e
f
g
a
3.6 Aplicaciones
Ejemplo de Mquina de Mealy, un tipo de transductor de estados finitos, que generaliza los
autmatas finitos.
Existen diversas generalizaciones posibles de hacer sobre los autmatas finitos, para aumentar su
uso y expresividad. As, por ejemplo, se definen los transductores de estados finitos como autmatas
finitos que estn dotados adems de un alfabeto de salida, distinto al de entrada, y que pueden
poseer ms de un estado inicial.14 Las mquinas de Moore y mquinas de Mealy son conocidos
ejemplos de transductores, que se utilizan sobre todo para modelar sistemas secuenciales.15 16
Es incluso posible aumentar el poder de cmputo de un autmata finito, permitiendo un alfabeto
adicional sobre ste, que acte sobre una memoria de tipo pila para ser considerada en cada
transicin. Esta es la idea utilizada por los llamados autmatas con pila, los cuales son capaces de
reconocer lenguajes libres de contexto, que estn un nivel por sobre los lenguajes regulares en la
Jerarqua de Chomsky.