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

Documentos relacionados
Algoritmos para o problema da árvore de Steiner com coleta de prêmios. Índice. Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina

Algoritmos para o problema da árvore de Steiner com coleta de prêmios. Camila Mari Matsubara

O Problema do Multi Corte Mínimo em Digrafos

ERRATA Uma Introdução Sucinta a Algoritmos de Aproximação

Algoritmos de aproximação - Método primal-dual

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

Complexidade computacional

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

Algoritmos em redes de fluxo e aplicações

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

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

Ciclos hamiltonianos e o problema do caixeiro viajante

Otimização em Grafos

2 Definição do Problema

Algoritmos de aproximação - Problema do caixeiro viajante

Teoria dos Grafos Aula 6

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

Análise de Algoritmos

Uma Introdução Sucinta à Teoria dos Grafos

Análise de Algoritmos

Otimização Combinatória - Parte 4

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

ANÁLISE DE ALGORITMOS (INF 1721)

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

Análise e Síntese de Algoritmos

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

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 41

Análise de Algoritmos

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

Complexidade e algoritmos para algumas

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

Algoritmos Combinatórios: Introdução

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

Pesquisa Operacional para o Desenvolvimento Vol. 9, n. 3, p , 2017 ISSN TUTORIAL CONVIDADO. Lehilton L. C.

Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6

Geometria Computacional

1 Introdução Motivação

Redução de Cook-Levin e Considerações Finais

UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR DE ECONOMIA E GESTÃO. Doutoramento em Matemática Aplicada à Economia e à Gestão

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

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

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

3 Extensões dos modelos matemáticos

Resolução do problema do caixeiro viajante assimétrico (e uma variante) através da relaxação Lagrangeana

Algoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica

Teoria dos Grafos. Fluxo Máximo em Redes

Árvore Geradora Mínima

Árvores: Conceitos Básicos e Árvore Geradora

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

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

PCC104 - Projeto e Análise de Algoritmos

Melhores momentos AULA 3. Otimização Combinatória p. 102

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

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

Análise de Algoritmos. Slides de Paulo Feofiloff

5COP096 TeoriadaComputação

O Problema da 3- Coloração de Grafos

Complexidade de Algoritmos

ANÁLISE DE ALGORITMOS (INF 1721)

Algoritmos de Aproximação Segundo Semestre de 2012

Teoria e Algoritmos em Grafos

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Corte Máximo em Grafos Notas de aula de MAC-5727

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

Departamento de Engenharia de Produção UFPR 22

Algoritmos Combinatórios: Backtracking

XLVI Pesquisa Operacional na Gestão da Segurança Pública

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Teoria dos Grafos Aula 14

Abordagens para Resolução de Problemas

Problemas de Fluxo em Redes

ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção

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

Introdução à Teoria dos Grafos

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares

Jogos de soma zero com dois jogadores

Algoritmos de aproximação - Problema da Mochila

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

Problemas de otimização

Projeto de Algoritmos por Indução

Busca em Profundidade e em Largura

MIRAH ALVES FERREIRA NOVOS DESENVOLVIMENTOS PARA A SOLUÇÃO DO PROBLEMA DE PARTIÇÃO DE UM GRAFO EM ÁRVORES K-CAPACITADAS

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

Teoria dos Grafos Aula 22

Análise e Síntese de Algoritmos

Tese apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do grau de doutor em

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Algoritmos de segmentação por corte em grafo generalizado

CI065 CI755 Algoritmos e Teoria dos Grafos

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)

Notas 1 / 14. Notas. todos os pares de pontos devem ser ligados por ao menos um percurso; usaremos um mínimo possível de ligações. 2 / 14.

Algoritmos de Aproximação Segundo Semestre de 2012

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II

Projeto de doutorado Recoloração Convexa de Árvores

Parte II. Aplicações em Roteamento de Veículos

PCC104 - Projeto e Análise de Algoritmos

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

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

ANÁLISE DE ALGORITMOS

Transcrição:

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 de São Paulo Dezembro de 2012

Sumário Árvore de Steiner Árvore de Steiner com coleta de prêmios Algoritmo de ABHK Considerações finais

Sumário Árvore de Steiner Árvore de Steiner com coleta de prêmios Algoritmo de ABHK Considerações finais

Árvore de Steiner Dados: um grafo e um subconjunto R de vértices terminais. : R

