Está en la página 1de 106

EJERCICIOS RESUELTOS DE LENGUAJES, GRAM

ATICAS Y AUT

OMATAS
(16-11-2010)
1
1. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER (00 + 10

1 +)

(1 + 00)
Para obtener el AFD mnimo correspondiente a (00+10

1+)

(1+00)
tenemos que obtener primero un AFI, despu es un AFD y por ultimo
se realiza la minimizaci on.
Un posible AFI para la anterior expresi on regular sera:
7
6
5
1
0
0
4
3
1
0 0
1
1
0

2
La obtenci on del AFD correspondiente al anterior AFI se obtiene de
la siguiente manera:
q6
1
0
0
q2
q3
q1
0
0
1
1
0
q1 {2, 6} = q2 {3, 7} = q3
q2 {1, 4, 5, 7} = q4
q3 {3} = q5 {1, 4, 5} = q6
q4 {2, 6} = q2 {3,7} = q3
q5 {3} = q5 q6
q6 {2, 6} = q2 q3
C (1) = {1, 5} = q1
0 1

q4
q5
1
1
0
1
c 2009 Universidad de Alicante. Este material puede ser distribuido, copiado y ex-
hibido si el nombre de los autores (Luisa Mic o, Mikel Forcada y Jorge Calera) se muestra
en los cr editos. No se puede obtener ning un benecio comercial. Las obras derivadas
han de distribuirse con los mismos t erminos de licencia que el trabajo original. M as
detalles: http://creativecommons.org/licenses/by-nc-sa/2.5/deed.ca Puedes pedir los
fuentes LaTeX a Maria Luisa Mic o (mico@dlsi.ua.es)
1
Por ultimo la minimizaci on es:
1
0
0
q2
q3
q1
0
0
1
0
q4
q5
1
1 2 5 6 3 4
0 1 2 1 1 1 1
1 2 1 2 1 2
1 2

1 6 2 3 4 5
0 2 2 4 5 2 5
1 3 3 1 3 1
1 2 3 4 5

1
1
0, 1
q6
2. Una m aquina de Mealy produce como salida el m odulo 3 del n umero
de 1s ledos hasta el momento de una cadena binaria de entrada.
Obtener el AFD que acepta las cadenas binarias que producen una
salida del traductor anterior que contiene dos 2s consecutivos.
La m aquina de Mealy y el AFD son los siguientes, en ultimo lugar
aparece la composici on.
AC
0/2
0, 1
B
C
A
1/0
1/1
0/1
BC CC
1/2
0/0
1 1
0, 1
0, 1, 2
La composicin nos da como resultado:
BA
0
CB AA
1 1
1
0
B C
A
2 2
0
0 0
0
1
3. Dada la gram atica G
S AbS | BC | c
A SC | a
2
B BB | b |
C c |
D E | aD
E DD | cF
F f
encuentra una gram atica enforma normal de Greibach para el lengua-
je L(G) {}.
Para obtener la forma normal de Greibach debemos simplicar y eli-
minar la recursi on por la izquierda de la gram atica.
1) Eliminaci on de producciones vacas:
S AbS|bS|b|Ab|BC|B|C|c
A SC|C|S|a
B BB|B|b
C c
D E|aD
E DD|cF
F f
2) Eliminaci on de producciones unitarias:
S AbS|bS|b|Ab|BC|BB|c
A SC|AbS|bS|b|Ab|BC|BB|c|a
B BB|b
C c
D DD|cF|aD
E DD|cF
F f
3) Eliminaci on de smbolos in utiles:
S AbS|bS|b|Ab|BC|BB|c
A SC|AbS|bS|b|Ab|BC|BB|c|a
B BB|b
C c
Con la gram atica simplicada vamos a eliminar la recursi on por la
izquierda:
Si tomamos: S = A
1
, A = A
2
, B = A
3
, C = A
4
3
A
1
A
2
bA
1
|bA
1
|b|A
2
b|A
3
A
4
|A
3
A
3
|c
A
2
A
1
A
4
|A
2
bA
1
|bA
1
|b|A
2
b|A
3
A
4
|A
3
A
3
|c|a
A
3
A
3
A
3
|b
A
4
c
S olo es necesario eliminar la recursi on a A
2
y A
3
:
A
2
bA
1
A
4
|bA
4
|A
3
A
4
A
4
|A
3
A
3
A
4
|cA
4
|c|bA
1
|b|A
3
A
4
|A
3
A
3
|a|bA
1
A
4
B

|
|bA
4
B

|A
3
A
4
A
4
B

|A
3
A
3
A
4
B

|cA
4
B

|cB

|bA
1
B

|bB

|A
3
A
4
B

|A
3
A
3
B

|aB

bA
1
A
4
|bA
4
|bA
1
|b|bA
1
A
4
B

|bA
4
B

|bA
1
B

|bB

A
3
b|bC

A
3
|A
3
C

Las unicas reglas de derivaci on que ya est an en FNG son las corre-
spondientes a A
3
, B

y A
4
. Haciendo las sustituciones en A
2
y C

, y
por ultimo en A
1
, tendremos la gram atica en FNG.
4. Dada la gram atica A AaA | a
a) Describe el lenguaje que genera.
b) Comprueba que la gram atica es ambigua.
c) Si el lenguaje generado no es intr nsecamente ambiguo, en-
cuentra una gram atica no ambigua para el. En otro caso de-
muestra que lo es.
d) Encuentra una gram atica equivalente que no tenga recursi on
por la derecha.
a) El lenguaje generado es el de las cadenas de a

s de longitud im-
par.
b) La gram atica es ambigua porque, por ejemplo, para la cadena
aaaaa se pueden obtener dos arboles de derivaci on diferentes.
c) Una gram atica no ambigua sera: A aaA|a
d) Si nos encontramos la siguiente regla: A A| la sustituire-
mos por:
A |B

y B

|B

.
En nuestro caso nos quedar a: A a|B

a y B

Aa|B

Aa.
Otra gram atica no ambigua sera: A Aaa|a, que no tiene re-
cursi on por la derecha, y por lo tanto no hay que hacer nada en
este apartado.
4
5. Dado un lenguaje L, denimos el lenguaje Impar(L) = { L :
|| es impar}. Demuestra que si L es regular entonces Impar(L) tam-
bi en lo es. Explica el procedimiento aplic andolo al aut omata de la
gura.
0
0
1
1
Se trata de obtener la intersecci on del aut omata dado en el enunciado
con el aut omata que acepta todas las cadenas de longitud impar.
0
0
1
1
0,1
0,1
La interseccin nos da:
0
1
1 1
A B A B
0 0
0
1
AA BB
AB BA
6. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER ((ab

+a)

(aa +)
Para obtener el AFD mnimo correspondiente a ((ab

+a)

(aa+)
tenemos que obtener primero un AFI, despu es un AFD y por ultimo
se realiza la minimizaci on. Si tenemos en cuenta algunas propiedades
de las expresiones regulares, esta expresi on se puede simplicar y
obtener otra m as sencilla que es equivalente: (ab

(aa +)
Un posible AFI para la anterior expresi on regular sera:
5
1 4 5 6
2 3
b
a
a a

La obtenci on del AFD correspondiente al anterior AFI se obtiene de


la siguiente manera:
Q
1
= C

({1}) = {1, 2, 4, 6}

a
(Q
1
) = C

({3, 5}) = {1, 2, 3, 4, 5, 6}

b
(Q
1
) =

a
(Q
2
) = C

({3, 5, 6}) = Q
2

b
(Q
2
) = C

({3}) = {1, 2, 3, 4, 6} = Q
3

a
(Q
3
) = C

({3, 5}) = Q
2

b
(Q
3
) = C

({3}) = Q
3
b
a
a
b
b
a
a, b
1
2
3
4
Por ultimo la minimizaci on es:
G1 G2
1 2 3 4
a G1 G1 G1 G2
b G2 G1 G1 G2
creamos una nueva partici on:
G1 G2 G3
1 2 3 4
a G2 G2 G2 G3
b G3 G2 G2 G3
b
a
a, b
a, b
1
2
3
7. Dada la gram atica G
S aAa | bBb |
A C | a
B C | b
C CDE | CD |
D A | B | ab
E dE
encuentra una gram atica en forma normal de Chomsky para el
lenguaje L(G) {}.
6
Para obtener la forma normal de Chomsky debemos simplicar primero
la gram atica:
S aAa|bBb|
A C|a
B C|b
C CDE|CD|
D A|B|ab
E dE claramente esta regla se puede eliminar ya ...
1) Eliminaci on de producciones vacas:
V

= {S, C, A, B, D}
S aAa|aa|bBb|bb
A C|a
B C|b
C CD|C|D
D A|B|ab
2) Eliminaci on de producciones unitarias:
S aAa|aa|bBb|bb
A a|CD|ab|b
B a|CD|ab|b
C a|CD|ab|b
D a|CD|ab|b
3) Eliminaci on de smbolos in utiles:
No hay
Forma normal de Chomsky:
S Z
a
Z
a
|Z
a
Y
Aa
|Z
b
Z
b
|Z
b
Y
Bb
A a|CD|Z
a
Z
b
|b
B a|CD|Z
a
Z
b
|b
C a|CD|Z
a
Z
b
|b
D a|CD|Z
a
Z
b
|b
Z
a
a
Z
b
b
Y
Aa
AZ
a
Y
Bb
BZ
b
7
8. Encuentra una expresi on regular para el lenguaje reconocido por
el aut omata:

a
a
1
3
b a
b
b
2
4
r
1
= r
2
+
r
2
= ar
4
+br
3
r
3
= ar
2
+br
4
+r
1
r
4
= ar
3
+br
2
r
2
= aar
3
+abr
2
+br
3
= (aa +b)r
3
+abr
2
r
3
= ar
2
+bar
3
+bbr
2
+r
2
+ = (a +bb +)r
2
+bar
3
+
r
3
= (ba)

(a +bb +)r
2
+ (ba)

r
2
= (aa +b)(ba)

(a +bb +)r
2
+ (aa +b)(ba)

+abr
2
=
[(aa +b)(ba)

(a +bb +) +ab]r
2
+ (aa +b)(ba)

=
[(aa +b)(ba)

(a +bb +) +ab]

(aa +b)(ba)

r
1
= [(aa +b)(ba)

(a +bb +) +ab]

(aa +b)(ba)

+
9. Se dice que una gram atica independiente del contexto es lineal por
la derecha si cada regla tiene como m aximo una variable, y esa vari-
able est a en el extremo derecho. Es decir, todas las producciones
de una gram atica lineal por la derecha son de la forma A B
o A , donde A y B son variables, y una cadena de cero o
m as smbolos terminales. Demostrar que toda gram atica lineal por
la derecha genera un lenguaje regular. Aplicar el razonamiento al
siguiente ejemplo:
A abB | a
B aaB | a
8
a
a
b
a
Z
A B
a a
M etodo:
por cada variable se dibuja un estado
un s olo estado de aceptaci on
por cada regla de la forma A a
1
. . . a
n
B una lista de estados
de la forma
a a
A B
. . .
1
n
por cada regla de la forma A a una transici on
a
A
10. Dados dos lenguajes regulares L
1
y L
2
sobre el mismo alfabeto
, describe un m etodo que permita decidir si existe una cadena
perteneciente a

que no pertenezca a L
1
ni a L
2
.
Si x / L
1
x / L
2
x / L
1
L
2
x L
1
L
2
x L
1
L
2
Existir a alguna cadena en

que no pertenezca a L
1
ni a L
2
si el
lenguaje L
1
L
2
es no vaco.
Un lenguaje es no vaco si el smbolo inicial es util. Si existe un
camino desde el estado inicial a uno de aceptaci on el lenguaje ser a no
vaco.
11. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER (a +c +bb

c)

a +b

a
Para obtener el AFD mnimo correspondiente a (a+c+bb

c)

a+b

a
primero vamos a simplicar la expresi on regular:
(a+c +bb

c)

a+b

a = ((a+c +bb

c)

+)b

a) = (a+c +bb

c)

a =
(a +b

c)

a
9
tenemos que obtener primero un AFI, despu es un AFD y por ultimo
se realiza la minimizaci on.
Un posible AFI para la anterior expresi on regular sera:
5 4
2
3
1

c
b
a

a
b
El AFD correspondiente a este AFI se obtiene de la siguiente manera:
q6
q2
q3
q1
C (1) = {1, 3, 4} = q1
a b c

q4
q5

a
b
c
a
b
c
b
a
c
a
b
c
a, b, c
q1
q2
q3
q4
q5
{1,2,3,4,5} = q2
q2
{5} = q5
q2
{3,4} = 13
q3
q3
q3
{1,2,3,4} = q4
q4
q4
q4
Por ultimo la minimizaci on es:
1 3 4 6 2 5
a 2 2 2 1 2 1
b 1 1 1 1 1 1
c 1 1 1 1 1 1
1 2
1 3 4 2 5 6
a 2 3 2 2 4 4
b 1 1 1 1 4 4
c 1 1 1 1 4 4
1 2 3 4
1 4 3 2 5 6
a 3 3 4 3 5 5
b 2 2 2 2 5 5
c 1 1 1 1 5 5
1 2 3 4 5 q2
q3 q1
q4
q5
a
b
c
a
b
b
a a, b, c
c
c
a, b, c
12. Dada la gram atica
S AACD | BCD | aB
A aAb |
B bB | ABa
10
C aC |a
D aDa |bDb |
encuentra una gram atica equivalente en forma normal de Chom-
sky.
Para obtener la forma normal de Chomsky debemos simplicar primero
la gram atica.
1) Eliminaci on de producciones vacas:
S AACD|ACD|CD|AAC|AC|C|BCD|BC|aB
A aAb|ab
B bB|ABa|Ba
C aC|a
D aDa|aa|bDb|bb
2) Eliminaci on de producciones unitarias:
S AACD|ACD|CD|AAC|AC|aC|a|BCD|BC|aB
A aAb|ab
B bB|ABa|Ba
C aC|a
D aDa|aa|bDb|bb
3) Eliminaci on de smbolos in utiles:
S AACD|ACD|CD|AAC|AC|aC|a
A aAb|ab
C aC|a
D aDa|aa|bDb|bb
4) Como la gram atica ya est a simplicada, la pasamos a forma nor-
mal de Chomsky:
S AY
ACD
|AY
CD
|CD|AY
AC
|AC|X
a
C|a
A X
a
Y
Ab
|X
a
X
b
C X
a
C|a
D X
a
Y
Da
|X
a
X
a
|X
b
Y
Db
|X
b
X
b
Y
ACD
AY
CD
Y
CD
CD
Y
AC
AC
Y
Ab
AX
b
Y
Da
DX
a
11
Y
Db
DX
b
X
a
a
X
b
b
13. Construye una m aquina de Mealy que, para una cadena binaria de
entrada, produzca como salida:
a) una a si ninguno de los dos ultimos smbolos ledos es un 1;
b) una b si uno de los dos ultimos smbolos ledos es un 1;
c) la cadena vaca en otro caso.
As , por ejemplo, la salida correspondiente a la entrada 01101001
sera bbbbab (= bbbbab). Encuentra la m aquina de Moore equiva-
lente.
Las m aquinas de Mealy y de Moore son las siguientes:
0/
1/
0/a
1/b
0/b
1/
0
1
0
1
0
1
0
1
0
1 0
1
0
1

a
b
b

Mquina de Mealy Mquina de Moore


*
*
los estados marcados con *
son equivalentes
14. Sea L
1
= {x
n
y
m
| 1 < n m 2n} y sea L
2
el lenguaje generado
por la gram atica:
S A
A xAy | B
B xByy |
Se cumple que:
12
a)L
1
= L
2
c)L
1
L
2
b)L
2
L
1
d) Ninguna de las anteriores
Justica la respuesta.
La opci on correcta es c), es decir L
1
L
2
.
La gram atica genera, adem as de las cadenas , xy y xyy, cualquier
cadena x
n
y
m
del lenguaje L
1
aplicando 2nmveces la regla A xAy
y mn veces la regla B xByy.
15. Dado un lenguaje L, denimos L

como el lenguaje formado por


todas las cadenas de L cuya inversa tambi en pertenece a L, es decir,
L

= {x L | x
R
L}.
Justica que si L es regular, entonces L

tambi en lo es. Aplica el


razonamiento al lenguaje aceptado por el siguiente aut omata:
0
0,1
Si L es regular, L

tambi en lo es, ya que L

= L L
R
.
Aplicando este razonamiento al ejemplo del enunciado tenemos:
0
0,1
0
0,1
M(L)
M(L )
R
interseccin
0
0
1
0,1
1
0
1
16. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER
((00 + 1)

(11 + 0)

+)

(1 + 0)
Para obtener el AFD mnimo correspondiente a
((00 + 1)

(11 + 0)

+)

(1 + 0)
13
primero vamos a simplicar la expresi on regular:
((00 + 1)

(11 + 0)

+)

(1 + 0) = ((00 + 1)

(11 + 0)

))

(1 + 0) = (00 +
1 + 11 + 0)

(1 + 0) = (1 + 0)

(1 + 0)
donde se han utilizado las siguientes propiedades:
(r +)

= r

(r +s)

