Vous êtes sur la page 1sur 32

DIAPOSITIVAS

AUTÓMATAS DETERMINISTAS Y NO DETERMINISTAS


(EJERCICIOS)
UNIDAD DE APRENDIZAJE:
AUTÓMATAS Y LENGUAJES FORMALES

FECHA de ELABORACIÓN: Marzo-Mayo 2017


Guión Explicativo
¨ El presente juego de diapositivas tiene como finalidad
apoyar al profesor de la Unidad de aprendizaje de
AUTÓMATAS Y LENGUAJES FORMALES

y sus relaciones entre sí y con los lenguajes de


programación.
¨ Se recomienda que este material se utilice para revisar
algunos ejercicios de autómatas finitos deterministas y
autómatas finitos no deterministas en clase, y otros
puedan asignarse o revisarse por los mismos alumnos
como trabajo extraclase.
Guión Explicativo
¨ En la parte introductoria se mencionan algunos
conceptos básicos de la teoría de autómatas,
incluyendo la definición de autómata finito
determinista y no determinista.
¨ Cabe señalar que entre las características propias
de este material se encuentran:
¤ Se han seleccionado los ejercicios de manera que se
presentan de menor a mayor complejidad.
¤ Se plantea un ejercicio y enseguida se resuelve.

¤ Se presentan las soluciones de todos los ejercicios


planteados.
AUTÓMATAS FINITOS
DETERMINISTAS Y NO
DETERMINISTAS
EJERCICIOS
Introducción
Definiciones Básicas
A continuación se presentan algunos conceptos
básicos necesarios para la comprensión de los
ejercicios que se presentan en las secciones
subsecuentes.
Símbolo es un signo que representa algo
abstracto. En este material, símbolo se referirá a
un caracter alfanumérico.
Ejemplos
a, b, 1, 0, x, y, z, 9,
Introducción
Alfabeto es un conjunto de símbolos y normalmente se
denota con la letra Σ. Ejemplos
Σ = {a,b,c,…z} Σ = {1,2,3,…9} Σ = {0,1} Σ = {a,b}
Cadena o palabra es un conjunto de símbolos de algún
alfabeto Σ concatenados entre sí, es decir uno enseguida del
otro.
Ejemplos
Para el alfabeto Σ = {a,b,c,…z} algunas cadenas son:
ab, z, cc, abc, abab
Para el alfabeto Σ = {0,1} algunas cadenas son:
0, 1, 01, 000, 0101
Introducción

Cadena Vacía ε, es la cadena que no contiene


ningún símbolo.
Lenguaje es un conjunto de cadenas o palabras
definido en un alfabeto Σ.
Ejemplos
Si Σ = {0,1} podríamos definir los lenguajes
“conjunto de cadenas en Σ que terminan en 0”
algunos de las palabras del lenguajes serían: 0,
10,00,010,100, 110…
Introducción
Autómata es una máquina matemática M formada
por 5 elementos M = (Σ, Q, s, F, δ) donde Σ es un
alfabeto de entrada, Q es un conjunto finito de
estados, s es el estado inicial, F es un conjunto de
estados finales o de aceptación y δ (delta) es una
relación de transición.
Ejemplo: 0,1
Σ ={0,1} s=A 0
B
Q= {A,B,D} F = {B} A B C

δ: (A,0) = B
1
(A,1) = D (B,0) = B D
0,1
(B,1) = B (D,0) = D (D,1) = D
Introducción
Autómata Finito Determinista (AFD) es un autómata
finito en donde δ (delta) es una función de transición, es
decir, que para cada par (estado actual y símbolo de
entrada) le corresponde un único estado siguiente.
Autómata Finito No Determinista (AFND) es un
autómata finito en donde δ no es necesariamente una
función de transición, es decir, que para cada par
(estado actual y símbolo de entrada) le corresponde
cero, uno, dos o más estados siguientes, Normalmente la
relación de transición para un AFND se denota con ∆.
EJERCICIOS

AUTÓMATAS
DETERMINISTAS
(AFD)
Ejercicio 1

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que inician en “0”.

SOLUCIÓN
0,1
0
A B C
B

D
0,1
Ejercicio 2

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que terminan en
“1”.

SOLUCIÓN
0 1

A
B

0
Ejercicio 3

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que contienen a la
sub-cadena “01”.

SOLUCIÓN
1
0 0,1

0 1
A B C
Ejercicio 4

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que no contienen a
la sub-cadena “01”.

