UNIPAR
Universidade Paranaense
Campus Sede Umuarama
Tópicos Especiais em
Tecnologia da Computação
(TETC)
GERSTING, Judith
Fundamentos Matemáticos para a Ciência da Computação
Editora LTC, 1995, São Paulo, Cap.5
Sistemas de Informação
4º SI
Grafos
Definição, Terminologia e
Conceitos Elementares
Professora Elaine Augusto Praça
Fevereiro/2008
O que é um grafo?
Um grafo é uma representação gráfica de
elementos de dados e das conexões entre
alguns destes itens.
 Uma árvore é um caso particular de grafo.
 Outros exemplos: interesse de
desempregados por vagas em empresas,
rotas de uma companhia aérea.

Qual a importância computacional
do uso dos grafos?
É bastante abrangente o uso de grafos na
computação em áreas como:
 Análise de planejamento de projetos
 Cibernética
 Redes de Computadores
 Circuitos Eletrônicos.

Qual a importância computacional?
Definição
Definição
Um grafo é uma tripla (N, A, g) em que:
N = um conjunto não vazio de vértices (nós
ou nodos)
A = um conjunto de arestas (arcos)
g = uma função que associa cada aresta a
a um par não-ordenado x-y de vértices
chamados extremos de a

Adjacência

Dois vértices são vértices adjacentes se
forem os extremos de uma mesma reta.
5
a2
a3
a1
1
2
a4
a5
3
a6
1e3
4
(a5)
Adjacência

Duas arestas que possuem um extremo
em comum são ditas arestas adjacentes.
5
a2
a3
a1
1
2
a4
a5
3
a6
A1 e a4
4
(2)
Laços

Um laço é uma
aresta com
extremos n-n para
algum nó n.
5
a3
a1
a4
a5
3
4
a1
1
2
a6
Um grafo que não
possui laços é
chamado grafo
sem laços. 5
a2
a2
1

2
a4
a3
(2-2)
a5
3
a6
4
Paralelismo

Duas arestas que tem os mesmos
extremos são ditas arestas paralelas.
5
a2
a3
a1
1
2
a4
a5
3
a6
A1 e a2
4
(1-2)
Grafo Simples

Vértice isolado
não é adjacente a
qualquer outro
vértice. 5
a2
a3
a1
1
2
5
4
a1
2
a4
a5
3
Um grafo
simples é um
grafo que não
tenha arestas
paralelas nem
laços.
5
1
a4
a6

a5
3
a6
4
Outros grafos

Diagramas com
arestas paralelas
e laços são
chamados de
pseudografos.

Diagramas com
arestas
paralelas são
chamados de
multigrafos.
Tipos de Grafos
Grafo
Multigrafo
Pseudografo
Tipos de Grafos

Grafos simples e multigrafos são pseudografos,
Grafo

Multigrafo
Pseudografo
Um vértice isolado não é adjacente a qualquer
outro vértice.
Grau


O grau de um vértice é número de arestas que
o tem como ponto extremo.
Como a função g relaciona cada aresta a seus
extremos, cada aresta tem um único par de
5
pontos extremos.
a2
a3
Vértice 1: grau 3
Vértice 5: grau 0
Vértice 2: grau 5
a1
1
2
a4
a5
g(a1)= 1-2; g(a6)= 3-4; g(a3)= 2-2
3
a6
4
Grafos completos
Um grafo completo é aquele no qual
todos os vértices distintos dois a dois são
adjacentes.
 Kn é um grafo completo com n vértices.
Exemplo: K4

Grafos Completos
 Exemplos
K2
Kn (grafos completos)
K3
K4
K5
a2
a3
Subgrafo

Um subgrafo de um
grafo consiste em um
conjunto de vértices e
um conjunto de
arestas que são
subconjuntos de
vértices e arestas
originais, nos quais os
extremos de qualquer
aresta são os mesmos
que no grafo original.
a1
1
2
a4
5
a5
a6
3
4
a1
1
2
a5
a4
4
3
a3
a4
3
2
a6
5
2
Grafos e subgrafos
1
4

G1, G2, G3, G4 e G5 são subgrafos
de G com os vértices V={1,2,3,4}.
1
1
4
4
3
3
G1
G2
2
G3
4
4
4
3
2
1
1
1
G
2
2
2
3
3
3
G4
G5
Grafos e subgrafos

