Noções da Teoria dos Grafos
André Arbex Hallack
Junho/2015
Índice
1 Introdução e definições básicas.
Passeios eulerianos
1
2 Ciclos hamiltonianos
5
3 Árvores
7
4 Emparelhamento em grafos
11
5 Grafos planares:
Colorindo grafos e mapas
13
Referências
17
i
Capı́tulo 1
Introdução e definições básicas.
Passeios eulerianos
Introdução histórica
O Problema das pontes de Königsberg
Na cidade de Königsberg, sete pontes cruzam o rio Pregel, estabelecendo ligações entre duas ilhas
e entre as ilhas e as margens opostas do rio, conforme a ilustração abaixo:
Problema: É possı́vel fazer um “passeio” pela cidade, cruzando cada ponte exatamente uma vez?
Em 1736, Euler publicou um artigo demonstrando que tal passeio é impossı́vel. Mais importante
é o fato de Euler ter formulado um critério geral para resolver o problema acima, o que é considerado
como o primeiro teorema da chamada TEORIA DOS GRAFOS, a qual possui desdobramentos e
aplicações nas mais diversas áreas.
1
2
CAPÍTULO 1
Definição 1.1. Um GRAFO é uma coleção G = (N, A) constituı́da por um conjunto não-vazio e
finito N de NÓS (ou pontos, ou vértices) e um conjunto A de ARCOS (ou arestas), sendo que cada
arco liga dois nós (não necessariamente distintos).
Exemplos:
Um grafo é dito SIMPLES quando cada par de nós é ligado por no máximo um arco e nenhum
nó é ligado a si próprio (nenhum laço). Caso contrário, temos o chamado MULTIGRAFO.
Um arco é dito INCIDENTE nos nós aos quais está associado e vice-versa.
Um nó é dito ISOLADO quando não está ligado a nenhum outro.
Dois arcos incidentes num mesmo nó são ditos ADJACENTES. Dois nós incidentes num mesmo
arco são ditos adjacentes.
O GRAU de um nó é o número de arcos incidentes no nó, sendo que cada laço conta como dois
arcos.
Teorema 1.2. (Euler) A soma dos graus dos nós de um grafo é igual ao dobro do número de arcos.
Prova: Ao somarmos os graus contamos cada arco duas vezes, uma vez em cada extremidade.
Corolário 1. O número de nós de grau ı́mpar de todo grafo é sempre par.
De fato, se denotarmos por di o grau de cada nó i no grafo G = (N, A) , temos:
X
X
X
2 · #A =
di =
di +
di
i∈ IN
di par
X
X di ı́mpar
Como 2 · #A e
di são pares, então
di é par e para que a soma de números
di par
di ı́mpar
ı́mpares seja par, devemos ter uma quantidade par de números ı́mpares.
Exercı́cio: Prove que numa festa com 51 pessoas existe sempre uma pessoa que conhece um
número par de outras pessoas.
Introdução e definições básicas.
Passeios eulerianos
3
Passeios eulerianos
Definição 1.3. Um PASSEIO entre os nós i e j de um grafo é uma sequência alternante de nós
e arcos, começando em um dos nós i ou j e terminando no outro, tal que cada arco percorrido é incidente aos nós que o cercam na sequência. Um passeio é dito FECHADO quando começa e termina
no mesmo nó.
Um CAMINHO é um passeio que não contém nós repetidos. Dois nós estão CONECTADOS
se existe um caminho entre eles no grafo. Um grafo é dito CONEXO quando cada par de nós está
conectado, caso contrário ele é dito DESCONEXO.
Um passeio em um grafo é dito EULERIANO quando passa por todo arco exatamente uma vez.
À luz das definições acima, o Problema das pontes de Königsberg refere-se exatamente à existência
ou não de um passeio euleriano pela cidade (grafo), quando se considera as pontes como arcos e os
territórios (ilhas ou margens) como nós:
O argumento de Euler para as pontes de Königsberg: Consideremos um dos territórios
(ilhas ou margens), que chamaremos de território I. Suponhamos que o passeio não começa em I.
Então entramos em I pela primeira vez através de uma ponte que é incidente em I e saı́mos de I por
outra ponte incidente em I. Cada entrada-e-saı́da de I corresponde ao uso de duas pontes. Como I
tem um número ı́mpar de pontes incidentes, na última vez que usamos uma ponte incidente em I,
entramos em I e não podemos mais sair, ou seja, o passeio termina necessariamente em I. Assim, pelo
mesmo argumento, se o passeio começa em qualquer território, deve necessariamente terminar nos
outros três (contradição!), pois todos têm um número ı́mpar de pontes incidentes.
4
CAPÍTULO 1
O argumento anterior leva ao seguinte teorema:
Teorema 1.4. (Euler)
(a) Se um grafo conexo tem mais que dois nós com grau ı́mpar, então ele não admite um passeio
euleriano.
(b) Se um grafo conexo tem exatamente dois nós com grau ı́mpar, então ele admite passeio euleriano e todo passeio euleriano tem que começar em um desses nós de grau ı́mpar e terminar no
outro.
(c) Se um grafo conexo não tem nós com grau ı́mpar, então ele admite passeio euleriano e todo
passeio euleriano é fechado.
Exercı́cio: Prove a partir do teorema acima que um grafo conexo tem um passeio euleriano
fechado se, e somente se, todo nó tem grau par.
Exercı́cio: Quais dos grafos abaixo admitem um passeio euleriano? Em caso afirmativo, indique
um passeio euleriano.
Exercı́cio:
(a) Construa ou destrua UMA ponte em Königsberg para que se tenha um passeio euleriano
(indique o passeio).
(b) Mostre como se pode ter um passeio euleriano fechado construindo mais DUAS pontes em
Königsberg (indique o passeio).
(c) Mostre como se pode ter um passeio euleriano fechado construindo UMA ponte e destruindo
OUTRA em Königsberg.
(d) O que ocorre se destruirmos DUAS pontes em Königsberg?
Capı́tulo 2
Ciclos hamiltonianos
Problema: Seis cidades (nós) são ligadas por uma rede de estradas (arcos) conforme o mapa
(grafo) abaixo:
Um vendedor pretende, partindo de uma cidade, passar exatamente uma vez em cada uma das
demais cidades, terminando a viagem na cidade de origem.
É possı́vel realizar uma viagem nas condições acima?
Definição 2.1. Um CICLO é um passeio fechado no qual apenas o nó inicial-terminal se repete.
Um CICLO HAMILTONIANO é um ciclo que contém todos os nós de um grafo.
Observações:
(a) O problema acima equivale a perguntar se o grafo formado admite um ciclo hamiltoniano.
(b) É claro que para um grafo admitir um ciclo hamiltoniano é NECESSÁRIO que ele seja conexo.
(c) Não existem resultados gerais de caracterização dos grafos que admitem ciclos hamiltonianos.
(d) Problema do caixeiro viajante: achar um ciclo hamiltoniano de custo mı́nimo, sendo o custo
de um ciclo a soma dos custos dos arcos percorridos no ciclo.
5
6
CAPÍTULO 2
Proposição 2.2. Num ciclo com três ou mais nós são percorridos exatamente dois arcos incidentes
em cada nó do ciclo.
Corolário 1. Um grafo que tenha três ou mais nós e algum nó de grau menor ou igual a 1
não admite um ciclo hamiltoniano.
Exercı́cio: Resolva o problema inicial (do vendedor e as seis cidades): indique um ciclo hamiltoniano caso exista solução ou prove que não existe ciclo hamiltoniano algum.
Exercı́cio: Responda se os grafos abaixo admitem ou não um ciclo hamiltoniano. Indique um
ciclo hamiltoniano em caso afirmativo ou prove que não admite, no caso negativo.
Exercı́cio: Um grafo G = (N, A) é dito BIPARTIDO quando seu conjunto N de nós pode ser
particionado em DOIS subconjuntos tais que nós pertencentes a um mesmo subconjuntos não são
adjacentes.
(a) Prove que se um grafo bipartido G = (N, A) admite um ciclo hamiltoniano então os dois
subconjuntos da partição de N têm o mesmo número de elementos.
(b) Conclua que o grafo abaixo NÃO ADMITE um ciclo hamiltoniano.
(c) Construa um grafo bipartido com um número par de nós, todos com grau maior ou igual a
dois, e que não admite um ciclo hamiltoniano.
Capı́tulo 3
Árvores
Problema: Através de cabos telefônicos (arcos) entre pares de cidades (nós), deseja-se configurar
uma rede de comunicações (grafo) entre as sete cidades do mapa abaixo, de modo que possa haver
comunicação entre cada par de cidades, ou seja, cada par de cidades esteja conectado por pelo menos
um caminho na rede de comunicações (o grafo é conexo).
(a) É possı́vel obter uma rede (grafo) conexa com exatamente um caminho conectando cada par
de cidades? (neste caso é fácil ver que o grafo será MINIMALMENTE CONEXO, ou seja, a remoção
de qualquer arco irá tornar o grafo desconexo).
(b) Dentre todas as redes (grafos) conexas possivelmente obtidas na letra (a) acima, é possı́vel
obter uma de menor custo (ÓTIMA)?
Definição 3.1. Uma ÁRVORE é um grafo simples tal que para cada par de nós existe exatamente
um caminho que os conecta.
7
8
CAPÍTULO 3
Observações:
(a) O problema inicial equivale a perguntar se é possı́vel formar uma árvore com os nós (cidades)
dados e, em caso afirmativo, se existe uma árvore de menor custo.
(b) Um grafo G é uma árvore se, e somente se, G é conexo e a remoção de qualquer um de seus
arcos resulta em um grafo desconexo (uma árvore é um grafo MINIMALMENTE CONEXO).
(c) Uma árvore não admte ciclos com três ou mais nós (pois se admitisse haveria mais de um
caminho conectando dois nós) e a adição de um arco ligando dois nós que não eram ligados por um
arco gera um ciclo com três ou mais nós (uma árvore é um grafo MAXIMALMENTE LIVRE DE
CICLOS COM TRÊS OU MAIS NÓS).
(EXEMPLOS)
• PROCEDIMENTO DE CRESCIMENTO DE ÁRVORE (como obter árvores)
- Comece com um simples nó.
- Repita o que se segue um número (FINITO) qualquer de vezes: Se G é o grafo até então formado,
crie um novo nó e ligue-o por um arco novo a qualquer nó de G.
Teorema 3.2. Todo grafo obtido pelo procedimento de crescimento de árvore é uma árvore e toda
árvore pode ser obtida desta maneira.
Corolário 1. Toda árvore com n nós tem n − 1 arcos.
• O ALGORÍTMO GULOSO DE KRUSKAL (encontrando a árvore ótima)
- Considere n nós e nenhum arco.
- Construa um arco de menor custo entre dois nós distintos que não estejam ligados por um arco
e de maneira que não se obtenha um ciclo com três ou mais nós.
- Repita o procedimento acima até que se tenha n − 1 arcos.
Teorema 3.3. Dados n nós e nenhum arco, o Algorı́tmo Guloso produz uma árvore de menor custo
(árvore ótima) entre todas as possı́veis árvores com os n nós inicialmente dados.
Observação: Uma tentativa de adaptação do Algorı́tmo Guloso pode não funcionar para obter
um ciclo hamiltoniano ótimo (Problema do caixeiro viajante).
Exercı́cio: (a) USANDO O PROCEDIMENTO DE CRESCIMENTO DE ÁRVORE, resolva
a letra (a) do problema inicial, obtendo uma rede de comunicações minimalmente conexa entre as
cidades dadas. (b) Considerando os custos proporcionais às distâncias, USE O ALGORÍTMO GULOSO e obtenha uma rede de comunicações minimalmente conexa e de menor custo possı́vel (ótima)
entre as cidades dadas, resolvendo assim a letra (b) do problema inicial.
Árvores
9
Exercı́cio: Prove a Observação após o Teo 3.3
(Sugestão: considere os pontos A(0, 0), B(1, 0), C(0, 1) e D(9, 1))
Exercı́cio: Para cada um dos grafos dados abaixo, faça o que se pede.
- Responda se o grafo é uma árvore.
- Se o grafo não for uma árvore, justifique.
- Se o grafo for uma árvore, responda se é uma árvore de menor custo (custos proporcionais às
distâncias) considerando os nós dados. Se não for uma árvore de menor custo, exiba uma árvore de
menor custo com os nós dados.
10
CAPÍTULO 3
Capı́tulo 4
Emparelhamento em grafos
Problema: Temos um conjunto de seis tarefas (nós) a ser realizadas e seis funcionários (nós)
para realizar as tarefas. Quando um funcionário tem habilidade para realizar uma tarefa, ambos
serão ligados por um arco.
Cada funcionário Fi tem habilidade para realizar um conjunto {Tj } de tarefas, conforme o grafo
abaixo:
É possı́vel atribuir exatamente uma tarefa a cada funcionário de modo que todas as tarefas sejam
realizadas?
Definição 4.1. Uma grafo G = (N, A) é dito BIPARTIDO quando seu conjunto N de nós pode ser
particionado em dois subconjuntos tais que os nós pertencentes a um mesmo subconjunto não são
adjacentes.
Um EMPARELHAMENTO PERFEITO em um grafo bipartido é um conjunto de arcos A0 ⊂ A
tal que cada nó do grafo é incidente em exatamente um arco do conjunto A0 .
11
12
CAPÍTULO 4
Observações:
(a) O problema inicial equivale a perguntar se o grafo dadoi tem um emparelhamento perfeito.
(b) É claro que se um grafo bipartido G = (N, A) , sendo N = N1 ∪ N2 a partição de N , tem
um emparelhamento perfeito então #N1 = #N2 e N é obrigatoriamente par.
Teorema 4.2. (Teorema do emparelhamento) Um grafo bipartido G = (N, A) , sendo N = N1 ∪ N2
a partição de N , tem um emparelhamento perfeito se, e somente se, #N1 = #N2 e para qualquer
subconjunto N10 ⊂ N1 temos pelo menos #N10 nós em N2 adjacentes aos nós de N10 .
Observação: Vale a simetria no teorema acima.
Corolário 1. Se em um grafo bipartido todo nó tem mesmo grau d ≥ 1 , então o grafo contém um
emparelhamento perfeito.
Exercı́cio: Usando o Teorema 4.2, verifique se o problema inicial das seis tarefas para os seis
funcionários tem solução.
Exercı́cio: Prove o Corolário do Teorema 4.2.
Exercı́cio: Desenhe um grafo cujos nós são os subconjuntos de {a, b, c} e dois nós são adjacentes
se, e somente se, eles são subconjuntos que diferem por exatamente um elemento.
(a) Qual é o número de arestas e nós nesse grafo?
(b) Esse grafo é conexo? Ele tem um emparelhamento perfeito? (exiba um caso tenha) Ele admite
um ciclo hamiltoniano? (exiba um caso admita)
Exercı́cio: Verifique (justifique) se os grafos abaixo têm emparelhamentos perfeitos e exiba tais
emparelhamentos nos casos afirmativos.
Exercı́cio: Numa festa há 286 convidados. Cada homem conhece 30 mulheres e cada mulher
conhece 30 homens (o conhecimento é mútuo). A organização da festa deseja saber qual o número
máximo de casais que podem estar dançando simultaneamente para providenciar o espaço adequado.
Que número é esse? (prove).
Capı́tulo 5
Grafos planares:
Colorindo grafos e mapas
Definição 5.1. Uma grafo simples e conexo é chamado PLANAR quando ele pode ser desenhado
como um mapa no plano: seus nós correspondem a pontos distintos no plano e seus arcos são
curvas plana (ligando os nós) as quais não se intersectam em pontos que não sejam os nós.
EXEMPLO: K4 = grafo completo sobre 4 nós = grafo com 4 nós onde cada nó está ligado a
todos os demais.
Observação: Um grafo planar, quando representado de forma planar, divide o plano em uma
quantidade finita de regiões, sendo uma delas ilimitada e as demais (se existirem) limitadas.
EXEMPLO:
13
14
CAPÍTULO 5
Teorema 5.2. (Fórmula de Euler) Seja G um grafo planar. Se v é o número de nós de G, a é o
número de arcos de G e f é o número de regiões do plano determinadas pela sua forma planar, então
v−a+f =2
Corolário 1. Um grafo planar sobre n ≥ 3 nós tem no máximo 3n − 6 arcos. (Exercı́cio)
Exercı́cio: Existem 3 casas e 3 fontes. Podemos construir um caminho de toda casa para toda
fonte de modo que esses caminhos não se cruzem? (os caminhos não são necessariamente linhas retas)
Exercı́cio: Prove que K5 (grafo completo sobre 5 nós) não é um grafo planar.
Exercı́cio: O grao obtido pela omissão de um arco de K5 é planar?
Exercı́cio: O Grafo de Petersen é planar?
•
Colorindo grafos
Regra para coloração de grafos: nós adjacentes têm que ser coloridos com cores diferentes.
Se podemos colorir um grafo com k cores (dentro da regra acima), dizemos que o grafo é
k−COLORÍVEL.
O menor valor de k para o qual o grafo é k−colorı́vel é chamado de NÚMERO CROMÁTICO do
grafo.
Observações:
(a) É óbvio que se um grafo tem n nós então n cores são sempre suficientes para colori-lo (o grafo
é n−colorı́vel) e seu número cromático é menor ou igual a n.
(b) Um grafo é 2−colorı́vel se, e somente se, ele é bipartido.
Teorema 5.3. (Teorema de Brooks) Se todo nó em um grafo tem grau no máximo d, então o grafo
pode ser colorido com d + 1 cores.
Exercı́cio: Obtenha o número cromático dos grafos a seguir:
Grafos planares:
Colorindo grafos e mapas
•
15
Colorindo mapas
Consideremos agora o problema de colorir um mapa que seja uma representação plana de diversas
regiões (paı́ses, estados, etc.) CONEXAS (dois pontos de uma mesma região podem ser “ligados por
umam estrada dentro da própria região”).
É natural pedirmos que regiões vizinhas (com fronteira de comprimento não-nulo comum) tenham
cores diferentes.
IDÉIA: Cada região conexa será representada por um nó e regiões (nós) vizinhas serão ligadas
por um arco, formando assim um GRAFO DUAL do mapa original. O grafo dual assim obtido será
um grafo planar (desafio: tente provar) e o nosso problema de colorir o mapa original se reduz ao
problema de colorir seu grafo dual.
Exercı́cio: Obtenha os grafos duais (em suas representações planares) para os mapas dados
abaixo:
Exercı́cio: Obtenha os números cromáticos dos grafos duais obtidos no exercı́cio anterior e colora
os grafos e os mapas segundo os números obtidos.
Exercı́cio: Dê exemplo de um mapa para mostrar que se admitirmos regiões desconexas, o grafo
dual obtido não é necessariamente planar.
16
CAPÍTULO 5
Teorema 5.4. (Teorema das 4 cores) Todo grafo planar pode ser colorido com 4 cores.
Corolário 1. Todo mapa que é representação planar de regiões conexas pode ser colorido com 4
cores.
Exercı́cio: Exiba um mapa que precise de mais do que 4 cores para ser colorido.
Exercı́cio: Um grafo G0 é dito um SUBGRAFO de um grafo G quando G0 é obtido a partir de
G eliminando-se nós (e seus arcos incidentes) ou arcos de G.
(a) Prove que se todo subgrafo de um grafo G tem um nó de grau menor ou igual a d então G é
d + 1 colorı́vel. (Sugestão: indução sobre o número de nós de G)
(b) Prove que todo grafo planar tem um nó de grau menor ou igual a 5. (Sugestão: use o Corolário
do Teorema 5.2)
(c) Conclua que todo grafo planar pode ser colorido com 6 cores (“Teorema das 6 cores”)
Referências
[1] Lovász, L. e outros, Matemática Discreta, Coleção Textos Universitários, SBM, Rio de
Janeiro, 2003.
[2] Santos, J. P. O. e outros, Introdução à Análise Combinatória, Editora Unicamp, Campinas,
2002.
17
Download

Noç˜oes da Teoria dos Grafos