SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Complexidade
de algoritmos
Trabalho apresentado à
disciplina de Algoritmo e
Estruturas de Dados, sob
orientação da Profa. Ms.
Eng. Elaine Cecília Gatto.
Apresentação
 Alunos do curso de Engenharia da
Computação:
 Erick A. B. Pereira
 Luiz Guilherme M. Coelho
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.
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).
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.
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).
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.
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
Agradecimentos
 A todos e a profª Ms Eng. Elaine Cecília
Gatto.
 Alunos de Engenharia da Computação.
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/1018
3/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_algoritmo
s/aulas/NPcompleto.html >. Acesso em: 29 nov.
2013.
Referências
 TOSCANI, L. V.; VELOSO, P. A. S.
Complexidade de algoritmos. 3ª ed. [São
Paulo]: BOOKMAN COMPANHIA EDITORA,
[2012?].

Más contenido relacionado

La actualidad más candente

Análise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasAnálise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasDiego Marek
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilJaffer Veronezi
 
Processo decisório e resoluçao de problema (6)
Processo decisório e resoluçao de problema (6)Processo decisório e resoluçao de problema (6)
Processo decisório e resoluçao de problema (6)Alexandre Pereira
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de AlgoritmosAdilmar Dantas
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasDelacyr Ferreira
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de TempoArthur Emanuel
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Júlio Rocha
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaVictor Hazin da Rocha
 
Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Vitor Hugo Melo Araújo
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithmsRajendran
 

La actualidad más candente (20)

Análise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemasAnálise, projeto e implementação de sistemas
Análise, projeto e implementação de sistemas
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Processo decisório e resoluçao de problema (6)
Processo decisório e resoluçao de problema (6)Processo decisório e resoluçao de problema (6)
Processo decisório e resoluçao de problema (6)
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Análise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de RecorrênciasAnálise de Algoritmos - Solução de Recorrências
Análise de Algoritmos - Solução de Recorrências
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação Indireta
 
Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)Aula 12 – Sistema de Numeração (Conversão de Bases)
Aula 12 – Sistema de Numeração (Conversão de Bases)
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 

Destacado

Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NPOrlando Junior
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPDelacyr Ferreira
 
Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Bianca Dantas
 
Análise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de GrafosAnálise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de GrafosDelacyr Ferreira
 
Análise de Algoritmos - Programação Dinâmica
Análise de Algoritmos - Programação DinâmicaAnálise de Algoritmos - Programação Dinâmica
Análise de Algoritmos - Programação DinâmicaDelacyr Ferreira
 
O caixeiro viajante é np completo
O caixeiro viajante é np completoO caixeiro viajante é np completo
O caixeiro viajante é np completoMarcelo Carvalho
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoDelacyr Ferreira
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallJohnnatan Messias
 
Algoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallAlgoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallJoao Silva
 
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...Otimização, dicas de implementação, como resolver problemas by Adriano Santan...
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...iPhoneDevBr
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoGabriel Albuquerque
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosDelacyr Ferreira
 
3 0 cap 003
3 0 cap 0033 0 cap 003
3 0 cap 003luisadr
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordGabriel Albuquerque
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalBianca Dantas
 
Algoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPAlgoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPMarcos Castro
 
AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)Johnnatan Messias
 
Pesquisa Operacional
Pesquisa OperacionalPesquisa Operacional
Pesquisa Operacionalmsleite100
 
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Johnnatan Messias
 
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docGestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docneyfds
 

Destacado (20)

Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NP
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Apresentacao mochila - parte 1
Apresentacao mochila - parte 1
 
Análise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de GrafosAnálise de Algoritmos - Conceitos de Grafos
Análise de Algoritmos - Conceitos de Grafos
 
Análise de Algoritmos - Programação Dinâmica
Análise de Algoritmos - Programação DinâmicaAnálise de Algoritmos - Programação Dinâmica
Análise de Algoritmos - Programação Dinâmica
 
O caixeiro viajante é np completo
O caixeiro viajante é np completoO caixeiro viajante é np completo
O caixeiro viajante é np completo
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
Caminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-WarshallCaminhos Mínimos: Dijkstra e Floyd-Warshall
Caminhos Mínimos: Dijkstra e Floyd-Warshall
 
