Teoria da Complexidade Computacional

Tamanho: px
Começar a partir da página:

Download "Teoria da Complexidade Computacional"

Transcrição

1 Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC

2 Motivação

3 Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and Intractability. A guide to the theory of NP-Completeness, W.H. Freeman and Company: New York, 1979.

4 Motivação

5 Motivação I can t find an efficient algorithm, because no such algorithm is possible. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and Intractability. A guide to the theory of NP-Completeness, W.H. Freeman and Company: New York, 1979.

6 Motivação

7 Motivação I can t find an efficient algorithm, but neither can all these famous people. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and Intractability. A guide to the theory of NP-Completeness, W.H. Freeman and Company: New York, 1979.

8 Introdução teoria de análise de algoritmos: estuda análise de complexidade de algoritmos;

9 Introdução teoria de análise de algoritmos: estuda análise de complexidade de algoritmos; teoria da complexidade computacional: estuda a classificação de problemas com base na complexidade dos algoritmos que os resolvam.

10 Introdução teoria de análise de algoritmos: estuda análise de complexidade de algoritmos; teoria da complexidade computacional: estuda a classificação de problemas com base na complexidade dos algoritmos que os resolvam. algoritmo polinomial: complexidade é uma função polinomial no tamanho da entrada. Exemplos:

11 Introdução teoria de análise de algoritmos: estuda análise de complexidade de algoritmos; teoria da complexidade computacional: estuda a classificação de problemas com base na complexidade dos algoritmos que os resolvam. algoritmo polinomial: complexidade é uma função polinomial no tamanho da entrada. Exemplos: pesquisa binária: O(log n); pesquisa sequencial: O(n); ordenação por inserção: O(n 2 ); multiplicação de matrizes: O(n 3 );

12 Introdução teoria de análise de algoritmos: estuda análise de complexidade de algoritmos; teoria da complexidade computacional: estuda a classificação de problemas com base na complexidade dos algoritmos que os resolvam. algoritmo polinomial: complexidade é uma função polinomial no tamanho da entrada. Exemplos: pesquisa binária: O(log n); pesquisa sequencial: O(n); ordenação por inserção: O(n 2 ); multiplicação de matrizes: O(n 3 ); algoritmo exponencial: complexidade é uma função exponencial no tamanho da entrada. Um exemplo: caixeiro viajante: O(n!);

13 Problema do Caixeiro Viajante (PCV) Sejam n cidades e distância c ij entre quaisquer duas cidades i e j. Existe um percurso que passa por toda cidade exatamente uma vez tal que o custo total é o menor possível? c1 c c3 8 3 c2

14 Problema do Caixeiro Viajante (PCV) Sejam n cidades e distância c ij entre quaisquer duas cidades i e j. Existe um percurso que passa por toda cidade exatamente uma vez tal que o custo total é o menor possível? c1 c c3 8 3 Custo: 25 c2 Número de rotas possíveis: (n 1)!

15 Problema do Caixeiro Viajante (PCV) Sejam n cidades e distância c ij entre quaisquer duas cidades i e j. Existe um percurso que passa por toda cidade exatamente uma vez tal que o custo total é o menor possível? c1 c c3 8 3 Custo: 24 c2 Número de rotas possíveis: (n 1)!

16 Problemas Indecidíveis, Intratáveis e Tratáveis Algoritmos exponenciais demandam tal quantidade de tempo para executar que mesmo problemas de tamanho pequeno a moderado não podem ser resolvidos;

17 Problemas Indecidíveis, Intratáveis e Tratáveis Algoritmos exponenciais demandam tal quantidade de tempo para executar que mesmo problemas de tamanho pequeno a moderado não podem ser resolvidos; Três tipos de problemas (segundo Garey e Johnson):

