Arvore de Steiner com coleta de prˆ ´ emios
Camila Mari Matsubara
Orientador: Prof. Dr. Jos´e Coelho de Pina
Exame de Qualifica¸c˜ao para Mestrado Instituto de Matem´atica e Estat´ıstica
Universidade de S˜ao Paulo
Julho de 2011
Arvore de Steiner ´
Dados: um grafo e um subconjunto R de v´ertices terminais.
: R
Arvore de Steiner ´
Conecta os v´ertices terminais. Exemplo:
: R
Custo da ´ arvore de Steiner
Dados custos nas arestas, o custo desta´arvore de Steiner ´e 7 + 4 + 2 + 4 + 3 + 5 + 3 = 28.
7
4 2
2 4
1
3
5
1 2
3
O problema da ´ arvore de Steiner
Dados:
GrafoG
Custosce≥0nas arestas
SubconjuntoR de v´ertices terminais
Objetivo:
Encontrar uma ´arvore de Steiner T deG com custo m´ınimo
O problema da ´ arvore de Steiner
Exemplo: ´arvore com custo m´ınimo 4 + 2 + 2 + 1 + 3 + 1 + 2 = 15.
7
4 2
2 4
1
3
5
1 2
3
Casos especiais
Se|R|= 2 : problema docaminho m´ınimo.
7
4 2
2 4
1
3
5
1 2
3
: R
Casos especiais
SeR =VG : problema da´arvore geradora m´ınima.
7
4 2
2 4
1
3
5
1 2
3
: R
Um pouco de hist´ oria...
Fato: o problema da ´arvore de Steiner ´e NP-dif´ıcil.
Algoritmos de aproxima¸c˜ao:
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¸c˜ ao linear: Primal
minimize custo da ´arvore
sob as restri¸c˜oes o corte de todo conjunto ativo cont´em uma aresta
Programa¸c˜ ao linear: Dual
maximize a largura das molduras dos conjuntos ativos sob as restri¸c˜oes as molduras respeitam os custos das arestas
Algoritmo MinST-GW
1. Expans˜ao: enquanto h´a componente ativo
Incrementar molduras dos componentes ativos at´e uma aresta ficar saturada
Adicionar esta aresta `a floresta e iniciar outra itera¸c˜ao 2. Poda:
Calcular ´arvore de Steinerminimal
Simula¸c˜ ao: MinST-GW
GrafoG:
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: expans˜ ao
Simula¸c˜ ao: fim da expans˜ ao
Simula¸c˜ ao: poda
Algoritmo MinST-GW
O algoritmo ´e uma 2-aproxima¸c˜ao
Custos e penalidades
Dados: um grafo, custos nas arestas e penalidadesnos v´ertices.
7
4 2
2 4
1
3
5
1 2
3 42
3
6
5
4 1
4
2 7
8
O problema da ´ arvore de Steiner com coleta de prˆ emios
Dados:
GrafoG
Custosce≥0 nas arestas Penalidadesπv ≥0 nos v´ertices
Objetivo:
Encontrar uma ´arvoreT deG com custo m´ınimo
Custo:
Custos das arestas + penalidades dos v´ertices fora.
Custo da ´ arvore de Steiner com coleta de prˆ emios
O custo deT ´e 4+4+3+1+2 +3+42+5+4= 68.
7
4 2
2 4
1
3
5
1 2
3 42
3
6
5
4 1
4
2 7
8
Arvore de Steiner com coleta de prˆ ´ emios
O custo deT0 ´e 4+4+3+1+2+2+3+5+4= 28.
7
4 2
2 4
1
3
5
1 2
3 42
3
6
5
4 1
4
2 7
8
Um pouco de hist´ oria...
O problema da ´arvore de Steiner com coleta de prˆemios tamb´em ´e NP-dif´ıcil.
3 Bienstock, 1993
2−n−11 Goemans e Williamson, 1995 2 Johnson, Minkoff e Philips, 2000
2−2n Feofiloff, Fernandes, Ferreira e Pina, 2007 2−ε Archer, Bateni, Hajiaghayi, Karloff, 2009
Programa¸c˜ ao linear: Primal
minimize o custo da ´arvore
Programa¸c˜ ao linear: Dual
maximize a largura das molduras dos conjuntos ativos sob as restri¸c˜oes as molduras respeitam
os custos e as penalidades
Algoritmo PCST-GW n˜ ao-enraizado
1. Expans˜ao: enquanto h´a componente ativo
Incrementar molduras dos componentes ativos at´e:
a. uma aresta ficar saturada, ou b. um componente ficar saturado, ou
c. o complemento de um componente ficar saturado a. Adicionara aresta `a floresta e iniciar outra itera¸c˜ao, ou b. Desativaro componente e iniciar outra itera¸c˜ao, ou c. Devolver a ´arvore induzida por este componente
Algoritmo PCST-GW n˜ ao-enraizado
Defini¸c˜ao
SejaS uma cole¸c˜ao de subconjuntos de v´ertices.
O conjuntoS∈ S forma uma pontena ´arvoreT se|δT(S)|= 1.
Algoritmo PCST-GW n˜ ao-enraizado
2. Poda: enquanto h´a componentes desativados pontes
Remover o componente que produz uma ponte e iniciar nova itera¸c˜ao
Simula¸c˜ ao: PCST-GW
7
9
8
4
Simula¸c˜ ao: aresta saturada
7
9
8
4
Simula¸c˜ ao: aresta saturada
7
9
8
4
Simula¸c˜ ao: componente saturado
7
9
8
4
Simula¸c˜ ao: fim da expans˜ ao
7
9
8
4
Simula¸c˜ ao: poda
7
9
8
4
ponte!
Simula¸c˜ ao: ´ arvore final
7
9
8
4
Uma (2−ε)-aproxima¸c˜ ao
Teorema
A ´arvoreT devolvida por PCST-GW satisfaz c(T) + 2π(T)≤2opt
Se π(T) for pelo menosεopt
ent˜aoPCST-GW ´e uma (2−ε)-aproxima¸c˜ao
Ideia
Identificar v´erticesterminais, perturbando as penalidades e usandoPCST-GW
Utilizar um algoritmo para o problemaMinST como caixa-preta
Um exemplo ruim
Parak ≥2, um 2k-ciclo + um v´ertice:
1
1
1
1 1
1
1+z
1+z
1+z
k = 3
Um exemplo ruim
Tα: custo = 2k−2
1
1
1
1 1
1
1+z
1+z
1+z
custo = 4
Um exemplo ruim
Arvore ´´ otima: custo =k(1 +z)
Fator de aproxima¸c˜ao→2 quando k → ∞ e z →0
1
1
1
1 1
1
1+z
1+z
1+z
custo = 3+3z
Intui¸c˜ ao
Se penalidades s˜ao grandes: ok!
pequenas: PCST-GW “encontra” o conjunto de v´ertices que devem estar na ´arvore final, masfalha em obter uma
´
arvore barata.
PCST-ABHK: entrada
Dados:
GrafoG
Custosce≥0 nas arestas Penalidadesπv ≥0 nos v´ertices α ∈(12,1)
β >1
Algoritmo PCST-ABHK
Obter Tα executando PCST-GW(G,c,α π)
Obter T0 eZ executandoPCST-GW-Exp(G,c,πα,β) Obter Tα,β executandoMinST-RZ(G,c,VTα\Z) Escolher a melhor ´arvore dentre Tα e Tα,β
πα,βv =
( βπv sev ∈VTα 0 caso contr´ario.
Algoritmo PCST-ABHK
Obter Tα executando PCST-GW(G,c,α π)
Obter T0 eZ executandoPCST-GW-Exp(G,c,πα,β) Obter Tα,β executandoMinST-RZ(G,c,VTα\Z)
Escolher a melhor ´arvore dentre Tα e Tα,β
πα,βv =
( βπv sev ∈VTα 0 caso contr´ario.
Algoritmo PCST-ABHK
Obter Tα executando PCST-GW(G,c,α π)
Obter T0 eZ executandoPCST-GW-Exp(G,c,πα,β) Obter Tα,β executandoMinST-RZ(G,c,VTα\Z) Escolher a melhor ´arvore dentre Tα e Tα,β
πα,βv =
( βπv sev ∈VTα 0 caso contr´ario.
Existˆ encia de parˆ ametros
Teorema
Em tempo polinomial ´e poss´ıvel encontrar os parˆametrosα eβ tais que o algoritmoPCST-ABHKseja uma (2−ε)-aproxima¸c˜ao, onde (2−ε) = 1,992324
T´ opicos estudados
Problema Fator de aproxima¸c˜ao
MinST 2
MinSF 2
PCST 2−ε
PCST com penalidades submodulares 2
PCST generalizado 2,54
PCSF 2,54
PCST local ratio 2−n−11
PCSToptimality 1
Projeto
Padroniza¸c˜ao para nota¸c˜oes e conceitos
Padroniza¸c˜ao de pseudoc´odigos no formato de m´etodo de casos
Descri¸c˜ao e an´alise dos principais algoritmos de aproxima¸c˜ao Descri¸c˜ao detalhada e an´alise do algoritmoPCST-ABHK An´alise do impacto do fator 1,39 noε
Referˆ encias
1 Uma introdu¸c˜ao sucinta a algoritmos de aproxima¸c˜ao, 2001 M.Carvalho, M.Cerioli, R.Dahab, P.Feofiloff, C.Fernandes, C.Ferreira, K.Guimar˜aes, F.Miyazawa, J.Pina, J.Soares, Y.Wakabayashi
2 A general approximation technique for constrained forest problems, 1995
M.Goemans, D.Williamson
Referˆ encias
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, 2009
A.Archer, M.Bateni, M.Hajiaghayi, H.Karloff
Generaliza¸c˜ oes
PCST
PCST com PCST
PCSF
penalidades conectividade
penalidades submodulares
generalizado