C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es...
Transcript of C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es...
![Page 1: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/1.jpg)
Complexity©D.Moshkovitz
1
Nuestro primer problemaNP-CompletoA
BC
El teorema de Cook-Levin
![Page 2: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/2.jpg)
Complexity©D.Moshkovitz
2
Introducción
• Objetivos:– Presentar un problema NP-Completo
• Resumen:– Definición y ejemplos del problema SAT– El teorema de Cook-Levin– ¿Y después qué?
![Page 3: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/3.jpg)
Complexity©D.Moshkovitz
3
SAT • Entrada: Una fórmula booleana.• Problema: Decidir si la fórmula es satisfactible.
)x(x)x )x x((x 231321 ∧¬∨¬∧¬∨∨F T
Una fórmula booleana satisfactible:
F TT T
Una fórmula booleana insatisfactible:11 xx ¬∧
![Page 4: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/4.jpg)
Complexity©D.Moshkovitz
4
¿A qué clase de complejidad pertenece SAT?
SAT
Co-NP PNP
![Page 5: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/5.jpg)
Complexity©D.Moshkovitz
5
SAT está en NP: Algoritmo no determinista
• Adivina una asignación de las variables.• Comprueba la asignación.
)x(x)x )x x((x 231321 ∧¬∨¬∧¬∨∨F T F TT T
x1
x2
x3
F
T
T
![Page 6: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/6.jpg)
Complexity©D.Moshkovitz
6
El teorema de Cook-Levin: SAT es NP-Completo
SIP 254-259
Idea de la prueba: Por cada MTND M y cada entradaw, construimos una fórmula ϕM,w que essatisfactible sii M acepta w.
,M wϕ # 1 1 # 1
... ...
![Page 7: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/7.jpg)
Complexity©D.Moshkovitz
7
Representación de un cómputo por medio de una tabla de configuraciones
nk
# ... # # ...
# #
q0 w1 wn_ # ... #
#...
# #
q0 w1 wn_ # ... #
#...
# #
q0 w1 wn_
Indica el final de la parte relevante de la cinta
El contenido de la parte relevante de la cintay la posición de la cabeza
nk
Cota superioren el tiempo de ejecución
![Page 8: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/8.jpg)
Complexity©D.Moshkovitz
8
Tabla: Ejemplos
• TM:-Q={q0, qsi, qno}-Σ={1}-Γ={1,_ }-δ(q0,1)={(q0,_,D)}-δ(q0,_)={(qsi,I)}
• TM:-Q={q0, qsi, qno}-Σ={1}-Γ={1,_ }-δ(q0,1)={(q0,_,D)}-
• tabla (entrada 11)
δ(q0,_)={(qsi,I)}
# q0 1 1 _ #
# _ q0 1 _ #
# _ 1 q0 _ #
# _ qsi _ _ #
• tabla (entrada 11)
¿Qué hace estamáquina?
![Page 9: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/9.jpg)
Complexity©D.Moshkovitz
9
Las variables de la fórmula
xi, j, s
# ... ##
.
.
.
# #
símbolo (s∈Γ∪Q∪{#})
semántica: “¿s es elcontenido de la casilla(i,j)?”
Posición en la tabla (1≤i,j≤nk)
![Page 10: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/10.jpg)
Complexity©D.Moshkovitz
10
ϕ
La fórmula ϕ
M,w = φcell ∧ φstart ∧ φmove ∧ φacceptϕM,w = φcell ∧ φstart ∧ φmove ∧ φaccept
contenido de las casillas consistente
la máquina acepta
entrada consistente transiciones legales
![Page 11: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/11.jpg)
Complexity©D.Moshkovitz
11
Un único símbolo en cada casilla
∨∧
= ∧∨∧
∈≠∈≤≤
)xx(xφ tj,i,sj,i,Cts
sj,i,Csnji,1
cellk
la casilla (i,j) contiene al menos un símbolo
no puede contener dos símbolos diferentes
Nota: la longitud de esta fórmula es polinómica en n
![Page 12: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/12.jpg)
Complexity©D.Moshkovitz
12
La configuración inicial se corresponde con la entrada
Observación: podemos dar explícitamente el contenido de las casillas en el primer paso,sabiendo que la entrada es la palabra w1w2...wn,
k k0 1start 1,2,q 1,3,w 1,n 3,_1,1,# 1,n 1,_ 1,n ,#φ x x x ... x ... x x+ −= ∧ ∧ ∧ ∧ ∧ ∧ ∧
![Page 13: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/13.jpg)
Complexity©D.Moshkovitz
13
La máquina acepta
El estado aceptador es visitado en algún momento durante la ejecución.
acceptk
qj,i,nji,1
accept xφ ∨≤≤
=
![Page 14: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/14.jpg)
Complexity©D.Moshkovitz
14
Las transiciones son legales
# ... ##
.
.
.
# #
Local: sólo necesitamos mirar
2×3 casillas =ventana
![Page 15: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/15.jpg)
Complexity©D.Moshkovitz
15
¿Qué ventanas son legales en este ejemplo?
1 q0 1
1 1 q0
_ q0 1
_ _ q0
1 q0 _
qsi _ _
# q0 1
# _ q0
1 q0 1
1 _ q0
• TM:– Q={q0,qsi,qno}– Σ={1}– Γ={1,_}– δ(q0,1)={(q0,_,R)}– δ(q0,_)={(qsi,L)}
• TM:– Q={q0,qsi,qno}– Σ={1}– Γ={1,_}– δ(q0,1)={(q0,_,R)}– δ(q0,_)={(qsi,L)}
1 q0 1
qsi _ _
![Page 16: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/16.jpg)
Complexity©D.Moshkovitz
16
Las transiciones son legales
( )61 a1,j1,iaj,1,imove x...xφ ++−
≤≤
∧∧∨= ∧61 ,...,,1 aanji k
para cada a1,...,a6 t.q.forman una ventana
a1 a2 a3
a4 a5 a6
![Page 17: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/17.jpg)
Complexity©D.Moshkovitz
17
ϕ
La fórmula completa
M,w = φcell ∧ φstart ∧ φmove ∧ φacceptϕM,w = φcell ∧ φstart ∧ φmove ∧ φaccept
ϕM,w
- tiene un tamaño polinómico en n ¡Comprobarlo!
- es satisfactible si y sólo si la máquina M acepta la entrada w.
![Page 18: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/18.jpg)
Complexity©D.Moshkovitz
18
Conclusión: SAT es NP-Completo
Para cada lenguaje A en NP,
se reduce a... Comprobar si unafórmula es
satisfactibleComprobar si unapalabra está en A
![Page 19: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/19.jpg)
Complexity©D.Moshkovitz
19
Co-NP NP P
NPC
SAT
Volviendo al plano
![Page 20: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/20.jpg)
Complexity©D.Moshkovitz
20
El camino por delante
A partir de ahora, para probar que un problema de NP es NP-Completo, simplementenecesitamos reducir SAT a él.cualquierproblemade NP
se reduce a ...
SAT
Implicaría que el nuevo problema está en NPC
se reduce a...Teorema de Cook-Levin problema
de NP nuevo
![Page 21: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/21.jpg)
Complexity©D.Moshkovitz
21
... ¡Y más allá!
Más aún, cada problema NP-Completo que descubramos, se convierte en un camino para probar que otros de NP son NP-Completos.
cualquierproblema
de NP se reduce a...
problemaNP-Hard conocido problema
de NP nuevo
se reduce a...
![Page 22: C B Nuestro primer problema A NP-Completo5]Cook.pdf · • Problema: Decidir si la fórmula es satisfactible. ((xF1 ∨xT2 ∨¬ x 3)∧¬ x 1)∨¬(x 3 ∧x 2) Una fórmula booleana](https://reader033.fdocuments.mx/reader033/viewer/2022043006/5f8fbcc8d312a029af473b66/html5/thumbnails/22.jpg)
Complexity©D.Moshkovitz
22
Resumen
• Hemos probado que SAT es NP-Completo.• Hemos descrito un método general para
probar que otros problemas también sonNP-Completos.