Algoritmos em Grafos
Conceitos principais
Prof. André Renato
1º Semestre / 2012
O que é um grafo?Um grafo G(V,E) é um conjunto
finito não-vazio de V e um conjunto E de pares não ordenados de elementos distintos de V.
Os elementos de V são denominados vértices e os elementos de E são denominados arestas.
A ordem de um grafo é a cardinalidade do conjunto de vértices V.
ConceitosCada aresta e E pode ser
representada pelos vértices (v1,v2) que a formam.
Os vértices v1 e v2 são chamados de extremos da aresta e. Também são classificados como adjacentes.
A aresta e é dita incidente a v1 e v2.
Duas arestas que possuam um extremo em comum são ditas adjacentes.
ConceitosUm subgrafo G2(V2,E2) de um
grafo G1(V1,E1) é um grafo tal que V2 V1 e E2 E1.
Se além disso, G2 possuir toda aresta (v,w) de G1 de forma que ambos v e w estejam em G2, este é considerado induzido pelo conjunto de vértices V2.
Conceitos1 2
3
4 5
1 2
3
4
1 2
3
4
ConceitosNormalmente um grafo pode ser
visualizado através da sua representação geométrica, na qual os vértices são representados por pontos (ou pequenos círculos) e as arestas por linhas que conectam estes pontos.
ConceitosComo desenhar um grafo?
◦O único cuidado que devemos ter para representar corretamente um grafo é preservar a correta relação de arestas com os seus respectivos vértices incidentes.
ConceitosIsomorfismo:
◦Dadas duas representações geométricas distintas, correspondem elas ao mesmo grafo?
◦É possível fazer coincidir os vértices de duas representações de modo a preservar as relações de adjacência?
◦Em caso afirmativo, os grafos são chamados de isomorfos entre si.
ConceitosIsomorfismo:
1 2 3 4
5678
b
f c
a
g
d
eh
i
j
k
p
onm
l
ConceitosExistem arestas cujos extremos
sejam o mesmo vértice?
Sim; estas arestas são chamadas de laços (loopback).
Aplicações????
...
...
ConceitosPode existir grafos com mais de
uma aresta incidente aos mesmos vértices?
Sim; neste caso, o grafo é chamado de multigrafo. As arestas são chamadas de paralelas.
Aplicações???
ConceitosUma aresta e, incidente a v1 e
v2, provê uma relação reflexiva entre estas vértices. Ou seja, v1 está conectado a v2 da mesma forma que v2 está conectado a v1.
Uma aresta onde esta propriedade reflexiva não esteja preservada é pode ser chamada de arco e normalmente é representada por uma seta.
v1 v2
ConceitosNeste caso a relação de v1 para
v2 é distinta da relação de v2 para v1.
Grafos que possuam arcos são chamados de grafos direcionados (digrafos); os demais, de grafos não-direcioanados.
Uma aresta e = (v1,v2) pode ser entendida como um par de arcos (v1,v2) e (v2,v1).
v1 v2 v1 v2
ConceitosGrau de um vértice v:
◦é a quantidade total de arestas incidentes a v;
◦Em grafos direcionados, existem o grau de entrada e o grau de saída;
◦Grau de entrada: é a quantidade de arcos que chegam a v;
◦Grau de saída: é a quantidade de arcos que partem de v;
ConceitosGrau de um vértice v:
◦um vértice com grau de entrada zero é chamado de fonte;
◦um vértice com grau de saída zero é chamado de sumidouro;
ConceitosVértices que possuam grau igual a zero,
são chamados de desconexos.G será totalmente desconexo se não
possuir arestas.Um grafo será considerado conexo se e
somente se for possível sair de v e chegar a w, para todo par de vértices (v,w) do grafo. Será desconexo, caso contrário.
O grafo será fortemente conexo, se for possível sair de v, chegar a w e voltar a v, para todo par de vértices (v,w) do grafo.
Conceitos
Verificar!!!!
Vv
Evgrau ||2)(
ConceitosQual a quantidade mínima de
arestas um grafo deve ter para não ser desconexo?
Qual a quantidade máxima de arestas um grafo pode ter?
Considerar |V| = n e |E| = m.
ConceitosGrafos regulares são aqueles
em que todos os vértices possuem o mesmo grau.
ConceitosSeja G(V,E) um grafo conexo. Um corte de vértices de G é um subconjunto de vértices de G que, se forem removidos, tornam G desconexo.
É possível fazer uma analogia para um corte de arestas.
Conectividade de vértices e conectividade de arestas é a cardinalidade dos respectivos menores subconjuntos.
Conceitos1
42
3
5
76 8
2
5
76 8
1 1
42
3
5
76 8
• Seja um inteiro k positivo, diz-se que G é k-conexo em vértices (arestas) quando sua conectividade de vértices (arestas) é ≥ k.
• O primeiro grafo é 1-conexo em vértices, 1- e 2-conexo em arestas.• 2-conexo -> biconexo
ConceitosUma articulação é um vértice v
que, se removido, torna o grafo desconexo.
Uma ponte é uma aresta que causa o mesmo efeito.Componentes biconexos
(blocos)
ConceitosGrafos que possuam arestas
entre todos os pares de vértices de V são chamados de grafos completos.
Um grafo completo pode ser representado pela notação Kn, onde n é a ordem do grafo.
K5
ConceitosO complemento de um grafo
G(V,E) é em grafo G que possuam todos os vértices de V e todas as arestas que faltam a E para que G seja completo.
ConceitosClique é um subgrafo G2 de G1,
tal que G2 seja completo.Clique maximal é o subgrafo G2
de maior ordem possível. Ou seja, é o maior subgrafo completo de G1.
ConceitosEm um grafo G(V,E), uma partição é a divisão do conjunto V em dois ou mais subconjuntos com interseção vazia. A união desses subcojuntos deve resultar em V.
Além disso, as arestas de E só podem conectar vértices de subcojuntos distintos.
O caso mais usual é de grafos bi-partidos (bipartite).
Conceitos
ConceitosSeja um grafo G(V,E) e um
conjunto de cores C={ci}, uma coloração de G é uma atribuição de cores aos vértices de V, sem que vértices adjacentes tenham a mesma cor.
ConceitosUma k-coloração de G é uma
coloração que utiliza k cores. Diz-se que G é k-colorível.
O número cromático X(G) de um grafo G é o menor número de cores k, para o qual existe uma k-coloração.
ConceitosSeja G um grafo e R sua
representação geométrica. R é dita plana quando não houver cruzamento de linhas.
Um grafo que possuir pelo menos uma representação plana é chamado de planar.
ConceitosG é imersível em uma superfície
S se possuir uma representação R desenhada em S, tal que duas linhas não se cruzem.
Neste caso, as linhas dividem a superfície em faces. Existem sempre uma face não limitada chamada de externa.
f1f2
f3f4
ConceitosFórmula de Euler para poliedros:n + f = m +2Cada face é limitada por, no
mínimo 3 arestas. Cada aresta pertence a exatamente duas faces. Logo, 2m ≥ 3f.
Aplicando,m ≤ 3n -6, para que um grafo seja
planar.
ConceitosSe a um grafo G(V,E) for
associada uma função f:E=>R, diz-se que o grafo é ponderado em arestas.
Em outras palavras, cada aresta do grafo deve estar associada a um número real.
2 3
-1-0.5
ConceitosO valor associado a cada aresta é
chamado de peso da aresta.Uma aresta pode ter peso zero,
dependendo do problema relacionado.
Um grafo também pode ter pesos associados aos vértices. Neste caso, é denominado ponderado em vértices.
ConceitosGrafos que não possuam pesos,
são chamado de não-ponderados.
Dependendo do problema a ser estudado, valores específicos (pesos) podem ser dados a vértices e arestas.
Outro atributos também podem ser associados a estes elementos.
ConceitosSejam G1(V,E1) e G2(V,E2) dois
grafos que compartilham o mesmo conjunto de vértices, tal que E1 E2.
Um grafo G(V,E) é considerado grafo-sanduíche de (G1,G2) se E contiver E1 e estiver contido em E2.
ConceitosG1 G2
G G G G
G G G
AplicaçõesRoteamento
3
2
1
3 2 2
3
1
4
AplicaçõesEscalonamento
AplicaçõesRedes
1
3
2
10
3
2
4
3
2
2
1
53
2
Exercícios Identificar:
a) Ordem do grafo
b) Graus dos vértices
c) Dois isomorfos
d) Subgrafo induzido por {1,3,4,5,8}
e) Dois subgrafos não-induzidos por {2,4,6,7,8}
f) O grafo é conexo, fortemente conexo ou desconexo?
1
2
9
8
4
6
5
7
3
Exercícios Identificar:
a) Conectividade de vértices e arestas
b) Pontes e articulações
c) Dois blocos
d) Cliques de tamanho 3 ou maior
e) K-coloração (a menor possível)
f) Um subgrafo planar de ordem 5 ou maior
g) Complemento do grafo
1
2
9
8
4
6
5
7
3
Exercícios Desenhar todos os grafos sanduíche:
1
2
8
5
4
67
3
1
2
8
5
4
67
3