Executando verificação de segurança...
6

P vs NP

são problemas que podem ser resolvidos por algoritmos polinomiais, onde os classificamos na classe de problemas polinomiais(P). Exemplos desses algoritmos:

  • Algoritmos com pesquisa binária (complexidade O(log n)).

  • Pesquisa sequencial (complexidade O(n)).

  • Ordenação por isenção (complexidade O(n²)).

  • Multiplicação de matrizes (complexidade O(n³)).

Então os algoritmos polinomiais sempre tem sua complexidade na função de complexidade:

  • O(p(n)), onde p(n) é um polinômio.

Por outro lado, temos problemas em que sua solução requer muito tempo e recursos computacionais, chamados de problemas de tempo polinomial não determinístico(NP). Exemplos desses problemas:

  • Subconjunto de um conjunto (complexidade O(2^n)).

  • Problema do caixeiro viajante (complexidade O(n!)).

Para esses problemas temos sua complexidade em função de:

  • O(), c > 1.

Trivialmente P é um subconjunto de NP, embora ainda não seja provado, muitos especialistas acreditam que P é um subconjunto próprio de NP.

O problema "P versus NP" é o principal problema aberto da Ciência da Computação. Possui também enorme relevância em campos que vão desde a Engenharia até a criptografia aplicada aos serviços militares e às transações comerciais e financeiras via Internet.

Se a resposta for P≠NP, as coisas ficariam mais ou menos na mesma, mas se for P=NP, estão muitas coisas mudariam.

Para resolver algoritmos da classe NP usamos alternativas á força bruta, como solução gulosa ou programação dinâmica. Toda nossa criptografia atual, com exceção da computação quântica, é baseada em P≠NP, ou seja, para quebrar a criptografia seria muito difícil, uma vez que não temos algoritmos tão eficientes. Mas caso P=NP temos então algoritmos Polinomiais para problemas NP, então poderíamos resolver, em pouco tempo, problemas como do caixeiro viajante, para os quais hoje temos algoritmos muito trabalhosos, isso seria benéfico para a indústria, as comunicações e o desenvolvimento, em geral. Mas senhas criptográficas seriam decifradas com muita facilidade, e muitas contas bancárias e comunicações cifradas ficariam expostas. Então para fundamentar a segurança de suas senhas a criptografia precisaria arquitetá-las na resolução de algum problema realmente intratável(problema em que é impossível construir um algoritmo que sempre responda sim ou não, ele pode não responder ou responder errado), porque todos os da classe NP teriam passado à categoria de eficientes.

Para provar que P=NP deve-se construir um algoritmo com respostas ótimas, como o do método de força bruta, para os problemas NP-completos, de tal forma que se para qualquer um dos tais problemas se encontrar um algoritmo polinomial, então todos eles seriam resolvidos em tempo polinomial e, além disso, a classe NP seria rebaixada a P.

Carregando publicação patrocinada...