18 Problemas Indecidíveis, Intratáveis e Tratáveis Algoritmos exponenciais demandam tal quantidade de tempo para executar que mesmo problemas de tamanho pequeno a moderado não podem ser resolvidos; Três tipos de problemas (segundo Garey e Johnson): 1. Indecidíveis: nenhum algoritmo pode resolver. Exemplo: problema da parada;

19 Problemas Indecidíveis, Intratáveis e Tratáveis Algoritmos exponenciais demandam tal quantidade de tempo para executar que mesmo problemas de tamanho pequeno a moderado não podem ser resolvidos; Três tipos de problemas (segundo Garey e Johnson): 1. Indecidíveis: nenhum algoritmo pode resolver. Exemplo: problema da parada; 2. Intratáveis: possivelmente não possuem algoritmos polinomiais;

20 Problemas Indecidíveis, Intratáveis e Tratáveis Algoritmos exponenciais demandam tal quantidade de tempo para executar que mesmo problemas de tamanho pequeno a moderado não podem ser resolvidos; Três tipos de problemas (segundo Garey e Johnson): 1. Indecidíveis: nenhum algoritmo pode resolver. Exemplo: problema da parada; 2. Intratáveis: possivelmente não possuem algoritmos polinomiais; 3. Tratáveis: possuem algoritmos polinomiais. A partir de agora, nos concentraremos em decidir se um problema é tratável ou intratável.

21 Problemas de Decisão, Localização e Otimização Classificação segundo a resposta esperada:

22 Problemas de Decisão, Localização e Otimização Classificação segundo a resposta esperada: 1. Problemas de decisão: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j e inteiro não negativo k, existe percurso do PCV de custo menor ou igual a k?

23 Problemas de Decisão, Localização e Otimização Classificação segundo a resposta esperada: 1. Problemas de decisão: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j e inteiro não negativo k, existe percurso do PCV de custo menor ou igual a k? 2. Problemas de localização: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j e inteiro não negativo k, problema é localizar, se existe, percurso do PCV com custo menor ou igual a k. A resposta seria uma seqüência de vértices u,...,v.

24 Problemas de Decisão, Localização e Otimização Classificação segundo a resposta esperada: 1. Problemas de decisão: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j e inteiro não negativo k, existe percurso do PCV de custo menor ou igual a k? 2. Problemas de localização: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j e inteiro não negativo k, problema é localizar, se existe, percurso do PCV com custo menor ou igual a k. A resposta seria uma seqüência de vértices u,...,v. 3. Problemas de otimização: Exemplo (PCV) - n cidades e distância c ij entre cidades i e j, problema é obter percurso do PCV de menor custo possível.

25 P versus NP Classe P: problemas resolvidos em tempo polinomial por algoritmo determínistico. Exemplos: ordenação, caminho mínimo em grafos, fluxo máximo em redes, etc; Classe NP: problemas verificáveis em tempo polinomial. Algoritmos não-determínisticos polinomiais geram solução candidata e é verificada viabilidade em tempo polinomial. Exemplos: ciclo hamiltoniano, cliques em grafos, conjunto independente em grafos, problema da mochila, etc.

26 P NP Se um problema é da classe P também é da classe NP, pois algoritmo polinomial determinístico usado para resolver problema pode ser utilizado para verificar solução; Então podemos concluir que P NP; Mas P=NP??? Este é o problema em aberto mais conhecido e importante em Computação.

27 NP-Completude Um problema de decisão A NP é NP-Completo se todos os outros problemas de NP se transformam polinomialmente em A; Portanto, se existir um algoritmo (determinístico) polinomial para a resolução de algum problema NP-Completo, todos os problemas da classe NP podem ser resolvidos em tempo polinomial; Assim, seria possível mostrar que P = NP; Há fortes evidências de que isso não é possível.

28 NP-Completude Um problema A pertence a classe NP-Difícil se existe um problema B NP-Completo que pode ser transformado em A em tempo polinomial; Apenas problemas de decisão podem ser NP-Completos; A dificuldade de um problema NP-difícil não é menor do que a dificuldade de um problema NP-Completo.

