06.01.2015 Views

Matemática Discreta 2011.2 - Grafos Definiç˜oes gerais ... - PUC-Rio

Matemática Discreta 2011.2 - Grafos Definiç˜oes gerais ... - PUC-Rio

Matemática Discreta 2011.2 - Grafos Definiç˜oes gerais ... - PUC-Rio

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Matemática <strong>Discreta</strong> <strong>2011.2</strong> - <strong>Grafos</strong><br />

Definições <strong>gerais</strong> de grafos<br />

1. Desenhe um grafo com seis vértices, cada um com grau 3.<br />

2. Desenhe cinco grafos diferentes que possuam quatro vértices e sejam conexos e simples.<br />

3. Prove que se um grafo tem 100 vértices e mais de 4950 arestas então ele não é simples.<br />

Solução: Se um grafo é simples, então há no máximo 1 aresta para cada par de<br />

vértices. Portanto um grafo simples com 100 vértices tem no máximo ( )<br />

100<br />

2 = 4950<br />

arestas. Se tiver mais arestas do que isso, não pode ser simples.<br />

4. Prove que se um grafo tem 100 vértices e menos de 99 arestas então ele não pode ser<br />

conexo.<br />

Solução: Considere um grafo conexo com 100 vértices. Se ele for conexo, podemos<br />

encontrar uma árvore contendo todos os vértices (Dijkstra faz isso, por<br />

exemplo). Uma árvore com n = 100 vértices tem n − 1 = 99 arestas. Logo se o<br />

grafo inteiro for conexo, ele tem que tem pelo menos 99 arestas.<br />

5. Prove que se um grafo simples tem 100 vértices e mais de 4851 arestas então ele é<br />

conexo.<br />

Solução: Considere um grafo simples com 100 vértices. Suponha que ele não é<br />

conexo. Então existe um subconjunto de k vértices (onde 1 ≤ k ≤ 99) que não<br />

pode ser conectado via caminhos a nenhum dos outros 100 − k vértices. Como<br />

o grafo é simples, entre esses k vértices temos no máximo ( k<br />

2)<br />

arestas (usamos o<br />

mesmo ( raciocínio da solução do exercício 3). Analogamente, existem no máximo<br />

100−k<br />

)<br />

arestas entre os outros 100 − k vértices. Portanto o número de arestas é<br />

2<br />

no máximo<br />

( k<br />

2)<br />

+<br />

( ) n − k<br />

=<br />

2<br />

k(k − 1)<br />

2<br />

+<br />

(100 − k)(99 − k)<br />

2<br />

= k 2 − 100k + 4950.<br />

A função de 2 o grau f(k) = k 2 − 100k + 4950 atinge seu mínimo em k = 50, e tem<br />

a concavidade voltada para cima. Logo o valor máximo que f(k) atinge para k<br />

entre 1 e 99 é f(1) = f(99) = 4851. Assim, mesmo desconhecendo o valor de k,<br />

podemos afirmar que o número de arestas é no máximo 4851.<br />

Concluímos que se o grafo tiver mais arestas do que isso, tem que ser conexo.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

6. Seja G = (V, A) um grafo não orientado, simples. Suponha que G tenha exatamente<br />

duas componentes conexas, 100 vértices e um número máximo de arestas para ter<br />

exatamente duas componentes conexas. Determine o número de vértices de cada<br />

componente conexa sabendo que G tem 3539 arestas.<br />

7. Considere o grafo simples com 10 vértices no qual existe uma aresta conectando cada<br />

par de vértices (geralmente denotado K 10 ).<br />

(a) Existem quantos caminhos de comprimento 5 que não repetem vértices<br />

Solução: Basta escolher 6 vértices diferentes, em ordem. A resposta é 10 ×<br />

9 × 8 × 7 × 6 × 5 = 151 200.<br />

(b) Existem quantos caminhos de comprimento 5 que não repetem arestas<br />

Solução: Considere um caminho qualquer de comprimento 5 que não repete<br />

arestas (que pode evidentemente repetir vértice). Seja a o primeiro vértice, b<br />

o segundo, c o terceiro. Então a, b e c são todos diferentes entre si, pois senão<br />

alguma aresta seria repetida. Já o quarto vértice pode ser diferente dos 3<br />

primeiros, caso em que o indicaremos por d, ou pode ser a (mas não pode ser<br />

b nem c). Continuando desta maneira, temos a seguinte árvore (orientada)<br />

de possibilidades, onde letras diferentes designam vértices diferentes:<br />

a<br />

b<br />

c<br />

a<br />

d<br />

d a b e<br />

b c e c e e a b c f<br />

Das 10 configurações possíveis, 1 envolve 6 vértices diferentes (a–f), 6 envolvem<br />

5 vértices diferentes (a–e), e 3 envolvem 4 vértices diferentes (a–d).<br />

Portanto a resposta é:<br />

(10 × 9 × 8 × 7 × 6 × 5) + 6 × (10 × 9 × 8 × 7 × 6) + 3 × (10 × 9 × 8 × 7)<br />

= 347 760.<br />

Página 2 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

8. Determine se existe ou não um grafo com 7 vértices, cujos graus são:<br />

