Está en la página 1de 23

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 𝑞1 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 paso 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