Một cạnh âm chỉ đơn giản là một cạnh có trọng lượng âm. Nó có thể là trong bất kỳ bối cảnh nào liên quan đến biểu đồ và các cạnh của nó đề cập đến điều gì. Ví dụ, CD cạnh trong biểu đồ trên là cạnh âm. Floyd-Warshall hoạt động bằng cách giảm thiểu trọng lượng giữa mỗi cặp đồ thị, nếu có thể. Vì vậy, đối với trọng lượng âm, bạn có thể thực hiện phép tính như bạn đã làm đối với các cạnh trọng số dương.
Vấn đề phát sinh khi có một chu kỳ tiêu cực. Hãy nhìn vào biểu đồ trên. Và hãy tự hỏi mình câu hỏi - con đường ngắn nhất giữa A và E là gì? Ban đầu bạn có thể cảm thấy như thể ABCE của nó có giá 6 (2 + 1 + 3). Nhưng thực ra, nhìn sâu hơn, bạn sẽ quan sát thấy một chu kỳ tiêu cực, đó là BCD. Trọng lượng của BCD là 1 + (- 4) +2 = (-1). Trong khi di chuyển từ A đến E, tôi có thể tiếp tục đạp xe quanh BCD để giảm chi phí 1 lần mỗi lần. Giống như, đường dẫn A (BCD) BCE có giá 5 (2 + (- 1) + 1 + 3). Bây giờ lặp lại chu kỳ vô hạn sẽ tiếp tục giảm chi phí 1 lần mỗi lần. Tôi có thể đạt được một con đường ngắn nhất vô hạn tiêu cực giữa A và E.
Vấn đề là rõ ràng cho bất kỳ chu kỳ tiêu cực trong một biểu đồ. Do đó, bất cứ khi nào có chu kỳ âm, trọng lượng tối thiểu không được xác định hoặc là vô cực âm, do đó Floyd-Warshall không thể hoạt động trong trường hợp như vậy.
Ngoài ra, bạn có thể muốn xem Thuật toán Bellman-Ford để phát hiện xem biểu đồ có chu kỳ âm hay không và trả về đường đi ngắn nhất giữa hai nút.