• No se han encontrado resultados

Automatas y lenguaje formales, ejercicios

N/A
N/A
Protected

Academic year: 2021

Share "Automatas y lenguaje formales, ejercicios"

Copied!
18
0
0

Texto completo

(1)

AUTOMATAS Y LENGUAJES FORMALES TRABAJO COLABORATIVO FASE 2

DEBATIR Y DESARROLLAR LOS EJERCICIOS PLANTEADOS SOBRE AUTÓMATAS CON PILA Y GRAMÁTICAS

PRESENTADO POR: CARLOS ORLANDO ROJAS FRANKLIN JOAN PUENTES JUAN CAMILO ALFONSO DANIEL MEJÍA LIZARAZO

GRUPO: 301405_62

TUTOR CESAR JIMÉNEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA

(2)

INTRODUCCIÓN

El presente trabajo colaborativo contiene material académico correspondiente al curso Autómatas y Lenguajes Formales en donde se incluye el desarrollo de la Guía de Actividades correspondiente a la Unidad No 2 – Fase No 2 como un proceso intermedio del contenido que abarca la Teoría de Autómatas y lenguajes Formales, recorriendo las temáticas, de una manera simple objetiva y efectiva, dado el alto contenido analítico, matemático y de comprensión que tiene las temáticas a las que hace referencia el presente documento.

Se pretende identificar y comprender los conceptos y definiciones fundamentales para el estudio de lenguajes Independientes del contexto, autómata a pila, autómata a pila por vaciado, autómata a pila por estados finales, definición de gramática con sus características y tipos de gramáticas.

Para el cumplimiento de estos objetivos propuestos se realiza una investigación teórica individual la cual fue compartida en el foro de trabajo colaborativo, cuya evidencia es una presentación de los temas propuestos, posteriormente se realiza el desarrollo de dos ejercicios donde se aplican los temas de la unidad dos, el primero corresponde a la minimización e identificación de un autómata y el segundo a la construcción y simulación de un autómata con pila, estos ejercicios son los evidenciados en su desarrollo a continuación.

(3)

Ejercicio 1

Teniendo en cuenta el siguiente autómata realizar el proceso de minimización. Se debe realizar el procedimiento paso a paso.

1. Realice la descripción (notación) (caracterización) matemática del autómata. (Antes de minimizar)

De acuerdo a la definición formal tenemos

A={

{

q0,q1,q2,q3,q4,q5, q6, q7

}

,{1,2}, δ , q0,

{

q7,q4

}

}

Donde, estados del autómata:

K=

{

q0,q1,q2,q3,q4,q5,q6, q7

}

El Lenguaje reconocido por el autómata:

∑={1,2}

Estado inicial:

s=q0 Estados finales o de aceptación:

F=q4, q7

(4)

δ :(q0,1)=q1 δ :(q0,2)=q2 δ :(q1,1)=q5 δ :(q1,2)=q3 δ :(q2,1)=q6 δ :(q2,2)=q4 δ :(q3,1)=q7 δ :(q3,2)=q1 δ :(q4,1)=q1 δ :(q4,2)=q5 δ :(q5,1)=q3 δ :(q5,2)=q7 δ :(q6,1)=q4 δ :(q6,2)=q1 δ :(q7,1)=q1 δ :(q7,2)=q2

2. Plasme la tabla de transición del autómata. (No es la que generas VAS). (Antes de minimizar) Tabla de transiciones Estado s Entradas 1 2 q0 q1 q2 q1 q5 q3 q2 q6 q4 q3 q7 q1 q4 q1 q5 q5 q3 q7 q6 q4 q1 q7 q1 q2

(5)

3. Identifique El Lenguaje que reconoce. (Antes de minimizar) Lenguaje generado por el autómata

L= {todas las cadenas que empiezan por un {1} o {2} y terminan en un {1} o {2}}, con al menos tres elementos si comienza por 2 o tres elementos si comienza por 1, sobre el alfabeto {1,2}

4. Identifique los estados Distinguibles y los No distinguibles Estados Distinguibles

A={q4,q7}

Estados no Distinguibles B={q0,q1,q2,q3, q5, q6}

