• Nenhum resultado encontrado

Defini¸c˜ao 5.6.1 Um grafo dirigido ´e um grafo em que cada aresta tem uma orienta¸c˜ao. Adaptando a defini¸c˜ao, um grafo dirigido consiste num conjunto V de v´ertices, num conjunto A de arestas, disjunto de V , e numa fun¸c˜ao de incidˆencia

φ : A → V × V, φ(a) = (i(a), t(a)) i(a) ´e o v´ertice inicial e t(a) o v´ertice terminal da aresta a.

Fica igualmente definida a fun¸c˜ao ψ : V × A → {−1, 0, 1}: ψ(v, a) = 0 se a ´e um lacete ou se a n˜ao incide em v; ψ(v, a) = 1 se a n˜ao ´e lacete e v = i(a);

ψ(v, a) = −1 se a n˜ao ´e lacete e v = t(a);

d(v) = ]{a ∈ A : t(a) = v}, d+(v) = ]{a ∈ A : i(a) = v} s˜ao, respectivamente, o grau de entrada e de sa´ıda de v.

Num grafo dirigido definem-se passeios e caminho dirigidos como sendo aqueles que percorrem as arestas de acordo com a sua orienta¸c˜ao.

As defini¸c˜oes das matrizes de incidˆencia e adjacˆencia s˜ao igualmente alteradas para dar conta da orienta¸c˜ao das arestas: a matriz de incidˆencia M tem n = |V | linhas e m = |A| colunas e ´e definida por M (i, s) = ψ(vi, as).

A matriz de adjacˆencia L ´e uma matriz n × n definida por

L(i, j) = ]{a ∈ A : i(a) = vi∧ t(a) = vj}

Ao contr´ario do que se passa num grafo n˜ao dirigido, a matriz de adjacˆencia de um grafo dirigido n˜ao ´e necessariamente sim´etrica.