29 Problema do Caixeiro Viajante (PCV) é NP-Completo

30 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k;

31 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano):

32 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): G

33 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano):

34 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano):

35 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): G

36 Problema do Caixeiro Viajante (PCV) é NP-Completo Primeiro passo: mostrar que PCV NP. Para um circuito, algoritmo de verificação confirma que seqüência contém cada vértice exatamente uma vez, totaliza custos de arestas e verifica se soma é no máximo k; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano):

37 Problema do Caixeiro Viajante (PCV) é NP-Completo Consequemente, o grafo G tem um ciclo hamiltoniano se e somente se o grafo G tem um circuito de custo máximo n.

38 Problema do Caminho Hamiltoniano (PCH) é NP-Completo

39 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV;

40 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano):

41 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 v 5 v 0 v 3 v 4 G

42 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

43 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

44 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

45 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

46 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

47 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 v 5 v 0 v 3 v 4 G

48 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 v 5 v 0 w v 3 v 4

49 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

50 Problema do Caminho Hamiltoniano (PCH) é NP-Completo Primeiro passo: mostrar que PCH NP. Verificação similar ao do PCV; Segundo passo: transformação polinomial a partir de um problema NP-Completo (problema do ciclo hamiltoniano): v 2 v 1 u u v 5 v 0 w v 3 v 4 H

51 Perguntas? Fonte:

52 Bibliografia CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L. e STEIN, C. Introduction to Algorithms, 3 a edição, MIT Press, GAREY, M. R. e JOHNSON, D. S. Computers and Intractability. A guide to the theory of NP-Completeness, W.H. Freeman and Company: New York, ZIVIANI, N. Projeto de Algoritmos: com implementações em Pascal e C, 2 a edição, Cengage Learning, 2009.

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr [email protected] 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Complexidade Assintótica de Programas Letícia Rodrigues Bueno Complexidade Assintótica de Programas Letícia Rodrigues Bueno Análise de Algoritmos 1. Introdução; Análise de Algoritmos 1. Introdução; 2. Conceitos básicos; Análise de Algoritmos 1. Introdução; 2. Conceitos

Leia mais

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula

Leia mais

Quicksort Letícia Rodrigues Bueno

Quicksort Letícia Rodrigues Bueno Quicksort Letícia Rodrigues Bueno UFABC Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição:

Leia mais

Algoritmos em Grafos: Caminho Mínimo

Algoritmos em Grafos: Caminho Mínimo Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre

Leia mais

Complexidade computacional

Complexidade computacional Complexidade computacional CLRS sec 34.1 e 34.2 Algoritmos p. 1 Algumas questões Por que alguns problemas parecem ser (computacionalmente) mais difíceis do que outros? Algoritmos p. 2 Algumas questões

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes O limite superior de complexidade de um problema refere-se ao melhor algoritmo que o resolve. nlog 2 n é um limite superior para o problema de classificação. O limite inferior de um problema

Leia mais

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual

Leia mais

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno UFABC Problemas de Caminho Mínimo Caminho mínimo de fonte única: algoritmo de Dijsktra; Problemas de Caminho Mínimo Caminho

Leia mais

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II 04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.

Leia mais

TEORIA DE COMPLEXIDADE

TEORIA DE COMPLEXIDADE UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Antonio Alfredo Ferreira Loureiro [email protected] http://www.dcc.ufmg.br/~loureiro

Leia mais

INTRATABILIDADE e NP-COMPLETUDE

INTRATABILIDADE e NP-COMPLETUDE INTRATABILIDADE e NP-COMPLETUDE Sandro Santos Andrade Doutorado Multiinstitucional em Ciência da Computação UFBA/UNIFACS/UEFS Junho/2008 Grafos e Análise de Algoritmos Introdução Para alguns problemas

Leia mais

Aula 10: Tratabilidade

