Está en la página 1de 8

Introducción a la Teorı́a de la Computación

Taller 3
Angela Marı́a Cárdenas Orjuela,
David Julian Bustos Cortes,
Gabriela Marı́a Garcı́a Romero
Marzo 2021

Problema 1. Autómatas finitos deterministas

1. Sea Σ = {a, b}. Diseñar AFD (autómatas finitos deterministas) que acepten los siguientes
lenguajes:

(viii) a∗ b ∪ b∗ a. Un AFD que acepte este lenguaje requiere como mı́nimo 6 estados más un
estado limbo (7 estados en total).
Se define al autómata finito determinı́stico (AFD) como µ = {Σ, Q, q0 , F, δ}, donde:
Σ = {a, b}, Q = {q0 , q1 , q2 , q3 , q4 , q5 , q6 } y F = {q1 , q2 , q5 } es el conjunto de los estados
de aceptación

δ :Q×Σ→Q
(q, a) 7→ δ(q, a)

δ a b
q0 q1 q2
q1 q3 q5
q2 q5 q4
q3 q3 q5
q4 q5 q4
q5 q6 q6
q6 q6 q6
q0 es el estado inicial
a

q1 a q3
a, b
a b
b
a, b
q0 q5 q6
a
a
b
q2 q4
b

1
(x) b∗ (ab ∪ ba)a+
Se define el autómata finito no determinista (AFN) µ :

a q1 b
b a

q0 q3 q4
a

b a
q2

Se convierte el autómata no deterministico en uno deterministico:

δ a b
q0 q1 {q0 , q2 }
q1 φ q3
q2 q3 φ
q3 q4 φ
q4 q4 φ
{q0 , q2 } {q1 , q3 } {q0 , q2 }
{q1 , q3 } q4 q3

q0 a q1
b
b
q3

{q0 , q2 } b
a
b
a
{q1 , q3 } q4 a
a

2. Sea Σ = {0, 1}. Diseñar AFD (automatas finitos deterministas) que acepten los siguientes
lenguajes:

(v) El lenguaje de todas las cadenas que tienen un número par de ceros pero no tienen dos
ceros consecutivos.

Se define el autómata finito determinista (AFD) µ :


1 1

q0 0 q1 1 q2

1 0
q3

2
(vii) 1+ (10 ∪ 01+ )∗

Se define el autómata finito no determinista (AFN) µ :


1
1

q0 1 q1 q2
0

q3 1

Se convierte el autómata no deterministico en uno deterministico:

δ 0 1
q0 φ {q0 , q1 }
q1 q3 q2
q2 q1 φ
q3 φ {q3 , q1 }
{q0 , q1 } q3 {q0 , q1 , q2 }
{q3 , q1 } q3 {q1 , q2 , q3 }
{q0 , q1 , q2 } {q3 , q1 } {q0 , q1 , q2 }
{q1 , q2 , q3 } {q3 , q1 } {q1 , q2 , q3 }

q0 1 1
{q0 , q1 } {q0 , q1 , q2 }

0 0
1

q3 {q3 , q1 }
0

0 1

{q1 , q2 , q3 } 1

3
Problema 2. Sea Σ = {a, b}.

(i) Diseñar un AF D que acepte el lenguaje de todas las cadenas que contienen un número par
de aes y un número par de bes. Se entiende que par incluye a 0. Ayuda: utilizar 4 estados.

q1
a b

a b

q0 q3

b a

b a
q2

(ii) Para cada combinación de las condiciones “par” e “impar” y de las conectivas “o” e “y”,
diseñar un AF D que acepte el lenguaje L definido por

L = lenguaje de las cadenas con un número par/impar de aes y/o un número par/impar de
bes.

Ayuda: utilizar el autómata de 4 estados diseñado en la parte (i), modificando adecuadamente


el conjunto de estados de aceptación.

1) Par de aes y par de bes

q1
a b

a b

q0 q3

b a

b a
q2

2) Par de aes e impar de bes

4
q1
a b

a b

q0 q3

b a

b a
q2

3) Impar de aes y par de bes

q1
a b

a b

q0 q3

b a

b a
q2

4) Impar de aes e impar de bes

q1
a b

a b

q0 q3

b a

b a
q2

5) Par de aes ó par de bes

5
q1
a b

a b

q0 q3

b a

b a
q2

6) Par de aes ó impar de bes

q1
a b

a b

q0 q3

b a

b a
q2

7) Impar de aes ó par de bes

q1
a b

a b

q0 q3

b a

b a
q2

8) Impar de aes ó impar de bes

6
q1
a b

a b

q0 q3

b a

b a
q2

Problema 3. Describa el lenguaje aceptado por el siguiente autómata:

El lenguaje aceptado por el autómata es L(µ) = 1∗ (01+ )∗ 00((0∗ 1)+ )∗

Problema 4. Diseñar un AF D que acepten el lenguaje de todas las cadenas binarias w que sa-
tisfacen que |w|1 + 2 |w|0 es divisible por 5.

Sea δ ∗ (q0 , x1 ...xk ) = qi , si |x1 ...xk |1 + 2|x1 ...xk |0 ≡ i mod 5


Además, δ ∗ (q0 , x1 ...xk · a) = δ(δ ∗ (q0 , x1 ...xk ), a), donde a ∈ {0, 1}

-> |x1 ...xk · a|1 + 2|x1 ...xk · a|0 = |x1 ...xk |1 + |a|1 + 2|x1 ...xk |0 + 2|a|0
≡ i + |a|1 + 2|a|0 (mod 5)
≡ j (mod 5)

De modo que:

Si concateno a = 1 y estoy sobre el estado qi , el nuevo estado es: qi+1(mod5) ,


Si concateno a = 0 y estoy sobre el estado qi , el nuevo estado es: qi+2(mod5) .

Por lo anterior, se define el automata finito deterministico µ :

7
q0

1 1

q1 0 q4
0 0

0 0
1 1

q2 1 q3

También podría gustarte