Algoritmo de Floyd-Warshall
Algoritmo de Floyd-WarshallAlgoritmo de Floyd-Warshall
Algoritmo de Floyd-Warshall
 
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...Otimização, dicas de implementação, como resolver problemas by Adriano Santan...
Otimização, dicas de implementação, como resolver problemas by Adriano Santan...
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco Mínimo
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-Completos
 
3 0 cap 003
3 0 cap 0033 0 cap 003
3 0 cap 003
 
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-FordCaminho Mínimo em Grafos - Algoritmo de Bellman-Ford
Caminho Mínimo em Grafos - Algoritmo de Bellman-Ford
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
 
Algoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMPAlgoritmo de Knuth-Morris-Pratt - KMP
Algoritmo de Knuth-Morris-Pratt - KMP
 
AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)AI - Backtracking vs Depth-First Search (DFS)
AI - Backtracking vs Depth-First Search (DFS)
 
Pesquisa Operacional
Pesquisa OperacionalPesquisa Operacional
Pesquisa Operacional
 
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
Monografia: Framework Para Sistemas de Navegação de Veículos Aéreos Não Tripu...
 
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docGestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_doc
 

Similar a Classes de problemas p, np,np completo e np-difícil

Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude LoianeLoiane Groner
 
NP Completude - Loiane
NP Completude - LoianeNP Completude - Loiane
NP Completude - LoianeLoiane Groner
 
Análise de Complexidade em Algoritmos.pdf
Análise de Complexidade em Algoritmos.pdfAnálise de Complexidade em Algoritmos.pdf
Análise de Complexidade em Algoritmos.pdfLukasBernardo
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação DinâmicaOrlando Junior
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
Programacao Funcional em Java, Expressoes Lambda
Programacao Funcional em Java, Expressoes LambdaProgramacao Funcional em Java, Expressoes Lambda
Programacao Funcional em Java, Expressoes LambdaJuvncio1
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da ComputaçãoAlefe Variani
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmosPablo Silva
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2Nauber Gois
 
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptxEstudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptxHermanoPeixoto
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptssuserd654cb1
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Desigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesDesigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesCarlos Campani
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 

Similar a Classes de problemas p, np,np completo e np-difícil (20)

Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude Loiane
 
NP Completude - Loiane
NP Completude - LoianeNP Completude - Loiane
NP Completude - Loiane
 
Análise de Complexidade em Algoritmos.pdf
Análise de Complexidade em Algoritmos.pdfAnálise de Complexidade em Algoritmos.pdf
Análise de Complexidade em Algoritmos.pdf
 
Programação Dinâmica
Programação DinâmicaProgramação Dinâmica
Programação Dinâmica
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
Programacao Funcional em Java, Expressoes Lambda
Programacao Funcional em Java, Expressoes LambdaProgramacao Funcional em Java, Expressoes Lambda
Programacao Funcional em Java, Expressoes Lambda
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
Aula2
Aula2Aula2
Aula2
 
Teoria da Computação
Teoria da ComputaçãoTeoria da Computação
Teoria da Computação
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
 
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptxEstudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
Estudos sobre PROBLEMAS P-NP-NP-COMPLETO.pptx
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Desigualdade de Kraft e Aplicações
Desigualdade de Kraft e AplicaçõesDesigualdade de Kraft e Aplicações
Desigualdade de Kraft e Aplicações
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
4 groebner danton4 dissertacao
4 groebner danton4 dissertacao4 groebner danton4 dissertacao
4 groebner danton4 dissertacao
 

Classes de problemas p, np,np completo e np-difícil

  • 1. Complexidade de algoritmos Trabalho apresentado à disciplina de Algoritmo e Estruturas de Dados, sob orientação da Profa. Ms. Eng. Elaine Cecília Gatto.
  • 2. Apresentação  Alunos do curso de Engenharia da Computação:  Erick A. B. Pereira  Luiz Guilherme M. Coelho
  • 3. 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.
  • 4. 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).
  • 5. 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.
  • 6. 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).
  • 7. 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.
  • 8. 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
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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).
  • 16. 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.
  • 17. 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.
  • 18. Agradecimentos  A todos e a profª Ms Eng. Elaine Cecília Gatto.  Alunos de Engenharia da Computação.
  • 19. 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/1018 3/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_algoritmo s/aulas/NPcompleto.html >. Acesso em: 29 nov. 2013.
  • 20. Referências  TOSCANI, L. V.; VELOSO, P. A. S. Complexidade de algoritmos. 3ª ed. [São Paulo]: BOOKMAN COMPANHIA EDITORA, [2012?].