Đây là một câu hỏi rất thú vị. Ở mức cao, bạn đang hỏi liệu người ta có thể xử lý trước một biểu đồ sao cho các truy vấn đường dẫn ngắn nhất trở nên độc lập với mật độ của biểu đồ, mà không sử dụng nhiều không gian thừa - thú vị, nhưng như bạn nói, chưa được giải quyết.
Nếu bạn hài lòng với khoảng cách gần đúng, đây là một cách để có được xấp xỉ lần. Đặt G là đồ thị vô hướng có trọng số với n nút và m cạnh. Trong bài báo sau đây cho thấy các truy vấn khoảng cách gần đúng, thiết kế cấu trúc dữ liệu cho các đồ thị có cạnh m không khó hơn các đồ thị trong đó mỗi nút có mức độ giới hạn bởi m / n :2Gnmmm/n
R. Agarwal, PB Godfrey, S. Har-Peled, Các truy vấn khoảng cách gần đúng và định tuyến nhỏ gọn trong các biểu đồ thưa thớt, INFOCOM 2011
Vì vậy, giả sử rằng là đồ thị giới hạn m / n -degree. Các mẫu α = O ( m / n ) thống nhất ngẫu nhiên; gọi các nút mốc này. Trong giai đoạn tiền xử lý, lưu trữ khoảng cách từ mỗi nút mốc đến từng nút khác trong biểu đồ; điều này đòi hỏi không gian O ( m ) . Đối với mỗi nút u , lưu trữ nút mang tính bước ngoặt gần nhất của nó ℓ ( u ) . Ngoài ra, lưu trữ biểu đồ trong cấu trúc dữ liệu, nói như một danh sách kề.Gm/nα=O(m/n)O(m)uℓ(u)
Khi truy vấn cho khoảng cách giữa và v , phát triển bóng xung quanh cả hai nút - bóng của nút w được định nghĩa là tập hợp các nút đó là đúng gần gũi hơn với w hơn tới nút mang tính bước ngoặt gần nhất của nó, nói ℓ ( w ) . Có thể chỉ ra rằng kích thước của mỗi quả bóng là O ( n 2 / m ) , theo kỳ vọng. Hãy Γ ( u ) = B ( u ) ∪ N ( B ( u ) ) , nơi B ( uuvwwℓ(w)O(n2/m)Γ(u)=B(u)∪N(B(u)) là bóng của nút u và N ( B ( u ) ) là tập hợp các lân cận của các nút trong B ( u ) . Có thể chỉ ra rằng kích thước của Γ ( u ) là O ( n ) , theo kỳ vọng.B(u)uN(B(u))B(u)Γ(u)O(n)
Trả lời các câu hỏi: nếu , trở về phút x ∈ Γ ( u ) ∩ Γ ( v ) { d ( u , x ) + d ( v , x ) } ; khác nếu d ( u , ℓ ( u ) ) ≤ d ( v , ℓ ( vΓ(u)∩Γ(v)≠∅minx∈Γ(u)∩Γ(v){d(u,x)+d(v,x)} , trả về d ( u , ℓ ( u ) ) + d ( ℓ ( u ) , v ) ; khác trở lại d ( v , ℓ ( v ) ) + d ( ℓ ( v ) , u ) . Thật dễ dàng để chỉ ra rằng đây là mộtxấp xỉ 2 .d(u,ℓ(u))≤d(v,ℓ(v))d(u,ℓ(u))+d(ℓ(u),v)d(v,ℓ(v))+d(ℓ(v),u)2
Về thời gian truy vấn, lưu ý rằng việc phát triển các quả bóng cần thời gian cho đồ thị giới hạn m / n -degree; xây dựng Γ ( u ) và Γ ( v ) đưa quả bóng tương ứng mất O ( n ) thời gian (kể từ khi các nước láng giềng được lưu trữ trong các cấu trúc dữ liệu); và kiểm tra xem Γ ( u ) ∩ Γ ( v ) là rỗng hay không cũng phải mất O ( n ) thời gian.O(n)m/nΓ(u)Γ(v)O(n)Γ(u)∩Γ(v)O(n)
Các giới hạn trên là trong kỳ vọng; Tôi nghĩ rằng nó là dễ dàng để derandomize xây dựng. Thật không may, kỹ thuật này dường như không cho phép lấy xấp xỉ tốt hơn . Đó là một câu hỏi rất thú vị mặc dù ....2