O grafo G1 se destaca dos demais pois este
possui todas as arestas que estão no grafo
G. O grafo G1 é chamado de sub-grafo
induzido pelo conjunto de vértices {1,2,3,4}.
2
2
1
4
5
1
4
3
3
G
G1
Grafos e subgrafos
H e J são subgrafos induzidos de G
sobre os conjuntos Vh={1,3,4,5,6} e
Vj={6,1,5}.
Q não é um subgrafo induzido por
V={1,3,4,5,6} pois a aresta 1-4 não
faz parte do subgrafo.


6
6
5
4
1
2
3
G
5
6
4
1
1
6
J
5
5
4
1
3
H
3
Q
Grafos e subgrafos


Definições: 1- Dado um grafo G=(V, a) dizemos
que o grafo G1=(V1,a1) é um subgrafo de G se
V1 é um subconjunto de V (podendo ser igual a
V) e as arestas de a1 são um subconjunto das
arestas a.
2- Dizemos que G1 é um subgrafo induzido por
V1 se todas as arestas V1V2 de a tais que V1 e
V2 pertencem a V1 então V1V2 também
pertence a a1.
Desconectando um grafo

O grafo Q foi obtido do grafo P
removendo-se o vértice 4 e suas arestas
incidentes. P é conexo e Q é desconexo
com duas componentes conexas e 4 é o
vértice de corte.
2
2
6
6
3
3
1
4
P
5
5
1
7
Q
7
Desconectando um grafo

O grafo N foi obtido de M removendo-se a
aresta 3-4. O grafo M é conexo e N é
desconexo. A aresta 3-4 é chamada de
aresta de corte ou ponte.
2
6
3
1
2
3
4
M
6
5
1
4
N
5
Desconectando um grafo

Muitas vezes, para se desconectar um
grafo é necessário remover um ou mais
vértices ou arestas e um conjunto mínimo
de vértices que desconecta um grafo é
chamado de vértices de corte.

De modo análogo, temos arestas de corte.
Desconectando um grafo

Nas figuras abaixo as arestas {4-7,5-6} são
arestas de corte e este conjunto é mínimo
pois removendo-se apenas uma das arestas
o grafo não desconecta.
3
3
8
4
2
8
7
1
5
4
2
1
6
5
7
6
Desconectando um grafo

As arestas {4-7,5-6,6-7} também
desconectam o grafo, mas elas não são
consideradas arestas de corte, pois este
não é um subconjunto mínimo de corte, já
que existe o subconjunto {4-7, 5-6} contido
em {4-7, 5-6, 6-7} que desconecta o grafo.
3
4
2
3
8
2
7
1
5
8
4
7
6
1
5
6
Caminho

Um caminho é uma seqüência de vértices e
arestas, onde para cada i, os extremos da
aresta ai são ni-ni+1.
Alguns Caminhos
possíveis vértices 2-4=
a2
a3
2, a1, 1, a2, 2, a4, 3, a6, 4
a1
1
2
a4
a5
3
a6
5
Ou
2, a4, 3, a6, 4
4
Ou...
Comprimento
a2

O comprimento
de um caminho é o
número de arestas
que ele contém.
a3
a1
1
2
a4
a5
3
a6
4
Caminhos \ comprimento
2, a1, 1, a2, 2, a4, 3, a6, 4 ►comprimento 4
2, a4, 3, a6, 4 ►comprimento 2
5
Conexão

Um grafo é conexo se houver um caminho
entre quaisquer dois vértices.
a2
a1
1
a2
a3
2
a4
a5
a3
a1
1
2
a4
5
a5
3
a6
4
Não conexo
(vértice 5 isolado)
3
Conexo (caminhos
entre 2 vértices)
Ciclos


Um ciclo é um caminho de algum vértice n até
n de novo de forma que nenhum vértice ocorra
mais de uma vez no caminho.
Um grafo sem ciclos é dito grafo acíclico.
a2
a3
a1
1
2
a4
5
a5
3
a6
4
Ciclo: 1, a1, 2, a4, 3, a5, 1
5
4
Complemento

