37
AUTÓMATAS FINITOS MOORE Y MEALY UNIVERSIDAD UNIMINUTO INSTITUTO DE EDUCACION A DISTANCIA CONTROLADORES PROGRAMABLES Por: Ing. John Jaiver Muñoz

Automatas Finitos MOORE y MEALY

  • Upload
    juanmro

  • View
    98

  • Download
    7

Embed Size (px)

Citation preview

  • 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