Quá trình xử lý truy vấn đường đi là một thành phần quan trọng trong các
ứng dụng mạng lưới không gian. Các thuật toán đồ thị nổi tiếng xác định đường
đi “ngắn nhất” giữa hai điểm A và B trên mạng lưới đường phố mà tiêu chuẩn “ngắn nhất” có thể được dựa trên khoảng cách, thời gian đi hoặc một số ràng buộc khác do người sử dụng tự đặt ra.
Giả sử cho trước đồ thị G trong đó mỗi cung (x, y) gắn với trọng số của cung a(x, y). Trong một số ứng dụng, chiều dài có thể là chi phí hoặc giá trị khác nào đó. Chiều dài của đường đi được xác định bằng tổng chiều dài của các cung
đơn trong đường đi. Với hai đỉnh bất kỳ, s và t trong G, có thể tồn tại nhiều
đường đi từ s đến t. Bài toán đường đi ngắn nhất bao gồm tìm đường đi từ s đến t sao cho chiều dài nhỏ nhất có thể.
Giữa tất cả các lớp của bài toán tối ưu trong mạng lưới, bài toán tìm
đường đi ngắn nhất bao quát nhất. Chúng thường gặp trong bài toán vận chuyển, truyền thông và các ứng dụng trong sản xuất...
Bài toán này có thể chia làm hai loại sau:
• Tìm đường đi ngắn nhất từ một đỉnh nguồn đến các đỉnh còn lại của
đồ thị.
• Tìm đường đi ngắn nhất giữa mọi cặp đỉnh của đồ thị.
Với hai loại bài toán này ta có thể phát biểu chung bài toán như sau:
Đầu vào: Cho một đồ thị có hướng có trọng số G = (V, E) (với V: tập
đỉnh, E: tập cạnh), một hàm trọng số w: E→ [0, ∞).
Đầu ra: Hãy tìm đường đi ngắn nhất giữa hai đỉnh (chẳng hạn (s, t)) trong đồ thị G.