7529 - Teoría de Algoritmos I PLANIFICACIONES Planificaciones 7529 - Teoría de Algoritmos I Docente responsable: WACHENCHAUZER ROSA GRACIELA 1 de 5 Actualización: 2ºC/2016 7529 - Teoría de Algoritmos I PLANIFICACIONES Actualización: 2ºC/2016 OBJETIVOS Que el alumno - adquiera las herramientas teóricas y prácticas para la evaluación del costo temporal y espacial de un algoritmo; - conozca diversas técnicas de diseño de algoritmos y las ventajas y desventajas de cada una en la manipulación de grandes volúmenes de información y/o en el tratamiento de información crítica; - conozca algoritmos de probada eficiencia y esté capacitado para elegir, de entre ellos, el adecuado para cada problema a resolver; - pueda combinar diversas técnicas de acuerdo con las condiciones de problema y las de la implementación y decida el grado de compromiso, en función del análisis teórico de eficiencia y de la evaluación de los recursos de que disponga; - pueda justificar la elección de una implementación particular. CONTENIDOS MÍNIMOS - PROGRAMA SINTÉTICO 1. Concepto de algorítmica: diseño y análisis de eficiencia de algoritmos. Clasificación y cuantificación de la eficiencia de un algoritmo. Diferencia entre la eficiencia de un algoritmo y de un programa. 2. Eficiencia temporal: desarrollo de herramientas matemáticas para el cálculo de eficiencia, peor caso y caso promedio. Casos extremos: aplicaciones críticas y aplicaciones con grandes volúmenes de información. 3. Eficiencia espacial: Importancia de la elección de las estructuras de información y almacenamiento en función del propósito y de la implementación. Información y espacio. 4. Técnicas de Diseño: descripción y ejemplos de las técnicas más relevantes. Elección de la técnica de acuerdo con el tipo de problema. Justificación de la conveniencia. Comparación de la eficiencia de diferentes técnicas aplicadas a un mismo problema. PROGRAMA ANALÍTICO 1. ANÁLISIS DE ALGORITMOS: Introducción, Notaciones O, ? y ?. Peor caso y caso promedio, ejemplos de cálculo. Costo temporal y espacial. Ecuaciones de recurrencia: Relaciones de división y conquista. 2. ESTRUCTURAS DE DATOS: TAD y estructuras de datos. Revisión de estructuras de datos elementales (arrays, listas, árboles binarios y árboles binarios de búsqueda). Heaps. Árboles AVL. Hashing. Grafos. 3. TÉCNICAS DE DISEÑO DE ALGORITMOS: Algoritmos Greedy, División y conquista, Programación Dinámica y Flujo en redes. Aplicación de las técnicas a casos paradigmáticos. 4. Problemas NP e intratabilidad. Algoritmos de aproximación. BIBLIOGRAFÍA [1] Jon Kleinberg y Eva Tardos (2005), Algorithm Design, Addison wesley. [2] Thomas Cormen (ed.), Charles Leiserson y Ronald Rivest (2001), Introduction to Algorithms, MIT Press. [3] Udi Manber (1989), Introduction to Algorithms: A Creative Approach, Addison-Wesley. [4] Robert Sedgewick (1988), Algorithms, Addison-Wesley. RÉGIMEN DE CURSADA Metodología de enseñanza Todas las clases serán teórico-prácticas. La docente introducirá los temas a ser tratados, generalmente bajo la forma de problemas a resolver, y a continuación se discutirán posibles soluciones a los mismo. También la introducción de técnicas nuevas seguirán la secuencia planteo-discusión de soluciones conocidas-introducción de técnicas nuevas-comparación de la eficiencia de las soluciones propuestas. Se trabajará con bibliografía y se requerirá la participación activa de los alumnos en todas las clases. Se proveerá a los alumnos de los enunciados de los trabajos prácticos (de exigencia obligatoria) y de guías de problemas (sin obligación de 2 de 5 7529 - Teoría de Algoritmos I PLANIFICACIONES Actualización: 2ºC/2016 entrega). Modalidad de Evaluación Parcial Las evaluaciones son de dos tipos: - Confección, entrega y aprobación de 3 (tres) trabajos prácticos (TP): cada alumno debe entregar en cada una de las fechas indicadas en el cronograma un trabajo que habrá confeccionado en forma individual y cuyo enunciado se le proveerá con anticipación. La aprobación de cada TP incluye, además de la presentación, una exposición del mismo, después de que se hayan efectuado las correcciones, si correspondiere. Cada uno de los TP sólo puede ser recuperado una vez en la fecha prevista a tal efecto. - Aprobación de un examen integrador. 3 de 5 7529 - Teoría de Algoritmos I PLANIFICACIONES Actualización: 2ºC/2016 CALENDARIO DE CLASES Semana Temas de teoría Resolución de problemas Laboratorio <1> 15/08 al 20/08 <2> 22/08 al 27/08 <3> 29/08 al 03/09 <4> 05/09 al 10/09 <5> 12/09 al 17/09 <6> 19/09 al 24/09 <7> 26/09 al 01/10 <8> 03/10 al 08/10 <9> 10/10 al 15/10 <10> 17/10 al 22/10 <11> 24/10 al 29/10 <12> 31/10 al 05/11 <13> 07/11 al 12/11 <14> 14/11 al 19/11 <15> 21/11 al 26/11 <16> 28/11 al 03/12 4 de 5 Otro tipo Fecha entrega Informe TP Bibliografía básica 7529 - Teoría de Algoritmos I PLANIFICACIONES Actualización: 2ºC/2016 CALENDARIO DE EVALUACIONES Evaluación Parcial Oportunidad Semana Fecha 1º 2º 3º 4º 5 de 5 Hora Aula