Está en la página 1de 46

AUTOMATAS Y LENGUAJES FORMALES

301405A_761

Unidad 1, 2 y 3 - Fase 5 - Desarrollar aplicaciones con Autómatas.

PRESENTADO A

ROLANDO FABIAN JUNCO

TUTOR

ENTREGADO POR:

DIEGO MAURICIO GARNICA WILCHES -1022357731


IVÁN PARRA GONZÁLEZ – 1030557533
Jhonattan Guillermo Rodriguez Rojas - 1032388840
LUISA FERNANDA BARRERA - 1018480390

GRUPO: 301405_6

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA

22/05/2020

BOGOTÁ
Estudiante: DIEGO MAURICIO GARNICA WILCHES

ACTIVIDAD 1: Actividades Colaborativas:


1. Ejercicio 1

El diseño solicitado corresponde al diligenciamiento de la siguiente tabla:


EJERCICIO A
TRABAJAR

Caracterizació
n del autómata
Tipo de autómata: Finito Determinista, no tiene
transiciones con cadenas vacías, tiene como
destino un único estado y su transición es hacia un
estado final.

Este autómata se identifica con una 5-tupla de la


siguiente manera:
5-tupla = {K, ⅀, δ, s, F}
K = {Q0, Q1, Q2}, {a, b}
δ = {Q0, Q1, Q2}
⅀ = {a, b}
s = Q0
F = Q2

Conversión del Para la conversión del autómata elegido, vamos a


autómata a realizar la conversión mediante el método de
Expresión eliminación:
Regular

Eliminación de Q1: Procedemos a eliminar Q0 que


tiene una transición que viene desde Q 0 y finaliza
en Q2 quedando de la siguiente manera a+a+ba:

Es así como queda nuestro autómata convertido a


expresión regular: ER: a+aba

Lenguaje L= {A ϵ {a, b} *| A} El lenguaje que este


regular del autómata reconoce será el de todas las posibles
autómata cadenas que comienzan por a y b. Bajo ciertas
propiedades que resultan muy complejas para una
expresión regular se minimiza el autómata.
⅀ = {a, b}
Se tiene entonces:

l={0n 1n ⋮ n ≥1 }
n=1 a, b
n=2 aabb
Q0= aQ1/aQ2/₰
Q1= bQ2/₰
Q2= aQ1/₰

Por lo tanto:

L={(a.(am.bn))|(b.(am.bn))/m≥0,n≥0}
Ejercicio 2: Realizar la conversión de AFD a AFND o de AFND a AFD según
corresponda

Este autómata corresponde a un Autómata Finito no Determinista con transiciones


vacías el cual tiene transiciones desde un estado a múltiples destinos, permite
transiciones con cadenas vacías y la cadena es aceptada solo si solo una de todas sus
posibles transiciones es hacia un estado final.

Ejercicio 2: Realizar la conversión de AFD a AFND o de AFND a AFD según


corresponda

∑ ¿ { a ,b , λ }
y= { q 4 ,q 2 }

x= { q0 , q1 , q3 }

Formula inicial:
Δ m ( q , a )= { δ ( q , a ) }
Transiciones:

{𝛿(𝑞0, 𝑎)} = {𝑞1}


{𝛿(𝑞0, 𝑏)} = {𝑞0}
{𝛿(𝑞0, 𝑏)} = {𝑞3}
{𝛿(𝑞1, 𝑎)} = {𝑞1}
{𝛿(𝑞1, 𝑏)} = {𝑞2}
{𝛿(𝑞2, 𝑎)} = {𝑞1}
{𝛿(𝑞2, 𝑏)} = {𝑞3}
{𝛿(𝑞3, 𝑎)} = {𝑞4}
{𝛿(𝑞3, 𝑏)} = {𝑞2}
{𝛿(𝑞4, 𝑎)} = {𝑞0}
{𝛿(𝑞4, 𝑏)} = {𝑞1}
{𝛿(𝑞4, 𝜆)} = {𝑞4}

