Análise e Síntese de Algoritmos

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

Download "Análise e Síntese de Algoritmos"

Transcrição

1 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 NPdifíceis i.e. problemas de optimização cuja formulação como problema de decisão é NP-completa 2006/2007 Análise e Síntese de Algoritmos 2 1

2 Algoritmos de Aproximação Motivação Definições Exemplos de algoritmos de aproximação Problemas de optimização cuja formulação de decisão é NPcompleta Problema da Cobertura de Vértices Problema do Caixeiro Viajante Problema da Mochila Problema da Cobertura de Conjuntos 2006/2007 Análise e Síntese de Algoritmos 3 Motivação Problemas NP-Completos Qualquer algoritmo existente demora no pior caso tempo exponencial no tamanho da instância Suporta conjectura P NP Problemas de decisão Formulação original requer resposta sim/não Problemas de optimização Formulação de decisão provada NP-completa Encontrar solução óptima é computacionalmente difícil Calcular (em tempo polinomial) solução aproximada! Mas estabelecer garantias quanto ao valor da solução calculada 2006/2007 Análise e Síntese de Algoritmos 4 2

3 Motivação Algoritmos de aproximação Algoritmos para problemas de optimização NP-completos (cujas formulações de decisão são NP-completas) Algoritmos de tempo polinomial Com garantias quanto ao máximo afastamento do valor calculado face à solução óptima 2006/2007 Análise e Síntese de Algoritmos 5 Definições Limite da razão p(n) Algoritmo de aproximação para um problema de optimização Para qualquer instância de tamanho n Custo da solução calculada, C Custo da solução óptima, C* max(c/c*, C*/C) p(n) maximização: 0 C C* minimização: 0 C* C p(n) /2007 Análise e Síntese de Algoritmos 6 3

4 O Problema da Cobertura de Vértices Definição: G=(V,E), grafo não dirigido Cobertura de vértices (VC): conjunto de vértices V tal que qualquer arco em G é incidente em pelo menos um dos vértices de V O problema VC opt consiste em calcular uma cobertura de vértices com o número mínimo de vértices 2006/2007 Análise e Síntese de Algoritmos 7 O Problema da Cobertura de Vértices Algoritmo de aproximação: VC-Approx(G) C = E = E[G] while E Seja (u, v) arco de E C = C { u, v } Remover de E qualquer arco incidente em u ou v return C Exemplo 2006/2007 Análise e Síntese de Algoritmos 8 4

5 O Problema da Cobertura de Vértices Teorema: VC-Approx é um algoritmo de aproximação com limite da razão 2 para o problema VC opt max(c/c*, C*/C) = C/C* 2 Prova: A: conjunto de arcos seleccionados pelo algoritmo Conjunto C é cobertura de vértices Ciclo iterado até todos os arcos de E estarem cobertos Por inspecção, nenhum par de arcos em A tem vértices comuns Também por inspecção, C = 2 A 2006/2007 Análise e Síntese de Algoritmos 9 O Problema da Cobertura de Vértices Cobertura dos arcos em A requer pelo menos um vértice incidente em cada um dos arcos de A Qualquer cobertura de vértices tem que cobrir arcos de A Válido também para C* A C* Conclusão: C = 2 A 2 C* 2006/2007 Análise e Síntese de Algoritmos 10 5

6 O Problema da Mochila Definição: Dados n objectos com pesos w 1, w 2,, w n e valores v 1, v 2,, v n, e uma mochila que pode transportar peso máximo W, o problema KNAPSACK opt consiste em identificar os objectos a transportar, que não excedem o peso máximo W, e que maximizam o valor dos objectos transportados 2006/2007 Análise e Síntese de Algoritmos 11 O Problema da Mochila Algoritmo Greedy: KNAP-Greedy(w,v,W) Ordenar w e v tal que v[i]/w[i] v[j]/w[j] para 1 i j n peso = 0; valor = 0 for i = 1 to n if peso + w[i] W valor += v[i] peso += w[i] return valor Problema Exemplo 2006/2007 Análise e Síntese de Algoritmos 12 6

