• Nenhum resultado encontrado

Componentes ímpares e a fórmula de Tutte-Berge

No documento Curso de Otimização Combinatória (páginas 108-114)

Conforme definição na seção4.1, página43, uma cobertura é um conjunto de nós que contém pelo menos uma ponta de cada aresta do grafo. Coberturas fornecem uma delimitação superior de ν(G): para qualquer cobertura K tem-se ν(G) ≤ |K|. Mas a desigualdade é usualmente estrita, mesmo quando K é uma cobertura mínima.

Uma delimitação superior mais poderosa precisa do conceito de componente ímpar. Uma componente ímpar (= odd component) de um grafo H é qualquer componente conexa de H que tem um número ímpar de nós. O número de componentes ímpares de H é denotado por oc(H).

Proposição 7.3 Para qualquer grafo G e qualquer subconjunto A de V (G), def(G) ≥ oc(G−A) − |A|, ou seja,

ν(G) ≤ 12 n −oc(G−A) + |A|, (1)

onde n := |V (G)|.

A expressão G − A denota o subgrafo de G induzido por V (G) − A. Essa notação será usada com frequência no que segue. A propósito, não é difícil verificar que o número n −oc(G−A) + |A| é par.

PROVA: Seja M um emparelhamento de G e A um subconjunto de V (G). Sejam H1, . . . , Hkas componentes ímpares de G − A.

Cada grafo Hi tem um nó exposto por M ou um nó ligado por M a A. Por outro lado,

no máximo |A| arestas de M têm uma ponta em A. Portanto, M deixa pelo menos k − |A| nós expostos. Em outras palavras, n − 2|M | ≥ k − |A|. Segue daí que |M | ≤

1

2(n − k + |A|).

A proposição tem a seguinte consequência: para provar que um dado emparelhamento M é máximo, basta exibir um conjunto A de nós tal que n − 2|M | = oc(G−A) − |A|. W. Tutte e C. Berge mostraram (1947 e 1958) que todo grafo tem um tal “certificado de maximalidade”:

Teorema 7.4 (fórmula de Tutte-Berge) Em qualquer grafo G, max

M |M | = minA 1

sendo maxM tomado sobre todos os emparelhamentos M e minA tomado sobre todos

os subconjuntos A de V (G).

Um emparelhamento é perfeito se não deixa nenhum nó exposto. Ocasionalmente usaremos a abrviatura “ep” para a expressão “emparelhamento perfeito”. A fórmula de Tutte-Berge equivale a um teorema de Tutte sobre ep’s:

Teorema 7.5 (Tutte) Um grafo G tem um emparelhamento perfeito se e somente se oc(G−A) ≤ |A| para todo subconjunto A de V (G).

Essa condição para existência de um ep é conhecida como condição de Tutte.

EXEMPLO2: A figura mostra um emparelhamento perfeito. Dizer que um grafo G tem um ep é o mesmo que dizer que ν(G) =12n, ou que def(G) = 0.

Exercícios

7.7 Mostre que minA 12(n −oc(G−A) + |A|) ≤ |K| para qualquer cobertura K.

7.8 Mostre que minA 12(n −oc(G−A) + |A|) = k se G consiste em um circuito de comprimento 2k + 1

e nada mais.

7.9 ? Mostre que, para qualquer grafo G o número1

2 n −oc(G−A) + |A| é inteiro, qualquer que seja

o subconjunto A de V (G).

7.10 Mostre que se G tem um ep então oc(G − v) = 1 para cada nó v.

7.11 ? Mostre que uma árvore T tem ep se e somente se oc(T − v) = 1 para cada nó v.

7.12 Mostre que a fórmula de Tutte-Berge (teorema7.4) vale quando G é uma árvore. (Dica: Árvores são bipartidas.)

7.13 ? Teorema de Hall. Mostre que, no caso de grafos bipartidos, a condição de Tutte equivale à se- guinte: |N (B)| ≥ |B| para todo B ⊆ P e todo B ⊆ Q, sendo (P, Q) uma bipartição do grafo e N (B) o conjunto de todos os nós adjacentes a nós de B. (Sua prova não deve usar emparelhamentos.)

