Você está na página 1de 3

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

Você também pode gostar