7 O Problema da Mochila Algoritmo de Aproximação: KNAP-Approx(w,v,W) maior = max {v[i] : 1 i n} // Admite-se w[i] W, 1 i n return max {maior, KNAP-Greedy(w,v,W)} Exemplo 2006/2007 Análise e Síntese de Algoritmos 13 O Problema da Mochila Teorema: O algoritmo KNAP-Approx é um algoritmo de aproximação com limite da razão 2 para o problema KNAPSACK opt Prova: C*: solução óptima; C: solução retornada pelo algoritmo Escolher menor l tal que, l w i " W! i= 1 KNAP-Greedy(w,v,W) verifica, KNAP - Greedy(w, v, W) E, maior v l (por definição de maior) # l 1! " v i i= /2007 Análise e Síntese de Algoritmos 14 7

8 O Problema da Mochila Notando que max(x,y) (x+y)/2, obtemos: C = max(maior,knap- Greedy(w, v,w)) ( )! (maior + KNAP- Greedy(w, v,w)) / 2 ' l ) 1 $ l! % vl + ( vi " / 2 = ( vi / 2 = C' / 2 & i = 1 # i = 1! C * / 2 Definição de W e C : W '! w i C'! = l i= 1 Notar que W W e v 1 /w 1 v 2 /w 2 v l /w l Pelo que C C* C é a solução óptima para W = l v i i= /2007 Análise e Síntese de Algoritmos 15 O Problema do Caixeiro Viajante Definição: G=(V,E), grafo completo não dirigido, com função de pesos w Circuito: caminho que visita todos os vértices de G apenas uma única vez e que termina no vértice de onde começa Peso de um circuito: peso do caminho respectivo Problema do Caixeiro Viajante (TSP): Encontrar o circuito de menor peso em G Desigualdade triangular: w(t,v) w(t,u) + w(u,v) para quaisquer arcos (t,v), (t,u) e (u,v) de G 2006/2007 Análise e Síntese de Algoritmos 16 8

9 O Problema do Caixeiro Viajante Algoritmo de Aproximação: TSP-Approx(G,w) Seleccionar qualquer r V para vértice raiz Construir MST T a partir de r L = lista de vértices resultantes de visita de T em pré-ordem Definir circuito H que visita vértices de G pela ordem L return H Exemplo Visita de árvore que lista a raiz antes dos vértices de cada sub-árvore 2006/2007 Análise e Síntese de Algoritmos 17 O Problema do Caixeiro Viajante Teorema: O algoritmo TSP-Approx é um algoritmo de aproximação com limite da razão 2 para instâncias do problema TSP que verificam a desigualdade triangular Prova: H*: circuito com custo mínimo Provar: C(H) 2C(H*) T: MST de G W: travessia completa de T cada vértice u identificado se visitado pela primeira vez ou se travessia retorna a u W visita cada arco 2 vezes 2006/2007 Análise e Síntese de Algoritmos 18 9

10 O Problema do Caixeiro Viajante C(T) C(H*) T é MST de G e qualquer árvore abrangente pode ser obtida a partir de circuito por remoção de 1 arco C(W) = 2C(T) W atravessa cada arco 2 vezes Pelo que, C(W) 2C(H*) Ordem dos vértices visitados em W:,t,v,u,,u,v,t, Desigualdade triangular assegura que podemos apagar um vértice que o custo total não aumenta E.g.: com,t,v,u,,u,t, custo total não aumenta 2006/2007 Análise e Síntese de Algoritmos 19 O Problema do Caixeiro Viajante Repetir processo de remoção de vértices até cada vértice ser visitado apenas 1 vez Obtém-se ordem dos vértices após visita em pré-ordem Circuito resultante, H, visita todos os vértices de G e verifica: C(H) C(W) 2C(H*) Exemplo 2006/2007 Análise e Síntese de Algoritmos 20 10

11 O Problema da Cobertura de Conjuntos Definição: Uma instância (X,F) do problema de cobertura de conjuntos consiste de: Conjunto finito X Família de subconjuntos de X, F Tal que, X = S F S O problema da cobertura de conjuntos consiste em identificar um subconjunto C de F de menor tamanho e tal que X = S C S 2006/2007 Análise e Síntese de Algoritmos 21 O Problema da Cobertura de Conjuntos Algoritmo de Aproximação: SC-Approx(X,F) U = X C = while U Seleccionar S F que maximiza S U U = U - S C = C { S } return C Exemplo 2006/2007 Análise e Síntese de Algoritmos 22 11

