Maquinas de Estados
Maquinas de Estados
Maquinas de Estados
El autómata recibe los símbolos de entrada, uno detrás de otro, es decir secuencial-
mente. El símbolo de salida que en un instante determinado produce un autómata, no sólo
depende del último símbolo recibido a la entrada, sino de toda la secuencia o cadena, que
ha recibido hasta ese instante.
- 34 -
AUTÓMATAS
cuando reciba a su entrada una determinada cadena de símbolos indica si dicha cadena
pertenece o no al lenguaje. También se mostrará como existe un tipo de autómata para
reconocer cada uno de los tipos de lenguajes generados por las correspondientes gramáticas.
f es la función de transición o función del estado siguiente, y para un par del conjunto
E × Q devuelve un estado perteneciente al conjunto Q. E × Q es el conjunto producto
cartesiano de E por Q.
- Tabla de transiciones
- Diagrama de Moore
Las funciones f y g pueden representarse mediante una tabla, con tantas filas como
estados y tantas columnas como entradas. Así por ejemplo se puede representar el autómata
A = ( E, S, Q, f, g ) donde E = {a,b}, S = {0,1}, Q = {q1, q2, q3} y las funciones f y g se
pueden representar por :
- 35 -
LENGUAJES, GRAMÁTICAS Y AUTOMATAS
f a b g a b
q1 q1 q2 q1 0 1
q2 q3 q2 q2 0 0
q3 q3 q1 q3 1 0
Así se tiene que f(a , q1) = q1 ; g(a, q1) = 0 ; o también f(a, q2) = q3 ; y g(a, q3) = 1 .
f/g a b
q1 q1/0 q2/1
q2 q3/0 q2/0
q3 q3/1 q1/0
Los diagramas de Moore son otra forma de representar las funciones de transición y
salida de un autómata.
/s
q i
q
j
Así continuando con el ejemplo del apartado 10.2.1, el autómata se representa con
el diagrama de Moore de la figura 4.
- 36 -
AUTÓMATAS
a/0
q
1
b/1 b/0
q q
2 3
a/0 a/1
b/0
f : {E ∪{λ}} × Q → Q
g : {E ∪{λ}} × Q → S
La ampliación del dominio f no plantea ningún problema, pues se puede convenir
que f( λ ,q)=q, es decir si no hay entrada, no se cambia de estado.
- 37 -
LENGUAJES, GRAMÁTICAS Y AUTOMATAS
Cuando esto ocurre para todo q ∈ Q, se puede definir una aplicación inyectiva :
h:Q→S
g=h°f
En una máquina de Mealy las salidas están asociadas a las transiciones, mientras que
en una máquina de Moore las salidas están asociadas a los estados, o, lo que es lo mismo,
todas las transiciones que conducen a un mismo estado tienen asociada la misma salida.
También se puede decir que una máquina de Mealy, en el instante de efectuar una transición
necesita conocer una entrada e ∈ E, ya que en general g(λ ,q) no está definida. Sin embargo
en las máquinas de Moore la entrada puede ser λ.
Puesto que por definición toda máquina de Moore es una máquina de Mealy que
cumple la condición de que a cada estado se le puede asociar una salida y sólo una, parece
en principio que las máquinas de Moore son un subconjunto de las máquinasde Mealy.
Sin embargo, se va a demostrar que, dada una máquina de Mealy, siempre se puede
encontrar una máquina de Moore equivalente, normalmente, a costa de aumentar el número
de estados.
- 38 -
AUTÓMATAS
De este modo, a cada qs ∈ Q̂ se le puede asociar una sola salida s, y así tendra una función
de salida :
ĥ : Q̂ → S
tal que ĝ (e, qs) = ĥ ( f̂ (e, qs)), por lo tanto  es una máquina de Moore.
En lo sucesivo siempre que sólo se tratarán autómatas que son máquinas de Moore.
Ejemplo 10.3.1
g=h°f a b
- 39 -
LENGUAJES, GRAMÁTICAS Y AUTOMATAS
a b
a
a
0
q1 q0 q
3 3 2
b
a
0 q1 b
q 2
1
Sea un autómata A=(E,S,Q,f,g), se dice que un estado qj es accesible desde otro estado
qi, si existe una entrada e ∈ E* tal que f(qi,e)=qj.
Sea un autómata A=(E,S,Q,f,g), se dice que es conexo si todos los estados de Q son
accesibles desde el estado inicial q0.
- 40 -
JERARQUÍA DE LOS AUTÓMATAS
a) Dada una gramática G ¿Qué estructura deberá tener una máquina, M, tal que el
lenguaje reconocido por la máquina M, es igual al lenguaje generado por G?
b) Dada una máquina M ¿Cuál será la gramática G, tal que el lenguaje generado por
G, es igual al lenguaje reconocido por M?
- 41 -
LENGUAJES, GRAMÁTICAS Y AUTOMATAS
GRAMATICAS
LENGUAJES
- 42 -