Ini adalah pertanyaan yang sangat menarik. Pada tingkat tinggi, Anda bertanya apakah seseorang dapat memproses grafik sedemikian rupa sehingga kueri jalur terpendek tidak tergantung pada kepadatan grafik, tanpa menggunakan banyak ruang ekstra - menarik, tetapi seperti yang Anda katakan, tidak terselesaikan.
Jika Anda senang dengan perkiraan jarak, berikut adalah cara untuk mendapatkan perkiraan . Misalkan adalah grafik tak berarah tertimbang dengan node dan edge. Hal ini ditunjukkan dalam makalah berikut bahwa untuk perkiraan jarak pertanyaan, merancang struktur data untuk grafik dengan edge tidak lebih sulit daripada grafik di mana setiap node memiliki derajat yang dibatasi oleh :G n m m m / n2Gnmmm/n
R. Agarwal, PB Godfrey, S. Har-Peled, Perkiraan jarak perkiraan dan perutean ringkas dalam grafik jarang, INFOCOM 2011
Jadi, asumsikan bahwa adalah grafik terikat -degree. Sampel node seragam secara acak; sebut titik tengara ini. Selama fase preprocessing, simpan jarak dari setiap titik landmark ke setiap titik lainnya dalam grafik; ini membutuhkan ruang . Untuk setiap simpul , simpan simpul tengara terdekatnya . Juga, simpan grafik dalam struktur data, katakanlah sebagai daftar adjacency.m / n α = O ( m / n ) O ( m ) u ℓ ( u )Gm/nα=O(m/n)O(m)uℓ(u)
Ketika ditanya untuk jarak antara dan , menumbuhkan bola di sekitar kedua node - bola node didefinisikan sebagai set node yang secara ketat lebih dekat ke daripada ke simpul landmark terdekat, katakan . Dapat ditunjukkan bahwa ukuran masing-masing bola adalah , sesuai harapan. Misalkan , di mana adalah bola dari simpul dan adalah himpunan tetangga dari simpul dalam . Dapat ditunjukkan bahwa ukuran adalah , sesuai harapan.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)
Menjawab pertanyaan: jika , kembalikan ; selain itu jika , kembalikan ; lain kembalikan . Sangat mudah untuk menunjukkan bahwa ini adalah approximation.Γ(u)∩Γ(v)≠∅d ( u , ℓ ( u ) ) ≤ d ( v , ℓ ( v ) ) d ( u , ℓ ( u ) ) + d ( ℓ ( uminx∈Γ(u)∩Γ(v){d(u,x)+d(v,x)}d(u,ℓ(u))≤d(v,ℓ(v))d ( v , ℓ ( v ) ) + d ( ℓ ( v ) , u ) 2d(u,ℓ(u))+d(ℓ(u),v)d(v,ℓ(v))+d(ℓ(v),u)2
Dalam hal waktu kueri, perhatikan bahwa bola tumbuh membutuhkan waktu untuk grafik terikat -degree; membangun dan mengingat masing-masing bola membutuhkan waktu (karena tetangga disimpan dalam struktur data); dan memeriksa apakah kosong atau tidak juga membutuhkan waktu.mO(n)Γ ( u ) Γ ( v ) O ( n ) Γ ( u ) ∩ Γ ( v ) O ( n )m/nΓ(u)Γ(v)O(n)Γ(u)∩Γ(v)O(n)
Batas di atas dalam harapan; Saya pikir itu mudah untuk derandomize konstruksi. Sayangnya, teknik ini tampaknya tidak memungkinkan mendapatkan perkiraan yang lebih baik dari . Ini pertanyaan yang sangat menarik ....2