08 Afn Afd y Construccion de Thompson

Embed Size (px)

Citation preview

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    1/31

    AFN, AFD y Construccin de

    Thompson

    Ing. Romualdo Jonatan Quintero Hernndez

    Sistemas Computacionales

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    2/31

    Autmata finitoClasificacin de los autmatas finitos

    Autmata finito no determinista (AFN)

    Autmata finito determinista (AFD)

    Teorema sobre la transformacin de AFN en AFD

    Transformacin de una expresin regular en un autmata

    finito

    Construccin de Thompson de un AFN a partir de una

    expresin regular

    Nomenclatura de Thompson

    Ejemplos

    Ejercicios 02 "Construccin de AFNs con Thompson"

    Contenido

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    3/31

    Un autmata finito es un modelo matemtico de una

    mquina que acepta cadenas de un lenguaje definido

    sobre un alfabeto.

    Consiste en un conjunto finito de estados y un conjunto

    de transiciones entre esos estados, que dependen de los

    smbolos de la cadena de entrada.

    El autmata finito acepta una cadena xsi la secuencia

    de transiciones correspondientes a los smbolos de x

    conduce desde el estado inicial a un estado final.

    Autmata finito

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    4/31

    La funcin f: E*x QQ, es en general no determinista. Asen

    funcin de f, se hablar de autmatas finitos deterministas

    AFD yautmatas finitos no deterministas AFN.

    Un autmata finito no determinista AFN se caracteriza por la

    posibilidad de que dada una entrada e en un estado qi, se pueda pasar

    a un estado qj, qk,...,qn sin saber a ciencia cierta, a cual de esos

    estados pasar. Existiendo la misma probabilidad de que pase a

    cualquiera de dichos estados.

    Un autmata finito determinista AFD es un caso particular de los

    autmatas finitos, en el que la funcin de transicin no presenta

    ninguna ambigedad en las transiciones de estados para una entrada

    dada.

    Clasificacin de los autmatas finitos

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    5/31

    La definicin de autmata finito no determinista AFN o AFN

    coincide con la de autmata finito :

    Con la salvedad de que f: E*x QQes no determinista, i.e. es aquel

    que presenta cero, una o ms transiciones por el mismo carcter del

    alfabeto.

    Autmatas finitos no deterministas

    (AFN)

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    6/31

    Resolver:

    AFN Ejemplo

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    7/31

    Solucin:

    AFN Ejemplo

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    8/31

    Un autmata finito determinista AFD es un caso

    particular de los autmatas finitos, en el que la

    funcin de transicin no presenta ninguna

    ambigedad en las transiciones de estados para unaentrada dada.

    Un autmata finito determinista es una quntupla

    AFD=(E, Q, f, q1, F) donde la funcin f: E*x QQes

    determinista.

    Autmatas finitos deterministas

    (AFD)

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    9/31

    "Para todo autmata finito no determinista

    AFN=(E, Q, f, q1,F) se puede construir un autmata

    finito deterministaAFD=(E, Q, f, q1, F) tal que ellenguaje reconocido por el autmata finito

    determinista AFD coincida con el lenguaje

    reconocido por el autmata finito no determinista

    AFN, es decirL(AFD) = L(AFN)".

    Teorema sobre la transformacin de

    AFN en AFD

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    10/31

    AFN

    Expresin: ab|ac*

    INICIO

    1

    a 4

    a 2

    Transformacin de AFN en AFD

    c

    b 3

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    11/31

    AFD

    Expresin: ab|ac*

    INICIO1 a 2,4

    c 4

    b 3

    Transformacin de AFN en AFD

    c

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    12/31

    Dada una expresin regular existe un autmata finito

    capaz de reconocer el lenguaje que sta define.

    Recprocamente, dado un autmata finito, se puedeexpresar mediante una expresin regular del lenguaje

    que reconoce.

    Transformacin de una expresin regular

    en un autmata finito

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    13/31

    Transformacin de una expresin regular

    en un autmata finito

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    14/31

    Transformacin de una expresin regular

    en un autmata finito

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    15/31

    Transformacin de una expresin regular

    en un autmata finito

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    16/31

    La construccin de Thompson construye un AFN a

    partir de cualquier expresin regular.

    La construccin de Thompson construye a partir de

    una expresin regular r un AFN que reconoce el

    lenguaje definido por r, esto se realiza con el

    objetivo de que en un algoritmo siguiente se puedagenerar un AFD mnimo equivalente.

    Utiliza una notacin estndar para generar el AFN

    Construccin de Thompson de un AFN a partir de

    una expresin regular

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    17/31

    Para la representacin de una cadena vaca seutiliza el smbolo.

    Cadena Vaca

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    18/31

    Para representar un smbolo, se utilizan dos

    estados y una transicin para el movimiento con

    el smbolo.

    r

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    19/31

    Para la concatenacin

    nicamente se unen

    de dos smbolos

    rs

    Concatenacin de smbolo

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    20/31

    Para la eleccin de alternativas, crear

    transiciones para la unin de las transiciones.

    r|s

    Eleccin de alternativas

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    21/31

    Para la cerradura positiva, se agregan transiciones

    para retornar al estado previo, permitiendo

    agregar1

    o mas veces el smbolo

    r+

    Cerradura positiva

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    22/31

    Para la cerradura de Kleene, se agregan

    transiciones para retornar a estado previo. Y

    otra transicin para saltar la transicin con r.

    r*

    Cerradura de Kleene

    Nomenclatura de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    23/31

    Diagrama del AFN que representa la ER a*b.

    1. Parte de la cerradura de Kleene.

    a*b

    Ejemplo 01 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    24/31

    Ejemplo 01 Mtodo de Thompson

    2. Para continuar se generan la concatenacin del

    smbolo b

    a*b

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    25/31

    3. Para finalizar se numeran los estados y se indica el

    estado inicial y final

    a*b

    Ejemplo 01 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    26/31

    A partir de la ER (b|(b*a)*)a

    1. Parte de la cerradura de Kleene que se encuentra

    dentro de parntesis.

    Ejemplo 02 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    27/31

    A partir de la ER (b|(b*a)*)a

    2. Completamos dicho parntesis concatenando el

    smbolo a (b|(b*a)*)a

    Ejemplo 02 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    28/31

    A partir de la ER (b|(b*a)*)a

    3. Aplicar la Cerradura de Kleene al parntesis

    (b|(b*a)*)a

    Ejemplo 02 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    29/31

    A partir de la ER (b|(b*a)*)a

    4. La eleccin de alternativas del b y el diagrama

    anterior.(b|(b*a)*)a

    Ejemplo 02 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    30/31

    5. Concatenamos el ltimo smbolo, enumerando e

    indicando el estado inicial y el final

    (b|(b*a)*)a

    Ejemplo 02 Mtodo de Thompson

    RJQH

  • 7/30/2019 08 Afn Afd y Construccion de Thompson

    31/31

    Construir los autmatas para las siguientes

    expresiones regulares a travs

    nomenclatura de Thompson.

    1. (abc)*

    2. (b|bc)+ si

    3. letra_(letra_|digito)* si4. (a|b)*abb si

    5. [(b|b*a)*]a

    6 (a*|b+) +

    de la

    Ejercicios 02 "Construccin de AFNs

    con Thompson"