¿Por qué la complejidad de la cancelación negativa del ciclo


9

Queremos resolver un problema de flujo de costo mínimo con un algoritmo genérico de cancelación de ciclo negativo. Es decir, comenzamos con un flujo válido al azar, y luego no elegimos ningún ciclo negativo "bueno", como los ciclos de costo promedio mínimo, sino que utilizamos Bellman-Ford para descubrir un ciclo mínimo y aumentar a lo largo del ciclo descubierto. Sea el número de nodos en el gráfico, A el número de bordes, U la capacidad máxima de un borde en el gráfico y W los costos máximos de un borde en el gráfico. Entonces, mis materiales de aprendizaje afirman:VAUW

  • Los costos máximos al principio no pueden ser más de AUW
  • El aumento a lo largo de un ciclo negativo reduce los costos en al menos una unidad
  • El límite inferior para los costos mínimos es 0, porque no permitimos costos negativos
  • Cada ciclo negativo se puede encontrar en O(VA)

Y de ello se deduce que la complejidad del algoritmo es . Entiendo la lógica detrás de cada una de las afirmaciones, pero creo que la complejidad es diferente. Específicamente, el número máximo de aumentos viene dado por una unidad de flujo por aumento, lo que lleva los costos de A U W a cero, lo que nos da un máximo de aumentos de A U W. Necesitamos descubrir un ciclo negativo para cada uno, por lo que multiplicamos el número máximo de aumentos por el tiempo necesario para descubrir un ciclo ( V A ) y llegar a O ( A 2 V UO(V2AUW)AUWAUWVA para el algoritmo.O(A2VUW)

¿Podría ser esto un error en los materiales de aprendizaje (este es un texto proporcionado por el profesor, no las notas de un alumno del curso), o mi lógica es incorrecta?

Respuestas:


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.