Cap´ıtulo 3 Introdu¸c˜ao `a Teoria de...

34
Cap´ ıtulo 3 Introdu¸c˜ ao ` a Teoria de Grafos Se pegarmos num mapa do Porto e colocarmos um ponto nos locais onde duas ou mais ruas se cruzam e um ponto tamb´ em nos becos sem sa´ ıda, o que obtemos ´ e uma representa¸ c˜ao daquilo a que chamaremos um grafo. Se quisermos, adicionalmente, representar o sentido do tr´afego em cada rua, podemos acrescentar uma seta, ou , em cada rua de sentido ´ unico, indicando a direc¸c˜ao permitida, e uma seta de duas pontas nas ruas com ambos os sentidos. Neste caso obtemos um grafo dirigido, ou digrafo. Tomemos agora as pessoas dessa cidade, representemo-las por pontos no plano e tracemos uma linha entre cada par de pessoas que se conhece. Obtemos novamente a representa¸ c˜ao de um grafo. Finalmente, consideremos uma mol´ ecula, constitu´ ıda por ´atomos, alguns dos quais ligados entre si. Temos assim mais um exemplo de um grafo. O primeiro artigo de teoria de grafos ´ e de 1736, da autoria do matem´atico su´ ı¸co Leonhard Euler, onde ele estudou o famoso problema das pontes de K¨onigsberg. Apesar das origens desta disciplina estarem muito ligadas a jogos e puzzles, hoje em dia a teoria de grafos constitui uma ´area de investiga¸c˜ao e uma ferramenta muito importante em redes de transportes, qu´ ımica, psicologia, ciˆ encias sociais, gen´ etica e ciˆ encias de computadores, entre outras. 3.1 Defini¸c˜ oes e exemplos Um grafo simples ´ e um par ordenado G =(V,E), onde V ´ e um conjunto finito cujos elementos s˜ao denominados por ertices,e E ´ e um conjunto de elementos do tipo {x, y}, com x, y V e x = y, chamados arestas. Dito de outra forma, E ⊆P 2 (V ), onde P 2 (X ) designa o conjunto de todos os subconjuntos de X com dois elementos. Usaremosaindaanota¸c˜ao V (G)= V e E(G)= E para o caso de a nota¸c˜ao V e E ser amb´ ıgua. Se α = {x, y}∈ E, dizemos que: a aresta α liga ou une os v´ ertices x e y; 38

