Beruflich Dokumente
Kultur Dokumente
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
({1}) = {1, 2, 4, 6}
a
(Q
1
) = C
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
= {x L | x
R
L}.
Justica que si L es regular, entonces 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
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 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 y L regular.
Ejemplo:
L = { cadenas capic ua } y L = { cadenas no capic ua }
L L
|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)
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)
+ 1
01((01)
+ 1)
= ((1
01((01)
+ 1)
=
(1
01((01)
+ 1)
= (1 + 1)
01((01)
+ 1)
= 1
01((01)
+ 1)
2
9
7
0
1
8
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
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}
= {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
aa
(ab +ab
a)
= (r
, (a
+ a
= ((a
(a
= ((a +
b)
= (a +b)
aa
(ab +ab
a)
2
7
5
a
b
6
10
8
a
a
9
b
3
(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
b
(Q
3
) = C
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
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
(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
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
0)
(0
1 + 1)
= s
0)
(0
1)
2
7
5
0
6
8
9 3
0
4
1
0
1
({1}) = {1, 2, 5, 7, 8}
0
(Q
1
) = C
1
(Q
1
) = C
({9}) = {9, 7, 8} = Q
3
0
(Q
2
) = C
({3, 6, 8}) = Q
2
1
(Q
2
) = C
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
= {1, 2, 3}
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
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
, es decir,
suf
L
(L) = {y L
: x
, xy L}.
a) Justicar que si L y L
= L(0(01)
)
Soluci on:
a) Se trata de encontrar las cadenas y L
=
=
=
0
0
1
(10+0)
=
(r +)
= r
(10 + 0)
= ((01 + 1)
(10 + 0)
+ )
= ((01 +
1)
(10 + 0)
= (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
({1}) = {1, 4} = Q
1
(Q
2
, 1) =
(Q
3
, 0) = 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)
0 S
S
`
`
0 A
.
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
que, susti-
tuy endolo en S, nos permite obtener una expresi on regular para
el lenguaje +aa
= {y
: x L, xy L}.
Es decir, 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)
(bbb
+) +b
) y L
2
= L((a + b)
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
= 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)
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
1)
(10
1)
(0
+ 1)
Teniendo en cuenta que ( + 10
1)
= (10
1)
y que r
= r
y
r
= r
1)
(0
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
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)
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)
(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
(1) = {1, 2} = q
1
a
(q
1
) = C
b
(q
1
) = C
a
(q
2
) = C
({1, 3}) = q
2
b
(q
2
) = C
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
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
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)))
= ((0 + 11)(01)
(00 +
1) + 10)
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)
2) (rs)
= ((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
(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
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
+ 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))
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
b
(q
1
) = C
() = = q
3
a
(q
2
) = C
({4, 3, 7}) = q
2
b
(q
2
) = C
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
b
(q
1
) = C
() = = q
3
a
(q
2
) = C
({2, 3, 5}) = q
2
b
(q
2
) = C
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))
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
(1) = {1, 2, 3, 5, 6} = q
1
a
(q
1
) = C
b
(q
1
) = C
() = = q
3
a
(q
2
) = C
({4, 3, 7}) = q
2
b
(q
2
) = C
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
b
(q
1
) = C
() = = q
3
a
(q
2
) = C
({2, 3, 5}) = q
2
b
(q
2
) = C
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
(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
= {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]
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
])
( +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
b
(q
1
) = C
({4}) = {4} = q
3
a
(q
2
) = C
({2, 5}) = q
2
b
(q
2
) = C
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
= 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
, zc) a V
xa
; si la transici on escribe se
a nade (q, z
, 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)
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
= {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
( +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
)
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)