Anda di halaman 1dari 9

AULA 04 - GRAFOS ORIENTADOS

Autor: Ernesto Massa Tudo fluxo, nada fica parado Herclito

Ol! Nesta aula, retomaremos o estudo sobre grafos orientados. Sero aprofundados seus principais conceitos e propriedades, identificados vrtices especiais e vistas algumas aplicaes. A mais importante delas o estudo do fluxo em redes, fundamental para a soluo de alguns problemas de otimizao combinatria.

GRAFOS ORIENTADOS
Como vimos na nossa primeira aula, um grafo orientado um grafo em que uma aresta pode ser percorrida em apenas uma direo, sendo formalmente definido por uma tripla ordenada D = (V D , AD , D ) , em que VD um conjunto no vazio de vrtices, AD um conjunto de arestas, e D a funo incidente que associa cada aresta pertencente ao conjunto AD a um par ordenado de vrtices pertencentes ao conjunto VD (BONDY, 1982). Todos os conceitos que so vlidos para grafos no-orientados, aplicam-se automaticamente aos grafos orientados, com a incluso do fato que as arestas sero direcionadas. Desta forma, um passeio em um grafo orientado um passeio orientado, uma trilha em um grafo orientado uma trilha orientada, e um caminho em um grafo orientado um caminho orientado. Analogamente so definidos ciclo orientado e circuito orientado (BONDY, 1982). Se existe um caminho orientado entre os vrtices vi e vj, dizemos que vj atingvel a partir de vi. Todos os vrtices alcanados a partir de vi formam o fecho transitivo de vi, e todos os vrtices de onde vi alcanvel formam o fecho transitivo inverso de vi (BOAVENTURA NETTO, 1996). Podemos observar na figura 1(a) o fecho transitivo do vrtice v5, e na figura 1(b) podemos observar o fecho transitivo inverso do vrtice v7.

Figura 1- (a) Fecho transitivo de v5; (b) Fecho transitivo inverso de v7

ORDENAO TOPOLGICA
Todo grafo orientado acclico possui um ordenao topolgica, ou seja, possvel construir um alinhamento dos vrtices em que todas as arestas estejam direcionadas da esquerda para direita (REZENDE, 2002). A necessidade do grafo ser acclico clara, pois se dispusermos as arestas de um ciclo direcionadas da esquerda para a direita, em algum momento aparecer uma aresta que retornar ao vrtice inicial, localizado na extrema esquerda (figura 2).

Figura 2- (a) Ciclo; (b)Impossibilidade de ordenao

FLUXO EM REDES
Redes de distribuio, seja de alimentos, energia ou informao, podem ser melhor entendidas se modeladas por grafos orientados acrescidos de alguma estrutura adicional. Uma rede (network) N um grafo orientado D com dois subconjuntos de vrtices distintos, X e Y, e uma funo c inteira definida sobre o conjunto de arestas de D. Os vrtices pertencentes a X so chamados fontes, e representam unidades produtoras, enquanto os vrtices pertencentes a Y so chamados sumidouros, e representam unidades consumidoras (BONDY, 1982). As fontes no possuem nenhuma aresta convergente (figura 3(a)), e os sumidouros no possuem nenhuma aresta divergente (BOAVENTURA NETTO, 1996) (figura 3(b)). Vrtices pertencentes a D e que no pertencem a X nem a Y so vrtices intermedirios. A funo c uma funo sobre as arestas de D e determina a capacidade de distribuio de cada aresta.

Figura 3- (a) Fontes; (b) Sumidouro

Uma rede pode ser representada por um grafo orientado, em que as arestas so rotuladas com os valores determinados pela funo de capacidades (Figura 4).

Figura 4 - Rede (network) Fonte: Adaptado de Bondy (1982, p.192)

Um fluxo (flow) em uma rede N uma funo conjunto de arestas A, que atende s seguintes restries:

definida sobre o

f + (v) = f (v), onde f (v) o fluxo divergindo de v, e f + (v) o fluxo conver gindo para v, onde v X e v Y 0 f (a) c(a), para todo a A

A primeira restrio garante que o fluxo convergindo para um vrtice v, deve ser igual ao fluxo divergindo de v. Esta restrio tem a finalidade de no permitir o acmulo em nenhum vrtice, e conhecida como condio de conservao (BONDY, 1982). Para simplificar esta restrio e aplic-la a todos os vrtices, podem ser criados: a) uma fonte (x) que alimenta as fontes originais; b) um sumidouro (y) que recebe todos os fluxos dos sumidouros originais; c) uma aresta de retorno, com capacidade infinita, e que liga y x (figura 5). Feito isto, a condio de conservao passa a ser vlida para todos os vrtices da rede (BOAVENTURA NETTO, 1996).