12 O Problema da Cobertura de Conjuntos Teorema: O algoritmo SC-Approx tem limite da razão H(max{ S : S F}), com H(d) = 1 + 1/ /d, H(0) = 0 Prova: (ver CLRS) Colorário: SC-Approx tem limite da razão de ln X + 1 Prova: (ver CLRS) 2006/2007 Análise e Síntese de Algoritmos 23 Revisão Algoritmos de Aproximação Exemplos de algoritmos de aproximação para problemas NPdifíceis 2006/2007 Análise e Síntese de Algoritmos 24 12

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo e o respectivo

Leia mais

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34 Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy

Leia mais

Algoritmos de aproximação

Algoritmos de aproximação Algoritmos de aproximação prof Marcio Delamaro ICC II Um pouco de teoria Existem algoritmos que podem ser executados em tempo polinomial Dado problema de tamanho n, temo O(n k ) A maioria dos algoritmos

Leia mais

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15 Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos

Leia mais

Problema de Optimização. Metodologias de Apoio à Decisão 1. Slide 1

Problema de Optimização. Metodologias de Apoio à Decisão 1. Slide 1 Metodologias de Apoio à Decisão Optimização Combinatória Slide Transparências de apoio à leccionação de aulas teóricas José Fernando Oliveira Maria Antónia Carravilla Problemas de Optimização Instância

Leia mais

2006/2007 Análise e Síntese de Algoritmos 2

2006/2007 Análise e Síntese de Algoritmos 2 Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Caminhos Mais Curtos com Fonte Única [CLRS, Cap. 24] 2014/2015 Contexto Revisão [CLRS, Cap.1-13] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.21-26] Algoritmos

Leia mais

Ciclos hamiltonianos e o problema do caixeiro viajante

Ciclos hamiltonianos e o problema do caixeiro viajante Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29 Análise e Síntese de Algoritmos Programação Linear CLRS, Cap. 29 Conteto Algoritmos em Grafos (CLRS, Cap. 22-26)... Fluos máimos em grafos (CLRS, Cap. 26) Programação Linear (CLRS, Cap. 29) Programação

Leia mais

Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree

Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree Investigação Operacional Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree Slide Transparências de apoio à leccionação de aulas teóricas Maria Antónia Carravilla José Fernando Oliveira Árvore

Leia mais

Algoritmos de aproximação - Problema do caixeiro viajante

Algoritmos de aproximação - Problema do caixeiro viajante Algoritmos de aproximação - Problema do caixeiro viajante Marina Andretta ICMC-USP 30 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli,

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio

Leia mais

Técnicas de Concepção de Algoritmos: Branch and Bound

Técnicas de Concepção de Algoritmos: Branch and Bound Técnicas de Concepção de Algoritmos: R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 O que é? BB ou B&B é uma técnica de concepção de algoritmos genérica para

Leia mais

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22 Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca

Leia mais

Algoritmos de Aproximação para o Problema do Caixeiro Viajante

Algoritmos de Aproximação para o Problema do Caixeiro Viajante TSP p.1/19 Algoritmos de Aproximação para o Problema do Caixeiro Viajante 24 de agosto de 2004 TSP p.2/19 Problema do Caixeiro Viajante Dados grafo comprimento da aresta ( ) TSP p.2/19 Problema do Caixeiro

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁLISE DE ALGORITMOS (INF 1721) PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de

Leia mais

Aula 13: Branch-and-bound

Aula 13: Branch-and-bound Aula 13: Branch-and-bound Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Modelagem em PI / Problemas Combinatórios

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

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 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

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

Problemas Intratáveis ou computação eficiente X computação ineficiente

Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Tratáveis Os problemas que podem ser resolvidos em tempo polinomial em um computador típico são exatamente os mesmos problemas

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 eduardo.barrere@ice.ufjf.br www.barrere.ufjf.br A Classe de Problemas P A classe de algoritmos P é formada pelos procedimentos

