NP Completos
NP Completos
Teora de Complejidad
I
Un problema de decisi
on es un problema cuya respuesta es
s o no.
Version de evaluaci
on: Determinar el valor de una solucion
optima de para I .
Version de optimizaci
on: Encontrar una soluci
on
optima del
problema para I (de valor mnimo o maximo).
Version de decisi
on: Dado un n
umero k, existe una solucion
factible de para I tal que c(S) k si el problema es de
minimizacion (o c(S) k si el problema es de
maximizacion)?
Version de localizaci
on: Dado un n
umero k, determinar una
soluci
on factible de para I tal que c(S) k.
Version de evaluaci
on: Determinar el valor de una solucion
optima, o sea la longitud de un circuito hamiltoniano de G de
longitud mnima.
Version de optimizaci
on: Determinar un circuito
hamiltoniano de G de longitud mnima.
Version de decisi
on: Dado un n
umero k, existe un circuito
hamiltoniano de G de longitud menor o igual a k?
Version de localizaci
on: Dado un n
umero k, determinar un
circuito hamiltoniano de G de longitud menor o igual a k.
Problemas intratables
Definici
on: Un problema es intratable si no puede ser resuelto
por alg
un algoritmo eficiente.
Un problema puede ser intratable por distintos motivos:
I
Las clases P y NP
Definiciones:
I
Un problema de decisi
on pertenece a la clase P (polinomial)
si existe un algoritmo polinomial para resolverlo.
Un problema de decisi
on pertenece a la clase NP (polinomial
no-determinsticamente) si dada una instancia de SI y
evidencia de la misma, puede ser verificada en tiempo
polinomial.
P NP
Ejemplos de problemas en NP
I
Suma de enteros.
Multipliacion de enteros.
Arbol
generador mnimo.
Clique maxima.
Un problema de decisi
on esta en la clase NP si las instancias de SI
son reconocidas por una maquina de Turing no-determinstica
polinomial.
La clase NP se puede definir como el conjunto de problemas de
decision que se pueden resolver por un algoritmo polinomial
no-determinstico.
Lema: Si es un problema de decisi
on que pertence a la clase
NP, entonces puede ser resuelto por un algoritmo determinstico
en tiempo exponencial respecto del tama
no de la entrada.
Transformaciones polinomiales
Deficiones:
I
Una transformaci
on o reducci
on polinomial de un
problema de decisi
on 1 a uno 2 es una funcion polinomial
que transforma una instancia I1 de 1 en una instancia I2 de
2 tal que I1 tiene respuesta SI para 1 si y solo si I2 tiene
respuesta SI para 2 .
El problema de decisi
on 1 se reduce polinomialmente a
otro problema de decisi
on 2 , 1 p 2 , si existe una
transformacion polinomial de 1 a 2 .
Problemas NP-Completos
Definici
on: Un problema de decisi
on es NP-completo si:
1. NP
NP,
p
2.
Teorema de Cook (1971): SAT es NP-completo.
Problemas NP-Completos
Usando la transitividad de las reducciones polinomiales, a partir de
este primer resultado podemos probar que otros problemas son
NP-Completos.
Si es un problema de decisi
on, podemos probar que
NP-completo encontrando otro problema 1 que ya sabemos que
es NP-completo y demostrando que:
1. NP.
2. 1 p
Desde 1971, se ha probado la NP-completitud de muchos
problemas usando este metodo.
Problemas NP-Completos
I
La clase NP-Difcil
Definici
on: Un problema de decisi
on es NP-difcil si todo otro
problema de NP se puede transformar polinomialmente a .
La clase Co-NP
I
Un problema de decisi
on pertenece a la clase Co-NP si dada
una instancia de NO y evidencia de la misma, puede ser
verificada en tiempo polinomial.
Es P=NP?
Es Co-NP=NP?
Es P=Co-NP NP?
Las incognitas...
NP
NP
NP
NP-Completo
NP-Completo
P = NP
NP-Intermedio
= NP-Completo
P
P
Las incognitas...
Co-NP
NP
Co-NP-Completo
NP-Completo
Extension de un problema
si
Definici
on: El problema es una restricci
on de un problema
es una extensi
Se dice que
on de .
NP-Difcil.
Si NP-Completo, entonces
Ejemplos:
I
Algoritmos Pseudopolinomiales
Definici
on: Un algoritmo para resolver un problema es
pseudopolinomial si la complejidad del mismo es polinomial en
funcion del valor de la entrada.
Ejemplos:
I
Primalidad.
Teora de Complejidad