Queremos resolver um problema de fluxo de custo mínimo com um algoritmo genérico de cancelamento de ciclo negativo. Ou seja, começamos com um fluxo válido aleatório e, em seguida, não selecionamos nenhum ciclo "bom" negativo, como ciclos mínimos de custo médio, mas usamos a Bellman-Ford para descobrir um ciclo mínimo e aumentar ao longo do ciclo descoberto. Seja o número de nós no gráfico, A o número de arestas, U a capacidade máxima de uma aresta no gráfico e W os custos máximos de uma aresta no gráfico. Então, meus materiais de aprendizado afirmam:
- Os custos máximos no início não podem exceder
- O aumento ao longo de um ciclo negativo reduz os custos em pelo menos uma unidade
- O limite inferior para os custos mínimos é 0, porque não permitimos custos negativos
- Cada ciclo negativo pode ser encontrado em
E eles concluem que a complexidade do algoritmo é . Entendo a lógica por trás de cada uma das reivindicações, mas acho que a complexidade é diferente. Especificamente, o número máximo de aumentos é dada por uma unidade de fluxo por aumento, tendo os custos de um U W a zero, o que nos dá um máximo de Uma L W aumentos. Precisamos descobrir um ciclo negativo para cada um, para multiplicarmos o número máximo de aumentos pelo tempo necessário para descobrir um ciclo ( V A ) e chegar a O ( A 2 V U
Isso poderia ser um erro nos materiais de aprendizagem (este é um texto fornecido pelo professor, não as anotações de um aluno do curso) ou minha lógica está errada?