Algoritmos para o problema da ´
arvore de
Steiner com coleta de prˆ
emios
Camila Mari Matsubara
Orientador: Prof. Dr. Jos´e Coelho de Pina Defesa de mestrado
Instituto de Matem´atica e Estat´ıstica Universidade de S˜ao Paulo
Sum´
ario
´
Arvore de Steiner
´
Arvore de Steiner com coleta de prˆemios
Algoritmo de ABHK
Sum´
ario
´
Arvore de Steiner
´
Arvore de Steiner com coleta de prˆemios
Algoritmo de ABHK
´
Arvore de Steiner
Dados: um grafo e um subconjunto R de v´ertices terminais.
´
Arvore de Steiner
Conecta os v´ertices terminais. Exemplo:
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≥ 0 nas arestas
SubconjuntoR de v´ertices terminais
Objetivo:
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
Caminho M´ınimo
Se |R| = 2 : problema docaminho m´ınimo.
7 4 2 2 4 1 3 5 1 2 3 : R
´
Arvore Geradora M´ınima
Se R = VG : problema da´arvore geradora m´ınima.
7 4 2 2 4 1 3 5 1 2 3 : R
Complexidade computacional
Fato: o problema da ´arvore de Steiner ´e NP-dif´ıcil.
Redu¸c˜ao polinomial do problema CEd(U, F )
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}} ´e umacobertura 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}}, n0 1 2 3 4 5 {4, 5} {1, 3, 5} {1, 2, 4} {1, 2, 3} {2, 3} {1} 1 2 3 3 3 2arestas com custo 5 t = |U|
Complexidade computacional
n0 1 2 3 4 5 {4, 5} {1, 3, 5} {1, 2, 4} {1, 2, 3} {2, 3} {1} 1 2 3 3 3 2arestas com custo 5 t = |U|
Um pouco de hist´
oria...
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
Programa¸c˜
ao linear: Primal
minimize custo da ´arvore
sob as restri¸c˜oes corte de todoconjunto ativo
cont´em uma aresta
A
Programa¸c˜
ao linear: Dual
maximize largura das molduras dos conjuntos ativos
Algoritmo MinST-GW
1. Expans˜ao: enquanto h´a componente ativo
Incrementar molduras dos componentes ativos at´e uma aresta ficar justa
Execu¸c˜
ao: MinST-GW
Algoritmo MinST-GW
2. Poda:
Fator de aproxima¸c˜
ao
Sum´
ario
´
Arvore de Steiner
´
Arvore de Steiner com coleta de prˆemios
Algoritmo de ABHK
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:
Grafo G
Custos ce≥ 0 nas arestas
Penalidadesπv ≥ 0 nos v´ertices
Objetivo:
Encontrar uma ´arvoreT de G que minimizecustos 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
Vers˜
ao com raiz
O custo deTr ´e 7+4+2+3+1 +5+4+4+2= 32. 7 4 2 2 4 1 3 5 1 2 3 42 6 5 4 1 4 2 7 8 rComplexidade computacional
O problema da ´arvore de Steiner com coleta de prˆemios tamb´em ´e
Um pouco de hist´
oria...
3 Bienstock, 1993
2−n−11 Goemans e Williamson, 1995
2 Johnson, Minkoff e Philips, 2000
2−2n Feofiloff, Fernandes, Ferreira e Pina, 2007
Programa¸c˜
ao linear: Primal
minimize custo da ´arvore +
penalidades dos v´ertices fora da ´arvore
A
Programa¸c˜
ao linear: Dual
maximize largura das molduras dos conjuntos ativos
sob as restri¸c˜oes molduras respeitam
Algoritmo PCST-GW
1. Expans˜ao: enquanto h´a pelo menos 2 componentes ativos
Incrementar molduras dos componentes ativos at´e: a. uma aresta ficar justa, 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 (Z), ou c. Devolver a ´arvore induzida por este componente
Execu¸c˜
ao: PCST-GW
3 8 7 9 a b c d 9 eExecu¸c˜
ao: aresta justa
3 8 7 9 a b c d 9 eExecu¸c˜
ao: aresta justa
3 8 7 9 a b c d 9 eExecu¸c˜
ao: componente saturado
3 8 7 9 a b c d 9 eExecu¸c˜
ao: fim da expans˜
ao
3 8 9 a b d 7 9 e cAlgoritmo PCST-GW
2. Poda: enquanto h´a um conjuntoS que foi desativado (Z) tal que |δT(S)| = 1
Execu¸c˜
ao: fim da expans˜
ao
3 8 9 a b d 7 9 e cExecu¸c˜
ao: ponte!
3 ponte! 8 9 a b d 7 9 e cExecu¸c˜
ao: poda
3 8 9 a b d 7 9 e cAlgoritmo com raiz
Fator de aproxima¸c˜
ao
A ´arvoreT devolvida por R-PCST-GW satisfaz
Sum´
ario
´
Arvore de Steiner
´
Arvore de Steiner com coleta de prˆemios
Algoritmo de ABHK
ABHK - Vis˜
ao geral
O algoritmoR-PCST-GW lida bem quando ´arvore paga muita
penalidade
Estrat´egia
Primeira candidata
An´
alise da primeira candidata
(0)TGW =R-PCST-GW(G , r , c,12π)
T =R-PCST-GW(G , r , c, π)
An´
alise da primeira candidata
(1) c(T ) + 2π(T ) ≤ 2 opt c(TGW) + 2 1 2π ! (TGW) ≤ 2opt1 2 c(TGW) + π(TGW) ≤ 2opt1 2An´
alise da primeira candidata
(2) c(TGW) + π(TGW) ≤ 2opt1 2 ≤ 2 c(O) +1 2π(O) ! = 2c(O) + π(O) = 2opt− π(O)An´
alise da primeira candidata
(3)c(TGW) + π(TGW) ≤ 2opt− π(O)
δ= π(optO)
c(TGW) + π(TGW) ≤ 2opt−δopt
Segunda candidata: intui¸c˜
ao
Mas e seδ < ε?
Ideia ingˆenua:
Identificar v´erticesterminais, usandoR-PCST-GW
Utilizar um algoritmo para o problemaMinST como
Segunda candidata
Execute R-PCST-Expans˜ao(G , r , c,βπ) β > 1
Dβ =SS∈ZS
An´
alise da segunda candidata
An´
alise da segunda candidata
Demonstra-se que: c(TST) ≤ ρ(1 + (2β− 1)δ)opt π(Dβ) ≤ 1−δ β +δ ! optAn´
alise da segunda candidata
c(TST) + π(TST) ≤ ρ(1 + (2β− 1)δ) + 1 −δ
β +δ
!
An´
alise da segunda candidata
Teorema
Seβ = 2−2ρ, ent˜ao o algoritmo R-PCST-ABHK tem
Fator de aproxima¸c˜
ao
Finalmente...
A ´arvoreT devolvida por R-PCST-ABHK satisfaz
Fatores de aproxima¸c˜
ao
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
Curiosidade
AlgoritmoR-PCST-ABHK n˜ao tenta resolver o problema
Sum´
ario
´
Arvore de Steiner
´
Arvore de Steiner com coleta de prˆemios
Algoritmo de ABHK
R-PCST-ABHK × PCST-GW
Comparativo entre os fatores2−εe 2−2n:
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 optMinST 1,00 1,8889 18
Resumindo...
Descri¸c˜ao e an´alise dos principais algoritmos de aproxima¸c˜ao:
MinST, PCST, R-PCST;
Padroniza¸c˜ao para conceitos, nota¸c˜ao e algoritmos; Descri¸c˜ao e an´alise do algoritmo R-PCST-ABHK.
Que interessante...
com ou sem raiz? prize-collecting;
Futuro
(2−ε)-aproxima¸c˜ao sem raiz; implementa¸c˜oes;
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
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, 2011
Um exemplo ruim
Para k ≥ 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 = 4Um 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
An´
alise da segunda candidata T
STAn´
alise da segunda candidata π(T
ST)
´ E suficiente limitar π(Dβ). Vale que π(Dβ) ≤ 1 −δ β +δ ! optAn´
alise da segunda candidata c(T
ST)
Vale que
An´
alise da segunda candidata c(T
ST)
detalheHip´otese: Vale lema 5.5
Sejam T , y , LF e Z = R-PCST-Expans˜ao(G , r , c, π). D = ∪S∈ZS
I qualquer subconjunto de v´ertices de VG que cont´em r
A = D \ I = I \ D
Ent˜ao existe uma florestaK⊆ T que satisfaz:
1 VK cont´em todos os v´ertices em A;
2 Cada ´arvore na floresta K inclui exatamente um v´ertice de I ; 3 c(K) ≤ 2P
An´
alise da segunda candidata c(T
ST)
fig 1 r A D D I IO diagrama ilustra os subconjuntos I e D de VG. As arestas
An´
alise da segunda candidata c(T
ST)
fig 2 r A D D I IAs arestas em linhas pontilhadas conectam v´ertices em I e as arestas s´olidas formam a ´arvore T .
An´
alise da segunda candidata c(T
ST)
fig 3 r A D D I I r A D D I I (a) (b)(a) Na primeira fase, as arestas de T que conectam dois v´ertices de I s˜ao removidas.
(b) Na segunda fase, os conjuntos pontilhados que foram
desativados durante a execu¸c˜ao de R-PCST-Expans˜ao e que n˜ao contˆem v´ertices de I s˜ao removidos.