¿Para qué sirven los bordes traseros en el algoritmo Ford-Fulkerson?

Tomando prestado un buen ejemplo del postcoder
Flujo Máximo: Sección 1

La siguiente imagen muestra la ruta elegida: X -> B -> C -> Y con flujo = 1.
Agregamos los bordes posteriores correspondientemente a la ruta.

Para cualquier nodo dado (Digamos C) puede pensar intuitivamente esto ya que C tomó prestado un flujo de 1 de B que podría volver en el futuro. Cuando C devuelve el flujo de nuevo a B (en el futuro) verificaríamos una ruta adicional si hay un flujo de B al destino Y.

Resuelve un problema cuando podríamos haber elegido una ruta incorrecta, por lo que tratamos de reembolsar el flujo e intentamos encontrar otra ruta para enrutar el flujo al destino.

Nos encontramos con la situación cuando las siguientes rutas elegidas son: X -> A -> C -> Y y X -> A -> C -> B-> D -> E -> Y.

En la opción C -> B en la última ruta, reembolsa el flujo y luego descubre una nueva ruta al destino desde el nodo B.

La solución óptima es como:

Espero haber podido explicarlo correctamente. Consulte el artículo del codificador superior para obtener información e imágenes paso a paso.

Los bordes posteriores son los bordes en los que puede disminuir el flujo para encontrar nuevas rutas que potencialmente pueden conducir a un flujo mayor que el valor actual. Esto puede suceder en los casos en que elige una ruta que impide que se elijan otras rutas que podrían dar lugar a un flujo mayor. Enviar flujo a lo largo de un borde posterior esencialmente significa eliminar el flujo a lo largo de ese camino y empujar la diferencia a lo largo de otros caminos.