Perché non possiamo trovare percorsi più brevi con pesi negativi semplicemente aggiungendo una costante in modo che tutti i pesi siano positivi?


12

Attualmente sto leggendo l'introduzione agli algoritmi e sono arrivato dall'algoritmo di Johnson che dipende dal fatto che tutti i percorsi siano positivi.

l'algo dipende dal trovare una nuova funzione di peso (w ') che è positiva per tutti i bordi e mantiene la correttezza delle relazioni dei percorsi più brevi.

Lo fa calcolando i valori h (s), h (d) da aggiungere al valore originale w.

La mia domanda è: perché non trovare la più piccola w nel grafico e aggiungerla a tutti i bordi? questo soddisferà entrambe le condizioni e richiederà meno calcoli.


2
Hai provato a provare il tuo reclamo o a trovare un contro-esempio? Suggerimento: la tua intuizione è sbagliata. (Community, sono abbastanza sicuro che sia un duplicato. Riesci a trovarlo?)
Raphael

@Raphael Sono abbastanza sicuro che sia anche un dupe, ma ho pensato che sarebbe stato più veloce rispondere che trovare il dupe.
David Richerby,

@Raphael Mi dispiace dal momento che non potevo esprimere la mia domanda in un formato specifico che non potevo cercarla.
Mr. Me

1
Abbiamo una domanda che già spiega questo , ma è stata contrassegnata come una copia di un'altra domanda che è piuttosto confusa e difficile da capire, e che mescola più domande diverse insieme . Pertanto, penso che questa domanda abbia un valore su ciò che avevamo prima. Se lo desideri, suppongo che potremmo ri-indirizzare i duplicati (chiuderli come duplicati di questo invece di ciò che attualmente indicano).
DW

Risposte:


23

L'aggiunta di un peso a ciascun bordo aggiunge più peso ai percorsi lunghi rispetto ai percorsi brevi. (Lungo nel senso di avere molti bordi.)

Ad esempio, supponiamo che il bordo più economico abbia un peso  e che ci siano due percorsi da a  : un bordo singolo di peso  e un percorso con due bordi, ciascuno del peso  . Il percorso a due bordi ha il peso più basso. Tuttavia, se si aggiunge a ogni lato, il percorso a un bordo ha un peso  ma il percorso a due bordi ora ha un peso  , quindi si ottiene la risposta sbagliata.-2un'B31256


0

Aumentare ogni peso del bordo della stessa quantità non aumenta necessariamente ogni percorso della stessa quantità di distanza. Piuttosto, l'aumento dei percorsi è spesso sproporzionato, il che dipende da quanti bordi ha il percorso.


2
Questo effetto è già menzionato nell'altra risposta.
Yuval Filmus,

L'ho appena riformulato fino al punto di confusione.
Pendechosen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.