= (r

si r

(r +s)

= s

El aut omata mnimo correspondiente es:


q2
q1
0,1
0.1
17. Dada la gram atica regular
S aA |
A aA | aB
B bC | bS
C cB | c
Encuentra el AFD mnimo y una ER para el lenguaje generado por
ella.
El AFI que se obtiene a partir de esta gram atica es:
a
a
b
a
c
c
S A B C Z
b
El AFD correspondiente:
a
a
b
a
a
c
1 2 3 4 5
b
14
El aut omata mnimo es el mismo que el AFD.
Las ecuaciones que nos permitir an encontrar una expresi on regular
a partir de este aut omata son:
r
1
= ar
2
+
r
2
= ar
3
r
3
= ar
3
+br
4
r
4
= ar
2
+cr
5
+
r
5
= br
4
+
que nos d a lugar a la siguiente expresi on regular:
r
1
= aa(a +b(cb)

aa)

(b(cb)

c +b(cb)

) +
18. La siguiente gram atica genera un lenguaje regular (de hecho, este
tipo de gram aticas se denominangram aticas regulares por la izquier-
da). Encuentra un AFI que reconozca el lenguaje inverso al gener-
ado por la gram atica.
S Ab | Ba
A Ca
B Fb
C Ca | Db
D Eb
E a
F Fb | Ga
G Ha
H Ka
K b
Una gram atica regular por la izquierda genera las cadenas de derecha
a izquierda. As, por ejemplo,
S Ab Cab Dbab Ebbab abbab
Para generar el lenguaje inverso unicamente hay que invertir las re-
glas de la gram atica
S bA|aB
A aC
B bF
C aC|bD
D bE
E a
F bF|aG
15
G aH
H aK
K b
y obtenemos el AFI por el m etodo usual
a
a
b
b
a
S
A D E Z
b
b
a a a
B F G
C
K H
b
a
b
19. Justica si son ciertas o falsas las siguientes armaciones:
a) Si L

es regular, entonces L es regular.


b) Si L L

es regular, entonces L y L

son regulares.
c) Dados los lenguajes L
1
= {a
n
| n > 0} y L
2
= {b
n
| n > 0}, el
lenguaje L
1
L
2
es regular.
a) Falso, L

regular L regular. Pongamos un contraejemplo:


Cualquier lenguaje no regular que contenga los smbolos del
alfabeto (por ejemplo, las cadenas cuya longitud es un cuadrado
perfecto o un n umero primo) tiene como clausura el lenguaje
universal, que es regular.
b) Falso, L L

regular L y L regular.
Ejemplo:
L = { cadenas capic ua } y L = { cadenas no capic ua }
L L

regular, donde L y L no son regulares.


Otro ejemplo: la uni on de cualquier lenguaje no regular con el
lenguaje universal es el lenguaje universal (que es regular).
c) Cierto, L
1
L
2
= {a
n
b
m
|n > 0 y m > 0} = L(a
+
b
+
) regular.
20. Encuentra una gram atica en forma normalizada de Greibach para
el lenguaje L = { a
n
b
m
c
p
a
q
b
n
| q = p +m, n, m 1, p 0}.
S aSb|aAb
A bAa|bBa
16
B cBa|
Despu es de simplicar la gram atica, la gram atica en forma normal
de Greibach (no ha sido necesario aplicar el m etodo de eliminaci on
de la recursi on por la izquierda) es la siguiente:
S aSB

|aAB

A bAA

|bBA

|bA

B cBA

|cA

a
B

b
21. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER ((a

+ab)

+ (aba)

Un AFI para esta expresi on regular es el siguiente:


1
6
5
4
2
a
b

3
a

7 8 9
a b a

El paso a AFD:
q2
q5
q1
C (1) = {1, 2, 3, 5, 6} = q1
a b q4
q3

a
b
a
b
a, b
a
a b
b
q1
q2
q3
q4
{1,2,3,4,5,6,7} = q2
q2
{1,2,3,4,5,6,7,9} = q4
q2
{1,2,3,5,6,8} =q3
q3
17
Por ultimo el aut omata mnimo se obtiene de la siguiente forma:

a
b

1 2
a
b
a
a, b
b
5
1
1
1 2 3 4
2 2 2 2
1 2 1 2

a
b

1 2 3
5
1
1
1 3
3 3
1 1
2 4
3 3
2 2
22. Dada la gram atica
S AB | BE | 0 | 1
A CB | CA | 0
B BE | 1
C 0
E 1
Encuentra todos los arboles de derivaci on (si los hay) de la cadena
00111 utilizando el algoritmo de Cocke, Younger y Kasami.
18
S -> 0 S -> 0 S -> 1 S -> 1 S -> 1
A -> 0 A -> 0 B -> 1 B -> 1 B -> 1
C -> 0 C -> 0 E -> 1 E -> 1 E -> 1
A -> CA S -> AB S -> BE S -> BE
A -> CB B -> BE B -> BE
A -> CA S -> AB S -> BE
S -> AB A -> CB B -> BE
A -> CA S -> AB
S -> AB A -> CB
A -> CA
S -> AB
S
A B
C A B E
0 0 1
B E
1 1
S
A B
C A B E
0 1 C B 1
1 0
S
A B
C A
0 C B
0
B E
1 1
1
23. Encuentra una gram atica en forma normal de Greibach equiva-
lente a la gram atica
S aB | AC
A aAb | bAa | a |
B bbA | aaB | AB
C abCa | aDb
D bD | aC
Para obtener la forma normal de Greibach debemos simplicar y eli-
minar la recursi on por la izquierda de la gram atica.
1) Eliminaci on de producciones vacas:
S aB | AC | C
A aAb | ab | bAa | ba | a
19
B bbA | bb | aaB | AB
C abCa | aDb
D bD | aC
2) Eliminaci on de producciones unitarias:
S aB | AC | abCa | aDb
A aAb | ab | bAa | ba | a
B bbA | bb | aaB | AB
C abCa | aDb
D bD | aC
3) Eliminaci on de smbolos in utiles:
S aB
A aAb | ab | bAa | ba | a
B bbA | bb | aaB | AB
No hay recursi on por la izquierda, pasamos directamente a FNG:
S aB
A aAX
b
| aX
b
| bAX
a
| bX
a
| a
B bX
b
A | X
b
b | aX
a
B | aAX
b
B | aX
b
B | bAX
a
B | bX
a
B | aB
X
a
a
X
b
b
24. Se puede demostrar que las gram aticas en las que todas las reglas
son de la forma V
N
V
N
V
T
o V
N
generan lenguajes regulares.
Encuentra una gram atica equivalente a
S S1 | A0
A B1 | S0
B B0 | A1 |
tal que sus reglas sean de la forma V
N
V
T
V
N
o V
N
.
Ayuda: encuentra previamente un aut omata nito o una expresion
regular equivalente a la gram atica de partida.
0
1
1
1
0
0
B A S
La gram atica que nos piden ser a:
20
B 0B | 1A
A 0S | 1B
S 0A | 1S |
25. Dado un lenguaje regular L, denimos el lenguaje:
MIN(L) = {x L | ning un prejo propio de x L}
Nota: un prejo es propio si es distinto de la propia cadena.
Construye un aut omata nito para MIN(L) si L es el lenguaje acep-
tado por el siguiente aut omata:
0
0
0
1
1
1
Hay que eliminar todas las transiciones que parten de los estados de
aceptaci on. En el ejemplo:
0
1
26. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la ER
((11

+ 1

01((01)

+ 1)

Primero vamos a simplicar la expresi on regular:


((11

+ 1

01((01)

+ 1)

= ((1

01((01)

+ 1)

=
(1

01((01)

+ 1)

= (1 + 1)

01((01)

+ 1)

= 1

01((01)

+ 1)

Un posible AFI para la anterior expresi on regular sera:


21
6
5
1
10
4 3
1
0
1
1

2
9
7
0
1
8

La obtenci on del AFD correspondiente al anterior AFI se obtiene de


la siguiente manera:
q4
q3
q1
C (1) = {1} = q1
0 1

q2
q5

1
q1
q2
q3
q4
q5
q6
{2} = q2
{8} = q4
q4
q4
{1} = q1
{3,4,5,6,7,10} = q3
{4,5,6,7,10} = q5
{4,5,6,7,9,10} = q6
q5
q5
0 1
q5
0
1
1
0
0
1
1
Por ultimo la minimizaci on es:
1 2 4 3 5 6
0 1 1 1 1
1 1 2 2 2 2 2
1 2
1 2 4 3 5 6
0 2 2 2 2
1 1 3 3 3 3 3
1 2 3
q1 q2
q3
1
0 1
1

0
27. Encuentra una m aquina de Mealy que emita una a si la diferen-
cia entre el n umero de ceros y el n umero de unos ledos hasta el
momento es un m ultiplo de 3, una b si esta diferencia es 1 (m odu-
lo 3) y una c si es 2 (m odulo 3). Encuentra la m aquina de Moore
equivalente con el mnimo n umero posible de estados.
22
1/
2/b
3/c
0
1
1
0
1/a
0
1

Mealy
Moore mnimo
1/c
0/b
1/a
0/c
0/a
1/b
1
0
28. Dada la gram atica G
S 0S1 | A | AB
A 1A0 | S |
B 0B | 1C
C 0C | 0 |
D 0C | 1D | F
F 1F |
encuentra una gram atica en forma normalizada de Chomsky para
el lenguaje L(G) {}.
1) Eliminaci on de producciones vacas:
V

= {A, C, F, S, D}
S 0S1 | 01 | A | AB | B
A 1A0 | 10 | S
B 0B | 1C | 1
C 0C | 0
D 0C | 0 | 1D | 1| F
F 1F | 1
2) Eliminaci on de producciones unitarias:
S 0S1 | 01 | 1A0 | 10 | AB | 0B | 1C | 1
A 0S1 | 01 | 1A0 | 10 | AB | 0B | 1C | 1
B 0B | 1C | 1
C 0C | 0
D 0C | 0 | 1D | 1| 1F
F 1F | 1
23
3) Eliminaci on de smbolos in utiles: todos producen terminales pero
D y F son inalcanzables. La gram atica queda de la siguiente forma:
S 0S1 | 01 | 1A0 | 10 | AB | 0B | 1C | 1
A 0S1 | 01 | 1A0 | 10 | AB | 0B | 1C | 1
B 0B | 1C | 1
C 0C | 0
Forma normal de Chomsky:
S Z
0
Y
S1
| Z
0
Z
1
| Z
1
Y
A0
| Z
1
Z
0
| AB | Z
0
B | Z
1
C | 1
A Z
0
Y
S1
| Z
0
Z
1
| Z
1
Y
A0
| Z
1
Z
0
| AB | Z
0
B | Z
1
C | 1
B Z
0
B | Z
1
C | 1
C Z
0
C | 0
Z
0
0
Z
1
1
Y
S1
SZ
1
Y
A0
AZ
0
29. Cu ales de las siguientes identidades son ciertas? Justifcalo.
a) (La
1
) a = L
b) a(a
1
L) = L
c) (La) a
1
= L
d) a
1
(aL) = L
a) Falso. Contraejemplo: L = {ab, aa} La
1
= {a} y (La
1
)a =
{aa} = L
b) Falso. Contraejemplo: L = {ba, aa} a
1
L = {a} y (a
1
L)a =
{aa} = L
c) Cierto. (La)a
1
= L(aa
1
) = L = L
d) Cierto. a
1
(aL) = (a
1
a)L = L = L
30. Dada la gram atica
S A1B
A 0A |
B 0B | 1B |
a) Justica que no es ambigua.
b) Encuentra una gram atica equivalente que s lo sea.
24
a) La variable A genera cero o m as 0s y despu es del primer uno
se puede escribir cualquier cadena. La gram atica reconoce las
cadenas que contienen al menos un 1. Cualquier cadena de este
tipo tiene un unico arbol de derivaci on de la forma:
S
A 1 B
0 A 0 B
0 A 0 B
.
.
.
.
.
.

0 A 0 B
y no hay ninguna otra posibilidad.
b) Una gram atica ambigua equivalente es la siguiente:
S 0S | 1S | 1A
A 0A | 1A |
obtenida a partir del AFI:
0, 1
1
0, 1
tiene para la cadena 011 dos arboles de derivaci on.
31. Sea r = ((a + )(b + ))

a y G = (V
N
= {S}, V
T
= {a, b}, P = {S
aS, S bS, S a}, S). Demuestra que L(r) = L(G).
r = ((a +)(b + ))

a = (ab +a +b +)

a = (ab +a +b)

a = (a +b)

a
25
En esta ultima igualdad estamos utilizando la propiedad siguiente:
r

(r +s)

= s

Por otro lado, a partir de la gram atica se puede obtener el siguiente


AFI:
B
A
a, b
a
A partir de este AFI se puede f acilmente construir el sistema de ecua-
ciones para obtener una expresi on regular:
r
1
= ar
1
+br
1
+ar
2
r
2
=
De aqu tenemos que r
1
= ar
1
+br
1
+a = (a +b)r
1
+a, de donde
r
1
= (a +b)

a
Como ambas expresiones regulares son iguales, el lenguaje que re-
conocen es el mismo.
Existe otra forma de resolver el ejercicio, y consiste en haber obtenido
a partir de la gram atica y de la expresi on regular, los AFI correspon-
dientes. Despu es se puede obtener el AFD y por ultimo el aut omata
mnimo asociado a cada una de las representaciones originales. Si
los dos mnimos coinciden, entonces hemos demostrado que L(r) =
L(G)
32. Encuentra una gram atica para el lenguaje {a
i
b
j
c
k
|i = j j =
k, i, j, k 0}. Encuentra una gram atica equivalente en forma nor-
malizada de Chomsky.
S AB | CD
A aAb |
B cB |
C aC |
D bDc |
Ahora simplicamos la gram atica:
26
a) Eliminaci on de smbolos anulables V
A
= {A, B, C, D, S}.
S AB | CD | A | B | C | D |
A aAb | ab
B cB | c
C aC | a
D bDc | bc
b) Eliminaci on de derivaciones unitarias:
S AB | CD | aAb | ab | cB | c | aC | a | bDc | bc |
A aAb | ab
B cB | c
C aC | a
D bDc | bc
c) Eliminaci on de smbolos in utiles: no hay
Ahora pasamos a Forma Normal de Chomsky:
S AB | CD | X
a
Y
Ab
| X
a
X
b
| X
c
X
B
| c | X
a
C | a | X
b
Y
Dc
| X
b
X
c
|
A X
a
Y
Ab
| X
a
X
b
B X
c
B | c
C X
a
C | a
D X
b
Y
Dc
| X
b
X
c
Y
Ab
AX
b
Y
Dc
DX
c
X
a
a
X
b
b
X
c
c
33. Construye AFD mnimos para las cadenas binarias que se obtienen
al realizar las siguientes operaciones sobre los lenguajes L
1
y L
2
:
a) L
1
L
1
2
b) L
1
2
L
1
donde L
1
y L
2
son los lenguajes denotados por los aut omatas sigu-
ientes:
27
1
0
2
3
1
0
1
0
4 1
0
1
B A
0
1
1
M
1
M
2
Al realizar el cociente por la derecha, el aut omata que obtenemos es
el mismo que M(L
1
) en el que s olo tenemos que decir qu e estados
van a ser de aceptaci on. Un estado q ser a de aceptaci on si existe al-
guna cadena aceptada por M(L
2
) y que a su vez sea aceptada por el
aut omata M(L
1
) tomando q como estado inicial.
Al realizar el cociente por la derecha, el unico estado de aceptaci on
que hay es el 4.
Si minimizamos el aut omata resultado ser a:
2 3 1
1
0
0
1
1
0 1
Al realizar el cociente por la izquierda, el aut omata que obtenemos
es el mismo que M(L
1
) en el que s olo tenemos que decir qu e estaods
van a ser iniciales. Un estado q ser a inicial si existe alguna cadena
aceptada por M(L
2
) y que a su vez sea aceptada por el aut omata
M(L
1
) tomando q como unico estado de aceptaci on.
Al realizar el cociente por la izquierda, los nuevos estados iniciales
ser an el 2 y el 4. El automata es por tanto indeterminista, por lo
que habr a que pasarlo a determinista antes de intentar minimizar.
Al pasar el AFI a AFD, el AFD obtenido ya es mnimo:
28
0
2
1
0
1
0
1
0, 1
0
M
2
1
34. Encuentra un AF que genere las cadenas binarias que contienen la
subcadena 00 pero no la cadena 000. Razona c omo lo has obtenido.
La operaci on a realizar es la intersecci on entre el aut omata M1 que
acepta las cadenas que contienen 00 y el autom ata complementario
del que acepta las cadenas que contienen 000, M2.
CD
1
1
0
0
0
1
0
B C A
1
0
1
0, 1
0
E
G D
1
0
1
0, 1
0
F
0
1
AD BE CF
CE
1
1
M1
M2
M1 - M2
35. Sea la transformaci on f(0) = aba y f(1) = aab. Encuentra un AF
que reconozca las cadenas w {0, 1}

tales que su imagen f(w)


pertenezca al lenguaje representado por el siguiente aut omata ni-
to.
B
A
a
a
b
29
Dado M = {Q, = {a, b}, , q
1
, F}, denimos M

= {Q,

= {0, 1},

, Q
1
, F}.
A partir del aut omata dado, obtenemos el que nos piden deniendo
s olamente la funci on de transici on:

(A, 0) = (A, f(0)) = (A, aba) = B

(A, 1) = (A, f(1)) = (A, aab) = A

(B, 0) = (B, f(0)) = (B, aba) = B

(B, 1) = (B, f(1)) = (B, aab) = A


