Você está na página 1de 14

EXERCCIOS RESOLVIDOS DE TEORIA DOS GRAFOS - LISTA II 1.

) Escreva a matriz de adjacncias dos grafos abaixo:

a)
5 2 4 1

SOLUO
1 1 0 0 2 1 1 1 1 1 M = 0 1 0 1 0 0 1 1 0 0 2 1 0 0 0

b)
1

SOLUO
0 1 1 0 0 1 0 0 1 0 1 0 0 0 1 M = 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0

2 4

c)
1 3

SOLUO 0 1 M = 0 0 1 1 1 1 0 0 0 0 0 1 1 0

2.) Desenhe os grafos correspondentes as matrizes de adjacncia abaixo: a) SOLUO Como a matriz M simtrica, o grafo correspon dente no necessariamente direcionado. Apresentamos abaixo uma das solues possveis
3 1 2

0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 M = 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2

0 0 0 0 2 0

b)
0 0 M = 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 2 0

SOLUO Como a matriz M no simtrica, o grafo cor respondente necessariamente direcionado. Apresentamos abaixo uma das solues possveis.
1 2

4 5 3

3.) Desenhe o grafo no-direcionado cuja matriz de adjacncia na sua forma triangular inferior dada por: 2 1 0 M = 0 1 1 0 1 2 0 SOLUO A matriz M na sua forma completa dada por: 2 1 0 0 1 0 1 1 M = 0 1 1 2 0 1 2 0 Assim, uma das solues possveis : 2

1 2 3 4

4.) Descreva o grafo cuja matriz de adjacncia uma matriz identidade de ordem n? SOLUO 1 se i = j Lembrando que: I n = (a i j ) n x n tal que : a i j = 0 se i j do por n ns desconexos, com um lao em cada n. o grafo em questo forma-

5.) Descreva a matriz de adjacncia de K n (grafo simples completo com n ns). SOLUO Tomemos por exemplo K 4. 1 0 1 1 1 1 0 1 1 M = 1 1 0 1 1 1 1 0

3 Generalizando, podemos dizer que, a matriz de K n , uma matriz quadrada M de ordem n tal que: 0 se i = j M = (a i j ) n x n tal que : a i j = 1 se i j
6.) Dada uma matriz de adjacncia A de um grafo direcionado G, descreva o grafo representa do pela matriz At (matriz transposta de A) SOLUO Para ilustrar a resoluo, vamos utilizar o seguinte grafo:
1

cuja matriz de adjacncia :


0 M = 1 0 0 0 1 1 0 0

Observando agora que:


0 Mt = 0 1 0 1 0

corresponde ao grafo:
1

1 0 0

podemos concluir que o grafo correspondente a matriz de adjacncia M t ( matriz de adjacncia transposta de um grafo G) pode ser obtido, invertendo as direes dos arcos de G. 3

4.) Construa a lista de adjacncias dos grafos abaixo:


1

2 4

a)

SOLUO
1 2 3 4 5 6 7 2 1 1 2 3 4 5 6 6 6 7 7

3 2

7 3 4 7

b) SOLUO
2 1 4 3
4 1 2 3 2 3 4 5 6

6 5

5 6

Observe que foram necessrios, apenas, 16 locais de armazenagem para a lista de adjacncias. J a matriz de adjacncia iria exigir 36 locais de armazenagem.

c) SOLUO
1
1 2 3 3 1

3 1 2 2 4

1
2

4 2 4 2

3 2

3 4

1 1

5.) Utilize o algortmo de Welch-Powell para colorir os grafos abaixo e determine o seu nmero cromtico. a)
1

2 5

SOLUO Algoritmo de Welch-Powell 1 PASSO (ordenar os vrtices em ordem decrescente de grau): 1 2 3 4 5 2 PASSO (atribuir a cor C1, no caso preta): n 1 3 PASSO (atribuir a cor C2, no caso vermelha): n 2 4 PASSO (atribuir a cor C3, no caso branca): n 3 3 PASSO (atribuir a cor C4, no caso amarela): n 4 3 PASSO (atribuir a cor C5, no caso azul): n 5
1

OBSERVAES IMPORTANTES O teorema de Appel-Haken garante que todo grafo planar simples e conexo 4-colorizvel.
5

J o grafo em questo (K 5 ) que como sabemos no planar 5-colorizvel, e (K 5 ) = 5 De forma geral:

