U.R.J .C. – Ingenierı́a Técnica en Informática de Sistemas Ingenierı́a Informática Teorı́a de Autómatas y Lenguajes Formales / Autómatas y Lenguajes Formales Febrero 2007 1er. Parcial Normas : La duración del examen es de 1 hora y 45 minutos. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2.5 puntos sobre la nota total. 1. (a) (2 puntos) Obten una gramática formal del tipo 2 que genere el siguiente lenguaje: L = {an bm cp |n ≥ 0, m ≥ 1, p ≥ n + m}. Solución: Una posible solución podrı́a ser la siguiente: G = ({S, B, C}, {a, b, c}, S, P ) con P = {S ::= aSC|B, B ::= bBC|bC, C ::= cC|c} (b) (1 puntos) Dado la siguiente gramática: G = ({S, A, B, C, D}, {a, b, c}, S, P) , donde P son las producciones siguientes : S ::= bCA CB ::= BC C ::= cC | c A ::= BCA | aD bB ::= bb CaD ::= C Convierta esta gramática en una gramática equivalente en estructura de frases. Solución: Una posible solución podrı́a ser la siguiente: G = ({S, A, B, C, D}, {a, b, c}, S, P) , donde P son las producciones siguientes : S ::= bCA CB ::= CX Y X ::= BX bB ::= bb A ::= BCA | BC CX ::= Y X BX ::= BC C ::= cC | c Página 1 de 5 Examen Teorı́a de Autómatas y Lenguajes Formales - 1er. Parcial (cont.) 2. (2.5 puntos) Demuestra (aplicando métodos vistos en clase) si los lenguajes, definidos por los siguientes elementos, son iguales o no. A = ({0, 1}, {p, q, r, s, t, u}, f, p, {r, s}) f 0 1 →p q p q r s *r r s *s t u t r s u t u E = (0 + 1 + 000∗ 0)∗ (0(0 + 1 + 00∗ 1)) Solución: A = ({0, 1}, {p, q, r, s, t, u}, f, p, {r, s}) f 0 1 →p q p q r s *r r s *s t u t r s u t u Como podemos observar, este autómata es finito determinista, por lo tanto, procederemos a minimizarlo para obtener el autómata finito determinista mı́nimo (y único) que reconoce ese lenguaje. Q/E0 = {{r, s}, {p, q, t, u}} Q/E1 = {{r}, {s}, {p, u}, {q, t}} Q/E2 = { {r} , {s} , {p, u}, {q, t}} = Q/E1 = Q/E |{z} |{z} | {z } | {z } C D A B Renombrando obtenemos el autómata finito determinista mı́nimo: Amin = ({0, 1}, {A, B, C, D}, fmin , A, {C, D}) Página 2 de 5 Examen Teorı́a de Autómatas y Lenguajes Formales - 1er. Parcial (cont.) fmin 0 1 →A B A B C D *C C D *D B A Ahora, obtendremos un autómata finito no determinista a partir de la expresión regular. Este autómata puede ser el siguiente: Aer = ({0, 1}, {p, q, r, s, t, u, v, w, x}, fer , p, {x}) fer 0 →p {q,r} q {u} r {s} s {t} t {q} u {v,x} v {w} w *x 1 {q} λ {q} {p} {t} {s} {x} {x} {w} {v} Ahora, obtendremos un autómata finito determinista: ferf d →{p,q} {p,q,r,u} *{p,q,r,s,t,u,v,w,x} *{p,q,x} 0 {p,q,r,u} {p,q,r,s,t,u,v,w,x} {p,q,r,s,t,u,v,w,x} {p,q,r,u} 1 {p,q} {p,q,x} {p,q,x} {p,q} Si renombramos, nos queda: Aerf d = ({0, 1}, {p, q, r, s}, ferf d , p, {r, s}) ferf d 0 1 →p q p q r s *r r s *s q p Página 3 de 5 Examen Teorı́a de Autómatas y Lenguajes Formales - 1er. Parcial (cont.) Podemos comprobar que este autómata es mı́nimo: Q/E0 = {{r, s}, {p, q}} Q/E1 = { {r} , {s} , {p} , {q} } = Q/E0 = Q/E |{z} |{z} |{z} |{z} C D A B Después de renombrar, su tabla de transiciones queda de la siguiente manera: Aerf d = ({0, 1}, {A, B, C, D}, ferf d , A, {C, D}) ferf d 0 →A B B C *C C *D B 1 A D D A Como podemos comprobar, los autómatas mı́nimos Amin y Aerf d son iguales, por lo tanto, hemos demostrado que los lenguajes que representan la expresión regular y el autómata finito dado es el mismo. 3. (2 puntos) Sea L ⊆ {a}∗ el lenguaje definido por la siguiente igualdad: L := ( am ) n X i, n≥0 . m= i=0 Demuestra que el lenguaje L no es regular. Solución: En primer lugar, basta observar que tenemos la siguiente igualdad: n (n+1)n o L= a 2 n≥0 . Supongamos que L es un lenguaje regular. Entonces cumple el Lema de Bombeo para los lenguajes regulares. Sea N ∈ N la constante de dicho lema. Definamos (N +1)N ≥ N . Por lo la palabra x := a 2 . Se tiene que x ∈ L, y además |x| = (N +1)N 2 tanto, existe una descomposición de la forma x = uvw verificando las propiedades siguientes : Página 4 de 5 Examen Teorı́a de Autómatas y Lenguajes Formales - 1er. Parcial (cont.) i) |uv| ≤ N . ii) |v| > 0. iii) uvi w ∈ L, para todo i ≥ 0. Por las propiedades i) y ii) se tiene que v = aj para cierto natural j verificando 0 < j < N + 1. Por la propiedad iii), se tiene que uv2 w ∈ L. Ahora bien, (N +1)N uv2 w = a 2 +j . Veamos que este exponente no se puede poner de la forma (r+1)r para algún r ≥ 0. 2 (N + 1)N (N + 1)N (N + 2)(N + 1) (N + 1)N < +j < +N +1= . 2 2 2 2 Por tanto, uv2 w 6∈ L. En ambos casos llegamos a una contradicción, y esta contradicción parte de suponer que L es regular. Por tanto, concluı́mos que L no es regular. Página 5 de 5