EXERCÍCIOS RESOLVIDOS DE TEORIA DOS GRAFOS - LISTA II 1.) Escreva a matriz de adjacências dos grafos abaixo:
a)
SOLUÇÃO 5
⎛ 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 ⎠
2 4
1
3
b) SOLUÇÃO
1
2
⎛ 0 1 ⎜ ⎜1 0 ⎜1 0 ⎜ M = ⎜0 1 ⎜0 0 ⎜ ⎜0 1 ⎜ ⎝ 0 1
3
4 5
6
7
1
0
0
0
0 ⎞
0
1
0
1
1⎟
0
0
1
1
3
SOLUÇÃO ⎛ 0 ⎜ ⎜1 M = ⎜ 0 ⎜ ⎜ ⎝ 0
2 4
1
1⎟
⎟ 0 0 0 1 0⎟ ⎟ 1 0 0 0 1 ⎟ 1 1 0 0 1⎟ ⎟ 1 0 1 1 0 ⎠
c) 1
⎟
1
1
1
1
0 ⎞
⎟
0
1⎟ 0 1⎟
0
0
⎟
0 ⎠⎟
2.) Desenhe os grafos correspondentes as matrizes de adjacência abaixo: a)
SOLUÇÃO
⎛ 0 1 0 0 ⎜ ⎜1 0 1 0 ⎜0 1 1 1 M = ⎜ ⎜0 0 1 0 ⎜0 0 0 0 ⎜ ⎜ ⎝ 0 0 0 0
0
0 ⎞
0
0⎟
0 0 0 2
Como a matriz M é simétrica, o grafo correspon dente não é necessariamente direcionado. Apresentamos abaixo uma das soluções possíveis
⎟
3
0⎟
1
⎟ 0⎟ ⎟ 2 ⎟ 0 ⎠⎟
2
5
6
b)
4
SOLUÇÃO Como a matriz M não é simétrica, o grafo cor respondente é necessariamente direcionado. Apresentamos abaixo uma das soluções possíveis.
⎛ 0 1 1 0 0 ⎞ ⎜ ⎟ 0 0 0 0 0 ⎜ ⎟ ⎜ M = 0 0 1 1 0⎟ ⎜ ⎟ ⎜0 0 1 0 2 ⎟ ⎜ ⎟ ⎝ 1 0 0 0 0 ⎠
1
2
4 3
5
3.) Desenhe o grafo não-direcionado cuja matriz de adjacência na sua forma triangular inferior é dada por: ⎛ 2 ⎜ ⎜1 0 M = ⎜ 0 1 1 ⎜⎜ ⎝ 0 1 2
⎞ ⎟ ⎟ ⎟ ⎟ 0 ⎠⎟
SOLUÇÃO A matriz matriz M na sua sua forma forma completa é dada por: ⎛ 2 1 0 0 ⎞
⎜ ⎜1 0 1 M = ⎜ 0 1 1 ⎜ ⎜ ⎝ 0 1 2
⎟ 1 ⎟ 2⎟ ⎟ 0 ⎠⎟
1
2
Assim, uma das soluções possíveis é:
2
3
4
4.) Descreva o grafo cuja matriz de adjacência é uma matriz identidade de ordem n? SOLUÇÃO ⎧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
o grafo em questão é forma-
n nós desconexos, com um laço em cada nó.
5.) Descreva a matriz de adjacência de K n (grafo simples completo com n nós). SOLUÇÃO Tomemos por exemplo K 4. 1
2
⎛ 0 1 1 1 ⎞ ⎜ ⎟ 1 0 1 1 ⎜ ⎟ M = ⎜ 1 1 0 1⎟ ⎜⎜ ⎟⎟ ⎝ 1 1 1 0 ⎠
4
3
Generalizando, podemos dizer que, a matriz de K n , é uma matriz quadrada M de ordem ⎧0 se i = j M = (a i j ) n x n tal que : a i j = ⎨ ⎩1 se i ≠ j
n tal que:
6.) Dada uma matriz de adjacência A de um grafo direcionado G, descreva o grafo representa do pela matriz At (matriz transposta de A) SOLUÇÃO Para ilustrar a resolução, vamos utilizar o seguinte grafo: cuja matriz de adjacência é:
1
2
⎛ 0 ⎜ M = ⎜1 ⎜ ⎝ 0
3
Observando agora que:
0
1 ⎞
0
0 ⎟ 0 ⎠⎟
1
⎟
corresponde ao grafo: 1
⎛ 0 1 ⎜ Mt = ⎜0 0 ⎜ ⎝ 1 0
0 ⎞
⎟
1 ⎟ 0 ⎠⎟
2
3
podemos concluir que o grafo correspondente a matriz de adjacência M t ( matriz de adjacência transposta de um grafo G) pode ser obtido, invertendo as direções dos arcos de G.
3
4.) Construa a lista de adjacências dos grafos abaixo: 1
2
3
4 5
6
a)
7
SOLUÇÃO 1
2
3
2
1
4
6
7
3
1
5
6
7
4
2
6
5
3
7
6
2
3
4
7
7
2
3
5
6
b) SOLUÇÃO 2 1 4
1
2
2
3
3
4
5
6
3 4
6
5
5 6
O bserve que foram necessários, apenas, 16 locais de armazenagem para a lista de adjacências. Já a matriz de adjacência iria exigir 36 locais de armazenagem.
4
c) SOLUÇÃO 1 1
2
3
2
4
2
3
4
2
4
1
1
3
1
1
3 1 2
3 2
2
4
5.) Utilize o algorítmo de Welch-Powell para colorir os grafos abaixo e determine o seu número cromático. a) 1
2 5
3
4
SOLUÇÃO Algoritmo de Welch-Powell 1º PASSO (ordenar os vértice s 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
OBSERVAÇÕES IMPORTANTES
1
O teorema de Appel-Haken garante que todo grafo planar simples e conexo é 4-colorizável.
2 5
3
Já o grafo em questão (K 5 ) que como sabemos não é planar é 5-colorizável, e χ (K 5 ) = 5 De forma geral:
4
χ (K n )
5
=n
b) 4
1
5
2
3
SOLUÇÃO 4
1
ALGORÍTMO: 1º PASSO: 5 – 1 – 2 – 3 – 4 2º PASSO (cor C1, azul): nó 5 3º PASSO (cor C2, amarela): nós 1 e 3 4º PASSO (cor C3, vermelha): nós 2 e 4 Assim o grafo grafo é 3-colorizável e χ (G) = 3
5
2
3
c) 1
2
3
6
5
9
4
7
10
11
8
12
SOLUÇÃO
1
2
3
4
ALGORÍTMO: 6
5
9
10
7
11
1º PASSO: 6–7–2–3–5–8–10–11–1– 4–9–12 2º PASSO (cor vermelha): nós 6, 3, 8, 11, 1 e 9 3º PASSO (cor azul): nós 7, 2, 5, 10, 4 e 12 Assim o grafo é 2-colorizável e χ (G) = 2
8
12
6
d) C
B
D
A E
F H G
SOLUÇÃO C
B
ALGORÍTMO:
D
1º PASSO: A – B – E – F – H – D – G – C 2º PASSO (cor vermelha): nós A, D, C 3º PASSO (cor azul): nós B, E, G 4º PASSO (cor azul): nós F, H Assim o grafo é 3-colorizável e χ (G) = 3
A E
F H G
e) D
C
E
B
F
A
G
H
SOLUÇÃO D
C
E
B
ALGORÍTMO: 1º PASSO: B – F – A – C – E – G – D – H 2º PASSO (cor vermelha): nós B, G 3º PASSO (cor amarela): nós F, C 4º PASSO (cor azul): nós A, D, H 5º PASSO (cor branca): nó E Assim o grafo é 4-colorizável e χ (G) = 4
F
A
G H
7
Para os exercícios a seguir considere as seguintes definições: Um grafo G se diz atravessável (tem um caminho de Euler) quando apenas dois de seus nós tem grau ímpar. Os caminhos atravessáveis atravessáveis precisam co meçar em um nó ímpar e terminar no outro. um circuito circuito de Euler) se se todos os seus nós tem grau par. ► Um grafo G se diz euleriano (tem um O circuito de Euler pode começar (e terminar) em qualquer nó. ►
6.) Verifique se os grafos abaixo são atravessavéis ou eulerianos. No caso do grafo ser atravéssável identifique um caminho de Euler; No caso do grafo ser euleriano identifique um circuito de Euler. a) 1
2
7
3
8
6
4
5
SOLUÇÃO O grafo em questão é atravessável, pois possui apenas dois nós í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
7
2
3
4
6
5
O grafo em questão é euleriano, pois não existem nós ímpares. Assim ele possui 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
B
E
C
D
SOLUÇÃO O grafo em questão é euleriano, pois não existem nós ímpares. Assim ele possui 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
F
C
E
D
SOLUÇÃO Como existem mais do que dois nós ímpares (no caso seis, e lembre-se que o número de nós ím pare s em em um um gra grafo fo é sem sempr pree par par)) o graf grafo o em em que quest stão ãonão é atravessável ( não existe um caminho de Euler ) nem euleriano ( não exis te um circuito de Euler ).
7.) Nos grafos a seguir aplique o algoritmo de Dijkstra. Dij kstra. Forneça a cada passagem pelos laços WHILE e FOR os valores do conjunto IN bem como d(z) e s(z). Ao final f inal da execução do algoritmo, escreva os nós do caminho mínimo bem como a distância total percorrida. a) Construa o caminho mínimo do nó 2 para o nó 5, no seguinte grafo: 2
3
2 1
1
3 5 1
2 1
7
8
8
4 1
1
5
6
4
6
5
9
SOLUÇÃO FASE DE INICIALIZAÇÃO INICIALIZAÇÃO IN = { 2 }
d(z) s(z)
1
2
3
4
5
6
7
8
3 2
∞
2 2
∞
∞
∞
∞
2
2
2
1 2
–
2
1ª PASSAGEM PELOS LAÇOS “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
d(z) s(z)
(3 , 1 + d(7,1) ) = min (3 , 1 + ∞ ) = 3 (2 , 1 + d(7,3) ) = min (2 , 1 + ∞ ) = 2 ( ∞ , 1 + d(7,4) d(7,4) ) = min ( ∞ , 1 + ∞ ) = ∞ ( ∞ , 1 + d(7,5) d(7,5) ) = min ( ∞ , 1 + ∞ ) = ∞ ( ∞ , 1 + d(7,6) d(7,6) ) = min ( ∞ , 1 + 5) = 6 (♣) ( ∞ , 1 + d(7,8) d(7,8) ) = min ( ∞ , 1 + 1) = 2 (♣)
1
2
3
4
5
6
7
8
3 2
∞
2 2
∞
∞
2
2
6 7
1 2
2 7
–
2ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 3 (escolha arbitrária entre os nós 3 e 8 com menor menor d(z) ) IN = { 2 , 7 , 3 } d (1) d (4) d (5) (5) d (6) d (8)
= = = = =
min min min min min min
d s
(3 , 2 + d(3,1) ) = min (3 , 2 + 5) = 3 ( ∞ , 2 + d(3,4) d(3,4) ) = min ( ∞ , 2 + 1) = 3 (♣) ( ∞ , 2 + d(3, d(3,5) 5) ) = min min ( ∞ , 2 + ∞ ) = ∞ (6, 2 + d(3,6) ) = min (6 , 2 + ∞ ) = 6 (2, 2 + d(3,8) ) = min (2 , 2 + 2) = 2
1
2
3
4
5
6
7
8
3 2
∞
2 2
3 3
∞ 2
6 7
1 2
2 7
–
3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 8 ( menor d(z) ) IN = { 2 , 7 , 3 , 8 } d (1) d (4) d (5) (5) d (6)
d s
= = = =
min 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, d(8,5) 5) ) = min min ( ∞ , 2 + 1) = 3 (♣) (6, 2 + d(8,6) ) = min (6 , 2 + ∞ ) = 6
1
2
3
4
5
6
7
8
3 2
∞
2 2
3 3
3 8
6 7
1 2
2 7
–
10
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 5 ( escolha arbitrária entre os nós 1 , 4 e 5 com menor menor d(z); entretanto, como a entrada do nó 5 em IN encerra a execução 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
2
3
4
5
6
7
8
3 2
∞
2 2
3 3
3 8
6 7
1 2
2 7
–
CAMINHO MÍNIMO 5 , s(5) = 8 , s(8) = 7 , s(7) = 2 Assim o caminho mínimo é: 2–7–8–5 e a distância correspondente é: d = 1+1+1 = 3
b) Construa o caminho mínimo do nó A para o nó E no seguinte grafo: E
1
4 A
B 1
1
F 1
1
2
3
C
2
D
SOLUÇÃO FASE DE INICIALIZAÇÃO IN = { A }
d(z) s(z)
A
B
C
D
E
F
∞
1 A
3 A
∞
∞
∞
A
A
A
–
1ª PASSAG PASSAGEM EM PELOS PELOS LAÇOS LAÇOS “WHILE” ILE” E “FOR” “FOR” p = B ( menor d(z) ) IN = { A , B } d (C) d (D) (D) d (E) (E) d (F)
= = = =
min min min min min min
(3 , 1 + d(B,C) ) = min (3 , 1 +1) = 2 (♣) ( ∞ , 1 + d(B, d(B,D) D) ) = min min ( ∞ , 1 + ∞ ) = ∞ ( ∞ , 1 + d(B, d(B,E) E) ) = min ( ∞ , 1 + ∞ ) = ∞ ( ∞ , 1 + d(B,F) ) = min ( ∞ , 1 + 1) = 2 (♣)
11
d(z) s(z)
A
B
C
D
E
F
∞
1 A
2 B
∞
∞
A
A
2 B
–
2ª PASSAGEM PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = C ( escolha arbitrária entre os nós C e F com menor d(z) ) IN = { A , B , C } d (D) = mi m in ( ∞ , 2 + d(C,D) ) = m in ( ∞ ,2 + 2) = 4 (♣) d (E) (E) = min ( ∞ , 2 + d(C, (C,E) ) = min min ( ∞ ,2 + 4) = 6 (♣) d (F) = min ( 2 , 2 + d(C,F) ) = min ( 2 , 2 + ∞ ) = 2
d(z) s(z)
A
B
C
D
E
F
∞
1 A
2 B
4 C
6 C
2 B
–
3ª PASSAGEM PELOS LAÇOS “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
C
D
E
F
∞
1 A
2 B
4 C
3 F
2 B
–
4ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = E (menor d(z) ) IN = { A , B , C , F , E } d (D) = mi n (4 , 3 + d(E,D) d(E,D) ) = min (4 , 3 + 1) = 4
d(z) s(z)
A
B
C
D
E
F
∞
1 A
2 B
4 C
3 F
2 B
–
CAMINHO MÍNIMO E , s(E) = F , s(F) = B , s(B) = A Assim o caminho mínimo é: A–B–F–E e a distância correspondente é: d = 1+1+1 = 3
12
c) Construa o caminho mínimo do nó 1 para o n ó 7 no segu inte grafo : 2 1
2 1
3 3
1
5
2 1
1
1
2
6
4
3
1 7
SOLUÇÃO FASE DE INICIALIZAÇÃO INICIALIZAÇÃO IN = {1}
d(z) s(z)
1
2
3
4
5
6
7
∞
2 1
∞
∞ 1
2 1
∞
1
3 1
–
1
1ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 2 ( escolha arbritária entre os nós 2 e 6 com menor d(z) ) IN = { 1 , 2 } d (3) d (4) d (5) d (6) d (7) (7)
= = = = =
d(z) s(z)
min min min min min min
( ∞ , 2 + d(2,3) ) = min ( ∞ , 2 +1) = 3 (♣) ( ∞ , 2 + d(2,4) 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, d(2,7) 7) ) = min min ( ∞ , 2 + ∞ ) = ∞
1
2
3
4
5
6
7
∞
2 1
3 2
∞
3 1
2 1
∞
–
1
1
2ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 6 (menor d(z) ) IN = { 1 , 2 , 6 } d (3) = mi min ( ∞ , 2 + d(6,3) ) = mi min ( ∞ , 2 + ∞ ) = ∞ d (4) = min ( ∞ , 2 + d(6,4) d(6,4) ) = min ( ∞ , 2 + ∞ ) = ∞ d (5) = min (3 , 2 + d(6,5) ) = min (3 , 2 + ∞ ) = 3 (CUIDADO! : observe que há conexão do nó 5 para o nó 6, mas não há conexão do nó 6 para o nó 5) d (7) = min ( ∞ , 2 + d(6,7) d(6,7) ) = min ( ∞ , 2 + 3) = 5 (♣)
d(z) s(z)
1
2
3
4
5
6
7
∞
2 1
3 2
∞
3 1
2 1
5 6
–
1
13
3ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 3 (es (esco colh lhaa arbi arbitr trári áriaa entre entre os nós nós 3 e 5 com com o menor nor d(z) d(z) ) IN = { 1 , 2 , 6 , 3 } d (4) (4) = min min ( ∞ , 3 + d(3, d(3,4) 4) ) = min 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
3
4
5
6
7
∞
2 1
3 2
4 3
3 1
2 1
5 6
–
4ª PASSAGEM PELOS LAÇOS “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
3
4
5
6
7
∞
2 1
3 2
4 3
3 1
2 1
5 6
–
5ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 4 (m enor 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
3
4
5
6
7
∞
2 1
3 2
4 3
3 1
2 1
5 6
–
6ª PASSAGEM PELOS LAÇOS “WHILE” E “FOR” p = 7 (menor d(z) ) IN = { 1 , 2 , 6 , 3 , 5 , 4 , 7 }
d(z) s(z)
1
2
3
4
5
6
7
∞
2 1
3 2
4 3
3 1
2 1
5 6
–
CAMINHO MÍNIMO 7 , s(7) = 6 , s(6) = 1 Assim o caminho mínimo é: 1–6–7 e a distância correspondente é: d = 2 + 3 = 5
14