Classes de problemas p, np,np completo e np-difícil
-
Upload
guilherme-coelho -
Category
Technology
-
view
667 -
download
4
description
Transcript of Classes de problemas p, np,np completo e np-difícil
![Page 1: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/1.jpg)
Complexidade de algoritmos
Trabalho apresentado à disciplina de Algoritmo e Estruturas de Dados, sob orientação da Profa. Ms. Eng. Elaine Cecília Gatto.
![Page 2: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/2.jpg)
Apresentação
Alunos do curso de Engenharia da
Computação:
Erick A. B. Pereira
Luiz Guilherme M. Coelho
![Page 3: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/3.jpg)
Classes de Problemas P,
NP,NP-Completo e NP-Difícil
Objetivo de estudar a complexidade do
problema (tempo gasto para ele).
Um limite inferior de um de complexidade
de um problema é o resultado teórico
determinante não ser possível a
construção de um algoritmo para a
solução de um problema.
![Page 4: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/4.jpg)
Classes de Problemas P,
NP,NP-Completo e NP-Difícil
Limite superior de complexidade de um
problema destaca o melhor algoritmo
para a resolução.
Se ambos os limites são iguais, o
problema está fechado (quanto a
complexidade), chamada de
complexidade mínima de problema Ω(n.
logn).
![Page 5: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/5.jpg)
Algoritmos polinomiais
Para cada problema deve haver
algoritmos polinomiais, algoritmos que ao
receber uma instância consome o
mínimo de tempo para a ser tratável,
sendo considerados rápidos.
![Page 6: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/6.jpg)
Algoritmos polinomiais
Para o tempo máximo e para N o valor
da instância de 100N4 + 300N2 + 5000.
Também aceito o algoritmo polinomial
com valor máximo de tempo em
200N9 log N unidades de tempo, por
exemplo (pois 200N9 log N < 200N10).
![Page 7: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/7.jpg)
Algoritmos de complexidade
exponencial
Esta complexidade busca eliminar uma
busca exaustiva para a solução de
problemas com números exponenciais,
‘soluções parciais’ formatadas para uma
busca em uma árvore completa.
Todo algoritmo que apenas apresentar
soluções em algoritmos exponenciais
deve ser chamado de intratável.
![Page 8: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/8.jpg)
Algoritmos de complexidade
exponencial
Levando tempo proporcional a 𝑛2 para
uma entrada de tamanho n. Suponha um
problema cujo o tamanho máximo de
pode ser resolvido num tempo t na
máquina mais lenta é 𝑥3 ∶ 𝑥3 = 𝑡.
Suponha a máquina mais lenta, ou
equivalente a um tempo de 10t.
𝑦2 = 10𝑡 ∴ 𝑦2 = 10 (𝑥3)2 ∴ 𝑦 = 𝑥3 10
![Page 9: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/9.jpg)
Tipos de soluções
Alguns dos algoritmos podem apresentar
tal quais esses argumentos para as
respostas de problemas decisórios “SIM”
ou “Não”, de localização uma condição
e otimização uma solução de qualidade.
Os algoritmos de localização ou
otimização conseguem se converter para
um de decisão.
![Page 10: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/10.jpg)
Classes de problemas
P, NP e NP-completo, são definidas para
problemas de decisão.
P exclusivamente para algoritmos
determinísticos em tempo polinomial,
enquanto NP para problemas sem
resolução neste termo.
![Page 11: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/11.jpg)
Algoritmos
Tais funções escolhe(S), escolha de um
elemento do conjunto S, e instruções de
falha e sucesso, não deve ser
encontradas dentro de um algoritmo.
Sua noção, formalizada pela
padronização do modelo na
computação da máquina de Turning.
![Page 12: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/12.jpg)
Algoritmos
Os algoritmos são programas voltados
para a máquina de MTD (Máquina de
Turning determinística) que sempre para,
assim como algoritmos não
determinísticos.
![Page 13: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/13.jpg)
Teorema 6.3.1
Se II ∈ NP, então II pode ser resolvido por algoritmo determinístico de complexidade O (𝑝(𝑛)2), para algum polinômio p(n).
Um problema II é dito NP-completo se II ∈ NP e, para qualquer problema II ∈ NP, II’ II.
Assim, identificam-se como NP-completos os problemas mais difíceis entre os problemas de NP.
![Page 14: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/14.jpg)
Proposição 6.3.1
Se II1 é NP-completo e II1 II2, então II2 é
NP-completo.
Essa proposição exemplifica a maneira
mais usada para a exibição de um
problema NP-completo.
![Page 15: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/15.jpg)
Teorema 6.3.2 (Cook)
O problema de satisfação de um NP-
completo.
Um algoritmo é dito de complexidade
pseudopolinomial se sua complexidade é
polinomial para o tamanho da entrada,
quando esta é codificada em unário. Isto
é, a complexidade é polinomial no valor
da entrada (e não no tamanho da
entrada).
![Page 16: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/16.jpg)
Teorema 6.3.2 (Cook)
Um problema NP-completo que admite
algoritmo pseudopolinomial é NP-
completo-fraco.
Há problemas para os quais a existência
de algoritmos pseudopolinomial implica
P=NP: são os NP-completos-fortes.
![Page 17: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/17.jpg)
Teorema 6.3.2 (Cook)
Um problema II é NP-difícil para qualquer II’∈ NP, II’ II. Os problemas NP-difíceis não
serão resolvíveis deterministicamente em
tempo polinomial a menos que P=NP.
Esses problemas são potencialmente mais
difíceis que os NP-completos.
![Page 18: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/18.jpg)
Agradecimentos
A todos e a profª Ms Eng. Elaine Cecília
Gatto.
Alunos de Engenharia da Computação.
![Page 19: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/19.jpg)
Referências AGUIAR, M. S. D. Análise Formal da Complexidade
de Algoritmos Genéticos: 4 Algoritmos Aproximativos. Lume Repertório Digital, [1998?]. Disponível em: <http://www.lume.ufrgs.br/bitstream/handle/10183/25941/000227606.pdf?sequence=1>. Acesso em: 29 nov. 2013.
FEOFILOFF, P. Introdução informal à complexidade de problemas: Algoritmos polinomiais. Instituto de Matemática e Estática, 2013. Disponível em: <http://www.ime.usp.br/~pf/analise_de_algoritmos/aulas/NPcompleto.html >. Acesso em: 29 nov. 2013.
![Page 20: Classes de problemas p, np,np completo e np-difícil](https://reader031.fdocuments.net/reader031/viewer/2022013102/559313c71a28ab71188b47a3/html5/thumbnails/20.jpg)
Referências
TOSCANI, L. V.; VELOSO, P. A. S.
Complexidade de algoritmos. 3ª ed. [São
Paulo]: BOOKMAN COMPANHIA EDITORA,
[2012?].