You are on page 1of 12

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera

a de Sistemas

AUTOMATAS Y LENGUAJES FORMALES

301405 Programa: Ingeniera de Sistemas

GUIA DE ACTIVIDAD TRABAJO COLABORATIVO N 1 LENGUAJES REGULARES

DUITAMA JULIO DE 2012

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

Temticas revisadas:
Primera Unidad I.. LENGUAJES REGULARES Captulos 1. Conceptos Bsicos Lecciones 1. Introduccin e Historia. 2. Diferentes Modelos de Computacin 3. Autmatas y Lenguajes. 4. Lenguajes Regulares 5. Autmata 6. Definicin Formal de Autmatas Finitos 7. Autmatas Finitos Determinsticos (AFD) 8. Autmatas Finitos no Determinsticos (AFND) 9. Autmatas Finitos con Transacciones 10. Lenguaje Aceptado por Autmata Finito 11.Expresiones Regulares 12. Significado de las Expresiones Regulares 13. Autmatas Finitos y Expresiones Regulares 14.Propiedades de los Lenguajes Regulares 15.Equivalencia de Autmatas Finitos Determinsticos y Autmatas Finitos

2. Autmatas Finitos

3. Expresiones Regulares

Los lenguajes pueden describirse como elementos que se generan, como cadenas a partir de cadenas sencillas, con el uso de operaciones de cadenas o el desarrollo del lenguaje mismo, que se puede generar con otros lenguajes ms sencillos mediante operaciones de conjuntos. Los Lenguajes ms sencillos son los considerados lenguajes regulares, es decir, los que se pueden generar a partir de lenguajes de un elemento con la aplicacin de ciertas operaciones estndar realizadas un nmero finito de veces. Estos son pues los lenguajes que pueden reconocer los dispositivos llamados Autmatas finitos (AF) que son mquinas de cmputo con memoria muy restringida. En esta unidad se considera como segundo aspecto la idea de que un lenguaje no sea regular, adems de proporcionar un modelo sencillo de computacin que se puede generalizar en las unidades siguientes. Con las caracterizaciones anteriores y otras de los lenguajes regulares se obtienen y estudian algoritmos para traducir una descripcin de un lenguaje a otra descripcin de un tipo distinto; se acumula experiencia en el uso de mtodos formales para describir lenguajes y se intenta responder a preguntas acerca de ellos, son preguntas y ejercicios sencillos con sus respuestas y que permiten determinar la utilidad de los lenguajes regulares en aplicaciones del mundo real.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

OBJETIVO GENERAL: Reconocer los lenguajes regulares, autmatas finitos y su aplicacin. OBJETIVOS ESPECIFICOS Estudiar la aplicacin de los lenguajes regulares y los autmatas finitos. Adquirir las habilidades necesarias para desarrollar autmatas y mquinas que reconozcan lenguajes o computen funciones. Distinguir los diferentes tipos de lenguajes formales existentes. Adquirir el conocimiento y competencia para poder recrear autmatas sencillos en un simulador. De igual forma verificar el lenguaje que reconoce. METODOLOGA: Las sesiones son desarrolladas en forma terica, La estrategia de aprendizaje a utilizar ser el Aprendizaje colaborativo. Porque aprendizaje colaborativo? El desarrollo de las actividades de aprendizaje est basado en el aprendizaje colaborativo como una estrategia de aprendizaje y de trabajo de grupo que es usado en los cursos que se ofertan en el campus virtual de la UNAD, se requieren estas caractersticas para realizar un trabajo realmente efectivo. Participacin: el potencial de un grupo de aprendizaje se maximiza cuando todos los estudiantes participan activamente en las discusiones. Crecimiento Social: permite establecer y mantener una comprensin compartida de significados. Habilidades Conversacionales: la calidad de la comunicacin en grupos de discusin influencia la experiencia de aprendizaje y los logros de los miembros del grupo. Procesamiento Grupal y Anlisis de Rendimiento: existe procesamiento grupal cuando el grupo discute sus progresos y decide si contina con su comportamiento o lo cambia. Para ello los estudiantes deben evaluar individual y colectivamente sus rendimientos. Formacin de los grupos colaborativos: Los Grupos estn conformados por 5 estudiantes que el sistema en el momento del ingreso al curso acadmico los selecciona, es de anotar que este grupo est definido para desarrollar todo el curso acadmico y no es factible el cambio de grupo, este proceso fomenta deliberadamente la diversidad mezclando los estudiantes con diferente nivel, sexo, origen, estilo de aprendizaje, etc. Aunque esta distribucin no toma en cuenta la opinin de cada estudiante si pretende que se conserve dentro del equipo la pluralidad para potenciar la calidad, la cantidad y la velocidad de aprendizaje.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