5. En el proceso de eliminación de estados, identifique que transiciones se eliminan y cuáles se re direccionan. Muestre la tabla de estados distinguibles.

Estados equivalentes para primer grupo A={q4,q7}

δ 1 2

q4 B B

q7 B B

Estados equivalentes grupo B B={q0,q1,q2,q3, q5, q6}

δ 1 2

q0 B B

q1 B B

(6)

q3 A B

q5 B A

q6 A B

Se forman nuevos grupo luego de validación de los dos conjuntos iniciales A={q4,q7}

B={q0,q1}

C={q2,q5} D={q3, q6}

Tablas de los nuevos conjuntos A={q4,q7} δ 1 2 q4 B C q7 B C B={q0,q1} δ 1 2 q0 B C q1 C D C={q2,q5} δ 1 2 q2 D A q5 D A D={q3, q6} δ 1 2 q3 A B q6 A B

Nuevos conjuntos son generados, q0 ingresa al conjunto A y se forma conjunto de inicio y final E.

(7)

E={q4,q7, q0} B={q1} C={q2,q5} D={q3, q6}

Revisando los conjuntos y sus tablas

E={q4,q7, q 0 } δ 1 2 q4 B C q7 B C q0 B C B={q1} δ 1 2 q1 C D C={q2,q5} δ 1 2 q2 D E q5 D E D={q3, q6} δ 1 2 q3 E B q6 E B

Mediante el procedimiento de la minimización encontramos que el estado q0 pertenece al conjunto A formándose y se forma el conjunto E, en este se comporta como un estado inicial también estado de aceptación, la tabla de transiciones es la siguiente:

Estados Entradas

(8)

E B C

B C D

C D E

D E B

Autómata generado

Realice la descripción (notación) (caracterización) matemática del autómata ya minimizado.

M = (K, Ʃ ,δ , s, F)

A={{B ,C , D , E},{1,2}, δ , E{E}}

Estados del autómata

K={B , C , D , E} Lenguaje reconocido por el autómata

∑={1,2} Estado inicial

(9)

s=E Estados de aceptación F=E Transiciones: δ :(B , 1)=C δ :(B , 2)=D δ :(C , 1)=D δ :(C , 2)=E δ :(D ,1)=E δ :(D ,2)=B δ :(E ,1)=B δ :(E ,2)=C Identifique El Lenguaje que reconoce

L = {ω ∈ {0, 1} | ω = todas las cadenas que empiezan por un {1} o {2} y terminan en un {1} o {2}}, con al menos tres elementos si comienza por 2 o tres elementos si comienza por Identifique su gramática (de forma manual) por la derecha y caracterícela. Debe incluir el diagrama de estados con los componentes de la gramática asociados a las variables y a las constantes.

Regla Gramática E →1 B S →2 B E →2 C B → 2 S B → 1C C → 1 S B → 2 D B → 1C D→ 1 E S →1 A D→ 2 B A →1 B C → 1 D A →2 C

(10)

C → 2 D C → 2 A

E → λ S → λ

V = es un alfabeto de variables

∑ = Es un alfabeto de constantes

R = es el conjunto de reglas es un subconjunto finito

S = el símbolo inicial y un elemento de V

La gramática regular es lineal por la derecha, ya que todas las producciones se presentan de la forma

A  Ab

(11)

Ejercicio 2

Diseñe un AP que lea el siguiente lenguaje L = {(ab*) | (c*d*)} ; es decir todas las combinaciones posibles de cadenas conformadas por los símbolos (a) (b*) o (c*) (d*) (con pila vacía).

1. Describa el autómata en notación matemática Conjunto de estados del autómata

Q= {q1, q2, q3, q1} Alfabeto ∑= {a, b, c, d} Contenido de la Pila Γ= {V} Estado Inicial s=q1

Símbolo Inicial de pila Z= V

Estados de aceptación: q2, q4 Función delta, donde e es épsilon

1. ((q1,a,V),(q2,e)) 2. ((q2,b,e),(q2,e)) 3. ((q1,e,V),(q3,e)) 4. ((q3,c,e),(r,e)) 5. ((q3,d,e),(q4,e)) 6. ((q4,d,e),(q4,e))

2. Determine el lenguaje que reconoce el AP.

Gramática libre de contexto que representa el lenguaje del autómata:

3. S->aB|cC|e 4. B->bB|e 5. C->cC|D 6. D->dD|e

(12)

�= {� ϵ (��∗)|(c∗d∗) | �= todas las cadenas que empiezan por el símbolo a; seguidas de una o muchas cadenas con el símbolo b o seguida de cadenas conformadas por ninguna o muchas c y d}

3. Justifique y asocio o evidencie si el diseño es un APND o un APD

Es un Autómata de Pila Determinista (APND) ya que se puede notar al ubicarnos en el estado inicial q1 tiene un paso hacia el estado q2 lee el símbolo vacío. Es decir que cuando la entrada contiene el símbolo a, se ejecuten dos posibles caminos, uno hacia el estado q2 con el símbolo a y el que va al estado q3 con el símbolo vacío.

4. Grafíquelo en JFLAP y realice el “Traceback” para las transiciones. (Las columnas para un AP son: El estado en que se encuentra el autómata, lo que falta por leer de la palabra de entrada, y el contenido de la pila).

5. Plasme las imágenes del recorrido de ese Traceback para cada movimiento en el documento. (Se debe apoyar en JFLAP) (Documente el proceso)

(13)

Introducimos la cadena aabb

Toma dos caminos a q2 por a y q3 (leyendo el símbolo vacio)

(14)

Simulación de abbb

Se desprende hacia dos estados por a y por vacio

(15)

Por otra parte sigue teniendo símbolos que leer y acepta la cadena

(16)

Toma por la transición vacía hacia a q3, donde lee c y luego a q4 al leer d

(17)

CONCLUSIONES

El trabajo descrito representa un aporte significativo a la teoría de gramáticas independientes del contexto, con el trabajo desarrollado fue posible debatir y desarrollar los ejercicios planteados sobre autómatas con pila y gramáticas a través de la realización de ejercicios de aplicación donde evidenciamos el proceso para la caracterización matemática del autómata, plasmamos la tabla de transición del autómata indicado, logramos la identificación del lenguaje que reconoce un determinado autómata, además de determinar los estados distinguibles y no distinguibles, se evidencia el proceso de minimización mediante la eliminación de estados, mostrando las transiciones se eliminan y cuáles van a ser re direccionadas, se logró mediante el ejercicio la identificación de la gramática de un autómata de forma manual y caracterización.

Mediante la actividad propuesta el grupo realizo el diagrama de estados con los componentes de la gramática asociados a las variables y a las constantes de un autómata, el ejercicio permitió el reconocimiento de autómatas con pila, definiendo si era determinista o no determinista, se utilizó como herramienta de apoyo el software JFLAP para su representación así como la simulación de lectura de cadenas mediante “Traceback” para las transiciones, tomando evidencia del proceso para documentarlo, finalmente como grupo se logró la apropiación de todos estos nuevos conocimientos que esperamos sean de aplicación es nuestro entorno profesional.

(18)

BIBLIOGRAFIA

 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&ppg=6

 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:2048/login?

user=proveedor&pass=danue0a0&url=http://bibliotecavirtual.unad.edu.co:20

51/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

 Kelley, D. (1995). Teoría de Autómatas y Lenguajes Formales, Prentice Hall Hispanoamericana.

 Millán, J., Antonio J. (2009). Compiladores y procesadores de lenguajes.

(pp. 73-126). Recuperado de:

http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action? docID=10844351

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

El diseño del trabajo, implícita o explícitamente, siempre ha sido un tema de gran preocupa- ción en teoría y comportamientos organizacionales. El propósito de esta investigación

Las características del trabajo con grupos que se debería llevar a cabo en los Servicios Sociales de Atención Primaria (SSAP), en términos de variabilidad o estabilidad

Esta investigación fue un aporte significativo para el trabajo en curso, puesto que desarrolla cómo a través de las tics se puede realizar un trabajo colaborativo o cooperativo,

Los héroes desempeñan una especie de “profesión” (Beruf) dentro de la historia universal: son los encargados de negocios del espíritu del mundo. Hasta que su sin- gularidad

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Con ello se constata una vez más, como en años anteriores, (gráfico 4) que el Servicio de Documentación cumple su misión como centro de referencia especializada sobre las