Noções da Teoria dos Grafos
André Arbex Hallack
Junho/2015
Índice
1 Introdução e definições básicas.
Passeios eulerianos
1
1.1
Introdução histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Passeios eulerianos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Ciclos hamiltonianos
5
3 Árvores
7
Referências
11
i
Capı́tulo 1
Introdução e definições básicas.
Passeios eulerianos
1.1
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
1.2
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 caminhona 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 dedos.
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
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.
11
Download

Noç˜oes da Teoria dos Grafos