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.