Denomina-se
complemento de um
grafo G(V,E) ao grafo G,
o qual possui o mesmo
conjunto de vértices do
que G tal que para todo
par de vértices distintos
v, w de V, tem-se que
(v,w) é aresta de G se e
somente se não o for de
G.
6
3
2
1
5
4
6
3
1
2
Grafos Regulares e Completos
Um grafo é dito regular se todos os seus
vértices possuem o mesmo grau.
 Um grafo é dito completo se existe uma
aresta ligando todos os pares de vértices.
 Exemplos de grafos regulares:

Grafos Regulares

Um grafo cujos vértices têm o mesmo
grau é chamado de grafo regular.
Grau 1
Grau 2
Grau 3
Grau 4
Grafos Regulares e Completos

Dado um grafo kn (grafo completo com n
vértices), este possui o número máximo
de arestas.

Cada vértice tem grau n-1, logo todo grafo
completo é necessariamente regular.
PRÁTICA 1 (219)
Trace um grafo que tenha:
 os vértices {1,2,3,4,5},
 as arestas {a1, a2, a3, a4, a5, a6}
 e a função
g(a1)= 1-2,
g(a2)= 1-3,
g(a3)= 3-4,
g(a4)= 3-4,
g(a5)= 4-5,
g(a6)= 5-5.

PRÁTICA 2 (219)



Encontre:
a - dois vértices que não sejam adjacentes;
b - um vértice que seja adjacente a ele mesmo;
c - um laço;
d - duas arestas paralelas;
e - o grau do vértice 3;
f - um caminho de comprimento 5;
g - um ciclo;
h - o complemento deste grafo.
Este grafo é completo?
Este grafo é conexo?
Grafos Isomorfos 07-06
paramos aqui
B
e1
C
a1
a2
A
1
D
e2
3
C
B
a2
A
a1
4
f1:
f2:
1→a
a1→e2
2 →b
a2 →e1
3 →c
D
2
4 →d
Grafos Isomorfos

Dois grafos podem parecer muito diferentes
em suas representações gráficas, mas
serem, ainda assim, o mesmo grafo de
acordo com nossa definição de grafo.

Os grafos apresentados anteriormente são
os mesmos, pois tem os mesmos vértices, as
mesmas arestas e a mesma função de
associação de arestas e seus extremos.
Grafos Isomorfos

Para mostrar que dois grafos são
isomorfos é preciso produzir novos
rótulos (por meio de uma função injetiva e
sobrejetiva) e então mostrar que a lista de
quais arestas conectam quais vértices é
preservada.
Grafos Isomorfos
Dados G1={V1, a1} e G2={V2, a2}:
V1={A, B,C,D}
a1={AC, CD, DA, AB, CB, DB}
V2 = {A1,A2,A3,A4}
a2 = {A1A2,A2A3,A3A4,A1A4,A2A4,A3A1}


Ambos possuem 4 vértices e 6 arestas.
Desenhe G1 e G2
Grafos Isomorfos


Se trocamos no gráfico G1:
A  A1 D  A3 C  A2 B  A4
Cada aresta de G1 será transformada em uma
aresta de G2
AC  A1A2
DA  A3A1
CD  A2A3
CB  A2A4
AB  A1A4
DB  A3A4
A1
B
C
A
D
G1
A3
A4
A2
G2
Grafos Isomorfos

Dados dois gráficos G1=(V1, a1) e G2=(V2, a2)
são ditos isomorfos se existe uma função 1-1
f: V1  V2
de modo que dois vértices quaisquer de V1,
A e B são adjacentes se e somente se f(A) e
f(B) são vértices adjacentes em V2.
Grafos Isomorfos

A função f(Ui)=Vi, i=1, 2...,6, faz
corresponder a cada aresta de G1 uma
aresta de G2 e reciprocamente.
U1
U6
U2
V1
V2
V6
V5
U3
U5
V3
V4
U4
Condições que garantem que dois
grafos não são isomorfos







