Está en la página 1de 6

MAQUINAS DE ESTADO FINITO

-- Máquina de Mealy --

< Documento en construcción >

Objetivos de aprendizaje

 Identificar autómatas finitos determinísticos tales como las máquinas de Mealy cuyo
modelo de cómputo se caracteriza por generar salidas entre transiciones basándose
en su estado actual y el símbolo de la entrada.

 Comprender que las máquinas de Mealy pueden ser usadas como modelos básicos
para la solución de problemas tales como el reconocimiento de patrones presentes
en una entrada de datos y para implementar procesos de cifrado de datos.

 Diseñar máquinas de Mealy para la solución de problemas.

--------------------------

Preliminares

Se denomina estado de un sistema, al conjunto de valores de las variables que representan


sus propiedades, reflejando así la condición en que se encuentra.

Se denominan máquinas de estados finitos a aquellos autómatas finitos cuyas salidas en


una observación, dependen de los valores que toman las entradas y el estado actual de la
máquina.

Las máquinas de estados finitos suelen denominarse también máquinas secuenciales ya


que a partir de un estado inicial y de una secuencia ordenada de eventos de entrada,
generan una secuencia de estados por los que pasa la máquina, y a su vez una secuencia
de acciones de salida.

Esta relación puede describirse por una función de transición, que debe especificar los
valores de las salidas y del próximo estado a partir del actual, para cada una de las
combinaciones posibles de entradas y salidas del estado presente. En este sentido, las
computaciones comienzan a partir de un estado inicial y de una secuencia de valores de la
entrada.

Se denomina transición al cambio de estado del sistema, y ésta debe indicar cómo se pasa
de un estado a otro. Un modelo matemático adecuado para la función de transición es una
matriz, en la cual los renglones y columnas representan los diferentes estados internos y los
eventos de entrada, respectivamente. El contenido de la matriz especifica el próximo estado.

MAQUINAS ABSTRACTAS

Una máquina abstracta es un modelo de computación que establece cómo se generan las
acciones, o eventos de salida, a partir de los mensajes o eventos de entrada.

Existen varios tipos de máquinas abstractas, dentro de las cuales consideramos las
máquinas de Mealy y Moore. Las máquinas de Mealy se caracterizan porque sus salidas se
producen en las transiciones entre estados, mientras que en las máquinas de Moore las
salidas están asociadas a los estados.

MAQUINA DE MEALY

Es una máquina de estado finito en la que el símbolo de salida depende

 Símbolo de entrada actual


 Estado actual de la máquina

En esta máquina, la salida se representa con cada símbolo de entrada para cada estado
separado por "/". Luego, como característica de una Máquina de Mealy tenemos:
ei / Sj

qi qj

Modelo de la Máquina de Mealy

La máquina Mealy puede ser descrita por una 6-tupla

M = (Q, q0, ∑, ʌ, T, R) donde

Q: Conjunto finito de estados


q0: Estado inicial de la máquina, donde q0 Є Q.
Σ: Conjunto de símbolos del alfabeto de entrada
Λ: Conjunto de símbolos del alfabeto salida.
T: Función de transición, donde T : Q × Σ → Q
R: Función de salida, donde R : Q x Σ → Λ

Ejemplo 1. Diseñar una máquina Mealy para una secuencia de entrada binaria tal que si
tiene una subcadena 101, la salida de la máquina sea A, si la entrada tiene la subcadena
110 emita B, y de lo contrario, genera la salida C. La secuencia de entrada puede contener
varias veces las subcadenas relacionadas. La salida se debe generar por cada carácter
leído.

Análisis de la solución

Para el diseño de esta máquina, que debe ser determinística, se deben considerar: las dos
condiciones de reconocimiento que son: 101 y 110 y que contienen 3 caracteres binarios. Si
se reconoce la subcadena 101, la salida será A. Si se reconoce la subcadena 110, la salida
será B. En caso contrario, la salida será C. Es de anotar que la salida se debe presentar por
cada carácter leído.

Es de anotar que todas las posibles combinaciones de 1s y 0s para cadenas de tres


caracteres binarios a reconocer son: 000, 001, 010, 011, 100, 101, 110, 111.

Diseño de la máquina

Luego, el diagrama inicial de la máquina para que reconozca la cadena 101 será:

Ahora, es necesario insertar estados para que la máquina reconozca adicionalmente la


cadena 110. Así, la máquina de Mealy se amplía con mas estados, como sigue:
Como la secuencia de entrada es variable y puede contener varias veces las subcadenas
relacionadas, se modela la capacidad de reconocer varias secuencias de caracteres
binarios, a partir de cada uno de sus estados. Obsérvese que el estado 1 ya agotó las dos
posibles salidas de 0 y 1, cumpliendo la restriccióin de que la máquina es determinística.

El primer estado, que tiene transición con el carácter de entrada 1, pude ser complementado
con una trasición para el carácter de entrada 0. Esta nueva transición no debe afectar las
transiciones ya modeladas, sino que debe ampliar la capacidad de reconocimiento que tiene
hasta este momento la máquina.

Luego, la amplicación sobre el estado 0 será:

Esta ampliación, le permite a la máquina reconocer cualquier cantidad de 0s a la izquierda


de la secuencia de tres caracteres binarios. Adicionalmente obsérvese que el estado 0 ya
agotó las posibles transiciones de salida permitidas.

Es indudable que la máquina debe reconocer secuencias de 1s de cualquier longitud.


Luego, dado que es estado 4 no ha agotado las posibles transiciones posibles, se adiciona
una transición sobre sí mismo para el reconocimiento de secuencias de 1s. Con esta adición
de transición la máquina será:
Obsérvese que hasta el momento la cadena 100 no es reconocible y que al estado 2 se le
puede asignar una transición que permita este reconocimiento y para que la maquina siga
reconociendo caracteres binarios adicionales a la cadena 100, la transición será hacia el
estado 0 cerrando de esta manera un circuito de reconocimiento. Luego, la máquina
resultante será:

Hasta el momento se ha modelado en reconocimiento de todas posibles subcadenas de tres


dígitos binarios. Pero obsérvese por ejemplo, que el reconocimiento de la cadena 101 la
máquina se detiene en el estado 3 y no continúa reconociendo caracteres. Para resolver
este problema, se redirige la transición de salida del estado 2 al estado 1 y de esta forma no
se detiene el reconocimiento de caracteres.

Luego, la máquina queda como se muestra:

Usando el razonamiento descrito anteriormente, se redirecciona la transición de salida del


estado 4 hacia el estado 2. De esta forma la máquina ya no se detiene con ninguna cadena
de dígitos binarios y en diseño resultante se obtiene con la cantidad mínima de estados
posible.
-----------------------------------------------------------------

Tarea (para el jueves). No enviar actividad.

Probar la máquina de Mealy resuelta con cadenas 5 de dígitos binarios.

00000

...

11111

salen 25 cadenas = 32

------------------ Fin de documento

También podría gustarte