Organizacin los Grupos colaborativos: Los equipos luego de la distribucin aleatoria que hace el sistema deben organizarse en este pequeo grupo obviamente con el compromiso de trabajar y de desempear algunos roles o funciones bsicas, que son indispensables para el desarrollo de la actividad. Una distribucin de funciones bsicas que se propone y debe ser definida una vez se hayan conocido los integrantes del grupo, es la siguiente (coordinador, relator, animador, tcnico y supervisor) aunque los estudiantes pueden crear las funciones que consideren ms adecuadas. En cada unidad de aprendizaje del curso los estudiantes deben elegir un coordinador del equipo que, a su vez, distribuye el resto de funciones entre sus compaeros. Cuando comienza una nueva unidad deben volver a elegir un coordinador pero de tal forma que nadie repita un cargo hasta que todos han pasado ya por ese cargo. La idea es que todos aprendan a ser responsables de todas las funciones esenciales dentro de un equipo, que todos vivan la experiencia de esa responsabilidad. Cmo se logra pertenencia con el grupo colaborativo?: Lo importante en la conformacin del equipo es el hecho de que se sientan parte del equipo en el cual van a trabajar durante todo el semestre, para ello cada grupo deber ponerse de acuerdo para desarrollar una primera actividad grupal, que est planteada en el foro general del curso, debern elaborar una presentacin multimedia que debe contener un acta de conformacin del grupo, un nombre para el equipo, un logo distintivo del grupo y la redaccin de texto en donde el equipo se presenta a sus compaeros explicando sus puntos fuertes y dbiles.

Cmo organizar su trabajo?: En este punto cobra relevancia e importancia el uso del wiki como elemento para compartir toda la informacin del grupo y registrar los aportes de cada uno de los integrantes del grupo, si es decisin del grupo no usar el wiki, pueden realizar sus aporte por el foro colaborativo de cada prctica en los temas de trabajo individual y trabajo grupal. Para la organizacin del trabajo a desarrollar el proceso es el siguiente: Planificacin: Se deben repartir las funciones entre los componentes del grupo colaborativo y planificar el trabajo. Para ello elaboraran un "Plan de Accin" que es un documento en un procesador de palabras en donde mostrarn el organigrama del equipo, la organizacin del tema en donde se escriba que saben sobre el tema, que desean aprender y cmo van a buscar la informacin (Desarrollo de la practica en el Cead, Biblioteca Virtual de la UNAD, en la Red, haciendo entrevistas a especialistas, etc.), el diagrama de flujo del proyecto y el calendario de actividades. Este Documento debe ser enviado al foro de trabajo colaborativo para compartirlo con el grupo y con el tutor en el TEMA de produccin del grupo.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

Elaboracin del trabajo: Con la informacin individual y grupal recogida en las bibliotecas, en la Red, haciendo entrevistas a especialistas etc. debern elaborar un informe que recoja lo esencial que han aprendido: el trabajo final. Para ello negociarn y construirn entre todo el grupo los contenidos de la prctica, se deja la decisin al grupo para que seleccione la tcnica ms adecuada para compartir la produccin de cada uno, se sugiere elaboren mapas de ideas o un mapa conceptual del tema a partir de la informacin elaborada individualmente.