[CCPS 3.21]

7.14 Use a proposição7.3para provar que o emparelhamento indicado na figura é máximo. (Dica: Veja os nós brancos.)

7.16 ? Seja G um grafo e k um inteiro positivo não maior que n/2. Construa um grafo G0 que tenha

a seguinte propriedade: G0 tem um ep se e somente se G tem um emparelhamento de tama-

nho k. (A construção deve ser “genérica”, isto é, não pode depender da estrutura de G.) Use essa construção para provar a fórmula de Tutte-Berge (teorema7.4) a partir do Teorema de Tutte (teorema7.5).[CCPS 5.5]

7.17 Teorema de Petersen. Seja G um grafo tal que G − e é conexo para cada aresta e e grau(v) = 3 para todo nó v. Use o teorema de Tutte (teorema7.5) para mostrar G tem um ep. (Dica: Mostre que |∂(C)| ≥ 3 para todo conjunto ímpar C de nós.)[CCPS 5.7]

Contração de circuitos ímpares e a prova dos teoremas

A prova dos teoremas 7.4 e 7.5 exige a introdução de duas ideias: nós essenciais e contração de circuitos.

Seja C um circuito em um grafo G. A contração (= shrinking) de C é a operação que produz um novo grafo que tem conjunto de nós (V (G) r V (C)) ∪ {C} e conjunto de arestas definido da seguinte maneira: para cada aresta vw de G tal que v ∈ V (G) r V (C), se w ∈ V (G) r V (C) então vw é aresta do novo grafo e se w ∈ V (C) então vC é aresta do novo grafo. (As eventuais “diagonais” de C não estão representadas no novo grafo.) Esse novo grafo será denotado por G×C.

(Ao contrário do que sugere a figura, a operação de contração não produz arestas “paralelas”.) A operação de contração tem a seguinte propriedade: se o circuito C é ímpar — ou seja, tem comprimento ímpar — então qualquer emparelhamento em G×C pode ser propagado para dentro de C de modo a produzir um emparelhamento em G:

Proposição 7.6 Se C é um circuito ímpar e M0 é um emparelhamento em G×C então há um emparelhamento M em G tal que M ⊆ M0 ∪ E(C) e o número de nós de G que

PROVA: Seja G0o grafo G×C. Suponha inicialmente que o nó C de G0 é coberto por M0.

Então M0 tem uma aresta da forma vC que se originou de uma aresta vw de G tal que v /∈ V (C) e w ∈ V (C). Seja M00

um ep em C − w. Então M := M0 ∪ M00

é um emparelhamento em G que tem as propriedades desejadas. O número de nós de G que M deixa expostos é igual ao número de nós de G×C que M0 deixa expostos, ou seja, n − 2|M | = n0− 2|M0|.

Suponha agora que o nó C de G×C não é coberto por M0. Nesse caso, escolha qualquer wem V (C) e repita a construção do parágrafo anterior.

Segue dessa proposição que def(G) ≤ def(G×C) para qualquer circuito ímpar C, ou seja,

ν(G) ≥ ν(G×C) + 12(|V (C)| − 1) . (2) Dizemos que o circuito C é justo (= tight) se (2) vale com igualdade, isto é, se existe um emparelhamento máximo em G que usa exatamente 12(|V (C)| − 1) arestas de C. Se todos os circuitos ímpares fossem justos, o problema de encontrar um emparelha- mento máximo em G poderia ser reduzido ao problema de emparelhamento máximo no grafo G×C. Infelizmente, nem todo circuito ímpar é justo, como mostra a figura.

Para tentar caracterizar os circuitos ímpares justos, o seguinte conceito é importante. Um nó v de um grafo G é essencial (= essential) se todo emparelhamento máximo cobre v, ou seja, se ν(G−v) < ν(G). É claro que se v é essencial então ν(G−v) = ν(G)−1.

