Haciendo una comparacin con la rama combinacional de Electrnica Digital, el lgebra de Boole era la herramienta matemtica para poder llevar a cabo la reduccin de las
frmu- las lgicas, y por lo tanto, del circuito de conmutacin.
En el caso de los circuitos secuenciales, esta herramienta no nos basta debido a la dependencia temporal. Por lo tanto, necesitamos otra herramienta para minimizar la dependencia
temporal de estos circuitos; esta herramienta es la teora de autmatas finitos.
Un autmata finito o mquina de estado finito es un modelo matemtico de un sistema
que recibe una cadena constituida por smbolos de un alfabeto y determina si esa cadena
pertenece al lenguaje que el autmata reconoce.
Definicin.
En primer lugar, vamos a definir lo que se entiende por autmata finito. Una posible
defi- nicin de autmata finito es la siguiente:
Un autmata finito es un vector de cinco
elementos
M = (I,S, F)
donde I es el conjunto finito de entradas, S es el conjunto finito de estados
(no vaco), es la funcin de transicin de estados y F es el conjunto finito de
estados finales (incluidos en S).
El hecho de que todos los conjuntos sean finitos, le otorga a este elemento el atributo de finito.
Tambin se puede desprender de la definicin que un autmata finito es un tipo especial de
mquina secuencial, en la cual no existen seales de salida como tal sino que slo hay seales
de entrada y estado, como suceda en la mquina de Moore.
Debido a este motivo, las mquinas secuenciales cumplen todos los axiomas de los autmatas finitos. Siendo sta la razn por la cual empezaremos el estudio de la teora desarrollada
alrededor de los autmatas finitos.
Al igual que en las mquinas secuenciales, la representacin de los autmatas finitos
puede llevarse a cabo de dos formas diferentes: mediante un diagrama de estados; o mediante
una tabla de estados. De estas dos representaciones, la ms intuitiva para una traduccin partiendo de unas especificaciones de diseo es el diagrama de estados. No obstante, el trabajo
con los diagramas de estado no es sencillo ni intuitivo. Por lo tanto, para un posterior procesado utilizaremos la tabla de estados.
Diagramas de Estado.
En los diagramas de estado podemos encontrar dos elementos: estados y transiciones.
Los estados son las letras o smbolos enmarcados (dentro de un crculo generalmente). En
cambio, las transiciones son arcos dirigidos que llevan asociadas una/s etiquetas.
Los estados se pueden definir como las posibles situaciones a las que puede llegar el
autmata que estemos describiendo. Dentro de estos estados podemos distinguir entre estados
estables y estados inestables. Cuando existe alguna transicin para la cual se llega al mismo
estado desde el que se parte, se dice que es un estado estable. Mientras que si no existe ninguna transicin que cumpla la condicin anterior, se dice que es un estado inestable. En el
caso de la mquina de ventas de refresco, los posibles estados pueden ser:
No hay dinero en el interior de la mquina
Existe el dinero suficiente para sacar un refresco
En el interior de la mquina estn cada una de las cantidades permitidas. Por ejemplo
si slo se admiten monedas de 10, 20 y 50 c., el refresco cuesta 60 c. y no se devuelve
dinero, las cantidades pueden ser 10, 20, 30, 40, 50 y 60 c.
Las transiciones correspondern a los eventos en las entradas que producirn los
cambios de estado en el sentido de la flecha del arco. El cambio de estado se producir si la
condicin de entrada coincide con la etiqueta asociada a dicha transicin. De nuevo, en el caso
de la mquina de refresco, las posibles condiciones de entrada podran ser:
Introducir las diferentes monedas permitidas: 10, 20 y 50 c.
Pulsar el botn para obtener el refresco.
As pues, una posible parte del diagrama del autmata se puede ver en la figura 2.1:
10 c.
0 c.
10 c.
10 c.
10 c.
0 c.
0 c.
50 c.
10 c.
20 c.
50 c.
10 c.
Refresco
B
10 c.
10 c.
20 c.
50 c.
10 c.
20 c.
50 c.
20 c.
50 c.
50 c.
60 c.
10 c.
20 c.
50 c.
20 c.
20 c.
50 c.
20 c.
10 c.
30 c.
B
10 c.
B
20 c.
50 c.
40 c.
10 c.
B
Teoremas y Definiciones.
Como nuestro inters est centrado en el anlisis y diseo, vamos a orientar los teoremas
y definiciones de la teora de autmatas finitos hacia los sistemas secuenciales. Una vez realizada esta aclaracin, en esta teora encontramos las siguientes definiciones:
Equivalencia: Una mquina M es equivalente a otra M*, si para cualquier
secuencia de entrada es posible encontrar algn estado inicial tal que la
secuencia de salida sea la misma. Esta relacin es denotada por M = M*.
Compatibilidad: Una mquina M es compatible con otra M*, si para
cualquier secuencia de entrada es posible encontrar un estado inicial tal que
la secuen- cia de salida sea la misma, siempre y cuando sta est
especificada. Esta relacin se denota por M ~ M*.
Mquina completamente especificada: es una mquina en la cual no existen ningn estado total para los que no est especificada la funcin de
prximo estado y/o de salida. En caso contrario, se dice que la mquina est
incompletamente especificada.
A continuacin vamos a poner ejemplos de mquinas completas e incompletas. una primera mquina podra ser la siguiente:
A travs de una lnea serie va llegando bits, se desea realizar una mquina que indique la llegada de la secuencia 1 -> 0 -> 1.
En esta mquina, la seal de entrada es la lnea serie mencionada anteriormente, con las posibles combinaciones de 1 y 0. Como ambas combinaciones son posibles, no podemos
encontrar ninguna situacin de no especificacin. Por lo tanto, la mquina ser completamente
especificada, ya que tanto la salida como los prximos estados debern estar especificados
para todas las secuencias de entradas.
Una segunda mquina podra ser la descrita a continuacin:
La figura 2.3 muestra el esquema de una mquina trituradora. La mquina es cuestin debe
gobernar los motores de trituracin segn las siguientes especificaciones: cuando no exista
nada que triturar, los motores deben estar apagados; cuando la mquina est llena, ambos
motores deben estar funcionando; cuando la mquina est medio vaca, slo debe funcionar
un motor, y en particular aquel que en el estado anterior estuviera apagado (con el fin de
garantizar una mayor vida activa de ambos motores).
S1
S2
P
M1 M2
Figura 2.3.- Esquema de una mquina trituradora.
Esta mquina es un ejemplo claro de mquina incompleta ya que los sensores de presencia S1
y S2 nunca pueden tener la combinacin S1 S2 = 1 0, ya que es fsicamente imposible. Por
lo tanto, para esta combinacin de entrada, ni la salida ni el prximo estado estarn
especificado porque no importar cuales sean al no llegar nunca dicha combinacin. No
obstante, podemos encontrarnos mquinas en los que la salida s estar especificada pero el
prximo estado no, y viceversa.
Segn las definiciones de compatibilidad y de equivalencia, se comprueba el siguiente
teorema:
Teorema 1. Se verifica que si las mquinas M y M* estn especificadas de
forma:
completa: M = M* <=> M ~ M*
incompleta: M = M* => M ~ M*
Demostracin.- De las definiciones de equivalencia y compatibilidad se desprende que la primera engloba a la segunda por lo que la direccin hacia la derecha de las implicaciones
queda demostrada. En cuanto a la direccin de la izquierda, slo se puede verificar a
priori cuando las dos definiciones sean iguales, caso que slo se puede dar cuando se
trata de mquinas completamente especificadas.
Cubrimiento. Una mquina M* cubre a otra M si cualquier secuencia de
entrada aplicada a M* produce la misma secuencia de salida que si se aplica
a M, siempre y cuando M est completamente especificada. Esta relacin es
denotada por M M*.
Estados compatibles: Dos estados internos Si y Sj se denominan compatibles, si para cualquier secuencia de entrada, tomando ambos estados como
iniciales, las dos secuencias de salida correspondientes resultan idnticas
siempre que ambos estados de salida estn completamente especificados.
Esta relacin es denotada por Si ~ Sj. En caso contrario, los estados se
deno- minan incompatibles.
La definicin de compatibilidad se reduce a comprobar que tienen el mismo
valor de salida y sus prximos estados son compatibles para cualquier condicin de entrada, ya que la aplicacin de la definicin de forma directa es
invia- ble.
Clase de compatibilidad o clases o compatibles: Consiste en un conjunto
de estados, los cuales son compatibles dos a dos.
Clase mximal o mximo compatible: Ser aquella clase que no es un
sub- conjunto de ninguna otra clase, y por lo tanto no est contenida
totalmente en ninguna otra.
Coleccin de clases cerrada: Es un conjunto de clases, en el cual los prximos estados correspondientes a cada clase estn contenidos al menos en
una clase de la coleccin, para cualquier secuencia de entradas.
Cubrimiento de una tabla de estados: Se trata de una coleccin de clases
que cubre a una tabla de estados, si cada estado interno de la tabla est
con- tenido en una clase de la coleccin como mnimo.
1.
Definicin:
2.
Los autmatas finitos deterministas quedarn formalmente definida mediante una quntupla
como sigue:
AFD = ( , Q, q0, F, f )
donde:
q0
q0
F
Q - es el conjunto de estado
finales de aceptacin.
f: Q x
3.
Interpretacin de funcionamiento:
Este autmata recibir una cadena en la cinta de entrada e ira procesando de uno a la vez los
smbolos de entrada. Comenzar su funcionamiento posicionada en el estado inicial, y desde este
estado comenzar su ejecucin.
En cada intervalo de tiempo discreto realizar dos acciones las cuales sern consideradas como
acciones indivisibles en un determinado intervalo de tiempo.
Las acciones que realiza son:
4.
Extensin a palabras
Donde:
f (q, ax) = f(f(q,a),x)
f (q,
)= q
con a
5.
;x
* ; q
Aceptacin de Palabras:
Una palabra ser aceptada por un AFD si estando formada pos smbolos pertenecientes al
alfabeto de entrada, al finalizar de procesar la misma, el autmata queda posicionado en una de los
estados perteneciente al conjunto de estados finales de aceptacin.
Dada:
x
W()
f ( q0, x) = qn Si qn
6.
F la cadena x es aceptada
L AFD = { x / x
* y f ( q0, x) = qn con qn
F}
7.
Ejemplo:
f(p, 0)= q
f(p, 1)= r
f(q, 0)= p
f(q, 1)= q
f(r, 0)= r
f(r, 1)= r
L AFD1 = {x / x
* y x = 0.1n con n
0}
8.
Dados dos estados dentro de un autmata, se dice que uno de los estado es accesible desde el
otro, si existe una palabra x formada por smbolos del alfabeto de entrada que hace que partiendo de
este estado y a travs de la aplicacin de la funcin de transicin se pueda llegar hasta el otro.
De esta manera definiremos:
Sean p y q
existe x
9.
Conjunto Conexo
Un conjunto conexo es aquel en donde todos sus estados son accesibles desde el estado inicial.
Por lo tanto un AFD ser conexo si todo estado perteneciente al conjunto de estados es accesible desde
el estado inicial.
Si en un AFD existieran estados que no son accesibles desde el estado inicial, los mismos
pueden ser eliminados, de manera de simplificar el autmata. Esta eliminacin no afectar al
comportamiento y por lo tanto continuar aceptando el mismo Lenguaje.
Ejemplo de conjunto conexo:
Dado el siguiente AFD definido como:
AFD1 = ( , Q, qi, F, f ), donde:
= { 0,1 }
Q= { p, q, r , t, s }
qi = p
F= {q ,s }
Donde la funcin f ser:
f(p, 0)= q
f(p, 1)= r
f(q, 0)= p
f(q, 1)= q
f(r, 0)= r
f(r, 1)= r
f(t, 0)= s
f(t, 1)= q
f(s, 0)= s
f(s, 1)= t
Analizando, el grafo del AFD, vemos que alos estados t y s , es imposible acceder desde el
estado inicial p, por lo tanto estos estados pueden ser eliminados del AFD y el comportamiento del
autmata no se alterar.
10.
si
cadena x
W() - se puede alcanzar un estado final previsto tanto comenzando desde el estado p
como el de q Y
otra cadena y
W() no se puede alcanzar un estado final previsto tanto comenzando desde el
estado p como el de q.
2.
Definicin:
Un Autmata finito determinista queda definido por un quntupla, al igual que en los AFD, y que
su diferencia fundamental se encuentra, en como se definir a la funcin de transicin:
AFND = ( , Q, q0, F, f )
donde:
q0
qo
F
Q - es el conjunto de estado finales de
aceptacin.
f: Q x ( U {
} ) P (Q)
1)
2)
3)
Ejemplo:
Una AFND puede definirse como sigue:
AFND1 = ( { 1 , 0 }, { p, q , r, s , t }, p, { r, t }, f ) , donde:
la funcin f puede definirse:
En forma explicita:
f (p,0) = r
f (q,1) = {s,r}
f (p,1) = {t,s}
f (r,0) = p
f (t,
f (s,0) = {p,r}
f (p, ) = t
f (s,1) = t
)=s
f (t,1) = s
{t,s}
{s,r}
{p,r}
La segunda situacin cuando que es no tiene definida transicin a estado alguno se presenta en
las siguientes situaciones:
f (q,0) =
f ( r,1) =
f ( t,0) =
Y la tercer situacin es cuando tiene la posibilidad de transitar de estado, an sin leer ningn
smbolo de la entrada, esta situacin se evidencia en las siguientes situaciones:
f (p, ) = t
f (t, ) = s
Diagrama de transiciones:
Existir un arco con sentido, etiquetado con un smbolo a entre dos nodos p y q si
existe una transicin F(p,a) = q.