Teoria dos Grafos:
Representação, Isomor6ismos e
Conectividade
Matemá'ca Discreta II (Kenneth Rosen, Cap. 10)
Slides baseados no material da profa. Anjolina Grisi de Oliveira (Cin-‐UFPE)
Representação de Grafos
Embora seja conveniente a
representação de grafos através de
diagramas de pontos ligados por linhas,
tal representação é inadequada se
desejamos armazenar grandes grafos
em um computador.
Lista de adjacência
n Uma maneira simples de armazenar
grafos, é listando os vértices adjacentes a cada vértice do grafo;
u v, y
v u, y, w w v, x, y
x w, y
y u, v, w, x
Lista de adjacência em grafos
direcionado
• Tabela com vér'ces iniciais e finais (terminais);
Iniciais Terminais u u,v v w v x w,y y
Matriz de adjacência
• Se G é um grafo com vér'ces {1,2,3,...,n}, sua matriz de adjacência é a matriz n x n cujo elemento ij é o número de arestas ligando o vér'ce i ao vér'ce j;
Matriz de adjacência
• Se G é um grafo direcionado com vér'ces
{1,2,3,...,n}, sua matriz de adjacência é a matriz nxn cujo elemento ij é o 1 se existe uma arestas onde vi é o vér'ce inicial e vj é o vér'ce final.
• Se G é um mul'grafo direcionado com vér'ces {1,2,3,...,n}, sua matriz de adjacência é a matriz nxn cujo elemento ij é o número de arestas onde vi é o vér'ce inicial e vj é o vér'ce final.
A matriz de adjacência para grafos direcionados não é necessariamente simétrica.
Exercício
• Desenhe o grafo definido pela matriz de
adjacência abaixo:
Pseudografos
• ij é o número de arestas entre vi e vj
Matriz de Incidência
• Se G é um grafo com vér'ces {1,2,3,...,n} e arestas {1,2,3,...,m}, sua matriz de incidência é a matriz nXm cujo elemento ij é igual a
• 1 se a aresta ej é incidente ao vér'ce vi, ou
• 0, caso contrário.
Matriz de incidência
e1 e2 e3 e4 e5 e6 e7 u 1 1 0 0 0 0 0 v 0 1 1 0 0 0 1 w 0 0 1 1 1 0 0 x 0 0 0 0 1 1 0 y 1 0 0 1 0 1 1
Matriz de incidência
Arestas múltiplas são representadas usando colunas com entradas idênticas. Laços são representados usando colunas com
Isomor6ismo de Grafos
• Dois grafos simples G1 e G2 são isomorfos se existe
uma correspondência um a um entre os vér'ces (função f ) de G1 e G2, com a propriedade de que a e b são adjacentes em G1 se e somente se f(a) e
f(b) são adjacentes em G2, para todo a,b ∈ V1.
• A função f é chamada de isomorfismo.
a e b f c g d h f(a) = e f(b) = f f(c) = h f(d) = g
Isomor6ismo de Grafos
• Sejam dois grafos G1(V1,A1) e G2(V2,A2). Um isomorfismo de G1 sobre G2 é um mapeamento bije'vo f: V1 → V2 tal que {x,y} ∈ A1 se e somente se {f(x),f(y)}∈ A2, para todo x,y ∈ V1.
Função:
{(a→2), (b → 1), (c → 3), (d → 4), (e → 6), (f → 5)}
Isomor6ismo de Grafos
f(u) = azul, f(v) = lilás, f(w) = vermelho, f(x) =verde, f(y) = amarelo, f(z) = rosa
Isomor6ismo de Grafos
• Relação de equivalência: • Preserva:
• Simetria: G1 ≈ G2 ↔ G2 ≈ G1
• Reflexividade: G1 ≈ G1
• Transi'vidade: G1 ≈ G2 e G2 ≈ G3 ↔ G1 ≈ G3
n Proposições válidas se G1 ≈ G2 (invariantes)
– G1 e G2 têm o mesmo número de vértices; – G1 e G2 têm o mesmo número de arestas; – G1 e G2 têm os mesmos graus de vértices.
Invariantes na veri6icação do
isomor6ismo
• Invariantes são propriedades que devem ser
preservadas para dois grafos sejam isomorfos.
• Procurar invariantes pode ajudar na verificação do isomorfismo, já que não existe um algoritmo eficiente para verificar.
Veri6icação do isomor6ismo
• Podemos u'lizar matrizes de adjacência para
verificar se a função de isomorfismo f preserva a presença e ausência de arestas
Exercício
• Considere o par de grafos:
• Defina a função isomorfismo;
• Faça a matriz de adjacência.
Exercicio (cont.)
Aplicações
• Química (Quimioinformá'ca) • Comparação de estruturas moleculares • Eletrônica: • Verificação de modelagem decircuitos em chips
CONECTIVIDADE
Conectividade
• Caminho em um grafo não orientado
• Um caminho de tamanho n de u para v,
onde n é um inteiro positivo, em um grafo
não orientado é uma seqüência de arestas
e1,...,en do grafo de forma que f(e1) = {x0,x1}, f(e2) = {x1,x2}...f(en)={xn-1,xn}, onde x0=u e xn=v.
Se o grafo é simples, denotamos o caminho por sua seqüência de
vértices: x0, x1 ,...xn
Conectividade
• Caminho em um multigrafo direcionado
• Um caminho de tamanho n de u para v, onde n
é um inteiro positivo, em um multigrafo
direcionado é uma seqüência de arestas
e1,...,en do grafo de forma que f(e1) = {x0,x1}, f(e2) = {x1,x2}...f(en)={xn-1,xn}, onde x0=u e xn=v.
Quando não existem arestas múltiplas, o caminho pode ser denotado por uma
seqüência de vértices: (x2,
Conectividade
• Circuito ou ciclo
• Um caminho é um circuito se ele começa e
termina no mesmo vértice.
Circuito: x1,x2,x5,x4,x1
Exemplos de ciclos
Ciclo de tamanho 3
1 → 2 → 4 → 1 Ciclo de tamanho 3 1 → 2 → 3 → 1
Ciclo (ou circuito)
A seqüência de vértices
(x1, x2, x5, x4, x1)
é um exemplo de ciclo
Caminho (ou circuito) simples
n Um caminho ou circuito é chamado de simples se ele não contem a mesma aresta mais de uma vez.
Circuito: x1,x2,x5,x4,x1
Contra-exemplo: x1, x2,
x3, x2, x5, x4, x1
Conectividade
• Definição para grafos não orientados
• Um grafo não orientado é chamado de conexo (ou
conectado) se existe um caminho entre cada par de vértices distintos do grafo.
Em uma rede de computadores, quaisquer dois computadores podem se comunicar se e somente se o grafo da rede é conexo.
Trivia
• Alguns cien'stas afirmam que quase todos os
pares de pessoas no mundo estão separadas por um caminho curto (no máximo 6).
• hfp://en.wikipedia.org/wiki/Six_degrees_of_separa'on
• Filme: hfp://www.imdb.com/'tle/f0108149/
Grafo desconexo
n O grafo mostrado a seguir não é conexo pois, por exemplo, não existe um caminho entre x3 e x5.
Componente conexa
n Ou Componente conectadon Um grafo G(V,A) desconexo é formado por pelo menos dois subgrafos conexos, disjuntos em relação aos vértices;
n Cada um destes subgrafos conexos é dito ser uma componente conexa de G.
Vértice de corte (ou pontos de
articulação)
n Um vértice é dito ser um vértice de corte se sua remoção (juntamente com as arestas a ele conectadas) produz um grafo com mais componentes conexos. (se o grafo original é conexo, ele se torna desconexo).
X2 é um vértice de corte
Ponte
n Uma aresta é dita ser uma ponte se sua remoção produz um grafo com mais componentes conexos.
(X1,X4) é uma ponte
Conectividade de vértices
• Nem todo grafo possui vér'ces de corte.
• Por exemplo, Kn, onde n ≥3, não possui vér'ces de corte
• Quando removemos um vér'ce de Kn, e todas as
arestas incidentes a ele, o subgrafo resultante é o
grafo completo Kn-‐1.
• Tais grafos são chamados de grafos não separáveis
Conjunto separador / vértices
de corte
• Um subconjunto V’ do conjunto de vér'ces V de
G=(V,E) é um conjunto separador se G-‐V’é desconexo.
• A Conec'vidade de vér'ce de um grafo G é definido
por κ(G)
• κ(Kn) = n-‐1 (o número de vér?ces necessários para produzir um grafo com um único vér?ce)
{b,c,e} é um conjunto separador
Corte de arestas
• Analogamente, podemos definir um conjunto de
arestas E’ de um grafo G como um conjunto de arestas de corte se G-‐E’ é desconexo.
• A conec'vidade de aresta λ(G) denota o número
mínimo de arestas em tal conjunto.
Conectividade
• Grafo fortemente conectado/conexo
• No caso de grafos orientados (digrafos), um grafo é
dito ser fortemente conexose existe um caminho de
aparabe de bparaa, para cada par a,b de vértices
do grafo.
• Ou seja, se cada par de vértices participa de um
circuito.
• Isto significa que cada vértice pode ser alcançável
partindo-se de qualquer outro vértice do grafo.
Conectividade
• Grafo fracamente conectado/conexo
• Um grafo direcionado G(V,A) é chamado de
fracamente conexo se existe um caminho entre cada par de vértices no grafo não orientado subjacente. Cada um destes subgrafos é fortemente conexo. No entanto, o grafo todo é apenas fracamente conexo.
CAMINHOS E ISOMORFISMOS
• A existência de circuitos simples com um
tamanho n é uma invariante.
Caminhos e Isomor6ismo
Invariantes: 8 vértices 8 arestas Graus sao os mesmos
Circuito de tamanho 3 só existe na direita!
• Além disso, caminhos podem ser usados para
construir mapeamentos, que podem ser isomorfismos.
Caminhos e Isomor6ismo
Caminho 1: u1, u4, u3, u2, u5 Caminho 2: v3, v2, v1, v5, v4
• Teorema:
• Seja G um grafo cuja matriz de adjacência A usa a
seguinte ordem nos vér'ces: v1, v2, …, vn. A
quan'dade de caminhos diferentes de tamanho r de
vi para vj, onde r é um inteiro posi'vo é igual a ai,j
entrada da matriz Ar .
Contando caminhos entre vértices
Caminhos de a para d (tamanho 4): a,b,a,b,d a,b,a,c,d a,b,d,b,d a,b,d,c,d a,c,a,b,d a,c,a,c,d a,c,d,b,d a,c,d,c,d