(a) 0, 2, 2, 2, 4, 4, 6.<br />

Solução: Sim, existe: tente fazer o desenho.<br />

Obs: É fácil ver que não existe grafo simples com esses graus.<br />

(b) 2, 2, 3, 3, 4, 4, 5.<br />

Solução: Não. A soma dos graus é ímpar, o que contradiz o teorema do<br />

aperto-de-mãos (segundo o qual a soma dos graus é o dobro do número de<br />

arestas.)<br />

Obs: Na verdade, não é difícil provar que existe um grafo com os graus dados<br />

se e somente se a soma dos graus é par: Conecte dois-a-dois os vértices de<br />

grau ímpar, e acrescente laços. Caracterizar quando existe um grafo simples<br />

com os graus dados é um problema bem mais difícil.<br />

9. Sejam a, v inteiros positivos. Seja G o grafo simples com a + v vértices, sendo a deles<br />

azuis e v vermelhos, tal que que existe uma aresta ligando dois vértices se e somente<br />

se eles são de cores diferentes.<br />

(a) Expresse o número de arestas de G em função de a e v.<br />

(b) Supondo a e v pares, G possui circuito euleriano Justifique.<br />

(c) Supondo a e v ímpares, G possui circuito euleriano Justifique.<br />

(d) Supondo a par e v ímpar, para que condições sobre a e/ou v, G tem um caminho<br />

euleriano<br />

(e) Determine em função de a e v o número de caminhos de comprimento 29 que<br />

começam em algum vértice azul (não especificado).<br />

10. Seja G o grafo com 8 vértices, numerados por 1, 2, 3, 4, 5, 6, 7, 8, em que todos os<br />

vértices estão ligados entre si (inclusive a si mesmos). Quantos caminhos de comprimento<br />

1000 existem entre 2 e 5 Existem ciclos eulerianos nesse grafo Justifique.<br />

11. O complemento de um grafo simples G(V,E) é um grafo simples H(V,F) no qual existe<br />

uma aresta entre dois vértices se e só se não existe uma aresta entre os mesmos vértices<br />

em G. Mostre que o complemento de um grafo bipartido 1 não é necessariamente<br />

bipartido.<br />

12. Considere um grafo sem laços de n vértices rotulados de 1 a n de modo que existe<br />

uma aresta ligando um vértice i a um vértice j se e só se i + j ≤ n + 1.<br />

(a) Considerando n ímpar, expresse, em função de n, o número de arestas desse<br />

grafo.<br />

(b) Considerando n par, determine o número de caminhos de comprimento 2 do<br />

vértice n 2 ao vértice n 2 + 1.<br />

1 Um grafo simples é chamado bipartido se seus vértices podem ser divididos em dois conjuntos disjuntos<br />

(isto é, sem pontos em comum) U e V de modo que toda aresta do grafo liga um vértice de U a<br />

um vértice de V.<br />

Página 3 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

13. Um grafo tem vértices com três graus possíveis: 1, 2, ou 3. Sejam V 1 , V 2 e V 3 o<br />

número de vértices com cada grau, e A o número de arestas, que é múltiplo de 3.<br />

Prove ou exiba um contra-exemplo das seguintes afirmações:<br />

(a) O número de vértices com grau que não é múltiplo de 3 é por sua vez múltiplo<br />

de três.<br />

(b) V 1 + 2V 2 é múltiplo de 3.<br />

14. Considere um grafo dado pelos quatro vértices de um quadrado A, B, C e D, no<br />

sentido anti-horário. Seja X o número de caminhos de comprimento 1000 juntando<br />

A a C, e Y o número de caminhos ligando A a B de comprimento 999. Encontre uma<br />

relação entre X e Y.<br />

15. Um barqueiro B precisa transportar uma cabra C, um lobo L e uma sacola de repolho<br />

R de um lado de um rio para o outro. Como o barco dele é pequeno, só pode levar<br />

no máximo um dos três (C, L ou R). Por razões óbvias ele não pode deixar C<br />

e L juntos ou C e R juntos. O que ele deve fazer Dica: Se quiser represente as<br />

possíveis situações assim: posição inicial: BCLR/ ; posição final: /BCLR. As outras<br />

são: LR/BC , BLR/C, R/BCL, BCR/L, L/BCR, BCL/R, C/BLR, BC/LR. As<br />

situações proibidas são: CLR/B, CL/RB, CR/LB etc. . . Monte um grafo com<br />

arestas do tipo BLR/C – R/BLC (indicando que B atravessa o rio com L) e ache<br />

caminhos de BCLR/ a / BCLR.<br />

16. Uma definição do (famoso) grafo de Petersen é: os vértices são rotulados pelos dez<br />

pares de números 01, 02, 03, 04, 12, 13, 14, 23, 24 e 34. Para cada par de vértices<br />

{i, j}, {k, l} que não tem um algarismo em comum tem uma aresta. Logo temos 15<br />

arestas: 01/23, 01/24, 01/34, 02/13, 02/14, 02/34, etc ... até 12/34, 13/24, e 14/23.<br />

Desenhe o grafo. Mostre que o grafo é o mesmo que os seguintes grafos:<br />

