Você está na página 1de 21

P, NP e NP-Completo

Andre Vignatti
DINF- UFPR


Problemas Difceis, Problemas Faceis
O mundo esta cheio de problemas de busca.
Alguns podem ser resolvidos eficientemente, outros
parecem ser muito difceis.
Isto e descrito na tabela a seguir:
Problemas difceis
3SAT
CAIXEIRO VIAJANTE
LONGEST PATH
3D MATCHING
MOCHILA
INDEPENDENT SET
ZERO-ONE EQUATIONS
RUDRATA PATH
MAXIMUM CUT

Problemas faceis
2SAT, HORN SAT

ARVORE
GERADORA MINIMA
SHORTEST PATH
BIPARTITE MATCHING

MOCHILA fracionaria

INDEPENDENT SET em arvores

ZOE fracionario
EULER PATH
MINIMUM CUT

A. Vignatti

P, NP e NP-Completo


Problemas Difceis, Problemas Faceis

resolvidos eficientemente.
Na direita temos problemas que sao

A` esquerda, temos nozes duras que escaparam da solucao

eficiente durante decadas


ou seculos.
resolvidos por algoritmos
Os problemas a` direita sao
dinamica,

especializados e diversos: programacao


fluxo de
rede, busca em grafo, gulosos.
faceis

diferentes.
Estes problemas sao
por varias
razoes

A. Vignatti

P, NP e NP-Completo


Problemas Difceis, Problemas Faceis

todos difceis
Em contraste, os problemas da esquerda sao

pela mesma e unica

razao:
todos o mesmo problema, apenas com
No fundo, eles sao
diferentes disfarces!

Em outras palavras...
equivalentes: cada um pode ser reduzido a
Todos sao
qualquer outro e vice-versa.

A. Vignatti

P, NP e NP-Completo

NP (a.k.a Problemas de Busca)


E hora de introduzir alguns conceitos importantes.
Lembrando: um problema de busca e aquele onde uma
proposta pode ser rapidamente verificado quanto a`
solucao

correcao.
Denotamos a classe de todos os problemas de busca como
NP.
Classe NP
Definicao:
A classe NP e a classe de TODOS os problemas de busca.

A. Vignatti

P, NP e NP-Completo

P
Muitos problemas NP (i.e, de busca) podem ser resolvidos em
tempo polinomial.

Nesses casos, existe algoritmo que recebe uma instancia


I e tem
polinomial em funcao
de |I|.
tempo de execucao
o algoritmo a retorna, caso contrario

Se I tem solucao,
o
ha solucao.

algoritmo diz que nao

Classe P
Definicao:
A classe P e a classe de TODOS os problemas de busca que
resolvidos em tempo polinomial.
sao
em P.
Os problemas de busca no lado direito da tabela estao

A. Vignatti

P, NP e NP-Completo

P NP

P NP
de P e igual a NP, mas P tem uma restricao
a mais
A definicao
(deve ser de tempo polinomial)
Isso faz com que P seja uma sub-classe (talvez igual) de
NP.
Ou seja, P NP.

A. Vignatti

P, NP e NP-Completo

Por que P e NP?

P vem de polynomial time


NP significa nondeterministic polynomial time, um termo que
` razes da teoria da complexidade
remonta as

Determinstico
Abre-parenteses:
Algoritmo Nao
determinstico e um tipo especial (e bastante irreal) de
Um algoritmo nao
algoritmo que adivinha corretamente em todos os passos.
os problemas cuja solucao
pode ser encontrada e
Assim, NP sao
determinstico.
verificada em tempo polinomial por um algoritmo nao

A. Vignatti

P, NP e NP-Completo

Por que P e NP?


a definicao
original de NP (e seu uso mais comum ate
Alias,
foi para problemas de busca, mas para problemas de
hoje) nao

decisao:

Problemas de Decisao:
perguntas algortmicas que podem ser respondidas por
Sao

SIM ou NAO.
Exemplo:
que satisfaz esta formula

Existe atribuicao
booleana?

Isso reflete uma realidade historica:


na epoca,
a teoria da
NP-completude era desenvolvida por pesquisadores

interessados em linguagens formais e logica,


onde problemas
sao
de importancia

de decisao
central.
A. Vignatti

P, NP e NP-Completo

P 6= NP?
podem ser resolvido
Existem problemas de busca que NAO
em tempo polinomial?
Em outras palavras...
P 6= NP?
A maioria dos pesquisadores de algoritmos acha que sim:
difcil acreditar que uma busca de tempo exponencial
E
sempre possa ser evitada,
ou que um simples truque vai desfazer a dificuldade de
todos estes problemas difceis

A. Vignatti

P, NP e NP-Completo

P 6= NP?

acreditam que P 6= NP:


Os matematicos
tambem
matematica

Encontrar uma prova para uma proposicao


e
um problema de busca e, portanto, esta em NP.
Quando uma prova e escrita em detalhes, ela pode ser

verificada de forma mecanica,


linha por linha, por um
algoritmo eficiente.

se P = NP, haveria um metodo

