Anda di halaman 1dari 9

Un aut�mata finito (AF) o m�quina de estado finito es un modelo computacional que

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.

La finalidad de los aut�matas finitos es la de reconocer lenguajes regulares, que


corresponden a los lenguajes formales m�s simples seg�n la Jerarqu�a de Chomsky.

�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

El modelo neuronal de McCulloch-Pitts tambi�n utiliza diagramas con estados y


transiciones, adem�s de los conceptos de entrada y salida.
El origen de los aut�matas finitos probablemente se remonta a su uso impl�cito en
m�quinas electromec�nicas, desde principios del siglo XX.1? Ya en 1907, el
matem�tico ruso Andr�i M�rkov formaliz� un proceso llamado cadena de Markov, donde
la ocurrencia de cada evento depende con una cierta probabilidad del evento
anterior.2? Esta capacidad de "recordar" es utilizada posteriormente por los
aut�matas finitos, que poseen una memoria primitiva similar, en que la activaci�n
de un estado tambi�n depende del estado anterior, as� como del s�mbolo o palabra
presente en la funci�n de transici�n.

Posteriormente, en 1943, surge una primera aproximaci�n formal de los aut�matas


finitos con el modelo neuronal de McCulloch-Pitts. Durante la d�cada de 1950
prolifera su estudio, frecuentemente llam�ndoseles m�quinas de secuencia; se
establecen muchas de sus propiedades b�sicas, incluyendo su interpretaci�n como
lenguajes regulares y su equivalencia con las expresiones regulares.1? Al final de
esta d�cada, en 1959, surge el concepto de aut�mata finito no determinista en manos
de los inform�ticos te�ricos Michael O. Rabin y Dana Scott.3?

En la d�cada de 1960 se establece su conexi�n con las series de potencias y los


sistemas de sobreescritura.4? Finalmente, con el desarrollo del sistema operativo
Unix en la d�cada de 1970, los aut�matas finitos encuentran su nicho en el uso
masivo de expresiones regulares para fines pr�cticos, espec�ficamente en el dise�o
de analizadores l�xicos (comando lex) y la b�squeda y reemplazo de texto (comandos
ed y grep).5? A partir de ese tiempo, los aut�matas finitos tambi�n se comienzan a
utilizar en sistemas din�micos.1?

Definici�n formal
Formalmente, un aut�mata finito es una 5-tupla (Q, S, q0, d, F) donde:6?

{\displaystyle Q\,} Q\, es un conjunto finito de estados;


{\displaystyle \Sigma \,} \Sigma \, es un alfabeto finito;
{\displaystyle q_{0}\in Q} q_{0}\in Q es el estado inicial;
{\displaystyle \delta \colon Q\times \Sigma \to Q} \delta \colon Q\times \Sigma \to
Q es una funci�n de transici�n;
{\displaystyle F\subseteq Q} F\subseteq Q es un conjunto de estados finales o de
aceptaci�n.
Representaci�n como diagramas de estados

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:

Los estados Q se representan como v�rtices, etiquetados con su nombre en el


interior.
Una transici�n d desde un estado a otro, dependiente de un s�mbolo del alfabeto, se
representa mediante una arista dirigida que une a estos v�rtices, y que est�
etiquetada con dicho s�mbolo.
El estado inicial q0 se caracteriza por tener una arista que llega a �l,
proveniente de ning�n otro v�rtice.
El o los estados finales F se representan mediante v�rtices que est�n encerrados a
su vez por otra circunferencia.
Representaci�n como tabla de transiciones
Art�culo principal: Tabla de transici�n de estados
Otra manera de describir el funcionamiento de un aut�mata finito es mediante el uso
de tablas de transiciones o matrices de estados. Dos posibles tablas para el
ejemplo de la imagen anterior podr�an ser las siguientes:

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

La primera representa expl�citamente los par�metros y el valor que toma cada


ocurrencia de la funci�n de transici�n.7? La segunda es m�s 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 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.