Dica: No primeiro ache um ciclo de nove arestas e encaixe as outras 6 arestas.<br />

Página 4 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

17. Mostre que: se G é um grafo onde todo vértice tem grau 2 e G é conexo, então G é<br />

um ciclo.<br />

18. Mostre que em qualque grafo, o número de vértices com grau impar é par.<br />

Árvores<br />

19. Prove que as seguintes definições de árvores para um grafo G com n vértices são todas<br />

equivalentes:<br />

(a) G é conexo e não tem cíclo.<br />

(b) G não tem cíclo, e um ciclo é formado se qualquer aresta for adicionada a G.<br />

(c) G é conexo, e deixará de ser conexo se qualquer aresta for removida de G.<br />

(d) G é conexo e há exatamente um caminho entre dois vértices quaisquer.<br />

(e) G é conexo e tem n − 1 arestas.<br />

(f) G não tem cíclo e tem n − 1 arestas.<br />

20. Mostre que em qualquer árvore a média dos graus é menor que 2 e maior que 1 se há<br />

mais de uma aresta.<br />

21. Sejam g 1 , g 2 , . . . , g n inteiros positivos. Prove que os g’s são os graus de uma árvore<br />

se, e somente se, ∑ g = 2A, onde A é o número de arestas.<br />

22. Mostre (por indução) que se d j são n inteiros todos ≥ 1 e tais que a soma dos d j é<br />

2n − 2, então existe uma árvore tal que os d j são os graus dos vértices da árvore.<br />

23. Prove que todo grafo conexo com n vértices e pelo menos n arestas tem um cíclo (isto<br />

é, um caminho fechado).<br />

24. As parafinas (ou alcanos) são moléculas compostas de átomos de carbono C e hidrogênio<br />

H. Nos alcanos normais (ou lineares), os átomos de carbono são conectados<br />

a quatro átomos, e os átomos de hidrogênio a apenas um átomo de forma a criar uma<br />

árvore. Mostre, por indução sobre n, que se um alcano normal tem n > 0 átomos de<br />

carbono, ele tem 2n + 2 átomos de hidrogênio.<br />

25. Falso ou verdadeiro Mostre, se verdadeiro ou exibe um contra-exemplo, caso falso.<br />

(a) Seja G = (V, A) um grafo simples sem laço com n vértices numerados de 1 a<br />

n e tal que existe uma aresta em G unindo um vértice i a um vértice j se e<br />

só se |i − j| ≤ 2: G = ({1, . . . , n} , {{i, j} , |i − j| ≤ 2}). Este grafo possui um<br />

caminho Euleriano.<br />

(b) Todo grafo conexo bipartido é uma árvore.<br />

26. Seja G = (V, A) uma árvore com n ≥ 2 vértices. Mostre que, se G não tem nenhum<br />

vértice de grau 2 na árvore, então existem mais vértices de grau 1 do que vértices de<br />

grau maior ou igual a 3: # {v ∈ V, gr(v) = 1} > # {v ∈ V, gr(v) ≥ 3}.<br />

(Dica: pode usar sobre a soma dos graus dos vértices de G.)<br />

Página 5 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

27. Seja G = (V, A) uma árvore com n ≥ 2 vértices.<br />

(a) Mostre que existe pelo menos dois vértices v 1 da árvore com grau 1: gr(v 1 ) = 1.<br />

(Dica: pode usar o resultado sobre a soma dos graus dos vértices de G.)<br />

Seja v M ∈ V o vértice da árvore G com o maior grau. Anotamos gr(v M ) = k.<br />

(b) Exibe um grafo com n = 6 e k = 5.<br />

(c) Mostre que k < n.<br />

(d) Mostre, por indução sobre k, que existem pelo menos k vértices com grau 1:<br />

# {v ∈ V, gr(v) = 1} ≥ k.<br />

(e) Mostre usando a fórmula dos graus que existem pelo menos k vértices com grau<br />

1: # {v ∈ V, gr(v) = 1} ≥ k.<br />

(f) Mostre sem usar indução e sem a fórmula dos graus que existem pelo menos k<br />

vértices com grau 1: # {v ∈ V, gr(v) = 1} ≥ k.<br />

28. Seja A uma árvore com n vértices. Coloque os números de 1 a n nos vértices de duas<br />

maneiras diferentes, obtendo duas árvores rotuladas. Mostre que é possível passar de<br />

uma para a outra por uma seqüência de trocas de números ligados por uma aresta<br />

comum.<br />

29. Uma árvore é um grafo conexo que não tem ciclos. Considere uma árvore com pelo<br />

menos um vértice.<br />

(a) Mostre por absurdo que existe um vértice de grau 1.<br />

(b) Mostre por indução, supondo o item anterior, que uma árvore com n vértices<br />

tem n-1 arestas.<br />

30. Seja G uma floresta com V vértices e C componentes conexas. Ache uma fórmula<br />

para A.<br />

31. Desenhe todas as árvores com 6 vértices ou menos. Quantas árvores diferentes existem<br />

(supondo que não rotulamos os vértices)<br />

Solução: Fazendo os desenhos, vemos que existem 14 árvores: 1 com 1 vértice,<br />

1 com 2 vértices, 1 com 3 vértices, 2 com 4 vértices, 3 com 5 vértices, e 6 com 6<br />

vértices. Por exemplo, as de 6 vértices são as seguintes:<br />

(O seguinte fato pode ser útil: toda árvore com n + 1 vértices pode ser obtida<br />

acrescentando uma aresta a uma árvore com n vértices.)<br />

Página 6 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

32. Você quer adivinhar um número entre 0 e 127 que alguém pensou. A única pergunta<br />

possível é do tipo “o número pensado é maior ou igual a x”, cuja resposta pode ser<br />

sim ou não. Se o número pensado foi 104, qual é a seqüência de perguntas que você<br />

tem que fazer em sua pesquisa binária<br />

Matriz de adjacência<br />

33. Verdadeiro ou falso Justifique sua resposta!<br />

(a) Seja G um grafo com pelo menos 2 vértices, e seja A a sua matriz de adjacência.<br />

Então G é conexo se e somente se existe um inteiro n ≥ 1 tal que todas as<br />

entradas da matriz A n são números diferentes de 0.<br />

Solução: Falso. A condição “existe n tal que todas as entradas da matriz A n<br />

são diferentes de 0” é equivalente a “podemos ligar quaisquer dois vértices<br />

(possivelmente iguais) por um caminho de comprimento fixo n”. Existem<br />

grafos conexos que não têm essa propriedade. Por exemplo, se G é o grafo<br />

com dois vértices ligados por uma aresta então A =<br />

( ) 1 0<br />

n é ímpar e A n = se n é par.<br />

0 1<br />

( 0 1<br />

1 0<br />

)<br />

. Aí A n = A se<br />

(b) Existe um grafo simples (sem laços, sem arestas múltiplas) com 10 vértices cujos<br />

graus são 1, 1, 1, 2, 3, 3, 4, 6, 7, 9.<br />

(c) Se um grafo tem 10 vértices e 50 arestas então ele não é simples (isto é, contém<br />

algum laço ou alguma aresta múltipla).<br />

Solução: Se um grafo com 10 vértices é simples, então ele pode ter no<br />

máximo ( )<br />

10<br />

2 = 45 arestas. Mas o grafo em questão tem 50 arestas, logo não<br />

pode ser simples. VERDADEIRO.<br />

Página 7 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

34. Quais das seguintes matrizes é a matriz de adjacência é um grafo simples não orientado<br />

Porque<br />

⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

⎤<br />

0 1 0 0 1<br />

0 1 1 1 1<br />

0 1 0 1 0<br />

1 0 1 0 0<br />

1 0 1 1 1<br />

1 0 1 0 1<br />

(a)<br />

⎢ 0 0 0 1 0<br />

⎥ (b)<br />

⎢ 1 1 0 1 1<br />

⎥ (c)<br />

⎢ 0 1 0 1 0<br />

⎥<br />

⎣ 0 0 1 0 1 ⎦ ⎣ 1 1 1 0 1 ⎦ ⎣ 1 0 1 1 0 ⎦<br />

1 0 0 1 0<br />

1 1 1 1 0<br />

0 1 0 0 0<br />

35. Falso ou verdadeiro Justifique suas respostas.<br />

(a) É possível construir um grafo conexo regular2 de grau ímpar com um número<br />

ímpar de vértices.<br />

⎛<br />

⎞<br />

0 1 1 1 0<br />

1 0 1 0 0<br />

(b) Seja a matriz A =<br />

⎜ 1 1 0 1 1<br />

⎟<br />

⎝ 1 0 1 0 1 ⎠ a matriz de adjacência3 de um grafo<br />

0 0 1 1 0<br />

simples. Este grafo tem um ciclo euleriano 4 .<br />

36. Seja G um grafo orientado, e seja A a sua matriz de adjacência orientada.<br />

(a) O que podemos afirmar sobre G se A tem uma linha formada apenas por zeros<br />

Solução: Existe um vértice do qual não há nenhuma aresta saindo.<br />

(b) O que podemos afirmar sobre G se A tem uma coluna formada apenas por zeros<br />

Solução: Existe um vértice do qual não há nenhuma aresta entrando.<br />

2 Um grafo é chamado regular se todos os vértices têm o mesmo grau (que é então chamado o grau do<br />

grafo)<br />

3 Uma matriz quadrada de ordem n A é dita matriz de adjacência de um grafo (não orientado) simples<br />

G de n vértices se cada elemento a ij de A é igual a 1 se existe uma aresta unindo o vértice i ao vértice j<br />

e é igual a zero, caso contrário.<br />

4 Um ciclo (ou circuito) euleriano é um caminho que possa por todas as arestas do grafo uma única<br />

vez e retorna ao ponto de partida.<br />

Página 8 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

37. Suponha que A é a matriz de adjacência de um certo grafo. Sabendo que<br />

⎛<br />

4 3<br />

⎞<br />

5<br />

A 3 = ⎝3 4 5⎠ ,<br />

5 5 7<br />

determine:<br />

(a) a quantidade de caminhos de comprimento 3 saindo do vértice 1;<br />

Solução: A quantidade de caminhos de comprimento k saindo de um vértice<br />