Es decir, se obtiene el siguiente aut omata:
B
A
0
0
1
1
36. Encuentra el AFD mnimo que reconoce el lenguaje representado
por la expresi on regular (a

+a

aa

(ab +ab

a)

Primero vamos a simplicar la expresi on regular:


Aplicanto (r + s)

= (r

, (a

+ a

= ((a

(a

= ((a +
b)

= ((a +b) +a)

= (a +b)

Por lo que la expresi on queda: (a +b)

aa

(ab +ab

a)

Un posible AFI para la anterior expresi on regular sera:


4
11
1
a
a, b

2
7
5
a
b
6

10
8
a
a
9
b
3

La obtenci on del AFD correspondiente al anterior AFI se obtiene de


la siguiente manera:
Q
1
= C

(1) = {1}

a
(Q
1
) = C

(1, 2) = {1, 2, 3, 4, 5, 8} = Q
2

b
(Q
1
) = Q
1

a
(Q
2
) = C

(1, 2, 6, 9) = {1, 2, 3, 4, 5, 6, 8, 9} = Q
3
30

b
(Q
2
) = Q
1

a
(Q
3
) = C

(1, 2, 6, 9, 10) = {1, 2, 3, 4, 5, 6, 8, 9, 10} = Q


4

b
(Q
3
) = C

(1, 7, 9) = {1, 3, 4, 5, 7, 8, 9, 11} = Q


5

a
(Q
4
) = C

(1, 2, 6, 9, 10) = Q
4

b
(Q
4
) = C

(1, 7, 9) = Q
5

a
(Q
5
) = C

(1, 2, 6, 9, 10) = Q
4

b
(Q
5
) = C

(1, 9) = {1, 9} = Q
6

a
(Q
6
) = C

(1, 2, 10) = {1, 2, 3, 4, 5, 8, 10, 11} = Q


7

b
(Q
6
) = C

(1, 9) = Q
6

a
(Q
7
) = C

(1, 2, 6, 9) = Q
3

b
(Q
7
) = C

(1) = Q
1
Q
1
b
a
a
a
b
a
b
b
b a
b
Q
2
Q
3
Q
5
Q
6
Q
7
Q
4
a
a
b
Por ultimo el aut omata mnimo correspondiente es:
1 6 2 3 4 5 7
a 2 2 2 2 2 2 2
b 1 1 1 2 2 1 1
1 2
q
1
q
2
q
3
b
a
a
a
b
1 6 2 5 7 3 4
a 2 2 3 3 3 3 3
b 1 1 1 1 1 2 2
1 2 3
b
37. Dada la gram atica G:
S AD | BC | BB | a | b
A DC | b
B BB | b
C a
D DS | b
31
a) Determina si la cadena w = bbabba pertenece a L(G) y escribe,
en su caso, alg un arbol de derivaci on de la misma.
b) Escribe tres subcadenas de w que pertenezcan a L(G).
c) Es ambigua la gram atica? Por qu e?
32
S -> b S -> b S -> a S -> b S -> b S -> a
A -> b A -> b C -> a A -> b A -> b C -> a
B -> b B -> b B -> b B -> b
D -> b D -> b D -> b D -> b
S -> AD S -> BC S -> AD S -> BC
S -> BB D -> DS S -> BB D -> DS
B -> BB A -> DC B -> BB A -> DC
D -> DS D -> DS
S -> AD D -> DS S -> AD
D -> DS
(2)
S -> AD D -> DS
(2)
S -> BC S -> BC
A -> DC A -> DC
S -> AD
(2)
D -> DS
D -> DS
(2)
S -> AD
S -> AD S -> AD
D -> DS D -> DS
(3)
A -> DC
S -> AD
(2)
D -> DS
a) L(G)
b)
S
A
D C D S
a D S
b b
S
A D
D C D S
a D S b
b b
S
A D
D S
A D
D S
b a
b
D
D S
b b
a
B C
a b
D S
b a b
. . .
S
A D
D S b
S
B C
b
S
a
a b
a
c) S, existe una cadena con ms de un rbol de derivacin
y hay ms ...
faltan algunas derivaciones ...
38. Pon en forma normal de Greibach la gram atica G = (V
N
, V
T
, P, S)
con V
N
= {S, A, B, C, D}, V
T
= {a, +, } y P:
S A | a +C | a
A S S | aS | B
33
B S +S | D
C a +C | C +A
D S S | aS | a
Simplicaci on de la gram atica:
a) S mbolos anulables: no hay
b) Producciones unitarias:
V
s
= {S, A, B, D} S a +C | a | S S | aS | S +S
V
A
= {A, B, D} A S S | aS | S +S | a
V
B
= {B, D} B S +S | S S | aS | a
C a +C | C +A
D S S | aS | a
c) S mbolos in utiles:
1) Terminales: S, A, B, D eliminar C
2) Inalcanzables: eliminar A, B, D
La gram atica queda: S a | S S | aS | S +S
Eliminaci on de la recursi on por la izquierda
S a | aS | aS

| aSS

S | +S | SS

| +SS

Esta gram atica ya est a en forma normal de Greibach


39. Encuentra una expresi on regular para el reverso L
R
del lenguaje L
aceptado por el aut omata de la gura:
0
1 0
1
1
0
0
1
1
0
1 3
2
4 5
Dos posibles formas de hacerlo son:
a) Obtenemos primero la expresi on regular para el aut omata de la
gura, y despu es invertimos la expresi on regular.
Como los estados 1 y 5 son equivalentes, se agrupan, dando
lugar al siguiente aut omata:
34
0
1 0
1
1
0
1
0
1 3
2
4
El sistema de ecuaciones a partir de este aut omata ser a:
r
1
= 0r
2
+ 1r
3
+ = r
2
+
r
2
= 0r
2
+ 1r
3
r
3
= 0r
4
+1r
3
+ = 0((0+1)r
2
+0)+1r
3
+ = 0(0+1)r
2
+1r
3
+00+
r
4
= 0r
1
+ 1r
2
= 0(r
2
+) + 1r
2
= (0 + 1)r
2
+ 0
r
3
= 1

(0(0 + 1)r
2
+ 00 +)
r
2
= 0r
2
+11

(0(0+1)r
2
+00+) = (0+11

0(0+1))r
2
+11

(00+) =
(0 + 11

0(0 + 1))

11

(00 +)
r
1
= (0 + 11

0(0 + 1))

11

(00 +) +
La expresi on regular para el lenguaje reverso ser a:
r
R
= (00 +)1

1(0 + (0 + 1)01

1)

+
b) Obtenemos primero el aut omata inverso al de la gura, y de-
spu es obtenemos la expresi on regular.
Para obtener el aut omata que reconoce el lenguaje reverso del
de la gura, tenemos que cambiar el sentido de los arcos, todos
los estados de aceptaci on hacerlos iniciales, y el estado inicial
hacerlo de aceptaci on. El aut omata que nos queda es el sigu-
iente:
0
1 0
1
1
0
1
0
1
3
2
4
35
El sistema de ecuaciones a partir de este aut omata ser a:
r
1
= 0r
4
+
r
2
= 0r
2
+ 0r
1
+ 1r
4
r
3
= 1r
1
+ 1r
2
+ 1r
3
r
4
= 0r
3
r
1
= 00r
3
+
r
2
= 0r
2
+0r
1
+10r
3
= 0r
2
+000r
3
+0+10r
3
= 0r
2
+(000+10)r
3
+0
r
2
= 0

((000 + 10)r
3
+ 0)
r
3
= 1r
1
+1r
2
+1r
3
= 100r
3
+1 +10

(000 +10)r
3
+10

0 +1r
3
=
(100 + 10

(000 + 10) + 1)r


3
+ (1 + 10

0)
r
3
= (100 + 10

(000 + 10) + 1)

(1 + 10

0)
La expresi on regular que buscamos es:
r
1
+r
3
= + (00 +)(100 + 10

(000 + 10) + 1)

(1 + 10

0)
40. El cociente por la izquierda a
1
L entre un smbolo a y un lengua-
je L es llamado a veces derivada y se escribe
dL
da
. Estas derivadas se
aplican a expresiones regulares de forma similar a como se aplica la
derivada com un de las operaciones aritm eticas. Por lo tanto, si r es
una expresi on regular,
dr
da
representar a lo mismo que
dL(r)
da
.
Encuentra las reglas de derivaci on para las operaciones de uni on, con-
catenaci on y clausura de expresiones regulares.
a)
d(r+s)
da
= a
1
(L(r) +L(s)) = a
1
L(r) +a
1
L(s) =
d(r)
da
+
d(s)
da
b)
d(rs)
da
= a
1
(L(r)L(s)) =

(a
1
L(r))L(s) si / L(r)
(a
1
L(r))L(s) +a
1
L(s) si L(r)
Por lo tanto,
d(rs)
da
=

dr
da
s si / L(r)
dr
da
s +
ds
da
si L(r)
c)
d(r

)
da
=
d(rr

)
da
+
d
da
=

dr
da
r

si / L(r)
dr
da
r

+
dr

da
si L(r)
36
donde
d
da
=
y teniendo en cuenta que si s = tr

+s s = tr

,
de r = tr +s = t

s
se tiene que:
d(r

)
da
=
dr
da
r

41. Encuentra el AFD mnimo que reconoce el lenguaje representado


por la expresi on regular ((01)

0)

(0

1 + 1)

Primero vamos a simplicar la expresi on regular. Aplicando:


r s (r+s)

= s

, la expresi on regular queda como ((01)

0)

(0

1)

Un posible AFI para la anterior expresi on regular sera:


1

2
7
5
0
6

8
9 3
0
4
1
0
1

La obtenci on del AFD correspondiente al anterior AFI se obtiene de


la siguiente manera:
Q
1
= C

({1}) = {1, 2, 5, 7, 8}

0
(Q
1
) = C

({3, 6, 8}) = {3, 6, 1, 2, 5, 7, 8} = Q


2

1
(Q
1
) = C

({9}) = {9, 7, 8} = Q
3

0
(Q
2
) = C

({3, 6, 8}) = Q
2

1
(Q
2
) = C

({4, 9}) = {4, 2, 5, 9, 7, 8} = Q


4

0
(Q
3
) = C

({8}) = {8} = Q
5

1
(Q
3
) = C

({9}) = Q
3

0
(Q
4
) = C

({3, 6, 8}) = Q
2

1
(Q
4
) = C

({9}) = Q
3

0
(Q
5
) = C

({8}) = Q
5

1
(Q
5
) = C

({9}) = Q
3
Q
1
0
1
0
0
Q
2
Q
3
Q
5
Q
4
1
1
0
0
1
1
37
Por ultimo el aut omata mnimo correspondiente es:
Q
1
0
1
0
0
Q
2
Q
3
Q
4
1
1
0
1
42. Sea la gram atica G = (V, T, P, S) con V = {S, A, B}, T = {a, b, c} y
P =

S aA|bB|cS|
A aA|bB|cS
B aA|bB|cS

y la m aquina de Mealy M = (Q, , , , , q


I
) con Q = {1, 2, 3}, =
{1, 2, 3}, = {a, b, c} q
I
= 1, con denida por
q Q (q, 1) = 1, (q, 2) = 2, (q, 3) = 3
y denida como sigue:
q (q, 1) (q, 2) (q, 3)
1 a c b
2 c b a
3 b a c
Escribe un aut omata nito determinista que acepte el lenguaje L
de las cadenas de

= {1, 2, 3}

que, procesadas por la m aquina M


producen cadenas generadas por la gram atica G.
La gram atica G se puede convertir inmediatamente en un aut oma-
ta nito M
G
= (V, T,
G
, S, {S}) que resulta ser determinista, con la
funci on denida como sigue para todo q V :

G
(q, a) = A

G
(q, b) = B

G
(q, c) = S
.
El aut omata que acepta el lenguaje L ejecuta simult aneamente los
aut omatas M y M
G
; por tanto, sus estados son pares de estados del
38
producto cartesiano de Q y V , ya que, en principio, ambas m aquinas
se pueden encontrar en cualquier estado independientemente. La
m aquina compuesta (un DFA) queda denida como sigue:
M
L
= (Q
L
, ,
L
, q
L
I
, F
L
)
con Q
L
= Q V , q
L
I
= (q
I
, S), F
L
= Q {S} y
L
denido como
sigue:
(q, r) Q
L
,
L
((q, r), ) = ((q, ),
G
(r, (q, )));
es decir, el DFA resultante tiene la siguiente tabla de transiciones
q
L

L
(q
L
, 1)
L
(q
L
, 2)
L
(q
L
, 3)
(1, S) (1, A) (2, S) (3, B)
(2, S) (1, S) (2, B) (3, A)
(3, S) (1, B) (2, A) (3, S)
(1, A) (1, A) (2, S) (3, B)
(2, A) (1, S) (2, B) (3, A)
(3, A) (1, B) (2, A) (3, S)
(1, B) (1, A) (2, S) (3, B)
(2, B) (1, S) (2, B) (3, A)
(3, B) (1, B) (2, A) (3, S)
43. Pon en forma normal de Chomsky la gram atica G = (V
N
, V
T
, P, S)
con V
N
= {A, B, C, D, E, F}, V
T
= {a, b, c, d} y
P =

A AaCb | CC | B
B aC | DF | b
C cC |
D DEd
E ED
F d

Simplicaci on de la gram atica:


a) S mbolos anulables: {A, C}
A AaCb | aCb | Aab | ab | CC | C | B |
B aC | DF | a | b
C cC | c
D DEd
E ED
F d
39
b) Producciones unitarias:
A AaCb | aCb | Aab | ab | CC | cC | c | aC | DF | a | b |
B aC | DF | a | b
C cC | c
D DEd
E ED
F d
c) S mbolos in utiles:
1) Terminales: {A, B, C, F} eliminar {D, E}
2) Accesibles: {a, b, c, A, C} eliminar {B, F}
La gram atica queda:
A AaCb | aCb | Aab | ab | CC | cC | c | aC | a | b |
C cC | c
Forma Normal de Chomsky
A X
Aa
X
Cb
| X
a
X
Cb
| X
Aa
X
b
| X
a
X
b
| CC | X
c
C | c | X
a
C | a | b |
C X
c
C | c
X
Aa
AX
a
X
Cb
CX
b
X
a
a
X
b
b
X
c
c
44. Justica brevemente si son ciertas o falsas las siguientes arma-
ciones:
a) Una gram atica regular puede considerarse como una gram atica
independiente del contexto expresada en forma normal de Chom-
sky.
Falso. La forma normal de Chomsky no puede tener reglas del
tipo B aC
b) Las expresiones regulares (a

b)

y a

(ba

b son equivalentes.
Falso. La segunda expresi on no acepta la cadena vaca.
40
c) Si L es un lenguaje denido a partir de un alfabeto que
contiene un solo smbolo, L es necesariamente un lenguaje
regular.
Falso. El lenguaje formado por las cadenas de un smbolo cuya
longitud es un n umero primo, no es regular.
d) Para todo aut omata nito existe una longitud m axima tal que
las cadenas que acepta el aut omata nunca exceden dicha lon-
gitud.
Falso. Las cadenas han de ser de longitud nita, pero en general
no existe una longitud m axima.
45. Dados dos lenguajes L y L

, denimos el lenguaje suf


L
(L) como el
conjunto de sujos de L que pertenecen al lenguaje L

, es decir,
suf
L
(L) = {y L

: x

, xy L}.
a) Justicar que si L y L

son regulares, entonces, suf


L
(L) tam-
bi en lo es.
b) Aplicar el razonamiento para encontrar un AFI que reconozca
suf
L
(L) si L = L

= L(0(01)

)
Soluci on:
a) Se trata de encontrar las cadenas y L

que son sujo de algu-


na cadena de L: Las cadenas buscadas estar an en la uni on de las
y x
y
M(L)
M(L)
intersecciones de L

con los lenguajes que se obtienen movien-


do los estados iniciales del aut omata que reconoce L. Ya que
los lenguajes regulares son cerrados bajo estas operaciones, el
lenguaje suf
L
(L) es regular.
b) Como se puede observar en la gura, la soluci on es id entica al
aut omata de partida, esto es, 0(01)

46. Realiza las siguientes operaciones:


41
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1

=
=
=
0
0
1

a) Encuentra un AFI para la expresi on regular: ((01+1)

(10+0)

(10 + 01). Si simplicas previamente la expresi on, indica


qu e propiedades has utilizado.
Teniendo en cuenta que:

=
(r +)

= r

la primera parte de la expresi on queda:


((01 + 1)

(10 + 0)

= ((01 + 1)

(10 + 0)

+ )

= ((01 +
1)

(10 + 0)

Usando tambi en las siguientes propiedades:


(r

= (r +s)

(r +s)

= r

nos queda (1 + 0)

.
La expresi on nal queda entonces como (1 + 0)

(10 + 01).
Un AFI para esta expresi on podra ser el siguiente:
0,1
1
0
0
1
b) Dado el AFI de la gura, encuentra un AFD equivalente.
1
2
4
0
1

5 6 3
1
0
0

1
42
C

(1) = {1, 4} = Q
1
(Q
1
, 0) = C

({3}) = {3} = Q
2
(Q
1
, 1) = C

({2, 5}) = {1, 2, 4, 5} = Q


3
(Q
2
, 0) = C

({1}) = {1, 4} = Q
1
(Q
2
, 1) =
(Q
3
, 0) = C

({3, 6}) = {3, 4, 6} = Q


4
(Q
3
, 1) = C

({2, 5}) = Q
3
(Q
4
, 0) = C

({1}) = Q
1
(Q
4
, 1) = C

({5}) = {5} = Q
5
(Q
5
, 0) = C

({6}) = {4, 6} = Q
6
(Q
5
, 1) = C

({5}) = Q
5
(Q
6
, 0) =
(Q
6
, 1) = C

({5}) = Q
5
A nadiremos un estado Q
7
como estado de absorci on. El AFD
que se obtiene por lo tanto es:
1
0
1
2
6
4
0
3
1
0
5
7
1
0
1
0
0
1
1
0,1
c) Dado el AFD de la gura, encuentra un AFD mnimo equiva-
lente.
1
0 1
2 6 4
1
1
0
1
3
1
0
5 8 7
1
0
0
1
0
0
0,1
C1 C2
1 2 3 4 5 6 7 8
0 1 1 1 2 2 2 2 2
1 1 2 1 2 2 1 2 2
43
C1 C2 C3 C4
1 3 2 4 5 7 8 6
0 2 1 1 3 3 3 3 3
1 1 1 3 4 3 3 4 2
C1 C2 C3 C4 C5 C6
1 2 3 4 8 5 7 6
0 2 3 3 5 5 5 5 5
1 3 4 3 6 6 4 4 2
El aut omata mnimo, es por tanto:
1
0 1
2 6 4
1
1
0
1
3
1
5
0
0
0
0,1
47. Decide si son verdaderas o falsas las siguientes armaciones. Jus-
tica brevemente la respuesta.
a) (AB)B
1
= A. Falso.
Contraejemplo: A = {a}, B = {, b, bb}, (AB)B
1
= {a, ab, abb} =
A
b) Un lenguaje regular se puede representar por una gram atica
ambigua. Verdadero. Por ejemplo, (0+1)

