Está en la página 1de 37

AUTMATAS FINITOS MOORE Y

MEALY
UNIVERSIDAD UNIMINUTO
INSTITUTO DE EDUCACION A DISTANCIA
CONTROLADORES PROGRAMABLES

Por: Ing. John Jaiver Muoz
Introduccin a los autmatas
Antes de que existieran las computadoras, en la dcada de los aos treinta, A.
Turing estudi una mquina abstracta que tena todas las capacidades de
las computadoras de hoy da, al menos en lo que respecta a lo que podan
calcular. El objetivo de Turing era describir de forma precisa los lmites
entre lo que una mquina de clculo poda y no poda hacer; estas
conclusiones no slo se aplican a las mquinas abstractas de Turing, sino a
todas las mquinas reales actuales.

Por qu estudiar la teora de autmatas?
Son varias las razones por las que el estudio de los autmatas y de la
complejidad de clculo constituyen una parte importante del ncleo de la
Ciencias de la Computacin. la teora de los autmatas que estudia los
mtodos de construccin de los sistemas para el procesamiento de la
informacin.
Teora de autmatas
La teora de autmatas se ocupa de clasificar y estudiar de modo sistemtico
diferentes tipos de maquinas abstractas que llevan a cabo un
procesamiento secuencial de la informacin.
Introduccin a los autmatas finitos
Los autmatas finitos constituyen un modelo til para muchos tipos de
hardware y software.

1. Software para disear y probar el comportamiento de circuitos digitales.
2. El analizador lxico de un compilador tpico, es decir, el componente del
compilador que separa el texto de entrada en unidades lgicas, tal como
identificadores, palabras clave y signos de puntuacin.
3. Software para explorar cuerpos de texto largos, como colecciones de
pginas web, o para determinar el nmero de apariciones de palabras,
frases u otros patrones.
4. Software para verificar sistemas de todo tipo que tengan un nmero finito
de estados diferentes, tales como protocolos de comunicaciones o
protocolos para el intercambio seguro de informacin.
Autmata finito
El concepto de autmata es mucho mas genrico, ya que podemos
considerarlo como un dispositivo que procesa cadenas de smbolos que
recibe como entrada, cambiando de estado y produciendo una salida que,
en algunos casos, puede estar formada por otra cadena de smbolos.
Ejemplo autmata finito
Autmata finito que podra formar parte de un analizador lxico. El trabajo
de este autmata consiste en reconocer la palabra clave then, por lo que
necesita cinco estados, representando cada uno de ellos la posicin dentro
de dicha palabra que se ha alcanzado hasta el momento. Estas posiciones
se corresponden con los prefijos de la palabra, desde la cadena de
caracteres vaca (es decir, cuando no contiene ningn carcter) hasta la
palabra completa. Podemos imaginar que el analizador lxico examina un
carcter del programa que se est compilando en un determinado instante,
y que el siguiente carcter que se va a examinar es la entrada al
autmata.

Representaciones estructurales
Existen dos importantes notaciones que no son las utilizadas normalmente con
los autmatas:
Las gramticas son modelos tiles en el diseo de software que sirve
para procesar datos con una estructura recursiva. Por ejemplo, una
regla gramatical como EE+E establece que una expresin puede
formarse tomando cualesquiera dos expresiones y conectndolas
mediante un signo ms.

Las expresiones regular es tambin especifican la estructura de los
datos, especialmente de las cadenas de texto.

Mquinas de estados finitos
Permite reconocer secuencias de eventos aceptables.
Los nombres de los eventos van a estar formados por un carcter, y les
llamaremos transiciones en vez de eventos.
Las secuencias de eventos van a representarse por concatenaciones de
caracteres, esto es, por palabras.
Al ser visualizadas como dispositivos con los siguientes componentes:
Una cinta de entrada;
Una cabeza de lectura (y eventualmente escritura);
Un control.

Mquinas de estados finitos
La cabeza lectora se coloca en los segmentos de cinta que contienen los caracteres
que componen la palabra de entrada, y al colocarse sobre un carcter lo lee
y manda esta informacin al control; tambin puede recorrerse un lugar a la
derecha (o a la izquierda tambin, segn el tipo de mquina). El control
(indicado por una caratula de reloj en la figura) le indica a la cabeza lectora
cundo debe recorrerse a la derecha. Se supone que hay manera de saber
cundo se acaba la entrada (por ejemplo, al llegar al blanco). La aguja del
control puede estar cambiando de posicin, y hay algunas posiciones llamadas
finales (como la indicada por un punto, q3) que son consideradas especiales,
porque permiten determinar si una palabra es aceptada o rechazada

Funcionamiento de los autmatas finitos
El funcionamiento de los autmatas finitos consiste en ir pasando de un estado
a otro, a medida que va recibiendo los caracteres de la palabra de
entrada. Este proceso puede ser seguido fcilmente en los diagramas de
estados. Simplemente hay que pasar de estado a estado siguiendo las
flechas de las transiciones, para cada carcter de la palabra de entrada,
empezando por el estado inicial.

Definicin formal de autmatas finitos
El formato matemtico para representar las mismas informaciones que
contiene un diagrama de estados. Como se utiliza terminologa matemtica
en vez de dibujos, decimos que se trata de una notacin formal.

Definicin.- Una mquina de estados finitos M es un quntuplo (K, , , s, F),
donde:
K es un conjunto de identificadores (smbolos) de estados;
es el alfabeto de entrada;
s K es el estado inicial;
F K es un conjunto de estados finales;
: K K es la funcin de transicin, que a partir de un estado y un
smbolo del alfabeto obtiene un nuevo estado.


Definicin formal de autmatas finitos
La funcin de transicin indica a qu estado se va a pasar sabiendo cul es el
estado actual y el smbolo que se est leyendo. Es importante notar que
es una funcin y no simplemente una relacin; esto implica que para un
estado y un smbolo del alfabeto dados, habr un y solo un estado
siguiente. Esta caracterstica, que permite saber siempre cual ser el
siguiente estado, se llama determinismo. La definicin dada arriba
corresponde a los autmatas finitos deterministas, abreviado AFD.

Autmatas Finitos Deterministas.
Introduccin
Un autmata finito es un conjunto de estados y un control que se mueve de
un estado a otro en respuesta a entradas externas.
Los autmatas finitos se pueden clasificar en funcin del tipo de control
como:
Deterministas, el autmata nicamente puede estar en un estado en un
momento determinado.
No Deterministas, el autmata puede estar en varios estados
simultneamente.
Ambos definen los mismos lenguajes (regulares), sin embargo los No
deterministas permiten describir ms eficientemente determinados
problemas.
Cmo procesa entradas un AFD?
La entrada a un AF es un conjunto de smbolos tomados del alfabeto de
entrada , no hay lmite en tamao de la cadena.
Existe un puntero que en cada momento apunta a una posicin de la
cadena de entrada.
El autmata est siempre en un estado de Q, inicialmente se encuentra en
el estado q0.
Cmo procesa entradas un AFD?
En cada paso el autmata lee un smbolo de la entrada y segn el estado en
el que se encuentre, cambia de estado y pasa a leer otro smbolo.






As sucesivamente hasta que se terminen de leer todos los smbolos de la
cadena de entrada.
Si en ese momento el AF est en un estado qi de F, se dice que acepta la
cadena, en caso contrario la rechaza.

Tablas de transicin.
Es una representacin clsica de una funcin con dos argumentos.
En las filas se colocarn los estados y en las columnas los smbolos del
alfabeto de entrada.
Cada interseccin fila (estado q) - columna (carcter a) corresponde al
estado f(q,a).
El estado inicial se representa con
Los estados finales con un *

Diagramas de transicin.
Es un grafo en el que los vrtices representan los distintos estados y los
arcos las transiciones entre los estados.
Cada arco va etiquetado con el smbolo que corresponde a dicha
transicin.
El estado inicial se representa con
Los estados finales con un con doble crculo.

Representacin AF
Determinismo porque:
No existen transiciones
Una sola arista etiquetada con a para cada smbolo;
Para cada entrada en la tabla un solo estado
La indeterminacin en el caso que falten transiciones para algunas
entradas se resuelve incluyendo un nuevo estado, llamado de absorcin o
muerto, al cual llegan todas las transiciones no definidas

Ejemplo
El autmata finito determinista de la figura puede ser expresado
formalmente como: M = (K, , , q0, F ), donde:
La funcin de transicin
Palabras aceptadas AFD
Decimos que un AFD reconoce o acepta una palabra si se cumplen las
siguientes condiciones:

1. Se consumen todos los caracteres de dicha palabra de entrada,
siguiendo las transiciones y pasando en consecuencia de un estado a otro;
2. al terminarse la palabra, el estado al que llega es uno de los estados
finales del autmata (los que tienen doble crculo en los diagramas, o que
son parte del conjunto F en la representacin formal).

El concepto de lenguaje aceptado es una simple extensin de aquel de
palabra aceptada:
Definicin.- El lenguaje aceptado por una mquina M es el conjunto de
palabras aceptadas por dicha mquina.
Autmatas finitos con
salida
Autmatas finitos con salida
Por ejemplo, en el contexto de una mquina controlada por un autmata,
puede haber distintas seales de salida que correspondan a los comandos
enviados a la maquina para dirigir su accin.
Mquinas de Moore
En las mquinas de Moore la salida depende del estado en que se encuentra
el autmata. Dicha salida es producida una vez, y cuando se llega a otro
estado (o al mismo) por efecto de una transicin, se produce el smbolo de
salida asociado al estado al que se llega.

