FIGUEREDO, D. M.; http://lattes.cnpq.br/4907450667117900; FIGUEREDO, Daniel de Matos.
Abstract:
In the challenges faced during problem-solving, a change in perspective can reveal simpler solutions. A common approach involves representing complex problems through Flow Networks, enabling the application of Maximum Flow algorithms. Flow algorithms hold significant importance for problem-solving in various fields, playing an indispensable role in solution optimization. However, developers often struggle with knowing when and how to use them. In this work, the objective is to showcase practical applications of Maximum Flow algorithms to help software professionals understand more application scenarios. This article focuses on the analysis of problems amenable to graph modeling and resolution through Maximum Flow algorithms, demonstrating how these problems can be formulated in terms of flow networks. Among the problems analyzed are matching problems, such as task assignment for workers and balanced distribution of cars for passengers in travel applications. Additionally, a variation of the Baseball Elimination problem will be shown, aiming to calculate the likelihood of competitors winning in a chess tournament. By highlighting practical applications of algorithms like Ford-Fulkerson and Edmonds-Karp, valuable insights are offered, such as the possibility of representing certain relationships as bipartite graphs. Thus, demonstrating the usefulness and efficiency of this type of approach in solving a variety of real-world problems.