Considere um gráfico não direcionado conectado com pesos de aresta não negativos e dois vértices distintos . Abaixo estão alguns problemas de caminho com a seguinte forma: encontre um caminho , de modo que alguma função dos pesos das arestas no caminho seja mínima. Nesse sentido, todos são "parentes" do problema do caminho mais curto; neste último, a função é simplesmente a soma.
Nota: Estamos procurando caminhos simples, ou seja, sem vértices repetidos. Como não encontrei nomes padrão para esses problemas na literatura, eu mesmo os nomeei.
Caminho com intervalo mínimo de peso: encontre um caminho , de modo que a diferença entre os pesos maior e menor da borda no caminho seja mínima.
Caminho mais suave: encontre um caminho , de modo que o maior tamanho de passo no caminho seja mínimo, onde um tamanho de passo seja o valor absoluto da diferença de peso entre duas arestas consecutivas .
Caminho com altitude mínima: Vamos definir a altitude de um caminho pela soma dos tamanhos dos passos ao longo do caminho (consulte a definição do tamanho do passo acima). Encontre um caminho com altitude mínima.
Caminho com peso primo mínimo: assumindo que todos os pesos das arestas são inteiros positivos, encontre um caminho , de modo que seu peso seja um número primo. Se houver esse caminho, encontre um com o menor peso principal possível.
Pergunta: o que se sabe sobre esses problemas de caminho? (E outras que poderiam ser concebidas com espírito semelhante, aplicando uma função diferente dos pesos.) Em geral, existe alguma orientação de que funções dos pesos das arestas podem ser minimizadas no tempo polinomial e quais são difíceis de NP?
Nota: é interessante, por exemplo, que embora a soma dos pesos seja fácil de minimizar (é o problema clássico do caminho mais curto), mas minimizar a média intimamente relacionada dos pesos no caminho é difícil para o NP. (Peso Atribuir 2 para todas as arestas incidente para e , e um peso de todos os outros, então um min caminho peso médio será uma mais longa. caminho).
fonte
Caminho com intervalo de peso mínimo : Isso pode ser resolvido no tempoO~( | E|2) , onde | E| é o número de arestas (assumindo que | E| é pelo menos linear no número de vértices). Você pode fazer um loop sobre o peso mínimo e fazer pesquisa binária (ou atualizações eficientes) sobre o peso máximo e verificar a conectividade. Não sei se isso pode ser melhorado.
fonte