Sie sind auf Seite 1von 17

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

Escuela de Ciencias Básicas, Tecnología e Ingeniería


Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

AUTOMATAS Y LENGUAJES

FORMALES

FASE 6 - UNIDAD 1 2 Y 3

DEBATIR

Presentado por

JEFERSSON RAMIREZ ROJAS


CESAR EDUARDO TAPIERO BUITRAGO
MAURICIO RAMON SAGASTUY

TUTOR:

EDGAR ANTONIO CORTES

ING

UNIVERSIDAD NACIONAL ABIERTA Y


ADISTANCIA –UNAD

CEAD PITALITO HUILA


DICIEMBRE 2017

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Introducción
Es importante el desarrollo de este importante curso y medida que se va avanzando en el
proceso se logra identificar situaciones en lo que juega un papel importante la aplicabilidad
de los autómatas; tenemos que los autómata son dispositivo o conjunto de reglas que realizan
un encadenamiento automático y continuo de operaciones capaces de procesar una
información de entrada para producir otra de salida. Y con ello lograr un objetivo.
También es importante conocer que hay in vinculo para la aplicación y y desarrollo del
propósito La teoría de autómatas está estrechamente relacionada con la teoría del lenguaje
formal ya que los autómatas son clasificados a menudo por la clase de lenguajes
formales que son capaces de reconocer. Un autómata es un modelo matemático para una
máquina de estado finito. Es por eso la importancia de dicho vínculo.
Esto nos ha llevado sin duda a que busquemos y identifiquemos los problemas en que los
autómatas y lenguajes formales tienen aplicación. Que mediante este curso se
Facilitó la apropiación de conocimientos y de esta manera adquirir los conceptos básicos de
la teoría de los lenguajes formales y la relación que existe con la teoría de autómatas. Y así
Logrando entender el alto nivel de abstracción de las máquinas secuenciales y los autómatas
y conociendo los elementos y las técnicas necesarias para la construcción de las fases
iniciales de un compilador.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

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:

1.

Su lenguaje regular consta de {a, b}


q0 = aq0

q0= bq2

q2= aq2

q2= bq1

q1=aq1

q1=bq1

q0= aq0 + bq2

q2= aq2+ bq1

q1= aq1+ bq1+ λ landa siempre va en el estado aceptador, saco factor común.

q1= (a +b) q2 + λ Nos queda de la forma.

X= rx + s → X=r*s Aplico lema de arden, donde * es la estrella de Kleene.

q1= (a +b) * λ Sigo despejando teniendo en cuenta la formula.

q1= (a +b) *

q2= aq2+ bq1 Traigo q2 y aplico la formula

X= rx + s → X=r*s donde * es la estrella de Kleene.

q2= a*(bq1)

q2= a*(b (a + b) *) Reemplazo el valor de q1 por el ya obtenido anteriormente.

q0= aq0 + bq2 Traigo q0 y aplico lema de arden.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

q0= a *(bq2) Voy a reemplazar el valor de q2 ya obtenido anteriormente

q0= a *(bq2)

q0= a *(b (a*(b (a + b) *))) Tenemos la expresión regular.

Para llevarlo a autómatas debemos realizar lo siguiente.

a *(b (a*(b (a │ b) *))) Cambio el signo más por su modelo relacional, dándonos la equivalencia en
expresión regular del autómata dado

https://www.youtube.com/watch?v=mCHpn-msFnw

2.
El idioma utilizado esta dado por {0,1}

q0= 1q0 + 0q2

q1= 0q2+1q0

q2= 0q2+ 1q0+ λ

X= rx + s → X=r*s Aplico lema de arden, donde * es la estrella de Kleene, saco factor común.

q2= 0*(1q0+ λ) Ahora multiplico 0* por (1q0+ λ)

q2= 0*1q0+ 0*

q1= 0q2+1q0

q1=1(0*1q0+ 0*) +1q0 Se sustituyo el valor de q2 en el valor obtenido anteriormente.

