Complejidad 2024-1
Complejidad 2024-1
Complejidad 2024-1
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 1 / 16
Intuición
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 2 / 16
Cómo se resuelve un problema
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 3 / 16
Cómo se resuelve un problema
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 4 / 16
Cómo se mide la eficiencia
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 5 / 16
Problemas “Fáciles” y “Difı́ciles”
Definición
Dado un problema y un algoritmo para resolverlo, diremos que ese algoritmo resuelve el
problema en tiempo polinomial si el número de operaciones que se requieren para una
instancia de tamaño l está acotada por p(l), donde p() es un polinomio.
¿Y Programación Entera...?
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 6 / 16
Problemas de decisión v/s de optimización
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 7 / 16
Clases de Complejidad
Definición
Se dice que un problema de decisión partenece a la clase P (polinomial) si existe un
algoritmo que se detiene con SI o NO en un número de etapas acotado por p(l), donde l es
el tamaño de la instancia y p es un polinomio.
Definición
Se dice que un problema de decisión pertenece a la clase NP (no determinı́stico polinomial)
si para una instancia de largo l, dada una posible solución al problema, es posible verificar si
la respuesta es SI o NO para esa solución en tiempo polinomial.
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 8 / 16
Clases de Complejidad
Ejemplos:
▶ El Problema de Vendedor Viajero
▶ Programación Entera
▶ El problema de la mochila
Si el problema es NP, ¿puedo dar una cota al esfuerzo máximo necesario para encontrar
una solución correcta?
Ilustremos para Programación Entera (decisión):
¿Existe x tal que Ax ≤ b, xj ∈ {0, 1}, j = 1, . . . , n?
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 9 / 16
Clases de Complejidad
Entonces:
▶ Hay problema fáciles, en P
▶ Hay problemas intratables, que requieren al menos tiempo exponencial
▶ Hay problemas que requieren a lo más, tiempo exponencial, en NP
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 10 / 16
Los problemas NP-Completos
Existe un subconjunto de los problemas en NP que son los más difı́ciles de entre todos.
Definición
Sean A y B dos problemas de decisión. A es polinomialmente reducible a B si existe una
transformación g evaluable en tiempo polinomial que transforma una instancia e de A en
una instancia e′ = g(e) de B y e es SI si y sólo si la respuesta de g(e) es SI.
Definición
Un problema B en la clase NP se dice NP-Completo si cualquier problema A en NP se
puede reducir polinomialmente a B.
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 11 / 16
Los problemas NP-Completos
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 12 / 16
Los problemas NP-Completos
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 13 / 16
Nota sobre la verdadera teorı́a formal
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 14 / 16
La complejidad de Programación Lineal
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 15 / 16
La complejidad de Programación Lineal
Aún es una pregunta abierta entender por qué el método SIMPLEX, pese a ser
ineficiente en el peor caso, se comporta muy bien “en promedio”.
Un comportamiento “promedio”: O(max{m, n}) pivotes para llegar al óptimo.
Pero la última palabra en polinomialidad para P.L. no estaba dicha...
1984: N. Karmarkar presentó un nuevo algoritmo que también era polinomial para
programación lineal.
El método presentado era un Algoritmo de Punto Interior.
Estos provee un método “teórico” polinomial para resolver P.L. pero, además, son
eficientes en la práctica...
Y es el siguiente tema del curso.
Prof. Jorge Vera (Escuela de Ingenierı́a) ICS2121 Métodos de Optimización Pontificia Universidad Católica de Chile 16 / 16