Árvore de Steiner Conecta os vértices terminais. Exemplo: : R

Custo da árvore de Steiner Dados custos nas arestas, o custo desta árvore de Steiner é 7 + 4 + 2 + 4 + 3 + 5 + 3 = 28. 7 4 2 2 4 3 5 1 2 3 1

O problema da árvore de Steiner Dados: Grafo G Custos c e 0 nas arestas Subconjunto R de vértices terminais Objetivo: Encontrar uma árvore de Steiner T de G com custo mínimo

O problema da árvore de Steiner Exemplo: árvore com custo mínimo 4 + 2 + 2 + 1 + 3 + 1 + 2 = 15. 7 4 2 2 4 3 5 1 2 3 1

Caminho Mínimo Se R = 2 : problema do caminho mínimo. 7 4 2 2 4 3 5 1 2 3 1 : R

Árvore Geradora Mínima Se R = V G : problema da árvore geradora mínima. 7 4 2 2 4 3 5 1 2 3 1 : R

Complexidade computacional Fato: o problema da árvore de Steiner é NP-difícil. Redução polinomial do problema CE d (U, F) para o problema MinST d (G, c, R, k)

Complexidade computacional Exemplo de cobertura exata: U = {1, 2, 3, 4, 5} e F = {{1}, {1, 2, 3}, {2, 3}, {4, 5}, {1, 2, 4}, {1, 3, 5}}, a subfamília {{1}, {2, 3}, {4, 5}} é uma cobertura exata de U

Complexidade computacional U = {1, 2, 3, 4, 5} e F = {{1, 2, 3}, {4, 5}, {1, 2, 4}, {1, 3, 5}, {2, 3}, {1}}, n 0 1 2 3 3 3 2 t = U k = t + t 2 {1} {2, 3} {1, 2, 3} {1, 2, 4} {1, 3, 5} {4, 5} 1 2 3 4 5 arestas com custo 5

Complexidade computacional {1} n 0 1 2 3 3 3 2 t = U k = t + t 2 {2, 3} {1, 2, 3} {1, 2, 4} {1, 3, 5} {4, 5} 1 2 3 4 5 arestas com custo 5

Um pouco de história... Algoritmos de aproximação: 2,000 Goemans e Williamson, 1995 1,833 Zelikovsky, 1993 1,746 Berman e Ramaiyer, 1992 1,693 Zelikovsky, 1997 1,667 Promel e Steger, 1997 1,644 Karpinski e Zelikovsky, 1997 1,598 Hougardy, 1999 1,550 Robin e Zelikovsky, 2005 1,390 Byrka, Grandoni, Rothvoss e Sanita, 2010

Programação linear: Primal minimize sob as restrições custo da árvore corte de todo conjunto ativo contém uma aresta A A = {A : A é ativo}

Programação linear: Dual maximize sob as restrições largura das molduras dos conjuntos ativos molduras respeitam custos das arestas

Algoritmo MinST-GW 1. Expansão: enquanto há componente ativo Incrementar molduras dos componentes ativos até uma aresta ficar justa Adicionar esta aresta à floresta e iniciar outra iteração

Execução: MinST-GW Grafo G:

Execução: expansão

Execução: expansão

Execução: expansão

Execução: expansão

Execução: expansão

Execução: expansão

Execução: expansão

Execução: expansão

Execução: fim da expansão

Algoritmo MinST-GW 2. Poda: Calcular árvore de Steiner minimal

Execução: fim da expansão

Execução: poda

Fator de aproximação O algoritmo MinST-GW é uma 2-aproximação

Sumário Árvore de Steiner Árvore de Steiner com coleta de prêmios Algoritmo de ABHK Considerações finais

Custos e penalidades Dados: um grafo, custos nas arestas e penalidades nos vértices. 3 7 6 42 4 2 1 2 5 4 3 7 1 8 5 4 2 3 2 1 4

O problema da árvore de Steiner com coleta de prêmios Dados: Grafo G Custos c e 0 nas arestas Penalidades π v 0 nos vértices Objetivo: Encontrar uma árvore T de G que minimize custos das arestas + penalidades dos vértices fora

Custo da árvore de Steiner com coleta de prêmios O custo de T é 4+4+3+1+2 + 3+42+5+4 = 68. 3 7 6 42 4 2 1 2 5 4 3 7 1 8 5 4 2 3 2 1 4

