Diseño de Algoritmos I
CI-5651
Enero-Marzo 2008


Índice
Docentes
Horas de Consulta
Horario de Clases
Cronograma de Actividades
Evaluación
Enunciado de los exámenes
Enunciado de Proyectos y normas de documentación y entrega


ULTIMA HORA:


  • EL INFORME DE LOS PROYECTOS DEBE SER ENTREGADO EN UN ARCHIVO .PDF ESCRITO CON UN PROCESADOR DE TEXTO (ES DECIR, NO A MANO). ME DEBEN ENTREGAR EL INFORME EN PAPEL Y ENVIARME POR E-MAIL EL ARCHIVO PDF. Y UN ARCHIVO CON EL CODIGO FUENTE DE MANERA DE YO COMPILARLO Y EJECUTARLO.

  • Grupos para los proyectos:
grupo 1:
Daniel Campello    04-36791
Jesus Federico     03-35883
Jesus de Abreu     03-35826

grupo2:
Luis Serrano         04-37606
Juan Abreu           04-36652
Jomar Bustamante     03-35716

grupo3:
Cristina Sanjuán ... Carné: 03-36486
Ricardo Monascal ... Carné: 03-36207

grupo4:
Jamil Navarro        04-37334
Ana Isabel Prieto    04-37440

grupo5:
Giovanni Cherchi 04-36845
Hernández Pablo  02-35027
Jesireth Martinez 04-37251


Docentes: Oscar Meza


Horas de Consulta: Martes y Jueves después de clases.
Horario de clases:  Martes y jueves  1:30-3:30pm  AUL-113
Cronograma de Actividades:


Enero-Marzo 2008
Martes
Jueves
(1)
15 y 17 enero
Presentación del curso.
Análisis y síntesis de algoritmos. Complejidad en tiempo de algoritmos: Complejidad exacta. Análisis PeorCaso y Caso promedio.
 Ej: ordenamiento por inserción.

Notación O grande, Omega, etc.
A
lgoritmos eficientes. Problemas que se pueden resolver eficientemente. 

entrega enunciado proyecto 1 (15%)
Reducción de problemas. Ejemplos: Cálculo de caminos mínimos en grafos sin circuitos a caminos máximos. Caminos mínimos hasta cada vértice alcanzable desde uno dado en caminos mínimos desde cada vértice que alcanza uno dado. Ejemplo: agente viajero a circuito hamiltoniano de costo mínimo. SUDOKU general a SAT. etc.
(2)
22 y 24 ene
Máquinas de Turing deterministas y no deterministas. Clase P y NP.

Problemas NP, problemas NP-completos, NP-hard. Ejemplos: SAT, 3-SAT, Coloración, etc. Ejemplos de reducción para mostrar que están en NP-completos (clique máxima)
(3)
29 y 31 ene
Verificación de la corrección de algoritmos. Corrección de ciclos. Ejemplo: ordenamiento por inserción,
Recorridos en grafos. Modelo general de etiquetamiento. DFS propiedades, BFS propiedades. Aplicaciones: enumeración de conjuntos. Backtracking. Ejemplos
(4)
5 y 7 feb
CARNAVAL trabajo en el proyecto
(5)
12 y 14 fe
Backtracking, estrategias de poda más eficientes, ej: el problema de la suma.

entrega solución proyecto 1. Discusión de resultados por los equipos.

entrega enunciado proyecto 2 (10%).

Branch&bound. Ejemplos. 
(6)
19 y 21 feb
Estrategia Greedy. Como heurística: cambio moneda, coloración. Como algoritmo exacto: Kruskal, Problema de la Mochila fraccionario (knapsack). Secuenciación entrega enunciado 1er. examen (35%)
 Verificar correctitud de Kruskal. Estructura de datos para representar particiones de conjuntos. Uso en Kruskal.
(7)
26 y 28 feb
Verificacion de que el algoritmo greedy para secuenciación es exacto. Un poco de teoría: Matroides.
 
entrega solución 1er. examen.

b-uniformidad.  Solúción de recurrencias útiles en algoritmos recursivos. Teorema maestro.
Ejemplos de análisis en tiempo de algoritmos recursivos.
(8)
4 y 6 mar
Corrección de algoritmos recursivos. Ejemplo: merge-sort.
Divide-and-Conquer: esquema general. Quicksort (análisis promedio) Multiplicación de enteros grandes.
(9)
11 y 13 mar
entrega solución proyecto 2. Discusión cada equipo.
entrega enunciado proyecto 3 (10%)
Discusión enunciado, estrategias para mejorar la solución (heurísticas, estructuras de datos, etc.).

Estadísticos de Orden. Aumento de estructuras de datos para hallar estadísticos de orden. Divide-and-Conquer: Cálculo de la mediana en tiempo lineal

18 y 20 mar

SEMANA

  SANTA
(10)
25 y 27 mar
Aplicación en geometría computacional: dos puntos más cercanos

Prog. Dinámica: En qué consiste: Coeficiente binomial. Bellman. 
(11)
1 y 3 abril
Prog. Dinámica: Floyd-Warshall. Devolver cambio.
entrega enunciado 2do. examen (30%)
Prog. Din. ejemplos: Knapsack,  evaluación de expresiones, multiplicación de n matrices. Funciones con memoria. Inicialización Virtual. 
(12)
8 y 10 abril
entrega solución 2do. examen
entrega solucion proyecto 3. Discusión por equipo.


(*) B: Brassard, C: Cormen, S: Sipser

Evaluación :


Evaluación Semana Valor
primer examen
el profesor entrega el enunciado  el 21 de febrero
 y el estudiante entrega la solución el 28 de febrero
35%

segundo examen
el profesor entrega el enunciado  el 1 de abril
 y el estudiante entrega la solución el 8 de abril
30%
primera entrega proyecto
el profesor entrega el enunciado  el 15 enero
 y el estudiante entrega la solución el 12 feb
15%
segunda entrega proyecto
el profesor entrega el enunciado  el 12 febrero
 y el estudiante entrega la solución el 11 mar
10%
tercera entrega proyecto
el profesor entrega el enunciado  el 11 de marzo
 y el estudiante entrega la solución el 8 de abril
10%
            
               

Exámenes:

Los exámenes deben ser elaborados con un procesador de palabras (ej: word)  o con un formateador de documentos (ej: latex) y enviados por e-mail en formato PDF al profesor y entregar en papel el día de la entrega
- Primer examen, para entregar solución el 28 de febrero:  pdf    solucion:  pdf
- Segundo examen, para entregar solucion el 8 de abril:  pdf      solucion:  pdf
                                                         programa iterativo para calcular la función de ackermann: .ps


Proyectos:

El grupo 3 (Cristina SanJuán y Ricardo Monascal) logró incorporar y probar varias heurísticas y el backtracking no cronológico. Sus tiempos son muy buenos comparables con ZCHAFF. Aqui les coloco el código:
solución proyecto 2 y el informe
  • Material para los Proyectos: