Riferimento per algoritmo veloce per percorsi più brevi colli di bottiglia


12

Sto cercando un buon riferimento per i percorsi più brevi colli di bottiglia. In particolare, dati i vertici s et in un grafico non orientato con pesi di bordo, si desidera il percorso più breve da s a t, dove la lunghezza di un percorso è il bordo massimo di quel percorso. Questo può essere risolto in O (n + m) tempo trovando il peso mediano del bordo e (accuratamente) eliminando ricorsivamente metà dei bordi.

Qualcuno sa un riferimento per questo?


Forse questo è un punto controverso, ma il problema che descrivi è il problema del percorso minimax. Il percorso più breve del collo di bottiglia è la versione max-min di ciò che descrivi. Un algoritmo per una versione generalmente (sempre?) Produce comunque un algoritmo per l'altra versione.
Bbejot,

Risposte:


10

PM Camerini (1978), Il problema dello spanning tree min-max e alcune estensioni, Lettere di elaborazione delle informazioni 7 (1): 10–14, doi: 10.1016 / 0020-0190 (78) 90030-3


5
A proposito, se vuoi risolvere la versione single-source (e in un certo senso tutte le coppie) del problema per i grafici non indirizzati, puoi farlo in tempo O (m + n) randomizzato: TC Hu notò nel 1961 che il i percorsi del collo di bottiglia per tutte le coppie sono codificati in un albero di spanning massimo; quindi l'algoritmo di spanning tree lineare di tempo lineare di Karger, Klein e Tarjan ti dà quello che vuoi.
Virgi,

Per quanto ne so, il riferimento non è ciò di cui ho bisogno. Un percorso st in un albero spanning min-max non è necessariamente un percorso st più breve. Inoltre, l'algoritmo del tempo previsto lineare KKT non è nemmeno quello di cui ho bisogno, poiché voglio un tempo di esecuzione deterministico non previsto. Grazie comunque per l'aiuto.
Ben

4
In realtà, il percorso della st P in un albero di spanning minimo T ha un peso massimo del bordo minimo su tutti i percorsi della st. Supponiamo che non lo sia. Quindi lasciare che il bordo massimo di P sia e. La rimozione di e da T crea un taglio del grafico. Il percorso della minmax reale P 'deve avere un bordo e' attraversare questo taglio. Aggiungendo e 'a T \ {e} si crea un nuovo albero di spanning T' che deve avere un costo inferiore a T poiché il peso di e 'è al massimo il peso massimo del bordo su P' che è inferiore a w (e). Ciò contraddice il fatto che T è un albero di spanning minimo.
Virgi,

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.