Noviembre de 2017 Unidad 1 2 y 3: Fase 6 - Debatir
301405_11 Universidad Nacional Abierta y a Distancia Noviembre de 2017
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Unidad 1, 2 y 3: Fase 6 - Debatir
Víctor Julio Martínez Barrios – Código 1 067 093 036 Luis Miguel Suarez Víctor Manuel Alzate – Código 94 388 645 Jorge David Sánchez Yamid Asael Arenas
Tutor Helena Clara Isabel Aleman
Universidad Nacional Abierta y a Distancia
Escuela de Ciencias Básicas, Tecnología e Ingeniería Autómatas y Lenguajes Formales 2017
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Introducción
El presente informe es construido como evidencia del desarrollo de la actividad correspondiente a la fase final del curso Autómatas y Lenguajes Formales, en la Universidad Nacional Abierta y a Distancia de Colombia, UNAD. En el mismo se abordan todas las temáticas revisadas durante el desarrollo de las 3 unidades didácticas del curso a través de la solución de una serie de ejercicios propuestos.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Ejercicio 1
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:
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Desarrollo
1. Se retoma el autómata:
a. Expresión regular:
Se realizará mediante el proceso de eliminación de estados. Por cada transición que pueda ser recorrida con múltiples símbolos, se hará una transición (siendo esta una transición que contiene una Expresión Regular) que contenga los símbolos de dicha transición representados como una Expresión Regular, específicamente como una unión.
Aplicando a nuestro autómata tenemos:
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Por cada estado , se debe verificar si hay una transición que llegue a cada estado (donde = ) de la máquina. En caso de no existir esta transición se deberá agregar una transición que va desde hasta con el valor ∅.
Aplicando a nuestro autómata, tenemos:
Seleccionar un estado , talque NO sea un estado inicial y/o final. Luego, por cada estado se selecciona un camino, pasando por , hacia cada estado del autómata, talque ≠ y ≠ . Ahora se crea una transición que tenga como Expresión Regular el símbolo (o Expresión Regular) de la transición que va de a concatenado con el símbolo de la transición que va de a . Al
bucle que se hace en se le aplicará la operación de clausura (o clausura Kleene) y se concatenará con la Expresión Regular antes encontrada. A esta nueva transición se le aplica una operación de unión con el símbolo de la transición que va de a . La transición deberá quedar de la forma ∗ + . Esta nueva transición transitará del estado al estado .
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Aplicado a nuestro autómata tenemos (Se toma como ):
0
0
∅∅
0
2
∅∅
2
0
∅
2
2
∅
Ahora le aplicaremos la operación de clausura al bucle de y haremos la concatenación con el que ya encontramos. Resulta en:
0
0
∅ + ∗∅
0
2
∅ + ∗∅
2
0
+ ∗∅
2
2
+ ∗∅
El siguiente paso es hacer la unión del que ya tenemos con el símbolo de la transición que va de a directamente. También agregaremos una columna con la Expresión Regular ya simplificada, por lo tanto, obtenemos:
ó
0
0
∅ + ∗∅ +
∗
0
2
∅ + ∗∅ +
2
0
+ ∗ ∅ + ∅
∅
2
2
+ ∗∅ +
∗
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
De esta manera tenemos: = ∗∗
b. Lenguaje regular
A partir de la expresión regular del autómata, se puede definir el lenguaje regular que la misma representa: = {{}∗ ⋅ {}}∗
c. Tipo de autómata
Se trata de un autómata finito determinista ( AFD), ya que todas sus transiciones entre estados están determinadas.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Ejercicio 2
Sacamos la quíntupla del Autómata (,, 0,, ) = {0, 1, 2, 3, 4, 5} = {, , , }
= , = {3, 4, 5}
Transiciones (0, )−> 2
(1, )−> 1
(3, )−> 4
(0, )−> 0
(2, )−> 0
(3, )−> 5
(0, )−> 1
(2, )−> 4
(4, )−> 3
(0, )−> 4
(3, )−> 1
(4, )−> 1
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
(4, )−> 0
(5, )−> 3
(5, )−> 2
2. Realizar la conversión de AFD a AFND o de AFND a AFD según corresponda.
El autómata descrito es un AFND debido a que de un mismo estado con un mismo símbolo del alfabeto pasa a dos estados diferentes. Primer paso se evalúa los estados que tienen conflicto (3, )−> 1 (3, )−> 4 (0, )−> 1 (1, )−> 1 (0, )−> 2
Se evalúa si se puede suprimir un estado Debido a que q1 es un estado absorbente y todas las cadenas que queden en este estado serán invalidas. Se elimina este estado quedando la siguiente figura
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Como para cada transición un elemento del alfabeto lleva a un estado se dice que este es un autómata finito determinista (AFD) Descrito a continuación de la siguiente forma 5-tupla (,, 0, , ) = {0, 2, 3, 4, 5} = {, , }
= , = {3, 4, 5} Transiciones (0, )−> 2
(2, )−> 4
(4, )−> 0
(0, )−> 0
(3, )−> 4
(5, )−> 3
(0, )−> 4
(3, )−> 5
(5, )−> 2
(2, )−> 0
(4, )−> 3
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Ejercicio 3 Realice la minimización paso a paso del autómata finito determinista.
Por minimización de conjuntos: Paso1:
Se crean dos subconjuntos para los estados de aceptación y no aceptación X= {3, 4, 5, 6}= estados de aceptación = {0, 1, 2} = estados de no aceptación Paso2:
Evaluamos el conjunto de los estados de aceptación
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Paso3:
Evaluamos el conjunto de los estados de no aceptación.
Paso4:
Renombramos los estados = {3, 6} = {4, 5} = {0} = {1} = {2}
Paso5:
Empezamos a validar el grupo de conjuntos renombrando estados, hasta hallar el último conjunto equivalente.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
= {3, 6} = {4, 5} = {0} = {1} = {2}
Paso 6: El autómata ya se encuentra en su mínimo estado, hallamos los últimos conjuntos y eliminamos los estados sobrantes para re direccionar los estados y construir el autómata minimizado
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
= {3, 6} = {4, 5} = {0} = {1} = {2}
Para el caso de los conjuntos (X, Y) eliminamos cualquier estado sin que esto afecte su funcionamiento. = {3} para este conjunto eliminaremos {6} = {4} para este conjunto eliminaremos {5}
La nueva tabla de transición del Autómata Minimizado queda de la siguiente manera:
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Ejercicio 4 Conjunto de estados = {0, 1}
Simbolos de Entrada = {, }
Simbolos de pila = {}
Trancisiones (0, , ) = 1 (1, , ) = 0 Estado
Lectura
Operación
Estado
Q0
a
Apila a
Q1
Q1
b
Desapila a
Q0
Estado inicial = 0
Estado de aceptación = {0}
Imagen
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Validación de la máquina de pila en JFLAP:
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Ejercicio 5 Realizar una máquina de Turing de autoría propia y realice: A. Recorra la máquina con al menos una cadena válida explicando lo sucedido
tanto en la cinta como en la secuencia de entrada:
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Cuando este en q1y lea una “b” se desplace ala izquierda y donde estaba escriba una “b” y continua… continuando con el p aso a paso.
En cuanto a lo que se encuentra en el círculo; lo que hace es duplicar la entrada “abbb” en ese caso por “abbbabbb” pero solo las “b” y pasa 3 veces
porque son 3 b.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
Y así continua y finaliza
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
B. Identifique una cadena que no sea válida y justifíquela por qué. Cadena rechazada “aabb”
Por qué. La máquina inicia bien y cuando llega a q3 dice cuando lea un “ a” gire a la derecha y escriba donde estaba una “ X”
Ahora cuando este en q4 y lea una “b” aquí marcada. Pero no encuentra “ b” finaliza. Y es una cadena rechazada.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405
C. Ejecute el RunTest a una cadena aceptada que tenga al menos cinco
símbolos
Identifique en que momento la máquina se detiene.
En esta parte la maquina se detiene. Cuando está en q9 y lee cuadro, gire la derecha y donde estaba escriba cuadro. Y así lo hace y giro a la derecha y encontró la cinta queda en una “a” pero encuentra el final.
Universidad Nacional Abierta y a Distancia Escuela de Ciencias Básicas, Tecnología e Ingeniería - ECBTI Autómatas y lenguajes Formales - 301405