es regular; una gram atica


ambigua para este lenguaje sera:
S 0S| 0A| 1S|
A 0A| 1A|
S
`
`

0 S

S
`
`

0 A

c) Dado un conjunto regular, cualquier subconjunto del mismo


ser a regular. Falso. Por ejemplo, (0+1)

es regular, y existen mu-


chos subconjuntos del mismo que no lo son. Ejemplo: {0
n
1
n
}
(0 + 1)

.
44
d) La cadena aabbbbbba pertenece a la clausura de Kleene de
{a, bb}. Verdadero. Esta cadena se puede obtener concatenando
la siguiente secuencia de cadenas: a, a, bb, bb, bb, a.
48. Dada la siguiente gram atica G:
S aSA |
A bA|
a) Demuestra que G es ambigua. Podemos encontrar m as de un
arbol de derivaci on para la cadena aab
S
-
-
-
-
-

.
.
.
.
.
a S

/
/
>
>
>
a S

A
`
`

b A

S
-
-
-
--

.
.
.
. .
a S

.
.
a S

A
`
`

b A

b) Da una expresi on regular para L(G).


A partir del smbolo A, obtenemos el lenguaje b

que, susti-
tuy endolo en S, nos permite obtener una expresi on regular para
el lenguaje +aa

c) Construye una gram atica no ambigua que genere el mismo


lenguaje. A partir del AFD mnimo que se obtiene de la expre-
si on regular anterior, se obtiene f acilmente esta gram atica:
S > aA|
A > aA| bB|
B > bB|
49. Escribe una gram atica en forma normal de Chomsky para el lengua-
je L = {w : w = a
n
b
2n
c
k
w = a
k
b
n
c
2n
: n, k 0}.
Soluci on: Primero escribimos la gram atica:
S AB | CD
A aAbb |
B cB |
C aC |
D bDcc |
45
donde A representa el lenguaje {a
n
b
2n
: n 0}, B el lenguaje {c
k
:
k 0}, C el lenguaje {a
k
: k 0} y D el lenguaje {b
n
c
2n
: n 0}.
Ahora, tenemos que pasarla a forma normal de Chomsky para poder
usar el algoritmo de Cocke, Younger y Kasami.
Primero quitamos las producciones nulas:
S AB | A | B | CD | C | D |
A aAbb | abb
B cB | c
C aC | a
D bDcc | bcc
Despu es, eliminamos las producciones unitarias:
S AB | aAbb | abb | cB | c | CD | aC | a | bDcc | bcc |
A aAbb | abb
B cB | c
C aC | a
D bDcc | bcc
Finalmente habra que eliminar los smbolos in utiles, pero como no
hay, podemos pasar directamente la gram atica a la forma de Chom-
sky.
S AB | X
a
X
Abb
| X
a
X
bb
| X
c
B | c | CD | X
a
C | a | X
b
X
Dcc
| X
b
X
cc
|
A X
a
X
Abb
| X
a
X
bb
B X
c
B | c
C X
a
C | a
D X
b
X
Dcc
| X
b
X
cc
X
a
a
X
Abb
AX
bb
X
bb
X
b
X
b
X
b
b
X
c
c
X
Dcc
DX
cc
X
cc
X
c
X
c
50. Dado un lenguaje L, denimos L

= {y

: x L, xy L}.
Es decir, L

est a formado por aquellas cadenas que concatenadas a


cadenas de L, tambi en pertenecen a L.
46
a) Encuentra una expresi on regular que represente al lenguaje L

si L es el lenguaje reconocido por el aut omata


a
b
a
b
b
a
1 2 3
b) A la vista del apartado anterior, justica, para cualquier L, que
si L es regular, entonces L

tambi en lo es.
a) Buscamos cadenas que concatenadas con cadenas de L nos den
una cadena que tambi en est e en L. Estas cadenas son las que
empezando en alg un estado de aceptaci on de M(L) acaben tam-
bi en en un estado de aceptaci on de M(L). Una expresi on regu-
lar para dichas cadenas se puede encontrar resolviendo el sis-
tema de ecuaciones regulares del aut omata para los estados de
aceptaci on en lugar de para los estados iniciales. Puesto que ex-
iste una expresi on regular que reconoce el lenguaje L

, este es
regular.
Procediendo seg un lo indicado se obtiene:

r
1
= ar
1
+br
2
+
r
2
= ar
1
+br
3
r
3
= ar
1
+br
3
+
y la expresi on regular buscada es r
1
+r
3
. Despejando:
r
3
= b

(ar
1
+)
r
2
= ar
1
+bb

(ar
1
+)
= (a +bb

a)r
1
+bb

r
1
= ar
1
+b((a +bb

a)r
1
+bb

) +
= (a +ba +bbb

a)r
1
+bbb

+
= (a +ba +bbb

a)

(bbb

+)
r
1
+r
3
= ( +b

a)r
1
+b

= ( +b

a)(a +ba +bbb

a)

(bbb

+) +b

b) La justicaci on se ha realizado al comienzo del apartado anteri-


or.
47
51. Sea L
1
= L(a(a + b)

) y L
2
= L((a + b)

a). Escribe el AFD mnimo


que acepte exactamente todas aquellas cadenas que pertenecen a
L
1
y no a L
2
o que pertenecen a L
2
y no a L
1
y ninguna cadena m as.
Lo que nos est an preguntando es la diferencia sim etrica entre L
1
y
L
2
, es decir L
1
L
2
= (L
1
L
2
) (L
1
L
2
).
Vamos a presentar dos formas de resolver este problema: en la primera
calcularamos L
1
L
2
y L
1
L
2
por separado (realizando el producto
cartesiano y despu es deniendo los estados de aceptaci on). Por ulti-
mo se realiza la uni on de los dos aut omatas obtenidos con un nuevo
producto cartesiano.
a, b
b
a
0 1
L
1
a, b
2
a, b
b
a
3 4
a, b
5
a, b
a
L
2
AFI
b
b
a
a
6 7
AFD
AFD
b
b
a
a
8 9
L
1
L
2
L
1
L
2 L
1
L
2
b
a
a
b
a
a, b
b
08 19
28
18
a
b
b
a
b
a, b
a
36 56
47
57
Si volvemos a realizar un producto cartesiano para obtener la unin de estos dos autmatas obtenemos:
b
a
a
b
a
b
b
a
a
b
que ya es mnimo
La segunda soluci on, mucho m as sencilla y r apida, se obtiene real-
48
izando un unico producto cartesiano de los aut omatas que recono-
cen los lenguajes. Por ultimo, s olo hay que denir los estados de
aceptaci on de la diferencia sim etrica. El resultado es directamente
el aut omata de la soluci on anterior.
Si M(L
1
) = (Q
[1]
, ,
[1]
, q
[1]
I
, F
[1]
) y M(L
2
) = (Q
[2]
, ,
[2]
, q
[2]
I
, F
[2]
)
denimos el aut omata que acepta la diferencia sim etrica como
M(L) = (Q, , , (q
[1]
I
, q
I
[2]), F)
donde
Q = Q
[1]
Q
[2]
((p, q), a) = (
[1]
(p, a),
[2]
(q, a)), con p Q
[1]
, q Q
[2]
, a
F = {(q
1
, q
2
) Q)} que cumple
F = F
[1]
(Q
[2]
F
[2]
) (Q
[1]
F
[1]
) F
[2]
52. Construye una m aquina de Mealy que calcule el cociente de una
cadena num erica binaria por 4. Por ejemplo, si la cadena de entrada
es 1001 la de salida ser a 0010.
0/0
0/0
1/1
1/0
1/1
0/1
1/0
0/1
53. Dada la gram atica
S AC | AA | BD | BB | a | b
A a
B b
C SA
D SB
Encuentra todos los arboles de derivaci on (si los hay) de la ca-
dena ababb utilizando el algoritmo de Cocke, Younger y Kasa-
mi.
Encuentra todas las subcadenas de la cadena anterior que pertenez-
can al lenguaje generado por la gram atica junto con sus arboles
de derivaci on.
49
a b a b b
S -> a
A-> a
B -> b
S -> b
S -> a
A-> a
B -> b
S -> b
B -> b
S -> b
D -> SB D -> SB C -> SA S -> BB
D -> SB
S -> AC S -> BD
D -> SB D -> SB

Como se puede ver en la tabla anterior, la cadena ababb no pertenece


al lenguaje generado por la gram atica. Las subcadenas de ababb que
s pertenecen son: a, b, bb, aba, bab, cuyos arboles de derivaci on son
los siguientes:
S
a
S
b
S
`
`

b b
S
`
`

A
a
C
`
`

S
b
A
a
S
`
`

B
b
D
`
`

S
a
B
b
54. El lenguaje generado por la siguiente gram atica es:
S aABb
A aBC | bBc
B bc |
C aB | abc
regular
independiente del contexto, no regular
Justica la respuesta.
Si sustituimos las derivaciones del smbolo B en C, las de B y C en
A, y las de A y C en S, obtenemos un conjunto nito de cadenas.
Al sustituir B en C tenemos:
50
C abc| a
Al sustituir B y C en A tenemos:
A abcabc| abca| aabc| aa| bbcc| bc
Y por ultimo la sustituci on de A y B en S nos d a un n umero nito de
cadenas, concretamente 10:
S aabcabcbcb| aabcabcb| aaabcbcb| aaabcb| abbccbcb
| abcbcb| aabcab| aaab| abbccb| abcb
Como el n umero de cadenas es nito, podemos obtener un aut oma-
ta (expresi on regular) que representa el lenguaje, por lo tanto, el
lenguaje es regular.
55. Dado un lenguaje L, denotaremos el complementario de L como L.
Consid erese la siguiente armaci on: el complementario de la con-
catenaci on de dos lenguajes es igual a la concatenaci on de los com-
plementarios de ambos; es decir, L
1
, L
2
, L
1
.L
2
= L
1
.L
2
. Si la arma-
ci on es cierta, justifcala, y si no lo es, da un contraejemplo.
La armaci on es falsa, y hay un mont on de contraejemplos que lo
demuestran. Aqu indicamos un par.
Primer contraejemplo:
Si L
1
=

y L
2
= entonces L
1
= y L
2
=

.
Si hacemos L
1
.L
2
=

. = , entonces L
1
.L
2
=

,
y como L
1
.L
2
=

. =
hemos demostrado que L
1
.L
2
= L
1
.L
2
Segundo contraejemplo:
Sea = {a}, por lo tanto

= a

.
Si L
1
= {} y L
2
= {a}, entonces L
1
=

{} = aa

y L
2
=

{a}
(a

menos la cadena a).


Si hacemos L
1
.L
2
= {a} = L
2
, entonces L
1
.L
2
= L
2
y como L
1
.L
2
= aa

= L
1
, hemos demostrado que L
1
.L
2
= L
1
.L
2
56. Encuentra el aut omata nito determinista mnimo que reconoce
el lenguaje representado por la siguiente expresi on regular: ((0 +
11)(01)

51
1 2 3 4 5
6
0
1
1

0
1

(1) = {1, 2} = q
1

0
(q
1
) = C

({3} = {1, 2, 3, 4} = q
2

1
(q
1
) = C

({6} = {6} = q
3

0
(q
2
) = C

({3, 5} = {1, 2, 3, 4, 5} = q
4

1
(q
2
) = C

({6} = {6} = q
3

0
(q
3
) = C

({} =

1
(q
3
) = C

({3} = q
2

0
(q
4
) = C

({3, 5} = q
4

1
(q
4
) = C

({4, 6} = {1, 2, 4, 6} = q
5

0
(q
5
) = C

({3, 5} = q
4

1
(q
5
) = C

({3, 6} = {1, 2, 3, 4, 6} = q
6

0
(q
6
) = C

({3, 5} = q
4

1
(q
6
) = C

({3, 6} = q
6
1
2
3
4 5 6
7
0
1
1
1
0
0
0
1
0
1
1
0
0, 1
El aut omata mnimo correspondiente a este aut omata es el siguiente:
1 2 3
4
0
1
0
1
1
0, 1
57. Responde las siguientes cuestiones y justifcalas en su caso.
Cu al de las siguientes proposiciones es correcta?
a) {} = b) {} c) {}
La unica correcta es la opci on c), puesto que, por denici on, es
subconjunto de cualquier conjunto ( representa a un lenguaje
que no contiene ninguna cadena, mientras que {} representa al
lenguaje que s olo contiene la cadena vaca).
52
Los aut omatas nitos se llaman as porque:
a) el conjunto de smbolos del alfabeto es nito
b) el conjunto de estados es nito
c) cada aut omata acepta un n umero nito de cadenas
La opci on correcta por denici on de aut omota nito es la b).
Sea L un lenguaje regular sobre el alfabeto = {a, b, c}. Son
regulares los siguientes lenguajes? Enuncia el procedimiento
por el que reconocer as cada uno de ellos.
a) {w

| w L y w contiene una a}
b) {w

| w L o w contiene una a}
Ambos lenguajes son regulares. El lenguaje del apartado a) se
reconocera mediante la intersecci on entre L y el lenguaje for-
mado por las cadenas que contienen al menos una a ((a + b +
c)

a(a + b + c)

), mientras que el del apartado b) se reconocera


mediante la uni on de esos mismos lenguajes.
58. Construye una expresi on regular que represente el lenguaje acep-
tado por el aut omata
q
1
q
2
q
3
q
4
0
1
0
1
0
1
0
1
El sistema de ecuaciones inicial es:
r
1
= 1r
1
+ 0r
2
+
r
2
= 0r
3
+ 1r
1
+
r
3
= 0r
3
+ 1r
4
+
r
4
= 0r
4
+ 1r
4
(1)
Despejando r
4
usando la equivalencia r = t + sr r = s

t con s =
(0 + 1) y t = se obtiene r
4
= (l ogico, es un estado de absorci on).
Substituyendo r
4
las ecuaciones son:
r
1
= 1r
1
+ 0r
2
+
r
2
= 0r
3
+ 1r
1
+
r
3
= 0r
3
+
(2)
53
Es f acil despejar r
3
usando la misma equivalencia (con s = 0 y t =
para obtener r
3
= 0

. Substituy endolo,
r
1
= 1r
1
+ 0r
2
+
r
2
= 00

+ 1r
1
+
(3)
Ahora substituimos la segunda ecuaci on en la primera ecuaci on y
obtenemos
r
1
= 1r
1
+ 0(00

+ 1r
1
+) + = 000

+ 0 + + (1 + 01)r
1
(4)
que usando la equivalencia r = t + sr r = s

t se convierte en la
soluci on:
r
1
= (1 + 01)(000

+ 0 +) = (1 + 01)0

. (5)
59. Escribe una gram atica en forma normal de Chomsky para el lengua-
je de las cadenas de {a, b, x, y} que tienen la forma a
2n
x
m
y
2m
b
n
con
n 0 y m > 0.
Escribimos primero una gram atica con smbolo inicial Z para la parte
x
m
y
2m
con m > 0:
Z xyy
Z xZyy
(6)
y luego la envolvemos con la parte a
2n
. . . b
n
con m 0, que puede
ser opcional
S aaSb
S Z
Z xyy
Z xZyy
. (7)
Ya tenemos la gram atica. Ahora hay que eliminar las producciones
nulas, las unitarias
S aaSb
S xyy
S xZyy
Z xyy
Z xZyy
(8)
y los smbolos in utiles (no hay). Finalmente, aplicando el m etodo,
la pasamos a Forma normal de Chomsky (se aprovechan muchos
54
smbolos auxiliares).
S X
a
Y
aSb
Y
aSb
X
a
Y
Sb
Y
Sb
SX
b
S X
x
Y
yy
Y
yy
X
y
X
y
S X
x
Y
Zyy
Y
Zyy
ZY
yy
Z X
x
Y
yy
Z X
x
Y
Zyy
X
a
a
X
b
b
X
x
x
X
y
y
. (9)
60. Sea la operaci on L
1
L
2
= {xyz | xz L
1
y L
2
}. Justica que, si
L
1
y L
2
son regulares, entonces L
1
L
2
tambi en lo es. Aplica el ra-
zonamiento para construir un aut omata (puede ser indeterminista)
que reconozca cadenas sobre el alfabeto = {0, 1, a, b} tales que
la secuencia total de ceros y unos (eliminando la secuencia de aes
y bes) sea divisible por 3 y la secuencia de aes y bes que aparezca
contenga un n umero par de aes.
El procedimiento para construir un aut omata nito que reconozca
L
1
L
2
consiste en crear, por cada estado que contenga el AFD que
reconoce L
1
, un par copias de dicho AFD y una copia del AFD que
reconoce L
2
. Con los tres aut omatas que corresponden a cada uno de
los estados del AFD de L
1
se procede de la siguiente forma:
desde el estado considerado del primer aut omata se crea una
transici on vaca al estado inicial del AFD de L
2
.
desde los estados de aceptaci on del AFD de L
2
se crea una tran-
sici on vaca al estado considerado de la segunda copia de L
1
.
Los estados iniciales de la segunda copia del AFD de L
1
y del
de L
2
dejan de serlo.
Los estados de aceptaci on de la primera copia del AFD de L
1
y
del de L
2
dejan de serlo.
Finalmente se realiza la uni on de todos los AF as construidos (uno
por estado del AFD de L
1
).
55
En el caso particular que se pide en la pregunta, el AFI resultante
sera:
0
0
0
1
1
1 0
0
0
1
1
1
a
b
b
a

0
0
0
1
1
1 0
0
0
1
1
1
a
b
b
a

0
0
0
1
1
1 0
0
0
1
1
1
a
b
b
a

61. Realiza las siguientes operaciones:


Encuentra un aut omata nito determinista que reconozca el
lenguaje representado por la siguiente expresi on regular:
(( + 10

1)

(10

1)

(0

+ 1)
Teniendo en cuenta que ( + 10

1)

= (10

1)

y que r

= r

y
r

= r

, la expresi on regular queda (10

1)

(0

+ 1). Esto nos da


lugar al siguiente AFI (entre otros):
56
1 2 3 4
5
6
1

0
1

1
El AFD correspondiente a este AFI se obtiene de la siguiente
manera:
C

(1) = {1, 4, 5, 6} = q
1

0
(q
1
) = C

({5}) = {5, 6} = q
2

1
(q
1
) = C

({2, 6}) = {2, 6} = q


3

0
(q
2
) = C

({5}) = q
2

1
(q
2
) = C

({}) =

0
(q
3
) = C

({2}) = {2}

1
(q
3
) = C

({1, 3, 4, 5, 6}) = q
5

0
(q
4
) = C

({2}) = q
4

1
(q
4
) = C

({3}) = q
5

0
(q
5
) = C

({5, 6}) = q
2

1
(q
5
) = C

({2, 6}) = q
3
1 2 3
4
5
0
1
0
0
1
0
1
1
0
Minimiza la siguiente m aquina de Moore:
q
1
, a q
2
, a
q
3
, b
q
4
, c
q
5
, a
q
6
, c
q
7
, c
0
1
0
1
0, 1
0
1
1
0
0
0
1
1
57
Para minimizar una m aquina de Moore, aplicamos el algoritmo
de minimizaci on de AFD, donde las clases de equivalencia de
las que partimos son las asociadas a los estados que realizan la
misma traducci on. En este ejercicio empezaremos por tanto con
3 clases de equivalencia.
C
1
C
2
C
3
a b c
q
1
q
2
q
5
q
3
q
4
q
6
q
7
0 C
1
C
2
C
2
C
2
C
1
C
1
C
1
1 C
1
C
3
C
3
C
2
C
3
C
3
C
3
Al ser las transiciones de q
1
diferentes a las de q
2
y q
5
, se produce
un renamiento:
C
1
C
2
C
3
C
4
q
1
q
3
q
4
q
6
q
7
q
2
q
5
0 C
4
C
2
C
4
C
4
C
4
C
2
C
2
1 C
1
C
2
C
3
C
3
C
3
C
3
C
3
Como no se produce ning un nuevo renamiento, el aut omata
resultante tiene 4 estados, los correspondientes a la tabla anteri-
or:
q
1
, a q
4
, a
q
2
, b
q
3
, c
0
1
0
1
0, 1
0
1
62. Responde las siguientes cuestiones y justifcalas en su caso.
Dados dos lenguaje regulares, indica cu al de las siguientes
armaciones es verdadera:
a) Siempre es posible dise nar un algoritmo que determine si
tienen alguna cadena en com un.
b) Existe tal algoritmo s olo cuando alguno de los dos lengua-
jes es nito.
58
c) Existe tal algoritmo s olo cuando ambos lenguajes son ni-
tos.
Soluci on: a) Puesto que los lenguajes son regulares, el algorit-
mo podra basarse en el aut omata nito que reconoce su inter-
secci on (las intersecci on de dos lenguajes regulares es siempre
un lenguaje regular, y por tanto dicho aut omata siempre existe).
Sea un aut omata nito M y una cadena x L(M). Si el aut oma-
ta lee la cadena x, llega necesariamente a un estado de aceptaci on?
a) S , siempre
b) No necesariamente
Soluci on: a) S, siempre. Para que la cadena sea aceptada por el
aut omata, tiene que llegar a un estado de aceptaci on.
La concatenaci on de lenguajes tiene las siguientes propiedades:
a) asociativa, conmutativa y elemento neutro
b) asociativa y conmutativa
c) asociativa y elemento neutro
d) elemento neutro
Soluci on: c) asociativa y elemento neutro. Es asociativa porque,
dados tres lenguajes L, M y N, se cumple que L (M N) =
(L M) N. El elemento neutro es el lenguaje que s olo contiene
la cadena vaca. Es muy f acil ver que no es conmutativa.
Considera los lenguajes del alfabeto = {0, 1} :
L
1
= {0
n
1
n
: n 1}, L
2
= {cadenas con igual n umero de 1s que de 0s}
y L
3
= {cadenas en que cada 1 va seguido de al menos un 0}.
Se nala la armaci on verdadera:
a) ninguno de los lenguajes es regular
b) s olo el segundo y tercero son regulares
c) L
3
L
2
y L
1
L
2
d) ninguna de las armaciones anteriores es cierta
Soluci on: d) Ninguna de las armaciones anteriores es cierta. L
1
y
L
2
son lenguajes independientes del contexto, y L
3
es regular. La re-
spuesta c) es falsa porque 100 L
3
pero no a L
2
.
63. La siguiente gram atica describe un lenguaje regular:
S > CA| CD
A > 0A|
59
B > 1A1
C > CB|
D > 1
Encuentra una expresi on regular que describa el lenguaje, y justi-
ca c omo la has encontrado.
A partir de A 0A | generamos el lenguaje formado por las cade-
nas , 0, 00, 000 ..., es decir 0

.
A partir de B 1A1 generamos 10

1
A partir de C CB| generamos cero o m as repeticiones de 10

1,
por lo tanto estamos hablando del lenguaje (10

1)

Por ultimo, y teniendo en cuenta que D 1, S CA| CD nos


permite obtener sustituyendo: (10

1)

+ (10

1)

1 = (10

1)

(0

+ 1),
expresi on regular que coincide con la del ejercicio 1.
64. Dada la gram atica G,
E E +T | T
T aQ
Q nQ | aQ |
Transforma la gram atica en forma normal de Chomsky.
Determina si la cadena w = an+a+a pertenece a L(G) utilizan-
do el algoritmo de Cocke, Younger y Kasami. Escribe todas las
subcadenas de w que pertenezcan a L(G).
En primer lugar simplicaremos la gram atica:
a) Eliminaci on de smbolos anulables: V
A
= {Q}, al sustituirlo en
la gram atica queda
E E +T | T
T aQ |a
Q nQ | n | aQ | a
b) Eliminaci on de producciones unitarias:
E E +T | aQ |a
T aQ |a
Q nQ | n | aQ | a
c) Eliminaci on de smbolos in utiles: no hay
La gram atica en forma normal de Chomsky queda:
60
E EY | X
a
Q |a
T X
a
Q |a
Q X
n
Q | n | X
a
Q | a
Y X
+
T
X
+
+
X
a
a
X
n
n
Usamos el algoritmo de Cocke, Younger y Kasami para determinar
si la cadena an +a +a pertenece a L(G).
a n + a + a
E a Q n X
+
+ E a X
+
+ E a
T a X
n
n T a T a
Q a Q a Q a
X
a
a X
a
a X
a
a
E X
a
Q Y X
+
T Y X
+
T
T X
a
Q
Q X
a
Q
E EY
E EY
E EY
Como aparece el smbolo inicial E en la ultima casilla, la cadena
pertenece a L(G). Mirando las casillas de la tabla donde aparece el
smbolo inicial E, las subcadenas que pertenecen a L(G) son: a, an,
an +a y a +a.
65. Demuestra que si la salida de una m aquina de Mealy M
1
= (Q
1
,
1
,
1
,
1
,
1
, q
I
1
)
se usa como entrada de otra m aquina de Mealy M
2
= (Q
2
,
2
,
2
,
2
,
2
, q
I
2
),
la computaci on realizada por ambas puede ser realizada por una
unica m aquina de Mealy M
3
= (Q
3
,
3
,
3
,
3
,
3
, q
I
3
).
Aplica el razonamiento al siguiente ejemplo:
61
1 2
a/c
b/d
b/c
a/d
1

d/f
c/e c/f
d/f
Soluci on: sean
M
1
= (Q
1
,
1
,
1
, q
I
1
,
1
,
1
)
M
2
= (Q
2
,
2
,
2
, q
I
2
,
2
,
2
)
Denimos M
3
= (Q
3
,
3
,
3
, q
I
3
,
3
,
3
) como:
a) Q
3
= Q
1
Q
2
b)
3
=
1
c)
3
=
2
d) q
I
3
= (q
I
1
, q
I
2
)
e)
3
((q
1
j
, q
2
k
), a) = (
1
(q
1
j
, a),
2
(q
2
k
,
1
(q
1
j
, a)), a
3
, (q
1
j
, q
2
k
)
Q
3
f )
3
((q
1
j
, q
2
k
), a) =
2
(q
2
k
,
1
(q
1
j
, a))
La aplicaci on de esta operaci on al ejemplo, nos da como resultado la
siguiente m aquina de Mealy:
11

12

21

22

b/f
a/e
b/f
a/f
b/e
a/f
a/f
b/f
66. Utilizando la siguiente expresi on regular (a

+)

(ab +bb)

a) simplif cala
aplicando la propiedad (r + )

= r

, la expresi on queda
(a

(ab +bb)

62
aplicando la propiedad (a

= (a+b)

, la expresi on queda
(a +b)

(ab +bb)

y teniendo en cuenta que

= , y que la cadena vaca ya


pertenece a la expresi on (a

(ab + bb)

, podemos reducir
la expresi on inicial a (a +b)

(ab +bb)

.
b) dibuja unaut omata nito determinista que reconozca el lengua-
je representado por ella
Podemos representar la expresi on regular anterior con un AFI
como el siguiente:
1 2 3 4

a, b
a, b
b

La tabla de transiciones del AFD correspondiente a este AFI se


obtiene de la siguiente manera:
C

(1) = {1, 2} = q
1

a
(q
1
) = C

({1, 3}) = {1, 2, 3} = q


2

b
(q
1
) = C

({1, 3}) = {1, 2, 3} = q


2

a
(q
2
) = C

({1, 3}) = q
2

b
(q
2
) = C

({1, 3, 4}) = {1, 2, 3, 4} = q


3

a
(q
3
) = C

({1, 3}) = q
2

b
(q
3
) = C

({1, 3, 4}) = q
3
con lo que el AFD correspondiente ser a:
1 2 3
a, b
a
b
b
a
c) describe el lenguaje que representa. No hace falta llegar a aplicar
un algoritmo de minimizaci on para darse cuenta de que el lengua-
je aceptado por el aut omata es el lenguaje universal.
67. Responde a cada una de las siguientes cuestiones y justica la re-
spuesta:
63
a) La clausura de Kleene L

de un lenguaje L, contiene siempre


innitas cadenas?
1) s, siempre
2) depende de los casos
Depende de los casos, pues cuando el lenguaje original no con-
tiene ninguna cadena o contiene s olo la cadena vaca, su estrella
de Kleene s olo contiene la cadena vaca.
b) Puede ser que un aut omata nito determinista mnimo tenga
m as estados que el aut omata nito indeterminista del cual se
ha obtenido?
S. Por ejemplo, el aut omata que acepta cadenas w de {0, 1}

tales que el smbolo en la posici on |w| 3 sea un 1. El aut omata


indeterminista tiene 5 estados y el determinista es enorme.
c) Puede un aut omata nito determinista mnimo tener m as de
un estado de absorci on? No, porque ambos seran equivalentes.
d) Existe alg un lenguaje que sea aceptado por un aut omata ni-
to indeterminista que no pueda ser aceptado por un aut omata
nito determinista? De ninguna manera! Dado un AFI que re-
conoce un lenguaje, siempre podemos encontrar un AFD que
reconoce el mismo lenguaje.
68. Responde a cada una de las siguientes cuestiones y justica la re-
spuesta:
a) Se nos ha ocurrido un m etodo para ((minimizar)) gram aticas
regulares. Construimos a partir de la gram atica regular unaut oma-
ta nito, lo minimizamos, y extraemos la gram atica del aut oma-
ta nito determinista. Nuestro m etodo garantiza:
1) Una gram atica con el mnimo n umero de variables.
2) Una gram atica con el mnimo n umero de reglas.
3) Una gram atica sin reglas de la forma A donde A es
una variable.
No hay ninguna respuesta correcta. Sea la siguiente gram atica
regular:
S aS| bS| a
Si obtenemos un aut omata nito determinista mnimo a partir
de ella, este aut omata tendr a dos estados, y por tanto la gram atica
obtenida a partir de ella contendr a dos variables (y m as reglas).
64
La ultima no es cierta ya que si la cadena vaca pertenece al
lenguaje, debe existir la regla.
b) Sea L = {x
m
y
n
|n m 2n}. Es correcta la siguiente gram atica
para generar L?
S X | Y
X xXy |
Y xxY y |
No es correcta ya que la gram atica genera cadenas con el mismo
n umero de x que de y o con el doble de x que de y, pero no
genera por ejemplo la cadena xxxyy que s pertenece a L.
c) La gram atica regular que se extrae de un aut omata nito de-
terminista. . .
1) . . . es tal que si existe una regla A aB donde A y B son
variables y a un terminal, no puede existir otra regla A
aC con otro no terminal C diferente.
2) . . . no contiene ninguna regla A , ya que los aut omatas
nitos deterministas no tienen transiciones nulas.
3) . . . contiene siempre una unica regla para expandir el smbo-
lo inicial S, ya que los aut omatas nitos deterministas
tienen un unico estado inicial.
La correcta es la primera, por denici on de determinismo.
69. Dada la gram atica
S aAa | DA| BaB
A aaB | DE| aa
B bB | bAB| aF
C bB | aBF|
D Da | E
E BE |
F aB
encuentra una gram atica en forma normal de Chomsky para el
lenguaje L(G) {}.
En primer lugar simplicaremos la gram atica:
a) Eliminaci on de smbolos anulables: V
A
= {C, E, D, A, S}, al susti-
tuirlo en la gram atica queda
S aAa | aa| DA| D| A| BaB
A aaB | DE| D| E| aa
65
B bB | bAB| aF
C bB | aBF
D Da | a| E
E BE | B
F aB
b) Eliminaci on de producciones unitarias:
S aAa | aa| DA| Da| a| BE| bB| bAB| aF| aaB| DE| BaB
A aaB | DE| Da| a| BE| bB| bAB| aF| aa
B bB | bAB| aF
C bB | aBF
D Da | a| BE| bB| bAB| aF
E BE | bB| bAB| aF
F aB
c) Eliminaci on de smbolos in utiles:
1) Eliminaci on de smbolos que no generan cadenas de termi-
nales.
Los smbolos B, C, E y F son eliminables seg un este concep-
to. La gram atica queda:
S aAa | aa| DA| Da| a
A Da| a| aa
D Da | a
2) Eliminaci on de smbolos inalcanzables.
Los smbolos A y D son accesibles desde S, por lo que no
son in utiles.
Por ultimo, pasamos a forma normal de Chomsky:
S X
a
X
Aa
| X
a
X
a
| DA| DX
a
| a
A DX
a
| a| X
a
X
a
D DX
a
| a
X
Aa
AX
a
X
a
a
70. Construye una m aquina de Mealy que escriba como salida la cade-
na resultado de hacer la operaci on ((o exclusivo)) (XOR) de las dos
cadenas producidas por los siguientes traductores secuenciales (el
66
primero es una m aquina de Mealy y el segundo una de Moore):
1/0
0/1
1/1
0/1
1/1
0/0

0
0
1
0
1
1
0
0
1
1
0
Teniendo en cuenta que la operaci on XOR tiene la siguiente salida:
XOR 0 1
0 0 1
1 1 0
Realizamos el producto cartesiano de las dos m aquinas empezan-
do por el par de estados iniciales. A continuaci on para cada estado
nuevo, se aplica la funci on de transici on a cada uno de los estados
pertenecientes al nuevo estado, y con la salida de ambos se aplica la
funci on XOR.
Una posible soluci on es pasar la m aquina de Moore a m aquina de
Mealy (aunque no es necesario). Las dos m aquinas ahora tienen la
forma siguiente:
A B
C
1/0
0/1
1/1
0/1
1/1
0/0
D E
F
1/0
0/0
1/1
0/0
0/0
1/0
Resolviendo el ejercicio a partir de estas dos m aquinas tenemos:
67
AD BE CF AE BF BD
CD CE
AF
1/0
0/1
1/0
0/1
1/1
0/0
1/1
0/1
0/1
1/1
1/1
0/1
1/1
0/0
1/0
0/0
1/0
0/1
71. Dadas las expresiones regulares r = (1+01)*, s = (+01)* y t = , en-
cuentra el autom ata nito determinista mnimo para cada una de
las siguientes expresiones:
a) (r +s)

b) (rs)

c) (rt)

d) r

a) como s r entonces (r + s) = r, que es equivalente a su vez


a r.
Un aut omata nito indeterminista que reconoce este lenguaje
sera el siguiente:
1 3 2
1
0

1
La tabla de transiciones del AFD correspondiente a este AFI se
obtiene de la siguiente manera:
C

(1) = {1} = q
1

0
(q
1
) = C

({3}) = {3} = q
2

1
(q
1
) = C

({2}) = {1, 2} = q
3

0
(q
2
) =

1
(q
2
) = q
3

0
(q
3
) = q
2

1
(q
3
) = q
3
68
con lo que el AFD correspondiente ser a:
1 2 3
4
0
1
1
0
0
1
0, 1
El aut omata determinista mnimo que se obtiene a partir de este
AFD es:
1 2 3
0
1
0
1
0, 1
b) (rs)