Leia mais

Como saber se um problema está em NP e não está em P?

Como saber se um problema está em NP e não está em P? ? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um

Leia mais

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes

Leia mais

Algoritmos de Aproximação Segundo Semestre de 2012

Algoritmos de Aproximação Segundo Semestre de 2012 Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1 Problema dos k-centros Dados: um grafo completo G = (V,E), um inteiro k > 0 e distâncias d ij para cada i e j em V tais que d ii = 0

Leia mais

Os Problemas de Optimização Combinatória e a Teoria da Complexidade

Os Problemas de Optimização Combinatória e a Teoria da Complexidade Metodologias de Apoio à Decisão Os Problemas de Optimização Combinatória e a Teoria da Complexidade Programação Inteira Mista Programação Linear Programação Binária Mista Programação Inteira Slide Fluxos

Leia mais

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 5/5/2014 Ruy Luiz Milidiú 1 O Teorema de Cook 5/5/2014 Ruy Luiz Milidiú 2 Resumo Objetivo Apresentar os conceitos básicos necessários ao enunciado

Leia mais

CAL ( ) MIEIC/FEUP Técnicas de Concepção de Algoritmos, CAL MIEIC/FEUP, Fev. de Técnicas de Concepção de Algoritmos. .

CAL ( ) MIEIC/FEUP Técnicas de Concepção de Algoritmos, CAL MIEIC/FEUP, Fev. de Técnicas de Concepção de Algoritmos. . 1 Técnicas de Concepção de Algoritmos (1ª parte): algoritmos gananciosos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Algoritmos gananciosos (greedy

Leia mais

Notas. Notas. encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando 2 / 19.

Notas. Notas. encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando 2 / 19. Projeto e Análise de Algoritmos Algoritmos Aproximados Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 2 de maio de 2013 1 / 19 Situação Ideal Desejamos algoritmos que: encontrem a soluçã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 Elementares em Grafos [CLRS, Cap. 22] 24/25 Contexto Revisão [CLRS, Cap.-3] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.2-26] Algoritmos elementares

Leia mais

Complexidade computacional

Complexidade computacional Complexidade computacional Marina Andretta ICMC-USP 15 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feofiloff,

Leia mais

Algoritmos Combinatórios: Backtracking

Algoritmos Combinatórios: Backtracking lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Problema da Mochila Problema da Mochila Problema da Mochila (Otimização) Instância: Lucros p 0, p 1,..., p n 1 Pesos w 0, w 1,..., w n 1 Capacidade da mochila

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 humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40 Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos

Leia mais

Teoria e Algoritmos em Grafos

Teoria e Algoritmos em Grafos Teoria e Algoritmos em Grafos 2018.2 Percursos Caminhos que percorrem todos os vértices ou todas as arestas de um grafo são chamados percursos. Ciclo Hamiltoniano Ciclos Hamiltonianos são ciclos que percorrem

Leia mais

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4)

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4) 1 Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material de Andréa Iabrudi Tavares BCC241/2012-2 3 Comparação

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

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

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464 / PCC174 Departamento de Computação - UFOP Breve Revisão Programação Linear vs Programação Inteira Modelagem

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Tempo polinomial Verificação de tempo polinomial Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Tempo polinomial Um algoritmo é

Leia mais

Problemas N P-Completo e Algoritmos Aproximados

Problemas N P-Completo e Algoritmos Aproximados Problemas N P-Completo e Algoritmos Aproximados Última alteração: 0 de Outubro de 2006 Transparências elaboradas por Charles Ornelas, Leonardo Rocha, Leonardo Mata, Elisa Tuler e Nivio Ziviani Projeto

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁLISE DE ALGORITMOS (INF 1721) PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de

Leia mais

Árvores Árvores Geradoras de Custo Mínimo 0/16

Árvores Árvores Geradoras de Custo Mínimo 0/16 Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores

Leia mais

Problemas N P-Completo. Algoritmos Aproximados. Introdução. Problemas. Classe N P - Problemas Sim/Não

Problemas N P-Completo. Algoritmos Aproximados. Introdução. Problemas. Classe N P - Problemas Sim/Não 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

Algoritmos de Aproximação Segundo Semestre de 2012

Algoritmos de Aproximação Segundo Semestre de 2012 Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1 Problema de decisão Problema de decisão: conjunto I de instâncias e função f : I {SIM, NÃO} Aproximação p. 2 Problema de decisão Problema

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

TEORIA DE COMPLEXIDADE

TEORIA DE COMPLEXIDADE TEORIA DE COMPLEXIDADE Fundamentos: classes P e N P Mauricio Ayala-Rincón Grupo de Teoria da Computaç~ao http://ayala.mat.unb.br/tcgroup Instituto de Ciências Exatas Universidade de Brasília, Brasília

Leia mais

Teoria e Algoritmos em Grafos

Teoria e Algoritmos em Grafos Teoria e Algoritmos em Grafos 2018.2 Conjunto Independente Conjuntos Independentes são subconjuntos de vértices de um grafo no qual nenhum vértice é adjacente entre si. Conjunto Independente Conjuntos

Leia mais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Estudo da Tratabilidade de Problemas

Leia mais

Teoria dos Grafos Aula 6

Teoria dos Grafos Aula 6 Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes

Leia mais

Modelos e Algoritmos. Transparências de apoio à leccionação de aulas teóricas. c 2001 José Fernando Oliveira, Maria Antónia Carravilla FEUP

Modelos e Algoritmos. Transparências de apoio à leccionação de aulas teóricas. c 2001 José Fernando Oliveira, Maria Antónia Carravilla FEUP Optimização Combinatória: Modelos e Algoritmos Transparências de apoio à leccionação de aulas teóricas Versão 1 c 2001 José Fernando Oliveira, Maria Antónia Carravilla FEUP Modelos de Optimização Combinatória

Leia mais

Algoritmos de aproximação - Problema de cobertura por conjuntos

Algoritmos de aproximação - Problema de cobertura por conjuntos Algoritmos de aproximação - Problema de cobertura por conjuntos Marina Andretta ICMC-USP 22 de setembro de 205 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M.

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

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 fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:

Leia mais

Situação Ideal. Algoritmos Aproximados - Motivação

Situação Ideal. Algoritmos Aproximados - Motivação Situação Ideal Desejamos algoritmos que: encontrem a solução ótima em tempo polinomial para qualquer instância do problema que estamos trabalhando Universidade Federal de Ouro Preto Departamento de Computação

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

Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante)

Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante) Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 78 Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante) Suponhamos que a qualquer momento em que

Leia mais

Métodos de pesquisa e Optimização

Métodos de pesquisa e Optimização Métodos de pesquisa e Optimização Victor Lobo Importância para os SAD Definir o caminho a tomar depois de se ter trabalhado os dados 1ª Fase: Analisar os dados disponíveis Visualização OLAP, relatórios

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

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

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

Problemas N P-Completo e Algoritmos Aproximados

Problemas N P-Completo e Algoritmos Aproximados Projeto de Algoritmos Cap.9 Problemas NP-Completo e Algoritmos Aproximados Seção 9. Problemas N P-Completo A teoria de complexidade a ser apresentada não mostra como obter algoritmos polinomiais para problemas

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

Problema do Caixeiro Viajante

Problema do Caixeiro Viajante Problema do Caixeiro Viajante 1 Introdução Minimizar o custo de um ciclo hamiltoniano em um grafo completo (William R. Hamilton,1857,Around The World); Solução por enumeração: R( n ) = ( n - 1 )! Um computador

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

Uma forma de classificação

Uma forma de classificação Uma forma de classificação L. Não-RE ou f. nãocomputáveis LRE ou MT ou f. comput. L. Indecidíveis ou Procedimentos L. Recursivas ou Decidíveis ou Algoritmos Outra forma de classificação Problemas Indecidíveis

Leia mais

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore

Leia mais

Análise e Síntese de Algoritmos. Fluxos Máximos em Grafos CLRS, Cap. 26

Análise e Síntese de Algoritmos. Fluxos Máximos em Grafos CLRS, Cap. 26 Análise e Síntese de Algoritmos Fluxos Máximos em Grafos CLRS, Cap. 26 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

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

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

