Tìm đường đi ngắn nhất giữa hai nút


9

Đưa ra một sơ đồ có trọng số và hàm trọng số, , thông thường người ta có thể sử dụng thuật toán của Dijkstra để có được con đường ngắn nhất. Điều tôi quan tâm là làm thế nào để có được đường dẫn chính xác nhất , -shortest, v.v.G=V,Ed(u,v)2nd3rd

Câu hỏi:

Có một thuật toán hiệu quả để có được con đường thứ i ngắn nhất giữa hai nút trong một biểu đồ có trọng số không?

Có một thuật toán hiệu quả để có được các đường dẫn ngắn nhất k giữa hai nút trong một biểu đồ có trọng số không?

Một câu trả lời cho một trong hai là ổn, mặc dù tôi tự hỏi liệu một câu trả lời cho câu hỏi thứ hai có thể được thực hiện hiệu quả hơn so với gọi đến một câu trả lời cho câu hỏi đầu tiên.k


2
Một tìm kiếm Google trên "k đường dẫn ngắn nhất" cho thấy một số tài liệu tham khảo mô tả các thuật toán cho vấn đề này. Ngoài ra còn có một bài viết Wikipedia về chính xác chủ đề này: en.wikipedia.org/wiki/K_shortest_path_routing
DW

@DW Làm thành một câu trả lời, với một bản tóm tắt ngắn?
Raphael

Câu trả lời:


5

Trong bài toán đường dẫn ngắn nhất , chúng tôi muốn tìm đường dẫn kết nối một cặp đỉnh đã cho với tổng chiều dài tối thiểu. Eppstein [1] có một thuật toán chạy trong thời gian để tìm đường đi ngắn nhất (cho phép chu kỳ) giữa một cặp đỉnh trong một sơ đồ. Với các kỹ thuật của bài báo, người ta cũng có thể tìm thấy tất cả các đường dẫn ngắn hơn một số ngưỡng nhất định, trong cùng một giới hạn thời gian. Có một tài liệu rộng lớn về chủ đề này, bài báo Eppstein bao gồm nhiều tài liệu tham khảo và thảo luận.kkO(m+nlogn+k)k

Nếu bạn không cho phép các chu kỳ, bạn có thể muốn xem xét thuật toán của Hershberger et al. [2].


[1] Eppstein, David. "Tìm đường đi k ngắn nhất." Tạp chí SIAM về điện toán 28.2 (1998): 652-673. [ CiteSeerX ]

[2] Hershberger, John, Matthew Maxel và Subhash Suri. "Tìm k đường dẫn đơn giản ngắn nhất: Một thuật toán mới và cách thực hiện." Giao dịch ACM trên các thuật toán (TALG) 3.4 (2007): 45. [ CiteSeerX ]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.