Hoja01 Sol

5
Universidad Rey Juan Carlos Curso 2007–2008 Teor´ ıa de Aut´ omatas y Lenguajes Formales Ingenier´ ıa T´ ecnica en Inform´ atica de Sistemas Hoja de Problemas 1 Lenguajes Formales Nivel del ejercicio : () b´ asico, () medio, () avanzado. 1. () Sea Σ = {0, 1, 2}, x = 00, y = 1, z = 210. Definir las siguientes palabras : xy, xz, yz, xyz,(xy) -1 , x 3 , x 2 y 2 ,(xy) 2 ,(zxx) 3 . Indicar sus longitudes. ¿Contiene W(Σ) la palabra vac´ ıa λ?. Soluci´ on: xy = 001 |xy| =3 xz = 00210 |xz| =5 yz = 1210 |yz| =4 xyz = 001210 |xyz| =6 (xy) -1 = 100 |(xy) -1 | =3 x 3 = 000000 |x 3 | =6 x 2 y 2 = 000011 |x 2 y 2 | =6 (xy) 2 = 001001 |(xy) 2 | =6 (zxx) 3 = 210000021000002100000 |(zxx) 3 | = 21 2. () Describir las palabras pertenecientes a los siguientes lenguajes: L 1 = {0 n 1 n | n 1} y L 2 = {0 i 1 j | 0 i j } Soluci´ on: L 1 es un lenguaje binario, palabras formadas por ceros y unos, donde todos los ceros preceden a los unos y existe el mismo n´ umero de ceros que de unos. Adem´ as, no se reconoce la palabra vac´ ıa (λ), ya que si nos fijamos, siempre nos exige que haya por lo menos un cero y un uno. L 2 es un lenguaje binario, palabras formadas por ceros y unos, donde siempre hay un n´ umero mayor o igual de unos que de ceros y los ceros preceden siempre a los unos. Reconoce la cadena vac´ ıa (λ). 3. () Describir formalmente (en notaci´on conjuntista) el lenguaje formado por 0’s y 1’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. P´agina 1 de 5

description

soluciones de ejercicios

Transcript of Hoja01 Sol

Page 1: 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

Page 2: Hoja01 Sol

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

Page 3: Hoja01 Sol

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

Page 4: Hoja01 Sol

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

Page 5: Hoja01 Sol

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