È possibile utilizzare l'algoritmo di Dijkstra con pesi negativi?Algoritmo di Dijkstra con pesi negativi
STOP! Prima di pensare "lol nub puoi saltare infinitamente tra due punti e ottenere un percorso infinitamente economico", sto pensando più a percorsi a senso unico.
Un'applicazione per questo sarebbe un terreno montuoso con punti su di esso. Ovviamente passare dall'alto al basso non richiede energia, infatti, genera energia (quindi un peso percorso negativo)! Ma tornare indietro non funzionerebbe in questo modo, a meno che tu non sia Chuck Norris.
Stavo pensando di incrementare il peso di tutti i punti finché non sono negativi, ma non sono sicuro che funzionerà.
http: //en.wikipedia.org/wiki/Bellman-Ford_algorithm – Bart
Wikipedia ha da dire: "A differenza dell'algoritmo di Dijkstra, l'algoritmo di Bellman-Ford può essere usato su grafici con pesi negativi, purché il grafico non contenga cicli negativi raggiungibili dal vertice sorgente s. (La presenza di tali cicli significa che non c'è percorso più breve, poiché il peso totale si riduce ogni volta che il ciclo è attraversato.) ' – Rom1
Ho trovato questo: http://stackoverflow.com/questions/6799172/negative-weights-using -dijkstra-algorithm per essere una spiegazione molto migliore – basarat