Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Taller 5
Angela Marı́a Cárdenas Orjuela,
David Julian Bustos Cortes,
Gabriela Marı́a Garcı́a Romero
Abril 2021
1) Sea Σ = {a, b}. Diseñar AFN-λ (autómatas finitos no-deterministas con transiciones λ) que
acepten los siguientes lenguajes:
a q1
b
b
q0
a b a
q2 λ q3
2) Sea Σ = {0, 1}. Diseñar AFN-λ (autómatas finitos no-deterministas con transiciones λ) que
acepten los siguientes lenguajes:
q4
1
q6
0 q3 0
0 1 1
0
q0 0 q1 1 q2 λ q5 1 q8
1
0
q7
1
Problema 2. Diseñe un AFN-λ que acepte el lenguaje de todas las cadenas de longitud 3n, con
n ≥ 1, tales que al menos uno de los sı́mbolos en la posición 3k - 2, 3k - 1 y 3k es cero para todo
k, con 1 ≤ k ≤ n.
0 0, 1 0, 1
q0 q1 q2 q3
0 0
1
q4 1 q5
2
40 (q2 , a) = λ[4(λ[q2 ], a)] 40 (q3 , b) = λ[4(λ[q3 ], b)]
= λ[4({q2 }, a)] = λ[4({q3 }, b)]
= λ[q3 ] = λ[q2 ]
= {q3 } = {q2 }
q1
a
q0 a q3 b
a
b
q2
b
q4 a
Problema 4. Utilizar la noción de complemento de un AFD para diseñar AFD que acepten los
siguientes lenguajes:
(1) El lenguaje L de todas las cadenas que no contienen la subcadena bc. Alfabeto: {a, b, c}.
Diseñamos primero un AFD µ que acepte el lenguaje de todas las cadenas que tienen la
subcadena bc. Esto lo conseguimos forzando la trayectoria bc:
a, c b a, b, c
b
q0 q1 c q2
a
3
a, c b a, b, c
b
q0 q1 c q2
a
Problema 5. Realizar Ejercicio 1 de la Sección 2.11. Ejercicio 2 -((ii), (iii)) de la Sección 2.11.
1 Utilizar el Teorema 2.11.1 (iii) para construir un AFD que acepte el lenguaje L de todas las
cadenas sobre el alfabeto Σ = {a, b} que tienen longitud impar y que no contienen dos bes
consecutivas, expresando L como diferencia de dos lenguajes.
Encontramos un AFD µ1 que acepta el lenguaje L1 (El lenguaje de todas las cadenas de
longitud impar):
a, b
q0 q1
a, b
Encontramos un AFD µ2 que acepta el lenguaje L2 (El lenguaje de todas las cadenas que
contienen dos bes consecutivas):
a a, b
b
p0 p1 b p2
a
σ : (Q × P ) × Σ → Q × P
σ((q, p), a) := (σ1 (q, a), σ2 (p, a))
b
(q1 , p0 ) (q0 , p1 ) (q1 , p2 )
a a
a
a, b
(q0 , p0 )
a a, b
b
b
(q1 , p1 ) (q0 , p2 )
4
El autómata obtenido sin estados limbo es:
q1 , p0 q0 , p1
a a
(q0 , p0 )
b
q1 , p1
2 Utilizar el Teorema 2.11.1 para construir AFD que acepten los siguientes lenguajes sobre el
alfabeto {0, 1}:
(ii) El lenguaje L de todas las cadenas que tienen longitud impar y que terminan en 01.
Encontramos un AFD µ1 que acepta el lenguaje L1 (El lenguaje de todas las cadenas
de longitud impar):
0, 1
q0 q1
0, 1
Encontramos un AFD µ2 que acepta el lenguaje L2 (El lenguaje de todas las cadenas
que terminan e 01):
1 0
1
p0 0 p1 p2
0
1
σ : (Q × P ) × Σ → Q × P
σ((q, p), a) := (σ1 (q, a), σ2 (p, a))
5
1
1 0 1
(q0 , p0 ) (q1 , p0 ) (q0 , p1 ) (q1 , p2 )
1 0
1
0
(q0 , p2 )
0
0
0
1
(q1 , p1 )
(iii) El lenguaje L de todas las cadenas que tienen longitud impar y que no terminan en 11.
Encontramos un AFD µ1 que acepta el lenguaje L1 (El lenguaje de todas las cadenas
de longitud impar):
0, 1
q0 q1
0, 1
Encontramos un AFD µ2 que acepta el lenguaje L2 (El lenguaje de todas las cadenas
que terminan en 11):
0 1
1
p0 p1 1 p2
0
0
σ : (Q × P ) × Σ → Q × P
σ((q, p), a) := (σ1 (q, a), σ2 (p, a))
6
0
0 1 1
(q0 , p0 ) (q1 , p0 ) (q0 , p1 ) (q1 , p2 )
0 0
0
0 1
1
1
1
(q1 , p1 ) (q0 , p2 )
Problema 6. Con lo visto en clase diseñe un AFD que acepte el lenguaje de cadenas binarias en
la que toda subcadena o bloque de cuatro sı́mbolos contiene al menos dos ceros.
Encontramos un AFD µ1 que acepta el lenguaje L1 (El lenguaje de todas las cadenas que no
contienen la subcadena 111):
0
1 1
q0 q1 q2
0
0
Encontramos un AFD µ2 que acepta el lenguaje L2 (El lenguaje de todas las cadenas que no
contienen las subcadenas 1101 y 1111):
0
1 1 0, 1
p0 p1 p2 p3
0
Encontramos un AFD µ3 que acepta el lenguaje L3 (El lenguaje de todas las cadenas que no
contienen la subcadena 1011 y 1111):
0
1 0, 1 1
t0 t1 t2 t3
0
0
7
Entonces L4 = L(µ2 ) ∩ L(µ3 ) = L2 ∩ L3 . Se hace el producto cartesiano µ2 × µ3 ; El conjunto de
estados de aceptación esta dado por: F = F2 × F3 :
0
0
1 1 1
(p0 , t0 ) ((p1 , t1 ) (p2 , t2 ) (p3 , t3 )
0
0 0 (p3 , t0 )
0 (p0 , t2 )
(p1 , t3 )
1 1
(q0 , p0 , t0 ) (q1 , p1 , t1 ) (q2 , p2 , t2 )
0
0 0 (q0 , p3 , t0 )
0 (q0 , p0 , t2 )
(q1 , p1 , t3 )