Producto esperado a entregar: El producto es un documento que debe cubrir todos los puntos de la rbrica de evaluacin y debe ser elaborado en un procesador de palabras (openoffice write o Microsoft Word.) para luego ser convertido a PDF (Portable data File). NOTA IMPORTANTE. Para los ejercicios propuestos de esta actividad, ( 2 al 10) se deben realizar o recrear en alguno de los dos simuladores: Los grficos y anlisis de cada simulador son los que se exportaran al documento de Word. Debe entregar los archivos generados por el simulador en una carpeta, Importante: Tenga en cuenta que no se aceptan frmulas, caracteres o expresiones regulares, entre otros que sean copiadas como imagen. Se debe usar un editor de frmulas para plasmarlas. El Visual Autmata Simulator (vas) y/o el JFLAP. En las siguientes direcciones de Internet podrn descargar las mencionadas herramientas: Visual Autmata Simulator. http://www.cs.usfca.edu/~jbovet/vas.html JFLAP. http://www.cs.duke.edu/csed/jflap/ DOCUMENTO A ENTREGAR: Se debe entregar un archive comprimido (.rar) que contenga el siguiente nombre: Como ejemplo, si el estudiante se llama Carlos Alberto Amaya Tarazona y pertenece al grupo 78, entonces el archivo a enviar es: 78_col1_301405.rar El archivo comprimido contendr los siguientes elementos: 1. UN DOCUMENTO EN PDF: que contiene: Formato de presentacin del Documento: El documento debe contener los siguientes puntos

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

Datos de los Estudiantes (nombre, nmero de matrcula, e-mail, Zona, Cead) Datos del tutor. Introduccin concertada y redactada por los integrantes del Grupo Objetivos (General y Especficos) que pretenden alcanzar con el desarrollo de la actividad. Descripcin general del trabajo. Desarrollo de cada uno de los puntos enunciados a continuacin. Bibliografa acorde a las Normas APA Rev 5.

2. LOS ARCHIVOS GENERADOS POR EL SIMULADOR EN UNA CARPETA: Deben incluir los 9 archivos que genera el simulador : (EJERCICIOS 2 AL 9) Si es JFLAP (los de extensin jff) y si es con archivos de VAS (los de extensin .fa) Deben asignar nombres a los archivos del simulador as: Para el ejercicio 2: (as para los dems ejercicios cambiando el nmero) Ejercicio2.jff (Cuando se usa JFLAP) Ejercicio2.fa (Cuando se usa Visual Autmata Simulator) xitos. Cordialmente. Ing. (Msc) Carlos Alberto Amaya Tarazona

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

DISTRIBUCION DEL TRABAJO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

EJERCICIOS A DESARROLLAR: 1. Para el siguiente ejercicio, recordaremos ciertas apreciaciones, conceptos o afirmaciones acerca de las Expresiones Regulares, comnmente denotadas como ER: Una expresin regular es una forma de representar cierto tipo de lenguajes sobre un determinado alfabeto. Son exactamente los aceptados por los autmatas de estado finito. Si tomamos como A un alfabeto, unas posibles expresiones regulares sobre ese alfabeto podran ser: (identifique que lenguaje reconoce esa ER). a) es una ER que denota el Lenguaje..???? b) es una ER que denota el lenguaje ?

En general los lenguajes que pueden representarse mediante una expresin regular se llaman lenguajes regulares. Estos coinciden con los aceptados por los autmatas finitos. Es importante que tengamos definido o claro que Si r y s son ER denotando los lenguajes R y S, entonces se definen tres operaciones muy bsicas: Unin: (r + s) es una expresin regular ER que denota el lenguaje R S Concatenacin: (rs) algunos autores lo toman como (rs) es una expresin regular ER que denota le lenguaje RS. Clausura: r * es una expresin regular ER que denota el lenguaje R *

Para efectos de plasmar las ER, los parntesis se pueden eliminar siempre y cuando los smbolos y caracteres no alteren la interpretacin de otros caracteres o cadenas. La precedencia de las operaciones es: clausura / Concatenacin / Unin. Para los siguientes ejercicios identifique el lenguaje que reconoce y plasme cinco posibles cadenas vlidas que representan esa ER: si A = {a,b,c} c) d) e) f) g) (a +b) (a + b ) * (a+ )b* a (ab)*

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

si A = {0,1} h) i) j) k) l) m) n) o) 000 10* + 1 01* + 0 (1 110) * (1 + 10) + 1* 0* 00* 11* (0+1)*11(1+0)*

2. Partiendo de la definicin de que un Autmata Finito Determinstico (AFD) est dado por la quntupla: A = (Q, , f, q 0 , F) donde: Q es un conjunto de estados. es el alfabeto de entrada f: Q X Q es la funcin (total) de transicin. q 0 Q es el estado inicial.
F Q es el conjunto de estados finales.