EXEMPLO3: No grafo induzido por um circuito de comprimento par, todos os nós são essenciais. Já no grafo induzido por um circuito ímpar, nenhum nó é essencial.

Na árvore definida pela matriz de adjacências abaixo, somente os nós a e b são essenciais. a b c d e f a − 1 1 1 − − b 1 − − − 1 1 c 1 − − − − − d 1 − − − − − e − 1 − − − − f − 1 − − − −

Proposição 7.7 Se um conjunto A satisfaz a condição (1) com igualdade então todo nó de A é essencial.

PROVA: Seja v um nó em A e tome G0 := G − v. Então G0− (A r {v}) tem as mesmas componentes conexas que G − A. Portanto, ν(G0) ≤ 1

2(n − 1 −oc(G−A) + |A| − 1) < 1

Lema 7.8 Para qualquer aresta vw de um grafo G, se v e w não são essenciais então vw pertence a algum circuito ímpar justo C; ademais, C é um nó não-essencial de G×C. PROVA: Seja M1 um emparelhamento máximo que não cobre v. Seja M2 um empare-

lhamento máximo que não cobre w. Note que M1 cobre w e M2 cobre v. Considere o

grafo H induzido por M1 ⊕ M2. A componente conexa de H que contém v consiste

em um caminho simples P com origem v. Se o término de P fosse exposto por M1,

teríamos um caminho M1-aumentador, o que contradiz a maximalidade de M1. Se o

término de P fosse um nó exposto por M2 e diferente de w, o caminho (w, v) · P seria

caminho M2-aumentador, o que contradiz a maximalidade de M2. Portanto, P termina

em w e tem comprimento par. Logo, C := P · (w, v) é um circuito ímpar.

O emparelhamento máximo M1 contém (|V (C)| − 1)/2 arestas de C. Logo, C é justo.

Finalmente, M1r E(C) é um emparelhamento máximo em G×C e não cobre o nó C de

G×C.

Agora que as proposições7.6 e 7.7 e o lema 7.8 prepararam o terreno, podemos dar uma prova da fórmula de Tutte-Berge.

PROVA DO TEOREMA7.4: Seja G um grafo com n nós. A proposição7.3já mostrou que n − 2|M | ≥oc(G − A) − |A| para qualquer emparelhamente M e qualquer A ⊆ V (G). Resta mostrar que existe um emparelhamento M e um conjunto A tais que n − 2|M | ≤ oc(G − A) − |A|, ou seja, tais que M deixa no máximo oc(G − A) − |A| nós expostos. A prova é uma indução no número de arestas. Se o conjunto de arestas é vazio, a afirmação vale com M = ∅ e A = ∅. Agora suponha que o conjunto de arestas não é vazio e seja vw uma aresta qualquer.

Considere inicialmente o caso em que uma das pontas de vw é um nó essencial. Ajuste a notação (intercambinado v e w se necessário) de modo que v seja o nó essencial. Seja G0 := G − v e n0 := n − 1. Por hipótese de indução, podemos supor que G0 tem um emparelhamento M0 e um conjunto A0 tais que n0 − 2|M0| ≤ oc(G0 − A0) − |A0|. Seja

A := A0 ∪ {v} e observe que oc(G − A) = oc(G0 − A0). Seja M um emparelhamento

máximo em G e observe que |M | ≥ |M0| + 1, uma vez que ν(G − v) = ν(G) − 1. Temos então

n − 2|M | ≤ n − 2|M0| − 2 = n0− 2|M0| − 1

≤ oc(G0− A0) − |A0| − 1

= oc(G − A) − |A|

e portanto M deixa no máximo oc(G − A) − |A| nós de G expostos.

Considere agora o caso em que v e w são não-essenciais. Pelo lema7.8, G tem um cir- cuito ímpar justo, digamos C. Seja G0 := G×Ce n0 o número de nós de G0. Por hipótese de indução, podemos supor que G0 tem um emparelhamento M0e um conjunto A0tais

que n0 − 2|M0| ≤ oc(G0 − A0) − |A0|. Pelo lema