i e terminando em um vértice j é a entrada de A k na linha i e coluna j.<br />

Portanto a resposta procurada é a soma das entradas na primeira linha, isto<br />

é, 4 + 3 + 5 = 12 caminhos.<br />

(b) a quantidade de caminhos de comprimento 6 saindo do vértice 2 e terminado no<br />

vértice 3.<br />

Solução: Temos que calcular a entrada da linha 2 e coluna 3 da matriz A 6 .<br />

Como A 6 = A 3 · A 3 , a resposta é 3 × 5 + 4 × 5 + 5 × 7 = 70.<br />

38. Considere a matriz de adjacência M G de um grafo simples G não orientado com n<br />

vértices, com coeficientes 1 na posição i,j se tiver uma aresta entre os vértices i,j ;<br />

coeficiente −grau(i) na posição diagonal i,i ; e 0 nos outros casos.<br />

Pode-se observar que o M G U n = 0·U n , onde U n é um vetor com todas as componentes<br />

iguais a 1. Ou seja, U n é um autovetor da matriz M G associado ao autovalor 0.<br />

Prove que se o grafo G é desconexo, então existe um segundo autovetor, não múltiplo<br />

de U n , associado ao autovalor 0. Explicite o autovetor em questão em função dos<br />

vértices de cada componente. (Pode-se considerar que uma componente conexa de G<br />

tem vértices v 1 , v 2 , . . . , v k , e os outros vértices de G seriam v k+1 , . . . , v n .)<br />

Página 9 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

Árvores geradoras<br />

39. Explique em palavras o algoritmo de Dikjstra para encontrar o caminho mínimo entre<br />

dois pontos de um grafo cujas arestas têm comprimentos dados.<br />

40. Prove ou dê um contra-exemplo da seguinte afirmação: Uma árvore geradora de peso<br />

mínimo dá o caminho mínimo entre cada par de vértices do grafo.<br />

41. Descreva o algoritmo de Prim. Explique onde ele atua, o que ele deve obter, como<br />

começa, qual é a parte do algoritmo que se repete e quando termina.<br />

42. Aplique os algoritmos de Kruskal e Prim nos seguintes grafos:<br />

⎡<br />

⎤ ⎡<br />

⎤ ⎡<br />

0 5 0 8 4 0 0 0 0 1 2 3<br />

5 0 6 6 9 7<br />

0 0 0 2 3 4<br />

(a)<br />

0 6 0 0 5 7<br />

⎢ 8 6 0 0 8 0<br />

(c)<br />

0 0 0 3 4 5<br />

(e)<br />

⎢<br />

⎥ ⎢ 1 2 3 0 0 0<br />

⎣<br />

⎥<br />

⎣ 4 9 5 8 0 3 ⎦ ⎣ 2 3 4 0 0 0 ⎦<br />

0 7 7 0 3 0 3 4 5 0 0 0 ⎡<br />

(b)<br />

⎡<br />

⎢<br />

⎣<br />

0 1 0 0 3 2<br />

1 0 3 2 0 0<br />

0 3 0 4 0 3<br />

0 2 4 0 1 0<br />

3 0 0 1 0 4<br />

2 0 3 0 4 0<br />

⎤<br />

⎡<br />

⎥ (d)<br />

⎢<br />

⎦ ⎣<br />

0 4 2 0 5<br />

4 0 3 2 2<br />

2 3 0 4 0<br />

0 2 4 0 1<br />

5 2 0 1 0<br />

⎤<br />

⎥<br />

⎦<br />

(f)<br />

⎢<br />

⎣<br />

0 2 2 4 1<br />

2 0 3 4 4<br />

2 3 0 3 5<br />

4 4 3 0 5<br />

1 4 5 5 0<br />

0 5 4 3 2<br />

5 0 10 6 3<br />

4 10 0 10 4<br />

3 6 10 0 5<br />

2 3 4 5 0<br />

43. No grafo abaixo, os vértices representam cidades, as arestas representam estradas, e<br />

os números indicam os valores de pedágio:<br />

⎤<br />

⎥<br />

⎦<br />

⎤<br />

⎥<br />

⎦<br />

A<br />

2<br />

5<br />

4<br />

B<br />

C<br />

2<br />

6<br />

D<br />

3<br />

5<br />

6<br />

2<br />

5<br />

F<br />

2<br />

3<br />

E<br />

G<br />

3<br />

4<br />

3 I 6<br />

2<br />

H<br />

5<br />

1<br />

J<br />

(a) Encontre uma árvore que contenha os caminhos mais econômicos da cidade A às<br />

demais cidades. Indique também quanto custa chegar em cada cidade partindo<br />

de A.<br />

Solução: Aplicando o algoritmo de Dijkstra, tomamos arestas na seguinte<br />

ordem: AB, AD, AC, DF , BE, F G ↔ F H ↔ F I, HJ, Obtemos a árvore<br />

mínima em relação ao vértice A (os números indicam distâncias=custos):<br />

Página 10 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

B2<br />

A0<br />

D4<br />

E7<br />

C5<br />

F6<br />

H9<br />

I9<br />

J14<br />

G9<br />