= ((1 + 01)

( + 01)

= (1 + 01 +)

= (1 + 01)

= r
c) (rt)

=
d) r

= r

= r
72. Encuentra una expresi on regular para el lenguaje formado por las
cadenas binarias tales que la diferencia absoluta entre el n umero
de ceros y de unos es un m ultiplo de 3.
Primero construimos el aut omata, y a partir de ah la expresi on reg-
ular
1 2
3
0
1
0
1
0
1
69
A partir del aut omata anterior, encontramos el siguiente sistema de
ecuaciones:
r
1
= 0r
2
+ 1r
3
+
r
2
= 0r
3
+ 1r
1
r
3
= 0r
1
+ 1r
2
Primero sustituimos r
3
en r
2
y obtenemos una expresi on regular de
r
2
que s olo depender a de r
1
:
r
2
= 0(0r
1
+ 1r
2
) + 1r
1
= (00 + 1)r
1
+ 01r
2
r
2
= (01)

(00 + 1)r
1
Sustituimos ahora r
2
en r
3
y obtenemos una expresi on regular de r
3
que s olo depender a de r
1
:
r
3
= 0r
1
+ 1(01)

(00 + 1)r
1
= (0 + 1(01)

(00 + 1))r
1
Por ultimo, sustituimos r
2
y r
3
en r
1
y obtenemos por ultimo la ex-
presi on regular para r
1
:
r
1
= 0(01)

(00 + 1)r
1
+ 1(0 + 1(01)

(00 + 1))r
1
+
r
1
= (0(01)

(00 + 1) + 1(0 + 1(01)

(00 + 1)))

= ((0 + 11)(01)

(00 +
1) + 10)

73. Dada la gram atica


S SAB | A0 | B1
A SB | 1 |
B AB | 0 |
encuentra una gram atica en forma normal de Chomsky. Pertenece
la cadena w = 0011 al lenguaje generado por la gram atica? Es am-
bigua la gram atica?
Primero simplicamos la gram atica:
Eliminaci on de producciones vacas
S SAB | SA | SB | A0 | B1 | 0 | 1
A SB | S | 1
B AB | A | B | 0
70
Eliminaci on de producciones unitarias
S SAB | SA | SB | A0 | B1 | 0 | 1
A SAB | SA | SB | A0 | B1 | 0 | 1
B SAB | SA | SB | A0 | B1 | 0 | 1
No hay estados in utiles
Ahora lo pasamos a forma normal del Chomsky:
S SX
AB
| SA | SB | AX
0
| BX
1
| 0 | 1
A SX
AB
| SA | SB | AX
0
| BX
1
| 0 | 1
B SX
AB
| SA | SB | AB | AX
0
| BX
1
| 0 | 1
X
AB
AB
X
0
0
X
1
1
Por ultimo, se puede comprobar f acilmente que la cadena 0011 pertenece
al lenguaje y que la gram atica es ambigua pues existe m as de un
arbol de derivaci on para la cadena.
74. Responde las siguientes cuestiones y justica razonadamente tu
respuesta:
Es cierta o falsa la armaci on todo subconjunto de un con-
junto regular es regular
no es cierto, el lenguaje universal es regular y hay innitos lengua-
jes no regulares
Puede existir para alguna gram atica independiente del con-
texto un aut omata nito indeterminista que acepte el lenguaje
que genera la gram atica?
S, toda gram atica regular G es independiente del contexto y,
a la vez, existe un aut omata nito determinista que acepta el
mismo lenguaje que G.
Dadas dos expresiones regulares r y s, se puede construir en
tiempo nito una expresi on regular que represente el lengua-
je que resulta de la diferencia sim etrica de los lenguajes rep-
resentados por r y s?
S, de las ER r y s se pueden construir sendos AFI en tiempo
nito; de estos AFI se pueden obtener sendos AFD en tiempo
tambi en nito; el aut omata que acepta la diferencia sim etrica
71
de los lenguajes que acepta se puede realizar en tiempo nito, y
la extracci on de la expresi on regular correspondiente, tambi en.
Todas las operaciones son algortmicas y se realizan en tiempo
nito.
75. Dado un lenguaje L, denimos el lenguaje
MAX(L) = {x L : para ninguna y diferente de se tiene xy L}
es decir, MAX(L) est a formado por aquellas cadenas de L que no
son prejo propio de otra cadena de L. Justica que si L es regu-
lar, entonces MAX(L) tambi en lo es. Aplica el razonamiento para
encontrar un aut omata nito para MAX(L) si L es el lenguaje rep-
resentado por el siguiente aut omata
1 2 3
4 5
a
b
b
a
b
a
a
b
a, b
El aut omata para MAX(L) sera el mismo salvo los estados de aceptaci on.
Un estado q
i
dejar a de ser de aceptaci on si

que conduce de
q
i
a un q
j
que tambi en es de aceptaci on.
En el ejemplo del enunciado, ning un estado es de aceptaci on, por lo
que el lenguaje MAX(L) ser a vaco.
76. Dadas las expresiones regulares r = (1 + 10

) y s = (

+ 01)

a) encuentra un aut omata nito indeterminista para las siguientes


expresiones:
1) (r +s)

2) (rs)

b) encuentra un aut omata determinista mnimo para uno de los


aut omatas nitos indeterministas encontrados en el apartado
anterior.
a) 1) (r + s)

= ((1 + 10

) + (

+ 01)

= (1 + 10

+ (01)

=
(10

+ (01)

72
1 2 3
4
5
6
1

2) (rs)

= ((1 + 10

)(01)

1 2 3
4
1
0
0
1

b) 1) La tabla de transiciones del AFD correspondiente al primer


AFI se obtiene de la siguiente manera:
C

(1) = {1, 2, 4, 6} = q
1

0
(q
1
) = C

({5}) = {5} = q
2

1
(q
1
) = C

({3}) = {1, 2, 3, 4, 6} = q
3

0
(q
2
) =

1
(q
2
) = C

({4}) = {1, 2, 4, 6} = q
1

0
(q
3
) = C

({1, 2, 3, 4, 5, 6}) = q
4

1
(q
3
) = C

({3}) = q
3

0
(q
4
) = C

({3, 5}) = q
4

1
(q
4
) = C

({3, 4}) = q
3
el aut omata mnimo correspondiente ser a:
1 2 3
4
0
1
1
0
0, 1
0, 1
2) La tabla de transiciones del AFD correspondiente al segun-
do AFI se obtiene de la siguiente manera:
C

(1) = {1} = q
1

0
(q
1
) =

1
(q
1
) = C

({2}) = {1, 2, 3} = q
2

0
(q
2
) = C

({2, 4}) = {1, 2, 3, 4} = q


3

1
(q
2
) = C

({2}) = q
2
73

0
(q
3
) = C

({2, 4}) = q
3

1
(q
3
) = C

({2, 4}) = q
3
el aut omata mnimo correspondiente ser a:
1 2
3
1
0
0, 1
0, 1
77. Encuentra una gram atica enforma normalizada de Chomsky equiv-
alente a la gram atica
S ACa | aAB
A C | aC | AS
B ab | A | SD | BCA |
C B |
D CS | a
Primero tenemos que simplicar la gram atica:
a) Eliminaci on de producciones vacas.
Smbolos anulables: V
A
= {B, C, A}
La gram atica quedar a: S ACa | Ca | Aa | a | aAB | aA | aB
A C | aC | a | AS | S
B ab | A | SD | BCA | BC | BA | CA | B | C
C B
D CS | S | a
b) Eliminaci on de producciones unitarias.
S ACa | Ca | Aa | a | aAB | aA | aB
A ab | SD| BCA| BC | BA| CA| aC | a | AS | ACa | Ca | Aa | aAB | aA| aB
B ab | SD| BCA| BC | BA| CA| aC | a | AS | ACa | Ca | Aa | aAB | aA| aB
C ab | SD| BCA| BC | BA| CA| aC | a | AS | ACa | Ca | Aa | aAB | aA| aB
D CS | ACa | Ca | Aa | a | aAB | aA | aB
c) Eliminaci on de smbolos in utiles: no hay
Forma normal de Chomsky:
74
S Y
AC
X
a
| CX
a
| AX
a
| a | X
a
Y
AB
| X
a
A | X
a
B
A X
a
X
b
| SD | Y
BC
A | BC | BA | CA | X
a
C | a | AS | Y
AC
X
a
| CX
a
| AX
a
| X
a
AB | X
a
A | X
a
B
B X
a
X
b
| SD | Y
BC
A | BC | BA | CA | X
a
C | a | AS | Y
AC
X
a
| CX
a
| AX
a
| X
a
Y
AB
| X
a
A | X
a
B
C X
a
X
b
| SD | Y
BC
A | BC | BA | CA | X
a
C | a | AS | Y
AC
X
a
| CX
a
| AX
a
| X
a
Y
AB
| X
a
A | X
a
B
D CS | Y
AC
X
a
| CX
a
| AX
a
| a | X
a
Y
AB
| X
a
A | X
a
B
X
a
a
X
b
b
Y
AC
AC
Y
AB
AB
Y
BC
BC
78. Dada la gram atica G
S aAa | bAb
A S | aB | bB
B aB | bB |
a) Verica la pertenencia o no de la cadena vaca a L(G).
La cadena vaca no pertenece al lenguaje generado por la gram atica.
Esto se puede comprobar f acilmente ya que las dos unicas re-
glas de derivaci on a partir del smbolo inicial contienen dos
smbolos terminales.
b) Describe el lenguaje que genera.
El lenguaje generado por la gram atica es el conjunto de cadenas
de {a, b} que empiezan y acaban por a, o empiezan y acaban por
b y tienen al menos longitud 3. Para explicar este ultimo t ermi-
no, s olo hay que tener en cuenta que aunque B es anulable, A
no lo es, y genera cadenas que contienen al menos un smbolo.
c) Aunque la gram atica no es regular, demuestra que el lenguaje
es regular.
El lenguaje descrito por la gram atica es regular. Una expresi on
regular para el mismo sera: a(a +b)
+
a +b(a +b)
+
b
79. Responde las siguientes cuestiones y justica razonadamente tu
respuesta:
75
a) Es regular el lenguaje L = {a
n
b
m
|n, m 0; n > m}?
No lo es. Se podra demostrar aplicando el lema del bombeo,
pero podemos justicarlo diciendo que para que se cumpla la
condici on n > mnecesitamos llevar la cuenta de cu antas a y b
hemos escrito (para cualquier n y m que cumpla esa condici on),
y eso no lo podemos hacer en un lenguaje regular.
b) Justica c omo usar la diferencia sim etrica para demostrar la
equivalencia de dos lenguajes regulares.
La diferencia sim etrica entre dos lenguajes L
i
y L
j
se dene co-
mo:
L
i
L
j
= (L
i
L
j
) (L
i
L
j
)
Si L
i
L
j
= , entonces al denirse esta diferencia como la uni on
de dos lenguajes, estos a su vez tienen que ser vacos:
1) Si L
i
L
j
= L
i
L
j
2) Si L
i
L
j
= L
j
L
i
Lo anterior solo es cierto si L
i
= L
j
En el caso particular de lenguajes regulares, la diferencia sim etri-
ca se puede obtener a partir del AFD que reconoce a cada uno
de los lenguajes. El resultado de esta operaci on es otro AFD,
sobre el que se puede aplicar un algoritmo que nos diga si el
aut omata acepta o no alguna cadena.
c) El lenguaje de las cadenas que contienen un n umero par de
ceros o exactamente dos unos es generado por la expresi on
regular
1) (1

01

01

) + (0

10

10

)
2) (1

01

01

+ (0

10

10

)
3) (10101)

+ (0

10

10

)
La opci on correcta es la segunda, ya que la primera genera 000
y la tercera no genera 00.
d) Dado el lenguaje L = {a, abb, ba, bbba, b}, indica cu antas cade-
nas de longitud estrictamente menor que 3 hay en L

.
76
Las cadenas de L

de longitud menor que 3 son 7 y son concre-


tamente {, a, b, aa, ab, ba, bb}
80. Dado un lenguaje L, denimos el lenguaje L
pp
que est a formado
por aquellos prejos de L de longitud par.
Demuestra que si L es regular, entonces L
pp
tambi en lo es. Aplica
el razonamiento para encontrar un aut omata nito para L
pp
si L es
el lenguaje representado por el siguiente aut omata
1 2 3
4
a
b
b
a
a
b
a, b
Por un lado obtenemos el conjunto de todos los prejos de L, que
se obtienen haciendo que todos los estados sean de aceptaci on (ojo,
menos los de absorci on).
Por otro lado, obtenemos el aut omata que acepta las cadenas de lon-
gitud par.
Para terminar, hacemos la intersecci on de los dos aut omatas anteri-
ormente encontrados.
En el aut omata dado en el enunciado, los aut omatas que aceptan los
prejos del lenguaje L y aquellos que tienen longitud par seran:
1 2 3
4
a
b
b
a
a
b
a, b
1 2
a, b
a, b
La intersecci on de estos dos aut omatas nos dar a un nuevo aut omata
que reconoce el lenguaje L
pp
:
77
1 2
3
4 6
7
a a
a
b
a
b
a
a
Las transiciones con el smbolo b que no aparecen en la gura, van
todas a un estado de absorci on no dibujado.
81. Dadas las expresiones regulares r = (a

+ ab) y s = (ab

) sobre el
alfabeto = {a, b}
a) encuentra un aut omata nito indeterminista para los siguientes
lenguajes:
1) (L(r)L(s)

2) (L(r)

L(s))

b) encuentra un aut omata determinista mnimo para uno de los


aut omatas nitos indeterministas encontrados en el apartado
anterior.
(L(r)

L(s))

= ((a

+ab)

(ab

))

1 2 3
4
5
6
7

a
a

a
b

(L(r)L(s)

= ((a

+ab)(ab

1
2
3 4 5

a b

a
b

78
a) La tabla de transiciones del AFD correspondiente al primer AFI
se obtiene de la siguiente manera:
C

(1) = {1, 2, 3, 5, 6} = q
1

a
(q
1
) = C

({4, 3, 7}) = {1, 2, 3, 4, 5, 6, 7} = q


2

b
(q
1
) = C

() = = q
3

a
(q
2
) = C

({4, 3, 7}) = q
2

b
(q
2
) = C

({7, 5}) = {1, 2, 3, 5, 6, 7} = q


4

a
(q
4
) = C

({3, 4, 7}) = q
2

b
(q
4
) = C

({7}) = q
4
el aut omata mnimo correspondiente ser a:
1 2
3
a
a, b
b a, b
b) La tabla de transiciones del AFD correspondiente al segundo
AFI se obtiene de la siguiente manera:
C

(1) = {1, 2, 4} = q
1

a
(q
1
) = C

({2, 3, 5}) = {1, 2, 3, 4, 5} = q


2

b
(q
1
) = C

() = = q
3

a
(q
2
) = C

({2, 3, 5}) = q
2

b
(q
2
) = C

({4, 5}) = {1, 2, 4, 5} = q


4

a
(q
4
) = C

({2, 3, 5}) = q
2

b
(q
4
) = C

({5}) = q
4
El AFD que hemos obtenido es el mismo que el del apartado
anterior, por lo que el aut omata mnimo es id entico.
82. Encuentra un aut omata nito determinista para el lenguaje de las
cadenas binarias que verican las siguientes restricciones:
si una cadena tiene menos de 5 unos, entonces tiene un n umero
par de unos
si una cadena contiene 5 unos o m as, entonces tiene un n umero
impar de unos
cualquier cadena contiene al menos un uno
79
1 2 3 4 5 6 7
1 1 1 1 1
1
1
0 0 0 0 0 0 0
83. Encuentra una gram atica en forma normal de Chomsky equiva-
lente a la siguiente gram atica:
S aAB | Aa | Bb
A aAa | AB |
B bBb | BA |
Primero tenemos que simplicar la gram atica:
a) Eliminaci on de producciones vacas.
Smbolos anulables: V
A
= {A, B}
La gram atica quedar a:
S aAB | aA | aB | a | Aa | Bb | b
A aAa | aa | AB | A | B
B bBb | bb | BA | B | A
b) Eliminaci on de producciones unitarias.
S aAB | aA | aB | a | Aa | Bb | b
A aAa | aa | AB | bBb | bb | BA
B bBb | bb | BA | aAa | aa | AB
c) Eliminaci on de smbolos in utiles: no hay
Forma normal de Chomsky:
S X
a
Y
AB
| X
a
A | X
a
B | a | AX
a
| BX
b
| b
A X
a
Y
Aa
| X
a
X
a
| AB | X
b
Y
Bb
| X
b
X
b
| BA
B X
b
Y
Bb
| X
b
X
b
| BA | X
a
Y
Aa
| X
a
X
a
| AB
Y
AB
AB
Y
Aa
AX
a
Y
Bb
BX
b
X
a
a
X
b
b
84. Responde las siguientes cuestiones:
80
a) Es regular el lenguaje de las cadenas binarias capic ua? Jus-
tifcalo. No lo es, se podra demostrar utilizando el lema del
bombeo pero intuitivamente se puede ver que el n umero de es-
tados que necesitaramos en un aut omata es innito pues la lon-
gitud de cualquier cadena es indeterminada y dada una cadena
a
1
a
2
. . . a
n1
a
n
hay que comprobar que los smbolos a
i
coinciden
con a
ni+1
para todo i.
b) Dene una gram atica que describa el lenguaje.
S 0S0 | 1S1 | 0 | 1 |
c) Existe alg un lenguaje regular que sea subconjunto del lengua-
je de las cadenas capic ua? Si es as, descrbelo y obt en un
aut omata o expresi on regular.
Si, por ejemplo el conjunto de cadenas de ceros es un subcon-
junto del conjunto de cadenas binarias capic ua.
d) Existe alg un lenguaje no regular que sea subconjunto del
lenguaje de las cadenas capic ua? Si es as, descrbelo.
S, hay varios. Por ejemplo, el lenguaje de las cadenas binarias
capic ua de longitud par.
85. Para codicar en una cadena el contorno de una gura es intere-
sante conseguir que la codicaci on no dependa del punto de ini-
cio. Para lograr esto se representa el contorno como el conjunto de
cadenas que resultan de formar todas las posibles rotaciones de la
cadena. Por ejemplo, si la cadena que representa el contorno con
un punto inicial especco fuera aabab, se representar a nalmente
el contorno con el lenguaje {aabab, ababa, babaa, abaab, baaba}.
Estas ideas se pueden generalizar a lenguajes mediante la sigu-
iente denici on:
cycle(L) = {yx

: xy L}
Describe un m etodo que permita encontrar un aut omata (deter-
minista o indeterminista) para cycle(L) a partir del AFD de L. Apli-
ca el m etodo al lenguaje 01