Note que el estado inicial {\displaystyle q_{0}} q_{0} de un aut�mata finito


siempre es �nico, en tanto que los estados finales pueden ser m�s de uno, es decir,
el conjunto {\displaystyle F} F puede contener m�s de un elemento. Tambi�n puede
darse el caso de que un estado final corresponda al mismo estado inicial.

Generalizaci�n de la funci�n de transici�n


Si S es un alfabeto, entonces se denota S* al conjunto de todas las cadenas de
caracteres o palabras que se pueden conformar con dicho alfabeto.

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?

La funci�n d* puede expresarse tambi�n de manera recursiva, definiendo para toda


cadena x ? S*, todo s�mbolo a ? S, y un estado q ? Q:6?

{\displaystyle \delta ^{*}(q,\epsilon )=q\,} \delta ^{*}(q,\epsilon )=q\,, que es


la base inductiva, siendo e la cadena vac�a, y
{\displaystyle \delta ^{*}(q,xa)=\delta (\delta ^{*}(q,x),a)\,} \delta ^{*}
(q,xa)=\delta (\delta ^{*}(q,x),a)\,, que es la inducci�n propiamente tal.
Se llama configuraci�n de un aut�mata finito a un "instante" en el c�mputo de la
m�quina; es decir, al estado actual en que se encuentra dicho c�mputo, junto con la
palabra que ha sido procesada hasta ese momento. Formalmente, se define como un par
ordenado (q, x) ? Q � S*. De este modo, se puede definir adem�s la configuraci�n
inicial del aut�mata, como el par (q0,x), donde x es la entrada; y la configuraci�n
final, como el par (q,e), con q ? F.

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.

Aut�mata finito determinista

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).

En un AFD no pueden darse ninguno de estos dos casos:

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:

Que existan transiciones del tipo d(q,a)=q1 y d(q,a)=q2, siendo q1 ? q2;


Que existan transiciones del tipo d(q, e), siendo q un estado no-final, o bien un
estado final pero con transiciones hacia otros estados.
Cuando se cumple el segundo caso, se dice que el aut�mata es un aut�mata finito no
determinista con transiciones vac�as o transiciones e (abreviado AFND-e). Estas
transiciones permiten al aut�mata cambiar de estado sin procesar ning�n s�mbolo de
entrada.

Formalmente, se distingue de la 5-tupla que define a un aut�mata finito


determinista en su funci�n de transici�n. Mientras en un AFD esta funci�n se define
de la siguiente manera:

{\displaystyle \delta :Q\times \Sigma \to Q} \delta :Q\times \Sigma \to Q


en un AFND se define como:

{\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:

{\displaystyle \delta :Q\times \{\Sigma \cup \epsilon \}\to {\mathcal {P}}(Q)}


\delta :Q\times \{\Sigma \cup \epsilon \}\to {\mathcal {P}}(Q)
donde P(Q) es el conjunto potencia de Q.

Esto significa que los aut�matas finitos deterministas son un caso particular de
los no deterministas, puesto que Q pertenece al conjunto P(Q).

La interpretaci�n que se suele hacer en el c�mputo de un AFND es que el autom�ta


puede estar en varios estados a la vez, gener�ndose una ramificaci�n de las
configuraciones existentes en un momento dado. Otra interpretaci�n puede ser
imaginar que la m�quina "adivina" a qu� estado debe ir, eligiendo una transici�n
entre varias posibles.

Note finalmente que en un aut�mata finito no determinista podemos aceptar la


existencia de m�s de un nodo inicial, relajando a�n m�s la definici�n original.

Equivalencias entre aut�matas finitos


Se dice que dos aut�matas finitos son equivalentes, si ambos reconocen el mismo
lenguaje regular.

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?

Normalmente en el dise�o de aut�matas finitos, lo primero que se hace es construir


un AFND-e, que es el m�s sencillo de construir, por poseer menos restricciones en
su funci�n de transiciones. Luego dicho aut�mata se reduce a un AFND, y finalmente
a un AFD, el cual por sus caracter�sticas deterministas ya puede ser implementado
sin problemas utilizando un lenguaje de programaci�n.

Conversi�n de un AFND-e a un AFND


La conversi�n de un AFND-e en un AFND se basa en el concepto de clausura-e, que
corresponde a una clausura transitiva contextualizada en la teor�a de aut�matas.

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?

(Base inductiva) Para todo estado q, q ? clausura-e(q).


(Inducci�n) Dados dos estados p y r, si p ? clausura-e(q) y r ? d(p,e), entonces
r ? clausura-e(q).
El algoritmo para eliminar las transiciones vac�as es el siguiente:

Se calcula la clausura-e del estado inicial, form�ndose un conjunto A que


corresponder� al estado inicial del nuevo aut�mata.
Para cada s�mbolo del alfabeto, se verifican los estados alcanzables a partir de
alg�n estado contenido en A, y se calcula la clausura-e de dichos estados
alcanzables. Si dichas clausuras producen nuevos conjuntos distintos de A, estos
ser�n nuevos estados a los que se acceder� a partir de A y del s�mbolo
correspondiente.
Se repite lo anterior para cada nuevo conjunto, hasta que no existan transiciones
posibles para ning�n s�mbolo del alfabeto.
Ejemplo
Eliminaci�n de las transiciones vac�as de un AFND-e.

AFND-e inicial.

En este caso se obtiene un AFD, que es un caso particular de AFND.


En el ejemplo de la figura, se tendr� inicialmente:

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.

Conversi�n de un AFND a un AFD


Art�culo principal: Construcci�n de subconjuntos
Conversi�n de un AFND a un AFD.

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.

Para definir el AFD intermedio, se deben seguir los siguientes pasos:

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.

Un AFD est� minimizado, si todos sus estados son distinguibles y alcanzables. Un


algoritmo de minimizaci�n de AFD es el siguiente:

Eliminar los estados inaccesibles del aut�mata.


Construir una tabla con todos los pares (p, q) de estados restantes.
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.
Para cada par (p, q) y cada s�mbolo a del alfabeto, tal que r = d(p,a) y s =
d(q,a):
Si (r, s) ya ha sido marcado, entonces p y q tambi�n son distinguibles, por lo
tanto marcar la entrada (p, q).
De lo contrario, colocar (p, q) en una lista asociada a la entrada (r, s).
Agrupar los pares de estados no marcados.
Luego del tercer paso, si la tabla creada queda completamente marcada, entonces el
AFD inicial ya era m�nimo.

La complejidad computacional del problema de minimizar un AFD es polinomial. De


hecho, existen algoritmos m�s eficientes a�n que el mostrado en este art�culo
(aunque menos intuitivos).11? Sin embargo, el problema de minimizar un aut�mata
finito no determinista es NP-completo y PSPACE-completo.12?13?

Ejemplo
Minimizaci�n de un AFD.

AFD con estados redundantes.

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.

Tablas para la b�squeda de estados equivalentes


b
c
e
f
g
a b c e f

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

Ejemplo de M�quina de Mealy, un tipo de transductor de estados finitos, que


generaliza los aut�matas finitos.
Existen diversas generalizaciones posibles de hacer sobre los aut�matas finitos,
para aumentar su uso y expresividad. As�, por ejemplo, se definen los transductores
de estados finitos como aut�matas finitos que est�n dotados adem�s de un alfabeto
de salida, distinto al de entrada, y que pueden poseer m�s de un estado inicial.14?
Las m�quinas de Moore y m�quinas 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 c�mputo de un aut�mata finito, permitiendo


un alfabeto adicional sobre �ste, que act�e sobre una memoria de tipo pila para ser
considerada en cada transici�n. Esta es la idea utilizada por los llamados
aut�matas con pila, los cuales son capaces de reconocer lenguajes libres de
contexto, que est�n un nivel por sobre los lenguajes regulares en la Jerarqu�a de
Chomsky.17?

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.

Anda mungkin juga menyukai