Se define por la quntupla M = {E, s, Q, f, g}
E = Alfabeto de entrada
s= Alfabeto de salida
Q: Conjunto finito no vacio de estados
f: funcin de transaccin.
f: Q x E Q
g: Funcin de salida
f: Q s

Mquinas de Mearly
En las maquinas de Mealy la salida producida depende de la transicin que se
ejecuta, y no solamente del estado. Por esto, en la notacin grafica las
etiquetas de las flechas son de la forma /w, donde es el carcter que se
consume de entrada, y w es la palabra que se produce en la salida.

Se define por la quntupla M = {E, s, Q, f, g}
E = Alfabeto de entrada
s= Alfabeto de salida
Q: Conjunto finito no vacio de estados
f: funcin de transaccin.
F: Q x E Q
g: Funcin de salida
g: Q x E s


Comparacin MS
MS de Mealy
g: Q x E s
g(q, a) = b
Infinita, la salida solo depende
de la entrada.
MS de Moore
g: Q s
g(q) = b
Finita, la salida depende solo
del estado.
MS de Moore; caso particular de
MS de Mealy.
Velocidad de transmisin de la informacin dentro de la MS
REPRESENTACIN DE LAS MS
Las mquinas secuenciales pueden representarse por:
1. Dos tablas:
Tabla de transiciones, tabla de f
Tabla de doble entrada
Tabla de salidas, tabla de g
MS de Mealy: Tabla de doble entrada
MS de Moore: Tabla de simple entrada
2. Una sola tabla de transiciones y de salidas, tabla de f y g
MS de Mealy: entrada de la tabla f(q,a)/s
MS de Moore: entrada de la tabla f(q,a)
3. Diagramas de Transicin

Dos tablas: tablas de transicin y de salida
Las funciones de transicin (f) son las encargadas de dirigir a la mquina
secuencial de un estado a otro. La estructura es la misma para las
mquinas de Mealy y Moore:
Filas: estados posibles de la mquina, qi Q
Columnas: smbolos del alfabeto de entrada, am E

Dos tablas: tablas de transicin y de salida
Las funciones de salida (g) se encargan de seleccionar la salida
correspondiente para cada mquina secuencial:
En funcin del estado actual y la entrada que se reciba, en el caso de la
mquina de Mealy.
Filas: estados posibles de la mquina, qi Q
Columnas: smbolos del alfabeto de entrada, am E
En funcin del estado en que se encuentren, en el caso de la mquina de
Moore.
Filas: estados posibles de la mquina, am E
Dos tablas: tablas de transicin y de
salida
TABLAS DE TRANSICIN Y DE SALIDA.
Ejemplo
Ejemplo: Obtener la tabla de transicin y de salida para las funciones de
transicin y de salida, respectivamente, de la siguiente mquina de Mealy:




Ejemplo: Obtener la tabla de transicin y de salida para las funciones de
transicin y de salida, respectivamente, de la siguiente mquina de Moore:
Una sola tabla: TRANSICIN Y DE SALIDA
Filas: estados posibles de la mquina, qi Q
Columnas: smbolos del alfabeto de entrada, am E

Diagrama de transicin
Una MS puede ser representada a travs de un grafo dirigido.

Mquina secuencial de Mealy

Las mquinas de Mealy tienen tantos estados como elementos tiene el
conjunto Q y son etiquetados con el nombre de dicho elemento. Los
cambios de estados se reflejan mediante una rama, de forma que si
f(q,1)=r, dibujaremos una rama desde q hasta r. Si adems g(q,1)=0,
etiquetaremos dicha rama como 1/0.

Ejemplo: Disear el diagrama de transicin asociado a la mquina de
Mealy definida en el ejemplo del apartado anterior.



Diagrama de transicin
Mquina secuencial de Moore

Las mquinas de Moore tienen tantos estados como elementos tiene el
conjunto Q y son etiquetados con el nombre de dicho elemento. Los
cambios de estados se reflejan mediante unarama, de forma que si
f(q,1)=r,dibujaremos una rama desde q hasta r etiquetada con 1. Si
adems g(q,1)=0, etiquetaremos el estado como r/0.

Ejemplo: Disear el diagrama de transicin asociado a la mquina de
Moore definida en el ejemplo del apartado anterior.

Ejemplo. MQUINA DE MEALY
Ejemplo. MQUINA DE MOORE

Preguntas.
Muchas Gracias