p np npcompleto

Upload: erick-roseira

Post on 05-Jul-2018

213 views

Category:

Documents


0 download

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