Y que para el ejercicio, el autmata acepta las cadenas (01) n 1) : , A = ({q 0 , q 1 , q 2 , q 3 } , {0,1} , f , q 0 , { q 2 }) Representado mediante el grafo:

EN UN SIMULADOR (YA SEA JFLAP O VAS) Plsmelo en el simulador Realice la tabla de transicin correspondiente. Compruebe el lenguaje aceptado

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

Identifique la expresin regular que permite identificar que cadenas son vlidas y que acepta el autmata.

3. Acorde al autmata del ejercicio N 2, explique o justifique de donde proviene el nombre finito. (Sea objetivo y creativo). No copie contextos puntuales de los libros o de la web.

Convirtalo en un AFND. Justifquelo y explique de donde surge y por qu se da la caracterstica de No determinstico. El nuevo AFND debe plasmarlo en el simulador. Compruebe el lenguaje aceptado Identifique la expresin regular que permite identificar que cadenas son vlidas y que acepta el autmata. Analice si la ER y el Lenguaje aceptado es el mismo o no al ejercicio Nmero 2. Justifique sus respuestas.

4. Para el siguiente Autmata que acepta el lenguaje:

L = { {a,b,c}* = ab i c, i >= 0}
Realice las siguientes actividades: Determine si es un AFD AFND Encuentre la ER Grfico en un diagrama de Moore Realice la tabla de transicin De cinco (05) ejemplos de cadenas vlidas que acepte el autmata Recrelo en el simulador

5. Construya un autmata que reconozca cadenas enmarcadas dentro de la expresin regular: (10 + 0)* Tenga en cuenta que debe incluir cadenas vacas del tipo Se recomienda primero realizarlo en papel (graficarlo a mano alzada antes de llevarlo al simulador. Identifique los elementos de la tupla a que corresponda ese autmata y descrbalos. Realice el diagrama de Moore en el simulador y plsmelo en el trabajo. Construya Tabla de Transicin.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

En el simulador demuestre las cadenas de entrada vlidas . Identifique el lenguaje que reconoce.

6. Construya un Autmata que acepte el siguiente Lenguaje: L = 0*10* Identifique sus componentes (la tupla que es) Constryalo en los simuladores. Demustrelo con al menos cinco cadenas vlidas. Demuestre tres cadenas vlidas y justifquelas por qu no son vlidas comparadas con la expresin regular. Identifique y justifique si su diseo de Autmata es AFD AFND Cree las tablas de transicin Plasme el diagrama de Moore

7. Para el siguiente autmata:

Identifique sus componentes (la tupla que es) Constryalo en el simulador Identifique claramente las cadenas y subcadenas vlidas y justifquelas. Plasme en el trabajo los grficos generados. Identifique la expresin regular y el lenguaje que representa Plasme la tabla de transicin.

8. Construya un Autmata que acepta el lenguaje de palabras con un nmero

impar de unos Identifique sus componentes (la tupla que es) Constryalo en los simuladores. Cree las tablas de transicin Plasme el diagrama de Moore Escriba la expresin regular que represente. Justifique por que en este ejercicio no se solicita identificar el lenguaje que reconoce.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD Nombre escuela: Escuela de Ciencias Bsicas Tecnologa e Ingeniera Nombre programa: Ingeniera de Sistemas

9. Para el siguiente autmata finito determinista dado por:


M = ({q0, q1, q2, q3} , {0, 1} , , q0, {q1}) Donde la funcin : {q0, q1, q2, q3 } {0, 1} {q0, q1, q2, q3} viene dada por: (q0, 0) = q0 (q1, 0) = q0 (q2, 0) = q3 (q3, 0) = q3 (q0, 1) = q1 (q1, 1) = q2 (q2, 1) = q1 (q3, 1) = q2

Plsmelo en los simuladores. Realice el diagrama de Moore. Identifique la tabla de transicin correspondiente. Verifique el lenguaje aceptado y las cadenas vlidas para el autmata. Identifique la expresin regular que lo representa.

10. Para el siguiente autmata:

Identifique sus componentes (la tupla que es) Recrelo en los simuladores Realice la tabla de transicin. Qu tipo de Autmata es (Justifquelo). Identifique la ER y el Lenguaje que acepta Que cadena reconoce. (Demustrelo y grafquelo en el simulador).