0.
Habra que escribir tantos pares de aut omatas iguales al de L como
estados tenga el aut omata, donde para cada par:
tomemos como estado inicial un q del primero,
concatenemos con una transici on vaca el de aceptaci on al del
inicio del segundo, y
81
como estado de aceptaci on el mismo q en el segundo.
En el caso particular del ejemplo que nos piden, si 01

0 es reconocido
por el siguiente aut omata:
1 2 3
0 0
1
un aut omata para cycle(L) podra ser:
0
1 2 3 4 5 6

0 0 0 0
1 1
7 8 9 10 11 12

0 0 0 0
1 1
13 14 15 16 17 18

0 0 0 0
1
1
86. Dadas las expresiones regulares r = (a

+ ab) y s = (ab

) sobre el
alfabeto = {a, b}
a) encuentra un aut omata nito indeterminista para los siguientes
lenguajes:
1) (L(r)L(s)

2) (L(r)

L(s))

b) encuentra un aut omata determinista mnimo para uno de los


aut omatas nitos indeterministas encontrados en el apartado
anterior.
(L(r)

L(s))

= ((a

+ab)

(ab

))

82
1 2 3
4
5
6
7

a
a

a
b

(L(r)L(s)

= ((a

+ab)(ab

1
2
3 4 5

a b

a
b

a) La tabla de transiciones del AFD correspondiente al primer AFI


se obtiene de la siguiente manera:
C

(1) = {1, 2, 3, 5, 6} = q
1

a
(q
1
) = C

({4, 3, 7}) = {1, 2, 3, 4, 5, 6, 7} = q


2

b
(q
1
) = C

() = = q
3

a
(q
2
) = C

({4, 3, 7}) = q
2

b
(q
2
) = C

({7, 5}) = {1, 2, 3, 5, 6, 7} = q


4

a
(q
4
) = C

({3, 4, 7}) = q
2

b
(q
4
) = C

({7}) = q
4
el aut omata mnimo correspondiente ser a:
1 2
3
a
a, b
b a, b
b) La tabla de transiciones del AFD correspondiente al segundo
AFI se obtiene de la siguiente manera:
C

(1) = {1, 2, 4} = q
1

a
(q
1
) = C

({2, 3, 5}) = {1, 2, 3, 4, 5} = q


2
83

b
(q
1
) = C

() = = q
3

a
(q
2
) = C

({2, 3, 5}) = q
2

b
(q
2
) = C

({4, 5}) = {1, 2, 4, 5} = q


4

a
(q
4
) = C

({2, 3, 5}) = q
2

b
(q
4
) = C

({5}) = q
4
El AFD que hemos obtenido es el mismo que el del apartado
anterior, por lo que el aut omata mnimo es id entico.
87. Encuentra un aut omata nito determinista para el lenguaje de las
cadenas binarias que verican las siguientes restricciones:
si una cadena tiene menos de 5 unos, entonces tiene un n umero
par de unos
si una cadena contiene 5 unos o m as, entonces tiene un n umero
impar de unos
cualquier cadena contiene al menos un uno
1 2 3 4 5 6 7
1 1 1 1 1
1
1
0 0 0 0 0 0 0
88. Encuentra una gram atica en forma normal de Chomsky equiva-
lente a la siguiente gram atica:
S aAB | Aa | Bb
A aAa | AB |
B bBb | BA |
Primero tenemos que simplicar la gram atica:
a) Eliminaci on de producciones vacas.
Smbolos anulables: V
A
= {A, B}
La gram atica quedar a:
S aAB | aA | aB | a | Aa | Bb | b
A aAa | aa | AB | A | B
B bBb | bb | BA | B | A
b) Eliminaci on de producciones unitarias.
84
S aAB | aA | aB | a | Aa | Bb | b
A aAa | aa | AB | bBb | bb | BA
B bBb | bb | BA | aAa | aa | AB
c) Eliminaci on de smbolos in utiles: no hay
Forma normal de Chomsky:
S X
a
Y
AB
| X
a
A | X
a
B | a | AX
a
| BX
b
| b
A X
a
Y
Aa
| X
a
X
a
| AB | X
b
Y
Bb
| X
b
X
b
| BA
B X
b
Y
Bb
| X
b
X
b
| BA | X
a
Y
Aa
| X
a
X
a
| AB
Y
AB
AB
Y
Aa
AX
a
Y
Bb
BX
b
X
a
a
X
b
b
89. Responde las siguientes cuestiones:
a) Es regular el lenguaje de las cadenas binarias capic ua? Jus-
tifcalo. No lo es, se podra demostrar utilizando el lema del
bombeo pero intuitivamente se puede ver que el n umero de es-
tados que necesitaramos en un aut omata es innito pues la lon-
gitud de cualquier cadena es indeterminada y dada una cadena
a
1
a
2
. . . a
n1
a
n
hay que comprobar que los smbolos a
i
coinciden
con a
ni+1
para todo i.
b) Dene una gram atica que describa el lenguaje.
S 0S0 | 1S1 | 0 | 1 |
c) Existe alg un lenguaje regular que sea subconjunto del lengua-
je de las cadenas capic ua? Si es as, descrbelo y obt en un
aut omata o expresi on regular.
Si, por ejemplo el conjunto de cadenas de ceros es un subcon-
junto del conjunto de cadenas binarias capic ua.
d) Existe alg un lenguaje no regular que sea subconjunto del
lenguaje de las cadenas capic ua? Si es as, descrbelo.
S, hay varios. Por ejemplo, el lenguaje de las cadenas binarias
capic ua de longitud par.
90. Para codicar en una cadena el contorno de una gura es intere-
sante conseguir que la codicaci on no dependa del punto de ini-
cio. Para lograr esto se representa el contorno como el conjunto de
85
cadenas que resultan de formar todas las posibles rotaciones de la
cadena. Por ejemplo, si la cadena que representa el contorno con
un punto inicial especco fuera aabab, se representar a nalmente
el contorno con el lenguaje {aabab, ababa, babaa, abaab, baaba}.
Estas ideas se pueden generalizar a lenguajes mediante la sigu-
iente denici on:
cycle(L) = {yx

: xy L}
Describe un m etodo que permita encontrar un aut omata (deter-
minista o indeterminista) para cycle(L) a partir del AFD de L. Apli-
ca el m etodo al lenguaje 01

0.
Habra que escribir tantos pares de aut omatas iguales al de L como
estados tenga el aut omata, donde para cada par:
tomemos como estado inicial un q del primero,
concatenemos con una transici on vaca el de aceptaci on al del
inicio del segundo, y
como estado de aceptaci on el mismo q en el segundo.
En el caso particular del ejemplo que nos piden, si 01

0 es reconocido
por el siguiente aut omata:
1 2 3
0 0
1
un aut omata para cycle(L) podra ser:
0
1 2 3 4 5 6

0 0 0 0
1 1
7 8 9 10 11 12

0 0 0 0
1 1
13 14 15 16 17 18

0 0 0 0
1
1
86
91. Demuestra formalmente si las expresiones regulares c(a

+ b)

y
c(a

b)

son equivalentes.
Para demostrarlo vamos a encontrar el AFD mnimo que reconoce
cada una de las expresiones regulares
a) (c(a

+ b)

1 2
3
4
c

b
a

La tabla de transiciones del AFD correspondiente a este AFI se


obtiene de la siguiente manera:
C

(1) = {1} = q
1

a
(q
1
) = C

({}) = =
b
(q
1
)

c
(q
1
) = C

({2}) = {2, 3, 4} = q
2

a
(q
2
) = C

({3}) = {2, 3, 4} = q
2

b
(q
2
) = C

({4}) = {2, 3, 4} = q
2

c
(q
2
) = C

({}) =
el aut omata mnimo correspondiente ser a:
1 2
c
a, b
b) c(a

b)

1 2 3 4
c b

a
La tabla de transiciones del AFD correspondiente al AFI se ob-
tiene de la siguiente manera:
C

(1) = {1} = q
1

a
(q
1
) =
b
(q
1
) =

c
(q
1
) = C

({2}) = {2, 4} = q
2

a
(q
2
) = C

({2, 4}) = q
2

b
(q
2
) = C

({3}) = {2, 3, 4} = q
3

c
(q
2
) =

a
(q
3
) = C

({2, 4}) = q
2

b
(q
3
) = C

({3}) = q
3
87

c
(q
3
) =
el aut omata mnimo correspondiente ser a:
1 2
c
a, b
Como los dos aut omatas mnimos son iguales, hemos demostra-
do que las expresiones regulares son equivalentes.
92. Justica la veracidad o falsedad de las siguientes armaciones:
a) Si un lenguaje L es vaco, entonces, L

= L
+
. Falso, pues si
L = , entonces L

= {} y L
+
= L

L = L

= .
b) Dado un aut omata nito indeterminista M, para que L(M)
es necesario que al menos uno de los estados iniciales de M
sea de aceptaci on. Falso, pues puede existir una transici on vaca
del estado inicial a otro estado que sea de aceptaci on.
c) Dada una gram atica G, para que L(G) no es necesario que
se derive directamente desde el smbolo inicial de la gram atica.
Verdadero, pues s olo es necesario que el smbolo inicial de la
gram atica sea anulable.
d) El resultado de realizar el cociente AB
1
, donde Ay B son dos
conjuntos nitos de cadenas es el mismo independientemente
de que pertenezca o no a B. Falso. Contraejemplo:
Sea A = {, 0, 00, 10}, B
1
= {0}, B
2
= B
1
{},
AB
1
1
= {, 0, 1} y AB
1
2
= {, 0, 1, 00, 10}
93. Escribe expresiones regulares para los siguientes lenguajes sobre
= {a, b}. Puede ser util construir primero un aut omata.
a) El lenguaje de las cadenas que no contienen ni dos a seguidas
ni dos b seguidas.
El aut omata M
1
que reconoce las cadenas que al menos con-
tienen dos a es el siguiente:
88
1 2 3
a
b
b
a
a, b
El aut omata M
2
que reconoce las cadenas que al menos con-
tienen dos ab es el siguiente:
1 2 3
b
a
a
b
a, b
El lenguaje que nos piden es M
1
M
2
, y como resultado de hacer
esta operaci on obtenemos el siguiente aut omata:
13
23
14
4
a
b
b
a
a
b
a, b
r
13
= ar
23
+br
14
+
r
23
= br
14
+ar
4
+
r
14
= ar
23
+br
4
+
r
4
= ar
4
+br
4
r
4
=
Una posible soluci on de este sistema de ecuaciones es
r
13
= (a +)(ba)

(b +)
b) El lenguaje de las cadenas que no contienen la secuencia aab.
Un AFD que reconoce este lenguaje es el siguiente:
1 2 3 4
a
b
b
a
a
b
a, b
r
1
= ar
2
+br
1
+
r
2
= ar
3
+br
1
+
r
3
= ar
3
+br
4
+
r
4
= ar
4
+br
4
=
89
Una posible soluci on de este sistema de ecuaciones es
r
1
= (ab +b)

94. Escribe una gram atica en forma normal de Chomsky para el lengua-
je de las cadenas de la forma a
m
c
n
e
p
d
n
b
m
con m > 0, n 0 y p 0.
S aSb | aBb
B cBd | A
A eA |
Antes de pasar la gram atica a forma normal de Chomsky tenemos
que simplicarla:
a) Eliminaci on de smbolos anulables: V
A
= {A, B}
S aSb | aBb| ab
B cBd | A| cd
A eA | e
b) Eliminaci on de producciones unitarias:
S aSb | aBb| ab
B cBd | eA| e| cd
A eA | e
c) Eliminaci on de smbolos in utiles: no hay
Forma normal de Chomsky:
S Y
aS
X
b
| Y
aB
X
b
| X
a
X
b
B Y
cB
X
d
| X
e
A| e| X
c
X
d
A X
e
A | e
Y
aS
X
a
S
Y
aB
X
a
B
Y
cB
X
c
B
X
a
a
X
b
b
X
c
c
X
d
d
X
e
e
95. Dado un lenguaje regular L, denimos L

como el lenguaje que se


obtiene al invertir el orden de cada par de smbolos de las cadenas
de longitud par de L, es decir:
L

= {a
2
a
1
a
4
a
3
. . . a
2n
a
2n1
| a
1
a
2
. . . a
2n
L}
90
Ayuda: observa que el AFD que se construya debe guardar memoria
de los smbolos impares.
Construye una aut omata nito para L

si L es lenguaje reconocido
por el aut omata.
1 2
b
a
a
b
Puesto que se trata de invertir cada par de smbolos, el AFD que
se construya debe guardar memoria del primer smbolo ledo para,
a continuaci on, provocar la misma transici on que el AFD original
leyendo la secuencia invertida. Necesitamos por tanto un nuevo es-
tado por cada estado y smbolo del AFD original.
Obs ervese que desde cada estado las transiciones provocadas con
dos smbolos, por ejemplo ab, son las mismas que las que se pro-
ducen en el aut omata con dichos smbolos intercambiados (ba).
1
1a 1b
2a
2b
2
a
b
a, b
a, b
a, b
a, b
b
a
96. a) Encuentra una expresi on regular para el conjunto de cadenas
de ceros y unos que acaban en 10x o 01x, donde x puede ser
0 o 1.
Una posible expresi on regular es (0 + 1)

(10 + 01)(0 + 1)
b) Halla el aut omata nito determinista mnimo equivalente.
Partiendo del AFI
0,1
0
1
0
1
0,1
91
se obtiene el AFD
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
que ya es mnimo, como se debe comprobar utilizando alguno de los
algoritmos de minimizaci on.
97. En el lenguaje L, un programa P est a compuesto de una o m as sen-
tencias S,
P SP
P S
cada una de las cuales puede ser
una instrucci on i
S i
una expresi on condicional compuesta de un corchete izquier-
do [ seguido de un programa, un interrogante ?, un pro-
grama, y un corchete derecho ]
S [P?P]
un bloque compuesto de un corchete izquierdo, un programa,
y un corchete derecho.
S [P]
Escribe una gram atica en forma normalizada de Chomsky para
el lenguaje y demuestra que la cadena [i?i?i] no pertenece al
lenguaje.
Como puede verse, mediante la simple traducci on del enunciado se
obtienen las reglas:
P S | SP
S i | [P] | [P?P]
92
Esta gram atica no tiene derivaciones vacas ni smbolos in utiles. La
eliminaci on de las producciones unitarias produce la gram atica sim-
plicada:
P i | [P] | [P?P] | SP
S i | [P] | [P?P]
Y pasando a la forma normalizada de Chomsky:
P i | X
[
Y
P]
| X
[
Y
P?P]
| SP
S i | X
[
Y
P]
| X
[
Y
P?P]
X
[
[
Y
P?P]
PY
?P]
Y
?P]
X
?
Y
P]
Y
P]
PX
]
X
?
?
X
]
]
Para demostrar que la cadena [i?i?i] no pertenece al lenguaje uti-
lizamos el algoritmos de Cocke, Younger y Kasami:
[ i ? i ? i ]
X
[
S, P X
?
S, P X
?
S, P X
]
Y
P]
Y
?P]
Y
P?P]

S olo hemos insertado en las celdas la parte izquierda de la regla


porque necesitamos unicamente saber si la cadena pertenece o no
al lenguaje y no el/los posibles arboles de derivaci on.
98. Se puede construir un aut omata nito determinista que acepte
programas v alidos de la pregunta anterior con un n umero m axi-
mo k de niveles de corchetes prejado? Si se puede, escribe ese
aut omata para k = 0, k = 1 y k = 2. Si no, justica por qu e. Nota:
En el examen se dijo que tambi en se admitiran expresiones regulares
o aut omatas nitos indeterministas.
Es f acil escribir expresiones regulares para cualquier valor de k por
inducci on. La expresi on para k = 0, que representa a todos los pro-
gramas v alidos con ning un corchete, es
r
0
= ii

93
ya que no puede usarse ninguna de las reglas que tienen corchetes.
Este es el caso base.
Si r
k
es la expresi on regular que representa a los programas que
tienen como m aximo k niveles de corchetes, entonces, claramente,
r
k+1
= (i|[r
k
]|[r
k
?r
k
])(i|[r
k
]|[r
k
?r
k
])

representa los programas que tienen como m aximo k + 1 niveles de