SOLUCIÓN

1 0 0,1

0 1
A B C
Ejercicio 5

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” o terminan en la sub-cadena “ab”.

SOLUCIÓN
a, b, c
a c

q0 q1 q2 q3
b
0
b, c a

a b
q4 q5
b, c q3
c a

b, c
Ejercicio 6

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” y terminan en la sub-cadena “ab”.

SOLUCIÓN
b, c
a
a c
a b
q0 q1 q2 q3 q3 q4
0 a
c
b, c b, c
a,b

q5

a, b, c
Ejercicio 7

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena ac o no terminan en la sub-cadena ab.

SOLUCIÓN
a, b, c
c
a
q0 q1 q2
b
b, c a

a b
q4 q5
b, c q3
c a

b, c
Ejercicio 8

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena ac y no terminan en la sub-cadena ab.

SOLUCIÓN
b, c a
a c
a b
q0 q1 q2 q3 q3 q4
0 a
c
b, c
a,b

b, c
q5

a, b, c
Ejercicio 9

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que no inician en
la sub-cadena “ac” o no terminan en la sub-cadena “ab”.

SOLUCIÓN
b, c
a
a c
a b
q0 q1 q2 q3 q3 q4
0 a
c
b, c b, c
a,b

q5

a, b, c
Ejercicio 10

Ejercicio: Obtenga un AFD dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que no inician en
la sub-cadena “ac” y no terminan en la sub-cadena “ab”.

SOLUCIÓN a, b, c
c
a
q0 q1 q2
b
b, c a

a b
q4 q5
b, c q3
c a

b, c
EJERCICIOS

AUTÓMATAS NO
DETERMINISTAS
(AFND)
Ejercicio 11

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que inician en 0.

SOLUCIÓN 0,1

A B
B
Ejercicio 12

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que terminan en 1.

SOLUCIÓN
0,1

B
A
1
Ejercicio 13

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que contienen a la
sub-cadena ”01”.

SOLUCIÓN
1 0 0,1

0 1
A B C
Ejercicio 14

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ= {0,1}. El conjunto de cadenas que no contienen a
la sub-cadena “01”.

SOLUCIÓN
D
1 0 0,1

0 1
A B C
Ejercicio 15

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” o terminan en la sub-cadena “ab”.

SOLUCIÓN
a, b, c
a c

q0 q1 q2 q3
b
0
b, c a

a b
q4 q5
b, c q3
c a
C
b, c
Ejercicio 16

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” y terminan en la sub-cadena “ab”.

SOLUCIÓN
b, c
a
a c
a b
q0 q1 q2 q3 q4
q3
0 a
c
b, c
Ejercicio 17

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” o no terminan en la sub-cadena “ab”.

SOLUCIÓN
a, b, c
c
a
q0 q1 q2
b
b, c a

a b
q4 q5
b, c q3
c a

b, c
Ejercicio 18

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que inician en la
sub-cadena “ac” y no terminan en la sub-cadena “ab”.

SOLUCIÓN
b, c a

a c
a b
q0 q1 q2 q3 q4
q3
0
c a

b, c
Ejercicio 19

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que no inician en
la sub-cadena “ac” o no terminan en la sub-cadena “ab”.

SOLUCIÓN
b, c
a
a c
a b
q0 q1 q2 q3 q3 q4
0 a
c
b, c b, c
a,b

q5

a, b, c
Ejercicio 20

Ejercicio: Obtenga un AFND dado el siguiente lenguaje definido


en el alfabeto Σ={a,b,c}. El conjunto de cadenas que no inician en
la sub-cadena “ac” y no terminan en la sub-cadena “ab”.

SOLUCIÓN
a
q0 q1 q2
b 0
b, c a

a b
q3 q4
b, c q2
c a

b, c
Referencias
¨ Bibliográficas

¨ Dean K. (1995). “Teoría de Autómatas y Lenguajes Formales”. Edit. Prentice Hall,


España.

¨ Hopcroft J. E., Ullman J.D. (2007). “Introducción a la teoría de autómatas, lenguajes


y computación”. 3ª ed. Edit. Pearson Educación, Madrid.

¨ Linz P. (2001) "An Introduction to Formal Languages and Automata", 3rd Edition,
J.A. Bartlett.

¨ Martin J. (2004). “Lenguajes Formales y Teoría de la computación”. 3ª ed. Edit.


MacGraw-Hill Interamericana de México.