(K n ) = n

b)
1 4

SOLUO

ALGORTMO: 1 PASSO: 5 1 2 3 4 2 PASSO (cor C1, azul): n 5 3 PASSO (cor C2, amarela): ns 1 e 3 4 PASSO (cor C3, vermelha): ns 2 e 4 Assim o grafo 3-colorizvel e (G) = 3
3

c)
1 2 3 4

10

11

12

SOLUO

ALGORTMO: 1 PASSO: 67235810111 4912 2 PASSO (cor vermelha): ns 6, 3, 8, 11, 1 e 9 3 PASSO (cor azul): ns 7, 2, 5, 10, 4 e 12 Assim o grafo 2-colorizvel e (G) = 2

10

11

12

d)
C B D

A E

F H G

SOLUO
C B D

A E

ALGORTMO: 1 PASSO: A B E F H D G C 2 PASSO (cor vermelha): ns A, D, C 3 PASSO (cor azul): ns B, E, G 4 PASSO (cor azul): ns F, H Assim o grafo 3-colorizvel e (G) = 3

F H G

e)
D C E

A H

SOLUO
D C E

A H

ALGORTMO: 1 PASSO: B F A C E G D H 2 PASSO (cor vermelha): ns B, G 3 PASSO (cor amarela): ns F, C 4 PASSO (cor azul): ns A, D, H 5 PASSO (cor branca): n E Assim o grafo 4-colorizvel e (G) = 4

Para os exerccios a seguir considere as seguintes definies: Um grafo G se diz atravessvel (tem um caminho de Euler) quando apenas dois de seus ns tem grau mpar. Os caminhos atravessveis precisam comear em um n mpar e terminar no outro. Um grafo G se diz euleriano (tem um circuito de Euler) se todos os seus ns tem grau par. O circuito de Euler pode comear (e terminar) em qualquer n. 6.) Verifique se os grafos abaixo so atravessavis ou eulerianos. No caso do grafo ser atravssvel identifique um caminho de Euler; No caso do grafo ser euleriano identifique um circuito de Euler. a)
1 2

SOLUO O grafo em questo atravessvel, pois possui apenas dois ns mpares: 2 e 3. Assim ele pos sui um caminho de Euler, que pode ser: 1 caminho: 2 1 8 7 6 5 8 2 3 2 caminho: 3 5 4 3 Caminho de Euler: 2 1 8 7 6 5 8 2 3 5 4 3 b)
1 9 8

O grafo em questo euleriano, pois no existem ns mpares. Assim ele possui um circuito de Euler, que pode ser: 1 circuito: 1 9 8 7 6 5 4 7 2 1 2 circuito: 9 2 4 3 7 9 Circuito de Euler: 1 9 2 4 3 7 9 8 7 6 5 4 7 2 1 8

c)
A

SOLUO O grafo em questo euleriano, pois no existem ns mpares. Assim ele possui um circuito de Euler, que pode ser: 1 circuito: A B C D E A 2 circuito: C A D B E C Circuito de Euler: A B C A D B E C D E A d)
A B

SOLUO Como existem mais do que dois ns mpares (no caso seis, e lembre-se que o nmero de ns mpares em um grafo sempre par) o grafo em questo no atravessvel ( no existe um caminho de Euler ) nem euleriano ( no existe um circuito de Euler ). 7.) Nos grafos a seguir aplique o algoritmo de Dijkstra. Fornea a cada passagem pelos laos WHILE e FOR os valores do conjunto IN bem como d(z) e s(z). Ao final da execuo do algoritmo, escreva os ns do caminho mnimo bem como a distncia total percorrida. a) Construa o caminho mnimo do n 2 para o n 5, no seguinte grafo:
2 1 3 5 1 8 1 6 7 1 8 1 5 6 4 2 4 2 3

SOLUO FASE DE INICIALIZAO IN = { 2 } d(z) s(z) 1 3 2 2 3 2 2 4 2 5 2 6 2 7 1 2 8 2

1 PASSAGEM PELOS LAOS WHILE E FOR p = 7 ( menor d(z) ) IN = { 2 , 7 } d (1) d (3) d (4) d (5) d (6) d (8) = = = = = = min min min min min min (3 , 1 + d(7,1) ) = min (3 , 1 + ) = 3 (2 , 1 + d(7,3) ) = min (2 , 1 + ) = 2 ( , 1 + d(7,4) ) = min ( , 1 + ) = ( , 1 + d(7,5) ) = min ( , 1 + ) = ( , 1 + d(7,6) ) = min ( , 1 + 5) = 6 () ( , 1 + d(7,8) ) = min ( , 1 + 1) = 2 () 1 3 2 2 3 2 2 4 2 5 2 6 6 7 7 1 2 8 2 7

d(z) s(z)

2 PASSAGEM PELOS LAOS WHILE E FOR p = 3 (escolha arbitrria entre os ns 3 e 8 com menor d(z) ) IN = { 2 , 7 , 3 } d (1) d (4) d (5) d (6) d (8) d s = = = = = min min min min min (3 , 2 + d(3,1) ) = min (3 , 2 + 5) = 3 ( , 2 + d(3,4) ) = min ( , 2 + 1) = 3 () ( , 2 + d(3,5) ) = min ( , 2 + ) = (6, 2 + d(3,6) ) = min (6 , 2 + ) = 6 (2, 2 + d(3,8) ) = min (2 , 2 + 2) = 2 1 3 2 2 3 2 2 4 3 3 5 2 6 6 7 7 1 2 8 2 7

3 PASSAGEM PELOS LAOS WHILE E FOR p = 8 ( menor d(z) ) IN = { 2 , 7 , 3 , 8 } d (1) d (4) d (5) d (6) d s = = = = min min min min (3 , 2 + d(8,1) ) = min (3 , 2 + ) = 3 (3, 2 + d(8,4) ) = min (3 , 2 + ) = 3 ( , 2 + d(8,5) ) = min ( , 2 + 1) = 3 () (6, 2 + d(8,6) ) = min (6 , 2 + ) = 6 1 3 2 2 3 2 2 4 3 3 10 5 3 8 6 6 7 7 1 2 8 2 7

4 PASSAGEM PELOS LAOS WHILE E FOR p = 5 ( escolha arbitrria entre os ns 1 , 4 e 5 com menor d(z); entretanto, como a entrada do n 5 em IN encerra a execuo do algoritmo, ele deve ser o escolhido). IN = { 2 , 7 , 3 , 8 , 5 } d (1) = min (3 , 3 + d(5,1) ) = min (3 , 3 + ) = 3 d (4) = min (3, 3 + d(5,4) ) = min (3 , 3 + 4) = 3 d (6) = min (6, 3 + d(5,6) ) = min (6 , 3 + 6) = 6 d s 1 3 2 2 3 2 2 4 3 3 5 3 8 6 6 7 7 1 2 8 2 7

CAMINHO MNIMO 5 , s(5) = 8 , s(8) = 7 , s(7) = 2 Assim o caminho mnimo : 2785 e a distncia correspondente : d = 1+1+1 = 3 b) Construa o caminho mnimo do n A para o n E no seguinte grafo:
E

4 A 1 1 3 B 1

F 1 2

SOLUO FASE DE INICIALIZAO IN = { A } d(z) s(z) A B 1 A C 3 A D A E A F A

1 PASSAGEM PELOS LAOS WHILE E FOR p = B ( menor d(z) ) IN = { A , B } d (C) d (D) d (E) d (F) = = = = min min min min (3 , 1 + d(B,C) ) = min (3 , 1 +1) = 2 () ( , 1 + d(B,D) ) = min ( , 1 + ) = ( , 1 + d(B,E) ) = min ( , 1 + ) = ( , 1 + d(B,F) ) = min ( , 1 + 1) = 2 () 11

d(z) s(z)

B 1 A

C 2 B

D A

E A

F 2 B

2 PASSAGEM PELOS LAOS WHILE E FOR p = C ( escolha arbitrria entre os ns C e F com menor d(z) ) IN = { A , B , C } d (D) = min ( , 2 + d(C,D) ) = min ( ,2 + 2) = 4 () d (E) = min ( , 2 + d(C,E) ) = min ( ,2 + 4) = 6 () d (F) = min ( 2 , 2 + d(C,F) ) = min ( 2 , 2 + ) = 2 d(z) s(z) A B 1 A C 2 B D 4 C E 6 C F 2 B

3 PASSAGEM PELOS LAOS WHILE E FOR p = F (menor d(z) ) IN = { A , B , C , F } d (D) = min (4 , 2 + d(F,D) ) = min (4 , 2 + 2) = 4 d (E) = min (6 , 2 + d(F,E) ) = min (6 , 2 + 1) = 3 () d(z) s(z) A B 1 A C 2 B D 4 C E 3 F F 2 B

