Você está na página 1de 15

Produto Cartesiano

Sejam G1=(V1,E1) e G2=(V2,E2), define-se o grafo G1 G2, o seu


“produto cartesiano”, como o grafo cujo conjunto de vértices é V1×
V2, e u=(u1,u2) é adjacente a v=(v1,v2) quando u1=v1 e u2 é adjacente
a v2 (em G2) ou quando u2=v2 e u1 é adjacente a v1 (em G1).
Exemplo:

u2 v2 w2
G2

G1
(u1,u2) (u1,v2) (u1,w2)
u1
G1 G2
v1
(v1,u2) (v1,v2) (v1,w2)
Fibras
h
H

G H

v
G×h = Gh

Gh é uma G-fibra, é um subgrafo de G H isomórfico a


G. Analogamente temos as H-fibras como, por exemplo, vH.
Projeções
πG
G H G

Uma projeção é um função πG dos vértices de G H para os vértices


de G tal que a imagem de toda a H-fibra vH é v.
Homomorfismo Fraco

G H G

Claramente as projeções não são homomorfismos. Por quê?


Temos que (u1,v1)∼(u1,v1) então π(u1,v1)∼π(u1,v1) ou π(u1,v1)=π(u1,v1),
chamamos tal função de homomorfismo fraco.
Grafo de Linha
G L(G)

L(G) é o grafo cujos vértices são as arestas de G. Dois vértices são


adjacentes em L(G) se as arestas são adjacentes em G, i.e., se incidem
sobre um mesmo vértice.
Grafo de Linha
G L(G)

Único caso onde dois grafos não isomórficos possuem grafo de linha
isomórficos. Observe que em ambos os casos Aut(G) ≅ Aut(L(G)). Você
pode mostrar um caso onde isso não acontece?
Grafo de Linha
Aut(L(G)) são os chamados “automorfismos de arestas”. Em geral
Aut(G) ≅ Aut(L(G)) se e somente se G tem no máximo 1 vértice isolado
e não tem K2 como uma componente conexo.
Grafo de Linha
K3× K2 L(K3× K2)
a2
d
a2 b2 d e
a1 b1 c2
e
f a1 b2 c2
c1
f

b1 c1

Quais são os automorfismos de cada um dos grafos acima?


Grafo Vértice-Transitivo
K2 × K3

Um grafo é vértice-transitivo quando para quaisquer 2


vértices u e v, u = ϕ(v) para algum automorfismo ϕ.
Grafo Aresta-Transitivo
K1,3

Um grafo é aresta-transitivo quando para quaisquer 2 arestas a e


b, a = ϕ(b) para algum automorfismo ϕ.
Contrações
• Se “e” = xy é uma aresta de G=(V,E), então G/e é o grafo obtido
de G pela contração de “e” em um novo vértice ve, adjacente aos
vértices que eram adjacentes a x e y.
Representação de Grafos
•Matriz de adjacência (espaço n2)
•Lista de adjacências (espaço n+2m).

0101
1011
u1 u2 u3 0101
1110

u4 1 2 4
2 1 3 4
3 2 4
4 1 2 3
Percorrendo Grafo (BFS)

u1 u2 u4 u5 u7

u3 u6
Percorrendo Grafo (BFS)
1 for each vertex u _ V [G] - {s}
2 do color[u] ← WHITE
3 d[u] ← ∞
4 π[u] ← NIL
5 color[s] ← GRAY
6 d[s] ← 0
7 π[s] ← NIL
8Q←Ø
9 ENQUEUE(Q, s)
10 while Q ≠ Ø
11 do u ← DEQUEUE(Q)
12 for each v _ Adj[u]
13 do if color[v] = WHITE
14 then color[v] ← GRAY
15 d[v] ← d[u] + 1
16 π[v] ← u
17 ENQUEUE(Q, v)
18 color[u] ← BLACK
Percorrendo Grafo (BFS)
1 for each vertex u _ V [G] - {s} // O(V)
2 do color[u] ← WHITE
3 d[u] ← ∞
4 π[u] ← NIL
5 color[s] ← GRAY
6 d[s] ← 0
7 π[s] ← NIL
8Q←Ø
9 ENQUEUE(Q, s)
10 while Q ≠ Ø // O(E)
11 do u ← DEQUEUE(Q)
12 for each v _ Adj[u]
13 do if color[v] = WHITE
14 then color[v] ← GRAY
15 d[v] ← d[u] + 1
16 π[v] ← u
17 ENQUEUE(Q, v)
18 color[u] ← BLACK

Você também pode gostar