a b 𝜆 a b 𝜆
𝑞0 𝑞1 𝑞0, 𝑞3 𝑞0 𝑞1 𝑞0, 𝑞3
𝑞1 𝑞1 𝑞2 𝑞1 𝑞1 𝑞2
𝑞2 𝑞1 𝑞3 𝑞0, 𝑞3 𝑞1, 𝑞4 𝑞0, 𝑞3, 𝑞2
𝑞3 𝑞4 𝑞2 𝑞2 𝑞1 𝑞3
𝑞1, 𝑞4 𝑞1, 𝑞0 𝑞0, 𝑞3, 𝑞1 𝑞4
𝑞4 𝑞0 𝑞1 𝑞4
𝑞0, 𝑞3, 𝑞2 𝑞1, 𝑞4 𝑞0, 𝑞3, 𝑞2
𝑞3 𝑞4 𝑞2
𝑞1, 𝑞0 𝑞1 𝑞0, 𝑞3, 𝑞2
𝑞0, 𝑞3, 𝑞1 𝑞1, 𝑞4 𝑞0, 𝑞3, 𝑞2
𝑞4 𝑞0 𝑞1 𝑞4

Representación por JFLAP del autómata convertido


Ejercicio 3: Realice la minimización paso a paso del autómata finito determinista

a b 𝜆
𝑞0 𝑞1 𝑞03
𝑞1 𝑞1 𝑞2
𝑞03 𝑞14 𝑞032
𝑞2 𝑞1 𝑞3
𝑞14 𝑞1 𝑞03 𝑞4
0 1
𝑞032 𝑞1 𝑞03
4 2
𝑞3 𝑞4 𝑞2
𝑞10 𝑞1 𝑞03
2
𝑞031 𝑞14 𝑞03
2
𝑞4 𝑞0 𝑞1 𝑞4
y=q2 , q4

x=q 0 , q1 ; q03 , q14 , q 032 , q3 , q10 , q031

Ejercicio 4: Realizar el autómata a Pila de L = {(a+b*+ac*)*}

𝑎 = 𝑞2 𝑏 = 𝑞4
𝑐 = 𝑞0
𝑑 = 𝑞1
𝑒 = 𝑞03, 𝑞031, 𝑞032
𝑓 = 𝑞14 𝑔 = 𝑞3 ℎ =
𝑞10

a b 𝜆

𝑎 d g
𝑏 c d b
𝑐 d g
𝑑 d a
𝑒 f e
𝑓 h e
𝑔 b a
ℎ d e
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.
Cadena valida a recorrer: 10101

Paso 1:

En el estado inicial, el cabezal señala el símbolo “1”, lo cambia por un símbolo “0” y se
mueve a la derecha cambiando de estado.

Transición: δ(q0,1)=(0,R,q1)

Paso 2:

El cabezal estando en el estado q1, encuentra un símbolo “0”, y lo cambia por un 1 y


se mueve hacia la derecha, no cambia de estado.

Transición: δ(q1,0)=(1,R,q1)

Paso 3:

El cabezal estando en el estado inicial q1, encuentra un símbolo “1”, escribe deja un
espacio y se mueve hacia la derecha, cambia de estado a q2.

Transición: δ(q1,1)=(_,R,q2)
Paso 4:

El cabezal estando en el estado q2, encuentra un símbolo “0”, deja un espacio vacio y
se mueve hacia la derecha quedando en el mismo estado.

Transición: δ(q2,0)=(_,R,q2)

Paso 5:

El cabezal estando en el estado q2, encuentra un símbolo “0”, coloca un símbolo “1” y
se mueve hacia la izquierda, cambia de estado y finaliza.

Transición: δ(q2,0)=(1,L,q3)
b. Identifique una cadena que no sea válida y justifique el porqué.

Cadena NO valida a recorrer: 0001

Paso 1:

Inicialmente, el cabezal señala el primer símbolo “0”, lo cambia por el símbolo “1” y se
mueve hacia la izquierda, cambia de estado.

δ(q0,0)=(1,L,q1)

Paso 2:

El cabezal estando en el estado q1, no tiene un símbolo valido que leer por lo que se
detiene y como q1 no es un estado de aceptación la cadena es invalida.

c. Ejecute el RunTest a una cadena aceptada que tenga al menos cinco símbolos.
Run test de la cadena: 1000000

d. Identifique en qué momento la máquina se detiene.

En la cadena 1000000, el cabezal se detiene en el cuarto símbolo 1000000, pues del


estado q0 a q1 cambia de estado cuando lee un símbolo “1”, del estado q1 a q2
cambia al estado q3 cuando lee el segundo símbolo “0”, de estado q3 al estado q4
cambia al leer el tercer símbolo “0”, en ese momento se detiene. En esta cadena el
cabezal solo hace la lectura de tres símbolos para llegar del estado q0 al estado q4.

