p np npcompleto
TRANSCRIPT
-
8/15/2019 P NP NPCompleto
1/21
P, NP e NP-Completo
Andr é Vignatti
DINF- UFPR
-
8/15/2019 P NP NPCompleto
2/21
Problemas Dif ı́ceis, Problemas F áceis
O mundo est á cheio de problemas de busca.
Alguns podem ser resolvidos ecientemente, outrosparecem ser muito dif ı́ceis.
Isto é descrito na tabela a seguir:
Problemas dif ı́ceis Problemas f áceis3SAT 2SAT, HORN SAT
CAIXEIRO VIAJANTE ÁRVORE GERADORA M ÍNIMALONGEST PATH SHORTEST PATH3D MATCHING BIPARTITE MATCHING
MOCHILA MOCHILA fracion ária
INDEPENDENT SET INDEPENDENT SET em árvoresZERO-ONE EQUATIONS ZOE fracion ário
RUDRATA PATH EULER PATHMAXIMUM CUT MINIMUM CUT
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
3/21
Problemas Dif ı́ceis, Problemas F áceis
Na direita temos problemas que s ão resolvidos ecientemente .
À esquerda, temos “nozes duras” que escaparam da soluç ãoeciente durante d écadas ou s éculos.
Os problemas à direita s ão resolvidos por algoritmosespecializados e diversos: programaç ão din âmica, uxo derede, busca em grafo, gulosos.
Estes problemas s ão f áceis por v árias raz ões diferentes.
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
4/21
Problemas Dif ı́ceis, Problemas F áceis
Em contraste, os problemas da esquerda s ˜ ao todos difı́ceispela mesma e ´ unica raz ˜ ao :
No fundo, eles são todos o mesmo problema , apenas com
diferentes disfarces !
Em outras palavras...Todos s ão equivalentes : cada um pode ser reduzido aqualquer outro e vice-versa.
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
5/21
NP (a.k.a Problemas de Busca)
É hora de introduzir alguns conceitos importantes .
Lembrando: um problema de busca é aquele onde umasoluç ão proposta pode ser rapidamente vericado quanto àcorreç ão.
Denotamos a classe de todos os problemas de busca comoNP .
Deniç ão: Classe NP
A classe NP é a classe de TODOS os problemas de busca .
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
6/21
P
Muitos problemas NP (i.e, de busca) podem ser resolvidos em
tempo polinomial .
Nesses casos, existe algoritmo que recebe uma inst ância I e temtempo de execuç ão polinomial em funç ão de |I | .
Se I tem soluç ão, o algoritmo a retorna, caso contr ário oalgoritmo diz que n ão h á soluç ão.
Deniç ão: Classe P
A classe P é a classe de TODOS os problemas de busca ques ão resolvidos em tempo polinomial.
Os problemas de busca no lado direito da tabela est ão em P.
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
7/21
P ⊆ NP
P ⊆ NPA deniç ão de P é igual a NP , mas P tem uma restriç ão a mais(deve ser de tempo polinomial)
Isso faz com que P seja uma sub-classe (talvez igual) deNP .Ou seja, P ⊆ NP .
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
8/21
Por que P e NP?
P vem de “polynomial time”
NP signica “nondeterministic polynomial time”, um termo queremonta às raı́zes da teoria da complexidade
Abre-par ênteses: Algoritmo N ão Determinı́sticoUm algoritmo n ão determin ı́stico é um tipo especial ( e bastante irreal ) dealgoritmo que “adivinha corretamente” em todos os passos.
Assim, NP s ão os problemas cuja soluç ão pode ser encontrada evericada em tempo polinomial por um algoritmo n ão determinı́stico.
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
9/21
Por que P e NP?
Aliás, a deniç ão original de NP (e seu uso mais comum at éhoje ) não foi para problemas de busca, mas para problemas dedecis ão :
Problemas de Decis ão:S ão perguntas algor ı́tmicas que podem ser respondidas porSIM ou N ˜ AO .
Exemplo:
“Existe atribuiç ão que satisfaz esta f órmula booleana?”
Isso reete uma realidade hist órica : na época, a teoria daNP-completude era desenvolvida por pesquisadoresinteressados em linguagens formais e l ógica, onde problemasde decis ão s ão de import ância central.
A. Vignatti P, NP e NP-Completo
-
8/15/2019 P NP NPCompleto
10/21
P = NP?
Existem problemas de busca que N ˜ AO podem ser resolvidoem tempo polinomial?
Em outras palavras...P = NP?
A maioria dos pesquisadores de algoritmos acha que sim:
É difı́cil acreditar que uma busca de tempo exponencial
sempre possa ser evitada ,
ou que um simples truque vai desfazer a diculdade detodos estes problemas dif ı́ceis
A. Vignatti P, NP e NP-Completo
P NP?
-
8/15/2019 P NP NPCompleto
11/21
P = NP?
Os matem áticos tamb ém acreditam que P = NP:
Encontrar uma prova para uma proposiç ão matem ática éum problema de busca e, portanto, est á em NP .
Quando uma prova é escrita em detalhes, ela pode servericada de forma mec ânica , linha por linha, por umalgoritmo eciente.
Ent ão, se P = NP, haveria um m étodo eciente para provarqualquer teorema, portanto, eliminando a necessidade dematem áticos !
A. Vignatti P, NP e NP-Completo
P NP?
-
8/15/2019 P NP NPCompleto
12/21
P = NP?
Somando tudo, h á várias raz ões pelas quais acredita-se a P =NP.
No entanto, provar isso se mostrou extremamente difı́cil
Ningu ém conseguiu at é hoje , a cada 6 meses sai umaprova (errada) disso.
É um dos enigmas mais profundos e importantes nãoresolvidos da matem ática.
A. Vignatti P, NP e NP-Completo
R d ˜ t
-
8/15/2019 P NP NPCompleto
13/21
Reduç oes, novamente
A maioria das pessoas acredita que P = NP
Em quais evid ências elas se baseiam? (Al ém da discuss ãoinformal de antes)
Tal evidˆencia
´e fornecida por reduç
˜ oes .
As reduç ões demonstram que os problemas no lado esquerdoda tabela anterior s ão exatamente o mesmo problema .
Obviamente, eles são apresentados em diferentes formas , masno fundo s ão todos iguais.
A. Vignatti P, NP e NP-Completo
R d ˜ t
-
8/15/2019 P NP NPCompleto
14/21
Reduç oes, novamente
Ent ão, se resolvermos um deles em tempo polinomial,resolvemos todos os outros da tabela .
Mas n ão se trata somente dos problemas da tabela...
Além disso, usaremos reduç ões que mostram que taisproblemas s ão os problemas de busca mais difı́ceis em NP
Pare para pensar : eles s ão os problemas MAIS DIFÍCEIS ,englobam todos os outros. E s ão equivalentes entre si.
Os problemas mais dif ı́ceis de ser resolver:Se eles s ão “os mais dif ı́ceis” de NP e resolvermosecientemente somente um deles, ent ão resolvemosecientemente todos os problemas em NP.
A. Vignatti P, NP e NP-Completo
Reduc ões novamente
-
8/15/2019 P NP NPCompleto
15/21
Reduç oes, novamente
Para tentar entender essas coisas esquisitas , vamosespecializar a deniç ão de reduç ão para problemas de busca.
Reduç ões (para problemas NP)Uma reduç ˜ ao de um problema de busca A para um problemade busca B são dois algoritmos de tempo polinomial f e h
que:
f transforma qualquer inst ância I de A em uma inst ânciaf (I ) de B ,
h transforma qualquer soluç ão S de f (I ) de volta em umasoluç ão h (S ) de I ,
Se f (I ) não tem soluç ão, ent ão I tamb ém n ão tem.
A. Vignatti P, NP e NP-Completo
Reduc ões novamente
-
8/15/2019 P NP NPCompleto
16/21
Reduç oes, novamente
A. Vignatti P, NP e NP-Completo
NP Completo
-
8/15/2019 P NP NPCompleto
17/21
NP-Completo
Agora podemos nalmente denir a classe dos problemas maisdifı́ceis da busca :
Classe NP-Completo
Um problema de busca é NP-completo se todos os problemas
de busca se reduzem a ele.
Esta é uma exig ência muito forte !
Para um problema ser NP-completo, ele deve poderresolver todos os problemas de busca do mundo!
A. Vignatti P, NP e NP-Completo
NP Completo
-
8/15/2019 P NP NPCompleto
18/21
NP-Completo
Seria muito not ável e muito impressionante se tais problemas
existissem!
DE FATO ELES EXISTEM : os problemas da coluna esquerdada tabela que vimos anteriormente s ão os exemplos maisfamosos.
Objetivos da disciplina a partir de agora
Nas pr óximas aulas, nosso objetivo ser á:
1
Ver as reduç ˜ oes entre esses problemas dif ı́ceis.2 Entender como todos os problemas de busca se reduzem
a eles.
A. Vignatti P, NP e NP-Completo
As Duas Maneiras de Usar Reduc ões
-
8/15/2019 P NP NPCompleto
19/21
As Duas Maneiras de Usar Reduç oes
Até agora o prop ósito de uma reduç ão de um problema A paraB foi simples e honrosa :
Sabemos como resolver B de forma eciente, e queremosusar esse conhecimento para resolver A .
De certa forma, B é mais gen érico (mais dif ı́cil) que A .
No entanto, as reduç ões de A para B servem tamb ém para umobjetivo mais perverso :
Sabemos que A é dif́ıcil, e n ós usamos a reduç ão paraprovar que B é dif́ıcil tamb ém !
A. Vignatti P, NP e NP-Completo
Algumas Excec ões
-
8/15/2019 P NP NPCompleto
20/21
Algumas Exceç oes
FATORAÇ ÃO:
Encontre todos os fatores primos de um n úmero inteiro dado.
A diculdade de FATORAÇ ÃO é de uma natureza diferente dosoutros problemas de busca difı́ceis.
Por exemplo, ningu ém acredita que FATORAÇ ÃO sejaNP-Completo .
Uma diferença importante é que neste problema n ão temos a
frase (agora j á familiar) “ou diga que n ˜ ao existe” .
Um n úmero SEMPRE pode ser fatorado em n´ umeros primos.
A. Vignatti P, NP e NP-Completo
Algumas Excec ões
-
8/15/2019 P NP NPCompleto
21/21
Algumas Exceç oes
Outra diferença (possivelmente relacionada): FATORAÇ ÃOsucumbe ao poder da computaç ão qu ântica , enquanto SAT,TSP e as outros problemas NP-Completos at é agora n ão...
Na Pr ática:A grande maioria dos problema em NP que se conhece est ãoem P ou NP-Completo .
Not áveis exceç ões (al ém da fatoraç ão): Isomorsmo deGrafos , Equilı́brio de Nash .
A. Vignatti P, NP e NP-Completo