4 PASSAGEM PELOS LAOS WHILE E FOR p = E (menor d(z) ) IN = { A , B , C , F , E } d (D) = min (4 , 3 + d(E,D) ) = min (4 , 3 + 1) = 4 d(z) s(z) A B 1 A C 2 B D 4 C E 3 F F 2 B

CAMINHO MNIMO E , s(E) = F , s(F) = B , s(B) = A Assim o caminho mnimo : ABFE e a distncia correspondente : d = 1+1+1 = 3 12

c) Construa o caminho mnimo do n 1 para o n 7 no seguinte grafo:


2 2 1 3 2 1 6 3 7 2 1 1 5 1 1 4 1 3

SOLUO FASE DE INICIALIZAO IN = {1} d(z) s(z) 1 2 2 1 3 1 4 1 5 3 1 6 2 1 7 1

1 PASSAGEM PELOS LAOS WHILE E FOR p = 2 ( escolha arbritria entre os ns 2 e 6 com menor d(z) ) IN = { 1 , 2 } d (3) d (4) d (5) d (6) d (7) = = = = = min min min min min ( , 2 + d(2,3) ) = min ( , 2 +1) = 3 () ( , 2 + d(2,4) ) = min ( , 2 + ) = (3 , 2 + d(2,5) ) = min (3 , 2 + ) = 3 (2 , 2 + d(2,6) ) = min (2 , 2 + ) = 2 ( , 2 + d(2,7) ) = min ( , 2 + ) = 1 2 2 1 3 3 2 4 1 5 3 1 6 2 1 7 1

d(z) s(z)

2 PASSAGEM PELOS LAOS WHILE E FOR p = 6 (menor d(z) ) IN = { 1 , 2 , 6 } d (3) = min ( , 2 + d(6,3) ) = min ( , 2 + ) = d (4) = min ( , 2 + d(6,4) ) = min ( , 2 + ) = d (5) = min (3 , 2 + d(6,5) ) = min (3 , 2 + ) = 3 (CUIDADO! : observe que h conexo do n 5 para o n 6, mas no h conexo do n 6 para o n 5) d (7) = min ( , 2 + d(6,7) ) = min ( , 2 + 3) = 5 () d(z) s(z) 1 2 2 1 3 3 2 4 1 13 5 3 1 6 2 1 7 5 6

3 PASSAGEM PELOS LAOS WHILE E FOR p = 3 (escolha arbitrria entre os ns 3 e 5 com o menor d(z) ) IN = { 1 , 2 , 6 , 3 } d (4) = min ( , 3 + d(3,4) ) = min ( ,3 + 1) = 4 () d (5) = min (3 , 3 + d(3,5) ) = min (3 , 3 + ) = 3 d (7) = min (5, 3 + d(3,7) ) = min (5 , 3 + ) = 5 d(z) s(z) 1 2 2 1 3 3 2 4 4 3 5 3 1 6 2 1 7 5 6

4 PASSAGEM PELOS LAOS WHILE E FOR p = 5 (menor d(z) ) IN = { 1 , 2 , 6 , 3 , 5 } d (4) = min (4 , 3 + d(5,4) ) = min (4 , 3 + ) = 4 d (7) = min (5 , 3 + d(5,7) ) = min (5 , 3 + 2) = 5 d(z) s(z) 1 2 2 1 3 3 2 4 4 3 5 3 1 6 2 1 7 5 6

5 PASSAGEM PELOS LAOS WHILE E FOR p = 4 (menor d(z) ) IN = { 1 , 2 , 6 , 3 , 5 , 4 } d (7) = min (5 , 4 + d(4,7) ) = min (5 , 4 + 1) = 5 d(z) s(z) 1 2 2 1 3 3 2 4 4 3 5 3 1 6 2 1 7 5 6

6 PASSAGEM PELOS LAOS WHILE E FOR p = 7 (menor d(z) ) IN = { 1 , 2 , 6 , 3 , 5 , 4 , 7 } d(z) s(z) 1 2 2 1 3 3 2 4 4 3 5 3 1 6 2 1 7 5 6

CAMINHO MNIMO 7 , s(7) = 6 , s(6) = 1 Assim o caminho mnimo : 167 e a distncia correspondente : d = 2+3 = 5 14