SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
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?].

Mais conteúdo relacionado

Mais procurados

Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosTárcio Sales
 
Pemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptPemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptNur Fadli Utomo
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmosPablo Silva
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosEvandro Agnes
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicaçõesnataferraz
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de AlgoritmosAdilmar Dantas
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dadosArthur Azevedo
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosKevin Takano
 
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em SubgrafoSubgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em SubgrafoHugo Santos
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genéticaiaudesc
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IFabio Moura Pereira
 
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Alex Camargo
 

Mais procurados (20)

Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Pemrograman Web 5 - Javascript
Pemrograman Web 5 - JavascriptPemrograman Web 5 - Javascript
Pemrograman Web 5 - Javascript
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicações
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Dívida Técnica
Dívida TécnicaDívida Técnica
Dívida Técnica
 
Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso Algoritmos
 
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em SubgrafoSubgraph Isomorphism  - NP Proof / Prova NP Isomorfismo em Subgrafo
Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo
 
Programação Genética
Programação GenéticaProgramação Genética
Programação Genética
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Introdução ao R
Introdução ao RIntrodução ao R
Introdução ao R
 
Estrutura de Dados - Grafos
Estrutura de Dados - GrafosEstrutura de Dados - Grafos
Estrutura de Dados - Grafos
 
Programação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte IProgramação Concorrente - Gerenciamento de Threads - Parte I
Programação Concorrente - Gerenciamento de Threads - Parte I
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
Laboratório de Programação II: Grafos - Matriz de adjacência e Matriz de inci...
 

Destaque

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

Destaque (19)

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
 
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
 
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
 
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
 
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...
 
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
 

Semelhante 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
 
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
 
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
 

Semelhante 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 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...
 
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
 

Último

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 

Último (9)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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?].