Algoritmo dinic

Algoritmo dinic

El algoritmo Dinic o Dinitz se basa en dos nociones: una grafico nivel y un flujo de bloqueo (gráfico de nivel y flujo de bloqueo).

Para determinar el gráfico de nivel, colocamos la fuente en el nivel 1, sus sucesores en el nivel 2, y así sucesivamente.

El flujo de bloqueo es el flujo maximo puede pasar en un camino dado.

El algoritmo de Dinic es el siguiente:

  1. construir un gráfico de nivel
  2. encontrar un camino creciente (el más pequeño) desde la fuente hasta el pozo
  3. encontrar el arco que limita la trayectoria creciente
  4. encontrar un camino que aumenta desde la cumbre limitante hasta el pozo
  5. repita los pasos 3 y 4 para construir un flujo de bloqueo hasta que no haya una ruta creciente

Ejemplo

Construcción del gráfico de nivel:

Encuentre la ruta creciente, encuentre el arco limitante:

Volver a los pasos 3 y 4:

Y así sucesivamente hasta que no se encuentre más camino creciente:

FR
FR
EN
ES
Salir de la versión móvil