Obs:Aqui a solução é única.<br />

(b) A árvore obtida no item anterior serve como guia de trajetos mais econômicos<br />

partindo de alguma outra cidade Qual/quais<br />

Solução: Não. Para provar isso, temos que verificar que para toda cidade<br />

x ≠ A existe pelo menos alguma cidade y tal que a custo de ir de x a y<br />

permanecendo na árvore é maior que o custo mínimo. Uma possível escolha<br />

desses y’s é<br />

x B C D E F G H I J<br />

y F D C F E H G H I<br />

Exemplo: se x = B então para y = F o custo pela árvore é 8 enquanto o<br />

custo mínimo é 7 (caminho B → E → F ).<br />

44. Seja o grafo simples com 6 vértices A, B, C, D, E, F , e arestas com os seguintes<br />

comprimentos:<br />

AB = 3, AC = 1, AD = 4, AE = 1, AF = 5.<br />

BC = 9, BD = 2, BE = 6, BF = 5, CD = 3.<br />

CE = 5, CF = 8, DE = 9, DF = 7, EF = 9.<br />

Aplique o algoritmo de Dijkstra e encontre uma árvore mínima em relação ao vértice<br />

A. Dê também a distância de cada vértice a A.<br />

Solução: A árvore contendo uma aresta ligando A a cada uma dos outros vértices<br />

é uma solução A árvore é obtida acrescentando arestas na seguinte ordem: AC,<br />

AE, AB, AD (CD poderia ter sido escolhida aqui), AF . A distância de A aos<br />

vértices A − F é respectivamente 0, 3, 1, 4, 1, 5.<br />

Página 11 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

45. Dado um grafo G = (V, A) simples não orientado, com peso d : A → R + , conexo,<br />

com n vértices e n arestas.<br />

(a) Mostre que G tem um ciclo. (Poderá usar as definições vistas na aula.)<br />

Anotaremos este ciclo por (v 0 , v 1 , . . . , v k = v 0 ) com {v i , v i+1 } ∈ A para i ∈ {0 . . . k−1},<br />

e G ′ o grafo extraído de G com vértices V ′ = {v 0 , v 1 , . . . , v k } e com arestas A ′ =<br />

{<br />

{vi , v i+1 }, 0 ≤ i < k } (ou seja, G ′ é apenas o ciclo).<br />

Seja (V ′ , A ′ \ { {v j , v j+1 } } ) uma árvore geradora de peso mínimo de G ′ (ou seja a<br />

árvore mínima foi obtida removendo a aresta {v j , v j+1 }).<br />

(b) Mostre que (V, A \ { {v j , v j+1 } } ) é uma arvore geradora de peso mínimo de G.<br />

46. Seja G um grafo simples não orientado e valorado (com peso) com 8 vértices. A<br />

tabela abaixo (matriz de adjacência) indica o peso das arestas de G:<br />

v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8<br />

v 1 3 5 8 1<br />

v 2 3 2 1<br />

v 3 5 2 1 2<br />

v 4 1 4<br />

v 5 8 4 6 1<br />

v 6 1 6 5<br />

v 7 1 5 1<br />

v 8 2 1 1<br />

(a) Construa uma árvore de extensão mínima obtida com o algoritmo de Kruskal.<br />

(b) Construa uma árvore obtida com o algoritmo de Dijkstra que represente um caminho<br />

mínimo do vértice v 6 aos demais vértices de G. Dê o valor das “distâncias”<br />

obtidas deste vértice v 6 aos demais vértices do grafo.<br />

(c) Considere que d(x, y) é a menor distância do vértice x ao vértice y em G. Sabendo<br />

que d(2, 7) = 1, d(2, 8) = 2 e d(7, 8) = 1, implemente o problema do<br />

carteiro neste grafo e apresente um ciclo Euleriano de peso mínimo determinando<br />

o seu peso. Justifique os passos do seu algoritmo.<br />

47. Seja o grafo cujos vérices são as palavras:<br />

CAO, GATO, ZEBRA, COELHO, RATO, BARATA<br />

e tal que para qualquer par de palavras existe uma aresta que os liga, que tem<br />

comprimento igual ao número de letras diferentes que estão em uma palavra sem<br />

estar na outra. Por exemplo, a aresta COELHO–ZEBRA tem comprimento 8, pois<br />

há 8 letras diferentes que estão em uma palavra sem estar na outra: C, O, L, H, Z,<br />

B, R, A.<br />

Aplique o algoritmo de Dijkstra e encontre uma árvore mínima em relação ao vértice<br />

CAO. Dê também a distância de cada vértice ao CAO.<br />

Página 12 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

A<br />

2<br />

C<br />

15<br />

3<br />

6<br />

E<br />

T<br />

10<br />

R<br />

12<br />

15<br />

11<br />

J<br />

10<br />

V<br />

3<br />

5<br />

G<br />

12<br />

9<br />

I<br />

7<br />

1<br />

B<br />

2<br />

8<br />

P<br />

S<br />

O<br />

48. (a) Existe um caminho Euleriano no grafo da figura acima Justifique.<br />

(b) Apresente o resultado do algoritmo de Kruskal no grafo da figura acima com as<br />