q1=10*1q0+ 10*+1q0 multiplique en q1 →1 por (0*1q0+ 0*)

q0= 1q0 + 0q2 Saco el factor común de q0 y aplico la formula

q0= 1* 0q2 Sustituyo en q0 el valor de q2 obtenido anteriormente.

q0= 1* 0 (0*1q0+ 0*) ahora multiplico en q0 a 1*0 por (0*1q0+ 0*)

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

q0= (1* 0 0*1q0+1*00*) ahora saco factor común en q0

q0= (1* 0 0*1) q0+1*00*

q0= (1* 0 0*1) *1*00*

q2= 0*1q0+ 0* Retomo el valor dado en q2 y reemplazo q0

q2= 0*1[(1* 0 0*1) *1*00*] + 0*

q1=10*1q0+ 10*+1q0 Sustituyo en q1 los valores de q0

q1=10*1[(1* 0 0*1) *1*00*]+ 10*1[(1* 0 0*1) *1*00*]

https://www.youtube.com/watch?v=4dcBEogpSNk

3.

q0=0q2+1q1

q2=0q1+λq3

q3=1q1

q1=1q1

q1=1q1 Saco el factor común

q1=1

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

q3=1q1 Reemplazo a q1 en q3 por el valor dado.

q3=1 (1)

q3=1 1

q2=0q1+λq3 Reemplazo a q1 en q3 por el valor dado.

q2=0(1) +λ (11)

X= rx + s → X=r*s Aplico lema de arden, donde * es la estrella de Kleene

q2=01*11

q0=0q2+1q1 Reemplazo tanto a q2 como a q1

q0=0(01*11) +1

q0=001*011+11 Multiplique el cero

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

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

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


Es un autómata finito no determinista con transiciones vacías.

a b c
A= {0} U {1} B= {21} U {1} C= {0} U {1} D= {4} U {1}
B= {21} U {1} E= {41} U {1} C= {0} U {1} G= {1}
C= {0} U {1} B= {21} U {1} C= {0} U {1} D={4} U {1}
D= {4} U {1} I = {31} U {1} G= {1} C= {0} U {1}
E= {41} U {1} I={31} U {1} G= {1} C= {0} U {1}
G= {1} J= {1} U {1} G= {1} G= {1}
I = {31} U {1} K={51} U {1} E= {41} U {1} G= {1}
J= {1} U {1} J= {1} U {1} G= {1} G= {1}
K={51} U {1} B= {21} U {1} D= {4} U {1} L= {3} U {1}
L= {3} U {1} K={51} U {1} E= {41} U {1} G= {1}

Empezamos tomando a A= {0} U {1} esto quiere decir q0 unión q1 que donde se encuentra
las transiciones vacías.
En el cuadro de B= {21} U {1} es el resultado del valor del estado de q0 en “a” y el valor de
q1 en “a”. Como es un valor diferente al de “A” entonces lo nombramos como “B”.

En el cuadro de C= {0} U {1} es el resultado del valor del estado de q0 en “b” y el valor de
q1 en “b”. Como es un valor diferente al de “A y B” entonces lo nombramos como “C”.

En el cuadro de D= {4} U {1} es el resultado del valor del estado de q0 en “c” y el valor de
q1 en “c”. Como es un valor diferente al de “A, B y C” entonces lo nombramos como “D”.

Luego pasamos el valor de B= {21} U {1} al primer cuadro de la izquierda y empezamos a


buscar sus valores como hicimos con el “A” de esta forma.
En el cuadro de E= {41} U {1} es el resultado del valor del estado de q2 en “a” y el valor de
q1 en “a”. Como es un valor diferente al de “A, B, C y D” entonces lo nombramos como “E”.
En el cuadro de C= {0} U {1} es el resultado del valor del estado de q2 en “b” y el valor de
q1 en “b”. Como es un valor es similar al de “C” entonces lo seguimos nombrando como
“C”.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

