Aplicações de Fluxo e Cortes

1. O Teorema Max-Flow Min-Cut

Imagine que você quer interromper o tráfego entre duas cidades \(S\) e \(T\) explodindo pontes. Cada ponte tem um “custo de destruição” (que é igual à sua capacidade). O Teorema Max-Flow Min-Cut diz algo surpreendente: > “A soma mínima dos custos das pontes que precisam ser destruídas para separar \(S\) de \(T\) é exatamente igual ao fluxo máximo que consegue passar de \(S\) a \(T\).”

Isso transforma problemas de “separação” em problemas de “fluxo”.


2. Aplicação: Segmentação de Imagem (Photoshop)

Como o computador sabe separar o “Gato” (Frente) do “Fundo” automaticamente?

  1. Modele a imagem como um grafo onde cada Pixel é um vértice.
  2. Crie uma Fonte \(S\) (representando o Objeto) e um Sorvedouro \(T\) (representando o Fundo).
  3. Conecte \(S\) aos pixels que paraceem gato (alta probabilidade).
  4. Conecte \(T\) aos pixels que parecem fundo.
  5. Conecte pixels vizinhos entre si com arestas de alta capacidade (pois vizinhos tendem a ser do mesmo objeto).
  6. Rode o Max-Flow.
  7. O Min-Cut dessas arestas vai cortar exatamente onde a diferença de cor é maior (bordas), separando o objeto do fundo com custo mínimo.

3. Aplicação: Problema da Seleção de Projetos

Você tem uma lista de Projetos possíveis e Requisitos. - Cada Projeto dá um Lucro. - Cada Projeto depende de Ferramentas (ou steps) que têm Custo para comprar. - Se fizer o projeto A, precisa comprar a ferramenta X. - Objetivo: Escolher projetos/ferramentas para maximizar o Lucro Líquido (Lucro - Custo).

Modelagem como Grafo (Min-Cut): 1. Crie Fonte \(S\) e Sorvedouro \(T\). 2. Uma aresta de \(S\) para cada Projeto com capacidade = Lucro. 3. Uma aresta de cada Ferramenta para \(T\) com capacidade = Custo. 4. Arestas de Projeto \(\to\) Ferramenta Necessária com capacidade \(\infty\). 5. Calcule o Min-Cut \((S, T)\). 6. O Corte Mínimo representa o menor prejuízo possível (projetos não realizados + ferramentas pagas). 7. Lucro Máximo = (Soma de todos os lucros possíveis) - (Min-Cut).

Back to top