Selecionar um artigo de periódico recente (2015 em diante) que esteja
relacionado a uma aplicação do problema do fluxo máximo. Comentar sobre
contexto, formulação do problema, forma de resolução, algoritmos utilizados e o que mais julgar pertinente.
FONTAINE, Matthew. Tidal Flow: A Fast and Teachable Maximum Flow
Algorithm. Olympiads in Informatics. Vol.12. p. 25-41. 2018. 10.15388/ioi.2018.03.
Este artigo apresenta um novo algoritmo de fluxo máximo, o Tidal Flow,
projetado para ser intuitivo para estudantes de graduação e estudantes pré- universitários de ciência da computação, sua proposta ocorre porque algoritmos eficientes para resolver esse tipo de problemas geralmente são difíceis para os alunos entenderem de maneira intuitiva. A facilidade de ensino de um algoritmo está relacionada com o fator de quão amplamente adotado um algoritmo será. Dessa forma, um algoritmo de fluxo rápido que seja fácil de ensinar, fácil de implementar e ofereça desempenho competitivo na prática em comparação com outros algoritmos de fluxo populares faz-se necessário. A segunda seção do artigo apresenta uma revisão do problema de fluxo máximo e introduz as notações usadas através do documento: formulação e notação de fluxo máximo; gráficos residuais e caminhos de aumento; algoritmo de Dinitz e gráficos de nível; e algoritmo de Kazanov e pré-fluxos. Seu terceiro parágrafo introduz o algoritmo denominado Tidal Flow e explica como este se relaciona com os outros algoritmos clássicos para solução de problemas de fluxo máximo (Dinitz e Karzanov). Depois disso é feita uma metáfora da maré (tidal) para facilitar o entendimento e, finalmente, explica os detalhes técnicos e a formalização do algoritmo. Nesse capítulo é descrito a forma como o algoritmo descobre caminhos melhores (augmented paths) através da utilização de fluxos de obstrução (blocking flows) em um gráfico de nível – para realizar o procedimento de bloqueio as arestas do gráfico de nível são armazenadas como uma lista na ordem BFS (Breadth-first search). O anexo A contém o algoritmo do Tidal. O quarto parágrafo do artigo apresenta uma avaliação da performance do algoritmo proposto (em relação ao tempo de execução) e faz um benchmark em relação a outros que são conhecidos por apresentarem bons desempenhos na prática. No quinto o Tidal Flow é submetido a testes de desempenho sob problemas específicos (performance em dense-highcap-bpm, sparse-highcap- bpm, dense-unit-bpm, sparse-unit-bpm, on grid e level-10) e comparado a outros algoritmos de fluxo. Ao final, tem-se que o Tidal Flow teve um bom desempenho em comparação com outros algoritmos de fluxo, ele foi capaz de finalizar todos os testes e obteve resultados ou muito próximos do melhor ou foi o melhor. Como conclusão do papel tem-se que o Tidal Flow é mais simples de entender e implementar do que outros algoritmos de fluxo rápido. Além disso, o relacionamento com pré-fluxos (preflows) fazem dele um bom algoritmo intermediário para entender algoritmos mais complicados Anexo A- Algoritmo 1: Tentativa de calcular um fluxo de bloqueio