SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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?].

Contenu connexe

Tendances

Slides.pptx [reparado]
Slides.pptx [reparado]Slides.pptx [reparado]
Slides.pptx [reparado]Nádia França
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 
Aspectos semânticos do adjunto adnominal e do complemento nominal
Aspectos semânticos do adjunto adnominal e do complemento nominalAspectos semânticos do adjunto adnominal e do complemento nominal
Aspectos semânticos do adjunto adnominal e do complemento nominalCrisBiagio
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Apostila basica ingles[1]
Apostila basica ingles[1]Apostila basica ingles[1]
Apostila basica ingles[1]Edna Bezerra
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Mario Sergio
 
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
 
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmAlexey Fyodorov
 
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
 
Aula de inglês 13 substantivos no plural
Aula de inglês 13   substantivos no pluralAula de inglês 13   substantivos no plural
Aula de inglês 13 substantivos no pluralpytheasenglish
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
Builder pattern in C++.pdf
Builder pattern in C++.pdfBuilder pattern in C++.pdf
Builder pattern in C++.pdfDimitrios Platis
 
Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NPOrlando Junior
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim12anogolega
 

Tendances (20)

Slides.pptx [reparado]
Slides.pptx [reparado]Slides.pptx [reparado]
Slides.pptx [reparado]
 
Introdução à linguagem python
Introdução à linguagem pythonIntrodução à linguagem python
Introdução à linguagem python
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Aspectos semânticos do adjunto adnominal e do complemento nominal
Aspectos semânticos do adjunto adnominal e do complemento nominalAspectos semânticos do adjunto adnominal e do complemento nominal
Aspectos semânticos do adjunto adnominal e do complemento nominal
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Classes de palavras
Classes de palavrasClasses de palavras
Classes de palavras
 
Apostila basica ingles[1]
Apostila basica ingles[1]Apostila basica ingles[1]
Apostila basica ingles[1]
 
Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)Introdução a Banco de Dados (Parte 2)
Introdução a Banco de Dados (Parte 2)
 
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...
 
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithm
 
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)
 
Aula de inglês 13 substantivos no plural
Aula de inglês 13   substantivos no pluralAula de inglês 13   substantivos no plural
Aula de inglês 13 substantivos no plural
 
Aula 6 - Cardinalidade
Aula 6 - CardinalidadeAula 6 - Cardinalidade
Aula 6 - Cardinalidade
 
Crud
CrudCrud
Crud
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Builder pattern in C++.pdf
Builder pattern in C++.pdfBuilder pattern in C++.pdf
Builder pattern in C++.pdf
 
Classes de Problemas P e NP
Classes de Problemas P e NPClasses de Problemas P e NP
Classes de Problemas P e NP
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 

En vedette

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
 
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 - 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 - 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
 
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
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeDelacyr Ferreira
 
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
 
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
 
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
 

En vedette (20)

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
 
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 - 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 - 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
 
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
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
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
 
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.
 
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...
 

Similaire à 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
 
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
 
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
 
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
 

Similaire à 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
 
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
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
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
 
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?].