7.8, o nó C de G0 não é essencial. Pela proposição 7.7, o nó C de G0 não pode estar em A0. Logo, oc(G0 − A0) ≤

oc(G − A0), uma vez que toda componente ímpar de G0− A0, mesmo que contenha o nó C, também

emparelhamento M de G tal que n − 2|M | = n0− 2|M0|. Logo,

n − 2|M | = n0 − 2|M0|

≤ oc(G0 − A0) − |A0|

≤ oc(G − A0) − |A0|

e portanto M deixa no máximo oc(G − A0) − |A0| nós de G expostos.

Esta prova do teorema7.4 não é construtiva, ou seja, não pode servir de base para um algoritmo que calcule um emparelhamento máximo. Uma tal algoritmo será discutido nas proximas seções.

Exercícios

7.18 Critique a seguinte proposta de algoritmo para encontrar um emparelhamento máximo: contraia circuitos ímpares, recursivamente, até que o grafo não os tenha; encontre um emparelhamento máximo no grafo resultante; propague o emparelhamento para dentro dos circuitos que foram contraídos.

7.19 Seja G um grafo induzido por um caminho simples. Quais são os nós essenciais de G? 7.20 Seja G um grafo dotado de um ep. Mostre que todos os nós de G são essenciais.

7.21 A proposição7.7sugere a seguinte pergunta: se A é o conjunto de todos os nós essencias de um grafo, então A satisfaz (1) com igualdade? Responda a pergunta.

7.22 Partição de Gallai-Edmonds. Dado um grafo G, seja B o conjunto dos nós não-essenciais, C o conjunto dos vizinhos de B (ou seja, o conjunto dos nós em V (G) r B que têm algum vizinho em B), e D o conjunto V (G) r (B ∪ C). Prove que

(a) n − oc(G−A) + |A| tem valor mínimo quando A := C;

(b) para todo emparelhamento máximo M e todo v em C, existe vw em M tal que w ∈ B; (c) todo emparelhamento máximo contém um ep de G[D].

A expressão G[D] representa o subgrafo de G induzido por D.[CCPS 5.6]

7.23 Exiba a partição de Gallai-Edmonds (veja o exercício7.22) do grafo da figura.[CCPS 5.16]

7.24 Mostre que a restrição do lema7.8a grafos bipartidos é equivalente ao teorema de K˝onig (teo- rema4.3).[CCPS 5.8]

7.25 Seja G um grafo conexo cada um de cujos nós é não-essencial. Use o lema7.8para mostrar que ν(G) = (n − 1)/2.[CCPS 5.9]

7.26 Slither. O jogo Slither é jogado por duas pessoas, digamos Um e Dois, sobre um grafo G. Os jogadores se alternam: o primeiro a jogar é Um, o segundo é Dois, e assim por diante. Cada jogada consiste em escolher uma aresta que não tenha sido escolhida em nenhuma das jogadas anteriores. A cada passo, o conjunto das arestas já escolhidas deve formar um caminho simples. Perde o jogador que não conseguir fazer uma jogada. Prove que Um pode forçar uma vitória se Gtiver um ep.[CCPS 5.18]

7.27 Slither. Considere o jogo Slither do exercício7.26. Suponha que a primeira jogada de Um é uma aresta uv tal que o nó u não é essencial. Mostre que Dois pode forçar uma vitória.[CCPS 5.19]

7.28 Slither. Considere o jogo Slither do exercício 7.26. Seja (B, C, D) a decomposição de Gallai- Edmonds de G (veja o exercício7.22). Suponha que D não é vazio. Prove que Um pode forçar uma vitória.[CCPS 5.20]

7.29 Slither. Considere o jogo Slither do exercício 7.26. Seja (B, C, D) a decomposição de Gallai- Edmonds de G (veja o exercício 7.22). Suponha que os nós de todas as arestas jogadas até o momento estão em C. Suponha que o próximo jogador escolhe uma aresta que não tem ponta em C. Prove que o outro jogador pode forçar uma vitória.[CCPS 5.21]

No documento Curso de Otimização Combinatória (páginas 108-114)