Pregunta 1 [30 puntos] (Falta completar) (a) La función num : Σ × Σ

Anuncio
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
Descargar