Aula 10: Tratabilidade Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. [email protected], [email protected].

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada [email protected], [email protected] Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto Grafos representação e aplicações Prof. Guilherme Tomaschewski Netto [email protected] Roteiro! Contextualização! Apresentação, um pouco de história! Conceitos Grafos! Principais aplicacões! Estruturas

Leia mais

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um

Leia mais

Medida do Tempo de Execução de um Programa

Medida do Tempo de Execução de um Programa Medida do Tempo de Execução de um Programa Livro Projeto de Algoritmos Nívio Ziviani Capítulo 1 Seção 1.3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Comportamento Assintótico de Funções O parâmetro n

Leia mais

Introdução à classe de problemas NP- Completos

Introdução à classe de problemas NP- Completos Introdução à classe de problemas NP- Completos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Introdução Considerações Práticas Em alguns casos práticos, alguns

Leia mais

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré PERCURSOS André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré Serra 2011 Índice 1...O que é caminho e circuito 1.1...Caminho 1.2...Circuito 1.3...Classificação 2...Caminhos Eulerianos 2.1...Definição

Leia mais

Paulo Guilherme Inça. 7 de dezembro de 2016

Paulo Guilherme Inça. 7 de dezembro de 2016 Coloração de grafos é NP-Difícil Paulo Guilherme Inça 7 de dezembro de 2016 Sumário 1 Introdução 1 2 O Problema da Coloração de Grafos 2 3 3-Coloração é NP-Completo 3 4 Generalizações e Restrições 6 5

Leia mais

Estudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas

Estudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas Estudo e Implementação de Algoritmos de Roteamento sobre Grafos em um Sistema de Informações Geográficas RUDINI MENEZES SAMPAIO 1 HORÁCIO HIDEKI YANASSE 2 1 UFLA Universidade Federal de Lavras DCC Departamento

Leia mais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais Aula 1 - Apresentação aos Algoritmos Computacionais O que é a Disciplina? Disciplina de Projeto e Análise de Algoritmos Esta é uma disciplina de Algoritmos em nível de Pós-Graduação! Temas a serem abordados:

Leia mais

Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA

Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA Computer on the Beach 2013 - Artigos Completos 79 Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA Elcio Arthur Cardoso, Rafael de Santiago Curso de Ciência da Computação

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br [email protected] www.barrere.ufjf.br A Classe de Problemas P A classe de algoritmos P é formada pelos procedimentos

Leia mais

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

Quantidade de memória necessária

Quantidade de memória necessária Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Universidade do Estado do Amazonas Escola Superior de Tecnologia - EST Núcleo de Computação Algoritmos e Estruturas de Dados I Listas com implementação dinâmica Prof. Flávio José M. Coelho [email protected]

Leia mais

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco. MC3305 Algoritmos e Estruturas de Dados II Aula 00 Apresentação Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da

Leia mais

Teoria da computabilidade Indecidíveis Decidíveis

Teoria da computabilidade Indecidíveis Decidíveis Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Classes de Complexidades de Problemas Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Tempo polinomial Um algoritmo A, com entrada

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são

Leia mais

TEORIA: 60 LABORATÓRIO: 0

TEORIA: 60 LABORATÓRIO: 0 Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA: BC1435 - Análise de Algoritmos

Leia mais

Tópicos Especiais em Ciência da Computação I

Tópicos Especiais em Ciência da Computação I Tópicos Especiais em Ciência da Computação I Professora: Alessandra Martins Coelho 2 semestre/2012 Métodos Heurísticos Aplicados a Problemas de Otimização Introdução Durante muitas décadas, a investigação

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005. Agenda Análise e Técnicas de Algoritmos Jorge Figueiredo Conceitos básicos Classes de de Complexidade P NP Redução Problemas NPC NP-Completude Introdução Existem alguns problemas computacionais que são

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão

Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica. Prof. Humberto Brandão Projeto e Análise de Algoritmos Projeto de Algoritmos Programação Dinâmica Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas versão da aula: 0.3 Programação Dinâmica

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

