Académique Documents
Professionnel Documents
Culture Documents
q0
q1
(a) ()
Soluci
on:
El lenguaje que reconoce este automata es un lenguaje binario donde las
palabras aceptadas contienen un n
umero par de unos:
L = {w | w {0, 1}, n1 (w) mod 2 = 0}
0
q0
1
1
q1
q2
0, 1
(b) ()
Soluci
on:
El lenguaje aceptado por este automata es un lenguaje binario donde todas
las palabras aceptadas tienen todos los ceros situados delante de todos los
unos:
L = {0n 1m | n 0, m 0}
q0
q1
0, 1
q2
0, 1
(c) ()
Soluci
on:
El lenguaje reconocido por este automata, es un lenguaje binario que esta formado por palabras compuestas por un cierto n
umero de ceros y finalizadas
con un uno:
L = {0n 1 | n 0}
Pagina 1 de 14
0
q0
q1
q2
0, 1
(d) ()
Soluci
on:
El automata anterior acepta palabras binarias que contienen la secuencia
01:
L = {w | w {0, 1} , w contiene 01}
1
1
1
q0
q1
q2
q3
(e) ()
Soluci
on:
Dado una palabra x cualquiera. Obviamente, el automata, al procesar x se
quedara en alguno de sus estados. Se puede observar que desde cualquier
estado se llega a q3 con la cadena 101. Por tanto, el lenguaje reconocido por
el automata es el conjunto de palabras binarias que finalizan con la secuencia
101:
L = {xy | x {0, 1}, y = 101}
q0
0
q2
0
q1
(f) ()
0
1
0
q3
Soluci
on:
El lenguaje reconocido por el automata corresponde a las siguientes cadenas
binarias:
1. Si la cadena no tiene ning
un uno, se reconocen cadenas con un n
umero
de ceros par.
2. Si el n
umero de unos es par (y mayor que cero), la cadena debe terminar
con un n
umero de ceros impar.
Pagina 2 de 14
3. Si el n
umero de unos es impar, la cadena debe terminar con un n
umero
de ceros par.
Es decir:
L = {02m | m 0}
{x102m | x {0, 1}, n1 (x) mod 2 = 0, m 0}
{x102m+1 | x {0, 1}, n1 (x) mod 2 = 1, m 0}
0
q0
0
q1
1
1
q2
0
q3
0, 1
(g) ()
Soluci
on:
El lenguaje reconocido por este automata es el cierre de la union de otros
dos lenguajes. Un primer lenguaje que reconoce cadenas formadas por la
concatenacion de la secuencia 01. Un segundo lenguaje que hace lo mismo
pero con la secuencia 10.
Si definimos estos lenguajes:
L1 = {(01)n | n 0}
L2 = {(10)m | m 0}
L3 = L1 L2
Por lo tanto, el lenguaje aceptado por este automata es:
L = L3
1
1
q0
(h) ()
q1
q2
0
q3
Soluci
on:
Pagina 3 de 14
a
q0
a
b
q1
q2
q3
a
a
(b) () Las cadenas que no contengan la secuencia abab.
Soluci
on:
Ab = ({a, b}, {q0 , q1 , q2 , q3 , q4 }, fb , q0 , {q0 , q1 , q2 , q3 })
Donde fb esta definida por el siguiente grafo de transicion:
b
b
q0
q1
q2
q3
q4
a, b
a
a
(c) () Las cadenas tal que cada bloque de cinco smbolos consecutivos contienen
al menos dos bs.
Pagina 4 de 14
Soluci
on:
Ac = ({a, b}, {q0 , q1 , q2 , q3 , q4 , q6 , q7 , q8 , q9 , q10 , q11 , q12 , q13 }, fc , q0 , {q13 })
Donde fc esta definida por el siguiente grafo de transicion:
b
b
b
q5
q0
a
q1
a
b
a
q10
a, b
b
q11
a, b
b
q12
a, b
b
q13
q6
q7
q8
q9
q4
q2
b
a
q3
a, b
a, b
a
Pagina 5 de 14
b
a
a
q0
q1
b
b
p
q0
a
a
a
i
a
b
1bp
a
1bi
a
b
2bp
a
2bi
3bp
a
a
3bi
b
Al igual que en el apartado anterior, en este automata debemos recordar
varias cosas. Por un lado, debemos saber si el n
umero de as ledas son pares
y por otro lado, debemos saber si el n
umero de bs es m
ultiplo de tres. Para
dise
nar el automata procederemos de forma analoga al caso anterior. En este
apartado, se ha decidido nombrar a los estados del automata de forma que
conozcamos la sematica de cada uno de los mismos. De esta forma, si la letra
p forma parte del nombre del automata significara que el n
umero de letras
a es par (y al contrario si tenemos la letra i). Y por otra parte, en el
nombre del automata tambien definimos el n
umero de letras b que hemos
ido reconociendo.
Si queremos ser mas correctos, siempre podemos renombrar los estados al
finalizar el dise
no, de forma que los nombres sean los habituales (q0 , q1 , ...).
(f) () L(m, n) := {w | na (w) mod m = 0 y nb (w) mod n = 0}.
Soluci
on:
Para poder dar una solucion generica como se pide en el ejercicio, es mas
facil generar unos cuantos automatas para intentar identificar el patron que
Pagina 6 de 14
siguen:
m=2,n=2
m=3,n=3
a
q0
1a
b
q0
b
1a
2b
2a
b
1a1b
b b
a
1b
1b
a
a
a
a
1a2b
2a1b
b
2a2b
1a1b
q0 a
b
b
2b
1a2b
...
1aXb
b
...
2a1b
Ya
b
...
2a2b
...
...
...
...
b
...
a
a
Y a2b
a
2aXb
Y a1b
a
b
a
b
a
b
Xb
1a1b
2a
b
b
...
b
1b
1a
Y aXb
Pagina 7 de 14
AFD1 =
({a, b, c}, {p, q, r, s, t, u, v}, f1, p, {s, t, u, v})
f1 a b c
p r t q
q q v p
r p u r
*s q t u
*t t v u
*u t t v
*v u u t
AFD2 =
({a, b, c}, {p, q, r, s, t}, f2, p, {r, s, t})
f1 a
p s
q t
*r q
*s s
*t t
b c
q p
p q
t s
t s
s s
Soluci
on:
Para comprobar que los dos automatas son equivalentes, lo primero que deberemos hacer es hallar sus respectivos automatas mnimos equivalentes.
Minimizacion de f1 :
Primero eliminamos los estados inaccesibles. Por lo tanto, s se elimina de la tabla
de transiciones. Despues, calcularemos el conjunto cociente Q/E:
Q/E0 = {{p, q, r}, {t, u, v}}
Q/E1 = {{p, q, r}, {t, u, v}}
Q/E0 = Q/E1
b
B
B
c
A
B
a, b, c
a, c
Minimizacion de f2 :
Primero eliminamos los estados inaccesibles. Por lo tanto, r se elimina de la tabla
de transiciones. Despues, calcularemos el conjunto cociente Q/E:
Q/E0 = {{p, q}, {s, t}}
Pagina 8 de 14
b
A
B
c
A
B
b, c
a, b, c
a
Como se desprende de sus tablas de transicion, estos dos automatas no son isomorfos y por lo tanto, no son equivalentes.
4. () Comprobar cuales de los siguientes AFD son equivalentes entre s.
Pagina 9 de 14
AFD1 =
({a, b}, {p, q, r, s, t, u}, f1, p, {q, r})
f1 a b
p q p
*q r s
*r q t
s t u
t s u
u q u
AFD3 =
({a, b}, {p, q, r, s, t, u}, f3, p, {s, t, u})
f3 a b
p u q
q t r
r s r
*s t r
*t u q
*u s p
AFD5 =
({a, b}, {p, q, r, s, t}, f5, p, {r, s})
f5 a b
p q r
q q t
*r s q
*s r q
t r q
AFD2=
({a, b}, {p, q, r, s, t, u}, f2, p, {u})
f2 a b
p q u
q r t
r s t
s r t
t u s
*u u q
AFD4 =
({a, b}, {p, q, r, s, t, u}, f4, p, {r, s})
f4 a b
p r q
q r q
*r s t
*s r t
t t q
u u p
AFD6 =
({a, b}, {p, q, r, s, t, u}, f6, p, {r, s, t})
f4 a b
p q r
q p s
*r t u
*s t u
*t t u
u u u
Soluci
on:
Al igual que en el ejercicio anterior, hallaremos el automata mnimo equivalente
de cada uno de ellos.
Minimizacion de f1 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Q/E0 = {{p, s, t, u}, {q, r}}
Q/E1 = {{p, u}, {s, t}, {q, r}}
Q/E2 = {{p, u}, {s, t}, {q, r}}
Q/E2 = Q/E1
Pagina 10 de 14
f1 a b
A C A
B B A
*C C B
Minimizacion de f2 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Q/E0 = {{p, q, r, s, t}, {u}}
Q/E1 = {{p}, {q, r, s}, {t}, {u}}
Q/E2 = {{p}, {q, r, s}, {t}, {u}}
Q/E2 = Q/E1
f2 a b
A B D
B B C
C D B
*D D B
Minimizacion de f3 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Q/E0 = {{p, q, r}, {s, t, u}}
Q/E1 = {{p, q, r}, {s, t, u}}
Q/E0 = Q/E1
f3 a
A B
*B B
b
A
A
Minimizacion de f4 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Pagina 11 de 14
f4 a b
A C A
B B A
*C C B
Minimizacion de f5 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Q/E0 = {{p, q, t}, {r, s}}
Q/E1 = {{p}, {q}, {t}, {r, s}}
Q/E2 = {{p}, {q}, {t}, {r, s}}
Q/E2 = Q/E1
f5 a b
A B D
B B C
C D B
*D D B
Minimizacion de f6 :
No tiene estados inaccesibles,por lo tanto, pasamos a calcular el conjunto cociente
Q/E:
Q/E0 = {{p, q, u}, {r, s, t}}
Q/E1 = {{p, q}, {u}, {r, s, t}}
Q/E2 = {{p, q}, {u}, {r, s, t}}
Q/E2 = Q/E1
Pagina 12 de 14
f6 a b
A A C
B B B
*C C B
Pagina 13 de 14
q1
0
0
q2
q3
1
1
0
Pagina 14 de 14
q4