Estudiante: IVÁN PARRA GONZÁLEZ


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:

EJERCICIO 4 Registre aquí el Ejercicio a trabajar. Por favor


agregue la imagen:

Diagrama de Transición.

Caracterizació En este espacio se realiza:


n del autómata
- Identificación del Autómata Finito Determinista
o Autómata Finito No Determinista

- AUTOMATA FINITO NO DETERMINISTA


El autómata noes finito determinista (AFD) dado
que no llega desde un estado a uno solo con la
misma transición, por ejemplo, desde el estado q0
llega con la transición “a” al estado q1 Y AL
ESTADO q2
- Explicar las características del tipo de autómata

AFD:Σ={a,b,}
Q={q0, q1,q2}
q0={qo}
F=(q2)
Donde:
AFD: Lenguaje de estados
Q(N): Cada uno de los Estados

Procedimiento Q0: estado inicial


de conversión F: Estado final
de Autómata
Finito a
Expresión Realice de manera detallada el procedimiento paso
Regular paso a a paso de la conversión del autómata a expresión
paso regular y según ejemplo revisado.

Tabla de Transición:

f (q 0 , a)=q 1
f (q 1 , b)=q 2
f (q 2 , a)=q 1
f (q 0 , a)=q 2
Aplicando el método de eliminación de estados:
Eliminando el estado Q1:
Se halla el autómata

Autómata Final En este espacio se presenta la expresión


convertido correspondiente al autómata trabajado.

 Lenguaje En este espacio agrega el lenguaje regular


regular correspondiente a la expresión regular.

L={ x ∈ Σ∗¿ f ( q 0 , x) ∈ F }

(a+ ab)(ab)∗¿

Teniendo en cuenta el siguiente autómata realizar los puntos siguientes:

Ejercicio 2: Realizar la conversión de AFD a AFND o de AFND a AFD según


corresponda
Desarrollamos la 5-Tupla del automata
k= q0,q1,q2,q3,q4
Σ= a,b
s= q0
F= q2,q4
δ=

a b
q0 q1 q0,q3
q1 q1 q2
q2 q1 q3
q3 q4 q2
q4 q0 q1
Generamos nuevos estados con las transiciones a mas de un estado

q5=q0,q3 q6 q7
q6=q1,q4 q8 q9
q7=q0,q3,q2 q6 q7
q8=q0,q1 q1 q7
q9= q1,q2 q1 q10
q10= q2,q3 q6 q10

De esta manera el autómata convertido a determinista nos queda


Ejercicio 3: Realice la minimización paso a paso del autómata finito determinista
Realizamos la tabla de los estados aceptadores (x) y no aceptadores (y)

x a b
q2 y y
q4 y y
q6 y x
q7 x x
q9 y x
q10 x x

y a b
q0 y y
q1 y x
q3 x x
q5 x x
q8 y x

Generamos nuevos grupos de estados y comprobamos si los estados son realmente


equivalente o no.
A={q2,q4}
B={q6,q9}
C= {q7,q10}
D= {q0}
E= {q1,q8}
F={q3,q5}

A a b
q2 E F
q4 D E

B a b
q6 E B
q9 E C

C a b
q7 B C
q10 B C
D a b
q0 E F

E a b
q1 E A
q8 E C

F a b
q3 A A
q5 B C

Como solo tenemos un estado equivalente dejamos los estados del autómata igual
pero reduciendo los estados q7 y q10 por un solo estado.
q11=q7,q10

EJERCICIO A
TRABAJAR

Caracterizaci En este espacio se realiza:


ón del
autómata - Autómata Finito No Determinista

- Es un sistema determinista autómata finito No


Determinista que se caracteriza por poseer al
menos un estado tal que para un símbolo b del
alfabeto existe más de una transición posible.

Procedimient Realice de manera detallada el procedimiento paso a


o de paso de la conversión del autómata según
conversión corresponda y según ejemplo revisado.
paso a paso
- Paso 1 El autómata maneja 3 símbolos a,b y λ

- Paso 2 Realizo la tabla de transición para identificar


los estados (vertical) y el alfabeto (horizontal) que
maneja el autómata.

a b λ

q0 q1 q0, q3 --------
q1 q1 q2 --------
q2 q1 q3 --------
q3 q4 q2 --------
q4 q0 q1 q4

- Paso 3 Iniciamos el procedimiento para realizar la


