Segundo menor

13

Existe algo conhecido sobre o segundo menor - t- cut em uma rede de fluxo? Ou, de maneira mais geral, sobre esse problema:st

Entrada: Uma rede e um número k , todos em binário. Saída: Um k é o menor corte s - t .Nk
kst

Um é o menor corte s - t ( S , T ) é qualquer corte s - t , de modo que haja exatamente k - 1 s -kst(S,T)stk-1 scortes t cujas capacidadest

  • são pares diferentes e
  • verdadeiramente menor que a capacidade de (S,T) .

Gostaria de saber como isso pode ser calculado e se isso pode ser feito com eficiência, como no caso k=1 .

Oliver Witt
fonte
Você pode encontrar o segundo menor corte adicionando peso a todas as bordas no menor corte e depois calcular o novo menor corte. Provavelmente isso funciona desde que k seja codificado em unário (e certamente para k constante). ϵkk
Yuval Filmus
2
Não vejo como isso ajuda. Imagine uma rede de caminhos que consiste nos três nós , v , t apenas com as duas arestas ( s , v ) e ( v , t ) . Além disso, deixar que as capacidades de ser c ( s , v ) = 1 e C ( v , t ) = 2 . Claramente, os cortes mínimos ( s , v ) e os segundos menores cortes (svt(s,v)(v,t)c(s,v)=1c(v,t)=2(s,v) . Aumentar as capacidades, como você descreveu, produziria novamente ( s , v ) como min-cut com a capacidade 1 + ϵ . Como vou inferir o segundo menor corte disso? (v,t)(s,v)1+ϵ
23715 Oliver Witt
Adicionar um limite inferior ao limite de corte é uma desigualdade linear, basta adicionar um épsilon maior que o limite de min e executar o LP. Você pode repeti-lo k vezes para obter o que deseja. Provavelmente isso pode ser reformulado como uma modificação na rede, mas ainda não o resolvi.
Kaveh
Eu vejo como isso funciona se estiver em codificação unária. O que, se for binário? Nesse caso, a modificação da rede não pode ser feita em k iterações. kk
22615 Oliver Witt
1
Duvido que exista uma solução fácil se k for binário. Podemos verificar se há um corte da tampa c, como descrevi. Parece-me que, basicamente, está contando o número possível de c, pode estar relacionado à contagem do número de correspondências e provavelmente # P-completo. (Esta é apenas a minha intuição, não um argumento.)
Kaveh

Respostas:

7

O segundo corte menor e, geralmente, os cortes menores, podem ser encontrados no polinômio de tempo em ke tamanho da rede. Vejo:kk

HW Hamacher. Um algoritmo para encontrar os k melhores cortes em uma rede. Oper. Res. Lett. 1 (5): 186-189, 1982, doi: 10.1016 / 0167-6377 (82) 90037-2 .(Kn4)k

HW Hamacher, J.‑C. Picard e M. Queyranne. Ao encontrar os melhores cortes em uma rede. Oper. Res. Lett. 2 (6): 303-305, 1984, doi: 10.1016 / 0167-6377 (84) 90083-X .K

HW Hamacher e M. Queyranne. melhores soluções para problemas de otimização combinatória. Ann. Oper. Res. 4 (1–4): 123-143, 1985, doi: 10.1007 / BF02022039 .K

David Eppstein
fonte
Eles não permitem pesos iguais entre os superiores ? A pergunta parece estar se perguntando sobre o k-é o menor peso , que, como sugere Kaveh, cheira mais a um problema de P-completo. kk
András Salamon
Também entendo assim: pesos iguais são permitidos. Isso parece não responder à pergunta. No entanto, eu não tinha conhecimento desses papéis, obrigado por isso.
Oliver Witt
1
A pergunta está mal formulada, porque pede uma coisa (o menor corte) e depois adiciona uma restrição que transforma a pergunta em outra coisa (o k é o menor peso de corte distinto). Concordo que a versão de peso distinto do problema provavelmente será $ P-complete. kk
David Eppstein