Tüm çiftler arasındaki en kısa yolları, ikili sorunu tekrar tekrar çözmekten daha hızlı bulabilir miyiz?


9

Bir grafikteki tüm çiftler arasında en kısa yolunu ( 10'dan küçük olurdu) üretmek istiyorum . Grafik (aslında bir metro haritası):kk

  • pozitif ağırlıklı
  • yönsüz
  • seyrek
  • yaklaşık 100 düğümlü

Şu anki planım her bir çift için en kısa yol yönlendirmesini uygulamak ; Şimdi daha etkili bir alternatif arıyorum (muhtemelen dinamik programlama ile).k


3
Dürüst olmak gerekirse, 100 köşe için, 45.000 çiftli sorunun her birini çözmekten daha verimli bir şeye ihtiyacınız yok gibi görünüyor.
David Richerby

Yanıtlar:


6

Her şeyden önce, kısa yollarının hesaplanmasında önemli bir fark , yolların basit olması gerekip gerekmediğidir. Art arda düğüm içermiyorsa bir yol basit olarak adlandırılır . Örneğin, döngülü bir yol basit değildir. Bağladığınız Wikipedia sayfasında makalelerin mutlaka basit yollarla ilgisi olmadığını unutmayın. Basit yolların durumu, mutlaka basit yolların olmadığı durumdan daha zor gibi görünmektedir.k

Çiftler - en basit yollar sorunuk

Bu oldukça genç bir araştırma alanı gibi görünüyor. Agarwal ve Ramachandran'ın yakın tarihli bir makalesi ArXiv'de bulunabilir [1]. Önceki çalışma bölümü de size sorunun tarihi hakkında bir fikir verecektir.

Tüm çiftler -en kısa yollar problemik

Burada, Eppsteins algoritmasını tekrar tekrar uygulamak en iyi seçimdir [2]. Sorunun tek kaynaklı versiyonu için bir algoritmanın tekrar tekrar uygulanmasının en hızlı yaklaşım olduğuna dair genel gözlem, 1977 yılında EL Lawler tarafından yapılmıştır [3]; Eppstein bu alt problem için bugüne kadarki en hızlı algoritmayı sunmaktadır.

Referanslar

[1] Agarwal, U. ve Ramachandran, V. Basit En Kısa Yollar ve Döngüler. arXiv: 1512.02157 [cs.DS] https://arxiv.org/pdf/1512.02157.pdfk

[2] Eppstein, D. K'nın en kısa yollarını bulmak. SIAM Bilişim Dergisi 28, 2 (1999), 652-673.

[3] Lawler, EL Bir grafikteki en kısa k yollarının hesaplanması hakkında yorum yapın. ACM'nin iletişimi, 20 (8): 603-605, 1977.


Teşekkür ederim. Metro haritası ile çalıştığım için, basit bir yol olmaları gerekiyor (yazılımımın insanları ileri ve geri gitmeleri için yönlendirmesi mantıklı değil), bu yüzden sanırım Yan'ın algoritmasıyla devam edeceğim .
Franklin Yu

Görünüşe göre, bir sorunun 10.000 vakasının birbiri ardına 10.000 tek vakayı çözmekten daha hızlı çözülemeyeceği ilginç ve şaşırtıcı.
gnasher729

kaldırıldı döngü ile eşdeğer "yolu" görünüşte olduğundan "en kısa yollar" dahil döngüler ile yolları fikri mantığa aykırı ve sıradışı görünüyor ve bir de bu verimli basit yolları vb ... inşa edilebilirse merak
vzn
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.