Última actualización: 11/05/2018


Curso Académico: 2018/2019

Teoría de autómatas y compiladores
(16491)
Grado en Ciencia e Ingeniería de Datos (Plan: 392 - Estudio: 350)


Coordinador/a: SANCHIS DE MIGUEL, MARIA ARACELI

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación Estructura de Datos y Algoritmos
CB1: Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a unnivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio. CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio CB5: Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía. CE9: Capacidad para conocer la teoría de los lenguajes, gramáticas y automátas y su aplicación al análisis léxico y sintáctico asociado al análisis de datos CG1: Conocimientos y habilidades adecuados para analizar y sintetizar problemas básicos relacionados con la ingeniería y la ciencia de datos, resolverlos y comunicarlos de forma eficiente. CG2: Conocimiento de materias básicas científicas y técnicas que capaciten para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones. CG3: Capacidad de resolver problemas con iniciativa, toma de decisiones, creatividad, y de comunicar y transmitir conocimientos, habilidades y destrezas, comprendiendo la responsabilidad ética, social y profesional de la actividad del tratamiento de datos. Capacidad de liderazgo, innovación y espíritu emprendedor. CG4: Capacidad para la resolución de los problemas tecnológicos, informáticos, matemáticos y estadísticos que puedan plantearse en la ingeniería y ciencia de datos. CG5: Capacidad para resolver problemas formulados matemáticamente aplicados a diversas materias, empleando algoritmos numéricos y técnicas computacionales. CECRI6. Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos. CECRI15. Conocimiento y aplicación de los principios fundamentales y técnicas básicas de los sistemas inteligentes y su aplicación práctica. RA1 Haber adquirido conocimientos avanzados y demostrado una comprensión de los aspectos teóricos y prácticos y de la metodología de trabajo en el campo de la ciencias e ingeniería de datos con una profundidad que llegue hasta la vanguardia del conocimiento RA4 Ser capaces de desenvolverse en situaciones complejas o que requieran el desarrollo de nuevas soluciones tanto en el ámbito académico como laboral o profesional dentro de su campo de estudio;
Descripción de contenidos: Programa
1.Introducción a la teoría de Autómatas y Lenguajes Formales. 1.1. Por qué de la Teoría de Autómatas. Historia y Origen 1.2. Relación con otras Áreas de Conocimiento. 1.2. Máquinas, Lenguajes y Algoritmos. 2. Autómatas finitos 2. Autómatas Finitos 2.1. Definición y representación de Autómatas Finitos Deterministas (AFD) 2.2. AFD como reconocedores de lenguajes 2.3. Equivalencia y minimización de AFD 2.4. Teoremas sobre AFD 2.5. Definición y representación de Autómatas Finitos No Deterministas (AFND) 2.6. Lenguaje aceptado por un AFND 2.7. Equivalencia entre AFD y AFND 3.Autómatas Finitos 3.1. Definición y representación de Autómatas Finitos Deterministas (AFD) 3.2. AFD como reconocedores de lenguajes 3.3. Equivalencia y minimización de AFD 3.4. Teoremas sobre AFD 3.5. Definición y representación de Autómatas Finitos No Deterministas (AFND) 3.6. Lenguaje aceptado por un AFND 3.7. Equivalencia entre AFD y AFND 4.Lenguajes y Gramáticas formales. 4.1. Operaciones con Palabras. Operaciones con Lenguajes. Reglas de Derivación 4.2. Concepto de Gramática. Definición de Gramática Formal 4.3. Jerarquía de Chomsky y Gramáticas Equivalentes 4.4. Gramáticas Independientes del Contexto (Tipo 2) 4.5. Lenguaje Generado por una Gramática Tipo 2. Arboles de Derivación 4.6. Gramáticas Bien Formadas 4.7. Forma Normal de Chomsky. Forma Normal de Greibach 5.Lenguajes regulares. 5.1. Definición de Lenguajes regular 5.2. AFD asociado a una Gramática de Tipo 3 5.3. Expresiones Regulares. Equivalencias 5.4. Teoremas de Kleene 5.5. Ecuaciones características 5.6. Algoritmo recursivo de síntesis 5.7. Derivada de una expresión regular 6.Autómatas a pila. 6.1.Definición de Autómata a Pila (AP) 6.2.Movimientos y Descripciones Instantáneas en AP 6.3.AP por vaciado (APV) y AP por estados finales (APF) 6.4.Lenguaje aceptado por un AP: equivalencia APV y APF 6.5.Construcción de APV a partir de una Gramática Tipo 2 6.6.Construcción de una Gramática Tipo 2 a partir de AP 7.Máquina de Turing 7.1.Definición de la Máquina de Turing 7.2.Variaciones de la Máquina de Turing 7.3.Máquina de Turing Universal 8. Compiladores e Intérpretes 8.1 Análisis sintáctico 8.2 Generación de código
Actividades formativas, metodología a utilizar y régimen de tutorías
Clases Magistrales (contenido teórico): 1.5 ECTS. PO: a,c,e,g Suponen una guía para que el alumno pueda alcanzar las competencias cognitivas, así como los elementos básicos para desarrollar competencias procedimentales. Una parte de estos ECTS se corresponde con la carga de trabajo personal del alumno. Clases Prácticas (Ejercicios, Problemas y Prácticas): 2 ECTS. PO: a,c,e,g,h,k Permiten desarrollar las competencias genéricas y aplicar las actitudinales. Consisten en desarrollar y resolver casos prácticos (ejercicios, problemas y prácticas) con los que además se permite alcanzar las competencias procedimentales. Una parte importante de estos ECTS se corresponde con la carga de trabajo personal del alumno. Tutorías Colectivas: A lo largo del curso se llevara a cabo dos tutorias colectivas. Realización de otras Actividades Académicas - En presencia del profesor: 0.5 ECTS. Resolución de pequeñas cuestiones,ejercicios, y prácticas que tendrán peso en la nota final de la asignatura. Parte de los ECTS se corresponde con el repaso de los contenidos de la materia por parte del alumno. PO: a,c,e,g,h,k - En ausencia del profesor: 1.5 ECTS. Lecturas relativas al contenido de la materia, así como la realización de ejercicios, problemas y prácticas relacionadas con las clases magistrales y las clases prácticas. PO: a,c,e,g,h,k Examen: 0.5 ECTS. Preparación y realización del examen, en el se evalúan el nivel alcanzado por el alumno en relación a las competencias especificas del aprendizaje. Clases Magistrales (contenido teórico): 1.5 ECTS. PO: a,c,e,g Suponen una guía para que el alumno pueda alcanzar las competencias cognitivas, así como los elementos básicos para desarrollar competencias procedimentales. Una parte de estos ECTS se corresponde con la carga de trabajo personal del alumno. Clases Prácticas (Ejercicios, Problemas y Prácticas): 2 ECTS. PO: a,c,e,g,h,k Permiten desarrollar las competencias genéricas y aplicar las actitudinales. Consisten en desarrollar y resolver casos prácticos (ejercicios, problemas y prácticas) con los que además se permite alcanzar las competencias procedimentales. Una parte importante de estos ECTS se corresponde con la carga de trabajo personal del alumno. Tutorías Colectivas: A lo largo del curso se llevara a cabo dos tutorias colectivas. Realización de otras Actividades Académicas - En presencia del profesor: 0.5 ECTS. Resolución de pequeñas cuestiones, ejercicios, y prácticas que tendrán peso en la nota final de la asignatura. Parte de los ECTS se corresponde con el repaso de los contenidos de la materia por parte del alumno. PO: a,c,e,g,h,k - En ausencia del profesor: 1.5 ECTS. Lecturas relativas al contenido de la materia, así como la realización de ejercicios, problemas y prácticas relacionadas con las clases magistrales y las clases prácticas. PO: a,c,e,g,h,k Examen: 0.5 ECTS. Preparación y realización del examen, en el se evalúan el nivel alcanzado por el alumno en relación a las competencias especificas del aprendizaje. AF1: CLASES TEÓRICO-PRÁCTICAS. En ellas se presentarán los conocimientos que deben adquirir los alumnos. Estos recibirán las notas de clase y tendrán textos básicos de referencia para facilitar el seguimiento de las clases y el desarrollo del trabajo posterior. Se resolverán ejercicios, prácticas problemas por parte del alumno y se realizarán talleres y prueba de evaluación para adquirir las capacidades necesarias. AF2:  Actualizado a alegación AF3: TRABAJO INDIVIDUAL O EN GRUPO DEL ESTUDIANTE. AF8: TALLERES Y LABORATORIOS. AF9: EXAMEN FINAL. En el que se valorarán de forma global los conocimientos, destrezas y capacidades adquiridas a lo largo del curso. MD1: CLASE TEORÍA. Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporcionan los materiales y la bibliografía para complementar el aprendizaje de los alumnos. MD2: PRÁCTICAS. Resolución de casos prácticos, problemas, etc. planteados por el profesor de manera individual o en grupo. MD3: TUTORÍAS. Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor. MD6: PRÁCTICAS DE LABORATORIO. Docencia aplicada/experimental a talleres y laboratorios bajo la supervisión de un tutor.
Sistema de evaluación
  • Peso porcentual del Examen Final 60
  • Peso porcentual del resto de la evaluación 40

Bibliografía básica
  • Enrique Alfonseca Cubero, Manuel Alfonseca Cubero, Roberto Moriyón Salomón.. Teoría de autómatas y lenguajes formales.. McGraw-Hill. 2007
  • John E. Hopcroft, Rajeev Motwani, Jeffrey D.Ullman.. Introduction to Automata Theory, Languages, and Computation (Third Edition). Pearson Education, Pearson Addison Wesley.
  • Manuel Alfonseca, Justo Sancho, Miguel Martínez Orga.. Teoría de lenguajes, gramáticas y autómatas.. Publicaciones R.A.E.C. ISBN: 8460560929. . 1997.
  • Pedro Isasi, Paloma Martínez y Daniel Borrajo.. Lenguajes, Gramáticas y Autómatas. Un enfoque práctico.. Addison-Wesley. 1997
  • Susan H. Rodger and Thomas W. Finley.. JFLAP: An Interactive Formal Languages and Automata Package. . web. 2006

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.