Automat As

16

description

automatas

Transcript of Automat As

  • Teora de la Computacin para Ingeniera de Sistemas: un

    enfoque prctico

    Hilda Contreras

    2 de mayo de 2011

  • 2

  • ndice general

    0.1. Propiedades cerradas y algoritmos de decisin . . . . . . . . . . . . . . . . . . . 3

    0.1.1. Lema del Bombeo o Potencias para Conjuntos Regulares . . . . . . . . . 3

    0.1.2. Propiedades de clausura de los Lenguajes regulares . . . . . . . . . . . . 5

    0.1.3. Algoritmos de decisin sobre conjuntos regulares . . . . . . . . . . . . . 10

    0.1.4. Preguntas y respuestas, ejercicios resueltos y propuestos . . . . . . . . . 14

    0.1. Propiedades cerradas y algoritmos de decisin

    0.1.1. Lema del Bombeo o Potencias para Conjuntos Regulares

    Es un mtodo para demostrar que ciertos lenguajes NO son regulares. Si L es regular y M

    = (Q,,,q0,F) es un AFD y L = L(M) con cierto nmero de estados n.Consideremos a1; a2; :::am;m n (m smbolos) y sea b(qo; a1a2:::ai) = qi para i = 1,2,...,m(necesariamente se pasa por un estado 2 o ms veces). No es posible que todos los qi seandistintos ya que solo hay n estados. Por lo tanto hay 2 enteros j y k, tal que 0 j < k n.

    Si qm est en F, entonces a1; a2; :::am esta en L(M) pero tambin lo est a1; a2; :::aj(aj+1:::ak)iak+1:::amcon i 0, i es el nmero de veces que se repite el ciclo o lazo de qj a qk.

    Lema del Bombeo 0.1.1. Si L es un conjunto regular entonces hay una constante n tal que

    para w en L y jwj n podemos escribir w = xyz tal que:y 6= o jyj 1jxyj n

    Figura 1: Bombeando la cadena wi = xyiz

    3

  • 4 NDICE GENERAL

    Para todo i entero, xyiz tambin pertenece a L

    Es decir, siempre es posible encontrar una cadena no vacia y, no demasiado lejos del comien-

    zo de w que se pueda "bombear"( repetir i veces ) y la cadena resultante pertenece tambin

    al lenguaje L.

    Se debe usar el lema para demostrar por contradiccin que un Lenguaje L no es regular,

    de la siguiente forma:

    1. Asumo que L es regular

    2. Seleccionar un w adecuado que cumpla con las condiciones del lema y que est en L (

    que dependa del valor n, constante del Lema ).

    3. Bombear y salir de L ( conseguir una contradiccin, es decir encontrar un valor de i con

    el cual bombear la cadena y se sale del lenguaje L )

    4. Lo que se asume al principio es falso, por tanto el lenguaje L no es regular

    Nota: el x,y,z no son jos, ni tienen longitudes jas slo estn limitados por las condiciones del

    lema y la denicin del lenguaje.

    Ejemplos: Dados los siguientes lenguajes desmostrar si son o no lenguajes regulares

    L = { 0j1j | j 0 }Se asume que L es un Lenguaje Regular, y se aplica el Lema del Bombeo. Se selecciona

    w = 0n1n, que cumple con que w = xyz, jwj n y jxyj nSe va a bombear la cadena y que esta en 0n por las condiciones del Lema, cumpliendocon la siguiente desigualdad 1 jyj n. Por tanto, la cadena w quedara de la siguienteforma:

    w = 0njyj0jyj1n, partiendo de que w = xyz, donde 0njyj es la cadena x, 0jyj es la cadenay, y el resto 1n es la cadena zPara bombear solo hay que multiplicar por un valor de i a la potencia de la cadena

    (wi = xyiz), quedando de la siguiente forma: wi = 0njyj0jyji1n

    Ahora debe conseguirse al menos un valor de i para el cual la cadena resultante no est

    en el lenguaje. Se considera un valor de i = 2: 0njyj02jyj1n = 0njyj+2jyj1n = 0n+jyj1n

    Para todos los valores posible de |y|, 1 jyj n, el w bombeado sale del lenguaje L, yaque el nmero de ceros siempre es mayor que el nmero de unos (1 n jyj n n n).Esto es una contradiccin ya que el nmero de ceros debe ser igual al nmero de unos

    para todo i 0, por tanto lo que se asume al principio es falso y por tanto el lenguaje LNO es Regular.

    L = { XX | X en (a+ b) }

    Se asume que L es un Lenguaje Regular, y se aplica el Lema del Bombeo. Se selecciona

    w = anbanb, que cumple con que w = xyz, jwj n y jxyj nSe va a bombear la cadena y que esta en an por las condiciones del Lema, cumpliendocon la siguiente desigualdad 1 jyj n. Por tanto, la cadena w quedara de la siguienteforma:

    w = anjyjajyjbanb, partiendo de que w = xyz, donde anjyj es la cadena x, ajyj es lacadena y, y resto banb es la cadena z

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 5

    Para bombear solo hay que multiplicar por un valor de i a la potencia de la cadena

    (wi = xyiz), quedando de la siguiente forma: wi = anjyjajyjibanbAhora debe conseguirse al menos un valor de i para el cual la cadena resultante no est en

    el lenguaje. Se considera un valor de i = 0: (w0 = xy0z) por tanto w0 = anjyjajyj0banb =anjyjbanbPara todos los valores posible de |y|, 1 jyj n, el w bombeado sale del lenguaje L, yaque el la primera subcadena X = anjyjb siempre es diferente a la segunda subcadena X= anb, por el nmero de smbolos a (los rangos son: n 1 n jyj n n). Esto esuna contradiccin ya que ambas subcadenas X deben ser iguales, para todo i 0, portanto lo que se asume al principio es falso y por tanto el lenguaje L NO es Regular.

    0.1.2. Propiedades de clausura de los Lenguajes regulares

    Tambin llamadas operaciones cerradas, son aquellas que se aplican sobre los lenguajes

    regulares y el resultado sigue siendo un lenguaje regular. Estas propiedades se pueden utilizar

    para demostrar que un lenguaje es regular o no es regular

    Teorema 0.1.1. Los conjuntos regulares son cerrados bajo unin, concatenacin y Clausura

    de Kleene. Tambin son cerrados bajo:

    Complemento

    Interseccin

    Diferencia

    Reexin o reejo

    Sustituciones, homomorsmo y homomorsmo inverso

    Cociente de conjuntos arbitrarios

    Para las operaciones de unin, concatenacin y clausura de Kleene son cerradas por de-

    nicin de las expresiones regulares. Para el resto de las operaciones es necesario ver como se

    aplican sobre conjuntos regulares:

    1. Los conjuntos regulares son cerrados bajo complemento

    Sea L un lenguaje regular y L , entonces tambin - L es regular. Sea L tal que L =L(M) con M = (Q,; ; q0,F) donde M es AFD y sea L , asumimos el mismo alfabetopara L y se construye el autmata M' tal que L(M') = L asi:// M' = (Q,; ; q0,Q-F), M'acepta a w si y solo si w est en - L. La gura 2.2 muestra un AFD y su complemento

    2. Los conjuntos regulares son cerrados bajo interseccin

    Por la ley de Morgan

    1

    , la interseccin se expresa en trminos de unin y complemento

    por lo tanto la operacin de la interseccin es cerrada.

    1

    Ley de Morgan / Diagramas de Venn: L1TL2 = L1

    SL2

  • 6 NDICE GENERAL

    Figura 2: Complemento de un AFD: Cadenas binarias que no tienen un nmero de 0s mltiplo

    de 3

    Figura 3: AFD de los lenguajes: L1 nmero impar de ceros y L2 nmero par de unos

    Construccin de producto: Sea L1 = L(M1);M1 = (Q1;; 1; q1; F1) y L2 = L(M2);M2 =(Q2;; 2; q2; F2), se construye M' = (Q1xQ2;; ; [q1; q2]; F1xF2), 8p1 en Q1; p2 en Q2 ya en , hacer ([p1; p2]; a) = [1(p1; a); 2(p2; a)]. Las siguientes guras: 2.3 muestran losAFD de los lenguajes L1 nmero impar de ceros y L2 nmero par de unos, la Figura 2.4 lainterseccin de dos lenguajes L1 y L2 a travs de sus Autmatas nitos determinsticos,y la Figura 2.5 muestra la tabla con la construccin de producto.

    3. Los conjuntos regulares son cerrados bajo diferencia

    L1 y L2 son lenguajes regulares entonces L1 L2 tambin los son (conjunto de cadenas

    Figura 4: AFD que reconoce el lenguajes de las cadenas binarias con un nmero impar de ceros

    y un nmero par de unos (interseccin)

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 7

    Figura 5: Tabla de la Construccin de producto para obtener el AFD que reconoce el lenguajes

    de las cadenas binarias con un nmero impar de ceros y un nmero par de unos (interseccin)

    que pertenecen a L1 y no pertenecen a L2). Por teora de conjuntos, la diferencia2

    puede

    expresarse en terminos de interseccin y complemento las cuales son cerradas por tanto

    la operacin de diferencia es cerrada.

    4. Los conjuntos regulares son cerrados bajo reeexin o reverso

    Dada una cadena w = a1; a2; :::an su reexin se escribe al revs an; an1; :::a1. Se denotawR la reeja (reverso) de w. Su construccin se puede dar a partir del AF y su ER:

    Dado un Autmata A, se procede de la siguiente forma (ver gura):

    Invertir todos los arcos del diagrama de A Convertir el estado inicial de A en el nico de aceptacin Crear un nuevo estado inicial p0, con transiciones a todos los estados deaceptacin de A.

    La gura 2.6 muestra el AFD del lenguaje denotado por la expresin regular (bb*a)*aa*ba*

    y su reejo.

    Dado la Expresin regular que denota al lenguaje, se procede de la siguiente forma:

    Caso Base:L(ER) = (L(E))R, ER = E, R = , aR = a.

    Paso Inductivo:E = E1 + E2 ! ER = ER1 + ER2E = E1E2 ! ER = ER2 :ER1E = E1 ! ER = (ER1 )

    5. Los conjuntos regulares son cerrados bajo Sustituciones, homomorsmo y ho-

    momorsmo inverso

    La sustitucin (en conjuntos regulares) consiste en reemplazar o mapear los smbolos de

    un lenguaje a un subconjunto de otro lenguaje (generalmente denotado por expresiones

    regulares). Una sustitucin f es un mapeo de un alfabeto en un subconjunto de para

    2

    Diferencia de conjunto L1 L2 = LTL2

  • 8 NDICE GENERAL

    Figura 6: AFD de (bb*a)*aa*ba* y el AFD con la operacin del reejo

    algun alfabeto . La funcin f tambin puede extenderse a cadenas (por concatenacin):

    a) f() =

    b) f(xa) = f(x)f(a)

    La funcin f tambin puede extenderse a lenguajes: f(L) =SxenL f(x)Por ejemplo: Suponga las siguientes funciones de sustitucin f(0) = a y f(1) = b. Losalfabetos = {0,1} y ' = {a,b}, donde 0 = a,b. Se aplica sobre cadenas en:f(010) = f(01).f(0) = f(01)a = f(0).f(1).a = abaf(1101) = b b a b = b a b

    Dado un lenguaje L = 0 (0+1) 1 , se aplica f(L):f(L) = a (a + b) (b) = a (a + b) b

    El homomorsmo, o sustituciones h, es un caso particular de sustitucin sobre funciones

    (inyectiva y sobreyectiva

    3

    ) que mapean por cada smbolo a en una slo cadena en .Es tambin llamado sustitucin uno a uno, su denicin es la siguiente:

    h(x) = { h(x) | h(x) en , x en }Por denicin h() = .

    3

    Dado una funcin h:A ! B, h es inyectiva si a1 6= a2, h(a1) 6= h(a2); h es sobreyectiva si todo elemento deB es imagen de alguno de A

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 9

    La imagen homomorca inversa de un lenguaje L y de una cadena se dene como: h1(L)= { x | h(x) en L }

    h1(w) = { x | h(x) = w }Por ejemplo: Dados los alfabetos = { 0,1 } y = { a, b }, donde se dene un conjunto' = {aa, aba} , Se dene el homomorsmo h(0) = aa y h(1) aba, se tienen lassiguientes cadenas y lenguaje:

    h(010) = aaabaaa

    h1(abaaa) = 10L1 = (01)

    , h(L1) = (aaaba)

    L2 = (ab + ba)a, h1(L2) = 1, Se trata de buscar las cadenas en a las cuales seles aplica el homomorsmo h y estan en L2 = {a, aba, baa, ababa, abbaa, baaba,babaa,...}.

    Los conjuntos regulares son cerrados bajo homomorsmo y homomorsmo inverso por

    tanto se puede aplicar sobre los autmatas nitos. La construccin dado una funcin

    homomorca, se aplica sobre un AFD M = (Q,,,q0,F) que acepta L y sea h un homo-morsmo de en (h : ! ) se construye una M' = (Q,,',q0,F) donde '(q,a)= (q,h(a)) para q en Q y a en .

    Ejemplo: = { a,b } y = { 0, 1 }, L = (ab +ba)ah: ! , h(0) = aa y h(1) = aba

    M = (fq0; q1; q2; q3g,,,q0,fq1g)M' = (fq0; q1; q2; q3g,,',q0,fq1g) con h1 : ! Cada transicin aplica la construccin, por ejemplo para '(q0,0) = (q0,h(0)) = (q0,aa)= ((q0,a),a) = (q1,a) = q3

    Se puede usar cualquiera de estas propiedades de clausura para demostrar que un len-

    guaje NO es regular con el lema del bombeo. Por ejemplo si se quiere demostrar que

    un lenguaje L no es regluar y es dicil aplicar el lema del bombeo entonces podemos

    aplicarlo para el complemento, bajo sustitucin, etc. que no es regular y L tampoco lo

    ser pues son operaciones cerradas. Las operaciones cerradas se utilizan para demostrar

    que algo es regular o que no es regular. El homomorsmo se aplica para transformar algo

    que no se conoce en algo conocido que se sabe que no es regular, por ejemplo: Demostrar

    que fanbanjn 1g no es regular sabiendo que f0n1njn 1g no es regular.f0n1njn 1g no es regular por el Lema del Bombeo. Para transformar anban en 0n1nse realiza una reduccin con operaciones cerradas del lenguaje L = anban a 0n1n, de lasiguiente forma:

    = { a,b }, = { 0, 1 } y ' = { x, y, z }anban = anbaan1

    Se dene el homomorrmo h1 : 0 ! , asi: h1(x) = a, h1(y) = ba y h1(z) = a.Al aplicar el homomorsmo inverso h11 queda h

    11 (L) = (x+z)

    ny(x+z)n1 ! h11 (L)Txyz =

    xnyzn1.

  • 10 NDICE GENERAL

    Se dene el homomorsmo h2 : 0 ! , asi: h2(x) = 0, h2(y) = 1 y h2(z) = 1. Alaplicarlo h2(h

    11 (L)) = 0

    n1n, ya que h2((x+ z)ny(x+ z)n1) = 0n11n1 = 0n1n

    6. Los conjuntos regulares son cerrados bajo Cociente de conjuntos arbitrarios

    0.1.3. Algoritmos de decisin sobre conjuntos regulares

    Se debe recordar que el lenguaje tpico que interesa es innito, pues para los lenguajes

    nitos (que son regulares) no hay ninguna complicacin para resolver problemas. Por tanto,

    hacer una pregunta sobre alguna propiedad de un conjunto innito realmente no es posible, a

    menos que se realice sobre su representacin nita"(AF o ER). Las siguientes propiedades se

    pueden expresar como problemas de decisin:

    1. Vacuidad: El lenguaje L es vaco?

    2. Pertenencia: La cadena w pertenece al lenguaje L?

    3. Equivalencia: Dos autmatas nitos reconocen el mismo lenguaje L?

    Las preguntas anteriores se reeren al lenguaje, pero se trata de buscar un algorimo decidible

    4

    que d respuesta (si o no) al problema de decisin y por tanto no puede hacerse sobre

    una estructura innita como el lenguaje. Para eso se muestran como pueden resolverse estos

    problemas con un algoritmo decidible al utilizar el autmata nito o la expresin regular que

    reconocen o denotan al lenguaje.

    Vacuidad: El lenguaje L es vaco?

    Se evalua la posibilidad de que L = sobre la representacin de L:

    Si es un Autmata nito

    Si existe algun camino desde q0 a un estado de aceptacion el lenguaje no es vacio. Caso

    contrario (todos los estados de aceptacin estan desconectados) entonces el lenguaje L es

    vacio. En teora de grafos existen varios algoritmos que permiten detectar caminos entre

    un par de nodos (estado inicial y algunos de los estados nales) del grafo.

    Si es una Expresin regular

    Convertir la ER en un AFND con transiciones nulas y luego transformalo con laconstruccin de subconjuntos en un AFD y proceder como se indica anteriormente.

    Aplicar las siguientes reglas recursivas a la ER:Base: denota el lenguaje vacio, no denotan al lenguaje vacio

    Inductivo: R es una expresin regular y si:

    1. R = R1 +R2, entonces L(R) es vacio si y solo si L(R1) y L(R2) son vacio

    2. R = R1R2, entonces L(R) es vacio si y solo si L(R1) es vacio o L(R2) es vacio

    4

    Un algoritmo decidible es un algoritmo que funciona para toda instancia del problema y que siempre

    termina para dar una respuesta

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 11

    3. R = R1, entonces L(R) no es vacio ya que siempre incluye por lo menos a lacadena vacia

    4. R = (R1), entonces L(R) es vacio si y solo si R1 es vacio.

    Pertenencia: La cadena w pertenece al lenguaje L?

    Dada una cadena w en y un lenguaje L, cmo determinar si w pertenece a L?. Lacadena w se representa explicitamente pues es de tamao nito. El lenguaje L se representa a

    travs de una ER o de un AF, que son modelos nitos de lenguajes regulares. Si se tiene el AFD

    que reconoce el lenguaje se simula el funcionamiento al recibir la cadena w comenzando desde

    q0, si naliza en un estado de aceptacin la respuesta es si y en caso contrario la respuesta esno. Si se trata de un AFND- se puede aplicar el algoritmo de backtracking para llevar lasmultiples opciones en la ejecucin.

    Equivalencia: Dos autmatas nitos reconocen el mismo lenguaje L?

    Comprobacin de estados equivalentes Dos estados p y q son equivalentes si para todo

    w en , b(p,w) y b(q,w) estan en un estado de aceptacin (no necesariamente el mismoestado). Dos estados p y q son estados equivalentes si llego a un estado nal rocesando

    la misma cadena w en ambos casos, por lo que decimos que no hay ninguna distincin

    haber estado en q o haber estado en p. Si dos estados no son equivalentes decimos que

    son distinguibles. Entonces p es distinguible de q si existe por lo menos una cadena w tal

    que

    b(p,w) es un estado de aceptacin y b(q,w) no es un estado de aceptacin y viceversa.Algoritmo para buscar pares de estados distinguibles recursivamente Precondicin =

    Arranca de un AFD

    1. Para p en F y q en Q-F marque (p,q) como distinguible. Recordar que

    b(p; ) = ppor denicin para todo p en Q, por tanto si p esta en F y q esta en Q-F entonces

    son distinguibles porque la cadena vaca los distingue.

    2. Para cada par (p,q) en FxF o en (Q-F)x(Q-F), no marcado como distinguible hacer:

    Si para algn a en , el par ((p,a),(q,a)) esta marcado entonces marque (p,q).Recursivamente marque todos los pares en la lista asociada a (p,q).

    En caso contrario (no hay ningn par marcado), entonces colocar (p,q) en la

    lista de ((p,a),(q,a)) excepto cuando (p,a) = (q,a) para todo a en .

    Ejemplo: Dado el siguiente AFD Figura 2.7 se muestra la tabla de estados distinguibles

    en la gura 2.8.

    Utilidad de la tabla de estados distinguibles Comprobacin de la equivalencia de

    lenguajes regulares Dado 2 lenguajes L y M se llevan sus representaciones a un

    AFD. Se aplica el algoritmo para determinar los estados distinguibles a la unin de

    los estados de los dos autmatas. Luego se prueba si los estados iniciales de ambos

    AFD originales son equivalentes. Si son equivalentes entonces L = M y en caso con-

    trario L 6= M. Por ejemplo ver gura 2.9

  • 12 NDICE GENERAL

    Figura 7: AFD para aplicar el algoritmo de estados distinguibles

    Figura 8: Tabla de estados distinguibles

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 13

    Figura 9: AFD para aplicar el algoritmo de estados distinguibles

    Los estados iniciales son A y C, el par (A,C) no es distinguible por lo tanto es

    equivalente, es decir ambos autmatas reconocen el mismo lenguaje. Tambin es

    posible determinar si dos autmatas son equivalentes (aceptan el mismo lenguaje)

    por las propiedades de los lenguajes regulares: SeanM1 yM2 dos AFD que aceptanL1 y L2 respectivamente, se puede construir unM3 que acepte (L1

    TL2)

    S(L1

    TL2)si L(M3) = entonces L1 = L2.

    Minimizacin de un AFD

    El AFD mnimo es nico para cada lenguaje. Existe un algoritmo para construir el

    AFD mnimo a partir de la tabla de estados dinguibles:

    1. Eliminar cualquier estado que no sea accesible desde el estado inicial

    2. Se agrupan los estados equivalentes, es decir se crean a partir de las particiones.

    3. Construir el autmata mnimo utilizando las particiones como estados y las

    transiciones entre las particiones como las de uno de los estados de cada parti-

    cin para todo a en .

    Sea un AFD M = (Q,,,q0,F) tal que L(M) es un conjunto regular. Se establece larelacin de equivalencia (reexiva, simtrica y transitiva) denida sobre los estados deM, tal que p q si y solo si Para todo w en , b(p; w) est en F, si y solo si b(q; w)est en F.

    En el ejemplo de la Figura 2.7 las clases de equivalencia son: [e,a], [h,b], [f,d], [c] y [g], el

    AFD mnimo puede verse en la Figura 2.10. En el ejemplo 2.9 las clases de equivalencia

    son: [A,D,C] y [B,E].

  • 14 NDICE GENERAL

    Figura 10: AFD Mnimo

    0.1.4. Preguntas y respuestas, ejercicios resueltos y propuestos

    Ejercicios propuestos

    1. Contestar verdadero (V) o falso (F):

    a) Si un autmata nito pudiera tener innitos estados entonces podra reconocer

    lenguajes NO regulares.

    b) El lenguaje L generado por el alfabeto binario tal que sus cadenas son de la forma

    0n1k donde n,k 0, es un lenguaje NO regular.c) Si la aplicacin del Lema del Bombeo para lenguajes regulares falla (no hay contra-

    diccin para todas las cadenas) entonces el Lenguaje es regular.

    d) Los autmatas nitos con salida pueden procesar lenguajes NO regulares.

    e) Todo subconjunto de un lenguaje regular es regular

    f ) Si L es regular, tambin lo es el lenguaje formado por { w, w en L y wR en L }

    g) La unin o interseccin de dos lenguajes NO regulares no puede ser regular

    h) Si L es cualquier lenguaje, no necesariamente regular, con un alfabeto de un solo

    smbolo entonces L* es regular.

    2. Demuestre si los siguientes lenguajes son o no regulares:

    { wwR | w en (a+b)* } R = reverso

    { 0n1m | n m }{ 1nw | w en (0+1)*, n 1 }{ xx | x en (0+1)* }

    { 0j | j = i2, i 0 }

  • 0.1. PROPIEDADES CERRADAS Y ALGORITMOS DE DECISIN 15

    {aibjak | k >i + j ; k,j,i 0 }{ x | x en (a + b + c)* y Na(x)

  • 16 NDICE GENERAL

    Figura 11: Diagramas de transicin de AFD para minimizar