Académique Documents
Professionnel Documents
Culture Documents
Presentado por:
Grupo
301405_6
Tutor:
Víctor Fernando Cañón Rodríguez
1
Contenido
1 Introducción ................................................................................................................... 7
2 Objetivos........................................................................................................................ 7
3 Actividades Colaborativas ............................................................................................. 7
3.1 Ejercicio 1 ............................................................................................................... 7
3.1.1 Autómata 1 ...................................................................................................... 8
3.1.1.1 Expresión regular ..................................................................................... 8
3.1.1.2 Lenguaje regular ....................................................................................... 8
3.1.1.3 Tipo de autómata ...................................................................................... 9
3.1.2 Autómata 2 ...................................................................................................... 9
3.1.2.1 Expresión regular ..................................................................................... 9
3.1.2.2 Lenguaje regular ..................................................................................... 10
3.1.2.3 Tipo de autómata .................................................................................... 11
3.1.3 Autómata 3 .................................................................................................... 11
3.1.3.1 Expresión regular ................................................................................... 11
3.1.3.2 Lenguaje regular ..................................................................................... 12
3.1.3.3 Tipo de autómata .................................................................................... 13
3.2 Ejercicio 2 y 3 ...................................................................................................... 13
3.2.1 Punto 1, Ejercicio 2 de la guía ....................................................................... 13
3.2.2 Punto 2, Ejercicio 3 de la guía ....................................................................... 22
3.3 Ejercicio 4 ............................................................................................................. 25
3.3.1 Determine el lenguaje que reconoce el AP .................................................... 26
3.4 Ejercicio 5 ............................................................................................................. 27
3.4.1 Punto 1, Ejercicio 5 de la guía ....................................................................... 27
3.4.2 Punto 2, Ejercicio 5 de la guía ....................................................................... 31
3.4.3 Punto 3, Ejercicio 5 de la guía ....................................................................... 32
3.4.4 Punto 4, Ejercicio 5 de la guía ....................................................................... 32
4 Conclusiones................................................................................................................ 34
2
5 Bibliografía .................................................................................................................. 35
3
Índice de Imágenes
4
Imagen 29 Recorrido de la cadena valida de la MT ejercicio 5, paso 4 ............................. 29
Imagen 30 Recorrido de la cadena valida de la MT ejercicio 5, paso 5 ............................. 30
Imagen 31 Recorrido de la cadena valida de la MT ejercicio 5, paso 6 ............................. 30
Imagen 32 identificación cadena no valida de la MT punto 2, ejercicio 5 ......................... 31
Imagen 33 identificación cadena no valida de la MT punto 2, ejercicio 5 ......................... 32
Imagen 34 identificación donde se detiene la MT punto 4, ejercicio 5 .............................. 33
5
Índice de Tablas
6
1 Introducción
Las Ciencias de la Computación se han convertido en una materia vocacional, y existe un
severo pragmatismo entre muchos de sus estudiantes. Continuamos creyendo que muchos
aspectos de la teoría de autómatas son herramientas esenciales en una amplia variedad de
nuevas disciplinas y creemos que los ejercicios teóricos, que sirven para abrir la mente,
integrados en un curso sobre autómatas mantienen todavía su valor, independientemente de
que un estudiante prefiera aprender sólo la parte más práctica de la tecnología. Sin
embargo, con el fin de garantizar un sitio dentro del menú de temas disponibles para un
estudiante de Informática, creemos que es necesario hacer hincapié tanto en las
aplicaciones como en las matemáticas o lógica.
2 Objetivos
3 Actividades Colaborativas
El trabajo se desarrolla demostrando el procedimiento realizado paso a paso, no se tendrá
en cuenta las respuestas o simulaciones en JFlap o VAS.
3.1 Ejercicio 1
7
De cada uno de los siguientes autómatas, realizar el procedimiento paso a paso de hallar la
expresión regular, el lenguaje regular y explicar el tipo de autómata que es:
3.1.1 Autómata 1
Con el fin de determinar la expresión regular que llamaremos Regex (R) procedemos a
utilizar el método de eliminación de estados tal como se aprecia a continuación:
En la imagen podemos apreciar que q2 es el estado de aceptación y q0 el estado inicial,
por lo tanto, las transiciones que serían aceptadas seria entre q0 y q2; las transiciones entre
q2 y q1 nunca llegarían a un estado de aceptación:
q0 a q2 es = a*ba*
q2 a q1 es = b (a* + b*)
Por lo tanto podemos descartar las transiciones de q2 a q1 eliminando definitivamente el
estado q1 y nuestra expresión regular del autómata seria la siguiente:
R = a*ba*
8
L(R) = L(R1)
L(M) = {a*ba* }
De esta manera el lenguaje que acepta el autómata es:
Es un autómata finito determinista (AFD) ya que cada estado tiene una transición por cada
símbolo del lenguaje del AF.
3.1.2 Autómata 2
Con el fin de determinar la expresión regular que llamaremos Regex (R) procedemos a
utilizar el método de eliminación de estados tal como se aprecia a continuación:
En la imagen podemos apreciar que q2 es tanto estado de aceptación y estado inicial, por
lo tanto, procedemos a eliminar los estados q0 y q1. Iniciamos eliminando el estado q0
obteniendo las siguientes transiciones resultantes:
q2 a q1 con la eliminación de q0 es = 11*0
q1 a q0 con la eliminación de q0 es = 11*0
9
Imagen 4 Eliminación q0 AF 2, ejercicio 1 de la guía
R = 0* + (((11*0) (11*0)0)
10
L(M) = {0* + (((11*0) (11*0)0)}
De esta manera el lenguaje que acepta el autómata es:
Es un autómata finito determinista (AFD) ya que cada estado tiene una transición por cada
símbolo del lenguaje del AF.
3.1.3 Autómata 3
Con el fin de determinar la expresión regular que llamaremos Regex (R) procedemos a
utilizar el método de eliminación de estados tal como se aprecia a continuación:
En la imagen podemos apreciar que q1 es el estado de aceptación y q0 el estado inicial,
por lo tanto, procedemos a eliminar los estados q2 y q3. Iniciamos eliminando el estado q3
obteniendo las siguientes transiciones resultantes:
q2 a q1 con la eliminación de q3 es = ʎ1
11
Imagen 7 Eliminación q3 AF 3, ejercicio 1 de la guía
R = (1 + 0(1 + 0))1*
12
L(M) = {1 + 0(1 + 0))1*}
De esta manera el lenguaje que acepta el autómata es:
3.2 Ejercicio 2 y 3
Teniendo en cuenta el siguiente autómata realizar los puntos siguientes.
13
Solución:
Con el fin de empezar con la transformación del AFND a AFD se determina que el
autómata corresponde a un AFND-Ꜫ, ya que posee transiciones vacías o ʎ por lo que utilizamos
las clausuras de Ꜫ (de herradura). Por lo tanto iniciamos elaborando:
14
Después de identificar las clausuras Ꜫ de estados, procedemos a elaborar la tabla de
transiciones del AFND:
Tabla 2 Tabla de transiciones AFND punto 1, ejercicio 2 de la guía
q a b c ʎ
>q0 {q2} {q0} {q4} {q1}
q1 {q1} ᶲ ᶲ ᶲ
q2 {q4} {q0} ᶲ ᶲ
*q3 {q5} {q1,q4} ᶲ ᶲ
*q4 {q3} ᶲ {q0} {q1}
*q5 {q2} {q4} {q3} ᶲ
En la siguiente imagen y demarcado por colores se aprecian las transiciones por cada
estado, plasmando de esta forma la tabla anterior.
Los colores por transiciones son:
q0 color morado
q1 color verde
q2 color azul
q3 color rojo
q4 color amarillo
q5 color café
15
Teniendo definidas las clausulas Ꜫ y la tabla de transiciones del AFND, procedemos a
elaborar la tabla de transformada de AFND a AFD, siendo el resultado el siguiente.
Imagen 12 Transformada estado inicial Q {q0} U {q1} (tabla de transiciones y clausulas Ꜫ) nombrado
como conjunto >A
Imagen 13 Transformada estado Q {q1, q2} (tabla de transiciones y clausulas Ꜫ) nombrado como
conjunto B
16
Imagen 14 Transformada estado Q {q4} U {q1} (tabla de transiciones y clausulas Ꜫ) nombrado como
conjunto *C
Imagen 15 Transformada estado Q {q1, q3} (tabla de transiciones y clausulas Ꜫ) nombrado como
conjunto *D
17
Imagen 16 Transformada estado Q {q1, q5} (tabla de transiciones y clausulas Ꜫ) nombrado como
conjunto *E
Imagen 17 Transformada estado Q {q3} (tabla de transiciones y clausulas Ꜫ) nombrado como conjunto *F
18
Imagen 18 Transformada estado Q {q5} (tabla de transiciones y clausulas Ꜫ) nombrado como conjunto *G
Imagen 19 Transformada estado Q {q2} (tabla de transiciones y clausulas Ꜫ) nombrado como conjunto H
19
A continuación evidenciaremos la tabla de transiciones de la transformada de AFND a
AFD inicial.
Tabla 3 Tabla de transiciones inicial de la transformada de AFND a AFD punto 1, ejercicio 2 de la guía
Conjunto Q a b c
>A {q0} U {q1} {q1,q2} {q0} U {q1} {q4} U {q1}
B {q1,q2} {q1,q4} U {q1) {q0} U {q1} ᶲ
*C {q4} U {q1} {q1,q3} ᶲ {q0} U {q1}
*D {q1,q3} {q1,q5} {q1,q4} U {q1} ᶲ
*E {q1,q5} {q1,q2} {q4} U {q1} {q3}
*F {q3} {q5} {q1,q4} U {q1} ᶲ
*G {q5} {q2} {q4} U {q1} {q3}
H {q2} {q4} U {q1} {q0} U {q1} ᶲ
Conjunto Q a b c
>A {q0} U {q1} {q1,q2} {q0} U {q1} {q4} U {q1}
B {q1,q2} {q4} U {q1} {q0} U {q1} ᶲ
*C {q4} U {q1} {q1,q3} ᶲ {q0} U {q1}
*D {q1,q3} {q1,q5} {q4} U {q1} ᶲ
*E {q1,q5} {q1,q2} {q4} U {q1} {q3}
*F {q3} {q5} {q4} U {q1} ᶲ
*G {q5} {q2} {q4} U {q1} {q3}
H {q2} {q4} U {q1} {q0} U {q1} ᶲ
20
De lo anterior podemos determinar que el nuevo autómata FD es:
Tabla 5 Tabla de transiciones del nuevo AFD del punto 1, ejercicio 2 de la guia
Q a b c
>A B A C
B C A ᶲ
*C D ᶲ A
*D E C ᶲ
*E B C F
*F G C ᶲ
*G H C F
H C A ᶲ
21
3.2.2 Punto 2, Ejercicio 3 de la guía
X a b c
q2 X ᶲ Y
q3 X X ᶲ
q4 Y X X
q5 X X ᶲ
q6 Y X X
Y a b c
q0 Y Y X
q1 X Y ᶲ
q7 X Y ᶲ
X a b c
q2 X ᶲ Y
q3 X X ᶲ q3, q5
q4 Y X X Equivalentes
q4, q6
q5 X X ᶲ
Equivalentes
q6 Y X X
22
Tabla 8 Equivalencias tabla de transiciones conjunto Y
Y a b c
q0 Y Y X
q1, q7 q1 X Y ᶲ
Equivalentes q7 X Y ᶲ
Z a b c
q2 W ᶲ P
W a b c q3, q5
q3 Q Z ᶲ Equivalentes
ᶲ Igual a W
q5 Q Z
Q a b c q4, q6
q4 O Z W Equivalentes
q6 O Z W Igual a Q
P a b c
q0 O P Z
q1, q7
O a b c
Equivalentes q1 Z P ᶲ
Igual a O q7 Z P ᶲ
23
De acuerdo a lo anterior y no obteniendo nuevos conjuntos, la tabla de transición resultado
de la minimización del AFD por el método de conjuntos es:
Tabla 10 Tabla de transiciones resultado de la minimización del AFD por el método del conjuntos
Estados a b c
>P O P Z
O Z P ᶲ
*Q O Z W
*W Q Z ᶲ
*Z W ᶲ P
24
3.3 Ejercicio 4
25
∆(𝑞0 , 𝑎, 𝜆) = {(𝑞0 , 𝜆)}
∆(𝑞0 , 𝑏, 𝜆) = {(𝑞0 , 𝜆)}
3.3.1 Determine el lenguaje que reconoce el AP
Teniendo como base el lenguaje L = {(a+b)*} siendo igual a L = {(a + b)n: n>=0} el cual
es un lenguaje regular; podemos afirmar que el AP puede reconocer cualquier lenguaje
descrito a continuación:
n=0 λ n=1 a n=1 b n=4 aaaa n=4 bbbb n=4 aabb
n=5 aabbb n=5 aabbb n=5 aabab
Por lo tanto, el AP aceptaría cualquier cadena incluyendo la cadena vacía
L = {𝜆, 𝑎, 𝑏, 𝑎𝑎, 𝑏𝑏, 𝑎𝑎𝑏𝑏, 𝑎𝑏𝑎, 𝑎𝑏𝑏𝑏, 𝑏𝑎𝑎𝑎𝑎, 𝑏𝑎𝑏𝑎𝑏𝑎, 𝑎𝑏𝑎𝑏𝑎𝑏, … … … … … . }
26
3.4 Ejercicio 5
Recorra la máquina con al menos una cadena válida explicando lo sucedido tanto en la
cinta como en la secuencia de entrada.
Para la demostración de recorrido con una cadena valida por la máquina de Turing,
utilizaremos la entrada “abba”, por lo tanto:
El estado q0, inicia con la expectativa de evaluar que símbolo ingresa y así definir porque
camino seguir la secuencia.
27
Al leer el primer símbolo de entrada en la cinta el cual es a estando en el estado q0, se
escribe en la cinta el símbolo b; pasando al estado q1 y el cabezal se corre a la derecha R
28
Al leer el tercer símbolo de entrada en la cinta el cual es b estando en el estado q4, se
escribe en la cinta el símbolo a; pasando al mismo estado q4 y el cabezal se corre a la
derecha R
29
Al leer el quinto símbolo de entrada en la cinta el cual es vacío estando en el estado q4, no
se escribe nada en la cinta; pasando al estado q5 y el cabezal se corre a la izquierda L
Al leer el sexto y último símbolo en la cinta el cual es b estando en el estado q5, se escribe
en la cinta el símbolo a; pasando al estado de aceptación q3 y el cabezal no se corre a la
hacía ningún lado. Como el estado q3 es el estado de aceptación, podemos demostrar que
la palabra o cadena almacenada en la cinta corresponde al lenguaje que acepta la MT.
30
3.4.2 Punto 2, Ejercicio 5 de la guía
31
3.4.3 Punto 3, Ejercicio 5 de la guía
Ejecute el RunTest a una cadena aceptada que tenga al menos cinco símbolos.
32
Imagen 34 identificación donde se detiene la MT punto 4, ejercicio 5
33
4 Conclusiones
34
5 Bibliografía
35
Carrasco, R., Calera, R., Forcada, M. (2016). Teoría De Lenguajes, Gramáticas Y
Autómatas Para Informáticos. Recuperado de:
http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=nlebk&AN=3
18032&lang=es&site=eds-live&ebv=EB&ppid=pp_Cover
36