Um grafo tem mais vértices que o outro;
Um grafo tem mais arestas que o outro;
Um grafo tem arestas paralelas e outro não;
Um grafo tem um laço e o outro não;
Um grafo tem um vértice de grau k e o outro
não;
Um grafo é conexo e o outro não;
Um grafo tem um ciclo e o outro não.
Grafos Isomorfos
PRÁTICA 6 (222): Os grafos abaixo são
isomorfos?
(a)
(b)
Grafos Isomorfos
EXEMPLO 5
(222): Os grafos
(a) e (b) são
isomorfos?
(a)
(b)
Verifique o grau de cada aresta, quantidade
de vértices e arestas, adjacência entre os
vértices ...
Grafos Isomorfos
Os dois grafos apresentados anteriormente
não são isomorfos. Ambos tem 6 vértices e 7
arestas, não tem arestas paralelas nem
laços, são conexos, tem 3 ciclos e 4 vértices
de grau 2 e 2 vértices de grau 3.
 No entanto, o grafo (b) tem um vértice de
grau 2 que é adjacente a dois vértices de
grau 3, o que não ocorre no grafo (a),
portanto os grafos não são isomorfos.

Grafos Isomorfos

Grafos isomorfos
podem ter
representações
gráficas diferentes
mas são
essencialmente o
mesmo grafo.
Portanto, na teoria
dos grafos, quaisquer
dois grafos isomorfos
são considerados um
mesmo grafo.
PRÁTICA 5 (221): Os
grafos (a) e (b) são
isomorfos? Se forem,
descreva as bijeções.
a
1
b
5
4
c
f
3
2
6
(a)
d
e
(b)
Grafos Isomorfos
1
5
4
PRÁTICA 5 (221):
(a)
1→d
2 →e
6
3 →f
4 →c
5 →b
3
2
a
b
c
(b)
6 →a
f
d
e
8
Grafos Homeomorfos

Serão quando ambos
puderem ser obtidos do
mesmo grafo por uma
seqüência de subdivisões
elementares, nas quais
uma única aresta x-y é
substituída por duas
novas arestas x-v e v-y,
conectando-se em um
novo vértice v.
7
6
8
9
7
5
6
9
8
7
5
6
Grafos Bipartidos Completos
Seus vértices podem ser particionados em
dois conjuntos não-vazios N1 e N2, tais que
dois vértices x e y sejam adjacentes se, e
somente se, x Є N1, e y Є N2.
 Se |N1| = m e |N2|= n, então este grafo é Km,n

1
3
N1 = {1,2}
 N2 = {3,4,5}
 K2,3

2
4
5
Grafos Bipartidos Completos

Desenhe K3,3
Grafos bipartidos

Se podemos repartir os vértices de um grafo
em dois subconjuntos V1 e V2 de modo que
todas as arestas do grafo ligam um vértice de
V1 com um vértice de V2, chamamos este
grafo de grafo bipartido ou bipartite.
2
1
V1= {1,2}
V2= {3,4,5,6,7}
3
4
5
6
7
Grafos bipartidos completos

O grafo abaixo é também bipartite e além
disso todos os vértices de V1 estão ligados
com todos os vértices de V2. Este tipo de
grafo é chamado de bipartido (ou bipartite)
completo.
2
1
3
4
5
V1= {1,2}
6
7
V2= {3,4,5,6,7}
Grafos Bipartidos Completos
1
3
N1 = {1,2}
 N2 = {3,4,5}
 K2,3

2
4
5
Grafos Bipartidos Completos
Existe algum processo eficiente para se
reconhecer grafos bipartidos?
 Teorema:
Um grafo G(V,E) é bipartido se e somente
se todo ciclo de G possuir comprimento
par.

Grafos Bipartidos Completos

Prova:
Seja v1, ..., vk um ciclo de comprimento K
do grafo bipartido G e seja v1 um vértice
de V1. Logo, v2 pertence a V2, v3 pertence
a V1, v4 pertence a V2, e assim por diante.
Como (vk,v1) pertence a E, vK pertence a
V2.
Exercício
O grafo abaixo é um grafo bipartite?
 Se sim, ele é um grafo bipartite completo?
 Qual uma outra forma de se desenhar este
grafo?

6
5
1
4
2
3
Grafos Planares (planaridade)

É um grafo que pode ser desenhado em um
plano (folha de papel) e forma que suas
arestas se interceptem apenas em vértices.

PRÁTICA 9 (223): Demonstre planaridade em
K4
Grafos Planares (planaridade)

Planaridade em K5
1
1
2
5
4
1
3
2
5
2
5
4
4
3
3
PRÁTICA 10 (224): Mostre que se colocássemos
As arestas 1-3 e 1-4 como exteriores ao
construir K5, seríamos levados, novamente a
uma situação de interceptação das arestas.
Fórmula de Euler paramos 2705

