En kısa yol sorununun “akrabaları”


10

Negatif olmayan kenar ağırlıkları ve iki ayırt edici köşe noktası olan bağlı yönlendirilmemiş bir grafik düşünün . Aşağıdaki formun tümü olan bazı yol sorunları şunlardır: yoldaki kenar ağırlıklarının bazı işlevleri minimum olacak şekilde bir yolu bulun . Bu anlamda hepsi en kısa yol sorununun "akrabaları" dır; ikincisinde fonksiyon basitçe toplamdır.s,ts-t

Not: Basit yollar, yani tekrarlanan köşeler olmadan arıyoruz. Literatürde bu sorunların standart isimlerini bulamadığım için bunları kendim adlandırdım.

Minimum ağırlık boşluğuna sahip yol : yoldaki en büyük ve en küçük kenar ağırlıkları arasındaki fark minimum olacak şekilde bir yolu bulun .s-t

En düzgün yol: yoldaki en büyük adım boyutu minimum olacak şekilde bir yolu bulun ; burada adım boyutu, iki ardışık kenar arasındaki ağırlık farkının mutlak değeridir .s-t

Minimum rakımlı yol: Bir yolun rakımını yol üzerindeki adım boyutlarının toplamına göre tanımlayalım (yukarıdaki adım boyutu tanımına bakın). Minimum rakımlı bir yolu bulun .s-t

Minimum asal ağırlığa sahip yol: tüm kenar ağırlıklarının pozitif tamsayı olduğu varsayılarak , ağırlığı bir asal sayı olacak şekilde bir yolu bulun . Böyle bir yol varsa, mümkün olan en küçük asal ağırlığa sahip olanı bulun.s-t

Soru: Bu yol problemleri hakkında ne biliniyor? (Ve benzer bir ruhla düşünülebilen, ağırlıkların farklı bir fonksiyonunu uygulayabilen diğerleri.) Genel olarak, kenar ağırlıklarının fonksiyonlarının polinom zamanında minimize edilebileceği ve NP-zor olan herhangi bir rehberlik var mı?

Not: Örneğin, ağırlıkların toplamının en aza indirilmesi kolay olsa da (klasik en kısa yol problemidir), ancak yoldaki ağırlıkların yakından ilişkili ortalamasını en aza indirgemek NP-zor. (Bütün Ata ağırlığı 2 olayı kenarlar ve diğerleri için, ve ağırlık 1.. Daha sonra bir dakika ortalama ağırlık yolu uzun olacak yolu).sts-t

Yanıtlar:


8

İşte ilk sorunun cevabı:

Minimum ağırlık boşluğuna sahip yol: yoldaki en büyük ve en küçük kenar ağırlıkları arasındaki fark minimum olacak şekilde bir st yolu bulun .

1984 tarihli bir makale, polinom zamanındaki bazı kombinatoryal optimizasyon problemi için fizibiliteye karar verebildiğimizde (ağırlıksız durumda bir çözüm var mı), o zaman polinom zamanda en büyük ve en küçük arasındaki farkı en aza indiren bir çözüm bulabileceğimizi göstermektedir. maliyet katsayısı (ağırlıklı durumda):

S. Martello, WR Pulleyblank, P. Toth, D. de Werra
Dengeli optimizasyon problemleri
Yöneylem Araştırması Mektupları 3, 1984, Sayfa 275-278

Bu, sorunuz için bir polinom zaman algoritması anlamına gelir.


1
Bu aynı zamanda, max ve min'i ve bunların sıralarını / yönelimlerini oluşturabilecek tüm kenar çiftleri üzerinde kaba kuvvet aramasıyla da yapılabilir.
Yonatan N

3

Minimum ağırlık boşluğuna sahip yol : Bu, O~(|E|2) zamanında çözülebilir , burada |E|kenar sayısıdır ( |E| nin köşe sayısında en azından doğrusal olduğu varsayılarak ). Minimum ağırlık üzerinden döngü yapabilir ve maksimum ağırlık üzerinden ikili arama (veya etkin güncellemeler) yapabilir ve bağlantıyı kontrol edebilirsiniz. Bunun iyileştirilip iyileştirilemeyeceğini bilmiyorum.

Minimum rakımlı yol (terminolojinizde): Bu, O~(|E|) zamanında çözülebilir . Tüm kenarlara olan mesafeyi ('adım' boyutlarının toplamında olduğu gibi) normal ağırlıklı en kısa yola benzer şekilde hesaplayabilirsiniz. Tekrarlanan köşelerin yolu kısaltamayacağını unutmayın. Yüksek dereceli köşeleri etkin bir şekilde işlemek için (zamandan kaçınma |E|2 ), k derecesinin tepe noktasını k1 köşelerin yoluna bölebilirsiniz .


SΘ(n/günlükn)PSikili ağırlıklar için bile: Her bir noktada polinom olarak çok sayıda ( bağlı ) en düşük yol ağırlığını takip etmek yeterlidir . Bununla birlikte, ana ağırlıklar ile, ağırlık farklarının bölenlerini çeşitlendirmek zorunda kalabiliriz (sadece en düşük ağırlıkları takip etmek yerine) ve bunun yeterli olup olmadığı belirsizdir.S

En yumuşak yol: NP tamamlandı. Kendiliğinden kesişmelere izin verdiysek, bu zaman içinde çözülebilir , ancak kendiliğinden kesişmeyen versiyon için, değişkenli 3-SAT'dan bir azalma . Köşeleri ve her yan tümce için bir tepe noktasına sahip olun. Her bir değişken için ( ) 'den (ekstra köşe gerektiğinde kullanılarak) pürüzsüz bir yol eklemek için olumlu durumda tüm maddeleri geçer , ile maddeleri için de benzer bir yolÖ~(|E|)ns=v0,v1,...,t=vnxbenben<nvbenvben+1xben¬xben. Her yolun ilk ve son kenar ağırlığını 1 (veya başka bir sabit) olarak ayarlayın, ancak aksi takdirde başka yolların düzgün olmayacağı şekilde ağırlıkları seçin. Son olarak, tüm yan tümce köşelerini ve bitişik kenarları çoğaltın; bu şekilde her fıkra en fazla iki kez ziyaret edilebilir, bu da 3-SAT için yeterlidir.


vdvdevvee,f|w(e)-w(f)|(ve,vf)vs,ts-t

@AndrasFarago Argümanınızdaki sorun, genişletilmiş grafikteki bazı basit yolların orijinal grafikte tekrarlanan köşeleri olmasıdır. En sorunsuz yol probleminin aldatıcı bir şekilde basit görünmesini seviyorum.
Dmytro Taranovsky

3

3
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.