301405-ProtocoloAcademico
Short Description
Download 301405-ProtocoloAcademico...
Description
GUÍA DIDÁCTICA AUTÓMATAS Y LENGUAJES FORMALES
Edgar Alberto Quiroga Rojas
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS CIENCIAS BÁSICAS BÁSICAS TECNOLOGIA E INGENIERÍA PROGRAMA INGENIERIA DE SISTEMAS BOGOTÁ D.C., 2005
GUÍÍA DIDÁCTICA Autor: Edgar Alberto Quiroga Rojas Ingeniero de Sistemas. Especialista en: Educación Superior a Distancia Pedagogía para el desarrollo del aprendizaje autónomo.
COMITÉ DIRECTIVO Jaime Alberto Leal Afanador Rector Gloria Herrera Vicerrectora Académica y de Investigación Roberto Salazar Ramos Vicerrector de Medios y Mediaciones Pedagógicas Gustavo Velásquez Decano Escuela de Ciencias Básicas Tecnología e Ingeniería Celia del Carmen López Secretaria Académica Escuela de Ciencias Ciencias Básicas Tecnología e Ingeniería Alexandra Aparicio Coordinadora Nacional Ingeniería de Sistemas. CURSO AUTOMATAS Y LENGUAJES FORMALES GUÍA DIDÁCTICA Primera Edición @Copy Right Universidad Nacional Abierta y a Distancia ISBN 2005 Centro Nacional de Medios para el aprendizaje 2008 Primera Actualización
PROTOCOLO ACADÉMICO 1. IDENTIFICACIÓN DEL CURSO ACADÉMICO
FICHA TECNICA Nombre del Curso: Palabras clave:
AUTÓMATAS Y LENGUAJES FORMALES Compiladores, analizadores, léxico, maquinas, gramáticas, deterministicos, codificación, expresiones Universidad Nacional Abierta y a Distancia – UNAD Bogotá, D.C. – Colombia Protocolo Edgar Alberto Quiroga Rojas
Institución: Ciudad: Autor del Académico: Año: Unidad Académica: Campo de Formación: Área del Conocimiento: Créditos Académicos:
2005 Facultad de Ciencias Básicas e Ingeniería Formación Profesional Básica Ingeniería de Sistemas Tres (3) correspondientes a 144 horas de trabajo académico: 106 horas promedio de estudio independiente y 38 horas promedio de acompañamiento y seguimiento tutorial. Tipo de curso: Teórico Destinatarios: Estudiantes de pregrado de la Facultad de Ciencias Básicas e Ingeniería del Programa de Ingeniería de Sistemas . Competencia General comprender la forma en que funciona un autómata y la de aprendizaje: correspondencia entre autómatas, analizar lenguajes y gramáticas y la relación jerárquica entre ellos. Metodología de Oferta: A distancia Formato de circulación: Documentos impresos en papel con apoyo en Web; W eb; CDROM, Disquetes Denominación de las 1) Lenguajes regulares. Unidades Didácticas: 2) Lenguajes independientes del contexto. 3) Lenguajes estructurados por frases.
2. INTRODUCCIÓN Autómatas y lenguajes formales es un curso de carácter teórico, que se inscribe en el campo de formación formación profesional básico del Programa de Ingeniería Ingeniería de Sistemas con un valor académico de tres créditos. El estudiante en el desarrollo de este curso demuestra la asimilación de los conceptos y mecanismos fundamentales para la definición de lenguajes (expresiones regulares, gramáticas independientes del contexto y gramáticas generales), los tres tipos de maquinas correspondientes para su reconocimiento (autómatas finitos, autómatas a pila y maquinas de Turing) y las propiedades fundamentales de las familias de lenguajes por ellos definidas, también realiza el estudio de las condiciones necesarias para que un lenguaje sea de un tipo determinado. Este curso toma como base el avance de los lenguajes de programación de alto y bajo nivel para propiciar la distinción entre lenguajes formales con reglas sintácticas y semánticas rígidas, concretas y bien definidas de los lenguajes naturales, como el ingles o el español, donde la sintaxis y la semántica no se pueden controlar fácilmente. Los intentos de formalizar los lenguajes naturales, lleva a la construcción de gramáticas, como una forma de describir estos lenguajes, utilizando para ello reglas de producción para construir las frases del lenguaje. Se puede entonces caracterizar un lenguaje mediante las reglas de una gramática adecuada. Los temas sobre autómatas, computabilidad, e incluso la complejidad algorítmica fueron incorporándose al currículo de ciencias de la computación de diferentes universidades desde la década de los 60, esta incorporación puso de manifiesto que las ciencias de la computación habían usado gran cantidad de ideas de muy diferentes campos para su desarrollo, y que la investigación sobre aspectos básicos podía cooperar y aumentar los avances de la computación. En cuanto a la utilidad práctica de esta asignatura, las dos primeras Unidades didácticas (lenguajes regulares y lenguajes independientes independientes de contexto) son importantes para la construcción de compiladores: Los lenguajes regulares para la construcción de analizadores léxicos y los lenguajes independientes del contexto para la construcción de analizadores sintácticos. La tercera Unidad Didactica (Lenguajes estructurados por frases incluidas las máquinas de Turing) son fundamentales para el estudio de la computabilidad y complejidad de problemas. Durante este curso, la metodología de trabajo buscará dinamizar la experiencia individual y grupal así como el acompañamiento que que el tutor realiza al estudiante para potenciar el aprendizaje y la formación, que favorecerá la disposición a ser partícipe en la solución de problemas. El trabajo que se promueve en el estudiante es de dos tipos: individual y grupal. El
trabajo individual que es un estudio independiente y personal en donde las actividades se realizan autónomamente como por ejemplo lecturas, desarrollo de tareas, interacción con medios tecnológicos y tutoriales, al igual que la revisión de los materiales que se presentan en el módulo y aula virtual. El trabajo grupal que se refiere a las actividades en pequeños grupos colaborativos de aprendizaje para el desarrollo de talleres y tareas relacionadas. Mediante diversas actividades de aprendizaje que orientan el trabajo de los estudiantes se pretende que se logren los objetivos, de la siguiente manera: • • • • •
Tutor-estudiante: a través del acompañamiento individual, foros, chat, correo electrónico. Estudiante-estudiante: mediante la participación activa en los grupos colaborativos de aprendizaje. Estudiantes-tutor: a través del acompañamiento a los pequeños grupos colaborativos de aprendizaje, grupos de discusión, foros, chat, correo electrónico Tutor-estudiantes: mediante el acompañamiento en grupo de curso Estudiantes-estudiantes: en los procesos de socialización que se realizan en el grupo de curso.
El sistema de evaluación del curso se realiza a través de la evaluación formativa, que constituye distintas formas de comprobar el avance en el autoaprendizaje del estudiante. En este sentido, se realizarán tres tipos de evaluación alternativas y complementarias, estas son: • • •
Autoevaluación: evaluación que realiza el estudiante para valorar su propio proceso de aprendizaje. Coevaluación: se realiza a través de los grupos colaborativos, y pretende la socialización de los resultados del trabajo personal. Heteroevaluación: Es la valoración que realiza el tutor.
No olvidar que la evaluación tiene un examen nacional de 40% y regional de 60% Para el desarrollo del curso es importante el papel que juega los recursos tecnológicos como medio activo e interactivo, buscando la interlocución durante todo el proceso de diálogo docente-estudiante. • • •
Los materiales impresos en papel, se han convertido en el principal soporte para favorecer los procesos de aprendizaje autodirigido. Aula Virtual: propician el acercamiento al conocimiento, la interacción y la producción de nuevas dinámicas educativas. Sistemas de interactividades sincrónicas: permite la comunicación a través de encuentros presenciales directos o de encuentros mediados (chat, audio conferencias, videoconferencias, tutorías telefónicas)
•
Sistemas de interactividades diferidas: permite la comunicación en forma diferida favoreciendo la disposición del tiempo del estudiante para su proceso de aprendizaje, mediante la utilización de correo electrónico, foros, grupos de discusión, entre otros.
El acceso a documentos adquiere una dimensión de suma importancia en tanto la información sobre el tema exige conocimientos y planteamientos preliminares, por tal razón es imprescindible el recurso a diversas fuentes documentales y el acceso a diversos medios como son: bibliotecas electrónicas, hemerotecas digitales e impresas, sitios Web especializados. Por último y para alcanzar los objetivos planteados en este curso es importante que usted como gestor de su propio proceso de aprendizaje considere los siguientes puntos como rectores de sus tareas autónomas: • • • •
Organización del tiempo. Organización del material. Desarrollo de actividades de autoaprendizaje. Desarrollo de tareas individuales y grupales.
Organización del tiempo: dedique por lo menos una hora diaria al estudio de este curso. El éxito de este aprendizaje está fundamentado en la disciplina individual que Ud. se proponga como hábito personal. No deje acumular su trabajo para la víspera de la fecha de entrega de las tareas. Organización del material y de estudio: planifique diariamente tanto el tiempo como el material que va a utilizar y revisar en cada actividad. Intercambie sus puntos de vista, materiales encontrados, opiniones de textos y autores con el propósito de alimentar y enriquecer su producto final. Desarrollo de actividades de autoaprendizaje: desarrolle ejercicios y actividades de autoaprendizaje, incorpore a su estudio, otros contenidos que sean producto de investigaciones bibliográficas y de Internet. Desarrollo de tareas individuales y grupales: desarrolle a conciencia cada una de las tareas individuales y grupales a distancia. La suma de estos trabajos integrarán gran parte de su trabajo final.
3. JUSTIFICACIÓN En este curso se estudia la jerarquía de modelos de máquinas computacionales, de gramáticas formales y de los lenguajes correspondientes. Es importante que el alumno comprenda no solamente la forma en que funciona cada autómata, sino sobre todo la correspondencia entre autómatas, lenguajes y gramáticas, y la relación jerárquica entre ellos. Es una introducción a los tres tipos fundamentales de mecanismos de definición de lenguajes (expresiones regulares, gramáticas independientes del contexto y gramáticas generales), y a los tres tipos de maquinas correspondientes para su reconocimiento (autómatas finitos, autómatas a pila y maquinas de Turing) asi como las propiedades fundamentales de las familias de lenguajes por ellos definidas, incluyendo el estudio de condiciones necesarias para que un lenguaje sea de un tipo determinado. El curso es principalmente teórico, jugando un papel secundario la implementación de algoritmos. Al final del curso el alumno debe demostrar la asimilación de los conceptos fundamentales mediante la resolución de problemas acerca de los mismos, así como la realización de un reducido grupo de practicas en el computador. En consecuencia este curso hace el estudio matemático de los modelos de computación, a través de métodos abstractos de los elementos computacionales, desarrollado a partir de tres disciplinas: matemáticas, ingeniería y lingüística Las competencias que promueve el curso y que son necesarias son: COGNITIVA : Capacidad de apropiarse de un conjunto de conocimientos a través del desarrollo, monitoreo y aplicación de procesos de pensamiento. COMUNICATIVA: Capacidad de comprender, expresar mensajes y de desarrollar procesos argumentativos, apoyados por la asertividad en las relaciones interpersonales. CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto científico, político, cultural, tecnológico, social y en el plano nacional e internacional, así como la disposición y capacidad para aplicarlo en procesos de transformación que inciden en la calidad de vida de la población. VALORATIVA: Capacidad de apropiarse de valores como el respeto a la vida. La dignidad humana, la convivencia, la solidaridad, la tolerancia y la libertad que orientan las acciones del individuo como persona, como ser social y como profesional.
Para el logro de éstas competencias, es necesario que se planifique de manera responsable el proceso de autoestudio por parte del estudiante si se quieren lograr resultados positivos en el aprendizaje de los conceptos incluidos en el curso, este proceso se puede planificar de la siguiente manera: •
• • •
•
Autoestudio: Estudio individual del material sugerido y consulta de otras fuentes (documentales, consulta en biblioteca, Internet, bibliografía recomendada, consulta a bases de datos documentales, entre otros) Trabajo en grupo: Creación de grupos de estudio o discusión con el propósito de preparar consultas estructuradas al tutor. Consultas al tutor: Consulta al tutor de las inquietudes surgidas en el punto anterior. Retroalimentación: Una vez el tutor haya resuelto las inquietudes, estudie nuevamente el tema, teniendo en cuenta las sugerencias o respuestas dadas por el tutor. Procesos de evaluación: Una vez se haya realizado el proceso de retroalimentación, desarrolle los diferentes momentos de evaluación propuestos en el curso como son la autoevaluación, coevaluación y heteroevaluación.
4. INTENCIONALIDADES FORMATIVAS 4.1 PROPÓSITOS •
Facilitar la apropiación de conocimientos para que el estudiante pueda 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.
•
Lograr que el estudiante entienda el alto nivel de abstracción de las máquinas secuenciales y los autómatas y que conozca los elementos y las técnicas necesarias para la construcción de las fases iniciales de un compilador.
4.2 OBJETIVOS •
Estudiar los conceptos fundamentales de la teoría de autómatas y lenguajes formales, para la descripción de ellos.
•
Conocer la correspondencia entre máquinas, gramáticas y lenguajes, los problemas en los que las teorías tienen aplicación o que han motivado su construcción.
4.3 COMPETENCIAS •
El estudiante conoce la jerarquía de modelos de máquinas computacionales y su funcionamiento, así como de la jerarquía de las gramáticas formales y de los lenguajes correspondientes.
•
El estudiante conoce la correspondencia entre máquinas, gramáticas y lenguajes para poder construir compiladores.
•
El estudiante desarrolla la capacidad de abstracción y análisis teórico en relación con la teoría de lenguajes para adquirir herramientas para algunas asignaturas de la carrera.
4.4 METAS Al terminar el curso el estudiante: • Debe demostrar la asimilación de los conceptos fundamentales mediante la resolución de problemas acerca de los mismos, así como la realización de un reducido grupo de practicas en el ordenador. • Desarrollará la capacidad de entender los problemas computacionales, y logrará una comprensión acabada de ciertos tópicos de la ciencia de la computación; en particular, en lo referente a modelos básicos de conmutabilidad y complejidad de problemas.
5. UNIDADES DIDACTICAS A continuación se presenta el contenido del curso: Primera Unidad Capítulos Temas LENGUAJES Gramáticas Equivalencia de gramáticas REGULARES regulares.. regulares. Autómatas finitos Memorias Autómatas finitos deterministas. Concepto de Autómatas finitos deterministas.. Equivalencia y Minimización de un AFD. Autómatas finitos no deterministas. Concepto de Autómatas finitos no deterministas. Teoremas de Equivalencia. Expresiones Concepto de Expresión Regular. regulares. Teoremas de Equivalencia. Propiedades de Propiedades de cierre. lenguajes Algoritmos de decisión. Regulares. Identificación de lenguajes no regulares. Segunda Unidad Capítulos Temas LENGUAJES Gramáticas Conceptos generales. INDEPENDIENTE independientes Simplificación de GIC. S DEL del contexto. Formas normales. CONTEXTO Autómatas a pila. Concepto de AP. Equivalencia entre AP por estado final y AP por vaciado de pila. AP y lenguajes independientes del contexto. Propiedades de Identificación de lenguajes independientes del lenguajes contexto. independientes Propiedades de cierre. del contexto Algoritmos de decisión. Tercera Unidad Capítulos Temas LENGUAJES . Máquinas de Conceptos generales, Otras definiciones. ESTRUCTURADO Turing. MT para reconocer lenguajes. S POR FRASES MT para computar funciones. Máquina de Tesis de Church/Turing. Turing y Máquina de Turing Universal. Computación. Funciones computables. Decidibilidad. Funciones Introducción recursivas. Funciones recursivas primitivas Funciones recursivas parciales
6. CONTEXTO TEÓRICO El estudiante de Ingeniería de Sistemas en su proceso de formación debe conocer la importancia que tiene cada uno de los cursos que conforman el plan de estudios para poder continuar desarrollando un aprendizaje acorde a las necesidades de formación, por ello este curso se inscribe en el área de formación profesional básica, “la Teoría de Autómatas es una de las teorías base de las denominadas Ciencias de Computación y es considerada una asignatura de "Ciencia Básica" para los estudiantes de informática en el mundo. Dicha teoría modela matemáticamente máquinas simples con capacidades bien acotadas y entrega las bases para determinar ciertos tipos de problemas que tienen solución, los que son bien caracterizados, y entrega elementos teóricos para determinar cuando un problema no tiene una solución algorítmica.”1 Mediante el desarrollo de las unidades didácticas se pretende en las dos primeras Unidades didácticas (lenguajes regulares y lenguajes independientes de contexto) resaltar la importancia de la utilidad que revisten estos temas para la construcción de compiladores: Los lenguajes regulares para la construcción de analizadores léxicos y los lenguajes independientes del contexto para la construcción de analizadores sintácticos. La tercera Unidad Didactica (Lenguajes estructurados por frases incluidas las máquinas de Turing) son fundamentales para el estudio de la computabilidad y complejidad de problemas. El curso atiende a las siguientes problemáticas: Problemáticas teóricas: El abordaje de nuevos conceptos de la teoría de autómatas y lenguajes formales. Conocer la jerarquía de modelos de máquinas computacionales. Comprender el funcionamiento y estructura de cada una de las máquinas computacionales. Conocer la relación existente entre máquinas computacionales, gramáticas y lenguajes. Problemáticas metodológicas: El curso está constituido por un conjunto de estrategias, técnicas y herramientas que posibilitan el desarrollo del curso y la aprehensión de los conocimientos propios de la teoría de autómatas y lenguajes formales.
1
Hans Iost. Apuntes del Curso IIS340: Teoría de Autómatas y Lenguajes Formales. Central de Apuntes Facultad de Ingeniería, Ciencias y Administración, Universidad de La Frontera, Temuco, Chile.
Problemáticas recontextuales: El curso está programado para que el estudiante identifique, describa, distinga, relacione, compare, generalice, descubra, examine, proponga, investigue, justifique y sustente la información aprendida. Las competencias que promueve el curso y que son necesarias son: Cognitiva : Capacidad de apropiarse de un conjunto de conocimientos a través del desarrollo, monitoreo y aplicación de procesos de pensamiento. Comunicativa: Capacidad de comprender, expresar mensajes y de desarrollar procesos argumentativos, apoyados por la asertividad en las relaciones interpersonales. Contextual: Capacidad de ubicar el conocimiento en el contexto científico, político, cultural, tecnológico, social y en el plano nacional e internacional, así como la disposición y capacidad para aplicarlo en procesos de transformación que inciden en la calidad de vida de la población. Valorativa: Capacidad de apropiarse de valores como el respeto a la vida. La dignidad humana, la convivencia, la solidaridad, la tolerancia y la libertad que orientan las acciones del individuo como persona, como ser social y como profesional.
7. METODOLOGÍA El proceso de aprendizaje que no es mas que el resultado de la interacción del estudiante con el medio ambiente, es importante que se planifique de manera responsable teniendo en cuenta las características de la metodología de educación a distancia, por tal razón, este proceso se puede estructurar de la siguiente manera: Fase de motivación y comprensión: corresponde a las actividades previas en las cuales se identifican los propósitos del curso, sus intencionalidades y el desarrollo del curso. Puede realizarse de manera individual a través del estudio del protocolo del curso o con actividades grupales propuestas o dirigidas por el tutor. Fase de ejecución: en la cual se llevan a cabo diferentes actividades para alcanzar los propósitos de formación. Como son: •
•
•
•
Estudio Independiente: que corresponde al trabajo individual del estudiante que tendrá que realizar el Trabajar el material sugerido por la institución para el desarrollo del presente curso. Consulta de fuentes: como documentos impresos en papel libros, revistas; documentos situados en Internet; paginas Web de información especializada, bibliotecas y hemerotecas virtuales. Trabajo en grupo: Con la organización por parte de los estudiantes de pequeños grupos colaborativos, para abordar los materiales en grupos de estudio o discusión, y con le propósito de preparar consultas estructuradas al tutor. Interacción con el tutor: teniendo en cuenta que la labor del tutor es la del acompañamiento de los procesos de aprendizaje de los estudiantes El estará dispuesto a resolver las inquietudes y consultas utilizando estrategias de asesoría como la tutoría presencial o a distancia y usando herramientas tecnológicas en las diferentes etapas del curso.
Fase de evaluación: permiten identificar el nivel de logro alcanzado de cada una de las unidades didácticas, establecer las dificultades en el aprendizaje y afianzar los conocimientos adquiridos. Se tendrán las siguientes: •
•
•
Autoevaluación: Que la desarrolla el estudiante a través de ejercicios, talleres, problemas, estudios de caso, lecturas autoreguladas e investigaciones de manera individual. Coevaluación: La desarrolla a través de grupos y utilizando ensayos, análisis de lecturas, reflexiones personales, mapas conceptuales para permitir la reflexión conjunta sobre los productos elaborados y los aprendizajes logrados. Heteroevaluación: desarrollada por el tutor a través de exámenes, test y evaluación de portafolios.
8. SISTEMA DE EVALUACIÓN El sistema de evaluación formativa, que constituye una herramienta para evidenciar los procesos, interactividades y avances del estudiante y tutor en el desarrollo del curso utilizará tres tipos de evaluación alternativas y complementarias, estas son: La autoevaluación, la realiza el estudiante para valorar su propio proceso de aprendizaje y se fundamenta en la responsabilidad y madurez de cada uno de los participantes y en el grado de compromiso que tenga para con su preparación intelectual. La coevaluación, al igual que la autoevaluación dependerá del grado de madurez y la responsabilidad de los integrantes del curso académico, y consistirá en la evaluación de las diferentes actividades propuestas teniendo en cuenta el trabajo en los grupos colaborativos, y pretende la socialización de los resultados del trabajo personal. La autoevaluación y coevaluación que se realizan en el desarrollo del curso academico tendran una ponderación del 60%. La heteroevaluación, Es la valoración que realiza el tutor y tiene como objetivo examinar y calificar el desempeño competente del estudiante. Esta será diseñada por el docente responsable del curso académico y aplicada por el tutor a través de una evaluación nacional con un valor de 40%
FASES DE APRENDIZAJE RECONOCIMIENTO PROFUNDIZACION TRANSFERENCIA PRUEBA NACIONAL TOTAL
PORCENTAJE 10% 20% 30% 40% 100%
9. GLOSARIO DE TÉRMINOS GLOSARIO Árboles Sintácticos
Es un gráfico en forma de árbol que representa una cadena que se deriva de una gramática libre de contexto. Autómata Una máquina abstracta cuyos mecanismos de mando fueron diseñados para seguir una sucesión predeterminada de funcionamientos automáticamente o responder a las instrucciones puestas en código. El autómata que nosotros estudiamos se idealiza en máquinas cuya conducta puede ser explicadas en términos de algún sistema descriptivo formal donde nosotros manipulamos símbolos en lugar del hardware. Autómata de Pila Es un autómata que cuenta con un mecanismo que permite un almacenamiento ilimitado y opera como una pila. Autómata Finito Consiste en un grupo de estados y un conjunto de Determinístico transiciones de estado a estado, que se dan sobre símbolos de entrada tomados de un alfabeto S . Para cada símbolo de entrada existe exactamente una transición a partir de cada estado. El estado q o, es el estado inicial, en el que el autómata comienza. Algunos estados están designados como final o de aceptación. Autómata Finito No Es una modificación del autómata finito determinístico, Determinístico que permite ninguna, una o más transiciones de un estado a otro sobre el mismo símbolo de entrada. Es un autómata finito determinístico pero con transiciones Autómata Finito No determinístico con de un estado a otro que no depende de ninguna entrada, movimiento e es decir, que no consumen ningún símbolo de la entrada. Autómatas Lineales Es una máquina de Turing que en lugar de tener una cinta infinita está restringida a una porción de cinta con extremos acotados. Expresión Regular Se utilizan para especificar un lenguaje regular. Forma de BackusEs la notación para las gramáticas libres de contexto con Naur cambios menores en su formato y algunas abreviaturas. Gramáticas Libres de Es un conjunto de variables (símbolos no terminales) cada uno de los cuales representa un lenguaje. Los lenguajes Contexto representados por las variables se describen de manera
recursiva en términos de las mismas variables y de símbolos primitivos llamados terminales. Las reglas que relacionan a las variables se conocen como producciones. Lema de Bombeo para Es una propiedad que tiene todo lenguaje libre de Lenguajes Libres de contexto y facilita la forma de determinar si ciertos lenguajes son libres de contexto. Contexto Lema de Bombeo para Es una propiedad que tiene todo lenguaje regular y facilita Lenguajes Regulares la forma de determinar si un lenguaje es regular. Lenguajes Libres de Es el lenguaje generado por una gramática libre de Contexto contexto. Lenguajes Regulares Es el conjunto de los lenguajes regulares sobre el alfabeto S está contiene Æ , los lenguajes unitarios incluido {e } y todos los lenguajes obtenidos a partir de la concatenación, unión y la cerradura de estrella. Lenguajes Sensibles Estos lenguajes contienen a los lenguajes libres de contexto al Contexto Los Lenguajes Estos lenguajes contienen a los lenguajes sensibles de Recursivos contexto. Máquina de Turing Es una cinta que contiene una colección de celdas de almacenamiento que se extiende infinitamente en ambas direcciones. Cada celda es capaz de almacenar un único símbolo. Además, tendrá, asociada con la cinta, una cabeza de lectura/escritura que puede moverse hacia la izquierda o a la derecha sobre cada una de las celdas de la cinta y por cada movimiento leerá o escribirá un símbolo. Procesador de Listas Lenguaje no estructurado que se desarrolla para aplicarlo en la investigación en inteligencia artificial. Permite el manejo eficiente de listas de todo tipo, lo que lo hace muy adecuado para manejo y dosificación de bases de comunicación. Programación Lógica Lenguaje no estructurado que se desarrolló para aplicarlo en la investigación en inteligencia artificial. Su especialidad es la representación simbólica de objetos.
10. FUENTES DOCUMENTALES BIBLIOGRAFIA APELLIDOS Y NOMBRES M. Alfonseca, J. Sancho, M. Martínez Orga
AÑO
TITULO
1990. Teoría de Lenguajes, Gramáticas y Autómatas Pedro Isasi, Paola 1997. Lenguajes, Martínez, Daniel. gramáticas y Borrajo autómatas Un enfoque práctico J.E. Hopcroft, R. 2002 Introducción a Motwani, J.D. la Teoría de Ullman Autómatas, Lenguajes y Computación,. Dean Kelley 1995 Teoría de autómatas y lenguajes formales
CIUDAD
EDITORIAL
España
Ediciones Universidad y Cultura,
España
2ª edición, Addison-Wesley
España
2ª edición, Addison-Wesley iberoamericana
PAGINAS
Prentice-Hall
SITIOS WEB •
Página web de la asignatura universidad rey Juan carlos : http://www.ia.escet.urjc.es/grupo/docencia/automatas
•
Foro: http://www.ia.escet.urjc.es/foros/automatas
•
http://luisguillermo.com/castellano/default.htm#supra
•
http://www.ing.puc.cl/˜jabaier/iic2222
•
aula virtual http://www.upseros.com/
GUÍA DE ACTIVIDADES Esta guía le permite al estudiante apropiarse de estrategias, herramientas, técnicas y procedimientos para el desarrollo de sus procesos de aprendizaje. Retoma la tecnología que ofrece Internet al utilizar herramientas de comunicación para lograr la interacción y diálogo entre los participantes, con el propósito de que los estudiantes compartan sus experiencias e inquietudes y profundicen en cada uno de los temas abordados al interior del curso. Incorpora la orientación del tutor como un asesor que acompañará a los participantes en el desarrollo del proceso de enseñanza-aprendizaje. Centra sus acciones en el aprendizaje del estudiante, pues es alrededor de él que giran las estrategias pedagógicas que facilitan el proceso de adquisición de los diversos contenidos, el establecimiento de metas y objetivos personales, así como el aprovechamiento de todos los recursos didácticos que se ponen a su alcance. Al ofrecer esta guía, pretendemos que junto con ella y el acompañamiento del Tutor, además de la metodología de trabajo, se asuman una serie de acciones y responsabilidades que ayudarán en la adquisición de aprendizajes y la acreditación del curso. Antes de empezar el recorrido de la guía es importante señalar que como estudiante a distancia, debe contar o desarrollar las siguientes características personales: • • • • • • • • •
Capacidad para autorregular su proceso de aprendizaje Habilidad para manipular de forma efectiva los medios y recursos tecnológicos para el aprendizaje a distancia. Demostrar una alta motivación interna para el estudio independiente. Trabajar activamente en equipo. Aplicar su experiencia al conjunto de nuevos aprendizajes. Demostrar capacidad para organizar tiempos, recursos y ritmos de aprendizaje. Poseer la facilidad para adaptarse a nuevos ambientes de aprendizaje. Lograr el control personal de sus procesos y resultados. Contar con objetivos y metas definidos.
Lo invitamos a identificar el nivel de autonomía y desarrollo de cada una de estas particularidades, a fin de conjugarlas para cumplir los objetivos de aprendizaje. Consulte regularmente este material, y recuerde que el Tutor es un compañero de su aprendizaje que estará siempre dispuesto a apoyarlo y motivarlo.
CRONOGRAMA GENERAL DEL CURSO (Agenda de Actividades)
Fase de Reconocimiento General del Curso Esta fase de aprendizaje pretende que el estudiante inicie su proceso de aprendizaje del curso, aprovechando sus conocimientos previos, sus expectativas e intereses, con el fin de llegar al aprendizaje significativo. En primer lugar se desarrollará una actividad individual sobre las temáticas que conforman el contenido del curso y en segundo lugar una actividad dividida en dos partes: la primera es un foro en donde los estudiantes comparten y debaten en pequeños grupos cada una de las ideas sobre la estructura del curso además que se familiaricen con las temáticas planteadas, la segunda parte del reconocimiento del curso es una tarea que la podrán realizar si han revisado los contenidos planteados en cada unidad. Actividad 1. Revisión de Presaberes
Esta actividad consiste en la aplicación de una evaluación que esta conformada por una serie de preguntas sobre los conocimientos previos y sobre la temática general del curso. La aplicación y revisión de la prueba será realizada por el tutor del curso en cada cead al igual que la realimentación de la misma. Para los estudiantes que se encuentran en campus virtual deben presentarla en la fecha establecida en la agenda académica del curso. Esta actividad es de carácter individual.
Actividad 201. Reconocimiento del curso- Grupos colaborativos
La actividad 2, tiene como objetivos: ♦ ♦ ♦ ♦
Conocer a cada uno de los participantes del curso estudiantes y tutor. Reconocer la estructura y los componentes del curso. Conocer el protocolo del curso. Propiciar una interacción entre los integrantes del pequeño grupo.
2.2.3 Actividad 202. Reconocimiento del curso- Tarea
Para el desarrollo de esta actividad es necesario tener en cuenta el producto obtenido de la actividad 201. Guía para el desarrollo de la tarea
Temáticas Revisadas: Reconocimiento de la estructura y componentes del curso Guía de actividades: Este trabajo Individual consta de tres actividades, con una sola entrega en un trabajo final. Actividades
1. Hacer un paseo por cada una de las actividades propuestas en el curso. 2. En forma individual debe realizar un mapa conceptual sobre la estructura propuesta para el curso. 3. Recuerde que un mapa conceptual refleja la claridad que se tenga sobre los contenidos. Puede elaborarlo utilizando: Word, PowerPoint, Excel, Visio o cualquier otro software para la realización del ejercicio. Producto esperado La tarea con el mapa conceptual debe contener una portada, el mapa conceptual y referencias bibliográficas y debe entregarse al tutor para su respectiva calificación. Fecha de entrega: Esta debe ser fijada por el tutor del curso en cada cead
Rubrica de Evaluación Item
Estructura del informe
Estructura del mapa conceptual
Valoración Baja El archivo no tiene el nombre correcto. (Puntos = 0) El archivo no contiene los elementos solicitados en la tarea. (Puntos = 0) Los conceptos seleccionados no representan parte del contenido de lo que leyó (Puntos = 0) Los conceptos seleccionados no son pertinentes para el producto solicitado (Puntos = 0) La relación de los conceptos no tienen un término de enlace adecuado (Puntos = 0)
Fines del trabajo
Referencias bibliográficas
El documento no da respuesta a los lineamientos de la actividad propuesta. (Puntos = 0) Se maneja de manera inadecuada el uso de citas y referencias (Puntos = 0)
Valoración Media El archivo a pesar que tiene el nombre correcto no esta completo (Puntos = 1) Aunque el documento tiene los elementos solicitados, su contenido no es el especificado. (Puntos = 1) Los conceptos seleccionados representan gran parte del contenido de lo que leyó (Puntos = 1) Los conceptos seleccionados lo aproximan al conocimiento (Puntos = 1) Algunos de los conceptos tienen el enlace adecuado (Puntos = 1)
Valoración Alta El archivo está nombrado correctamente. (Puntos = 2)
Aunque se entrega un documento, este no soluciona de manera adecuada la situación planteada. (Puntos = 2) Aunque presenta referencias, estas no se articulan adecuadamente con el trabajo (Puntos = 1)
Se cumplió con los objetivos del trabajo de manera satisfactoria. (Puntos = 4)
El archivo contiene los elementos solicitados correctamente. (Puntos = 2) Los conceptos seleccionados representan el contenido de lo que leyó (Puntos = 2) Los conceptos seleccionados le permitieron lograr la apropiación del tema (Puntos = 2) Cada relación de conceptos tiene un término de enlace adecuado (Puntos = 2)
El manejo de citas y referencias es satisfactorio (Puntos = 2)
TOTAL DE PUNTOS POSIBLES
Máximo 2
2 2
2
2
4
2
16
TRABAJO COLABORATIVO DEL CURSO METODOLOGÍA: Las sesiones son desarrolladas en forma teórica y práctica si se desea, dentro de un laboratorio con equipos operativos. La estrategia de aprendizaje a utilizar en las unidades del curso 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 la Unad, se requieren estas características para realizar un trabajo realmente efectivo. Participación: 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 comprensión compartida de significados. Habilidades Conversacionales: la calidad de la comunicación en grupos de discusión influencia la experiencia de aprendizaje y los logros de los miembros del grupo. Procesamiento Grupal y Análisis de Rendimiento: existe procesamiento grupal cuando el grupo discute sus progresos y decide si continúa con su comportamiento o lo cambia. Para ello los estudiantes deben evaluar individual y colectivamente sus rendimientos. Formación de los grupos colaborativos. Los Grupos están conformados por 5 estudiantes que el tutor en el momento del ingreso al curso académico los selecciona, es de anotar que este grupo está definido para desarrollar todo el curso académico 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 distribución no toma en cuenta la opinión de cada estudiante si pretende que se conserve dentro del equipo la pluralidad para potenciar la calidad, la cantidad y la velocidad de aprendizaje. Organización los Grupos colaborativos. Los equipos luego de la distribución aleatoria que hace el tutor deben organizarse en este pequeño grupo obviamente con el compromiso de trabajar y de desempeñar algunos roles o funciones básicas, que son indispensables para el desarrollo de la actividad. Una distribución de funciones básicas que se propone y debe ser definida una vez se hayan “conocido” los integrantes del grupo, es la siguiente (coordinador, relator, animador, técnico y supervisor) aunque los estudiantes pueden crear las funciones que consideren más 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 compañeros. 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. ¿Cómo se logra pertenencia con el grupo colaborativo?
Lo importante en la conformación 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, se sugiere que el tutor solicite esta actividad, deberán elaborar una presentación multimedia que debe contener un acta de conformación del grupo, un nombre para el equipo, un logo distintivo del grupo y la redacción de texto en donde el equipo se presenta a sus compañeros explicando sus puntos fuertes y débiles. ¿Cómo organizar su trabajo? Para la organización del trabajo a desarrollar el proceso es el siguiente: Planificación: Se deben repartir las funciones entre los componentes del grupo colaborativo y planificar el trabajo. Para ello elaboraran un "Plan de Acción" que es un documento en un procesador de palabras en donde mostrarán el organigrama del equipo, la organización del tema en donde se escriba que saben sobre el tema, que desean aprender y cómo van a buscar la información (Desarrollo de la practica en el Cead, Bibliotecas, en la Red, haciendo entrevistas a especialistas, etc.), el diagrama de flujo del proyecto y el calendario de actividades. Este Documento debe ser también entregado al tutor del curso para compartirlo con el grupo y con el tutor.. Actividades Unidad 1: lenguajes Regulares Temáticas revisadas: Primera Unidad LENGUAJES REGULARES
Capítulos Conceptos Básicos.
Autómatas finitos
Expresiones regulares. Propiedades de lenguajes Regulares.
Temas Introducción Introducción Histórica Diferentes Modelos de Computación Autómatas y lenguajes Lenguajes regulares Autómata Definición Autómatas finitos Determinísticos. Autómatas finitos no Determinísticos. Autómatas finitos con λ Transacciones. Lenguajes aceptados. Significado de Expresión Regular. Autómatas finitos y Expresiones, Teoremas de Equivalencia. AFN para la unión y concatenación. Equivalencia de autómatas.
INTRODUCCION 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 más sencillos mediante operaciones de conjuntos. Los Lenguajes más sencillos son los considerados lenguajes regulares, es decir, los que se pueden generar a partir de lenguajes de un elemento con la aplicación de ciertas operaciones estándar realizadas un número finito de veces. Estos son pues los lenguajes que pueden reconocer los dispositivos llamados Autómatas finitos (AF) que son máquinas de cómputo con memoria muy restringida. En esta unidad se considera como segundo aspecto la idea de que un lenguaje no sea regular, además de proporcionar un modelo sencillo de computación 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 descripción de un lenguaje a otra descripción de un tipo distinto; se acumula experiencia en el uso de métodos 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. OBJETIVO GENERAL Reconocer los lenguajes regulares, autómatas finitos y su aplicación. OBJETIVOS ESPECIFICOS Estudiar la aplicación de los lenguajes regulares y los autómatas finitos. Adquirir las habilidades necesarias para desarrollar autómatas y máquinas que reconozcan lenguajes o computen funciones. Distinguir los diferentes tipos de lenguajes formales existentes. METODOLOGÍA: Las sesiones son desarrolladas en forma teórica, La estrategia de aprendizaje a utilizar será el Aprendizaje colaborativo. EL trabajo colaborativo de la práctica tiene una duración de 5 semanas y como fecha límite para la terminación de los procesos en esta primera unidad se tiene previsto el 31 de Marzo de 2008 fechas en las cuales se entregará el producto grupal. 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 características para realizar un trabajo realmente efectivo. Participación: 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 comprensión compartida de significados. Habilidades Conversacionales: la calidad de la comunicación en grupos de discusión influencia la experiencia de aprendizaje y los logros de los miembros del grupo. Procesamiento Grupal y Análisis de Rendimiento: existe procesamiento grupal cuando el grupo discute sus progresos y decide si continúa con su comportamiento o lo cambia. Para ello los estudiantes deben evaluar individual y colectivamente sus rendimientos. Formación de los grupos colaborativos. Los Grupos están conformados por 5 estudiantes que el sistema en el momento del ingreso al curso académico los selecciona, es de anotar que este grupo está definido para desarrollar todo el curso académico 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 distribución no toma en cuenta la opinión de cada estudiante si pretende que se conserve dentro del equipo la pluralidad para potenciar la calidad, la cantidad y la velocidad de aprendizaje. Organización los Grupos colaborativos. Los equipos luego de la distribución aleatoria que hace el sistema deben organizarse en este pequeño grupo obviamente con el compromiso de trabajar y de desempeñar algunos roles o funciones básicas, que son indispensables para el desarrollo de la actividad. Una distribución de funciones básicas que se propone y debe ser definida una vez se hayan “conocido” los integrantes del grupo, es la siguiente (coordinador, relator, animador, técnico y supervisor) aunque los estudiantes pueden crear las funciones que consideren más 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 compañeros. 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.
¿Cómo se logra pertenencia con el grupo colaborativo? Lo importante en la conformación 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, deberán elaborar una presentación multimedia que debe contener un acta de conformación del grupo, un nombre para el equipo, un logo distintivo del grupo y la redacción de texto en donde el equipo se presenta a sus compañeros explicando sus puntos fuertes y débiles. ¿Cómo organizar su trabajo? En este punto cobra relevancia e importancia el uso del wiki como elemento para compartir toda la información del grupo y registrar los aportes de cada uno de los integrantes del grupo, si es decisión del grupo no usar el wiki, pueden realizar sus aporte por el foro colaborativo de cada práctica en los temas de trabajo individual y trabajo grupal. Para la organización del trabajo a desarrollar el proceso es el siguiente: Planificación: Se deben repartir las funciones entre los componentes del grupo colaborativo y planificar el trabajo. Para ello elaboraran un "Plan de Acción" que es un documento en un procesador de palabras en donde mostrarán el organigrama del equipo, la organización del tema en donde se escriba que saben sobre el tema, que desean aprender y cómo van a buscar la información (Desarrollo de la practica en el Cead, Bibliotecas, 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 producción del grupo. Elaboración del trabajo: Con la información individual y grupal recogida en las bibliotecas, en la Red, haciendo entrevistas a especialistas etc. deberán elaborar un informe que recoja lo esencial que han aprendido: el trabajo final. Para ello negociarán y construirán entre todo el grupo los contenidos de la práctica, se deja la decisión al grupo para que seleccione la técnica más adecuada para compartir la producción de cada uno, se sugiere elaboren mapas de ideas o un mapa conceptual del tema a partir de la información elaborada individualmente. El producto es un documento que debe cubrir todos los puntos de la rubrica de evaluación y debe se elaborado en un procesador de palabras (openoffice write o Microsoft Word.) Sin embargo se puede optar por entregar otra versión o formato de este producto como puede ser flash, videos presentación power point, openoffice Impress u otros formatos. Formato de presentación del Documento: El documento debe contener los siguientes puntos (se da cierta flexibilidad en el título de estos puntos):
Datos de los Estudiantes (nombre, número de matrícula, e-mail, Zona, Cead) Datos del tutor. Descripción general del trabajo. Valoración personal, evidencias (fotografías, videos (opcional), animaciones, presentaciones etc.) 1.- Obtener el lenguaje reconocido por el siguiente AFD: A = ({a, b, c}, {q0, q1, q2, q3, q4}, f, q0, {q2}) f(q0, a) = q1 f(q0, b) = q4 f(q0, c) = q4 f(q1, a) = q4 f(q1, b) = q1 f(q1, c) = q2 f(q2, a) = q4 f(q2, b) = q4 f(q2, c) = q2 f(q3, a) = q4 f(q3, b) = q3 f(q3, c) = q2 f(q4, a) = q4 f(q4, b) = q4 f(q4, c) = q4 2.- Determinar el lenguaje que reconoce el siguiente AFD:
3.-Dado el autómata finito siguiente:
Definir la gramática lineal izquierda que describe el mismo lenguaje reconocido por el autómata. 4.-Decir cuáles de las siguientes palabras son reconocidas por el siguiente AFND: 110, 01, 100 AFND = ({0, 1}, {q0, q1, q2}, q0, {q1})
f(q0, 0) = ∅
f(q0, 1) = {q1, q2}
f(q0, λ) = ∅
f(q1, 0) = {q0} f(q2, 0) = {q2}
f(q1, 1) = {q0, q1} f(q2, 1) = ∅
f(q1, λ) = {q0} f(q2, λ) = {q1}
5.- Determinar la pertenencia de las cadenas: aab, aba y ba, al lenguaje reconocido por el siguiente AFND: A = ({a,b}, {q1,q2,q3,q4}, f, q1, {q1}, {(q2,q4), (q3,q4), (q4,q3)})
f(q1,a) = {q2} f(q2,a) = {q1,q3,q4} f(q3,a) = ∅ f(q4,a) = ∅
f(q1,b) = ∅ f(q2,b) = {q1,q3} f(q3,b) = {q1,q4} f(q4,b) = {q3}
MINIMIZACIÓN DE AUTÓMATAS FINITOS 6.-Obtener para cada uno de los siguientes autómatas finitos su autómata mínimo Equivalente:
7.- Dada la gramática lineal derecha: G = (T, N, S, P) T = {0, 1} . N = {S, A} P = { S::= 1A | 1S, A::= 0A | 1A | 1 } Encontrar el autómata finito determinista (AFD) mínimo asociado. 8.-Dado el autómata finito:
(a) Construir el AFD mínimo equivalente (b) Deducir el lenguaje que reconoce
9.- Encontrar el autómata mínimo equivalente al siguiente AFD:
10.- Construir el autómata finito determinista mínimo equivalente al siguiente:
11.- Encontrar el AFD mínimo equivalente al siguiente AFND:
EVALUACIÓN: Se diligenciarán los cuadros de autoevaluación y coevaluación que se encuentran anexos a esta guía La calificación tendrá un peso de 50 puntos de 500 posibles, que se obtienen luego de enviar el documento al foro.
UNIDAD DIDÁCTICA 2 LENGUAJES INDEPENDIENTES DEL CONTEXTO Temáticas revisadas: Segunda Unidad Capítulos LENGUAJES Gramáticas INDEPENDIENTES independientes del contexto. DEL CONTEXTO Autómatas a pila.
Temas Conceptos generales, Árboles de derivación y ambigüedad, Formas canónicas. Formas normales. Concepto de AP y funcionamiento. Diseño de AP, Combinación Modular de AP, AP y Lenguajes Libres de contexto. Propiedades Identificación de lenguajes de lenguajes independientes del contexto. independientes Propiedades de cierre. Algoritmos de del contexto decisión.
Introducción Los lenguajes independientes del contexto que también se conocen con el nombre de gramáticas de contexto libre son un método recursivo sencillo de especificación de reglas gramaticales con las que se pueden generar cadenas de un lenguaje. Es factible producir de esta manera todos los lenguajes regulares, además de que existen ejemplos sencillos de gramáticas de contexto libre que generan lenguajes no regulares. Las reglas gramaticales de este tipo permiten que la sintaxis tenga variedad y refinamientos mayores que los realizados con lenguajes regulares, en gran medida sirven para especificar la sintaxis de lenguajes de alto nivel y otros lenguajes formales. Objetivo General Conocer los modelos de computación que corresponden a los lenguajes independientes del contexto y su aplicación. Objetivos Especificos Generalizar los conceptos de autómatas finitos y gramaticas regulares. Reconocer el potencial de procesamiento del lenguaje del automata con los autómatas de pila.
El producto es un documento que debe cubrir todos los puntos de la rubrica de evaluación y debe se elaborado en un procesador de palabras (openoffice write o Microsoft Word.) Sin embargo se puede optar por entregar otra versión o formato de este producto como puede ser flash, videos presentación power point, openoffice Impress u otros formatos. Formato de presentación del Documento: El documento debe contener los siguientes puntos (se da cierta flexibilidad en el título de estos puntos): Datos de los Estudiantes (nombre, número de matrícula, e-mail, Zona, Cead) Datos del tutor. Descripción general del trabajo. Valoración personal, evidencias (fotografías, videos (opcional), animaciones, presentaciones etc.) Ejercicios Propuestos: 1.- Dado el siguiente autómata con pila, indicar: (a) Qué lenguaje reconoce (b) Cuáles de las siguientes palabras son aceptadas por el autómata: aabbc, abbc, bbcc, aabbbcc (mostrando la sucesión de descripciones instantaneas) AP = ({a, b, c}, {A, B, S}, {q, r, s, t}, q, S, f, Ø) f(q, a, S) = {(r, S)} f(q, a, A) = {(r, A)} f(q, b, S) = {(s, BS)} f(q, b, A) = {(s, λ)} f(r, a, S) = {(q, AS)} f(r, a, A) = {(q, AA)}
f(s, b, S) = {(s, BS)} f(s, b, A) = {(s, λ)} f(s, b, B) = {(s, BB)} f(s, c, B) = {(t, λ)} f(t, c, B) = {(t, λ)} f(t, λ, S) = {(t, λ)}
2.- Definir formalmente el lenguaje reconocido por el siguiente autómata con pila: A = ({a,b,c}, {S,A,B}, {q,r,s,p}, q, S, f, ∅) f(q, a, S) = {(r, S)} f(q, b, S) = {(s, BS)} f(q, a, A) = {(r, A)} f(q, b, A) = {(s, λ)} f(r, a, S) = {(q, AS)} f(r, a, A) = {(q, AA)}
f(s, b, S) = {(s, BS)} f(s, b, A) = {(s, λ)} f(s, b, B) = {(s, BB)} f(s, c, B) = {(p, λ)} f(p, c, B) = {(p, λ)} f(p, λ, S) = {(p, λ)}
3.- Dado el siguiente autómata con pila indicar: (a) Qué lenguaje reconoce por vaciado de pila. (b) Cuáles de las siguientes palabras son aceptadas por el AP: abba, abaaba. AP = ({a,b}, {Z}, {q0, q1, q2, q3}, q0, Z, f, ∅) f(q0, a, Z) = {(q1, aZ)} f(q2, b, b) = {(q2, λ)} f(q0, b, Z) = {(q1, bZ)} f(q2, a, a) = {(q2, λ)} f(q1, a, a) = {(q1, aa), (q2, λ)} f(q2, λ, Z) = {(q2, λ)} f(q1, a, b) = {(q1, ab)} f(q1, b, a) = {(q1, ba)} f(q1, b, b) = {(q1, bb), (q2, λ)} CONSTRUCCIÓN DE AUTÓMATAS 4.- Construir un autómata con pila que reconozca cada uno de los siguientes lenguajes: (a) L = { anb2n/ n > 0 } (b) L = { anbmcn/ n, m > 0 } (c) L = { x / x ∈ {0,1}+ & nº 0´s = nº 1´s } (d) L = { aibjci+j / i, j > 0 } (e) L = { a2ib3i / i >= 0 } (f) L = { anbmc2man+2, m > 0, n >= 0 } (g) L = { xcy / x,y ∈ {a, b}+, nº de subcadenas “ab” en x = nº de subcadenas “ba” en y } (h) L = { 0n1n / n > 0 } ∪ { 0n12n / n > 0 } (i) L = {anbmcrasbn/ s = m + r, m,n > 0, r ≥ 0} (j) L = {a2nbm0ib2man, i = 0 ó 1, m, n > 0} (k) L = {x1n2mx-1 / n, m = 0 ó 1 y x ∈ {a, b}+} (l) L = {anbmcp / n,m >= 0, p > n + m} 5.- Construir un autómata con pila que reconozca por vaciado de pila el lenguaje que contiene las palabras formadas por los símbolos “0”, “1” y “2” que tienen tantas apariciones de las secuencia “01” como del símbolo “2”. 6.- Construir un autómata con pila que reconozca por vaciado de pila las palabras formadas por los símbolos “a” y “b” que tengan doble número de símbolos “a” que de símbolos “b” (incluyendo λ). Es decir, el autómata deberá reconocer por ejemplo las palabras aabbaa, abbaaa, bababaaaa, bbbaaaaaa, y no debe reconocer palabras como abab, abbabab, a, b, aaa, bbb. 7.- Construir un autómata con pila que reconozca, por vaciado de pila, el lenguaje formado por las cadenas que contienen símbolos de abrir y cerrar paréntesis, es decir “(“ y “)”, que cumple las siguientes condiciones:
- todo paréntesis que se abre debe ser cerrado posteriormente - todo paréntesis que se cierra debe haber sido abierto anteriormente - se permiten los paréntesis anidados. Ténganse en cuenta los siguientes ejemplos de cadenas reconocidas y no reconocidas por el autómata: Cadenas reconocidas Cadenas no reconocidas ()()((()())()) ()()) ((()))() )()( ((())(()))()()(()()) (((() 8.- Dado el siguiente lenguaje: L = { anbcmdmen / n, m > 0 } (a)Construir un autómata con pila que reconozca dicho lenguaje por vaciado de pila. (b)Comprobar mediante el uso de descripciones instantáneas que la cadena “aabccddee” es aceptada por dicho autómata. 9.- Construir un autómata con pila que reconozca por vaciado de pila el lenguaje siguiente: L = { 0n1n / n > 0 }
∪
{ 0n12n / n > 0 }
10.- Dado el siguiente lenguaje: L= {anbmdm / n, m > 0} ∪{anbmcmdn / n, m > 0} (a) Encontrar un autómata con pila que reconozca L por vaciado de pila. (b) Comprobar mediante el uso de descripciones instantáneas que la cadena “aacd” es aceptada por dicho autómata. Unidad didáctica 3 lenguajes estructurados por frases Tercera Unidad Capítulos LENGUAJES Máquinas de ESTRUCTURADOS Turing. POR FRASES Máquina de Turing y Computación. Funciones recursivas. Introducción
Temas Conceptos generales, Otras definiciones. Funcionamiento de la MT. Tesis de Church/Turing. Máquina de Turing Universal. Funciones computables. Decidibilidad. Introducción , Funciones recursivas primitivas , Funciones recursivas parciales
En las Unidades precedentes se han estudiado lo que se puede considerar las máquinas abstractas que permiten solucionar ciertos tipos de algoritmos, los algoritmos en los que no puede recordarse más que una cantidad fija de información y otros en los que la información desarrollada durante la ejecución del algoritmo puede recuperarse solo en concordancia con la regla “lifo” últimos en entrar primeros en salir, en esta unidad se describe una maquina abstracta, llamada Máquina de turing , que es aceptada de manera amplia como modelo general de computación, aunque las operaciones básicas de esta máquina son comparables en su sencillez a las de las máquinas estudiadas en las unidades anteriores, las nuevas maquinas pueden realizar una amplia variedad de operaciones de computo. Además de aceptar lenguajes les es posible computar funciones y de conformidad con la tesis de Church-Turing, ejecutar casi cualquier procedimiento algorítmico concebible. Objetivo General Reconocer la importancia y el poder computacional de las maquinas de turing en el contexto de la solución de problemas computacionales de reconocimiento de lenguajes. Objetivos específicos Estudiar las maquinas de turing y sus propiedades básicas Elaboración del trabajo: Con la información individual y grupal recogida en las bibliotecas, en la Red, haciendo entrevistas a especialistas etc. deberán elaborar un informe que recoja lo esencial que han aprendido: el trabajo final. Para ello negociarán y construirán entre todo el grupo los contenidos del trabajo, se deja la decisión al grupo para que seleccione la técnica más adecuada para compartir la producción de cada uno, se sugiere elaboren mapas de ideas o un mapa conceptual del tema a partir de la información elaborada individualmente. El producto es un documento que debe cubrir todos los puntos de la rubrica de evaluación y debe se elaborado en un procesador de palabras (openoffice write o Microsoft Word.) Sin embargo se puede optar por entregar otra versión o formato de este producto como puede ser flash, videos presentación power point, openoffice Impress u otros formatos. Formato de presentación del Documento: El documento debe contener los siguientes puntos (se da cierta flexibilidad en el título de estos puntos): Datos de los Estudiantes (nombre, número de matrícula, e-mail, Zona, Cead) Datos del tutor. Descripción general del trabajo.
Valoración personal, evidencias (fotografías, videos (opcional), animaciones, presentaciones etc.)
Ejercicios Propuestos: 1. 2. 3. 4.
Realiza una breve síntesis del invento patentado por Alan Turing en 1931. Describa en que consiste la prueba de Turing (maquina y persona) ¿Qué es una maquina de Turíng y como funciona? Mediante un ejemplo de maquina de Turing ilustre su representación grafica, elementos correspondientes y reconocimiento de cadena. 5. Describa la clasificación de las maquinas de Turing y defina cada una de ellas. 6. Cuales son los lenguajes aceptados para una maquina de Turing. De 3 ejemplos de cadena de estos lenguajes. 7. Mediante un grafo explique la construcción modular de las maquinas de Turing y describa cada uno de sus elementos. 8. Describa el proceso de reconocimiento de cadenas utilizando la maquina de Turing 9. Mencione 5 ejemplos de aplicación de una maquina de Turing e ilustre sus funcionamientos. 10.Describa el funcionamiento de la maquina de Turing Multicintas. EVALUACIÓN: Se diligenciarán los cuadros de autoevaluación y coevaluación que se encuentran anexos a esta guía La calificación tendrá un peso de 50 puntos de 500 posibles, que se obtienen luego de enviar el documento al foro.
AUTOEVALUACION
Evaluación individual de cada integrante del grupo Nombre: _____________________________________ Fecha: _____________ A continuación se presenta una serie de aspectos relacionados con su participación en el desarrollo del curso académico y en particular de esta unidad. Para autoevaluar su participación individual y grupal, asigne para cada aspecto un puntaje de 1 a 5. Aquellos aspectos o afirmaciones aseveraciones que no puede calificar, asigne 0 (cero) y justifique por escrito. Puntaje y su descripción: 1 2 Insuficiente Menos que regular
3 Regular
4 Bueno
5 Muy Bueno
Aspectos o afirmaciones Estuve en permanente contacto con mi grupo colaborativo. Me comuniqué con mi tutor frente a alguna emergencia, duda, etc. Acusé recibo de las comunicaciones realizadas por e-mail. Realicé las tareas que me comprometí en forma oportuna Colaboré oportunamente en la fases del desarrollo de las guías didácticas Tomé en cuenta las observaciones y sugerencias hechas por el tutor en la planificación de las actividades. Busqué otras fuentes de información (textos, URL, etc.) para el desarrollo de las actividades del curso académico. Participé activamente en el desarrollo de los contenidos de la guía didáctica Participé activamente en las reuniones grupales para la realización de las actividades. Los aportes realizados a mi grupo de trabajo fueron oportunos. Mantuve una interacción respetuosa con mis compañeros de grupo y tutor. Asistí puntualmente a todas las reuniones fijadas por el grupo
Puntaje
¿Qué aspectos ha mejorado en sus procesos de aprendizaje
Justificaciones para afirmaciones o aspectos no calificados con puntaje de 1 a 5, los puntajes a los cuales les asignó un valor de 0:
COEVALUACION Evaluación del coordinador a su grupo o de cada integrante del grupo a un compañero Nombre del Evaluador:_________________________Fecha: ____________ El trabajo grupal colaborativo relaciona con la participación y aporte de cada integrante en las actividades grupales solicitadas en la guía, en aspectos como son la discusión, análisis y generación conjunta de los contenidos requeridos en los mismos, al igual que la participación activa y colaborativa en el proceso de aprendizaje. Como Integrante de su grupo de trabajo, le solicitamos evaluar el grado de participación de cada uno de los participantes, asignando un puntaje de 1 a 5 para cada una de los siguientes aspectos. Aunque esta evaluación implica apreciación personal, le solicitamos que asigne el puntaje de manera objetiva.
Puntaje y su descripción:
1 Insuficiente
2 Menos que regular
AFIRMACIONES – aspectos
3 Regular
4 Bueno
5 Muy Bueno
NOMBRE DE CADA PARTICIPANTE
Asistió a las reuniones de trabajo de grupo. Mantuvo permanente comunicación con el resto de los participantes del grupo. Ayudó a aclarar dudas o confusiones en torno a los temas tratados en las actividades. Intercambió información, datos, ideas, etc. con sus compañeros de grupo durante el desarrollo de las actividades. Hizo algún aporte en el desarrollo de las actividades. Participó en la solución de problemas durante el trabajo grupal. Ayudó a organizar el trabajo grupal. Fue responsable con las acciones asumidas dentro del grupo de trabajo. Fue puntual en las reuniones convocadas para el trabajo grupal. Mantuvo una interacción respetuosa con todos los integrantes del grupo. Consideró las ideas y aportes del resto del grupo de trabajo. Colaboró en la búsqueda de información y recursos para la fase del desarrollo de las unidades didácticas. En su rol de Coordinador del grupo de trabajo o de integrante le solicitamos nos señale cómo se sintió respecto al trabajo en equipo, además de las debilidades y fortalezas percibidas en su grupo de trabajo. ___________________________________________________________________________
____________________________________________________________________
View more...
Comments