Árvore de Steiner com coleta de prêmios O custo de T é 4+4+3+1+2+2 + 3+5+4 = 28. 3 7 6 42 4 2 1 2 5 4 3 7 1 8 5 4 2 3 2 1 4

Versão com raiz O custo de T r é 7+4+2+3+1 + 5+4+4+2 = 32. r 7 6 42 4 2 1 2 5 4 3 7 1 8 5 4 2 3 2 1 4

Complexidade computacional O problema da árvore de Steiner com coleta de prêmios também é NP-difícil.

Um pouco de história... 3 Bienstock, 1993 2 1 n 1 Goemans e Williamson, 1995 2 Johnson, Minkoff e Philips, 2000 2 2 n Feofiloff, Fernandes, Ferreira e Pina, 2007 2 ε Archer, Bateni, Hajiaghayi, Karloff, 2009

Programação linear: Primal minimize custo da árvore + penalidades dos vértices fora da árvore A A = {A : A é ativo}

Programação linear: Dual maximize sob as restrições largura das molduras dos conjuntos ativos molduras respeitam custos e penalidades

Algoritmo PCST-GW 1. Expansão: enquanto há pelo menos 2 componentes ativos Incrementar molduras dos componentes ativos até: a. uma aresta ficar justa, ou b. um componente ficar saturado, ou c. o complemento de um componente ficar saturado a. Adicionar a aresta à floresta e iniciar outra iteração, ou b. Desativar o componente e iniciar outra iteração (Z), ou c. Devolver a árvore induzida por este componente

Execução: PCST-GW e 9 c 7 9 d b8 3 a

Execução: aresta justa e 9 c 7 9 d b8 3 a

Execução: aresta justa 9 e c 7 9 d b8 3 a

Execução: componente saturado 9 e c 7 9 d b 8 3 a

Execução: fim da expansão 9 e c 7 9 d b8 3 a

Algoritmo PCST-GW 2. Poda: enquanto há um conjunto S que foi desativado (Z) tal que δ T (S) = 1 Remover S da árvore T e iniciar nova iteração

Execução: fim da expansão 9 e c 7 9 d b8 3 a

Execução: ponte! 9 e c 7 9 d b8 3 a ponte!

Execução: poda 9 e c 7 9 d b8 3 a

Algoritmo com raiz Penalidade da raiz r =

Fator de aproximação A árvore T devolvida por R-PCST-GW satisfaz c(t ) + 2 π(t ) 2 opt

Sumário Árvore de Steiner Árvore de Steiner com coleta de prêmios Algoritmo de ABHK Considerações finais

ABHK - Visão geral O algoritmo R-PCST-GW lida bem quando árvore paga muita penalidade Estratégia Gerar duas árvores T GW e T ST e devolver a mais barata

Primeira candidata T GW = R-PCST-GW(G, r, c, 1 2 π)

Análise da primeira candidata (0) T GW = R-PCST-GW(G, r, c, 1 2 π) T = R-PCST-GW(G, r, c, π) O = árvore ótima da instância (G, r, c, π)

Análise da primeira candidata (1) c(t GW ) + 2 c(t ) + 2 π(t ) 2 opt ( ) 1 2 π (T GW ) 2 opt 1 2 c(t GW ) + π(t GW ) 2 opt 1 2

Análise da primeira candidata (2) c(t GW ) + π(t GW ) 2 opt 1 2 2 (c(o) + 12 π(o) ) = 2c(O) + π(o) = 2opt π(o)

Análise da primeira candidata (3) c(t GW ) + π(t GW ) 2opt π(o) δ = π(o) opt c(t GW ) + π(t GW ) 2 opt δopt = (2 δ) opt

Segunda candidata: intuição Mas e se δ < ε? Ideia ingênua: Identificar vértices terminais, usando R-PCST-GW Utilizar um algoritmo para o problema MinST como caixa-preta

Segunda candidata Execute R-PCST-Expansão(G, r, c,βπ) β > 1 D β = S Z S T ST = MinST ρ (G, c,d β )

Análise da segunda candidata Limitar c(t ST ) e π(t ST )

Análise da segunda candidata Demonstra-se que: c(t ST ) ρ(1 + (2β 1)δ) opt π(d β ) ( ) 1 δ β + δ opt

Análise da segunda candidata c(t ST ) + π(t ST ) ( ρ(1 + (2β 1)δ) + 1 δ β + δ ) opt

