Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Complejidad Computacional Parte 8

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Teorema de Cook: Demostración

Segundo, la máquina siempre está en un único estado:

tM (n) " $
! # !
(et,q ∧ ¬et,q! ) .
t=0 q∈Q q ! ∈(Q\{q})

Tercero, la cabeza siempre está en una única posición:

tM (n) " tM (n) $


! # !
(ct,p ∧ ¬ct,p! ) .
t=0 p=−tM (n) p ! ∈([−tM (n),tM (n)]\{p})

IIC2213 – Introducción a la Complejidad Computacional 71 / 111


Teorema de Cook: Demostración

Cuarto, el valor de una celda no cambia si no es apuntada por la


cabeza lectora:

tM (n)−1 tM (n) "


! !
(¬ct,p ) → ((st,p,0 ∧ st+1,p,0 ) ∨
t=0 p=−tM (n)
$
(st,p,1 ∧ st+1,p,1 ) ∨ (st,p,B ∧ st+1,p,B )) .

IIC2213 – Introducción a la Complejidad Computacional 72 / 111


Teorema de Cook: Demostración

ϕA : La máquina acepta w .

tM (n)
#
et,qm .
t=0

IIC2213 – Introducción a la Complejidad Computacional 73 / 111


Teorema de Cook: Demostración

ϕδ : relación δ define como funciona la máquina.

tM (n)−1 tM (n)−1 " "


! ! !
(et,q ∧ ct,p ∧ st,p,a ) →
t=0 p=−(tM (n)−1) (q,a)∈Q×{0,1,B}
" # $$$
(et+1,q! ∧ ct+1,p+k ∧ st+1,p,a! ) .
(q ! ,a! ,k) : (q,a,q ! ,a! ,k)∈δ

Representamos ← como -1 y → como 1.

IIC2213 – Introducción a la Complejidad Computacional 74 / 111


Otros problemas NP-completos

Notación
Si L es completo para C, decimos que L es C-completo.

¿Cómo podemos demostrar que un problema L es NP-completo?


! Nos basta con demostrar que L ∈ NP y que existe una
reducción polinomial de SAT a L.

Antes de utilizar esta técnica tenemos que pensar que versión de


SAT usar.
! En general es más fácil utilizar fórmulas en alguna forma
normal.

IIC2213 – Introducción a la Complejidad Computacional 75 / 111


Otros problemas NP-completos

Una versión de SAT muy útil:

CNF-SAT = {ϕ | ϕ es una fórmula en CNF y ϕ es satisfacible}.

¿Es CNF-SAT NP-completo?


! Podemos modificar la demostración del Teorema de Cook
para mostrar esto.

Teorema
CNF-SAT es NP-completo.

IIC2213 – Introducción a la Complejidad Computacional 76 / 111


Pero algunas versiones de SAT son más simples . . .

Otra versión de SAT:

DNF-SAT = {ϕ | ϕ es una fórmula en DNF y ϕ es satisfacible}.

¿Es DNF-SAT NP-completo?


! ¿Podemos modificar la demostración del Teorema de Cook
para mostrar esto?

Teorema
DNF-SAT está en PTIME.

IIC2213 – Introducción a la Complejidad Computacional 77 / 111


Otros problemas NP-completos

Ahora podemos usar la idea inicial para mostrar que otros


problemas son NP-completos.

Algunos ejemplos:

! 3-CNF-SAT = {ϕ | ϕ es una fórmula en CNF que contiene


tres literales por cláusula y es satisfacible}.
! 3-COL = {G | G es una grafo 3-coloreable}.
! PRO-ENT = {(A, #b) | A es una matriz de enteros, #b es un
vector de enteros y existe un vector de enteros #x tal que
A#x ≤ #b}.

IIC2213 – Introducción a la Complejidad Computacional 78 / 111


Conjetura de Cook

Conjetura de Cook
PTIME ! NP

Si la conjetura es cierta:
! No existe un algoritmo eficiente para resolver SAT.
! Tampoco existen algoritmos eficientes para resolver ninguno
de los problemas NP-completos.

¿Cuán fundamental es este problema?

IIC2213 – Introducción a la Complejidad Computacional 79 / 111


Conjetura de Cook

Desde la página del Clay Mathematics Institute:

“In order to celebrate mathematics in the new millennium,


The Clay Mathematics Institute of Cambridge, Massachusetts
(CMI) has named seven Prize Problems. The Scientific Advisory
Board of CMI selected these problems, focusing on important
classic questions that have resisted solution over the years. The
Board of Directors of CMI designated a $7 million prize fund
for the solution to these problems, with $1 million allocated to
each.”

IIC2213 – Introducción a la Complejidad Computacional 80 / 111

También podría gustarte