De esta manera seguimos llenando el cuadro hasta haber agotado todas las alternativas del
autómata.
Después de esto realizamos otro cuadro con los nuevos estados, el cual nos permitirá realizar
el diagrama de la conversión de AFD.

a b c
A B C D
B E C G
C B C D
D I G C
E I G C
G J G G
I K E G
J J G G
K B D L
L K E G

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

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Divido en clases de estados, C1 son los estados de aceptación y C2 los estados que no lo son.

X = {L, E, K, D, I}

Y = {A, B, C, J, G}

Encontramos los equivalentes en las siguientes tablas.

Tabla de transiciones de estados de aceptación


Estados de a b c
aceptación
L K E G
E I G C
K B D L
D I G C
I K E G

Tabla de Conjuntos de estados de aceptación


Estados de a b c
aceptación
L x x y
E x y y
K y x x
D x y y
I x x y

Se encontraron las siguientes equivalencias.

L, I son equivalentes.

E, D son equivalentes.

Tabla de transiciones de estados de no aceptación


Estados de No a b c
aceptación
A B C D
B E C G
C B C D
J J G G
G J G G

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Tabla de Conjuntos de estados de no aceptación


Estados de No a b c
aceptación
A y y x
B x y y
C y y x
J y Y Y
G y y y

Se encontraron las siguientes equivalencias.

A, C son equivalentes

J, G Son equivalentes

Los nuevos conjuntos serian

U= {L, I}

V= {E, D}

W= {A, C}

Z= {J, G}

Valido nuevamente estos conjuntos con estado de aceptación.

U a b c
L ---- V Z
I ---- V Z

V a b c
E U Z W
D U Z W

Valido nuevamente estos conjuntos con estado de no aceptación.

W a b c
A --- W V
C --- W V

Z a b c
J Z Z Z
G Z Z Z

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Se observan que ambos conjuntos son equivalentes, por lo tanto, realizo la tabla de transiciones.

a b c
U ---- V Z
V U Z W
W --- W V
Z Z Z Z

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

L = {a*+ b*}

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.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

 Tenemos que en cuanto 0 se vuelve 1 o cuando 1 se vuelve 0 cuenta hacia la


derecha desde q0 tenemos espacio en blanco y paso a q1.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Tenemos que cuando es 1 es 1 y cuando es 0 es 0. Cuando está a la izquierda en q1 paso en


blanco y pasa a la derecha en q2

Finalizando en q2

b. identifique una cadena que no sea válida y justifíquela porque

Cadena no aceptada

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

 Tenemos que la MT quedo en estado de no aceptación y por tal motivo la cadena


no es reconocida y no se seguirá el recorrido.

c. Ejecute el RunTest a una cadena aceptada que tenga al menos cinco símbolo.

d. Identifique en que momento la máquina se detiene.

Conclusiones
 Mediante el desarrollo del anterior trabajo se logró Estudiar los conceptos fundamentales de
la teoría de autómatas y lenguajes formales,

 Se logró de forma satisfactoria la asimilación de los conceptos fundamentales


mediante la resolución de problemas a los que se debía encontrar solución.

 Se reconoció y se adquirió los conceptos básicos de la teoría de los lenguajes formales y por
ende la relación que existe entre este y la teoría de autómatas y su aplicabilidad en la búsqueda
de soluciones.

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

Bibliografía
Modulo autómata y lenguajes formales ing Edgar Alberto Quiroga recuperado de
https://es.scribd.com/document/60403983/301405-Modulo-Automatas-y-Lenguajes-
Formales
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=3180
32&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. Recuperado
de:http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10498456&pp
g=6

Grupo: 301405_19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Escuela de Ciencias Básicas, Tecnología e Ingeniería
Curso: AUTOMATAS Y LENGUAJES FORMALES 301405A_363

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

Grupo: 301405_19

Das könnte Ihnen auch gefallen