realiza c�mputos en forma autom�tica sobre una entrada para producir una salida.
Este modelo est� conformado por un alfabeto, un conjunto de estados finito, una
funci�n de transici�n, un estado inicial y un conjunto de estados finales. Su
funcionamiento se basa en una funci�n de transici�n, que recibe a partir de un
estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y
que va leyendo dicha cadena a medida que el aut�mata se desplaza de un estado a
otro, para finalmente detenerse en un estado final o de aceptaci�n, que representa
la salida.
�ndice
1 Historia
2 Definici�n formal
2.1 Representaci�n como diagramas de estados
2.2 Representaci�n como tabla de transiciones
2.3 Funcionamiento
2.4 Generalizaci�n de la funci�n de transici�n
3 Aut�mata finito determinista
4 Aut�mata finito no determinista
5 Equivalencias entre aut�matas finitos
5.1 Conversi�n de un AFND-e a un AFND
5.2 Conversi�n de un AFND a un AFD
5.3 Minimizaci�n de un AFD
6 Generalizaciones de aut�matas finitos
7 V�ase tambi�n
8 Referencias
9 Bibliograf�a
10 Enlaces externos
Historia
Definici�n formal
Formalmente, un aut�mata finito es una 5-tupla (Q, S, q0, d, F) donde:6?
Este aut�mata finito est� definido sobre el alfabeto S={0,1}, posee dos estados s1
y s2, y sus transiciones son d(s1,0)=s2, d(s1,1)=s1, d(s2,0)=s1 y d(s2,1)=s2. Su
estado inicial es s1, que es tambi�n su �nico estado final.
Los aut�matas finitos se pueden representar mediante grafos particulares, tambi�n
llamados diagramas de estados finitos, de la siguiente manera:
salida
q ? Q s�mbolo
s ? S llegada
d(q,s) ? Q
s1 0 s2
s1 1 s1
s2 0 s1
s2 1 s2
0 1
?*s1 s2 s1
s2 s1 s2
Funcionamiento
El esquema general es el de una cinta lectora que avanza s�lo hacia delante y de a
una celda, seg�n la funci�n de transici�n.
En el comienzo del proceso de reconocimiento de una cadena de entrada, el aut�mata
finito se encuentra en el estado inicial y a medida que procesa cada s�mbolo de la
cadena va cambiando de estado de acuerdo a lo determinado por la funci�n de
transici�n. Cuando se ha procesado el �ltimo de los s�mbolos de la cadena de
entrada, el aut�mata se detiene en el estado final del proceso. Si el estado final
en el que se detuvo es un estado de aceptaci�n, entonces la cadena pertenece al
lenguaje reconocido por el aut�mata; en caso contrario, la cadena no pertenece a
dicho lenguaje.
Una funci�n de transici�n d se puede generalizar a una funci�n d*, que opera sobre
estados y secuencias de s�mbolos, en lugar de s�mbolos individuales del alfabeto.
As�, esta nueva funci�n de transici�n se define {\displaystyle \delta ^{*}\colon
Q\times \Sigma ^{*}\to Q} \delta ^{*}\colon Q\times \Sigma ^{*}\to Q, permitiendo
caracterizar los aut�matas de manera m�s abreviada y sin perder expresividad.6?
De este modo, el lenguaje regular aceptado por un aut�mata finito A puede denotarse
como L(A) = {w; d*(q0,w)? F}, es decir, como el conjunto de todas las
configuraciones iniciales que conllevan a estados finales.
AFD que reconoce el lenguaje regular conformado exclusivamente por las cadenas con
un n�mero par de ceros y par de unos.
Art�culo principal: Aut�mata finito determinista
Un aut�mata finito determinista (abreviado AFD) es un aut�mata finito que adem�s es
un sistema determinista; es decir, para cada estado q ? Q en que se encuentre el
aut�mata, y con cualquier s�mbolo a ? S del alfabeto le�do, existe siempre a lo m�s
una transici�n posible d(q,a).
Que existan dos transiciones del tipo d(q,a)=q1 y d(q,a)=q2, siendo q1 ? q2;
Que existan transiciones del tipo d(q, e), salvo que q sea un estado final, sin
transiciones hacia otros estados.
Un tipo interesante de aut�matas finitos deterministas son los llamados ac�clicos y
un ejemplo de �stos son los tries.
Aut�mata finito no determinista
AFND con transiciones d(q0,b)=q0 y d(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 expresi�n regular (a|b)*b+.
AFND-e a cuyo estado 2 se puede acceder pasando por el estado 3, sin procesar
s�mbolos de entrada.
Art�culo principal: Aut�mata finito no determinista
Un aut�mata finito no determinista (abreviado AFND) es aquel que, a diferencia de
los aut�matas finitos deterministas, posee al menos un estado q ? Q, tal que para
un s�mbolo a ? S del alfabeto, existe m�s de una transici�n d(q,a) posible.
Haciendo la analog�a con los AFDs, en un AFND puede darse cualquiera de estos dos
casos:
{\displaystyle \delta :Q\times \Sigma \to {\mathcal {P}}(Q)} \delta :Q\times \Sigma
\to {\mathcal {P}}(Q)
Para el caso de los AFND-e, se suele expresar la funci�n de transici�n de la forma:
Esto significa que los aut�matas finitos deterministas son un caso particular de
los no deterministas, puesto que Q pertenece al conjunto P(Q).
Toda expresi�n regular (que define a su vez un lenguaje regular) puede ser
expresada como un aut�mata finito determinista,8? y viceversa.9? Dada una expresi�n
regular, es posible construir un AFND-e que reconozca dicho lenguaje, por ejemplo
mediante el algoritmo de Thompson. Luego, todo AFND-e puede transformarse en un
AFND equivalente, as� como todo AFND puede transformarse en un AFD equivalente,
mediante el m�todo llamado construcci�n de conjunto potencia. As�, por
transitividad, para cualquier aut�mata finito no determinista siempre existe un
aut�mata finito determinista equivalente, y viceversa.3?
Dado un estado q, se llama clausura-e(q) al conjunto de todos los estados a los que
se puede acceder a partir de q, proces�ndose a lo m�s un �nico s�mbolo de la
entrada. Puede definirse recursivamente de la siguiente manera:10?
AFND-e inicial.
clausura-e(1) = {1,2,3,4,6} = A
Para A:
Para el s�mbolo a: 4 va a 5, y clausura-e(5) = {5,7} = B.
Para el s�mbolo b: no existen transiciones posibles.
Para B:
Para el s�mbolo a: no existen transiciones posibles.
Para el s�mbolo b: 5 va a 6, y clausura-e(6) = {6} = C.
Para C:
Para el s�mbolo a: no existen transiciones posibles.
Para el s�mbolo b: no existen transiciones posibles.
Con esto concluye el algoritmo y se obtiene el aut�mata de la figura.
En algunos casos puede ocurrir que al quitar las transiciones �psilon obtengamos
directamente un AFD, pues la �nica raz�n de no-determinismo era justamente la
presencia de dichas transiciones.
AFND inicial.
Proceso de conversi�n.
AFD final.
Todo AFND (QN, S, q0, dN, FN) puede convertirse en un AFD (QD, S, q0, dD, FD)
equivalente, que mantiene el alfabeto S y el estado inicial q0 originales. La
conversi�n 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.
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 ser�n
todos aquellos estados que contengan a alguno de los estados finales originales.
Posteriormente, se redefine el conjunto de transiciones original, por transiciones
del tipo dD(S,a), donde a?S, y S es la uni�n de todos los estados q de QN para los
cuales exist�a la transici�n dN(q,a).
Por �ltimo, se eliminan los estados inaccesibles o inalcanzables (junto con sus
transiciones de salida), es decir, aquellos a los que no se puede acceder a partir
del estado inicial. Luego de esta depuraci�n, se obtiene el AFD final.
Ejemplo
En las figuras de ejemplo, como el AFND inicial posee tres estados (q0, q1, q2),
entonces el AFD intermedio poseer� siete ({q0}, {q1}, {q2}, {q0, q1}, {q0, q2},
{q1, q2}, {q0, q1, q2}), y como el estado final original era q2, entonces los
estados finales del AFD intermedio son {q2}, {q0, q2}, {q1, q2} y {q0, q1, q2}. Con
respecto a las nuevas transiciones, note por ejemplo que se mantuvo la transici�n
dN(q0,1)=q0, siendo ahora llamada dD({q0},1)={q0}; sin embargo, dado que
originalmente se daba que dN(q0,0)=q0 y dN(q0,0)=q1, ahora estas dos transiciones
fueron reemplazadas por dD({q0},0)={q0, q1}. Para terminar, note que los estados
{q1}, {q2} y {q1, q2} no est�n conectados con el resto del aut�mata que posee el
estado inicial; por tanto, son eliminados. Asimismo es eliminado tambi�n {q0, q1,
q2}, pues a pesar de estar conectado con el resto del aut�mata, no es accesible a
partir de {q0}. As� finalmente, eliminando estos cuatro estados, as� como sus
respectivas transiciones, se obtiene el AFD buscado.
Minimizaci�n de un AFD
Dos estados de un aut�mata finito determinista son estados equivalentes si al
unirse en un s�lo estado, pueden reconocer el mismo lenguaje regular que si
estuviesen separados. Esta uni�n de estados implica la uni�n tanto de sus
transiciones de entrada como de salida. Si dos estados no son equivalentes, se dice
que son estados distinguibles. Un estado final con un estado no-final nunca ser�n
equivalentes.
Ejemplo
Minimizaci�n de un AFD.
AFD minimizado.
En la primera figura del ejemplo, se muestra un aut�mata con el estado inaccesible
d, el cual puede eliminarse inmediatamente. Luego se construye la tabla de pares de
estados, y a continuaci�n se marcan, de acuerdo a la tercera l�nea 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 l�nea del algoritmo, notando que el par (b, f) queda asociado con el par
(c, g), y as� finalmente se obtiene el aut�mata 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 b c e f
b
c
e
f
g
a b c e f
Generalizaciones de aut�matas finitos
V�ase tambi�n
Lenguaje regular
Teor�a de aut�matas
Sistema combinacional
Aut�mata con pila
M�quina de Turing
M�quina abstracta
Referencias
Wolfram, Stephen (2002). �Starting From Randomness�. A New Kind of Science (en
ingl�s). Wolfram Media. p. 958. Consultado el 31 de marzo de 2010.
Basharin, Gely P.; Langville, Amy N.; Naumov, Valeriy A. (2004). �The Life and
Work of A. A. Markov�. Linear Algebra and its Applications (en ingl�s) 386: 3-26.
Consultado el 31 de marzo de 2010.
Rabin, Michael O.; Scott, Dana (1959). �Finite automata and their decision
problems�. IBM Journal of Research and Development (en ingl�s) (IBM Corp. Riverton,
NJ, USA) 3 (2): 114-125. ISSN 0018-8646. Consultado el 5 de abril de 2010.
Wolfram, Stephen (2002). A New Kind of Science (en ingl�s). Wolfram Media. p. 893.
Consultado el 31 de marzo de 2010.
Thompson, Ken (1968). �Programming Techniques: Regular expression search
algorithm�. Communications of the ACM (en ingl�s) 11 (6): 419-422. Consultado el 1
de abril de 2010.
Chakraborty, Samarjit (17 de marzo de 2003). �Formal Languages and Automata
Theory. Regular Expressions and Finite Automata�. Computer Engineering and Networks
Laboratory. Swiss Federal Institute of Technology (ETH) Z�rich (en ingl�s): 17.
Consultado el 30 de marzo de 2010.
Brena, Ram�n (2003). �Aut�matas y Lenguajes. Un enfoque de dise�o�. Tecnol�gico de
Monterrey, M�xico: 205. Consultado el 31 de marzo de 2010.
Berry, G.; Sethi, R. (1987). �From regular expressions to deterministic automata�.
TCS: Theoretical Computer Science (en ingl�s) 48: 117-126. Consultado el 1 de abril
de 2010.
Neumann, Christoph (2005). Converting Deterministic Finite Automata to Regular
Expressions (en ingl�s). Consultado el 1 de abril de 2010.
van Noord, Gertjan (2000). �Treatment of epsilon moves in subset construction�.
Computational Linguistics (en ingl�s) (MIT Press. Cambridge, MA, USA) 26 (1): 61-
76. ISSN 0891-2017. Consultado el 5 de abril de 2010.
Hopcroft, John E. (1971). �An n log n algorithm for minimizing states in a finite
automaton�. Theory of Machines and Computations (en ingl�s) (Academic Press, Nueva
York): 189-196. Consultado el 9 de abril de 2010.
Jiang, Tai; Ravikumar, B. (1993). �Minimal NFA problems are hard�. SIAM Journal on
Computing (en ingl�s) (Society for Industrial and Applied Mathematics Philadelphia,
PA, Estados Unidos) 22 (6): 1117-1141. ISSN 0097-5397. Consultado el 9 de abril de
2010.
Malcher, Andreas (2004). �Minimizing finite automata is computationally hard�.
Theoretical Computer Science (en ingl�s) (Elsevier Science Publishers Ltda. Essex,
Reino Unido) 327 (3): 375-390. ISSN 0304-3975. Consultado el 5 de abril de 2010.
Koskenniemi, Kimmo (1984), A general computational model for word-form recognition
and production, Morristown, NJ, Estados Unidos: Association for Computational
Linguistics, pp. 178-181, archivado desde el original el 14 de junio de 2006,
consultado el 10 de abril de 2010
Moore, Edward F. (1956). �Gedanken-experiments on Sequential Machines�. Automata
Studies, Annals of Mathematical Studies (en ingl�s) (Princeton, N.J.: Princeton
University Press) (34): 129-153. Consultado el 10 de abril de 2010.
Mealy, George H. (1955). �A Method for Synthesizing Sequential Circuits�. Bell
Systems Technical Journal (en ingl�s) 34: 1045-1079.
Hopcroft, John E.; Ullman, Jeffrey D. (1969), Formal languages and their relation
to automata, Boston, MA, Estados Unidos: Addison-Wesley Longman Publishing Co.,
Inc., p. 262, consultado el 10 de abril de 2010
Bibliograf�a
Hopcroft, John; Motwani, Rajeev; Ullman, Jeffrey D. (2001). Introduction to
Automata Theory, Languages, and Computation (en ingl�s). Massachusetts, Estados
Unidos: Addison-Wesley.