Por que não podemos encontrar caminhos mais curtos com pesos negativos apenas adicionando uma constante para que todos os pesos sejam positivos?

12

Atualmente, estou lendo a introdução aos algoritmos e vim pelo algoritmo de Johnson, que depende de garantir que todos os caminhos sejam positivos.

o algo depende de encontrar uma nova função de peso (w ') que seja positiva para todas as arestas e mantenha a correção das relações de caminhos mais curtos.

Isso é feito calculando os valores de h (s), h (d) a serem adicionados ao valor original de w.

Minha pergunta é: por que não encontrar o menor w no gráfico e adicioná-lo a todas as arestas? isso satisfará ambas as condições e exigirá menos cálculo.

Mr.Me
fonte
2
Você já tentou provar sua reivindicação ou encontrar um contra-exemplo? Dica: sua intuição está errada. (Comunidade, eu tenho certeza que isso é uma duplicata Você pode encontrá-lo.?)
Raphael
@ Rafael Eu tenho certeza que também é um idiota, mas achei que seria mais rápido responder do que encontrar o idiota.
precisa saber é o seguinte
@ Rafael Sinto muito, pois não consegui formular minha pergunta em um formato específico, não consegui procurá-la.
Mr.Me
11
Nós temos uma pergunta que já explica isso , mas foi marcada como um dup de outra pergunta que é bastante confusa e difícil de entender, e que mistura várias perguntas diferentes . Portanto, acho que essa pergunta tem valor sobre o que tínhamos antes. Se você quiser, suponho que poderíamos redirecionar os dups (fechá-los como um dup disso em vez do que eles apontam atualmente).
DW

Respostas:

23

A adição de um peso a cada aresta adiciona mais peso a caminhos longos do que caminhos curtos. (Longo no sentido de ter muitas arestas.)

Por exemplo, suponha que a aresta de menor custo tenha peso  e há dois caminhos de a  : uma única aresta de peso  e um caminho com duas arestas, cada uma com peso  . O caminho de duas arestas tem o menor peso. No entanto, se você adicionar a cada borda, o caminho de uma borda terá peso  mas o caminho de duas arestas agora terá peso  , para obter a resposta errada.2ab31256

David Richerby
fonte
0

Aumentar cada peso de borda na mesma quantidade não aumenta necessariamente todos os caminhos na mesma quantidade de distância. Em vez disso, o aumento dos caminhos costuma ser desproporcional, o que depende de quantas arestas o caminho possui.

Pendechosen
fonte
2
Este efeito já é mencionado na outra resposta.
Yuval Filmus
Eu apenas reformulei ao ponto de confusão.
precisa saber é o seguinte