automat as
DESCRIPTION
automatasTRANSCRIPT
-
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