Para muitos problemas computacionais, algoritmos razoáveis não existem!

Para muitos problemas computacionais, algoritmos razoáveis não existem! Para muitos problemas computacionais, algoritmos razoáveis não existem! Os melhores algoritmos requerem quantidades de tempo ou espaço enormes tornando-os praticamente inúteis. 1 Introdução Objetivos:

Leia mais

Algoritmos e Estruturas de Dados II

Algoritmos e Estruturas de Dados II Algoritmos e Estruturas de Dados II Organização Revisão (DFS) Exemplo de Execução (DFS) Grafos V: e Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis

Leia mais

Análise e Implementação de Algoritmos para o Roteamento de Veículos

Análise e Implementação de Algoritmos para o Roteamento de Veículos Análise e Implementação de Algoritmos para o Roteamento de Veículos Milton Roberto Heinen 1 1 Universidade do Vale do Rio dos Sinos (UNISINOS) Mestrado em Computação Aplicada CEP 93022-000 - São Leopoldo

Leia mais

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira Ementa e Objetivos Ementa: Análise de Algoritmos: Notação O e Análise Assintótica.

Leia mais

Problemas NP-Completo e Algoritmos Aproximados

Problemas NP-Completo e Algoritmos Aproximados Problemas NP-Completo e Algoritmos Aproximados Última alteração: 28 de Setembro de 200 Transparências elaboradas por Charles Ornelas Almeida, Israel Guerra e Nivio Ziviani Projeto de Algoritmos Cap.9 Problemas

Leia mais

Estruturas de Dados II. Caixeiro Viajante

Estruturas de Dados II. Caixeiro Viajante Estruturas de Dados II Prof. a Mariella Berger Caixeiro Viajante 1. Objetivo O objetivo deste trabalho é implementar diferentes soluções para o problema clássico do Caixeiro Viajante. 2. Introdução O Problema

Leia mais

Grafo: Algoritmos e Aplicações

Grafo: Algoritmos e Aplicações Grafo: Algoritmos e Aplicações Leandro Colombi Resendo [email protected] Grafos: Algortimos e Aplicações Referências Basicas: Boaventura Netto, P. O., Grafos: Teoria, Modelos, Algoritmos, 2ª, SP, Edgar

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr [email protected] 5COP096 TeoriadaComputação Aula 14 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas Exponenciais - Algoritmos Exponenciais usando Tentativa e Erro - Heurísticas para

Leia mais

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos

Leia mais

Algoritmos 2 - Introdução

Algoritmos 2 - Introdução DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto

Leia mais

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: [email protected] Introdução O que são estruturas

Leia mais

Análise e Síntese de Algoritmos.

Análise e Síntese de Algoritmos. Análise e Síntese de Algoritmos http://fenix.ist.utl.pt/leic-a/disciplinas/asa Corpo Docente Aulas Teóricas: Vasco Manquinho INESC-ID, Sala 329 Email: [email protected] Tel: 21 3100204 (INESC-ID)

Leia mais

Problemas N P-Completo e Algoritmos Aproximados

Problemas N P-Completo e Algoritmos Aproximados Projeto de Algoritmos Cap.9 Problemas N P-Completo e Algoritmos Aproximados Introdução Problemas intratáveis ou difíceis são comuns na natureza e nas áreas do conhecimento. Problemas N P-Completo e Algoritmos

Leia mais

Árvores: Conceitos Básicos e Árvore Geradora

Árvores: Conceitos Básicos e Árvore Geradora Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:

Leia mais

Informações Importantes! INF TURMA A

Informações Importantes! INF TURMA A UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP096 Teoria da Computação Aula 9 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sumário 1) Introdução à Pesquisa em Memória Secundária 2) Modelo de Computação para Memória Secundária

Leia mais

APLICAÇÕES DE BUSCA EM GRAFOS

