Birden fazla geçişle st-bağlanabilirliğin alan kullanımını azaltma?


20

Bir grafiktir varsayalım G ile köşe bir akışı olarak sunulmuştur kenarları, ancak birden fazla geçiş akımı üzerinde izin verilir.nm

Monika Rauch Henzinger, Prabhakar Raghavan ve Sridar Rajagopalan , veriler üzerinde geçişlerine izin verilirse , verilen iki köşe arasında bir yol olup olmadığını belirlemek için boşluğunun gerekli olduğunu gözlemlediler . (Ayrıca bkz. Teknik rapor sürümü .) Ancak, bu sınırı gerçekleştirmek için bir algoritma sağlamazlar. Biri sabit bir boyut işaretçileri kullanarak bellek indeksleyemez eğer bir farklı köşeleri ayırt etmek gerekir, çünkü gerçekçi bir bilgi işlem modelinde optimal bir algoritmanın aslında alan alacağını varsayıyorum .Ω(n/k)GkO((nlogn)/k)n

alanı kullanarak geçişleriyle grafik bağlantısına nasıl karar verilebilir ?kO((nlogn)/k)

Yalnızca bir geçişe izin verilirse, giriş verileri köşe kümesinin bir bölümü olarak saklanabilir, iki farklı kümedeki köşeler arasında bir kenar görülürse kümeleri birleştirir. Bu açıkça en fazla alan gerektirir. Benim sorum : bir kişi gerekli alanı azaltmak için nasıl daha fazla geçiş kullanabilir?O(nlogn)k>1

(Önemsizlik yer bırakmamak için, bir sabit ile önsel sınırlanmış edilemez bir parametredir ve uzay sınırları hem fonksiyonlarını içeren ifadelerdir ve .)knk


Güncelleme: için bile, yalnızca köşeleri depolamanın bir yolu olması gerçekten yararlı olacaktır . Veya ne olursa olsun, bazı sabit için daha güçlü bir alt bağlı mı?k=2n/2cnck


Ne olursa olsun ? Çok büyük olabilirse, o zaman st-bağlantı O ( log 2 n ) alanında çözülebilir , bu nedenle bir algoritma şansı vardır, ancak azotlichid tarafından gösterildiği gibi, muhtemelenkO(log2n) . O(nlogn/k)
domotorp

Guha ve McGregor'un randomize algoritmalar için geçiş eliminasyonunun, daha az geçişe izin vermek için daha fazla alan kullanarak ters yönde çalıştığını unutmayın (ancak istenen hata küçükse ek alan büyüktür). Bu soru, daha fazla geçiş kullanarak alan kullanımını azaltıp azaltamayacağını sorar.
András Salamon

Yanıtlar:


8

Aynı anda alt doğrusal boşlukta ve polinom zamanda çalışan st-bağlantı için bir algoritma bulmak uzun süredir açık bir problemdir, amaçladığınız daha kolay bir görevdir. Bu tür algoritmalar yönlendirilmemiş versiyon için bilinir , ancak bunlar bile büyük bir polinom zamanı gerektirir (k-pass algoritması tarafından ima edilecek O (km) zamanı yerine). Özellikle Tompa'nın yönlendirilen davanın neden zor göründüğüne dair makalesine bakın.


1
M. Tompa, Polinom zamanını kabul etmeyen iki bilişsel geçişli kapatma algoritması, alt doğrusal uzay uygulamaları , SIAM J. Comput . 11 (1), 130-137. dx.doi.org/10.1137/0211010
András Salamon

Bu makale "eşzamanlı olarak çalışan bağlantı için bir algoritma sunuyoralt lineer "uzay ve polinom zaman.

4

Bu bir cevap değil, ama sadece için bu sorunu çözebilirseniz , o zaman o ( log n ) uzay ve O ( n m ) zaman ( çevrimdışı durumda rastgele bir yürüyüş yaparak> 1/2 ile yapabilirsiniz; ancak kenarlar bir akıştan geldiğinde biraz daha zor görünüyor). Çok ilginç bir soru, IMO.k=Θ(n)O(logn)O(nm)


3

Yossi Shiloach, Uzi Vishkin. Bir O (log n) Paralel Bağlantı Algoritması. J. Algorithms, 1982: 57 ~ 67 - En sevdiğim makalelerden biri. P işlemcileri ile O ((nlogn / k) / p) alanında yapabiliyorsanız ilginç olurduHer işlemcinin sadece kenarların O (n / p) 'nde okunmasına izin verilen k raundunda.k


İşaretçi için teşekkürler, bu ilginç bir yazı. İşlemciler en az grafik kadar büyük bir veri yapısına ortak erişime sahiptir, bu nedenle alan kullanımını azaltmaya yardımcı olmaz. İşlemci sayısının yanı sıra işlemci sayısını kullanarak alan kullanımını azaltmanın bir yolu olsaydı gerçekten ilginç olurdu.
András Salamon


1

O(nlogn/k)kn/kstn/kn/kst

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.