arestas selecionadas, indicando do lado a ordem na qual foram selecionadas.<br />

(c) Apresente o resultado do algoritmo de Prim no grafo da figura acima, começando<br />

da aresta {BP } com as arestas selecionadas, indicando do lado a ordem na qual<br />

foram selecionadas.<br />

(d) Apresente o resultado do algoritmo de Dijkstra partindo do vértice B no grafo<br />

da figura acima, indicando o menor caminho de B a cada um dos outros vértices<br />

e a ordem na qual os vértices do grafo foram conquistados.<br />

(e) Apresente o resultado do algoritmo de Dijkstra partindo do vértice A no grafo<br />

da figura acima, indicando o menor caminho de A a cada um dos outros vértices<br />

e a ordem na qual os vértices do grafo foram conquistados.<br />

49. Encontre um grafo com pesos nas arestas para o qual os algoritmos de Dikjstra e<br />

Kruskal dêem origem a duas árvores diferentes. Apresente seu argumento aplicando<br />

os algoritmos no grafo.<br />

50. Use algoritmos de Kruskal e Prim nos grafos abaixo para encontrar uma árvore<br />

mínima indicando a ordem em que as arestas são acrescentadas.<br />

Página 13 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

51. Observe o grafo G valorado abaixo:<br />

(a) Construa uma árvore obtida com o algoritmo de Dijkstra que represente um<br />

caminho mínimo do vértice 4 aos demais. Dê o valor das ”distâncias”obtidas<br />

deste vértice (4) aos demais.<br />

(b) Implementando o problema do Carteiro neste grafo, apresente um ciclo euleriano<br />

de custo mínimo e determine o custo deste ciclo.<br />

(c) A conectividade (ou conectividade de vértices) de um grafo pode ser definida<br />

como o menor número de vértices cuja remoção desconecta o grafo (cada vez<br />

que se remove um vértice de um grafo, todas as arestas adjacentes a ele também<br />

são removidas). Determine, justificando, a conectividade do grafo acima.<br />

52. O grafo abaixo mostra o custo (em R$ milhões) de ligar várias cidades por um oleoduto.<br />

Ache um sistema de oleodutos que ligue todas (grafo conexo) minimizando o<br />

custo total.<br />

Página 14 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

53. Observe o grafo G valorado abaixo.<br />

v 1<br />

3<br />

v 3<br />

3<br />

v 2<br />

2<br />

2<br />

v 4<br />

1<br />

2<br />

5<br />

4<br />

2<br />

3<br />

1<br />

v v 5 7<br />

v 8<br />

2<br />

2<br />

v 6<br />

(a) Construa uma árvore obtida com o algoritmo de Prim, indicando a ordem em<br />

que as arestas foram inseridas.<br />

(b) Construa uma árvore obtida com o algoritmo de Dijkstra que represente um<br />

caminho mínimo do vértice v 4 aos demais. Dê o valor das “distâncias” obtidas<br />

deste vértice v 4 a todos os outros vértices de G.<br />

Caminhos Eulerianos / Hamiltonianos<br />

54. Seja G conexo com exatamente dois vértices de grau impar. Mostre que existe um<br />

caminho ligando os dois vértices que passa exatamente uma vez por cada aresta de<br />

G. Dica: Crie uma nova aresta ligando V e W .<br />

55. Ache um ciclo que passa pelo menos uma vez por cada aresta com o menor comprimento<br />

possível no grafo seguinte:<br />

Página 15 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

56. Considere o grafo:<br />

1<br />

5<br />

6<br />

7<br />

2<br />

8<br />

4<br />

3<br />

(a) Decida se este grafo possui um ciclo euleriano ou um caminho euleriano, justificando<br />

sua resposta. Apresente o ciclo ou caminho, caso exista.<br />

(b) Considerando que o peso de cada aresta (x, y) é dado por x + y, apresente uma<br />

árvore obtida com o algoritmo de Dijkstra que represente um caminho mínimo<br />

do vértice 5 aos demais vértices. Dê o valor das “distâncias” obtidas deste vértice<br />

aos demais.<br />

57. Considere um grafo G=(V,E) não orientado com 7 vértices tal que:<br />

∀i, j ∈ V, {i, j} ∈ E ⇔ mdc(i, j) = 1 ∧ i ≠ j.<br />

(a) Determine o número de arestas de G.<br />

(b) Determine o número de caminhos de comprimento 3 em G do vértice 3 para o<br />

vértice 4.<br />

(c) Decida se este grafo possui um ciclo euleriano ou um caminho euleriano e<br />

apresente-o.<br />

58. Seja G o grafo com 8 vértices, numerados por 1, 2, 3, 4, 5, 6, 7, 8, em que todos os<br />

vértices estão ligados entre si (inclusive a si mesmos). Quantos caminhos de comprimento<br />

1000 existem entre 2 e 5 Existem ciclos eulerianos nesse grafo Justifique,<br />

claro.<br />

59. Falso ou verdadeiro Justifique suas respostas.<br />

(a)<br />

É possível construir um grafo simples conexo regular de grau ímpar com um<br />

número ímpar de vértices.<br />