Um grafo simples, conexo e planar (sem
intersecção de arestas, divide o plano em um
número de regiões, incluindo as regiões
totalmente fechadas e uma região infinita
exterior. Euler observou a relação entre o
número n de vértices, o número a de arestas
e o número r de regiões neste tipo de grafos,
sendo como:
n-a+r=2
n-a+r=2
Fórmula de Euler

PRÁTICA 11 (224): Verifique a fórmula de
Euler para o grafo conexo abaixo:
a
b
c
f
d
e
Ordem, Tamanho e Distância
Dado um grafo G=(V,a), o número de
vértices de G é chamado de ordem de G e é
denotado por |V|.
 O número de arestas de um grafo é
chamado de tamanho do grafo e é denotado
por |a|.
 A distância entre dois vértices V1 e V2 de G
é o comprimento do menor caminho entre
V1 e V2.

Ordem, Tamanho e Distância
A
G=(V,a)
V={A,B,C,D,E,F}
Ordem de G
Tamanho de G
Distância
Distância
F
|V|=6
|a|=9
d(B,E)=1
d(B,D)=2
B
C
E
D
1º Teorema da Teoria dos Grafos


“Dado um grafo G então a
soma dos graus de seus
vértices é igual ao dobro
do número de arestas.”
Este resultado é claro pois,
ao contarmos o número de
arestas de cada vértice
estamos contando cada
aresta duas vezes.
V3
V4
V2
V1
1º Teorema da Teoria dos Grafos

Este teorema pode ser traduzido numa
fórmula. Sejam V1, V2, ...,Vn os vértices,
grau(V1) o grau do vérticeV1 e |a| o tamanho
do grafo, então:
grau(V1)+grau(V2)+...+grau(Vn) = 2 |a|
1+3+2+2 = 2*4
V3
V4
V2
V1
8=8
1º Teorema da Teoria dos Grafos

É possível construir um grafo com 3 vértices
ímpares e outros pares?
Não, pois se existe tal gráfico então a soma
dos graus dos vértices ímpares será ímpar e a
soma dos graus dos vértices pares será um
número par. Logo a soma total dos graus será
um número ímpar somado a um número par
que é ímpar. Isto contraria o 1º Teorema.
Logo tal grafo não existe.
Caminhos e Ciclos Eulerianos

Um caminho é dito euleriano se este
passa uma única vez em cada aresta de
um grafo.

Um ciclo que percorre todas as arestas de
um grafo uma única vez é chamado de
ciclo euleriano em homenagem a Euler.
Caminhos e Ciclo Eulerianos

Dado o grafo abaixo, o caminho 123413 é
um caminho euleriano, porém não é um
ciclo euleriano, já que os vértices de início
e fim do caminho não coincidem.
1
2
4
3
Caminhos e Ciclos Eulerianos
4
1
3
2

Não existem caminhos eulerianos
para o multigrafo acima.
Caminhos e Ciclos Eulerianos


Suponhamos, por absurdo, que existe um caminho C
euleriano. Neste caso, existem pelo menos dois
vértices X e Y que não são nem início nem fim do
caminho C. Cada vértice tem grau 3. Logo, quando C
entra em X este deve sair por uma aresta diferente
restando, portanto, uma aresta incidente a ser
percorrida.
Quando esta aresta for percorrida, ela deve entrar em
X e não pode mais sair. Isto só pode ocorrer se X for
um ponto final, mas X foi escolhido como não final.
Isto é uma contradição.
Logo, este caminho euleriano não existe.
Caminhos e Ciclos Eulerianos
Teorema: “Um grafo G conexo possui um
ciclo euleriano se e somente se todo
vértice de G possui grau par.”
 Este teorema é nos dois sentidos:

 Se
o grafo possui ciclo euleriano então o grau
dos vértices é par.
 Se o grau dos vértices é par então o grafo
possui ciclo euleriano.
Caminhos e Ciclo Eulerianos
O grafo abaixo possui pelo menos um
vértice de grau 3, logo não possui um ciclo
euleriano.
 Isto não o impede de possuir um caminho
euleriano que não seja um ciclo.

1
2
4
3
Download

Aula 01 - Grafos_NANY