Transcript of Cap´ıtulo 3 Introdu¸c˜ao `a Teoria de...

Capıtulo 3

Introducao a Teoria de Grafos

Se pegarmos num mapa do Porto e colocarmos um ponto • nos locais onde duas oumais ruas se cruzam e um ponto tambem nos becos sem saıda, o que obtemos e umarepresentacao daquilo a que chamaremos um grafo. Se quisermos, adicionalmente,representar o sentido do trafego em cada rua, podemos acrescentar uma seta, ! ou", em cada rua de sentido unico, indicando a direccao permitida, e uma seta de duaspontas # nas ruas com ambos os sentidos. Neste caso obtemos um grafo dirigido, oudigrafo. Tomemos agora as pessoas dessa cidade, representemo-las por pontos no planoe tracemos uma linha entre cada par de pessoas que se conhece. Obtemos novamente arepresentacao de um grafo. Finalmente, consideremos uma molecula, constituıda poratomos, alguns dos quais ligados entre si. Temos assim mais um exemplo de um grafo.

O primeiro artigo de teoria de grafos e de 1736, da autoria do matematico suıcoLeonhard Euler, onde ele estudou o famoso problema das pontes de Konigsberg. Apesardas origens desta disciplina estarem muito ligadas a jogos e puzzles, hoje em dia ateoria de grafos constitui uma area de investigacao e uma ferramenta muito importanteem redes de transportes, quımica, psicologia, ciencias sociais, genetica e ciencias decomputadores, entre outras.

3.1 Definicoes e exemplos

Um grafo simples e um par ordenado G = (V, E), onde V e um conjunto finito cujoselementos sao denominados por vertices, e E e um conjunto de elementos do tipo{x, y}, com x, y $ V e x %= y, chamados arestas. Dito de outra forma, E & P2(V ),onde P2(X) designa o conjunto de todos os subconjuntos de X com dois elementos.Usaremos ainda a notacao V (G) = V e E(G) = E para o caso de a notacao V e E serambıgua.

Se ! = {x, y} $ E, dizemos que:

• a aresta ! liga ou une os vertices x e y;

38

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 39

• os vertices x e y sao adjacentes;

• os vertices x e y sao vizinhos;

• x (respectivamente y) e ! sao incidentes;

• x (respectivamente y) e uma extremidade de !.

Podemos representar um grafo G no plano por um diagrama formado por pontose linhas, onde os pontos estao em correspondencia com os vertices de G e dois pontossao unidos por uma linha1 se e so se os vertices correspondentes determinam umaaresta de G. Por abuso de linguagem designaremos ainda os pontos do diagrama porvertices e as linhas entre vertices por arestas. Devemos ter o cuidado, ao representarum grafo, de que uma aresta so passe por um vertice do diagrama se esse vertice foruma extremidade da aresta que se esta a representar, de forma a evitar ambiguidades.

Exemplo. Consideremos o grafo G = (V, E), onde:

V = {a, b, c, d, e} e E = {{a, b}, {a, d}, {a, e}, {b, c}, {b, e}, {c, d}, {d, e}}.Abaixo apresentamos duas representacoes deste grafo:

a

db

c

e

b

a

c

d

e

Se permitirmos na definicao de grafo que haja arestas multiplas, isto e, pares devertices que sejam unidos por mais do que uma aresta, entao dizemos que a estruturacorrespondente e a de um multigrafo. Mais geralmente, se num multigrafo permitir-mos a existencia de lacetes, isto e, arestas cujas duas extremidades coincidem, obtemosa definicao geral de grafo.

Exemplo. Nas duas figuras abaixo encontram-se representados um multigrafo (a es-querda) e um grafo geral (a direita):

1curva C! sem auto-interseccoes

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 40

Exercıcio. Apresente uma definicao de multigrafo e de grafo geral analoga a apresen-tada para um grafo simples.

Um grafo diz-se completo se for simples e se cada par de vertices distintos formaruma aresta. Um grafo completo com n vertices tem

!n2

"= n(n!1)

2 arestas e e denotadopor Kn.

Exemplo. Representacoes dos grafos completos K1, K2, K3, K4 e K5:

Uma outra representacao de K5 e a seguinte:

Notamos que em ambas as representacoes que apresentamos de K5 ha arestas que seintersectam em pontos que nao sao vertices.

Um grafo diz-se planar se puder ser representado por um diagrama no plano deforma a que duas arestas nao se intersectem excepto em vertices comuns. Uma talrepresentacao diz-se um grafo plano ou uma representacao planar do grafo. Peloexemplo anterior, os grafos completos K1, K2, K3 e K4 sao planares. Veremos maistarde que nao existe nenhuma representacao planar de K5, e portanto este grafo nao eplanar.

Um grafo bipartido e um multigrafo G = (V, E) cujo conjunto dos vertices admiteuma particao V = X'Y em dois subconjuntos X e Y de tal forma que cada aresta deG tenha uma extremidade em X e outra em Y . O par X, Y diz-se uma biparticao deG. Assim, G e bipartido com biparticao X, Y se e so se

({a, b} $ E a $ X )* b $ Y.

Em particular, um grafo bipartido nao tem lacetes e nao existem arestas entre osvertices de X nem entre os vertices de Y .

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 41

E comum representar um grafo bipartido no plano com os vertices de X acima (oua esquerda) dos vertices de Y , ou vice-versa, embora nao seja necessario faze-lo.

Exemplo. O multigrafo representado abaixo e bipartido, com biparticao X = {a, b, c}e Y = {t, u, v, w}

a b c

t u v w

Considere-se o grafo G representado abaixo, a esquerda. Desta representacao naoe evidente que G seja bipartido. No entanto, este mesmo grafo pode tambem serrepresentado pela figura abaixo, a direita, de onde se percebe que de facto G e bipartido,com biparticao X = {a, c, g, h, j, k} e Y = {b, d, e, f, i}.

Este exemplo mostra que, em geral, nao e obvio concluir de uma particular re-presentacao de um grafo se este e ou nao bipartido. Veremos nos exercıcios umacaracterizacao dos grafos bipartidos.

Exemplo. Seja G o grafo com V (G) = {1, 2, . . . , 20} e E(G) = {{i, j} | i, j $V (G) e i+ j e ımpar}. Consideremos

X = {i $ V (G) | i e par} e Y = {i $ V (G) | i e ımpar}.

Entao, como i+ j e ımpar se e so se i e j tem paridades diferentes, concluımos que Ge bipartido, com biparticao X, Y .

Um grafo simples bipartido G com biparticao X, Y diz-se completo se cada verticede X for adjacente a cada vertice de Y . Assim, se |X| = n e |Y | = m, entao G temexactamente mn arestas. Um tal grafo e denotado por Km,n.

Exercıcio. Verifique que o grafo do exemplo anterior e o grafo bipartido completoK10,10.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 42

3.2 O primeiro resultado

O grau do vertice v do grafo G e o numero deg(v) de arestas incidentes com v. Cadalacete {v, v} contribui 2 para deg(v) uma vez que ambas as extremidades do lacete saov. Por exemplo, no grafo completo Kn cada vertice tem grau n+1 e no grafo bipartidoKm,n existem m vertices de grau n e n vertices de grau m. A sequencia de grausde G e a sequencia decrescente (d1, d2, . . . , dn), com d1 , d2 , · · · , dn , 0, formadapelos graus de cada vertice de G.

Por exemplo, no grafo

a sequencia de graus e (7, 4, 2, 2, 2, 2, 1, 0).O primeiro resultado de teoria de grafos que vamos ver, da autoria de Euler, e por

vezes referido como o lema dos apertos de mao, por razoes que serao faceis de adivinhar.

Teorema 3.1. Seja G um grafo. Entao

#

v"V

deg(v) = 2|E|.

Em particular, o numero de vertices de grau ımpar num grafo e par.

Demonstracao. Cada aresta de G, incluindo os lacetes, contribui com 2 para a somados graus dos vertices de G, provando a igualdade enunciada. Logo, a soma dos grausdos vertices de G e par e portanto o numero de vertices de grau ımpar tambem terade ser par.

Exercıcio. Seja G um grafo com n vertices e exactamente n+ 1 arestas. Mostre queou G tem um vertice de grau 1 ou um vertice isolado (isto e, um vertice que nao eincidente em nenhuma aresta).

Exercıcio. E possıvel que, num grupo de sete pessoas, cada uma delas conheca exac-tamente tres das restantes pessoas do grupo?

Um grafo G diz-se k-regular se deg(v) = k para todo o v $ V .

Exercıcio. Mostre que se G e um grafo k-regular entao ou k e par ou |V (G)| e par.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 43

Exemplo. (Lema de Sperner) Este exercıcio destina-se a provar o caso bi-dimensionaldo chamado lema de Sperner, que pode ser usado para provar o teorema do ponto fixode Brower.

Seja T um triangulo no plano. Dizemos que uma decomposicao de T num numerofinito de triangulos contidos em T e simplicial se dois quaisquer triangulos dessa decom-posicao, ou nao se intersectam, ou se intersectam num vertice comum ou se intersectamnuma aresta comum.

Dada uma decomposicao simplicial de T , dizemos que uma coloracao dos verticesdos triangulos da decomposicao com as cores 0, 1 e 2 e propria se:

• sao atribuıdas aos tres vertices de T as cores 0, 1 e 2, por uma qualquer ordem;

• aos vertices da decomposicao que ocorrem sobre o lado de T que liga os verticesde T de cores i e j sao atribuıdas indiferentemente as cores i e j

Um triangulo da decomposicao cujos vertices tenham sido coloridos com as tres coresdiz-se um triangulo especial.

Na figura abaixo temos a esquerda uma decomposicao simplicial de um trianguloe a direita uma coloracao propria dos vertices dos triangulos dessa decomposicao. Hatres triangulos especiais na coloracao apresentada.

Lema de Sperner. Qualquer coloracao propria de uma decomposicao simplicial deum triangulo tem um numero ımpar de triangulos especiais. Em particular existesempre pelo menos um triangulo especial.

Denotemos os triangulos da decomposicao por T1, T2, . . . , Tn e o exterior do trianguloT por T0. Construımos um grafo simples G com V (G) = {v0, v1, . . . , vn}, em corres-pondencia com as regioes T0, . . . , Tn, e unimos os vertices vi e vj se Ti - Tj for umaaresta comum a estes dois triangulos com as cores 0 e 1.

E facil de ver que o vertice v0 tem grau ımpar. Logo, pelo Teorema 3.1, de entreos restantes vertices v1, . . . , vn ha um numero ımpar deles com grau ımpar. Alem

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 44

disso, nenhum destes pode ter grau 3, logo os de grau ımpar tem grau 1. Como, para1 . i . n, deg(vi) = 1 se e so se o triangulo Ti e especial, fica assim provado o lemade Sperner.

Dizemos que dois grafos G e G# sao isomorfos se existir uma bijeccao

" : V (G)! V (G#)

tal que, para todo o x, y $ V (G), o numero de arestas entre x e y em G e igual aonumero de arestas entre "(x) e "(y) em G#. Se G e G# forem ambos grafos simples, estacondicao traduz-se simplesmente em

(x, y $ V (G) {x, y} $ E(G) )* {"(x), "(y)} $ E(G#).

Dizemos que " e um isomorfismo entre G e G# e escrevemos G / G#. Esta nocao induzuma relacao de equivalencia no conjunto dos grafos, que nos permite identificar doisgrafos isomorfos.

E facil de ver que, se G / G#, entao

• |V (G)| = |V (G#)| e |E(G)| = |E(G#)|;

• G e simples se e so se G# e simples;

• G e bipartido se e so se G# e bipartido;

• G e completo se e so se G# e completo;

• G e planar se e so se G# e planar;

• G e G# tem a mesma sequencia de graus.

No entanto, o reciproco destas afirmacoes e falso, em geral.

Exemplos. 1. Os grafos representados abaixo sao isomorfos, sendo ambos repre-sentacoes de K4.

2. Os grafos abaixo tem o mesmo numero de vertices e arestas, mas nao sao isomorfospois tem sequencias de graus distintas.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 45

3. Os grafos abaixo tem a mesma sequencia de graus. No entanto nao sao isomorfosporque no grafo G existem tres vertices, cada um deles unido aos outros dois, etal nao acontece com o grafo G#. Outra forma de concluir que nao sao isomorfose notando que G# e bipartido e isomorfo a K3,3, ao passo que G nao e bipartido.

Seja G = (V, E) um grafo. Um subgrafo de G e um grafo H = (V #, E #) tal queV # & V e E # & E. De forma equivalente, um subgrafo de G e um par H = (V #, E #)que satisfaz:

• V # & V e E # & E;

• as extremidades de qualquer aresta ! $ E # sao elementos de V #.

O subgrafo H diz-se:

• induzido de G se E # for o conjunto de todas as arestas de G com ambas asextremidades em V #. Nesse caso denotamos H por G(V #).

• gerador de G se V # = V .

Assim, um subgrafo induzido de G obtem-se escolhendo um subconjunto V # de V etomando todas as arestas de G que ligam vertices de V #. Um subgrafo gerador de Gobtem-se tomando todos os vertices de G e algumas (ou nenhumas, ou todas) arestasde G.

Exemplo. Consideremos o grafo G representado por:

Na figura abaixo temos um subgrafo de G que nao e induzido nem gerador (es-querda), um subgrafo induzido, que nao e gerador (centro), e um subgarfo gerador quenao e induzido (direita).

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 46

Dado um conjunto de arestas A & E, o grafo G+A e o subgrafo gerador de G comE(G + A) = E(G) \ A. Se A = {!} escrevemos tambem G + ! em vez de G + {!}.Dado um conjunto de vertices X & V , o grafo G+X e o grafo induzido G(V \X). SeX = {v} escrevemos ainda G+ v em vez de G+ {v}.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 47

3.3 Passeios em grafos e conexao

Um passeio de comprimento m num grafo G e uma sequencia da forma

P = v0!1v1!2v2 · · ·!mvm (3.1)

onde, para cada 1 . i . m, v0, vi $ V (G), !i $ E(G) e !i tem extremidades vi!1 e vi.Dizemos ainda que P e um passeio de v0 a vm. Se G for simples, podemos simplesmentedenotar P por

v0 + v1 + · · ·+ vm,

desde que {vi!1, vi} $ E(G) para todo o i. Se v0 = vm dizemos que o passeio P efechado. No caso de m = 0 temos o passeio trivial v0, de comprimento 0.

O passeio inverso do passeio P em (3.1) e o passeio vm!mvm!1!m!1 · · · v1!1v0,de vm a v0, denotado por P!1 e obtido invertendo a ordem por que sao percorridos osvertices e arestas de P . Se P # = v#0!

#1v

#1 · · ·!#

lv#l e outro passeio em G tal que vm = v#0,

entao o passeio v0!1v1 · · ·!mvm!#1v

#1 · · ·!#

lv#l, de v0 a v#l, obtido por concatenacao de P

e P #, e denotado por PP #. Uma seccao do passeio (3.1) acima e um passeio da formavi!i+1vi+1 · · ·!jvj, com i . j; dizemos que esta e a seccao (vi, vj) de P .

Um atalho, ou trilho, e um passeio em que todas as arestas !1, . . . ,!m sao dis-tintas e um atalho fechado e chamado um circuito. Finalmente, dizemos que P e umcaminho se P for um atalho e todos os seus vertices forem distintos, com excepcaopossıvel de se ter v0 = vm. Um caminho fechado designa-se por ciclo.

Um lacete e um ciclo de comprimento 1 e duas arestas entre o mesmo par devertice determinam um ciclo de comprimento 2. Num grafo simples, qualquer ciclotem comprimento pelo menos 3.

Exercıcio. Mostre que, num grafo, se existe um passeio entre dois vertices estao existetambem um caminho entre esses vertices.

O grafo G diz-se conexo se, dados quaisquer dois vertices x e y em G, existe umpasseio (ou, o que e equivalente, um caminho) entre x e y. Caso contrario, G diz-sedesconexo.

E facil de ver que e possıvel decompor de forma unica qualquer grafo num conjuntode subgrafos induzidos G1 = (V1, E1), . . ., Gk = (Vk, Ek) tais que, dados x $ Vi e y $ Vj,existe um caminho entre x e y em G se e so se i = j. Os subgrafos G1, . . . , Gk dizem-seas componentes conexas de G e o numero k de componentes conexas denota-se por#(G). E claro que #(G) = #(G#) se os grafos G e G# forem isomorfos.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 48

Exemplo. O seguinte grafo e desconexo, tendo tres componentes conexas.

Podemos agora formular a nocao de distancia num grafo. Sejam x e y vertices deuma mesma componente conexa do grafo G. Definimos a distancia entre x e y pelaformula

d(x, y) = min{k | existe um passeio em G de comprimento k entre x e y}.

E claro que d(x, y) = 0 )* x = y e que qualquer passeio entre x e y de comprimentod(x, y) e necessariamente um caminho.

Exercıcio. Mostre que a distancia, definida para grafos conexos, e de facto umametrica. Mostre ainda que esta metrica tem a seguinte propriedade adicional: sed(x, y) > 1 entao existe z %= x, y tal que d(x, y) = d(x, z) + d(z, y).

Podemos agora enunciar um resultado que permite classificar os grafos bipartidos:

Teorema 3.2. Um grafo e bipartido se e so se todos os seus ciclos tiverem comprimentopar.

Demonstracao. Seja G um grafo. Se G for bipartido, entao e imediato que qualquerciclo em G tem de ter comprimento par. Suponhamos agora que todos os ciclos de Gtem comprimento par. Podemos tambem assumir que G e conexo, ja que um grafo ebipartido se todas as suas componentes conexas o forem.

Seja x $ V (G). Definimos a seguinte particao de V (G):

X = {y $ V (G) | d(x, y)e par};Y = {y $ V (G) | d(x, y)e ımpar}.

Resta mostrarmos que X, Y e uma biparticao de G. Suponhamos, por reducao aoabsurdo, que existem vertices a, b $ X ligados por uma aresta ! $ E(G) (o casoa, b $ Y e analogo). Sejam C1 e C2 caminhos de comprimento mınimo de x a a e dex a b, respectivamente. Como estes caminhos tem pelo menos o vertice x em comum,existe um ultimo vertice z em comum a ambos, de forma a que estes caminhos tema forma x · · · z · · · a e x · · · z · · · b, com z · · · a e z · · · b caminhos semvertices em comum, para alem de z. Como C1 e C2 sao caminhos de comprimentomınimo, os seus caminhos iniciais entre x e z tem forcosamente o mesmo comprimento.Logo, os comprimentos dos caminhos entre z e a e entre z e b obtidos de C1 e C2,

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 49

respectivamente, tem a mesma paridade. Mas entao o ciclo z · · · a!b · · · z obtidodestes caminhos e da aresta ! tem comprimento ımpar, o que e absurdo. Logo X e Yconstituem de facto uma biparticao de G.

Vamos finalizar esta seccao com uma outra forma de representar um grafo, a menosde isomorfismo, que e particularmente util para estudar algumas questoes de conexaoem grafos (ver exercıcios).

Seja G um grafo com |V (G)| = n. Vamos descrever G por meio de uma ma-triz simetrica n 0 n com entradas em N. Comecamos por ordenar os vertices de G:v1, . . . , vn. A matriz de adjacencia de G e a matriz A = (aij)1$i,j$n cuja entradaaij e o numero de arestas entre os vertices vi e vj. Assim, a entrada aii e o numerode lacetes no vertice vi. Se G for simples entao as entradas nao nulas de A sao todasiguais a 1 e a diagonal de A e constituıda unicamente por zeros.

Exemplo. Um grafo com lacetes e a sua matriz de adjacencia, relativamente a ordemdos vertices indicada:

$

%%%%%%&

0 1 2 0 1 01 1 0 0 2 02 0 0 1 1 10 0 1 1 2 21 2 1 2 0 00 0 1 2 0 0

'

(((((()

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 50

3.4 Exercıcios

1. Determine cada um dos 11 grafos simples nao isomorfos com 4 vertices e represente-os de forma planar.

2. Existe algum grafo cuja sequencia de graus seja (4, 4, 3, 2, 2)?

3. Existe algum grafo simples cuja sequencia de graus seja (4, 4, 4, 2, 2)? E algummultigrafo?

4. Mostre que num grafo simples com n , 2 vertices ha pelo menos dois verticescom o mesmo grau. Este resultado e valido para multigrafos?

5. Seja (d1, . . . , dn) uma sequencia de n inteiros nao negativos tal que a soma d1 +· · · + dn e par. Mostre que existe um grafo (geral) que tem esta sequencia comoa sua sequencia de graus. Descreva um algoritmo para a construcao de um talgrafo.

6. Apresente o diagrama de um grafo simples conexo cuja sequencia de graus seja(5, 4, 3, 3, 3, 3, 3, 2, 2).

7. De exemplo de um grafo simples G com 8 vertices tal que

(a) G e conexo e 3-regular;

(b) G e desconexo e 3-regular;

(c) G e 1-regular.

8. Qual e o numero maximo e mınimo de arestas de um grafo simples com n vertices?E qual e o valor maximo e mınimo do grau de um seu vertice?

9. Mostre que um grafo simples com n vertices e com pelo menos

(n+ 1)(n+ 2)

2+ 1

arestas e necessariamente conexo. De um exemplo de um grafo simples desconexocom n vertices e cujo numero de arestas seja uma unidade inferior ao numeroindicado acima.

10. Mostre que:

(a) Dois grafos isomorfos tem o mesmo numero de vertices e de arestas e amesma sequencia de graus.

(b) As afirmacoes recıprocas das anteriores sao falsas, mesmo para grafos sim-ples.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 51

11. Mostre que dois quaisquer grafos conexos, 2-regulares e com o mesmo numero devertices sao isomorfos.

12. Para cada par de grafos representados abaixo diga, justificando, se sao ou naoisomorfos. Construa a matriz de adjacencia de cada um deles.

13. Para cada par de grafos representados abaixo diga, justificando, se sao ou naoisomorfos. Construa a matriz de adjacencia de cada um deles.

14. Dos grafos seguintes ha exactamente dois que sao isomorfos. Diga, justificando,quais sao.

15. Dado um grafo simples G = (V, E), definimos o complementar de G comosendo o grafo G com V (G) = V e E(G) = P2(V ) \ E.

(a) Determine o complementar dos grafos Kn e Km,n.

(b) De exemplos de grafos isomorfos ao seu complementar.

(c) Mostre que o complementar de um grafo desconexo e um grafo conexo.

16. Seja G um grafo com 9 vertices tal que*

v"V (G) deg(v) , 27. Mostre que G temalgum vertice de grau pelo menos 4.

17. Seja G um grafo simples, conexo e regular, com exactamente 22 arestas. Quantosvertices e que G pode ter? Justifique.

18. Seja G um grafo simples, conexo e regular. Sera que todos os seus verticestem necessariamente o mesmo numero de segundos vizinhos (isto e, vertices adistancia 2 deles)?

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 52

19. Mostre que um grafo G com um vertice de grau pelo menos 1 e cujos verticesrestantes tem todos grau pelo menos 2 contem um ciclo de comprimento m , 1.E se G tiver dois vertices de grau 1 e os restantes de grau pelo menos 2?

20. Mostre que qualquer grafo simples com 10 vertices e 28 arestas contem um ciclode comprimento 4.

21. Mostre que qualquer grafo simples e k-regular, com k , 2, contem um ciclo decomprimento nao inferior a k + 1.

22. Sejam x e y vertices de um grafo, e suponhamos que existe um passeio fechadocontendo x e y. Sera que existe necessariamente tambem um circuito contendox e y?

23. Sejam x e y vertices de um grafo, e suponhamos que existe um circuito contendox e y. Sera que existe necessariamente tambem um ciclo contendo x e y?

24. Seja A um atalho num grafo, entre os vertices x e y. Mostre que existe umaparticao das arestas de A de forma a que uma das partes determina um caminhoentre x e y e as restantes determinam ciclos. Em particular, qualquer circuitopode ser decomposto em ciclos.

25. Seja G um grafo e seja G# o grafo obtido de G por remocao de todos os lacetese todas as copias, menos uma, de arestas com multiplicidade maior do que 1.Mostre que:

(a) G e conexo se e so se G# e conexo;

(b) G e planar se e so se G# e planar.

26. Seja G um grafo com precisamente dois vertices x e y de grau ımpar. Seja G% ografo obtido acrescentando a G uma nova aresta entre os vertices x e y. Mostreque G e conexo se e so se G% e conexo.

27. Mostre que um grafo e bipartido se e so se cada uma das suas componentesconexas o for.

28. Sejam m e n inteiros positivos. Para que valores de a e b e que os grafos bipartidoscompletos Km,n e Ka,b sao isomorfos?

29. Qual e o menor numero de arestas que e necessario retirar a K5 de forma a queo grafo resultante seja bipartido?

30. Uma ponte ou aresta de corte num grafo G e uma aresta ! $ E(G) tal que#(G + !) > #(G), onde G + ! e o grafo obtido apos eliminar a aresta ! de G.Mostre que:

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 53

(a) #(G) . #(G+ !) . #(G) + 1 para qualquer ! $ E(G).

(b) Se ! $ E(G) e uma ponte entao #(G+ !) = #(G) + 1.

(c) Se todos os vertices de G tem grau par entao G nao tem pontes.

31. Seja G um grafo bipartido e k-regular, para algum k , 2. Mostre que G nao tempontes.

32. Mostre que se o grafo G e simples e conexo, mas nao e completo, entao existemtres vertices distintos u, v e w tais que {u, v}, {v, w} $ E(G) mas {u, w} /$ E(G).

33. Seja V = {1, . . . , 20} o conjunto dos primeiros 20 inteiros positivos. Considere osseguintes grafos simples cujo conjunto dos vertices e V e cujo conjunto de arestasesta especificado abaixo. Para cada um destes grafos determine se ele e ou nao:

(i) conexo, especificando as componentes conexas no caso de ser desconexo;

(ii) bipartido, especificando uma biparticao em caso afirmativo.

(a) {a, b} e uma aresta se e so se a + b e par.

(b) {a, b} e uma aresta se e so se a + b e ımpar.

(c) {a, b} e uma aresta se e so se ab e par.

(d) {a, b} e uma aresta se e so se ab e ımpar.

(e) {a, b} e uma aresta se e so se ab e um quadrado perfeito.

(f) {a, b} e uma aresta se e so se a+ b e divisıvel por 3.

34. Seja A a matriz de adjacencia de um grafo de vertices v1, v2, . . . , vn. Mostreque a entrada da matriz Ak da linha i e coluna j e o numero de passeios decomprimento k entre os vertices vi e vj. Use este resultado para determinar,em termos da matriz de adjacencia e das suas potencias, a distancia entre doisvertices num grafo conexo.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 54

3.5 Grafos Eulerianos

Nesta seccao iremos estudar o problema, certamente familiar, da possibilidade de tracarum desenho sem levantar o lapis do papel e sem repetir nenhuma linha. Desenhos comoos seguintes sao tıpicos exemplos que o leitor devera tentar desenhar da forma descritaacima reavivando assim a memoria:

Apos algumas tentativas, percebemos que e facil seguir o procedimento indicadona figura da esquerda e na figura ao centro, embora na figura da esquerda consigamossempre acabar no ponto inicial, o que parece nao ser possıvel com a do centro. Tambemparece ser de todo impossıvel tracar a figura da direita sem ter de levantar o lapis outracar duas vezes a mesma linha. Como poderemos justificar estas afirmacoes?

Outro problema analogo a este e o famoso Problema das pontes de Konigsberg, quefoi resolvido por Euler num artigo de 1736, considerado o primeiro artigo em teoria degrafos.

No tempo de Euler, Konigsberg era uma cidade da Prussia, mas actualmente o nomeda cidade e Kalinegrado e situa-se na Russia. O rio Pregel (actualmente Pregolya)passa por Konigsberg onde se bifurca, criando duas ilhas no centro da cidade. As ilhasestao ligadas ao resto da cidade por sete pontes e os seus habitantes pretendiam saberse seria possıvel fazer um passeio pela cidade de forma a passar por cada uma daspontes exactamente uma vez, regressando no final do passeio ao ponto de partida (veresquema abaixo onde o rio aparece a cinzento e as pontes estao assinaladas com letrasminusculas).

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 55

Neste problema, o comprimento das pontes, a distancia entre elas e a precisa lo-calizacao dos indivıduos em cada uma das regioes determinadas pelo rio e irrelevante.A informacao relevante e somente a descricao das possibilidades de transitar de umaregiao a outra usando as pontes. Assim, podemos modelar este problema usando umgrafo, cujos vertices sao as quatro regioes determinadas pelo rio e cujas arestas corres-pondem as pontes, sendo o numero de arestas entre duas regioes igual ao numero depontes que as ligam:

D

C

A

B

Um outro exemplo tıpico de um problema que pode ser traduzido em termos doestudo de grafos e o de um carteiro que deseja, comecando a sua jornada de trabalhona estacao de correios, percorrer todas as ruas que lhe foram destinadas e entregaro correio. Ao final do dia deve regressar a estacao de correios de onde partiu. Seraque pode faze-lo sem ter de percorrer duas vezes a mesma rua? Para comecar, pode-mos representar as ruas e as suas interseccoes por um grafo, como foi ja referido naintroducao deste capıtulo. Em linguagem de teoria de grafos, todos estes problemasse traduzem na seguinte questao: Existe no grafo dado um circuito contendo todas asarestas do grafo? Nao existindo um circuito, existe um atalho?

Motivados pelo problema das pontes de Konigsberg, e pelo matematico que o re-solveu, dizemos que um atalho num grafo e Euleriano se contiver todas as arestas dografo. Dizemos ainda que um grafo e Euleriano se for conexo e possuir algum circuitoEuleriano.

Suponhamos entao que A = v0!1v1 · · ·!mvm e um circuito Euleriano no grafo co-nexo G, onde vm = v0. Seja v um qualquer vertice de G. Como G e conexo, deg(v) > 0(excepto no caso trivial em que |V (G)| = 1) e todas as arestas incidentes em v ocorremem A. Em particular, v e um dos vertices de A. Estudamos primeiro o caso v %= v0.Em cada ocorrencia de v em A, este vertice e precedido e sucedido por uma arestaque lhe e incidente, e todas as arestas incidentes em v ocorrem desta forma. (Note-seque este argumento e consistente com a definicao de grau de um vertice no que tocaaos lacetes.) Resulta entao que deg(v) e par. Se v = v0, entao as ocorrencias de v0

na seccao (v1, vm!1) de A contribuem com um numero par de arestas para deg(v0) eas ocorrencias de v0 como extremidade inicial e final de A contribuem exactamentecom 2 para deg(v0). Em qualquer dos casos, deg(v) e par. Logo, num grafo Eulerianotodos os vertices tem grau par. Esta conclusao permite ja concluir que o problema das

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 56

pontes de Konigsberg tem solucao negativa, uma vez que os quatro vertices do grafocorrespondente tem grau ımpar.

Vamos ver de seguida que a condicao necessaria que acabamos de encontrar para queum grafo seja Euleriano e tambem suficiente. Comecamos com um lema de interesseindependente.

Lema 3.3. Seja G um grafo em que deg(v) e par, para todo o v $ V (G). Entao, dada! $ E(G), existe um ciclo em G que contem !.

Demonstracao. Sejam v0 e v1 as extremidades de !. Se v0 = v1 entao v0!v1 e umciclo contendo !. Caso contrario, seja Ai = v0!1v1 · · · vi!1!ivi um atalho com !1 = !,i , 1 e v0 %= vi. Como o grau de vi e ımpar em Ai e par em G, existe alguma aresta!i+1 incidente com vi e diferente de !1, . . . ,!i. Seja vi+1 a outra extremidade de !i+1.Obtemos assim um atalho Ai+1 = Aivi!i+1vi+1 de comprimento i + 1. Como esteprocedimento nao pode ser implementado indefinidamente, existe algum k , 2 tal quev0 = vk e Ak e um circuito que contem a aresta !. Pelo exercıcio 24 da seccao 3.4, esteatalho e uniao de ciclos, algum dos quais contera !.

Teorema 3.4. Seja G um grafo conexo. Entao G e Euleriano se e so se o grau decada um dos seus vertices for par.

Demonstracao. Ja vimos que se G for Euleriano entao deg(v) e par, para todo o v $V (G). Consideramos agora o caso de G ser conexo e todos os seus vertices terem graupar. Faremos a prova por inducao sobre o numero de arestas de G.

Se G nao tiver arestas entao, uma vez que e conexo, G e constituıdo por um unicovertice e o atalho trivial sem arestas e um circuito Euleriano em G. Suponhamos entaoque G tem alguma aresta. Pelo lema anterior, existe um ciclo C em G de comprimentonao nulo. No grafo G+C todos os vertices tem ainda grau par, uma vez que o numerode arestas de C incidentes com cada vertice e par. Alem disso, G + C tem menosarestas do que G e podemos assim aplicar a hipotese de inducao a cada uma das l , 1componentes conexas de G+C. Obtemos assim l circuitos tais que cada aresta de G+Cocorre uma vez em precisamente um destes circuitos. Alem disso, por construcao, cadacomponente conexa de G+C tem pelo menos um vertice em comum com C. Podemosagora construir um circuito Euleriano em G da seguinte forma: Comecamos a percorrerC ate chegar ao primeiro vertice em comum com algum dos circuitos, digamos C1; dessevertice percorremos o circuito C1, voltando novamente ao vertice e prosseguimos como circuito C ate encontrar um vertice comum a algum dos restantes circuitos, digamosC2; desse vertice percorremos C2 e prosseguimos assim ate percorrer todos os circuitosC1, . . . , Cl e fechar o circuito C. Este novo circuito e Euleriano uma vez que C eC1, . . . , Cl nao tem arestas em comum e cada aresta de G pertence a algum destescircuitos.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 57

Exemplo. Ilustracao do processo indutivo da prova do Teorema 3.4.

Comecando no grafo G com o circuito C, cuja sequencia de arestas e abfghl, ob-temos em G + C as componentes conexas C1, C2 e C3, que tem circuitos Eulerianosdados pelas sequencias de arestas cde, jki e m, respectivamente. A construcao doteorema anterior permite formar o circuito Euleriano em G cuja sequencia de arestase bcdefghijklma.

Podemos dar ainda outra caracterizacao dos grafos Eulerianos:

Corolario 3.5. Seja G um grafo conexo. As seguintes condicoes sao equivalentes:

(a) G e Euleriano;

(b) deg(v) e par para todo o v $ V (G);

(c) Existem ciclos C1, . . . , Ck, todos subgrafos de G, tais que:

(i) E(G) = 'ki=1E(Ci);

(ii) E(Ci) - E(Cj) = 1 para i %= j.

Demonstracao. Pelo Teorema 3.4 sabemos ja que (a) e (b) sao equivalentes. Basta-nosportanto mostrar as implicacoes (a) =* (c) e (c) =* (b).

Suponhamos que G e Euleriano. Entao existe um circuito C contendo todas asarestas de G. Pelo exercıcio 24 da seccao 3.4, esse circuito pode ser decomposto emciclos C1, . . . , Ck, de forma a que 'k

i=1E(Ci) = E(C) = E(G). Alem disso, como em Cnao ha arestas repetidas, E(Ci) - E(Cj) = 1 se i %= j.

Suponhamos agora que (c) se verifica. Dado v $ V (G), o grau de v pode ser calcu-lado somando o numero de arestas incidentes com v em cada um dos ciclos C1, . . . , Ck.Como o numero de arestas incidentes com um vertice num ciclo e par, resulta quedeg(v) e par, sendo a soma de k numeros pares.

Vamos agora descrever um algoritmo que permitira, sempre que G seja um grafoEuleriano, construir um circuito Euleriano em G. Recordamos dos exercıcios que umaponte num grafo G e uma aresta ! $ E(G) tal que #(G+ !) > #(G).

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 58

Algoritmo de Fleury

Seja G um grafo Euleriano.

Passo 1.

• Escolher um vertice v0 $ V (G).

• Definir A0 = v0.

• Se deg(v0) = 0 entao G = ({v0}, 1) e A0 e um circuito Euleriano em G; parar.Caso contrario, prosseguir para o Passo 2.

Passo 2.

• Dado o atalho Ai = v0!1v1 · · ·!ivi, com i , 0, escolher !i+1 $ E(G)\{!1, . . . ,!i}tal que:

– !i+1 e incidente em vi;

– se possıvel, !i+1 nao e uma ponte do grafo G+ {!1, . . . ,!i}.

• Definir Ai+1 = Aivi!i+1vi+1, onde vi+1 e a outra extremidade de !i+1.

Passo 3.Parar se Ai+1 contem todas as arestas de G. Caso contrario, voltar ao Passo 2,

substituindo i por i + 1.

Observacoes. 1. No algoritmo de Fleury, a condicao “se possıvel, !i+1 nao e umaponte do grafo G+ {!1, . . . ,!i}” significa que so escolhemos uma ponte do grafoG+ {!1, . . . ,!i} se todas as arestas incidentes em vi nesse grafo forem pontes.

2. Nao e de todo obvio que este algoritmo termine sempre com um circuito Eulerianose o grafo em que e aplicado for Euleriano. Esse facto sera provado adiante. Noentanto, um argumento semelhante ao usado no prova do Teorema 3.4 mostraque, no Passo 2, se nao houver mais arestas incidentes em vi entao ou G nao eEuleriano ou vi = v0.

Exemplo. Aplicando o algoritmo de Fleury ao grafo

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 59

obtemos, por exemplo, o seguinte atalho Euleriano:

a7d10a5d6a2d5a4d9a7d12a8d8a3d2a1d3a8d11a6d7a1d1a2d4a7

Note-se que, ao longo da aplicacao do algoritmo de Fleury a este grafo, verifica-sesempre que as componentes conexas de G+ {!1, . . . ,!i} sao todas vertices de grau 0,com excepcao possıvel da componente conexa contendo o vertice vi. E esta propriedade,valida em geral, que faz com que o algoritmo de Fleury funcione.

Teorema 3.6. Se G for um grafo Euleriano entao o algoritmo de Fleury termina comum circuito Euleriano de G.

Demonstracao. Seja entao G um grafo Euleriano. Usaremos a notacao introduzidano algoritmo de Fleury: Ai = v0!1v1 · · ·!ivi e o atalho construıdo na i-esima imple-mentacao do passo 2 no algoritmo. Definimos ainda G0 = G e Gi = G+ {!1, . . . ,!i},para i , 1.

Pela observacao que se seguiu a descricao do algoritmo, basta mostrar que, ao longoda aplicacao do algoritmo, a seguinte propriedade (Pi) e valida: “As componentesconexas de Gi sao todas vertices de grau 0, com excepcao possıvel da componenteconexa que contem o vertice vi”. Faremos a prova por inducao sobre i. (P0) verifica-se,ja que G e conexo. Suponhamos entao que (Pi) se verifica e vejamos que, ao passar deAi para Ai+1, (Pi+1) e ainda valida.

Se v0 = vi entao, para cada v $ V (G), ha um numero par de arestas em Ai

incidentes em v (cada lacete e contado como duas arestas). Logo, como deg(v) e parem G, resulta que v ainda tem grau par em Gi. Se v0 %= vi um raciocınio analogomostra que, em Gi, v0 e vi tem grau ımpar ao passo que os restantes vertices tem graupar.

Suponhamos primeiro que v0 %= vi e que deg(vi) = 1 em Gi. Entao existe uma unicaaresta em Gi incidente com vi, digamos e $ E(G). Pelo algoritmo de Fleury, temos deescolher !i+1 = e, apesar de e ser uma ponte de Gi. Ao faze-lo, a componente conexade vi em Gi separa-se em duas componentes conexas de Gi+1: uma contendo apenas overtice isolado vi e outra contendo o vertice vi+1, a outra extremidade de !i+1.

Logo, neste caso (Pi+1) ainda se verifica.Suponhamos agora que v0 %= vi e que deg(vi) %= 1 em Gi. Entao deg(vi) , 3 em Gi.

Vamos mostrar que, neste caso, e possıvel escolher uma aresta de Gi incidente com vi

que nao e uma ponte em Gi. Desta forma, como nao serao criadas novas componentesconexas em Gi+1, (Pi+1) ainda sera valida. Se existir um lacete em vi, nao ha nada a

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 60

provar. Caso contrario, basta mostrarmos que se deg(vi) , 2 em Gi entao existe nomaximo uma ponte em Gi incidente com vi.

Suponhamos, por reducao ao absurdo, que existem duas pontes e# e f # em Gi inci-dentes com vi e sejam u e v, respectivamente, as outras extremidades destas arestas.

Entao, no grafo H = Gi + {e#, f #}, o grau de vi ainda e ımpar (e igual ao seu grau emGi subtraıdo de 2), os graus de u e v diminuıram em 1 relativamente a Gi e ha pelomenos tres componentes conexas: uma delas contendo vi, outra contendo u e outracontendo v, digamos C1, C2 e C3, respectivamente (ver figura acima).

Como estamos a assumir que v0 %= vi, estes sao os unicos vertices de grau ımparem Gi. Se v0 %= u e v0 %= v, entao existem exactamente quatro vertices de grau ımparem H, v0, vi, u e v, o que e absurdo pois tal implicaria que alguma das componentesconexas C1, C2 e C3 teria um unico vertice de grau ımpar. Se v0 = u (o caso v0 = v eidentico) entao havera em H exactamente dois vertices de grau ımpar, vi e v, o que eabsurdo pois assim cada uma das componentes conexas C1 e C3 teria exactamente umvertice de grau ımpar. Logo, alguma das arestas e# ou f # nao e ponte em Gi e (Pi+1) evalida.

Resta estudar o caso v0 = vi. Neste caso, todos os vertices de Gi tem grau par. Emparticular, vi tem grau par. Se deg(vi) = 0 em Gi entao, por (Pi), Gi nao tem arestas eAi e um circuito Euleriano. Caso contrario, deg(vi) , 2 e podemos usar um argumentoanalogo ao apresentado acima para mostrar que nenhuma das arestas incidentes comvi em Gi e uma ponte. Logo, (Pi+1) e valida.

Fica assim provado por inducao que (Pi) se verifica para todo o i , 0, o que mostraa eficacia do algoritmo de Fleury.

Observacao. Pela prova apresentada acima verificamos tambem que se G e Eulerianoentao no algoritmo de Fleury so somos forcados a escolher uma ponte se deg(vi) = 1em Gi.

Temos agora uma caracterizacao completa dos grafos Eulerianos e um algoritmoque permite construir sempre um circuito Euleriano num tal grafo. No entanto, hagrafos conexos que, nao sendo Eulerianos, tem atalhos Eulerianos. E o caso do grafoseguinte:

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 61

De seguida veremos como identificar estes grafos.

Teorema 3.7. Um grafo conexo tem atalhos Eulerianos nao fechados se e so se temexactamente dois vertices de grau ımpar. Nesse caso, qualquer atalho Euleriano comecanum desses vertices e termina no outro.

Demonstracao. Seja G um grafo conexo.Se A = v0!1v1 · · ·!mvm for um atalho Euleriano em G com v0 %= vm entao, por um

argumento ja varias vezes usado nesta seccao, os vertices v0 e vm tem grau ımpar e osrestantes vertices de G tem grau par.

Reciprocamente, suponhamos que os vertices x e y sao os unicos vertices de G degrau ımpar. Seja G# o grafo obtido ao acrescentar a G uma nova aresta !, entre osvertices x e y. Entao G# e conexo e todos os seus vertices tem grau par. Logo, existeum circuito Euleriano C em G#. Alem disso, eventualmente re-escrevendo C, podemosassumir que C = y!xA. Entao A e um atalho Euleriano em G que comeca no verticex e termina no vertice y.

A prova do Teorema 3.7 e o algoritmo de Fleury permitem determinar em qualquergrafo conexo com exactamente dois vertices de grau ımpar um atalho Euleriano. Paratal, comecamos por acrescentar ao grafo uma nova aresta ! entre os vertices de grauımpar, digamos x e y. O novo grafo e Euleriano e podemos comecar o algoritmo deFleury com o atalho y!x, pois ! nao e ponte. Se y!xA for o circuito Euleriano obtidopela implementacao do algoritmo de Fleury, entao A e um atalho Euleriano de x ay no grafo inicial. Note-se que este procedimento equivale a comecar o algoritmo deFleury em G no vertice x. A observacao acima mostra que o resultado da aplicacao doalgoritmo de Fleury a G com vertice inicial x e um atalho Euleriano em G de x a y.

Exercıcio. Usando o algoritmo de Fleury desenhe, se possıvel, cada um dos seguintesdiagramas sem levantar o lapis do papel e sem tracar duas vezes a mesma linha.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 62

3.6 Exercıcios

1. Considere os seguintes grafos:

(a) Diga quais deles admitem atalhos ou circuitos Eulerianos.

(b) Aplique o algoritmo de Fleury aos grafos obtidos em (a) de forma a obterum circuito ou um atalho Euleriano.

2. Seja G um grafo Euleriano:

(a) G tem sempre um numero par de arestas?

(b) G pode ter arestas de corte (pontes)?

3. (a) Quais dos seguintes grafos sao Eulerianos?

i. o grafo completo Kn, para n , 3;

ii. o grafo completo bipartido Km,n, para m, n , 1.

(b) Dos grafos anteriores, quais e que admitem atalhos Eulerianos abertos (istoe, que nao sao circuitos)?

4. Seja G um grafo conexo com exactamente quatro vertices de grau ımpar. Mostreque existem dois atalhos abertos em G tais que cada aresta de G pertence aprecisamente um destes atalhos.

5. Seja G um grafo conexo com exactamente 2k vertices de grau ımpar, onde k , 1.Mostre que e possıvel decompor G numa uniao, disjunta nas arestas, de k atalhosabertos. Mostre ainda que tal decomposicao nao e possıvel com menos de katalhos.

6. Usando o exercıcio anterior, determine o numero mınimo de vezes que sera ne-cessario levantar o lapis de forma a desenhar cada uma das figuras seguintes semtracar mais de uma vez a mesma linha.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 63

7. Determine um passeio fechado para o problema das pontes de Konigsberg deforma a que o numero de pontes passadas mais de uma vez seja mınimo.

8. Seja G um grafo simples com E(G) = {!1, . . . ,!n}, n , 1. O grafo de linhasde G e o grafo L(G) com vertices x1, . . . , xn, em correspondencia com as arestasde G, tal que os vertices xi e xj estao ligados por uma aresta em L(G) se e so seas arestas !i e !j correspondentes sao adjacentes em G. Na figura abaixo temosum grafo G e o seu grafo de linhas L(G).

(a) Mostre que se G for Euleriano entao L(G) tambem e.

(b) Para n , 3 determine o grafo de linhas do grafo bipartido completo K1,n.

(c) De um exemplo de um grafo simples G tal que L(G) seja Euleriano emboraG nao o seja.

9. Diz-se que um grafo Euleriano G e aleatoriamente tracavel de um verticev $ V (G) se todo o atalho em G com inıcio no vertice v puder ser estendido aum circuito Euleriano de G.

(a) Mostre que o seguinte grafo Euleriano e aleatoriamente tracavel do verticev indicado, mas nao o e de nenhum outro vertice.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 64

(b) De um exemplo de um grafo Euleriano que nao seja aleatoriamente tracavelde nenhum dos seus vertices.

(c) De um exemplo de um grafo Euleriano que seja aleatoriamente tracavel detodos os seus vertices.

(d) Mostre que um grafo Euleriano e aleatoriamente tracavel do seu vertice vse e so se v esta em todos os ciclos de G.

10. (a) Identifique os grafos conexos tais que deg(v) = 2 para todo o vertice v.

(b) Identifique os grafos conexos tais que deg(v) . 2 para todo o vertice v.

(c) Identifique os grafos tais que deg(v) . 2 para todo o vertice v.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 65

3.7 Grafos Hamiltonianos

Um caminho Hamiltoniano num grafo e um caminho onde ocorrem todos os verticesdo grafo exactamente uma vez. Assim, um ciclo Hamiltoniano e um ciclo que contemtodos os vertices do grafo exactamente uma vez, com excepccao dos vertices inicial efinal que tem de coincidir. Um grafo diz-se Hamiltoniano se possuir algum cicloHamiltoniano. Note-se que um grafo Hamiltoniano e necessariamente conexo.

Se retirarmos uma aresta a um ciclo Hamiltoniano obtemos um caminho Hamilto-niano aberto, logo todo o grafo Hamiltoniano possui caminhos Hamiltonianos abertos,ao contrario do que se passa com os grafos Eulerianos, que nao possuem atalhos Eu-lerianos abertos. No entanto, o recıproco desta afirmacao nao e verdadeiro, como oseguinte exemplo mostra.

Exemplo. O grafo G1 nao tem caminhos Hamiltonianos abertos (e portanto tambemnao tem ciclos Hamiltonianos); G2 tem caminhos Hamiltonianos abertos mas nao temciclos Hamiltonianos; G3 tem ciclos (e caminhos abertos) Hamiltonianos.

A designacao de Hamiltoniano refere-se ao matematico irlandes SirWilliam Rowan Hamilton (1805–1865), famoso pela sua descobertados quaternioes, uma generalizacao nao-comutativa dos numeroscomplexos. Por volta de 1857 Hamilton criou um jogo ao qual deuo nome de jogo icosiano, aludindo aos 20 vertices do dodecaedro.

A cada um desses vertices era atribuıdo o nome de uma capital e oobjectivo do jogo era, usando as arestas do dodecaedro, planear umpercurso que visitasse cada uma das cidades exactamente uma vez eterminasse na cidade de onde se tinha partido. Assim, procurava-seum ciclo Hamiltoniano no grafo do dodecaedro.

Um exemplo de um tal ciclo e o seguinte:

09/18/2007 05:38 PMIcosian Game -- from Wolfram MathWorld

Page 1 of 2http://mathworld.wolfram.com/IcosianGame.html

Search Site

Algebra

Applied Mathematics

Calculus and Analysis

Discrete Mathematics

Foundations of Mathematics

Geometry

History and Terminology

Number Theory

Probability and Statistics

Recreational Mathematics

Topology

Alphabetical Index

Interactive Entries

Random Entry

New in MathWorld

MathWorld Classroom

About MathWorld

Send a Message to the Team

Order book from Amazon

12,704 entriesSun Aug 26 2007

Recreational Mathematics > Games > General Games

Discrete Mathematics > Graph Theory > Simple Graphs > Polyhedral Graphs

Recreational Mathematics > Interactive Entries > LiveGraphics3D Applets

Icosian Game

The Icosian game, also called the Hamiltonian game (Ball and Coxeter

1987, p. 262), is the problem of finding a Hamiltonian circuit along the

edges of an dodecahedron, i.e., a path such that every vertex is visited a

single time, no edge is visited twice, and the ending point is the same as

the starting point (left figure). The puzzle was distributed commercially as a

pegboard with holes at the nodes of the dodecahedral graph, illustrated

above (right figure). The Icosian Game was invented in 1857 by William

Rowan Hamilton. Hamilton sold it to a London game dealer in 1859 for 25

pounds, and the game was subsequently marketed in Europe in a number

of forms (Gardner 1957).

A graph having a Hamiltonian circuit, i.e., on which the Icosian game may

be played, is said to be a Hamiltonian graph. While the skeletons of all the

Platonic solids and Archimedean solids (i.e., the Platonic graphs and

Archimedean graphs, respectively) are Hamiltonian, the same is notnecessarily true for the skeletons of the Archimedean duals, as shown by

Coxeter (1946) and Rosenthal (1946) for the rhombic dodecahedron

(Gardner 1984, p. 98).

SEE ALSO: Dodecahedral Graph, Dodecahedron, Hamiltonian Circuit,

Hamiltonian Graph, Herschel Graph, Polyhedral Graph. [Pages Linking Here]

REFERENCES:

Ball, W. W. R. and Coxeter, H. S. M. Mathematical Recreations and Essays, 13th ed. NewYork: Dover, pp. 262-266, 1987.

Coxeter, H. S. M. "Problem E 711." Amer. Math. Monthly 53, 156, 1946.

Dalgety, J. "The Icosian Game."http://puzzlemuseum.com/month/picm02/200207icosian.htm.

Gardner, M. "Mathematical Games: About the Remarkable Similarity between the IcosianGame and the Towers of Hanoi." Sci. Amer. 196, 150-156, May 1957.

Hamilton, W. R. Quart. J. Math., 5, 305, 1862.

Hamilton, W. R. Philos. Mag. 17, 42, 1884.

Harary, F. Graph Theory. Reading, MA: Addison-Wesley, p. 4, 1994.

Herschel, A. S. "Sir Wm. Hamilton's Icosian Game." Quart. J. Pure Applied Math. 5, 305,1862.

Lucas, E. Récréations mathématiques, Vol. 2. Paris: Gauthier-Villars, pp. 201 and 208-255, 1891.

MacTutor Archive. "Mathematical Games and Recreations." http://www-groups.dcs.st-

and.ac.uk/~history/HistTopics/Mathematical_games.html#49.

Rosenthal, A. "Solution to Problem E 711: Sir William Hamilton's Icosian Game." Amer.

Other Wolfram Sites:

Wolfram Research

Demonstrations Site

Integrator

Tones

Functions Site

Wolfram Science

more…

Download Mathematica Player >>

Complete MathematicaDocumentation >>

Show off your math savvy with aMathWorld T-shirt.

09/18/2007 05:38 PMIcosian Game -- from Wolfram MathWorld

Page 1 of 2http://mathworld.wolfram.com/IcosianGame.html

Search Site

Algebra

Applied Mathematics

Calculus and Analysis

Discrete Mathematics

Foundations of Mathematics

Geometry

History and Terminology

Number Theory

Probability and Statistics

Recreational Mathematics

Topology

Alphabetical Index

Interactive Entries

Random Entry

New in MathWorld

MathWorld Classroom

About MathWorld

Send a Message to the Team

Order book from Amazon

12,704 entriesSun Aug 26 2007

Recreational Mathematics > Games > General Games

Discrete Mathematics > Graph Theory > Simple Graphs > Polyhedral Graphs

Recreational Mathematics > Interactive Entries > LiveGraphics3D Applets

Icosian Game

The Icosian game, also called the Hamiltonian game (Ball and Coxeter

1987, p. 262), is the problem of finding a Hamiltonian circuit along the

edges of an dodecahedron, i.e., a path such that every vertex is visited a

single time, no edge is visited twice, and the ending point is the same as

the starting point (left figure). The puzzle was distributed commercially as a

pegboard with holes at the nodes of the dodecahedral graph, illustrated

above (right figure). The Icosian Game was invented in 1857 by William

Rowan Hamilton. Hamilton sold it to a London game dealer in 1859 for 25

pounds, and the game was subsequently marketed in Europe in a number

of forms (Gardner 1957).

A graph having a Hamiltonian circuit, i.e., on which the Icosian game may

be played, is said to be a Hamiltonian graph. While the skeletons of all the

Platonic solids and Archimedean solids (i.e., the Platonic graphs and

Archimedean graphs, respectively) are Hamiltonian, the same is notnecessarily true for the skeletons of the Archimedean duals, as shown by

Coxeter (1946) and Rosenthal (1946) for the rhombic dodecahedron

(Gardner 1984, p. 98).

SEE ALSO: Dodecahedral Graph, Dodecahedron, Hamiltonian Circuit,

Hamiltonian Graph, Herschel Graph, Polyhedral Graph. [Pages Linking Here]

REFERENCES:

Ball, W. W. R. and Coxeter, H. S. M. Mathematical Recreations and Essays, 13th ed. NewYork: Dover, pp. 262-266, 1987.

Coxeter, H. S. M. "Problem E 711." Amer. Math. Monthly 53, 156, 1946.

Dalgety, J. "The Icosian Game."http://puzzlemuseum.com/month/picm02/200207icosian.htm.

Gardner, M. "Mathematical Games: About the Remarkable Similarity between the IcosianGame and the Towers of Hanoi." Sci. Amer. 196, 150-156, May 1957.

Hamilton, W. R. Quart. J. Math., 5, 305, 1862.

Hamilton, W. R. Philos. Mag. 17, 42, 1884.

Harary, F. Graph Theory. Reading, MA: Addison-Wesley, p. 4, 1994.

Herschel, A. S. "Sir Wm. Hamilton's Icosian Game." Quart. J. Pure Applied Math. 5, 305,1862.

Lucas, E. Récréations mathématiques, Vol. 2. Paris: Gauthier-Villars, pp. 201 and 208-255, 1891.

MacTutor Archive. "Mathematical Games and Recreations." http://www-groups.dcs.st-

and.ac.uk/~history/HistTopics/Mathematical_games.html#49.

Rosenthal, A. "Solution to Problem E 711: Sir William Hamilton's Icosian Game." Amer.

Other Wolfram Sites:

Wolfram Research

Demonstrations Site

Integrator

Tones

Functions Site

Wolfram Science

more…

Download Mathematica Player >>

Complete MathematicaDocumentation >>

Show off your math savvy with aMathWorld T-shirt.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 66

A nocao de ciclo (resp. caminho aberto) Hamiltoniano e analoga a de circuito (resp.atalho aberto) Euleriano, mas e importante notar que estes dois problemas sao notori-amente distintos. Enquanto que a caracterizacao dos grafos que admitem circuitos ouatalhos Eulerianos e simples e computacionalmente eficaz, nao existem ate a data ca-racterizacoes deste tipo para os grafos Hamiltonianos, nao obstante o esforco e empenhode varias geracoes de matematicos, e a importancia do problema.

Exemplo. Este exemplo mostra a independencia entre a existencia de circuitos (ata-lhos) Eulerianos e a existencia de ciclos (caminhos) Hamiltonianos num grafo.

grafo circuito Euleriano atalho Euleriano ciclo Hamiltoniano caminho Hamiltoniano(a) sim nao sim sim(b) nao sim nao sim(c) nao nao sim sim(d) sim nao nao sim(e) nao sim nao nao(f) nao nao nao sim

Observacao. E facil de ver que, com excepcao do grafo com dois vertices unidos poruma aresta de multiplicidade 2, um grafo G possui um ciclo ou caminho Hamiltonianose e so se o grafo simples associado a G (o que se obtem de G eliminando os lacetese todas menos uma das arestas entre cada par de vertices adjacentes em G) possuium ciclo ou caminho Hamiltoniano, respectivamente. Por esta razao, todos os grafosconsiderados nesta e na proxima seccoes serao simples. Como tal, descreveremos ospasseios nestes grafos pela sua sequencia de vertices.

Dado um grafo, determinar se este possui ou nao um caminho ou um ciclo Hamil-toniano e, como ja foi referido, um problema em geral muito complexo. Nao sendoconhecidas condicoes necessarias e suficientes para um grafo ser Hamiltoniano, apre-sentaremos de seguida algumas condicoes necessarias, que nos permitirao concluir quecertos grafos nao sao Hamiltonianos, e tambem algumas condicoes suficientes, que per-mitirao concluir que certos grafos sao Hamiltonianos. Condicao suficientes para um

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 67

grafo ser Hamiltoniano sao dadas pelos Teoremas de Dirac e de Ore, que apresentare-mos em breve. Antes de o fazer, comecemos com algumas observacoes simples.

Os exemplos mais simples de grafos Hamiltonianos sao os ciclos Cn, com n , 3vertices v1, . . . , vn e n arestas {v1, v2}, . . . , {vi, vi+1}, . . . , {vn!1, vn}, {vn, v1}:

C7

Alem disso, dado um grafo Hamiltoniano G e um grafo G# obtido de G por adicao dearestas, e claro que G# e ainda Hamiltoniano ja que um circuito Hamiltoniano em Gsera ainda um circuito Hamiltoniano em G#. Em particular, o grafo completo Kn eHamiltoniano para n , 3 pois contem o ciclo Cn como seu subgrafo gerador.

No teorema que se segue, enunciamos duas condicoes necessarias para um grafo serHamiltoniano. A prova e deixada como exercıcio.

Teorema 3.8. Seja G um grafo Hamiltoniano. Entao:

(a) G nao tem pontes;

(b) Se 1 %= S ! V (G) entao #(G+ S) . |S|.

Exemplo. O grafo G abaixo nao e Hamiltoniano porque a aresta a indicada e umaponte. O grafo H tambem nao e Hamiltoniano porque se v for o vertice indicadona figura entao #(H + v) = 2 > 1. No entanto, basta acrescentar uma qualqueraresta entre vertices nao adjacentes a G (respectivamente, H) para que este grafose torne Hamiltoniano. Por esta razao, dizemos que G e H sao ambos grafos nao-Hamiltonianos maximais.

a

G

v H

Exemplo. Se retirarmos os tres vertices representados a preto no grafo G abaixo,obtemos um grafo com 4 componentes conexas. Logo G nao e Hamiltoniano.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 68

Vamos agora determinar condicoes suficientes para que um grafo seja Hamiltoniano.Historicamente, o primeiro resultado neste sentido deve-se a Dirac, tendo este sidoposteriormente generalizado por Ore. No entanto, por razoes de encadeamento logicodos argumentos a usar, iremos inverter a ordem historica destes resultados e provarprimeiro um teorema que implicara o Teorema de Ore, do qual o Teorema de Diracdecorrera como corolario.

Teorema 3.9. Seja G um grafo simples com n , 3 vertices e sejam u e v vertices naoadjacentes de G tais que

deg(u) + deg(v) , n.

Entao G e Hamiltoniano se e so se G + {u, v} e Hamiltoniano, onde G + {u, v} e ografo obtido adicionando a aresta {u, v} a G.

Demonstracao. A implicacao directa e trivial. Suponhamos entao que G + {u, v} eHamiltoniano e seja C um ciclo Hamiltoniano em G + {u, v}. Se a aresta {u, v} naoocorre em C entao C e ainda um ciclo Hamiltoniano em G, o que prova que G eHamiltoniano. Caso contrario, C + {u, v} e um caminho Hamiltoniano em G entre osvertices u e v, digamos

u = x1 + x2 + · · ·+ xn = v.

Sejam r = deg(u) e s = deg(v). Por hipotese, r + s , n. Como C + {u, v} contemtodos os vertices de G e u e v nao sao adjacentes em G, os vizinhos de u e v estao entreos vertices x2, . . . , xn!1. Vejamos que existe um vizinho xk de u (k , 2) tal que xk!1 evizinho de v. Se assim nao fosse, v teria no maximo n+ 1+ r vizinhos, ou seja,

s . n+ 1+ r )* r + s . n+ 1

o que contradiria a hipotese. Logo, existe k , 2 tal que u e xk sao adjacentes, bemcomo xk!1 e v. Podemos entao formar o ciclo Hamiltoniano:

u = x1 + · · ·+ xk!1 + v = xn + xn!1 + · · ·+ xk + u.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 69

u v

x xk-1 k

Logo G e tambem Hamiltoniano.

Podemos aplicar sucessivamente o teorema anterior a um grafo, acrescentando-lhenovas arestas. Se ao fim de algumas iteracoes obtivermos um grafo Hamiltoniano,poderemos concluir que o grafo inicial tambem era Hamiltoniano, pelo Teorema 3.9.Por exemplo, se por este processo aplicado ao grafo simples G obtivermos um grafocompleto Kn, com n , 3, entao G e Hamiltoniano.

Exemplo. Aplicacoes sucessivas do Teorema 3.9 permitem chegar ao grafo completoK6, logo G e tambem Hamiltoniano (como, de resto, e facil de concluir directamente).

Teorema 3.10 (Ore, 1960). Seja G um grafo simples com n , 3 vertices tal que paraqualquer par de vertices nao adjacentes u e v se tem

deg(u) + deg(v) , n.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 70

Entao G e Hamiltoniano.

Demonstracao. A hipotese do Teorema 3.9 e valida para todos os pares de vertices naoadjacentes de G portanto, por esse teorema, o grafo G e Hamiltoniano se e so se o grafocompleto Kn o for. Logo, G e Hamiltoniano.

Enunciamos finalmente o Teorema de Dirac, que e consequencia imediata do Teo-rema de Ore.

Teorema 3.11 (Dirac, 1952). Seja G um grafo simples com n , 3 vertices. Sedeg(v) , n/2 para todo o vertice v de G, entao G e Hamiltoniano.

Exemplo. O grafo seguinte e Hamiltoniano:

Note-se que as condicoes dos Teoremas de Dirac e de Ore sao suficientes mas naonecessarias. Por exemplo, o ciclo Cn e Hamiltoniano mas, para n , 5, nao satisfazessas condicoes.

Para terminar esta seccao, apresentamos um algoritmo que permite, num grafo quesatisfaz as hipoteses do Teorema de Ore (em particular, basta que satisfaca as hipotesesdo Teorema de Dirac), construir um ciclo Hamiltoniano. A prova da eficacia do algo-ritmo e identica a prova do Teorema 3.9, e sera portanto omitida.

Algoritmo

Seja G um grafo simples com n , 3 vertices que satisfaz as hipoteses do Teorema deOre.

Passo 1. Escolher um vertice qualquer de G e, acrescentando vertices adjacentes adireita e a esquerda, construir um caminho aberto em G de comprimento cada vezmaior, ate nao ser possıvel prosseguir, digamos

C = y1 + y2 + · · ·+ ym, 3 . m . n,

de comprimento m+ 1.

CAPITULO 3. INTRODUCAO A TEORIA DE GRAFOS 71

Passo 2.

(i) Se y1 e ym nao forem adjacentes em G, prosseguimos para o Passo 3. Casocontrario, y1 e ym sao adjacentes e prosseguimos para (ii).

(ii) Se m = n entao y1 + y2 + · · · + ym + y1 e um ciclo Hamiltoniano em G; parar.Caso contrario, y1 e ym sao adjacentes e m < n; ir para (iii).

(iii) Existe um vertice z, diferente de y1, . . . , ym, que e adjacente a yk, para algum1 . k . m. Substituir C pelo caminho aberto de comprimento m

z + yk + yk+1 + · · ·+ ym + y1 + · · ·+ yk!1.

De seguida, estender C acrescentando vertices adjacentes a direita e a esquerdaate nao ser possıvel prosseguir, de forma a termos ainda um caminho aberto decomprimento maior ou igual a m. Voltar ao inıcio do Passo 2.

Passo 3. Encontrar um vertice yk, com 1 < k < m, tal que y1 e adjacente a yk e ym eadjacente a yk!1. Substituir C pelo caminho

y1 + · · ·+ yk!1 + ym + ym!1 + · · ·+ yk.

de comprimento m+ 1, tal como C. As duas extremidades deste caminho sao adjacen-tes. Voltar ao Passo 2(ii).

De facto, e possıvel modificar ligeiramente este algoritmo de forma a obter umaprova, tambem construtiva, do seguinte resultado:

Teorema 3.12. Seja G um grafo simples com n vertices tal que para qualquer par devertices nao adjacentes u e v de G se tem

deg(u) + deg(v) , n+ 1.

Entao G tem um caminho Hamiltoniano, que pode ser obtido adaptando de formanatural o algoritmo apresentado acima.

Exercıcio. Averigue se o seguinte grafo e ou nao Hamiltoniano: