Title: Intratabilidad
1Intratabilidad
- 30 de septiembre de 2003
- Se exploran las nociones relacionadas con los
límites prácticos de la computación. Se presentan
y ejemplifican las clase P y NP.
2Intratabilidad
- Conceptos básicos.
- Clases de Complejidad.
- - La clase P.
- - Reducción.
- - Completitud.
- - La clase NP.
- - P vs. NP.
- Problemas NP-Completos.
- Complejos pero no imposibles.
3Intratabilidad
- Conceptos básicos.
- Clases de Complejidad.
- - La clase P.
- - Reducción.
- - Completitud.
- - La clase NP.
- - P vs. NP.
- Problemas NP-Completos.
- Complejos pero no imposibles.
4Conceptos básicos
X (p,r) p?Preg ? r?Resp
Preg Resp 0,1
- - Funcionales.
- - De desición.
- - De conteo.
- -
5Conceptos básicos
X (p(x),r(x)) x ? D .
Solución
Es una relación (algoritmo) A tal que A P ? R
y para cada pregunta posible p, (p,A(p)) ? X.
6Conceptos básicos(ejemplos)
Factorización (FAC)
Dado un entero positivo n, encontrar uno de sus
divisores.
7Conceptos básicos(ejemplos)
Agente Viajero (AV)
Dadas n ciudades en un plano y un número
natural d, decidir si existe un ciclo simple que
visite las n ciudades y que tenga longitud menor
o igual a d.
8Conceptos básicos(ejemplos)
Coloración de Grafos (CG)
Dado un grafo G y un entero k, decidir si G es
k-coloreable.
9Conceptos básicos(ejemplos)
Conjuntos Independientes (CI)
Dado un grafo G y un entero k, decidir si G
tiene un subconjunto de k vértices
independientes.
10Conceptos básicos(ejemplos)
Empaquetamiento (BP)
Dados un conjunto finitos S de enteros
positivos, un entero k y un entero n, decidir si
se pueden empacar los enteros de S en a lo sumo n
subconjuntos de suma individual menor que k.
11Conceptos básicos(ejemplos)
Clique (CQ)
Dado un grafo G y un entero n, decidir si Kn es
subgrafo de G..
12Conceptos básicos(ejemplos)
Partición (PT)
Dado un conjunto finito A de enteros positivos,
determinar si es posible partir el conjunto en
dos que tengan la misma suma.
13Conceptos básicos(ejemplos)
Morral (KS)
Dado un conjunto finito U, dos números
naturales B y K, y dos funciones s(u) y v(u)
definidas sobre U, determinar si existe un
subconjunto U de U tal que s(U)?B y v(U)?K.
14Conceptos básicos
Qué tienen en común estos problemas?
Son problemas difíciles.
No se
conoce un algoritmo polinomial que los solucione.
Se conocen algoritmos que solucionan el problema,
pero lo hacen en tiempo exponencial.
15Conceptos básicos
... Y además de ser difíciles?
Si se encuentra un algoritmo bueno para uno de
ellos, entonces se tendrá un algoritmo bueno para
cualquiera de ellos.
Si se demuestra que todos los algoritmos para
solucionar uno de ellos son malos, entonces todos
tendrán el mismo inconveniete.
(completitud)
16Intratabilidad
- Conceptos básicos.
- Clases de Complejidad.
- - La clase P.
- - Reducción.
- - Completitud.
- - La clase NP.
- - P vs. NP.
- Problemas NP-Completos.
- Complejos pero no imposibles.
17Clases de Complejidad
Constante
O(1)
Logarítmica
O(log n)
Polilogarítmica
O(logk n)
Lineal
O(n)
Polinomial
O(nk)
Exponencial
O((2n)k)
18La Clase P
Un problema es P si se tiene un algoritmo que lo
soluciona en tiempo polinomial sobre una Máquina
de Turing Determinista (MTD).
Existen muchos problemas en P que parecen
difíciles.
19La Clase P(ejemplos)
Primalidad (VP)
Dado un entero positivo n, decidir si n es un
número primo o no.
20La Clase P(ejemplos)
Recubrimiento de Arcos (RA)
Dado un grafo y un entero positivo k, decidir
si existe una conjunto de k arcos en G (kltk)
que cubra todos los nodos.
21La Clase P(ejemplos)
Camino Euleriano (CE)
Dado un grafo y un entero positivo m, decidir
si existe un camino de longitud m que no repita
arcos.
22La Clase P(ejemplos)
Ecuaciones Diofantinas Lineales (EDL)
Dados tres números naturales a, b y c, decidir
si existen naturales x e y tales que ax by c.
23La Clase P(ejemplos)
Progamación Lineal (PL)
Dada una matriz Amxn, dos vectores bm y cn y un
entero k, decidir si existe un vector de
racionales xn tal que Ax ? b y c.x ? k.
24Reducción
Una tranformación de X a Y es una función
f B ? B
tal que
(p,r)?X ? (f(p),r)?Y
pero f se debe calcular en tiempo polinomial.
25Reducción
Si tal transformación existe se dice que X
reduce polinomialmente a Y,
X ? Y.
- es compatible por clases
- X ? Y ? Y ? C ? X ? C
- es transitiva
- X ? Y ? Y ? Z ? X ? Z
26Completitud
Si X es un problema, C una clase de problemas y R
una familia de reducciones,
X es R-difícil para C ? Y ?R X, para todo Y ? C.
X es R-completo para C ? X es R-difícil para
C y X ? C.
27Completitud
Un teorema importante
Si C es una clase de problemas, R una clase
transitiva de reducciones y X un problema
R-completo para C
entonces X ?R Y ? Y ? C ? Y es R-completo para C
28La Clase NP
Cómo hago para ser NP?
- Problema de decisión.
- Tener solución en una MTND con tiempo de
ejecución polinomial.
29La Clase NP
Cómo verifico que un problema es NP?
- Exhibiendo un algoritmo polinomial que
verifique la certificación de la respuesta.
30La Clase NP(AV)
Problema Dadas n ciudades en un plano y un
número natural d, decidir si existe un ciclo
simple que visite las n ciudades y que tenga
longitud menor o igual a d.
Certificado Un recorrido para el que se debe
verificar que la longitud es menor o igual que d.
31La Clase NP(CG)
Problema Dado un grafo G y un entero k,
decidir si G es k-coloreable.
Certificado Una asignación cV?1,,k que debe
ser verificada como coloración.
32La Clase NP(BP)
Problema Dados un conjunto finitos S de
enteros positivos, un entero k y un entero n,
decidir si se pueden empacar los enteros de S en
a lo sumo n subcon-juntos de suma individual
menor que k.
Certificado Una partición de S en máximo n
conjuntos con suma individual menor que k.
33La Clase NP(CQ)
Problema Dado un grafo G y un entero n,
decidir si Kn es subgrafo de G.
Certificado Un conjunto de n vértices que
conformen un subgrafo de G isomorfo a Kn.
34La Clase NP(SAT)
Problema Dado un conjunto de m cláusulas
escritas con n símbolos, decidir si es
satisfacible.
Certificado Una asignación de valores de
verdad a los n símbolos.
35La Clase NP(k-SAT)
Problema Dado un conjunto de m cláusulas, cada
uno con menos de k1 literales, escritas con n
símbolos, decidir si es satisfacible.
Certificado Una asignación de valores de
verdad a los n símbolos.
36P vs. NP
NP
P
P
Toda MTD es un caso particular de MTND
P ? NP
37P vs. NP
P ? NP
NP ? P ?
N P I
Teorema. Si X ? NP, entonces existe un polinomo p
tal que X puede ser resuelto en una MTD en tiempo
O(2p(n)).
Si eso es lo mejor, entonces son exponenciales!
?
38Intratabilidad
- Conceptos básicos.
- Clases de Complejidad.
- - La clase P.
- - Reducción.
- - Completitud.
- - La clase NP.
- - P vs. NP.
- Problemas NP-Completos.
- Complejos pero no imposibles.
39Problemas NP-Completos
X es NP-Completo
X es NP
y X es P-completo
para NP.
40Problemas NP-Completos
Teorema (Cook, 1971)
SAT es NP-Completo.
SAT es NP
y SAT es NP-difícil.
Demostración difícil en Coo71, legible en
Gar79 y fácil en Boh92.
41Problemas NP-Completos
3-SAT es NP-Completo
3-SAT es una variante de SAT, entonces es NP.
Si ? x1 ? x2 ? ? xn
3-SAT es una variante de SAT, entonces es NP.
Se toma ? (x1??y1) ? (y1?x2??y2) ? (y2?x3??y3)
? ? (yn-1?xn??yn) ? yn
SAT es una variante de 3-SAT, entonces es
NP-completo.
Solucionar 3-SAT para ? es lo mismo que
solucionar SAT para ?.
Entonces SAT ? 3-SAT.
42Problemas NP-Completos
Sequencing with Release Times MINIMUM SEQUENCING
WITH RELEASE Set Cover MINIMUM SET COVER
Single-Sink Edge Installation MINIMUM
SINGLE-SINK EDGE INSTALLATION Size Ultrametric
Tree MINIMUM SIZE ULTRAMETRIC TREE Sorting by
Reversals MINIMUM SORTING BY REVERSALS
k-Spanning Tree MINIMUM K-SPANNING TREE
43Problemas NP-Completos
k-Switching Network MINIMUM K-SWITCHING NETWORK
Travel Robot Localization MINIMUM TRAVEL ROBOT
LOCALIZATION Two-Processor Flow-Shop Scheduling
with Batch Set-Up Times MINIMUM TWO-PROCESSOR
FLOW-SHOP SCHEDULING Unsatisfying Linear
Subsystem MINIMUM UNSATISFYING LINEAR SUBSYSTEM
Vertex Cover MINIMUM VERTEX COVER Shortest
Common Supersequence SHORTEST COMMON
SUPERSEQUENCE
44Problemas NP-Completos
Maximal Common Subsequence LONGEST COMMON
SUBSEQUENCE Triangulation MINIMUM LENGTH
TRIANGULATION Turing Machines LONGEST
COMPUTATION SHORTEST COMPUTATION Vertex Cover
MINIMUM VERTEX COVER Separator MINIMUM
B-VERTEX SEPARATOR
45Intratabilidad
- Conceptos básicos.
- Clases de Complejidad.
- - La clase P.
- - Reducción.
- - Completitud.
- - La clase NP.
- - P vs. NP.
- Problemas NP-Completos.
- Complejos pero no imposibles.
46Difíciles pero no imposibles...
Tipo 1 Casi siempre se encuentra la respuesta
- Se ejecuta en tiempo polinomial.
- Si encuentra solución, es la correcta.
- Casi siempre la encuentra.
- La probabilidad de encontrarla crece con el
tamaño de los datos.
47Difíciles pero no imposibles...
Tipo 2 Casi siempre rápido
- Siempre encuentra solución correcta.
- La complejidad en caso promedio es mejor que
exponencial.
48Difíciles pero no imposibles...
Tipo 3 Cerca de la respuesta
- Siempre encuentra una respuesta.
- La complejidad en caso promedio es polinomial.
- Se garantiza que la respuesta está
porcentualmente cerca de la correcta.
49Bibliografía
- Boh92 J. Bohórquez, Análisis de Algoritmos,
1993. - Coo71 S. Cook, The Complexity of Theorem
proving procedures. En Proceedings of the Third
Annual ACM Symposium on Theory of Computing, pg.
151 158, 1971. - Cor01 T. H. Cormen, Ch. E. Leiserson, R. L.
Rivest, C. Stein, Introduction to Algorithms,
2001. - Cre03 P. Crescenzi, V. Kann, A Compendium of NP
Optimization Problems, http//www.nada.kth.se/theo
ry/problemlist.html , 2003. - Gar79 M. R. Garey, D. S. Johnson, Computers and
Intractability A Guide to tjhe Theory of
NP-Completeness, 1979.