Análise da segunda candidata Teorema Se β = 2 2 ρ, então o algoritmo R-PCST-ABHK tem fator de aproximação 2 ( 2 ρ 2+ρ )2

Fator de aproximação Finalmente... A árvore T devolvida por R-PCST-ABHK satisfaz c(t ) + π(t ) (2 ε(ρ)) opt

Fatores de aproximação MinST ρ Fator de R-PCST-ABHK Zelikovsky (1993) 1,83 1,9982 Robin e Zelikovsky (2005) 1,55 1,9839 Byrka et al.(2010) 1,39 1,9672 opt MinST 1,00 1,8889

Curiosidade Algoritmo R-PCST-ABHK não tenta resolver o problema original.

Sumário Árvore de Steiner Árvore de Steiner com coleta de prêmios Algoritmo de ABHK Considerações finais

R-PCST-ABHK PCST-GW Comparativo entre os fatores 2 ε e 2 2 n : MinST ρ 2 ε n >? Zelikovsky (1993) 1,83 1,9982 1111 Robin e Zelikovsky (2005) 1,55 1,9839 124 Byrka et al.(2010) 1,39 1,9672 60 opt MinST 1,00 1,8889 18

Resumindo... Descrição e análise dos principais algoritmos de aproximação: MinST, PCST, R-PCST; Padronização para conceitos, notação e algoritmos; Descrição e análise do algoritmo R-PCST-ABHK.

Que interessante... com ou sem raiz? prize-collecting; relaxação linear importante (conceito de A);

Futuro (2 ε)-aproximação sem raiz; implementações; abordagens diferentes.

Referências 1 Uma introdução sucinta a algoritmos de aproximação, 2001 M.Carvalho, M.Cerioli, R.Dahab, P.Feofiloff, C.Fernandes, C.Ferreira, K.Guimarães, F.Miyazawa, J.Pina, J.Soares, Y.Wakabayashi 2 A general approximation technique for constrained forest problems, 1995 M.Goemans, D.Williamson

Referências Primal-dual approximation algorithms for the Prize-Collecting Steiner Tree Problem, 2007 P.Feofiloff, C. Fernandes, C.Ferreira, J.Pina Improved approximation algorithms for Prize-Collecting Steiner Tree and TSP, 2011 A.Archer, M.Bateni, M.Hajiaghayi, H.Karloff

Um exemplo ruim Para k 2, um 2k-ciclo + um vértice: 1 1 1+z 1 1+z 1+z 1 1 1 k = 3

Um exemplo ruim T α : custo = 2k 2 1 1 1+z 1 1+z 1+z 1 1 1 custo = 4

Um exemplo ruim Árvore ótima: custo = k(1 + z) Fator de aproximação 2 quando k e z 0 1 1 1 1+z 1+z 1+z 1 1 1 custo = 3+3z

Análise da segunda candidata T ST Limitar separadamente c(t ST ) e π(t ST ).

Análise da segunda candidata π(t ST ) É suficiente limitar π(d β ). Vale que π(d β ) ( ) 1 δ + δ opt β

Análise da segunda candidata c(t ST ) Vale que c(t ST ) ρ(1 + (2β 1)δ

Análise da segunda candidata c(t ST ) detalhe Hipótese: Vale lema 5.5 Sejam T, y, L F e Z = R-PCST-Expansão(G, r, c, π). D = S Z S I qualquer subconjunto de vértices de V G que contém r A = D \ I = I \ D Então existe uma floresta K T que satisfaz: 1 V K contém todos os vértices em A; 2 Cada árvore na floresta K inclui exatamente um vértice de I ; 3 c(k) 2 S I y S 2π(I ).

Análise da segunda candidata c(t ST ) fig1 I I D r A D O diagrama ilustra os subconjuntos I e D de V G. As arestas sólidas representam a floresta K.

Análise da segunda candidata c(t ST ) fig2 I I D r A D As arestas em linhas pontilhadas conectam vértices em I e as arestas sólidas formam a árvore T.

Análise da segunda candidata c(t ST ) fig3 D D I r (a) I A (a) Na primeira fase, as arestas de T que conectam dois vértices de I são removidas. D D I r (b) I A (b) Na segunda fase, os conjuntos pontilhados que foram desativados durante a execução de R-PCST-Expansão e que não contêm vértices de I são removidos.