Figura 5- Fonte e sumidouro nicos, com aresta de retorno Fonte: Adaptado de Bondy (1982, p.192)

Podemos entender a segunda restrio como um fluxo f (a ) que atravessa uma aresta a sendo limitado pela capacidade de distribuio c(a) desta aresta a. Esta restrio conhecida como restrio de capacidade (BONDY, 1982). Em alguns problemas, considerada importante a existncia de um fluxo mnimo percorrendo cada aresta, calculado pela funo b(a). Da mesma forma que c(a), a funo b(a) definida sobre o conjunto das arestas da rede. Nestes casos, a restrio de capacidade substituda por uma restrio de canalizao, que tem a seguinte forma (BOAVENTURA NETTO, 1996):

b(a) f (a) c(a), para todo a A

Considere S um subconjunto qualquer de vrtices que pertenam rede. O fluxo de S, denotado por f ( S ) , calculado pelo fluxo divergente de S menos o fluxo convergente para S. Desta forma, f ( S ) = f + ( S ) f ( S ) . Como todo vrtice intermedirio possui fluxo divergente igual ao fluxo convergente, temos que a soma dos fluxos que saem das fontes igual soma dos fluxos que chegam aos sumidouros ( f + ( X ) = f (Y ) ). Este valor chamado de o valor da funo f . Como exemplo, observe a figura 6, que agora possui um fluxo em cada aresta, apresentado entre parnteses.

Figura 6- Fluxo em uma rede (network flow) Fonte: Adaptado de Bondy (1982, p.192)

Note que a soma dos fluxos que convergem para qualquer dos vrtices intermedirios (v1, v2, v3, v4) igual soma dos fluxos que divergem destes mesmos vrtices. Com isso, os nicos vrtices que possuem fluxo divergente so as fontes, e os nicos vrtices com fluxo convergente so os sumidouros. Ainda possvel perceber que a soma dos fluxos divergindo das fontes ( f + ( X ) = 6 ) igual soma dos fluxos convergindo para os sumidouros ( f (Y ) = 6 ). Uma aresta est saturada quando o fluxo que passa por ela igual a sua capacidade. Podemos ver que, na rede da figura 06, as arestas (x1,v4), (x2,v4), e (v3,y2) esto saturadas, enquanto as demais arestas ainda possuem capacidades que permitiriam o aumento em seus respectivos fluxos. Alm disso, algumas arestas no-saturadas formam caminhos entre fontes e sumidouros e permitiriam o aumento do fluxo que escoa das fontes para os sumidouros. Como exemplo, o fluxo divergindo de x2 poderia ser aumentado em uma unidade e chegar at y2 atravs do caminho x2~v3~y2, j que as capacidades de (x2,v3) e (v3,y2) ainda no foram esgotadas. Assim, podemos perceber que o fluxo na rede em questo poderia ser aumentado. Para encontrar o fluxo mximo em uma rede, pode-se utilizar o algoritmo de Ford-Fulkerson, que ser visto nas prximas sees.

GRAFO DE AUMENTO DE FLUXO


Uma ferramenta utilizada no algoritmo de Ford-Fulkerson e que precisa ser estudada para sua compreenso, o grafo de aumento de fluxo. Neste grafo, as arestas indicam quanto existe de folga para se crescer o fluxo na direo da aresta, considerando o fluxo atual, a capacidade, e o fluxo mnimo da aresta (BOAVENTURA NETTO, 1996). Podemos ver, na figura 7, o grafo de aumento de fluxo do grafo apresentado na figura 6.

Figura 7- Grafo de aumento de fluxo Fonte: Adaptado de Bondy (1982, p.192)

Analisando a construo do grafo de aumento de fluxo, percebemos que a aresta (x1,v1) estava, originalmente, com fluxo igual a um. Como a capacidade desta aresta igual a seis, o fluxo ainda pode crescer cinco unidades na direo (x1,v1), mas tambm pode ser reduzido de uma unidade, o que equivaleria ser aumentado na direo inversa (v1,x1) em uma unidade. Ambas as possibilidades so representadas no grafo de aumento de fluxo pelas arestas que ligam os vrtices x1 e v1. Portanto, cada aresta do grafo indica quanto o fluxo ainda pode crescer na direo indicada pela aresta.

ALGORITMO DE FORD-FULKERSON
Agora que conhecemos o grafo de aumento de fluxo, podemos compreender o algoritmo de Ford-Fulkerson, que pode ser descrito pelos passos apresentados no algoritmo 01:

01) Gerar um fluxo inicial vivel 02) Construir o grafo de aumento de fluxo correspondente 03) Determinar o fecho transitivo do vrtice fonte do grafo Se o sumidouro no estiver presente no fecho transitivo, encerrar o algoritmo 04) Considerar um caminho entre a fonte e o sumidouro do grafo de aumento de fluxo Seja a folga mnima existente no caminho, diminuir de todas as arestas do caminho e aumentamos em todas as arestas no sentido oposto 05) Voltar para o passo 2
Algoritmo 01- Algoritmo de Ford-Fulkerson Fonte: Adaptado de Boaventura Netto (1996, p.155)

Aplicando o algoritmo ao grafo de aumento de fluxo da figura 07, vemos que o sumidouro ainda pertence ao fecho transitivo do vrtice x, e podemos escolher o caminho x~x1~v1~y1~y que liga x a y. Como a folga mnima deste

caminho igual a quatro (na aresta (v1,y1)), diminumos quatro das arestas do caminho escolhido, e somamos quatro nas arestas no sentido oposto. O novo grafo de aumento de fluxo ficar como exibido na figura 8.

Figura 08- Grafo de aumento de fluxo aps a incluso do caminho x~x1~v1~y1~y Fonte: Adaptado de Bondy (1982, p.192)

Voltando ao algoritmo 01, verificamos que o sumidouro continua pertencendo ao fecho transitivo da fonte x, e inclumos o caminho x~x2~v4~v3~v2~y2~y, que possui folga mnima igual a dois. O novo grafo de aumento de fluxo ficou como aparece na figura 9.

Figura 9 - Grafo de aumento de fluxo aps a incluso do caminho x~x2~v3~v2~y1~y Fonte: Adaptado de Bondy (1982, p.192)

Como pode ser visto, o sumidouro y no faz mais parte do fecho transitivo de x, encerrando a execuo do algoritmo. Com isso, o fluxo mximo da rede o fluxo inicial (seis), apresentado na figura 6, somado aos fluxos dos dois caminhos includos durante a execuo do algoritmo de Ford-Fulkerson (quatro e um), totalizando onze. Unindo os trs fluxos citados, temos a rede apresentada na figura 10. Note que o fluxo total divergindo das fontes e o fluxo total convergindo para os sumidouros igual ao valor calculado (onze).

Figura 10- Fluxo mximo da rede Fonte: Adaptado de Bondy (1982, p.192)

SNTESE
Nesta aula tivemos uma viso mais aprofundada sobre grafos orientados. Vimos que o conjunto de vrtices alcanveis a partir de um vrtice v chamado de fecho transitivo de v, e que o conjunto de vrtices de onde se consegue alcanar um vrtice v chamado de fecho transitivo inverso de v. Aprendemos que todo grafo orientado acclico possui uma ordenao topolgica que nos permite alinhar suas arestas sempre na mesma direo. Fontes so vrtices que no possuem arestas convergentes, e sumidouros so vrtices que no possuem arestas divergentes. Grafos orientados, quando possuem fontes e sumidouros, e so unidos a uma funo que associa capacidades s suas arestas, formam as redes. Um importante problema o clculo do fluxo mximo em redes, que pode ser resolvido pelo algoritmo de Ford-Fulkerson. Em nossa prxima aula conheceremos um novo tpico da Matemtica Aplicada: A Pesquisa Operacional.

QUESTO PARA REFLEXO


Como seria o algoritmo de Ford-Fulkerson se quisermos saber o fluxo mximo de uma rede em que as arestas possuem um fluxo mnimo?

LEITURAS INDICADAS
Para consolidao dos assuntos vistos nesta aula, sugerimos a leitura do captulo 7: "Fluxos em Grafos", do livro de Paulo Oswaldo Boaventura Netto. Para conhecer o trabalho original de Lester Randolph Ford Jr. e Delbert Ray Fulkerson, faa a leitura do artigo: "FORD, L.R.; FULKERSON, D.R. Maximal Flow Through a Network. Canadian Journal of Mathematics, n.8, p.399-404, 1956.". O artigo pode ser obtido pela internet.

SITES INDICADOS
http://en.wikipedia.org/wiki/Maximum_flow_problem

REFERNCIAS
BOAVENTURA NETTO, Paulo Oswaldo. Grafos: teoria, modelos, algoritmos. So Paulo: Ed. Edgard Blcher, 1996. BONDY, John Adrian; Murthy, U.S.R. Graph theory with applications. The MacMillan Press, London, fifth edition, 1982. FORD, L.R.; FULKERSON, D.R. Maximal Flow Through a Network. Canadian Journal of Mathematics, n.8, p.399-404, 1956. REZENDE, Pedro J. Algoritmos em grafos. Notas de Aula da disciplina Complexidade de Algoritmos I. Unicamp, junho 2002.

Anda mungkin juga menyukai