Circuito Hamiltoniano. Brute Force Greedy Heuristics

Circuito Hamiltoniano. Brute Force Greedy Heuristics Circuito Hamiltoniano Brute Force Greedy Heuristics Knight s Tour - Caracterização Na sua formulação original, o problema consiste em determinar um circuito (fechado ou aberto) no qual o cavalo visita

Leia mais

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes. Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução de um problema Π a um problema Π é um algoritmo ALG que resolve Π usando uma subrotina hipotética ALG que

Leia mais

Sub-grafo. Árvore Geradora Mínima

Sub-grafo. Árvore Geradora Mínima Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto

Leia mais

Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i,

Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i, V. Problema do caixeiro-viajante Grafos - Problema do caixeiro-viajante onsidere-se um grafo em que os vértices representam cidades e as arestas (ou arcos) representam as estradas de uma dada região (a

Leia mais

Melhores momentos AULA 24. Algoritmos p.906/953

Melhores momentos AULA 24. Algoritmos p.906/953 Melhores momentos AULA 24 Algoritmos p.906/953 Problemas polinomiais Analise de um algoritmo em um determinado modelo de computação estima o seu consumo de tempo e quantidade de espaço como uma função

Leia mais

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana problemas difíceis de programação linear através da relaxação Lagrangeana Ana Maria A.C. Rocha Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho arocha@dps.uminho.pt http://www.norg.uminho.pt/arocha

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Matroides e o método guloso U: conjunto finito arbitrário. C: família

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 loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro

Leia mais

Departamento de Engenharia de Produção UFPR 57

Departamento de Engenharia de Produção UFPR 57 Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Polinomial: função de complexidade é O(p(n)), onde p(n) é um polinômio.

Polinomial: função de complexidade é O(p(n)), onde p(n) é um polinômio. UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS Introdução TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Problemas intratáveis ou difíceis são comuns na natureza e nas

Leia mais

Programa. Análise de algoritmos. Notação Big-O. Sistemas de Informação Geográfica II. Análise de algoritmos

Programa. Análise de algoritmos. Notação Big-O. Sistemas de Informação Geográfica II. Análise de algoritmos Sistemas de Informação Geográfica II Análise de algoritmos Alexandre Gonçalves DECivil - IST alexandre.goncalves@tecnico.ulisboa.pt Programa Introdução à análise de algoritmos Classes de problemas P e

Leia mais

Algoritmos Combinatórios: Introdução

Algoritmos Combinatórios: Introdução lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?

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

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3

ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 ALGUNS GRAFOS BEM-COBERTOS LIVRES DE K 1,3 Márcia R. Cappelle Santana UEG Universidade Estadual de Goiás Campus BR 153, Km 98 Caixa Postal: 459 CEP: 75001-970 Anápolis-GO mcappelle@ueg.br Rommel Melgaço

Leia mais

Algoritmos para o problema da árvore de Steiner com coleta de prêmios

Algoritmos para o problema da árvore de Steiner com coleta de prêmios Algoritmos para o problema da árvore de Steiner com coleta de prêmios Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina Defesa de mestrado Instituto de Matemática e Estatística Universidade

Leia mais

Problemas de Decisão em Redes 18

Problemas de Decisão em Redes 18 Problemas de Decisão em Redes 8 Problemas de Fluxo Máximo Slide Problemas de Fluxo Máximo Definição: Dada uma rede, com um nó de entrada e um nó de saída, com capacidades associadas a cada ramo, pretende-se

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes A classe P consiste nos problemas que podem ser resolvidos em tempo Polinomial (Problemas tratáveis) A classe NP consiste nos problemas que podem ser verificados em tempo polinomial (Problemas

Leia mais

Análise de Algoritmos. Slides de Paulo Feofiloff

Análise de Algoritmos. Slides de Paulo Feofiloff Análise de Algoritmos Slides de Paulo Feofiloff [com erros do coelho e agora também da cris] Algoritmos p. 1 Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Revisão [CLRS, Cap. 7-10] 2014/2015 Contexto Revisão [CLRS, Cap.1-13] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.21-26] Algoritmos elementares Árvores

Leia mais