Percorsi più brevi che non consentono ogni bordo


9

Gradirei qualsiasi suggerimento o termine che potrebbe farmi iniziare nella giusta direzione.

Abbiamo un grafico diretto e lunghezze per ogni fronte che può essere considerato positivo. C'è uno speciale nodo di partenza nodo finale e .G=(V,E)lijijst

Per ciascun bordo , vorremmo calcolare la lunghezza del percorso più breve da a che non utilizza il bordo .ijstij

Un semplice algoritmo di forza bruta consiste nell'eseguire un algoritmo di percorso più breve per ciascun fronte, rimuovendo ogni volta un bordo diverso dal grafico originale. Esiste un algoritmo più efficiente che sfrutta il fatto che ci sono molti calcoli ripetuti in questo algoritmo di forza bruta?

Grazie in anticipo.

Risposte:


18

Il problema menzionato si chiama "percorsi di sostituzione". Ecco alcuni riferimenti:

  1. Gotthilf e Lewenstein, algoritmi migliorati per i k percorsi semplici più brevi e i problemi dei percorsi di sostituzione. Inf. Proc. Lettere, 109 (7): 352–355, 2009. Questo documento fornisce l'algoritmo esatto più veloce fino ad oggi per il problema dei percorsi di sostituzione, in esecuzione nel tempo tempo nei grafici con nodi e bordi.O(mn+n2loglogn)nm
  2. A. Bernstein. Un algoritmo quasi ottimale per approssimare percorsi di sostituzione e k percorsi semplici più brevi nei grafici generali. Nel Proc. SODA, pagine 742–755, 2010. Questo documento fornisce sorprendentemente uno schema di approssimazione del tempo quasilineare per il problema.
  3. J. Hershberger, S. Suri e A. Bhosle. Sulla difficoltà di alcuni problemi del percorso più breve. Nel Proc. STACS, pagine 343–354, 2003. Questo documento mostra che qualsiasi algoritmo di confronto dei percorsi che risolve il problema dei percorsi di sostituzione deve richiedere esattamente almeno il tempo .Ω(mn)
  4. V.Vassilevska W., R. Williams. Equivalenze subcubiche tra problemi di percorso, matrice e triangolo. Nel Proc. FOCS, pagine 645-654, 2010. Mostriamo che se si ottiene un algoritmo esatto nel tempo per i percorsi di sostituzione per qualsiasi costante , questo può essere convertito in algoritmo temporale per tutte le coppie percorsi più brevi per costante . Un algoritmo veramente subcubico per tutte le coppie percorsi più brevi è un problema aperto di vecchia data.O(n3ε)ε>0O(n3ε)ε>0
  5. O. Weimann, R. Yuster. Percorsi di sostituzione tramite moltiplicazione matrice veloce. Nel Proc. FOCS, pagine 655-662, 2010. e V. Vassilevska W. Percorsi di sostituzione più rapidi. Nel Proc. SODA, pagine 1337-1346, 2011. Questi articoli mostrano come utilizzare la moltiplicazione rapida delle matrici per trovare percorsi di sostituzione nei grafici con pesi dei bordi interi nell'intervallo . Quest'ultimo documento fornisce il runtime più noto finora, .{M,,M}O~(Mnω)

8

Se si desidera associare a ciascun bordo la lunghezza di un percorso più breve tra e , è possibile iniziare con il calcolo di un percorso più breve nell'intero grafico e associare a ciascun bordo non nel percorso più breve appena calcolata la lunghezza della corrente percorso più breve. Dopodiché, rimangono al massimo bordi per i quali non si conosce la risposta.stn1


Grazie. Ho accettato l'altra risposta, perché dà più del contesto che stavo cercando, ma probabilmente userò questo approccio per l'implementazione di primo passaggio di cui ho bisogno.
dan_x
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.