Negatif döngüler varlığında en kısa yolu bulma


13

Her bir kenarın ağırlığının negatif olabileceği yönlendirilmiş bir döngüsel grafik verildiğinde, "en kısa yol" kavramı yalnızca negatif döngü yoksa mantıklıdır ve bu durumda Bellman-Ford algoritmasını uygulayabilirsiniz.

Bununla birlikte, bisiklet sürmeyi içermeyen iki köşe arasındaki en kısa yolu bulmakla ilgileniyorum (yani, aynı tepe noktasını iki kez ziyaret etmeyebileceğiniz kısıtlaması altında). Bu problem iyi incelenmiş mi? Bellman-Ford algoritmasının bir çeşidi kullanılabilir mi, yoksa başka bir çözüm var mı?

Ayrıca Floyd-Warshall'ı uygulayabileceğim eşdeğer tüm çiftler sorunuyla da ilgileniyorum.

Yanıtlar:


23

Tekrarlanan köşeleri olmayan yollara basit yollar denir , bu nedenle negatif döngülü bir grafikte en kısa basit yolu arıyorsunuz.

Bu en uzun yol probleminden azaltılabilir . Sorununuz için hızlı bir çözümleyici olsaydı, o zaman sadece pozitif kenar ağırlıklarına sahip bir grafik verilir, tüm kenar ağırlıklarını yok sayarak ve çözücünüzü çalıştırmak orijinal grafikteki en uzun yolu verecektir.

Böylece sorununuz NP-Hard.


1
Bu güzel bir cevap. Birkaç kişiye bu IRL'yi herhangi bir çözüm olmadan sordum ve onlara bunu açıkladığımda tepkileri benimkiyle aynıydı - "tabii ki şimdi kendimi aptal hissediyorum".
jleahy
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.