En kısa yollar için veri yapısı


19

, köşeli ve kenarlı , ağırlıksız yönlendirilmemiş bir grafik olsun . önişlemek ve O (n) zamanında " ile arasındaki mesafe" biçimindeki sorguları yanıtlayabilmesi için büyüklüğünde bir veri yapısı üretmek mümkün müdür ?n m G m p o l y l o g ( n ) u vGnmGmpolylog(n)uv

Sorun çözülemeyecek kadar temel görünüyor.


1
“Çözülemeyecek kadar temel” hakkındaki son görüşünüze yanıt olarak: Sorgunun sabit bir zamanda cevaplanması gerekiyorsa, gerçekten iyi çalışılmıştır. Ancak sorunuzun amacı, bir sorgu için O (n) süresine izin vermenizdir (O ​​(1) veya önemsiz O (m) yerine). İlginç bir soru olduğunu düşünmeme rağmen, sorunun temel öneme sahip olduğunu düşünmüyorum.
Tsuyoshi Ito

1
@TsuyoshiIto - Süper sabit ama alt doğrusal sorgu süresine izin veriyorsa sorunun neden "temel önemini" kaybettiğini anlamıyorum. Örneğin, yukarıdaki sorunu bazı için zamanında yanıtlanabileceği ve işlem süresinin en fazla olduğu kısıtlamasıyla çözdüğümü varsayalım. - bu bana en kısa yolları hesaplamak için alt-kübik bir algoritma vermez mi? Ben şahsen bunun çok ilginç bir soru olduğunu düşünüyorum. ε > 0 O ( n 3 - ε )O(n1ε)ε>0O(n3ε)
Rachit

Genel bir yol olup olmadığını bilmiyorum, ancak sınırlı üçlü genişlik grafiklerinde iyi bir yol var, bkz. Sınırlı üçlü genişlik grafiklerinde En Kısa Yol sorgusu
Saeed

Ayrıca ise en kısa yol ağaçları (her düğümden başlayarak) oluşturabilir ve sonra en kısa yol sorgusunu (ilgili kök tarafından) yanıtlayabilir veya benzer bir şekilde daha az bellek boyutuna sahip bir veri yapısı. O ( n )m=Ω(n2)O(n)
Saeed

Yanıtlar:


9

Bu çok ilginç bir soru. Yüksek düzeyde, bir grafiğin önişlemini yapıp yapamayacağınızı soruyorsunuz, böylece en kısa yol sorguları, fazladan fazla alan kullanmadan, grafiğin yoğunluğundan bağımsız hale gelecektir - ilginç, ama dediğin gibi, çözülmedi.

Yaklaşık mesafelerden memnunsanız, burada yaklaşım elde etmenin bir yolu . Let ile ağırlıklı bir yönsüz çizge düğümleri ve kenarları. Aşağıdaki makalede, yaklaşık mesafe sorguları için, kenarlı grafikler için veri yapıları tasarlamanın, her bir düğümün sınırlandırılmış dereceye sahip olduğu grafiklerden daha zor olmadığı gösterilmiştir :G n m m m / n2Gnmmm/n

Agarwal, PB Godfrey, S. Har-Peled, Seyrek grafiklerde yaklaşık uzaklık sorguları ve kompakt yönlendirme, INFOCOM 2011

Yani, bu kabul a, -degree sınırlı grafiktir. Örnek düğümleri rastgele eşit; bu dönüm noktası düğümleri olarak adlandırılır. Önişleme aşaması sırasında, her bir yer işareti düğümünden birbirlerine düğüme olan mesafeyi grafikte saklayın; bu boşluğu gerektirir . Her düğüm , en yakın yer işareti düğümünü saklayın . Ayrıca, grafiği veri yapısı içinde, örneğin bir bitişik liste olarak saklayın.m / n α = O ( m / n ) O ( m ) u ( u )Gm/nα=O(m/n)O(m)u(u)

Arasındaki mesafe için sorgulandığında ve , her iki düğüm çevresinde taşakların - düğümün topu kesinlikle daha yakın olan düğümlerin kümesi olarak tanımlanır en yakın bölge düğüme göre, ki . Her topun boyutunun beklenti içinde olduğu gösterilebilir. Let , burada düğümün topudur ve düğüm komşu dizi . Beklenti içinde büyüklüğünün olduğu gösterilebilir.v w w ( w ) O ( n 2 / m ) Γ ( u ) = B ( u ) N ( B ( u ) ) B ( u ) u N ( B ( u ) ) B ( u ) Γ ( u ) O ( n )uvww(w)O(n2/m)Γ(u)=B(u)N(B(u))B(u)uN(B(u))B(u)Γ(u)O(n)

