Ta chỉ xét ựồ thị có hướng G =(V,E), |V|=n, |E|=m với các cung ựược gán trọng số, nghĩa là, mỗi cung (u,v) ∈ E của nó ựược ựặt tương ứng với một số thực a(u,v) gọi là trọng số của nó. Chúng ta sẽ ựặt a(u,v) = ∞ , nếu (u,v) ∉E. Nếu dãy v0, v1, . . ., vp là một ựường ựi trên G, thì ựộ dài của nó ựược ựịnh nghĩa là tổng sau
p ∑ a(vi-1, vi). i=1
tức là, ựộ dài của ựường ựi chắnh là tổng của các trọng số trên các cung của nó. (Chú ý rằng nếu chúng ta gán trọng số cho tất cả cung ựều bằng 1, thì ta thu ựược ựịnh nghĩa ựộ dài của ựường ựi như là số cung của ựường ựi giống như trong các chương trước ựã xét).
Bài toán tìm ựường ựi ngắn nhất trên ựồ thị dưới dạng tổng quát có thể phát biểu như sau: tìm ựường ựi có ựộ dài nhỏ nhất từ một ựỉnh xuất phát s ∈ V ựến ựỉnh cuối (ựắch) t ∈ V.
đường ựi như vậy ta sẽ gọi là ựường ựi ngắn nhất từ s ựến t còn ựộ dài của nó ta sẽ ký hiệu là d(s,t) và còn gọi là khoảng cách từ s ựến t (khoảng cách ựịnh nghĩa như vậy có thể là số âm). Nếu như không tồn tại ựường ựi từ s ựến t thì ta sẽ ựặt d(s,t)= ∞ (trong ngôn ngữ lập trình cụ thể ta chỉ cần ựặt bằng một giá trị ựủ lớn).
Rõ ràng, nếu như mỗi chu trình trong ựồ thị ựều có ựộ dài dương, trong ựường ựi ngắn nhất không có ựỉnh nào bị lặp lại (ựường ựi không có ựỉnh lặp lại sẽ gọi là ựường ựi cơ bản). Mặt khác nếu trong ựồ thị có chu trình với ựộ dài âm (chu trình như vậy ựể gọi ngắn gọn ta gọi là chu trình âm) thì khoảng cách giữa một số cặp ựỉnh nào ựó của ựồ thị có thể là không xác ựịnh, bởi vì, bằng cách ựi vòng theo chu trình này một số ựủ lớn lần, ta có thể chỉ ra ựường ựi giữa các ựỉnh này có ựộ dài nhỏ hơn bất cứ số thực cho trước nào. Trong những trường hợp như vậy, có thể ựặt vấn ựề tìm ựường ựi cơ bản ngắn nhất, tuy nhiên bài toán ựặt ra sẽ trở nên phức tạp hơn rất nhiều, bởi vì nó chứa bài toán xét sự tồn tại ựường ựi Hamilton trong ựồ thị như là một trường hợp riêng.
10.2. đường ựi ngắn nhất xuất phát từ một ựỉnh. Thuật toán Ford-Bellman đối với trường hợp ựồ thị không có chu trình âm (có thể có trọng số âm) Ờ ta ựã có