Escolar Documentos
Profissional Documentos
Cultura Documentos
Completude
Jeane Melo
Roteiro
Conceitos Básicos
Exemplos
Conceitos Básicos
Há muitos problemas com aplicações práticas
importantes para os quais não se conhece
algoritmos polinomiais. Tais problemas são
ditos Intratáveis.
Problemas
intratáveis
polinomial exponencial
Conceitos Básicos
Um problema é dito tratável se ele é
solúvel por um algoritmo eficiente.
Dizemos que estes problemas pertencem
a classe P.
Um problema é dito ser não-
deterministicamente polinomial, ou seja,
pertence a classe NP, se uma solução
proposta pode ser verificada como válida
em tempo polinomial.
Conceitos Básicos
Conceitos Básicos
Esses problemas são ditos NP-Completos
ou intratáveis.
Exemplos:
Localização de recursos em sistemas
distribuídos
Gerenciamento de memória (fragmentação)
Caxeiro Viajante
Análise
Nas análises de algoritmos feitas até o momento, nos
abstraíamos das constantes aditivas e multiplicativas,
utilizando conceitos formais para expressarmos a
complexidade (f), (f) e (f).
Caxeiro Viajante
(Travelling Salesman
Problem)
Partindo de uma cidade
qualquer, encontrar o
caminho mais curto que
passe por cada cidade
apenas uma vez,
voltando à cidade inicial.
Conceitos Básicos
Uma forma conveniente de estudar
complexidade é considerar problemas cujo
resultado da computação seja sim ou não,
problemas de decisão.
Podemos reescrever um problema que
não é de decisão, de modo que o
resultado seja sim ou não.
Conceitos Básicos
“Se um problema P não é de decisão, então
existe um problema de decisão que ajudará a
resolver o problema P em tempo igual ao
tempo de resolver o problema de decisão
correspondente, a menos de um fator
polinomial.”
Conceitos Básicos
Exemplo (Caxeiro Viajante):
Dados um conjunto de cidades C = {c1, c2,
...cn}, uma distância d(ci, cj) para cada par de
cidades ci, cj em C, e uma constante k. Existe
um roteiro para todas as cidades em C cujo
comprimento total seja menor ou igual a k?
Reduções
Reduções são uma forma de mostrar que
dois problemas são essencialmente
idênticos. Um algoritmo eficiente para um
problema implica em um algoritmo
eficiente para o outro.
Conceitos Básicos
Redução de Problemas (Idéia básica da redução)
Problema A: Problema B :
• Instancia de entrada: IA • Instancia de entrada: IB
• Solucao: SA • Solucao: SB
BuscaND(A,x);
(* Fase de construcao *)
j ← Escolha(1, . . . , n);
(* Fase de verificacao *)
Se A[j ] = x entao retornar Aceitar;
senão retornar Rejeitar;
Conceitos Básicos
Definição: P é o conjunto de problemas
que podem ser resolvidos por um
algoritmo determinístico polinomial.
Definição: N P é o conjunto de todos os
problemas que podem ser resolvidos por
um algoritmo não-determinístico
polinomial.
Conceitos Básicos
P=NP?
Os algoritmistas acham que é falsa.
Resposta correta vale 1 milhão de dólares (Clay
Mathematics Institute, Cambridge University)
Provas frustradas em:
http://www.win.tue.nl/~gwoegi/P-versus-NP.htm
Conceitos Básicos
Como mostrar que a proposição é falsa ?
Encontrar um problema A em N P e mostrar que
nenhum algoritmo determinístico polinomial pode
resolver A.
Como mostrar que a proposição é verdadeira ?
Mostrar que para todo problema B em N P existe um
algoritmo determinístico polinomial que o resolve.
Conceitos Básicos
Será que existe um problema A em NP tal que, se A
está em P então todo problema em NP também está
em P ?
Caixeiro Viajante
Optimalidade
Robustez
Eficiencia
Completude das soluções
Conceitos Básicos
Algoritmos de aproximação (solução pode ser ou não
ótima)
Algoritmos que tratam problemas NPC em tempo
polinomial na media (Comprometem a eficiência)
Algoritmos que funcionam para casos especiais da
entrada (Comprometem a “completude”.)
Algoritmos exponenciais que trabalham bem para
pequenas entradas (backtracking).
Sugestões de leitura
http://www.ime.usp.br/~pf/analise_de_algo
ritmos/aulas/NPcompleto.html
http://www.dca.fee.unicamp.br/~ting/Cours
es/ea869/faq1.html
http://www.inf.ufrgs.br/~mrpritt/lib/exe/fetch
.php?media=cmp155:ca-notas-2561.pdf
(cap 11)
Cormen – Capítulo 34
Referências
Grafos e Algoritmos Computacionais –
Jayme Luiz Szwarcfiter (editora campus)
(UFRJ)
Cormen
Slides e figuras: Prof. Katia Guimarães –
Cin-UFPE