transformación

a b λ

q0 q1 q0, q3 ---------
q0, q3 q1, q4 q0, q2 ---------
q0, q2 q1 q0, q3 ---------
q1, q4 q1, q0 q2, q1 q4
q2, q1 q1 q3, q2 ---------
q1, q0 q1 q2, q0, q3 ---------
q3, q2 q4, q1 q2, q3 ---------
q2, q0, q3 q1, q4 q2, q0, q3 ---------
Autómata En este espacio se presenta el autómata final
Final
convertido

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.
b. Identifique una cadena que no sea válida y justifique el porqué.
c. Ejecute el RunTest a una cadena aceptada que tenga la menos cinco símbolos.
d. Identifique en que momento la máquina se detiene.
1. Recorra la maquina con al menos una cadena valida explicando lo sucedido tanto en
la cinta como en la secuencia de entrada.
Esta máquina de Turing se creó con la intensión de que, a la hora de leer cadenas de
0, ella se quedara en un punto, ya que en otros modelamientos en cada secuencia de
q0, q1, q2, q3, …qn. Para que en algunos procesos de entrada y salida hay que
cumplir unos parámetros para que los flujos de cadenas se cumplan, esto se debe al
sistema binario de 0 y 1.
µ(q0,0) = µ (q0,0, R)
Si q0 lee 0, va al mismo q0, escribe 0 y va hacia la derecha.

µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.

µ (q0, θ) = µ (q1,1, L)
Si q0 lee vacío, va al estado q1, escribe 1 y va hacia la izquierda.

µ (q1, 1) = µ (q1,0, R)
Si q1 lee 1, va al mismo estado q1, escribe 0 y va hacia la derecha.

µ (q1, θ) = µ (q2,1, R)
Si q1 lee vacío, va al estado q2, escribe 1 y va hacia la derecha.

Probemos con la siguiente pila de números:


000111101

µ(q0,0) = µ (q0,0, R)
Si q0 lee 0, va al mismo q0, escribe 0 y va hacia la derecha.
µ(q0,0) = µ (q0,0, R)
Si q0 lee 0, va al mismo q0, escribe 0 y va hacia la derecha.
µ(q0,0) = µ (q0,0, R)
Si q0 lee 0, va al mismo q0, escribe 0 y va hacia la derecha.
µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.

µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.

µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.
µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.
µ(q0,0) = µ (q0,0, R)
Si q0 lee 0, va al mismo q0, escribe 0 y va hacia la derecha.
µ(q0,1) = µ (q0,1, R)
Si q0 lee 1, va al mismo q0, escribe 1 y va hacia la derecha.

µ (q0, θ) = µ (q1,1, L)
Si q0 lee vacío, va al estado q1, escribe 1 y va hacia la izquierda.
µ (q0, θ) = µ (q1,1, L)
Si q0 lee vacío, va al estado q1, escribe 1 y va hacia la izquierda.
µ (q1, 1) = µ (q1,0, R)
Si q1 lee 1, va al mismo estado q1, escribe 0 y va hacia la derecha.

µ (q1, θ) = µ (q2,1, R)
Si q1 lee vacío, va al estado q2, escribe 1 y va hacia la derecha.
µ (q1, θ) = µ (q2,1, R)
Si q1 lee vacío, va al estado q2, escribe 1 y va hacia la derecha.
2. Identifique una cadena que no sea válida y justifíquela por qué.

Probemos con la Siguiente Cadena:


001100
Partiendo desde la cadena es de 0 y 1, utilizando una serie de procesos que se
desarrollaron para construir la MT, es una cadena de orden par, al llegar a q1
reconoció un 0, sabiendo que esta secuencia q1 tiene dos salidas si es 1 o si es vació
θ, entonces la maquina al encontrar un 0 o por cuestiones de lectura y escritura no
procede a terminar toda la cadena.
3. Ejecute el RunTest a una cadena aceptada que tenga al menos 5 cinco símbolos.

4. Identifique en que momento la maquina se detiene.

Cuando las cadenas no son aceptadas es cuando se detiene la MT.


Estudiante: LUISA FERNANDA BARRERA

EJERCICIO
PARA TRABAJAR

Es el autómata finito que tiene transiciones


vacías o que por cada símbolo desde un
estado de origen se llega a más de un estado
destino, es decir, es aquel que, a diferencia
de los autómatas finitos deterministas, posee
al menos un estado , tal que para un símbolo
Caracterización del alfabeto, existe más de una transición
del autómata posible