`

A semelhan¸ca do que se passa no caso n˜ao dirigido, a entrada (i, j) da k-´esima potˆencia de L, Lk(i, j), ´e o n´umero de passeios dirigidos.

Dado um conjunto X ⊂ V , definem-se igualmente

+(X) = {a ∈ A : i(a) ∈ X ∧ t(a) ∈ V \ X} ∂(X) = {a ∈ A : t(a) ∈ X ∧ i(a) ∈ V \ X}

5.6.1 Fluxos

Vamos dar uma, de entre muitas, aplica¸c˜oes de grafos dirigidos, o estudo de fluxos em redes.

O modelo simplificado de uma rede ´e um grafo dirigido G, conexo, sem lacetes nem arestas paralelas com a mesma orienta¸c˜ao, com um v´ertice inicial x e um v´ertice terminal y satisfazendo

d(x) = 0 = d+(y) e uma fun¸c˜ao c : A → R+ chamada fun¸c˜ao de capacidade da rede. Dada uma fun¸c˜ao f definida nas arestas de G, usamos as nota¸c˜oes

f (S) =X

a∈S

f (a), ∀S ⊆ A e

f+(X) = f (∂+(X)), f(X) = f (∂(X)) ∀X ⊂ V

Um fluxo (realiz´avel) na rede ´e uma fun¸c˜ao f : A → R+ satisfazendo 0 ≤ f (a) ≤ c(a) e tal que para todo o v´ertice interm´edio se tem f(v) = f+(v). Esta ´ultima igualdade ´e referida como Lei de Conserva¸c˜ao; definimos o valor de f como

val(f ) = f+(x) = f(y)

O objectivo ´e determinar um fluxo m´aximo, isto ´e, com o maior valor poss´ıvel.

Proposi¸c˜ao 5.6.2 : Dado um fluxo f e X ⊂ V tal que x ∈ X e y ∈ V \ X, tem-se val(f ) = f+(X) − f(X)

Demonstra¸c˜ao 5.6.3 Note-se antes do mais que a Lei de conserva¸c˜ao ´e equivalente a X a∈A ψ(v, a)f (a) = 0, ∀v ∈ V \ {x, y} Temos ent˜ao val(f ) = f+(x) =X a∈A ψ(x, a)f (a) = X v∈X X a∈A ψ(v, a)f (a) = X a∈A X v∈X ψ(v, a)f (a) =X a∈A f (a)X v∈X ψ(v, a) = f+(X) − f(X)

Dado X ⊂ V tal que x ∈ X e y ∈ V \ X, o conjunto de arestas ∂+(X) chama-se um corte da rede e c+(X) =P

a∈∂+(X)c(a) a capacidade do corte. Conclui-se ent˜ao da proposi¸c˜ao anterior que

ou seja o valor de um fluxo ´e majorado pela capacidade de qualquer corte da rede. Al´em disso val(f ) = c+(X) se e s´o se se verifica



f (a) = c(a) ∀a ∈ ∂+(X) f (a) = 0 ∀a ∈ ∂(X) j´a que aquela igualdade ´e equivalente a f+(X) = c+(X) e f(X) = 0.

Dizemos que ∂+(X) ´e um corte m´ınimo se tem a menor capacidade poss´ıvel. Do resultado anterior pode enunciar-se a

Proposi¸c˜ao 5.6.4 : Dado um fluxo f e um corte ∂+(X), i) val(f ) ≤ c+(X)

ii) Se val(f ) = c+(X) ent˜ao f ´e m´aximo e ∂+(X) ´e m´ınimo. max

f val(f ) ≤ min

X c+(X)

onde o m´aximo ´e calculado sobre todos os fluxos poss´ıveis e o m´ınimo sobre todos os cortes da rede. Provaremos adiante que se tem de facto igualdade entre esse m´aximo e esse m´ınimo.

Defini¸c˜ao 5.6.5 Dado um fluxo f e um caminho C n˜ao necessariamente dirigido com in´ıcio em x, definimos para cada aresta a do caminho (a) = c(a) − f (a) se a+∈ C ou seja, se a aresta ´e percorrida de acordo com a sua orienta¸c˜ao, e (a) = f (a) se a ∈ C ou seja se a ´e percorrida em sentido oposto ao da sua orienta¸c˜ao; e define-se (C) = mina(a).

Finalmente, um caminho de incremento ´e um caminho C, mais uma vez n˜ao necessariamente dirigido, com ´ınicio em x e final em y para o qual (C) > 0.

O interesse desta defini¸c˜ao est´a na seguinte

Proposi¸c˜ao 5.6.6 : O fluxo f ´e m´aximo se e s´o se n˜ao existe um caminho de incremento.

Demonstra¸c˜ao 5.6.7 : Suponhamos que existe um caminho de incremento C; nesse caso podemos definir um novo fluxo f0(a) =    f (a) + (a) se a+∈ C f (a) − (a) se a∈ C f (a) a 6∈ C tal que val(f0) > val(f ).

Reciprocamente, suponhamos que n˜ao existe um caminho de incremento; nesse caso seja X o conjunto que cont´em x e todos os v´ertices v para os quais existe um caminho C de x at´e v com (C) > 0. ∂+(X) ´e um corte e vamos verificar que f ´e m´aximo e o corte m´ınimo.

Seja a ∈ ∂+(X), i(a) = u e t(a) = v; isso significa que u ∈ X mas v 6∈ X e portanto que f (a) = c(a) ( caso contr´ario pod´ıamos prolongar o caminho com in´ıcio em x e fim em u at´e v); pelo mesmo racioc´ınio, se a ∈ ∂(X) conclui-se que f (a) = 0.

Mas essas s˜ao exactamente as condi¸c˜oes para que se tenha val(f ) = c+(X), e que portanto f seja m´aximo e ∂+(X) um corte m´ınimo.

Suponhamos que f ´e um fluxo m´aximo; a proposi¸c˜ao anterior implica que n˜ao existe um caminho de incremento; mas ent˜ao a mesma proposi¸c˜ao garante a existˆencia de um corte m´ınimo tal que val(f ) = c+(X). Em conclus˜ao tem-se o

Teorema 5.6.8 : maxfval(f ) = minXc+(X).

Este resultado permite resolver o problema de determinar um fluxo m´aximo atrav´es do

Algoritmo de Ford-Fulkerson: Tomando um fluxo inicial f (que pode ser simplesmente o fluxo nulo), constr´oi-se a partir de x uma ´arvore T , usando um dos algoritmos de busca em grafos referidos anteriormente; em cada passo temos um conjunto X dos v´ertices da ´arvore j´a constru´ıda; se a ∈ ∂+(X) e f (a) < c(a) adicionamos a aresta a e o v´ertice t(a) a T ; se a ∈ ∂(X) e f (a) > 0 adicionamos a aresta a e o v´ertice i(a) a T .

Se neste processo chegamos a ter y ∈ T , temos um caminho de incremento, logo podemos aumentar o fluxo como indicado numa proposi¸c˜ao anterior e reiniciar o algoritmo. Caso contr´ario obtiv´emos um fluxo m´aximo.

5.7 Exerc´ıcios

1 - Verificar se cada uma das listas seguintes pode representar os graus dos v´ertices de um grafo (simples) e no caso afirmativo, representar graficamente um grafo nessas condi¸c˜oes:

a) {3, 3, 2, 2, 2, 1} b) {6, 6, 6, 4, 4, 2, 2} c) {6, 6, 6, 6, 5, 4, 2, 1} d) {6, 6, 6, 4, 4, 3, 3}

Resolu¸c˜ao: A sequˆencia da al´ınea a) n˜ao pode representar os graus dos v´ertices de um grafo, uma vez que o n´umero de v´ertices de grau ´ımpar tem que ser par e nesta sequˆencia temos 3 valores ´ımpares.

A sequˆencia da al´ınea b) tamb´em ˜ao pode representar os graus dos v´ertices de um grafo simples; para justificar isso basta ver que se assim fosse cada um dos v´ertices de grau 6 teria que ser adjacente a todos os outros v´ertices; logo todos os v´ertices teriam grau maior ou igual a 3.

Podemos aplicar um racioc´ınio do mesmo tipo na al´ınea c), mas em vez disso, podemos usar o facto de que a sequˆencia ´e a sequˆencia de graus de um grafo simples se e s´o se {5, 5, 5, 4, 3, 1, 1} tamb´em o for, se e s´o se {4, 4, 3, 2, 1, 0}e agora a ideia aplicada em b) aplica-se claramente: cada um dos dois v´ertices de grau 4 teria que ser adjacente a cada um dos outros trˆes v´ertices de grau positivo, e portanto n˜ao poderia haver v´ertices de grau 1.

Finalmente, a ´ultima sequˆencia ´e a sequˆencia de graus de um grafo simples: ligamos os trˆes v´ertices de grau 6 entre si e a cada um dos outros quatro v´ertices e finalmente escolhemos dois destes para serem adjacentes um do outro.

2 - O complemento de um grafo simples G, ´e o grafo G que tem os mesmos v´ertices de G mas em que dois v´ertices s˜ao adjacentes se e s´o se o n˜ao forem em G.

a) Se G tem n v´ertices com graus d1, d2, · · · , dn quais s˜ao os graus dos v´ertices de G? b) Mostrar que se G ´e desconexo, ent˜ao G ´e conexo. A rec´ıproca ´e verdadeira?

Resolu¸c˜ao: a) G tem sequˆencia de graus (para a mesma ordem de v´ertices) n − 1 − d1, n − 1 − d2, · · · , n − 1 − dn

b) Suponhamos que G ´e desconexo e que o conjunto dos v´ertices V se decomp˜oe como V = V1∪ V2, V1∩ V2= ∅, V16= ∅ 6= V2

de modo a que n˜ao haja arestas entre V1e V2.

Ent˜ao quaisquer dois v´ertices u ∈ V1 e v ∈ V2 s˜adjacentes em G; por outro lado, dados dois v´ertices x e y de, por exemplo, V1, existe um caminho de comprimento 2 entre eles passando por cada um dos v´ertices de V2; e o mesmo se passa para x, y ∈ V2.

noindent Logo se G ´e n˜ao conexo, G ´e conexo.

A rec´ıproca n˜ao ´e verdadeira e ´e f´acil encontrar exemplos. Por exemplo o grafo G com matriz de adjacˆencia     0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0     ´

e conexo e G tamb´em.

3 - Mostrar que em qualquer grafo existem dois v´ertices com o mesmo grau. Sugest˜ao: usar o Princ´ıpio do Pombal.

Resolu¸c˜ao: Se G tem n v´ertices, os graus destes podem tomar n valores: 0 ≤ d(v) ≤ n − 1. No entanto, se algum v´ertice tiver grau 0, nenhum pode ter grau n − 1 e vice-versa. Portanto, os graus dos n v´ertices s´o podem tomar n − 1 valores e pelo Princ´ıpio do Pombal, dois deles tˆem que ter o mesmo valor.

4 - Um grafo ´e regular de grau k se todos os v´ertices tˆem grau k. Quantos grafos de ordem 7 e regulares de grau 4, n˜ao isomorfos, ´e que existem? Sugest˜ao: considerar o complemento do grafo.

Resolu¸c˜ao: Notamos primeiro que dois grafos s˜ao isomorfos se e s´o se os seus complementares s˜ao isomorfos: de facto, se G tem v´ertices V e H tem v´ertices U , um isomorfismo entre G e H ´e uma bijec¸c˜ao f : V → U tal que

x, y ∈ V s˜ao adjacentes em G ⇔ f (x), f (y) ∈ U s˜ao adjacentes em H e portanto f tamb´em ´e um isomorfismo entre G e H.

O complementar de um grafo com 7 v´ertices e regular de grau 4 ´e regular de grau 2 e portanto tem que ser constitu´ıdo por uma uni˜ao disjunta de caminhos fechados (ciclos). S´o h´a 2 grafos (ou, mais precisamente, duas classes de isomorfismo de grafos) nessas condi¸c˜oes, um ciclo de comprimento 7 e a uni˜ao disjunta de um ciclo de comprimento 3 com um de comprimento 4. Logo a resposta ´e 2.