Entao,
eficiente para provar
qualquer teorema, portanto, eliminando a necessidade de

matematicos!

A. Vignatti

P, NP e NP-Completo

P 6= NP?

pelas quais acredita-se a P 6=


Somando tudo, ha varias
razoes
NP.
No entanto, provar isso se mostrou extremamente difcil
conseguiu ate hoje, a cada 6 meses sai uma
Ninguem
prova (errada) disso.

E um dos enigmas mais profundos e importantes nao

resolvidos da matematica.

A. Vignatti

P, NP e NP-Completo


Reducoes,
novamente
A maioria das pessoas acredita que P 6= NP

da discussao

Em quais evidencias
elas se baseiam? (Alem
informal de antes)

Tal evidencia
e fornecida por reducoes.
demonstram que os problemas no lado esquerdo
As reducoes
exatamente o mesmo problema.
da tabela anterior sao
apresentados em diferentes formas, mas
Obviamente, eles sao
todos iguais.
no fundo sao

A. Vignatti

P, NP e NP-Completo


Reducoes,
novamente
se resolvermos um deles em tempo polinomial,
Entao,
resolvemos todos os outros da tabela.
se trata somente dos problemas da tabela...
Mas nao
disso, usaremos reducoes
que mostram que tais
Alem
os problemas de busca mais difceis em NP
problemas sao
os problemas MAIS DIFICEIS,
Pare para pensar: eles sao
equivalentes entre si.
englobam todos os outros. E sao
Os problemas mais difceis de ser resolver:
os mais difceis de NP e resolvermos
Se eles sao
resolvemos
eficientemente somente um deles, entao
eficientemente todos os problemas em NP.
A. Vignatti

P, NP e NP-Completo


Reducoes,
novamente
Para tentar entender essas coisas esquisitas, vamos
de reducao
para problemas de busca.
especializar a definicao
(para problemas NP)
Reducoes
de um problema de busca A para um problema
Uma reducao
dois algoritmos de tempo polinomial f e h
de busca B sao
que:

f transforma qualquer instancia


I de A em uma instancia
f (I) de B,
S de f (I) de volta em uma
h transforma qualquer solucao
h(S) de I,
solucao
tem solucao,
entao
I tambem
nao
tem.
Se f (I) nao
A. Vignatti

P, NP e NP-Completo


Reducoes,
novamente

Algoritmo para A
Soluo S de f(I)

Instncia I

Instncia f(I)
f

Algoritmo
para B
Sem soluo para f(I)

A. Vignatti

P, NP e NP-Completo

Soluo h(S)
de I

Sem soluo
para I

NP-Completo
Agora podemos finalmente definir a classe dos problemas mais
difceis da busca:
Classe NP-Completo
Um problema de busca e NP-completo se todos os problemas
de busca se reduzem a ele.

Esta e uma exigencia


muito forte!
Para um problema ser NP-completo, ele deve poder
resolver todos os problemas de busca do mundo!

A. Vignatti

P, NP e NP-Completo

NP-Completo

Seria muito notavel


e muito impressionante se tais problemas
existissem!
DE FATO ELES EXISTEM: os problemas da coluna esquerda
os exemplos mais
da tabela que vimos anteriormente sao
famosos.
Objetivos da disciplina a partir de agora

Nas proximas
aulas, nosso objetivo sera:
1

Ver as reducoes
entre esses problemas difceis.

Entender como todos os problemas de busca se reduzem


a eles.

A. Vignatti

P, NP e NP-Completo


As Duas Maneiras de Usar Reducoes

de um problema A para
Ate agora o proposito
de uma reducao
B foi simples e honrosa:
Sabemos como resolver B de forma eficiente, e queremos
usar esse conhecimento para resolver A.

De certa forma, B e mais generico


(mais difcil) que A.
de A para B servem tambem
para um
No entanto, as reducoes
objetivo mais perverso:
usamos a reducao
para
Sabemos que A e difcil, e nos

provar que B e difcil tambem!

A. Vignatti

P, NP e NP-Completo


Algumas Excecoes

FATORAC
AO:
Encontre todos os fatores primos de um numero
inteiro dado.

e de uma natureza diferente dos


A dificuldade de FATORAC
AO
outros problemas de busca difceis.
seja
acredita que FATORAC
Por exemplo, ninguem
AO
NP-Completo.
temos a
Uma diferenca importante e que neste problema nao
existe.
frase (agora ja familiar) ou diga que nao
Um numero
SEMPRE pode ser fatorado em numeros
primos.

A. Vignatti

P, NP e NP-Completo


Algumas Excecoes

Outra diferenca (possivelmente relacionada): FATORAC


AO
quantica,

sucumbe ao poder da computacao


enquanto SAT,

TSP e as outros problemas NP-Completos ate agora nao...

Na Pratica:

A grande maioria dos problema em NP que se conhece estao


em P ou NP-Completo.

(alem
da fatoracao):

Notaveis
excecoes
Isomorfismo de
Grafos, Equilbrio de Nash.

A. Vignatti

P, NP e NP-Completo

Você também pode gostar