[CURSO DE TEORIA DOS GRAFOS]
[Dicionário]
Os números de capítulos, seções, teoremas e exercícios se referem ao
livro de Diestel, 2-a edição.
2. Emparelhamentos (matchings)
- Emparelhamento:
conjunto de arestas duas a duas não adjacentes
(ou seja, cada vértice do grafo
é ponta de no máximo uma aresta do emparelhamento).
-
Emparelhamento de um conjunto U de vértices:
cada elemento de U é ponta de alguma aresta do emparelhamento.
-
Um emparelhamento satura um conjunto U de vértices
se cada elemento de U é ponta de alguma aresta do emparelhamento.
Um emparelhamento é perfeito
se satura V(G).
-
Que
cara
têm grafos dotados de emparelhamento perfeito?
Como caracterizar um emprelhamento máximo?
Essas perguntas são muito fáceis quando restritas a grafos bipartidos,
mas muito mais difíceis em geral.
-
Paridade (par versus ímpar) é um tema central neste capítulo.
2.1 Grafos bipartidos
-
Esta seção trata de grafos bipartidos.
Vamos denotar por {A, B}
a bipartição de nosso grafo bipartido típico G.
-
Teorema 2.1.1 (König):
Em qualquer grafo bipartido,
max |M| = min |U| ,
onde
max é sobre todos os emparelhamentos M
e min é sobre todas as coberturas U.
-
Cobertura (= vertex cover):
conjunto de vértices que contém
pelo menos uma das pontas de cada aresta do grafo.
-
Parte S de A satisfaz a
condição de Hall
se |N(S)| ≥ |S|.
-
Teorema 2.1.2 (Hall):
Existe emparelhamento
que satura A
se e só se
todo subconjunto de A
satisfaz a condição de Hall.
-
Corolário 2.1.3:
Todo grafo bipartido G é k-regular com k ≥ 1
tem um emparelhamento perfeito.
-
Exercícios:
-
Dê um bom exemplo para ilustrar o Teorema 2.1.1.
-
Dê um bom exemplo para ilustrar o Teorema 2.1.2.
-
Suponha que G é um grafo bipartido k-regular com
com bipartição {A, B} e k ≥ 1.
Mostre |A| = |B|.
-
[2.4]
Seja k um número natural.
Quaisquer duas partições de um conjunto finito em conjuntos de cardinalidade k
admite uma escolha de representantes comuns.
2.2 Grafos arbitrários
- Exercícios:
-
É verdade que |M| ≤ |U| para todo
emparelhamento M e toda cobertura U?
É verdade que a igualdade vale para algum M e algum U?
-
Dê um bom exemplo para ilustrar o Teorema 2.2.1.
-
Mostre que todo grafo 3-regular sem pontes tem emparelhamento perfeito.
-
Mostre, sem usar o Teorema 2.2.1,
que uma árvore G tem emparelhamento perfeito se e só se
q(G−v) = 1
para todo vértice v.
-
Dê um bom exemplo para ilustrar o Teorema 2.2.3.
-
Deduza o Teorema 2.2.1 do Teorema 2.2.3.
-
[2.7]
Encontre um conjunto S que satisfaça o Teorema 2.2.3
quando G é uma floresta.
-
[2.8]
Use o teorema 2.2.3 (e nada mais)
para mostrar que todo grafo k-conexo
com pelo menos 2k vertices tem um emparelhamento com
pelo menos k arestas.
Isso é o melhor possível?
-
Deduza do Teorema 2.2.3 que max |M| = min ½ (|G| − q(G−S) + |S|),
com max tomado sobre todos os emparelhamentos M e
min sobre todos os conjuntos S de vértices.
-
Prove o Corolário XY do Teorema 2.2.3.
-
Suponha que meu grafo G é 2-conexo e
tem um emparelhamento perfeito.
Construa o conjunto S do Teorema 2.2.3.
Prove diretamente que ele tem as propriedades i e ii.
-
Seja G o grafo K6 − M,
onde M é um emparelhamento perfeito.
Use G para ilustrar o Teorema 2.2.3 e o Corolário XY.
-
Seja X uma parte de V(G) e
sejam Y1, … ,
Yk
os componentes de G − X.
Suponha que G é bipartido.
Extraia de X,
Y1, … ,
Yk
uma cobertura (= vertex cover) U tal que
|U| ≤
|X| +
⌊½|Y1|⌋ +
… + ⌊½|Yk|⌋ .
-
[2.10]
Mostre que um grafo G tem um emparelhamento com k arestas
se e só se
q(G−S)
≤
|S| + |G| − 2k
para todo conjunto S de vértices.
2.3 Coberturas por caminhos
-
Esta seção estuda os teorema de Dilworth e de Gallai & Milgram.
Esses teoremas tratam de uma generalização do conceito de emparelhamento
em que as arestas do emparelhamento são substituídos por caminhos orientados.
Para tratar desse assunto, é preciso trocar grafos por
grafos orientados.
-
Um grafo orientado é um objeto que tem a mesma definição que
um grafo com uma exceção:
as arestas são pares ordenados de vértices.
Um caminhos é orientado
se todas as suas arestas apontam do vértice anterior para o seguinte
do caminho.
Um ciclo orientado é definido de maneira análoga.
Usaremos as palavras digrafo, dicaminho
e diciclo
como sinônimos de grafo orientado,
caminho orientado e ciclo orientado respectivamente.
Dois vértices x e y de um digrafo são
independentes se não são adjacentes.
Um conjunto de vértices é independente
se seus elementos são dois a dois independentes.
O tamanho de um conjunto independente máximo em um digrafo G
é denotado por alpha(G).
- Uma cobertura-por-dicaminhos de um digrafo é
coleção de dicaminhos tal que
cada vértice do digrafo pertence a um e um só dicaminho da coleção.
Em outras palavras, uma cobertura-por-dicaminhos
é uma coleção disjunta de dicaminhos que satura todos os vértices
do digrafo.
[Teria sido melhor
usar a expressão partição-em-dicaminhos
(= paths-partition)
no lugar de cobertura-por-dicaminhos.]
-
Problema: Determinar uma cobertura-por-dicaminhos mínima.
-
Teorema 2.3.1 (Gallai & Milgram):
Todo digrafo G tem uma cobertura-por-dicaminhos P
tal que |P| ≤ alpha(G).
Outra formulação do teorema:
existe uma cobertura-por-dicaminhos
e um conjunto independente X tais que
|X ∩ V(P)| ≥ 1
para todo elemento P da cobertura.
- Corolário 2.3.2 (Dilworth):
Em todo digrafo acíclico transitivo,
min |P| = max |A|
onde min é tomado sobre todas as coberturas-por-dicaminhos
e max sobre todas as anticadeias A.
Um digrafo é acíclico se não tem diciclos.
Um digrafo é transitivo se, para cada par (xy, yz) de arestas,
xz também é aresta.
Uma anticadeia (= antichain)
num digrafo é um conjunto A de vértices tal que
para cada par (x, y) de elementos de A
não existe dicaminho de x para y.
- Exercícios:
-
[2.13, fácil]
Prove a versão não orientada do teorema de Gallai & Milgram
(sem usar a versão orientada).
-
Suponha que Q é uma coleção de dicaminhos
que satura todos os vértices mas não é disjunta.
É verdade que existe uma cobertura-por-dicaminhos P
que satisfaz
|P| ≤ |Q|?
-
A condição de disjunção é importante na definição
de cobertura-por-dicaminhos?
-
Seja P uma cobertura-por-dicaminhos
e X um conjunto
independente. É verdade que |P| ≥ |X|?
É verdade que |P| ≤ |X|?
-
É verdade que min |P| = alpha,
onde o mínimo é tomado sobre todas as
coberturas-por-dicaminhos P?
-
Dê um bom exemplo para ilustrar o Teorema 2.3.1.
-
[2.17]
Deduza o Teorema 2.2.1 (König) do Corolário de 2.3.2 (Dilworth).
-
Determine uma cobertura-por-dicaminhos mínima de um torneio.
Um torneio
(= tournament) é um digrafo
com a seguinte propriedade:
para todo par x,y de vértices,
xy é aresta ou
yx é aresta, mas não ambas.
(Veja também exercício 10.11.)
-
Qual a complexidade computacional do problema de decidir se um dado
digrafo tem uma cobertura-por-dicaminhos com não mais que k
dicaminhos?
-
Dê um bom exemplo para ilustrar o Corolário 2.3.2.
-
Mostre que |P| ≥ |A|
para toda cobertura-por-dicaminhos P
e toda anticadeia A num digrafo acíclico.
-
Prove o Corolário 2.3.2
a partir do Teorema 2.3.1.
-
O Corolário 2.3.2 permanece verdadeiro
sem a hipótese
transitivo
?
-
O Corolário 2.3.2 vale para digrafos não acíclicos?
Tibor Gallai demonstrou uma generalização muito natural
do Teorema 2.2.3.
A generalização não está no livro de Diestel,
mas é possível que apareça na próxima edição
porque é a base de uma nova demonstração do
teorema de Mader (Teorema 3.4.1),
recentemente descoberta por Schrijver.
Segue um resumo do teorema de Gallai.
2.4 Teorema de Gallai sobre caminhos disjuntos
-
Para qualquer conjunto A de vértices de um grafo,
um A-caminho é um
caminho com pelo menos uma aresta
que começa e termina em
A mas não tem vértices internos em A.
-
Um split é uma coleção disjunta Y1, … , Yk
de subconjuntos de V(G).
Um split é forte se
não existe aresta ligando Yi
a Yj para i ≠ j.
-
A A-largura de um split é o número
|V(G)| − |Y1| − … −
|Yk| + ⌊½|A ∩ Y1|⌋ +
… + ⌊½|A ∩ Yk|⌋ .
-
Teorema 2.4.1 (Gallai):
O número máximo de A-caminhos disjuntos
é igual à
A-largura de um split forte
de largura mínima.
(Minha prova do
Teorema 2.4.1 .)