Un borde negativo es simplemente un borde que tiene un peso negativo. Podría estar en cualquier contexto relacionado con el gráfico y a qué se refieren sus bordes. Por ejemplo, el CD de borde en el gráfico anterior es un borde negativo. Floyd-Warshall funciona minimizando el peso entre cada par del gráfico, si es posible. Entonces, para un peso negativo, simplemente podría realizar el cálculo como lo habría hecho para los bordes de peso positivo.
El problema surge cuando hay un ciclo negativo. Echa un vistazo a la gráfica de arriba. Y hágase la pregunta: ¿cuál es el camino más corto entre A y E? Al principio, puede sentir que ABCE cuesta 6 (2 + 1 + 3). Pero, en realidad, observando más profundamente, observarías un ciclo negativo, que es BCD. El peso de BCD es 1 + (- 4) +2 = (-1). Mientras recorro de A a E, podría seguir pedaleando dentro de BCD para reducir mi costo en 1 cada vez. Al igual, la ruta A (BCD) BCE cuesta 5 (2 + (- 1) + 1 + 3). Ahora, repetir el ciclo infinitas veces seguiría reduciendo el costo en 1 cada vez. Podría lograr un camino negativo infinito más corto entre A y E.
El problema es evidente para cualquier ciclo negativo en un gráfico. Por lo tanto, cada vez que hay un ciclo negativo, el peso mínimo no está definido o es infinito negativo, por lo que Floyd-Warshall no puede funcionar en tal caso.
Como complemento, es posible que desee echar un vistazo al algoritmo de Bellman-Ford que detecta si un gráfico tiene un ciclo negativo o no y, de lo contrario, devuelve el camino más corto entre dos nodos.