corchetes.
Por tanto, el lenguaje es regular para cualquier valor de k.
Los aut omatas nitos correspondientes se pueden deducir de estas
expresiones regulares.
99. Responde, justicando la respuesta, si los siguientes enunciados
son ciertos o falsos:
a) Un AFI para un lenguaje nunca puede tener menos estados
que el AFD mnimo equivalente. Falso. Basta como contrae-
jemplo el AFI obtenido en la pregunta 1 (5 estados) y su AFD
mnimo equivalente (9 estados).
b) La intersecci on entre un lenguaje regular y un lenguaje inde-
pendiente del contexto es siempre un lenguaje regular.
Falso. Un posible contraejemplo sera la intersecci on entre el
conjunto de cadenas binarias que contienen igual n umero de
ceros que de unos (que es independiente del contexto) y el de
cadenas de longitud par (que es regular). La intersecci on es in-
dependiente del contexto porque el primero est a incluido en el
segundo y el resultado de la intersecci on es igual, por tanto, al
lenguaje formado por las cadenas con igual n umero de ceros
que de unos.
c) Al transformar una m` aquina de Mealy en una de Moore esta
ultima puede tener un n umero de estados utiles igual que el
de la primera.
Cierto. Para que se cumpla la condici on del enunciado basta
con que en la m aquina de Mealy de partida todos los arcos que
llegan a un mismo estado tengan el mismo smbolo de salida.
d) Cualquier subconjunto de un lenguaje regular tambi en es un
lenguaje regular.
Falso. Todos los lenguajes, del tipo que sean, son subconjuntos
de un lenguaje regular (el lenguaje universal).
94
100. Encuentra una expresi on regular para el lenguaje reconocido por
el aut omata de la gura:
a
b
a
b
b
a
Del aut omata se deducen las expresiones:
r
1
= + ar
1
+br
2
r
2
= ar
1
+br
3
r
3
= + ar
1
+br
3
De las dos primeras obtenemos
r
1
= +ar
1
+bar
1
+bbr
3
.
Y la tercera la podemos escribir
r
3
= b

( +ar
1
) = b

+b

ar
1
.
Substituyendo esta ultima ecuaci on en la anterior, obtenemos
r
1
= +ar
1
+bar
1
+bbb

+bbb

ar
1
= ( +bbb

) + (a +ba +bbb

a)r
1
.
Que podemos resolver as:
r
1
= (a +ba +bbb

a)

( +bbb

)
101. Obt en una expresi on regular que represente los lenguajes denidos
en los siguientes apartados:
a) (a +b)

(ab +b

ab

b) aba

b
+
Para el primero, solo hay que darse cuenta que hay que hacer el
complementario de (ab +b

ab

.
1
2
3
4 5
a
b

b
a
b

95
El AFD que se obtiene a partir de este AFI es el siguiente:
C

(1) = {1, 4} = q
1

a
(q
1
) = C

({2, 5}) = {1, 2, 3, 4, 5} = q


2

b
(q
1
) = C

({4}) = {4} = q
3

a
(q
2
) = C

({2, 5}) = q
2

b
(q
2
) = C

({3, 4, 5}) = {1, 3, 4, 5} = q


4

a
(q
3
) = C

({5}) = {1, 3, 4, 5} = q
4

b
(q
3
) = C

({4}) = q
3

a
(q
4
) = C

({2, 5}) = q
2

b
(q
4
) = C

({4, 5}) = {1, 3, 4, 5} = q


4
Si hacemos el complementario del aut omata que acabamos de
obtener tenemos:
1
2
3
4
a
b
b
a
a
b
a
b
Se observa f acilmente que la expresi on regular bb

= b
+
re-
conoce el lenguaje aceptado por este aut omata.
Para el segundo, sin hacer nada se ve que es ab. Pero se puede
obtener f acilmente realizando la intersecci on sobre los dos lengua-
jes.
102. Dada la siguiente gram atica:
S aBB | bB | aAD | Db
A bcCCC | cA
B a | aBB | aF
C aA | FC
D DAb | bA
E b | bE | bEBB
F aF | bA
a) elimina los smbolos no terminales que sean in utiles. Muestra
la gram atica despu es de la eliminaci on.
96
Conjunto de smbolos alcanzables desde el smbolo inicial de la
gram atica V
A
= {B, A, D, C, F}
Conjunto de smbolos generadores V
G
= {B, E, S}
Conjunto de smbolos utiles = V
u
= V
A
V
G
= {S, B}
por lo tanto la gram atica resultante es:
S aBB | bB | aAD | Db
B a | aBB | aF
b) repite el ejercicio sobre la gram atica inicial a nadiendo las sigu-
ientes producciones: C a y D aB. En este caso pasa la
gram atica resultante a forma normal de Chomsky.
Conjunto de smbolos alcanzables desde el smbolo inicial de
la gram atica V
A
= {B, A, D, C, F} Conjunto de smbolos gener-
adores V
G
= {B, C, E, S, A, D, F}
Conjunto de smbolos utiles = V
u
= V
A
V
G
= {S, A, B, C, D, F},
es decir, todos menos E.
La gram atica resultante en forma normal de Chomsky ser a:
S X
a
Y
BB
| X
b
B | X
a
Y
AD
| DX
b
A X
b
Y
cCCC
| X
c
A
B a | X
a
Y
BB
| X
a
F
C X
a
A | FC
D Y
DA
X
b
| X
b
A
E b | X
b
E | X
b
Y
EBB
F X
a
F | X
b
A
Y
BB
BB
Y
AD
AB
Y
cCCC
X
c
Y
CCC
Y
DA
DA
Y
EBB
EY
BB
Y
CCC
CY
CC
Y
CC
CC
X
a
a
X
b
b
X
c
c
103. Responde estas cuestiones justicando brevemente tu respuesta:
a) Un aut omata nito acepta una determinada cadena que acaba
en a. Di si las siguientes armaciones son verdaderas o falsas:
97
1) Si el aut omata es determinista, existe al menos un esta-
do de aceptaci on al cual se llega a trav es de al menos una
transici on que lee el smbolo a. Verdadero: si no hay una
transici on que lea a y acabe en un estado de aceptaci on nun-
ca se podr a aceptar una cadena que acaba en a
2) Si el aut omata es indeterminista, existe al menos un es-
tado de aceptaci on al cual se llega a trav es de al menos
una transici on que lee el smbolo a Falso: podra ser que
el estado de aceptaci on se alcanzase mediante transiciones
desde un estado de no aceptaci on al que s se llega con el
smbolo a.
b) La intersecci on de dos lenguajes independientes del contex-
to es siempre un lenguaje independiente del contexto. Ver-
dadero o falso? Falso: la intersecci on de los lenguajes indepen-
dientes del contexto L
1
= {a
n
b
n
c
k
: n, k 0} y L
2
= {a
k
b
n
c
n
:
n, k 0} es el lenguaje L = {a
n
b
n
c
n
: n 0} que no es indepen-
diente del contexto.
c) En general se cumple que, dado un lenguaje L, L
+
L

. Da
un ejemplo de lenguaje L para el que se cumpla que L
+
= L

L = {, a} , siendo = {a}
104. Escribe un aut omata nito determinista que acepte las cadenas de
= {0, 1} que tienen un 1 tanto en la antepen ultima como en la
ultima posici on. Se escribe el aut omata indeterminista M = (Q, , , Q
I
, F)
con Q = {q
1
, q
2
, q
3
, q
4
}, Q
I
= {q
1
}, F = {q
4
} y la siguiente tabla de
transiciones:
(q
1
, 0) = {q
1
}
(q
1
, 1) = {q
1
, q
2
}
(q
2
, 0) = {q
3
}
(q
2
, 1) = {q
3
}
(q
3
, 1) = {q
4
}
y luego se determiniza y se minimiza.
105. Considera la siguiente m aquina de Mealy indeterminista llama-
da transductor de letras. Se trata de una m aquina de Mealy en la
que hemos hecho los siguientes cambios:
Tenemos un conjunto de estados iniciales Q
I
La funci on de transici on y de salida se funden en una unica
funci on
: Q(( {}) ( {}) P(Q)
98
(es decir, desde un estado Q se puede ir a un conjunto de es-
tados, y en cada transici on se puede leer un smbolo de o
nada y escribir un smbolo de o nada).
Esboza un algoritmo que, dada una cadena de entrada w

nos
d e todas las cadenas de salida de

posibles.
La idea es crear, despu es de leer cada smbolo de entrada, un conjun-
to de pares estadocadena de salida (q, z), con q Q y z

. Si V
x
es ese conjunto despu es de leer la cadena x, W
xa
se calcula as:
Crear W
xa
vaco.
Avance: para cada (q, z) V
x
se estudian las transiciones que
salen de q que leen el smbolo a; si la transici on va al estado q

y
escribe el smbolo b se a nade (q

, zb) a V
xa
; si la transici on escribe
se a nade (q

, z).
Clausura-: para cada (q

, z

) V
xa
, se estudian las transiciones
que salen de q

que leen ; si la transici on va al estado q y escribe


el smbolo c se a nade (q

, zc) a V
xa
; si la transici on escribe se
a nade (q, z

). Esto se hace hasta que no hay transiciones que


lean disponibles.
El algoritmo empieza con V

, la clausura- de {(q, ) : q Q
I
}, es
decir, de todos los estados iniciales sin ninguna cadena de salida.
Cuando se acaba de procesar la cadena completa w, se escribe el con-
junto {z : (q, z) V
w
}.
106. Describen el mismo lenguaje las expresiones regulares a(a + ba)

y (a

+ab)

a? Demu estralo formalmente.


Se trata de construir el AFD mnimo para las dos ER y comprobar
si son iguales. El AFD mnimo de ambas es el mismo (y por lo tanto
s son equivalentes):
a
a
b
107. Responde brevemente las siguientes cuestiones:
a) Justica la veracidado falsedadde las siguientes armaciones:
1) prejos(L
1
L
2
) = prejos(L
1
) prejos(L
2
)
2) prejos(L
1
L
2
) = prejos(L
1
) prejos(L
2
)
99
La primera es falsa. Contraejemplo: sean L
1
= L
2
= {ab}. En-
tonces aab prejos(L
1
) prejos(L
2
) pero aab prejos(L
1
L
2
).
La segunda es verdadera.
b) si AB =

cual de las siguientes opciones es la verdadera


(s olo es posible una opci on)
1) A B
2) B A
3) A = B
4) 1 y 3 son ciertas
La opci on correcta es la 4. Si AB =

es que AB = y por
tanto todos los elementos de A est an en B: A B.
c) Dados dos lenguajes L
1
y L
2
no regulares, podra ser regular
L
1
L
2
? S lo podran ser, puesto que, por ejemplo, el lenguaje
formado por las cadenas con longitud n umero primo y el for-
mado por las cadenas con longitud divisible son no regulares y
su uni on es regular
108. Un comentario en el lenguaje Pascal empieza con (
*
y acaba con

*
). Simplicando el alfabeto del lenguaje a = {x,
*
, (, )}, escribe
una expresi on regular para estos comentarios. (nota: un aut omata
nito puede ser de ayuda).
Es f acil escribir un AFD y extraer de el la expresi on regular. Para
simplicar la notaci on llamaremos i a (, a a
*
, d a ) (izquierdo,
asterisco y derecho).
El AFDes M = (Q, , , q
I
, F), con Q = {q
1
, q
2
, q
3
, q
4
, q
5
}, = {a, d, i, x},
q
I
= q
1
, F = {q
5
} y
a
a
i,x
1 2 3 4 5
i
i,d,x
a
d
y de el se extraen las siguientes ecuaciones regulares: y de el se ex-
traen las siguientes ecuaciones regulares:
r
1
= ir
2
r
2
= ar
3
r
3
= (x +i +d)r
3
+ar
4
r
4
= (x +i)r
3
+ar
4
+dr
5
r
5
=
100
Despejando r
1
se obtiene f acilmente
r
1
= ia[x +i +d +aa

(i +x)]

aa

d,
o sea,
r
1
= (
*
[x + ( + ) +
*

(( +x)]

),
109. Escribe una gram atica en forma normalizada de Chomsky para el
lenguaje L = {a
m
b
m+n
c
n+1
: m, n 0}
De la expresi on se extrae la gram atica
S AB
A aAb |
B bBc | c
que luego se pasa f acilmente a la forma de Chomsky. Eliminando las
producciones nulas:
S AB | B
A aAb | ab
B bBc
B c
y las unitarias:
S AB | bBc | c
A aAb | ab
B bBc
B c
se obtiene una gram` atica sin smbolos in utiles, que se pasa f acil-
mente a la forma normalizada de Chomsky:
S AB | X
b
Y
Bc
| c
A X
a
Y
Ab
| X
a
X
b
B X
b
Y
Bc
B c
X
a
a
X
b
b
X
c
c
Y
Bc
BX
c
T
Ab
AX
b
101
110. Dado un lenguaje L, denimos L

como el lenguaje que se obtiene


al eliminar el primer y ultimo smbolos de las cadenas de L, es
decir:
L

= {x

: axb L; a, b }
Construye una aut omata nito para L

si L es el lenguaje reconoci-
do por el aut omata de la gura.
0
0
1
0
1 1
A la vista del resultado, puedes describir un procedimiento que
permita encontrar L

para cualquier lenguaje regular L?


La soluci onn se obtiene retrasando un estado (por todos los arcos
posibles) el estado inicial y adelantando un estado (tambi en por
todos los arcos posibles) el/los estados de aceptaci on.
0 0
1
0
1 1
Obs ervese que el aut omata obtenido sera, en general, indetermin-
ista.
111. Construir un AFD mnimo para ((( +a)b)

( +b)
Un AFI que reconoce la expresi on anterior podra ser el siguiente:
1 2 3
4
a
b
b

b
El aut omata mnimo es el siguiente:
102
1 2 3
b
a
b
a
a, b
112. Responde las siguientes cuestiones, y justica brevemente tu re-
spuesta:
Por qu e cuando se realiza una simplicaci on de una gram atica
es conveniente eliminar antes las transiciones vacas que las
unitarias?
porque si cambiamos el orden, es posible que despu es de elim-
inar las transiciones vacas vuelvan a aparecer transiciones uni-
tarias
Cu al de las siguientes opciones es cierta:
a)

= b) {}

= c) {}

=
la verdadera es la b), teniendo en cuenta que

= {}
Dada una m aquina de Mealy M
1
, cuya salida se utiliza como
entrada de un AFD M
2
, el resultado de esta composici on nos
permite reconocer un lenguaje cuyo alfabeto es el mismo que
el de M
2
(verdadero o falso).
falso, el lenguaje debe ser el de M
1
, salvo que ambos lenguajes
coincidan
Si una gram atica es ambigua, el lenguaje que describe no puede
ser regular (verdadero o falso).
falso, el lenguaje universal (que es regular) se puede representar
mediante una gram atica ambigua
S 0S| 0A| 1S|
A 0A| 1A|
113. Dada la siguiente gram atica G:
S ABb | AA
A a
B a | b | BB
a) Realiza las mnimas transformaciones necesarias que permi-
tan utilizar el algoritmo de Cooke, Younger y Kasami con G.
b) Aplicando dicho algoritmo comprueba que la cadena = abaab
pertenece al lenguaje generado por G.
103
c) Indica qu e subcadenas de tambi en pertenecen a L(G).
d) Es G ambigua? Por qu e?
114. La gram atica G

en forma normalizada de Chomsky es:


S AC | AA
A a
B a | b | BB
C BD
D b
a) La tabla CYK resultante es:
b a a b a
A,B B,D A,B A,B B,D
B,C B S,B B,C
B B S,B,C
B B,C
S,B
Puesto que en la celda del v ertice est a el smbolo inicial pode-
mos armar que pertenece a L(G).
b) A la vista de la tabla se puede armar que las cadenas aa y aab
tambi en pertenecen a L(G), ya que en las celdas correspondi-
entes se encuentra el smbolo inicial S.
c) De la tabla se pueden extraer dos arboles de derivaci on para ,
por lo que podemos armar que G es ambigua.
S
A C
B D
B B
B B
a
b
a a
b
S
A C
B D
B B
B B
a
a
b a
b
104
115. Obt en un AFD correspondiente al lenguaje L(M) (a(ba)

)
R
, sien-
do M el aut omata de la gura y R el operador de inversi on.
a
a
b
b
Teniendo en cuenta que (a(ba)

)
R
= (ab)

a, hay que realizar el pro-


ducto cartesiano entre los aut omatas de ambos lenguajes (incluidos
los estados de absorci on) y considerar que son de aceptaci on los es-
tados que son de aceptaci on para el primer lenguaje y no lo son para
el segundo. En nuestro caso el unico estado de aceptaci on es el 2C.
a
a
b
b
b
a
1 2 3
A B
b
a
a,b
a,b
4
C
b
a
a
a
b
b
1A 2B 3A
b
a
a,b
4C
b
3C
a
b
2C
a
116. Dado un lenguaje L, denimos L

como el lenguaje de todos los


prejos y sujos propios de L. Construye un aut omata nito para
L

si L es el lenguaje reconocido por el aut omata de la gura:


a
b
b
a,b
a
b
1 2
a
a
b
3
4 5
105
Describe el procedimiento a seguir en el caso de tener que encon-
trar L

para cualquier lenguaje regular L. Ayuda: dada una cadena


w, un prejo propio de esta cadena es un prejo de longitud estric-
tamente inferior a la longitud de la cadena.
Sujos propios: se obtiene retrasando el estado inicial para todos los
posibles arcos y haciendo que el resto de estados sean ahora iniciales.
Los prejos propios se obtienen adelantando un estado (por todos
los arcos posibles) los estados de aceptaci on y haciendo que todos
sean de aceptaci on (hasta llegar a estos).
L

es la uni on de los prejos y sujos propios.


Ejemplo: dado el aut omata del enunciado,
Aut omata que acepta prejos propios (A): el mismo que el del enun-
ciado haciendo que los estados 1, 2, 3 y 4 sean de aceptaci on.
a
b
b
a,b
a
b
1 2
a
a
b
3
4 5
A
Aut omata que acepta sujos propios (B): el mismo que el del enun-
ciado quitando el estado inicial, y haciendo que los estados 2, 3 y 4
sean ahora iniciales.
a
b
b
a,b
a
b
1 2
a
a
b
3
4 5
B
Se trata de hacer la uni on de los dos aut omatas A y B.
106