İki düğüm arasındaki k-en kısa yolu bulma


9

Ağırlıklı bir digraf ve bir ağırlık fonksiyonu olan verildiğinde, normalde en kısa yolu elde etmek için Dijkstra algoritmasını kullanabilir. İlgilendiğim şey, -shortest yolunu, -shortest, vb.G=V,Ed(u,v)2nd3rd

Sorular:

Ağırlıklı bir grafikteki iki düğüm arasındaki i-en kısa yolu elde etmek için etkili bir algoritma var mı?

Ağırlıklı bir grafikteki iki düğüm arasındaki en kısa k yolunu elde etmek için etkili bir algoritma var mı?

Her ikisine de bir cevap sorun değil, ancak ikinci soruya verilen bir cevabın ilk soruya bir cevap çağrısından daha verimli bir şekilde yapılıp yapılamayacağını merak ediyorum .k


2
"K en kısa yollarda" yapılan bir Google araması, bu soruna yönelik algoritmaları tanımlayan birtakım referanslar oluşturur. Tam olarak bu konuyla ilgili bir Wikipedia makalesi de var: en.wikipedia.org/wiki/K_shortest_path_routing
DW

@DW Kısa bir özetle bir cevap verin mi?
Raphael

Yanıtlar:


5

Gelen kısa yol problemi , biz bulmak isteyen minimum toplam uzunluğu verilen bir tepe çiftini bağlayan yolu. Eppstein [1] çalışan bir algoritma sahip bulmak için zaman bir digraf bir köşe bir çifti arasındaki en kısa yolu (sağlayan kez) yıkanmıştır. Kağıdın teknikleri ile, aynı zamanda sınırlar içinde verilen bazı eşik değerlerden daha kısa olan tüm yollar da bulunabilir. Konuyla ilgili geniş bir literatür var, Eppstein makalesinde birçok referans ve tartışma var.kkO(m+nlogn+k)k

Döngülere izin vermezseniz, Hershberger ve ark. [2].


[1] Eppstein, David. "K en kısa yolları bulmak." Bilgi işlem hakkında SIAM Dergisi 28.2 (1998): 652-673. [ CiteSeerX ]

[2] Hershberger, John, Matthew Maxel ve Subhash Suri. "En kısa basit yolları bulmak: Yeni bir algoritma ve uygulaması." Algoritmalarda ACM İşlemleri (TALG) 3.4 (2007): 45. [ CiteSeerX ]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.