Menghitung penyelesaian / jalur keberadaan oracle


9

Ada beberapa pertanyaan ( 1 , 2 , 3 ) tentang penyelesaian transitif di sini yang membuat saya berpikir jika sesuatu seperti ini dimungkinkan:

Asumsikan kita mendapatkan input diarahkan grafik dan ingin menjawab pertanyaan tipe " ?", Yaitu menanyakan apakah ada tepi antara dua simpul dalam penyelesaian transitif dari grafik ? (ekuivalen, "apakah ada jalur dari ke di ?").G(u,v)G+GuvG

Asumsikan setelah diberikan Anda diizinkan untuk menjalankan preprocessing dalam waktu f ( n , m ) dan kemudian diminta untuk menjawab pertanyaan dalam waktu g ( n , m ) .Gf(n,m)g(n,m)

Jelas, jika f=0 (yaitu tidak ada preprocessing diizinkan), yang terbaik yang dapat Anda lakukan adalah menjawab pertanyaan dalam waktu g(n)=Ω(n+m) . (jalankan DFS dari u ke v dan kembalikan true jika ada jalur).

Hasil sepele lainnya adalah bahwa jika f=Ω(min{nm,nω}) , Anda dapat menghitung penutupan transitif dan kemudian menjawab pertanyaan dalam O(1) .

Bagaimana dengan sesuatu di tengah? Jika Anda diizinkan, katakanlah f=n2 waktu preprocessing, dapatkah Anda menjawab pertanyaan lebih cepat dari O(m+n) ? Mungkin meningkatkannya menjadi O(n) ?

Variasi lain adalah: anggap Anda memiliki waktu preproses poly(n,m) , tetapi hanya o(n2) ruang, dapatkah Anda menggunakan preprocessing untuk menjawab pertanyaan yang lebih efisien daripada ?O(n+m)

Bisakah kita mengatakan sesuatu secara umum tentang pengorbanan yang memungkinkan menjawab pertanyaan seperti itu?f,g

Struktur tradeoff yang agak mirip dipertimbangkan dalam sistem GPS, di mana memegang tabel perutean lengkap dari semua jarak berpasangan antara lokasi tidak layak sehingga menggunakan gagasan oracle jarak yang menyimpan tabel parsial tetapi memungkinkan percepatan permintaan yang signifikan atas perhitungan jarak keseluruhan grafik (biasanya menghasilkan hanya jarak yang diperkirakan antara titik).


Hamming jarak antara apa yang dua node dan j dapat mencapai di t hop mungkin metrik lebih informatif. sayajt
Chad Brewbaker

Jawaban:


6

Oracle reachability kompak ada untuk grafik planar,

Mikkel Thorup: Nubuat ringkas untuk jangkauan dan perkiraan jarak dalam digraf planar . J. ACM 51 (6): 993-1024 (2004)

tetapi "sulit" untuk grafik umum (bahkan grafik jarang)

Mihai Patrascu: Menyatukan Lansekap Batas Bawah Sel-Probe . SIAM J. Comput. 40 (3): 827-847 (2011)

Namun demikian, ada algoritma yang dapat menghitung pelabelan reachability mendekati optimal

Edith Cohen, Eran Halperin, Haim Kaplan, Uri Zwick: Reachability and Distance Queries via 2-Hop Labels . SIAM J. Comput. 32 (5): 1338-1355 (2003)

Maxim A. Babenko, Andrew V. Goldberg, Anupam Gupta, Viswanath Nagarajan: Algoritma untuk Optimalisasi Label Hub . ICALP 2013: 69-80

Membangun karya Cohen et al. dan yang lainnya, ada sedikit riset terapan (komunitas basis data) lihat mis

Ruoming Jin, Guan Wang: Oracle yang Sederhana, Cepat, dan Dapat Dicapai . PVLDB 6 (14): 1978-1989 (2013)

Yosuke Yano, Takuya Akiba, Yoichi Iwata, Yuichi Yoshida: Permintaan jangkauan yang cepat dan dapat diukur pada grafik dengan pemangkasan label dengan landmark dan jalur . CIKM 2013: 1601-1606


4

Saya akan menjawab pertanyaan Anda sebagian: tampaknya ada beberapa alasan mengapa konstruksi seperti itu mungkin sulit diperoleh.

T(HAI(m),HAI(n))+nq(HAI(m),HAI(n))T(m,n)=HAI(n2)q(m,n)=HAI(n)HAI(nω)ω=2

GnX,Y,Z,WvGvX,vY,vZ,vW(kamu,v)G(kamuX,vY),(kamuY,vZ),(kamuZ,vW)T(HAI(m),HAI(n))vX,vWv

n2+Hai(1)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.