APLICAÇÕES DE BUSCA EM GRAFOS APLICAÇÕES DE BUSCA EM GRAFOS David Krenkel Rodrigues de Melo [email protected] Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: São inúmeras as aplicaçõe de grafos, bem como os problemas clássicos

Leia mais

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações??? Teoria dos Grafos Introdução Prof. Humberto Brandão [email protected] aula disponível no site: http:bcc.unifal-mg.edu.br~humberto Universidade Federal de Alfenas Departamento de Ciências Exatas

Leia mais

Conceitos Básicos da Teoria de Grafos

Conceitos Básicos da Teoria de Grafos Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan Grafos Uma noção simples, abstrata e intuitiva. Representa

Leia mais

Pesquisa Operacional II. Professor João Soares de Mello

Pesquisa Operacional II. Professor João Soares de Mello Pesquisa Operacional II Professor João Soares de Mello http://www.uff.br/decisao/notas.htm Ementa Teoria dos grafos (pré-requisitos: PO I, Álgebra Linear) Programação não linear (pré-requisitos: PO I,

Leia mais

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

Grafos: caminhos mínimos

Grafos: caminhos mínimos quando o grafo é sem pesos, a determinação de um caminho mais curto pode ser feita através de uma busca em largura caminho mais curto é aquele que apresenta o menor número de arestas quando o grafo tem

Leia mais

15 - Coloração Considere cada um dos grafos abaixo:

15 - Coloração Considere cada um dos grafos abaixo: 15 - Coloração Considere cada um dos grafos abaixo: a) Quantas cores são necessárias para colorir os vértices de um grafo de maneira que dois vértices adjacentes não recebam a mesma cor? b) Qual é o número

Leia mais

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II 05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.

Leia mais

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3

Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3 Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Estrutura de Dados II Prof Jairo Francisco de Souza Conteúdo Programático Parte 1 Manipulação de arquivos Ordenação, arquivos em série e sequências, classificação externa, arquivos de acesso

Leia mais

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas

Leia mais

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS MÓULO 3 - PROBLEMAS E COBERTURAS E ARCOS E NÓS 1. CONCEITOS INICIAIS Área contida na Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente

Leia mais

Técnicas de projeto de algoritmos: Indução

Técnicas de projeto de algoritmos: Indução Técnicas de projeto de algoritmos: Indução ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo [email protected] 08/2008

Leia mais

P, NP e NP-Completo. André Vignatti DINF- UFPR

P, NP e NP-Completo. André Vignatti DINF- UFPR P, NP e NP-Completo André Vignatti DINF- UFPR Problemas Difíceis, Problemas Fáceis O mundo está cheio de problemas de busca. Alguns podem ser resolvidos eficientemente, outros parecem ser muito difíceis.

Leia mais

UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE Flávio Martins Colares Faculdade Lourenço Filho, [email protected] José Lassance de Castro Silva Universidade Federal do Ceará, [email protected]

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO

CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO MATERIAL INSTRUCIONAL ESPECÍFICO Tomo V 1 Questão 1 Questão 1. 1 O problema P versus NP é um problema ainda não resolvido e um dos mais estudados em Computação.

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Algoritmos de Aproximação CLRS, Cap. 35 Resumo Algoritmos de aproximação Algoritmos, com complexidade polinomial, que calculam soluções aproximadas para problemas de optimização

Leia mais

Teoria dos Grafos Aula 5

Teoria dos Grafos Aula 5 Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema

Leia mais

Busca em Profundidade e em Largura

Busca em Profundidade e em Largura Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de

Leia mais

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações? 8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações

Leia mais

Tópicos Avançados em Algoritmos

Tópicos Avançados em Algoritmos Tópicos Avançados em Algoritmos Armando Matos 2008 Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2 Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009

Leia mais

Complexidade assintótica de programas

Complexidade assintótica de programas Complexidade assintótica de programas Técnicas de análise de algoritmos são consideradas partes integrantes do processo moderno de resolver problemas, permitindo escolher, de forma racional, um dentre

Leia mais