(b) Uma matriz A, quadrada de ordem n é dita matriz de adjacência de um grafo<br />

simples G se G tem n vértices e cada elemento a ij de A é igual a 1 se existe uma<br />

aresta unindo o vértice i ao vértice j e é igual a zero, caso contrário. Seja<br />

⎡<br />

A =<br />

⎢<br />

⎣<br />

0 1 1 1 0<br />

1 0 1 0 0<br />

1 1 0 1 1<br />

1 0 1 0 1<br />

0 0 1 1 0<br />

a matriz de adjacência de um grafo. Este grafo tem um ciclo Euleriano<br />

⎤<br />

⎥<br />

⎦ .<br />

Página 16 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

60. Considere uma família de grafos G i (V i , E i ). V i é o conjunto dos vértices de G i definidos<br />

pelos pontos do R 2 de coordenadas inteiras entre 0 e i. E i é o conjunto das<br />

arestas de G i de tal modo que se u é uma aresta que une os vértices P e Q de G i<br />

então as coordenadas de P e Q diferem de uma unidade, em uma e somente uma<br />

coordenada, conforme os exemplos abaixo.<br />

(0,0) <br />

G1 <br />

(0,0) <br />

G2 <br />

(a) Quantos vértices e quantas arestas possui o grafo G 5 <br />

(b) Generalize, em função de i o número de vértices e arestas do grafo G i .<br />

(c) Para que valor(es) de i, G i é um grafo euleriano Justifique.<br />

(d) Quando G i não é euleriano, quantas arestas, em função de i devo acrescentar<br />

para torná-lo euleriano<br />

61. Sejam a, v inteiros positivos. Considere o grafo simples com a + v vértices, sendo<br />

a deles azuis e v vermelhos, tal que que existe uma aresta ligando dois vértices se e<br />

somente se eles são de cores diferentes. Para quais valores de a e v existe caminho<br />

Euleriano (fechado ou não) neste grafo (Dica: ver questão 9).<br />

Solução: Para existir caminho Euleriano, é necessário e suficiente que o número<br />

de vértices de grau ímpar seja 0 ou 2. O grafo em questão tem a vértices de grau<br />

v e v vértices de grau a. Portanto, as possibilidades são exatamente as seguintes:<br />

• ou a e v são pares;<br />

• ou a é ímpar e v = 2;<br />

• ou v é ímpar e a = 2;<br />

• ou a = v = 1.<br />

Página 17 de 19.


<strong>Grafos</strong> Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

62. Considere o grafo da figura a seguir.<br />

(a) Construa uma árvore obtida com o algoritmo de DIJKSTRA que represente um<br />

caminho mínimo do vértice v 3 aos demais vértices de G.<br />

(b) Complete a tabela com as distâncias do vértice v 3 aos demais vértices do grafo<br />

obtidas por este algoritmo.<br />

v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8<br />

Distâncias de v 3 a. . .<br />

(c) Seja d(x, y) a distância mínima entre os vértices x e y. Sabendo que d(6, 7) = 10;<br />

d(6, 8) = 7 e d(7, 8) = 5, implemente o problema do CARTEIRO neste grafo e<br />

apresente um ciclo de menor peso possível que contenha cada aresta pelo menos<br />

uma vez.<br />

Página 18 de 19.


Matemática <strong>Discreta</strong> <strong>2011.2</strong><br />

<strong>Grafos</strong><br />

Coloração / Planaridade<br />

63. Seja G um grafo simples com 8 vértices A, B, . . . , H e arestas com “pesos” (ou “comprimentos”)<br />

de acordo com a tabela abaixo (onde entradas vazias correspondem a<br />

arestas inexistentes):<br />

(a) G não é 2-colorível. Justifique.<br />

A B C D E F G H<br />

A 3 5 8 1<br />

B 3 2 1<br />

C 5 2 1 2<br />

D 1 4<br />

E 8 4 6 1<br />

F 1 6 5<br />

G 1 5 1<br />

H 2 1 1<br />

(b) G é 3-colorível. Apresente uma coloração que justifique esta afirmação.<br />

(c) Aplique o algoritmo de Dijkstra e obtenha uma árvore contendo caminhos mínimos<br />

do vértice F aos demais vértices de G.<br />

Sua resposta deve conter:<br />

• o desenho da árvore;<br />

• a distância de cada vértice a F ;<br />

• a ordem segundo a qual as arestas surgiram no algorítmo de Djikstra.<br />

(d) Solucione o problema do carteiro neste grafo, isto é, encontre um caminho fechado<br />

pasando por todas as arestas com menor peso possível. Qual é esse peso<br />

Justifique os passos do seu algoritmo.<br />

Na sua resposta, use a notação de “palavra” para descrever um circuito; por<br />

exemplo a palavra AEF A representa o circuito com arestas AE, EF , F A, nessa<br />

ordem.<br />

64. Mostre que o grafo da esquerda (3 casa + 3 utilidades) não pode ser desenhado no<br />

plano sem interseções de arestas. Dica: Se fosse possível, teríamos o grafo do meio.<br />

Ligando A2 e 1L temos o grafo da direita. Agora não tem com ligar 3 e G. Justifique!<br />

Página 19 de 19.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!