Download - Hoja01 Sol
Universidad Rey Juan Carlos Curso 2007–2008Teorıa de Automatas y Lenguajes Formales
Ingenierıa Tecnica en Informatica de SistemasHoja de Problemas 1
Lenguajes Formales
Nivel del ejercicio : (!) basico, (!) medio, (") avanzado.
1. (!) Sea ! = {0, 1, 2}, x = 00, y = 1, z = 210. Definir las siguientes palabras : xy,xz, yz, xyz, (xy)!1, x3, x2y2, (xy)2, (zxx)3. Indicar sus longitudes. ¿Contiene W(!)la palabra vacıa !?.
Solucion:
xy = 001 |xy| = 3xz = 00210 |xz| = 5yz = 1210 |yz| = 4xyz = 001210 |xyz| = 6(xy)!1 = 100 |(xy)!1| = 3x3 = 000000 |x3| = 6x2y2 = 000011 |x2y2| = 6(xy)2 = 001001 |(xy)2| = 6(zxx)3 = 210000021000002100000 |(zxx)3| = 21
2. (!) Describir las palabras pertenecientes a los siguientes lenguajes:
L1 = {0n1n | n ! 1} y L2 = {0i1j | 0 " i " j}
Solucion:
L1 es un lenguaje binario, palabras formadas por ceros y unos, donde todos losceros preceden a los unos y existe el mismo numero de ceros que de unos. Ademas,no se reconoce la palabra vacıa (!), ya que si nos fijamos, siempre nos exige quehaya por lo menos un cero y un uno.
L2 es un lenguaje binario, palabras formadas por ceros y unos, donde siempre hayun numero mayor o igual de unos que de ceros y los ceros preceden siempre a losunos. Reconoce la cadena vacıa (!).
3. (!) Describir formalmente (en notacion conjuntista) el lenguaje formado por 0’s y1’s, en el que hay el doble de 0’s que de 1’s y todos los 0’s van delante de los 1’s.
Pagina 1 de 5
Hoja de Problemas 1 (cont.)
Solucion:
L = {02i1i | i ! 1}
4. (!) Describir formalmente (en notacion conjuntista) el lenguaje formado por palabrasque comienzan y terminan en a teniendo entre medias 3 o mas b’s.
Solucion:
! = {a, b}, L = {abna|n ! 3}
5. (!) Dados el alfabeto ! = {1, 2, 3, a, b, c}, y los lenguajes L1 = {1, 2, 3} y L2 ={a, b, c}, definir los lenguajes L2
1, L1 # L2, L1L2 y (L1L2)2.
Solucion:
L21 = {11, 12, 13, 21, 22, 23, 31, 32, 33}
L1 # L2 = {1, 2, 3, a, b, c}L1L2 = {1a, 1b, 1c, 2a, 2b, 2c, 3a, 3b, 3c}(L1L2)2 = {1a1a, 1a1b, 1a1c, 1a2a, . . . , 3c3c}
6. (!) Sea L = {ab, aa, baa}. Indicar cuales de las siguientes palabras pertenecen a L+ :abaa, abab, abaabaaabaa, aaaabaaaa, baaaaabaaaab, baaaaabaa, !.
Solucion:
abaa $ L+ descomp.%& ab!"#$ aa!"#$abab $ L+ descomp.%& ab!"#$ ab!"#$abaabaaabaa $ L+ descomp.%& ab!"#$ aa!"#$ baa!"#$ ab!"#$ aa!"#$aaaabaaaa $ L+ descomp.%& aa!"#$ aa!"#$ baa!"#$ aa!"#$baaaaabaaaab /$ L+ descomp.%& baa!"#$ aa!"#$ ab!"#$ aa!"#$ aab!"#$
aab/"L
baaaaabaa $ L+ descomp.%& baa!"#$ aa!"#$ ab!"#$ aa!"#$! /$ L+ (Si ! /$ L, entonces ! /$ L+)
7. (!) Sean L1 = {anbn+1 | n ! 1} y L2 = {w | num. a#s = num. b#s}. ¿Es L1 = L$1?.
¿Y L2 = L$2?.
Pagina 2 de 5
Hoja de Problemas 1 (cont.)
Solucion:
Para demostrar las igualdades entre conjuntos (A = B) debemos demostrar queexiste doble inclusion (que A ' B y B ' A). Es decir, que todos los componentesde A estan en B y viceversa, que todos los componentes de B estan en A.
L1 = L$1
En ningun caso puede ser que L1 = L$1. La razon esta en que L$
1 contiene lapalabra vacıa (!) por definicion, mientras que L1 no la contiene. Por lo tanto, nose cumple L$
1 ' L1.
L2 = L$2
Que L2 ' L$2 se deriva de la propia definicion del cierre (L$ =
%%i=0 Li). Por
lo que nos queda por demostrar que L$2 ' L2.
Como ! $ L$2 , debemos demostrar que tambien ! $ L2. Esto es cierto, ya que en
la palabra vacıa el numero de a’s es igual al numero de b’s (ambas cero). Por lotanto, ! $ L2.Por otro lado debemos ver si el resto de palabras incluıdas en L$
2 pertenecen a L2 .Eso tambien es cierto, ya que L$
2 se forma mediante la (multiple) concatenacionde palabras del lenguaje L2 . Si las palabras que estamos concatenando tienenigual numero de a’s que de b’s, siempre estamos anadiendo el mismo numero decada una de las letras a la palabra resultante y, por lo tanto, la palabra resultadotambien se encuentra en L2. Por lo tanto, podemos afirmar que L$
2 ' L2.Como L2 ' L$
2 y L$2 ' L2 , entonces podemos decir que L2 = L$
2 .
8. (!) ¿Existe algun lenguaje tal que (L$) = (L)$?.
Solucion:
Para demostrarlo utilizaremos la definicion del cierre que hemos visto anterior-mente.Podemos decir que ! $ (L)$, pertenezca o no a L, gracias a la propia definiciondel cierre de un lenguaje. Por la misma razon, podemos afirmar que ! $ (L$).Como ! $ (L$), entonces ! /$ (L$).Por lo tanto, hemos encontrado un elemento (la palabra vacıa !) que, pertene-ciendo a (L)$, no pertenece a (L$). Por lo tanto la igualdad no se cumple.
9. (!) Demostrar o refutar la igualdad siguiente :
(L$)!1 = (L!1)$ , para todo lenguaje L.
Pagina 3 de 5
Hoja de Problemas 1 (cont.)
Solucion:
Dado un lenguaje L cualquiera,
L = {x1, x2, x3, ..., xn, ...}
Sea X una palabra que pertenece al cierre de ese lenguaje:
X = x1x2x3x4...xn $ L$
Debemos comprobar que X!1 $ (L!1)$ para demostrar que (L$)!1 ' (L!1)$.Usando las propiedades de la reflexion:
(xy)!1 = y!1x!1 y (L1L2)!1 = L!12 L!1
1 ,
podemos afirmar que:
X!1 = x!1n x!1
n!1...x!11
Dado que:
L!1 = (x!1n , x!1
n!1, ...x!11 ) y x!1
n x!1n!1...x
!11 $ (L!1)$, por lo tanto, X!1 $ (L!1)$
entonces podemos afirmar que:
(L$)!1 ' (L!1)$
Podemos razonar de forma analoga para demostrar que:
(L!1)$ ' (L$)!1
aunque es trivial.
10. (!) Demostrar que para todo lenguaje L, se verifica L$L$ = L$.
Solucion:
Simplemente deberemos aplicar la definicion de cierre, recordemos:
L$ =%&
i=0
Li
Tambien tendremos en cuenta las propiedades de la potencia, en concreto:
LiLj = Li+j
Pagina 4 de 5
Hoja de Problemas 1 (cont.)
L1(L2 # L3) = L1L2 # L1L3
Ahora, desarrollaremos el lado izquierdo de la igualdad:
L$L$ = (L0 # L1 # L2 # . . .)(L0 # L1 # L2 # . . .)
= (L&L& # L&L1 # L&L2 # . . . # L1L& # L1L1 # L1L2 # . . .)
Y simplemente, reagrupando los terminos y aplicando la propiedad anterior, nosqueda:
L$L$ = L0L0 # L0L1 # L0L2 # L0L3 # . . .# L1L0 # L1L1 # L1L2 # . . .
# L2L0 # L2L1 # . . .= ! # L1 # L2 # L3 # . . . = L$
Que es lo que querıamos demostrar.
11. (!) Describir el lenguaje generado por la gramatica:
G = ({S}, {a, b}, S, {S ::= SS | aSb | bSa | !}) .
Solucion:
El lenguaje que describe esta gramatica es el siguiente:L = {w | na(w) = nb(w)},siendo nx(w) el numero de x que aparecen en w.
Pagina 5 de 5