Es un autómata no determinista, teniendo en


cuenta que cuando inicia en el estado q0 e
ingresa el símbolo a ingresa a varios
estados.  

Procedimiento  Eliminación de q1
de conversión
de Autómata
Finito a
Expresión
Regular paso a
paso

Se elimina los símbolos que hay desde q0 hasta q1,


luego el que va de q1 a q2 y de q2 a q1

a+aa*b

(aa*b)*
Solo queda q0 al eliminar q2.

Expresión
b*(a+aa*b) (aa*b)
regular
 
 b*{a,aa*b}.{aa*b}
 Lenguaje
regular

Teniendo en cuenta el siguiente autómata realizar los puntos siguientes:


Ejercicio 2: Realizar la conversión de AFD a AFND o de AFND a AFD según
corresponda
Teniendo en cuenta que es un Automata finito no determinista.
M =({q 0 ,q 1 , q 2 , q 3 , q 4 }, {a , b }, δ , q 0 , {q 2 , q 4 })

K={q 0 , q 1 , q 2 , q 3 , q 4 }
¿ {a ,b ¿

s=q 0

F=q 2 , q 4

Estado a b  λ
q0 q1 q0, q3 -
q1 q1 q2 -
q2 q1 q3 -
q3 q4 q2 -
q4 q0 q1 q4

Ejercicio 3: Realice la minimización paso a paso del autómata finito determinista


Ejercicio 4: Realizar el autómata a Pila de L = {(a+b*+ac*)*}
Estudiante: JHONATTAN GUILLERMO RODRIGUEZ ROJAS

ACTIVIDAD INDIVIDUAL
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:

No Ejercicio
.
1

3
4

Solución del Problema : Ejercicio 5


Con base en el diseño dado por el tutor , se dará diligenciamiento a la tabla según los datos solicitados por la
misma:

EJERCICIO PARA Se realiza una selección del ejercicio a realizar y se indica en el foro
TRABAJAR correspondiente , con el fin de que no sea realizado por otro
compañero:

CARACTERIZACI Es posible visualizar un atomata finitono determinista, por lo cual desde


ON DE LA una de susentradas puede dirigirse a màs de un estado en concreto.
MÁQUINA DE Ejm:
TURING / q0 => a = Puede ir a q1 y también a q2
Características adicionales:
1. Es posible visualiza los estados q0, q1 y q2
2. El estado inicial es q0.
3. Su estado final es q2.
4. Letras del alfabeto pertenecientes son a y b => {a,b}
Por lo cual podemos obtener:

ESTADOS a b
q0 q1,q2 q0
q1 q2
q2 q0

PROCEDIMIENTO
DE PASO A PASO Con relación a la rubrica de evaluación es necesario realizar el
DEL RECORRIDO procedimiento paso a paso para identificar la expresión regular dada
DE UNA CADENA por el autómata planteado, entonces:

1. Se elimina q1 como estado con el fin de eliminar también los


caminos que con el interactúan (q1), en consecuencia, ya no
existe a => q0 y b => q2.

2. Se elimina el estado q0, al igual que en el paso anterior se


busca eliminar los caminos que interactúan con q2, en
consecuencia: a + ab => y q2 => q0 por el camino b.

3. Al finalizar se obtiene una expresión regular por el método de


eliminación de estado:

ER = b(a + ab + b)
PRACTICAR Y
VERIFICAR LO Para validar y practicar lo aprendido , se debe tener en cuenta que
APENDIDO formalmente un atomata finito es un quíntupla formada por Q, Σ, s, F
en donde podemos asignar en la variables:
Q => {q0,q1,q2}
Σ => {a,b}
s => {q0}
F => {q2}

BIBLIOGRAFIA
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=318032&lang=es&site=eds-live&ebv=EB&ppid=pp_Cover
Hernández, R. (2010). Practique la teoría de autómatas y lenguajes formales. (pp. 1
-124). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
docID=10566114&ppg=10
Alfonseca C, E., Alfonseca M, M., Mariyón S, R. (2009). Teoría de autómatas y
lenguajes formales. (pp. 7-797). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
docID=10498456&ppg=6
Rosenfeld, D. (2016). Computabilidad, Complejidad computacional y verificación de
programas. (pp. 7 - 27). Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
docID=11201616&ppg=12

También podría gustarte