Teoria do Fluxo
Definições
Digrafo
Grafo dirigido, todas as arestas têm orientação.
Grau de Entrada/Saída
Seja um vértice de um digrafo :
- Grau de Entrada: Quantas arestas estão direcionadas para
- Grau de Saída: Quantas arestas partem de para outro vértice
Exemplo
Neste exemplo, o vértice v tem
- Grau de entrada
- Grau de saída
O vértice S tem
- Grau de entrada
- Grau de saída
Fonte e Sumidouro
Fonte
é o vértice de um digrafo conexo com grau de entrada nulo.
Sumidouro
é o vértice de um digrafo conexo com grau de saída nulo.
Notação
Um digrafo-- é um digrafo com fonte
e sumidouro
Rede Capacitada
Uma rede capacitada é um digrafo-- , com uma função capacidade , tal que, para vértices :
- se (não é aresta do digrafo)
- se
Fluxo
Um Fluxo numa Rede Capacitada
é uma atribuição de valores às arestas do digrafo-- , onde:
- se
- se
- (Fluxo não pode exceder capacidade)
- Fluxo que entra num vértice é igual ao fluxo que sai de
Valor do Fluxo
O Valor de um Fluxo numa Rede Capacitada será igual ao somatório do fluxo que sai da Fonte
, ou Fontes
se houver mais do que uma.
Dica
Podemos ver uma Rede Capacitada
, como uma rede de canalização da água, onde há uma fonte, destino(sumidouro) e as arestas são canos de água. Tal como na Rede Capacitada
, um cano não tem água a circular nos dois sentidos, apenas num.
Seguindo esta ideia,
Capacidade
indica a quantidade máxima de água que cada cano aguenta.Fluxo
indica a quantidade de água que está a passar em cada um dos canos- O
Valor do Fluxo
é quantidade de água que emitimos na fonte.
Fluxo Máximo
Fluxo máximo é um fluxo , tal que o seu valor é maior ou igual ao valor de qualquer outro fluxo possível na mesma Rede capacitada
.
Corte
Numa Rede , sejam e uma partição de , tal que e .
Ao conjunto de arestas orientadas de vértices em para vértices em , ou dá-se o nome de Corte
na rede e denota-se por
Capacidade do Corte
Soma das capacidades de todas as arestas do corte.
Exemplo
Neste Corte a vermelho a capacidade do Corte
será:
Nota
A aresta com capacidade mais abaixo não é incluída, porque vai de para
Balanço de Fluxo
Balanço de fluxo, através de um corte , que também pode ser identificado por Fluxo do Corte , é a soma dos fluxo das arestas orientadas de para (fluxo positivo) menos a soma dos fluxos das arestas orientadas de um vértice de para (fluxo negativo).
Qualquer Corte numa Rede Capacitada
tem sempre o mesmo Balanço de Fluxo
.
Corte mínimo
Corte, cuja capacidade é menor ou igual à capacidade de qualquer outro corte da mesma Rede.
Trajetória num Digrafo
Uma trajetória
numa rede capacitada é uma trajetória aberta
de a .
Relembrar dos Grafos: Trajetória aberta é um caminho que não repete vértices nem arestas, e que não é fechada (não acaba no mesmo vértice)
Quasi-trajetória
Trajetória, mas que pode ter arestas negativas. Seja
uma Quasi-trajetória, pode existir uma aresta (*com ) que está dirigida de para . Este tipo de arestas é designado por arestas negativas
NOTAS
- *Não pode ser , porque uma aresta da
fonte
sai sempre da fonte e uma dosumidouro
está sempre dirigida para este. - É normal incluir-se uma trajetória no grupo das
Quasi-trajetórias
Frouxidão
Seja uma Quasi-Trajetória
e uma aresta que faz parte de , a Frouxidão
de é dada por:
(Obrigado ao Rafael Oliveira)
A Frouxidão
mínima de uma Quasi-trajetória
será a mínima frouxidão de entre todas as arestas de .
Incremento do Fluxo
Seja uma Quasi-Trajetória
, é possível incrementar o seu fluxo, se a Frouxidão
mínima for maior que .
Nesse caso, seja a frouxidão mínima
de , adicionamos ao fluxo das arestas positivas, e retiramos do fluxo das arestas negativas
Teoremas
Teorema 1
O valor de um fluxo
é menor ou igual à capacidade de um corte mínimo numa rede capacitada.
Se o valor do fluxo é igual à capacidade de um corte , então o fluxo é máximo e o corte é um corte mínimo.
Demonstração
Seja o fluxo de um corte .
Se é igual à capacidade do corte, então, pela fórmula do fluxo de um corte, a soma dos fluxos das arestas orientadas de um vértice de para (fluxo negativo) será .
Deste modo, o fluxo será máximo, porque é igual à capacidade, e por isso, o corte também será mínimo
QED
Teorema 2
Um fluxo numa Rede Capacitada é um fluxo máximo se e só se não existir uma Quasi-trajetória de incremento do fluxo.
Demonstração
Condição Necessária - Se não existe Quasi-Trajetória de aumento, o fluxo é máximo.
Vamos definir um corte mínimo:
- (relembrar que é a fonte)
- Se e , então
- Se e , então
Face a estas restrições, (o sumidouro) terá de pertencer a , pois, se não pertencesse haveria uma Quasi-Trajetória de aumento, que não existe como assumido no início da Condição Necessária
.
Logo, é um corte.
O fluxo será máximo se for igual à capacidade do corte.
Seja uma aresta do corte , esta aresta tem de estar saturada, caso contrário ambos os vértices das arestas pertenceriam a (ponto )
Seja uma aresta que vai de para , terá fluxo (ponto ).
Aplicando o Teorema 1, o Teorema 2
fica demonstrado
QED
Aviso do Professor
Isto só se verifica numa Rede Capacitada
com números Racionais. Há situações com números Reais onde não podemos concluir nada.
Contudo, esta exceção não deve ser avaliada.
Algoritmo de Ford-Fulkerson
Numa Rede capacitada , permite-nos encontrar o Fluxo
máximo e, consequentemente, o Corte mínimo
.
Descrição Informal
Sempre que houver uma Quasi-Trajetória
com Frouxidão mínima
positiva, aumentamos o fluxo de .
Quando já não houver termina o algoritmo (pelo Teorema 2), e teremos uma Rede Capacitada
com Fluxo máximo.
Corte mínimo pelo Ford-Fulkerson
Seja o conjunto dos vértices alcançáveis no final do Algoritmo de Ford-Fulkerson e tal que , é um Corte Mínimo
, porque respeita as condições do Teorema 1.
NOTA
Podemos usar o Teorema 1 para verificar que o corte que escolhemos no final do Algoritmo de Ford-Fulkerson é mínimo. Só se for mínimo é que a resposta está correta.
Vértice alcançável
Um vértice é alcançável
se é possível aumentar o fluxo de uma "pseudo" Quasi-trajetória que começa na fonte
e vai até ao vértice .
Atenção
Pode acontecer que uma aresta já tenha fluxo = capacidade, mas o vértice a que se dirige seja alcançável
. Esses casos devem-se à existência de arestas negativas.