Pregunta 1 [30 puntos] (Falta completar) (a) La función num : Σ × Σ∗ → N, dado un sı́mbolo a y una palabra w, retorna cuántas ocurrencias de a hay en w. Defina formalmente num y demuestre que num(a, x ◦ y) = num(a, x) + num(a, y). (b) Demuestre que |xn | = n|x|, para todo natural n y para toda palabra x en un alfabeto arbitrario Σ. (c) Demuestre que si L es un lenguaje sobre Σ, entonces L∗ = (L∗ )∗ . 1 Pregunta 2 [30 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas y demuestre su respuesta. (a) Es posible construir un AFD de un solo estado final para 10+ + 01+ . Falso. Supongamos que existe un AFD M = (Q, Σ, δ, q0 , {f }) que acepta el lenguaje. Debido a que acepta palabras en 10+ , necesariamente δ(f, 0) = f y δ(f, 1) 6= f (si acepta 10, debe aceptar 100 y no 101). Análogamente, debido a que acepta palabras en 01+ , necesariamente δ(f, 1) = f y δ(f, 0) 6= f , que es contradictorio con lo anterior. Se concluye que no se puede construir tal AFD. (b) Si M1 = (Q, Σ, δ, q0 , F ) y M2 = (Q, Σ, δ, q0 , F 0 ) son AFND’s y F ⊆ F 0 , entonces L(M1 ) ⊆ L(M2 ). Verdadero. Basta con demostrar que si w ∈ L(M1 ) ⇒ w ∈ L(M2 ). Sabemos que w ∈ L(M1 ) significa que δ(q0 , w) ∩ F 6= ∅. Dado que F 0 es superconjunto de F , claramente también δ(q0 , w) ∩ F 0 6= ∅, y, por lo tanto w ∈ L(M2 ). (c) Si M1 = (Q, Σ, δ, q0 , F ) y M2 = (Q, Σ, δ, q0 , F 0 ) son AFND’s, entonces M = (Q, Σ, δ, q0 , F ∩ F 0 ) acepta L(M1 ) ∩ L(M2 ). Falso. Considere los siguientes AFND’s: 1,0 M1 1,0 M2 1 1 Claramente L(M1 ) ∩ L(M2 ) 6= ∅, pero L(M ) = ∅ pues F ∩ F 0 = ∅. 2 Pregunta 3 [30 puntos] Dé una expresión regular y un AFD para los siguentes lenguajes: (a) Palabras binarias con a lo más un par de 0 consecutivos. 0 1,0 0 0 1 1 1 1 0 0 1 Expresión regular: (0 + ε)(10 + 1)∗ + (0 + ε)(10 + 1)∗ 00(10 + 1)∗ (b) Palabras sobre {a, b} que, cuando contienen aa, terminan en b. b a a a b b a b Expresión regular: (a + ε)(ba + a)∗ + (a + b)∗ aa(a + b)∗ b (c) Todas las palabras que son subpalabras de alguna palabra en 1∗ (00)∗ 1∗ . 1 0 1 0 0 1 1 0 0 1 0,1 1 Expresión regular: 10∗ + 0∗ 1∗ + 1∗ (00)∗ 1∗ (d) Palabras binarias que contienen a 1 y a 00 como subpalabras. 1 1 0,1 1 0 0 0 1 1 0 0 Expresión regular: (1 + 0)∗ 1(1 + 0)∗ 00(1 + 0)∗ + (1 + 0)∗ 00(1 + 0)∗ 1(1 + 0)∗ 3 Pregunta 4 [30 puntos] Demuestre que si L y M son lenguajes regulares, entonces Split(L, M ) = {uvw | uw ∈ L, v ∈ M } también es regular. Supongamos (sin pérdida de generalidad) que L y M son aceptados respectivamente por ML = (QL , Σ, δL , qL , FL ) y MM = (QM , Σ, δM , qM , FM ). Definimos un AFND M = (Q, Σ, δ, q0 , F ) donde: Q = {[q, i] | i ∈ {0, 1}, q ∈ QL } ∪ {[q, p] | q ∈ QM , p ∈ QL }, δ([q, 0], a) = {[δL (q, a), 0]}, para todo q ∈ QL , a ∈ Σ, δ([q, 0], ε) = {[qM , q]}, para todo q ∈ QL δ([q, 1], a) = {[δL (q, a), 1]}, para todo q ∈ QL , a ∈ Σ, δ([q, 1], ε) = {}, para todo q ∈ QL δ([q, p], a) = {[δM (q, a), p]}, q ∈ QM y q 6∈ FM , p ∈ QL δ([f, p], ε) = {[p, 1]}, para todo f ∈ FM , p ∈ QL δ([q, p], ε) = {}, para todo q ∈ QM , q 6∈ FM , p ∈ QL F = {[f, 1] | f ∈ FL } q0 = [qL , 0] (1) (2) (3) El AF M acepta Split(L, M ). Intuitivamente, M tiene estados de la forma [q, 0] y [q, 1] (con q ∈ QL ) para simular las transiciones de ML . El 0 de la segunda componente representa que el AF todavı́a no ha visto un segmento de palabra del lenguaje M , y el 1 que sı́ lo ha visto. Por otro lado, cuando M aún no ha visto una palabra del lenguaje M , puede, en cualquier momento (transición en vacı́o), comenzar a simular a MM (ecuación (2)). Cuando se simula a MM , M “recuerda” el estado que corresponde a ML en donde quedó la simulación de ML (ası́, estar en el estado [q, p] significa que se está simulando a MM y que se viene del estado [p, 0]). Una vez que M llega a un estado que representa a un estado final de MM (estados de la forma [f, p] con f ∈ FM ), entonces puede volver a simular a ML desde el punto donde habı́a quedado (ecuación (3)). Esta vez, sı́, ya no puede volver a simular a MM y sólo podrá aceptar en caso que llegue a un estado que representa a uno final de ML . Para que M acepte una palabra x, ésta debe ser de la forma uvw, donde uw ∈ L y v ∈ M . 4