Créditos: 9
Objetivos:
Que el estudiante conozca que tipo de limitaciones intrínsecas fundamentales hay (en espacio, tiempo, aleatoriedad, etc.) en diversos problemas computacionales.
Que el estudiante conozca diversos métodos para estudiar la dificultad intrínseca de diversos problemas computacionales.
Dar los fundamentos, ejemplos y aplicaciones de la complejidad computacional.
Temario:
- Introducción: Modelos computacionales, Máquinas de Turing, clases
computacionales.
- Complejidad en el tiempo. Clases P y NP.
Problemas NP-Completos.
- Complejidad en el espacio. Clases
PSPACE y NPSPACE. Teorema de Savitch. Clases L y NL. Problemas PSPACE
completos y NL completos.
- Teoremas de jerarquías en tiempo y en espacio.
- Temas más avanzados. Límites del método de diagonalización, algoritmos aproximados, algoritmos probabilísticos, sistemas de pruebas interactivas, aplicaciones a la criptografía.
Modalidad del curso y procedimiento de evaluación.
Se realizarán clases
presenciales para profundizar los temas que los estudiantes deberán
tener leídos (con material previalmente entregado) y de resolución
y discusión de problemas. Se espera que las clases sean
interactivas, con activa participación estudiantil, y basado en las
dudas que puedan surgir en la lectura previa o en los ejercicios
propuestos.
Los estudiantes deberán realizar dos trabajos obligatorios
eliminatorios.
La evaluación final será mediante una única
prueba escrita entre quienes hayan aprobado los obligatorios.
- Profesor Responsable: Nelson Juambeltz
- Profesor Responsable: Adrian Silveira
- Profesor Responsable: Julian Viera
- Profesor Responsable: Alfredo Viola
- Profesor: Encuestas Unidad de Enseñanza