Sorguyu cevaplamak için: , ; aksi takdirde , ; yoksa döndürür . Bunun yaklaşım olduğunu göstermek kolaydır .Γ(u)Γ(v)d ( u , ( u ) ) d ( v , ( v ) ) d ( u ,minxΓ(u)Γ(v){d(u,x)+d(v,x)}d(u,(u))d(v,(v))d(u,(u))+d((u),v)d(v,(v))+d((v),u)2

Sorgu süresi açısından, büyüyen topların bir -degree sınırlı grafik için zaman aldığını unutmayın ; inşa ve verilen ilgili toplar alır (komşu veri yapısı içinde saklanır çünkü) zaman; ve nin boş olup olmadığını kontrol etmek de zamanını alır.O(n)m/nΓ(u)Γ(v)O(n)O ( n )Γ(u)Γ(v)O(n)

Yukarıdaki sınırlar beklentidir; Bence yapıyı derandomize etmek kolay. Ne yazık ki, bu teknik yaklaşık daha iyi bir yaklaşım elde edilmesine izin vermiyor gibi görünüyor . Onun çok ilginç bir soru olsa ....2


Yukarıdaki teknik, girdi grafiğinizin ağırlıksız olmasından faydalanmaz; bu gerçeği kullanarak yapabileceğiniz ilginç bir şey olabilir ama kesin mesafeleri almanın bir yolunu düşünemiyorum. Örneğin, sorgu süresini olarak azaltmak ve sınırlı mesafe elde etmek mümkündür , burada ve arasındaki tam mesafedir . 2 d + 1 d u vO(n2/m)2d+1duv
Rachit

Neden 2-yaklaşım olduğunu anlamadığımı fark ettim. Thorup-Zwick aynı durumlarda 3-yaklaşık verir.
ilyaraz

@ilyaraz: Thorup-Zwick şemasının kontrol etmesini gerektirmediğini (ve dolayısıyla sorguları neredeyse sabit sürede yanıtladığını) unutmayın. Streç kanıtı için yukarıda bahsettiğim makaleye bakın . 2Γ(u)Γ(v)2
Rachit

4

İhtiyacınız olan şeye "mesafe kâhin" denir. Ne yazık ki, mesafe kehanetlerine çok aşina değilim, bu yüzden sizi sadece Thorup ve Zwick nedeniyle seminal kağıda yönlendirebilirim:

Thorup ve Uri Zwick Karşılaştırması. Yaklaşık mesafe değerleri. STOC '01, 2001.

İşte özetten bir alıntı:

Let olan bir yönsüz ağırlıklı çizge ve . Let bir tamsayı. Bu göstermektedir olarak önceden işlenmiş olabilir boyutu bir veri yapısı oluşturarak, beklenen zamanda gibi herhangi bir sonraki olduğu, mesafe sorgusu yaklaşık olarak zamanında cevaplanabilir . Döndürülen yaklaşık mesafe en fazla , yani tahmini mesafeyi gerçek mesafeye bölerek elde edilen bölüm 1 ve . [...] Algoritmamızın alan gereksinimi [...] esasen optimal.| V | = n | E | = m k G = ( V , E ) O ( k m n 1 / k ) O ( k n 1 + 1 / k ) O ( k ) 2 k - 1 2 k - 1G=(V,E)|V|=n|E|=mkG=(V,E)O(kmn1/k)O(kn1+1/k)O(k)2k12k1

Sonuçlarına göre, talep ettiğiniz şey temelde ağırlıklı grafikler için bile yapılabilir: seçimi , beklenen zamanda elde edilen boyutunda bir mesafe oracle'i verir , bu da ile en kısa yol sorgularınızı cevaplayabilir. zamanında gerdirin !O ( n, 2 ) O ( m , n ) 1 O ( 1 )k=1O(n2)O(mn)1O(1)

Mesafe oracles çok iyi araştırılmış bir alan, bu yüzden daha fazla kazmak mümkün olacak inanıyorum.


2
Dergi sürümü: JACM 2005 .
Tsuyoshi Ito

3
Kullanma naif bir tarama tablosunu depolamak için boşluk, bir. Yani, (farkında olduğum) bu makale burada anlamsız. O(n2)
ilyaraz

1
Yeterince adil. AFAIK isteğinize en yakın sonuç , sorgusunda alanlı streç-2 yolları veren ortalama derecesine sahip grafikler içindir. saati. (R. Agarwal, P. Godfrey ve S. Har-Peled, "Seyrek Grafiklerde Yaklaşık Mesafe Sorguları ve Kompakt Yönlendirme", O ( n, 3 / 2 ) O ( Θ(logn)O(n3/2)O(n)
INFOCOM

Bourgain'in metrikleri içine katıştırmayı kullanarak , alanı , sorgu süresi ve çarpım hatası içeren bir kehanet ortaya çıkabilir . O ( n log 2 n ) O ( log 2 n ) O ( log n )1O(nlog2n)O(log2n)O(logn)
ilyaraz
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.