Title: Grafos
1UNIPAR Universidade Paranaense Campus Sede
Umuarama
Tópicos Especiais em Tecnologia da
Computação(TETC)
2GERSTING, 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
3O 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.
4Qual 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.
5Qual a importância computacional?
6Definiçã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
7Adjacência
- Dois vértices são vértices adjacentes se forem os
extremos de uma mesma reta.
1 e 3 (a5)
8Adjacência
- Duas arestas que possuem um extremo em comum são
ditas arestas adjacentes.
A1 e a4 (2)
9Laços
- Um laço é uma aresta com extremos n-n para algum
nó n.
- Um grafo que não possui laços é chamado grafo sem
laços.
a3 (2-2)
10Paralelismo
- Duas arestas que tem os mesmos extremos são ditas
arestas paralelas.
A1 e a2 (1-2)
11Grafo Simples
- Um grafo simples é um grafo que não tenha arestas
paralelas nem laços.
- Vértice isolado não é adjacente a qualquer outro
vértice.
5
12Outros grafos
- Diagramas com arestas paralelas são chamados de
multigrafos.
- Diagramas com arestas paralelas e laços são
chamados de pseudografos.
13Tipos de Grafos
Grafo
Multigrafo
Pseudografo
14Tipos de Grafos
- Grafos simples e multigrafos são pseudografos,
Grafo
Multigrafo
Pseudografo
- Um vértice isolado não é adjacente a qualquer
outro vértice.
15Grau
- 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 pontos
extremos.
Vértice 1 grau 3 Vértice 5 grau 0 Vértice 2
grau 5 g(a1) 1-2 g(a6) 3-4 g(a3) 2-2
16Grafos 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
17Grafos Completos
- Exemplos Kn (grafos completos)
K2 K3 K4 K5
18Subgrafo
a2
a3
a1
1
2
- 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.
a4
5
a5
a6
4
3
4
19Grafos e subgrafos
- G1, G2, G3, G4 e G5 são subgrafos de G com os
vértices V1,2,3,4.
20Grafos 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.
21Grafos e subgrafos
- H e J são subgrafos induzidos de G sobre os
conjuntos Vh1,3,4,5,6 e Vj6,1,5. - Q não é um subgrafo induzido por V1,3,4,5,6
pois a aresta 1-4 não faz parte do subgrafo.
22Grafos 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.
23Desconectando 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.
24Desconectando 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.
25Desconectando 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.
26Desconectando 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.
27Desconectando 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.
28Caminho
- Um caminho é uma seqüência de vértices e arestas,
onde para cada i, os extremos da aresta ai são
ni-ni1.
Alguns Caminhos possíveis vértices 2-4 2, a1, 1,
a2, 2, a4, 3, a6, 4 Ou 2, a4, 3, a6, 4 Ou...
29Comprimento
- O comprimento de um caminho é o número de
arestas que ele contém.
Caminhos \ comprimento 2, a1, 1, a2, 2, a4, 3,
a6, 4 ?comprimento 4 2, a4, 3, a6, 4 ?comprimento
2
30Conexão
- Um grafo é conexo se houver um caminho entre
quaisquer dois vértices.
a2
a3
a1
1
2
a4
a5
3
Não conexo (vértice 5 isolado)
Conexo (caminhos entre 2 vértices)
31Ciclos
- 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.
Ciclo 1, a1, 2, a4, 3, a5, 1
32Complemento
- 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.
33 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
34Grafos Regulares
- Um grafo cujos vértices têm o mesmo grau é
chamado de grafo regular.
Grau 4
Grau 1
Grau 2
Grau 3
35 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.
36PRÁ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.
37PRÁ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?
38Grafos Isomorfos 07-06 paramos aqui
f1 1?a 2 ?b 3 ?c 4 ?d
f2 a1?e2 a2 ?e1
39Grafos 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.
40Grafos 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.
41Grafos Isomorfos
- Dados G1V1, a1 e G2V2, a2
- V1A, B,C,D
- a1AC, 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
42Grafos 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
43Grafos 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.
44Grafos Isomorfos
- A função f(Ui)Vi, i1, 2...,6, faz corresponder
a cada aresta de G1 uma aresta de G2 e
reciprocamente.
45Condiçõ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.
46Grafos Isomorfos
PRÁTICA 6 (222) Os grafos abaixo são isomorfos?
(a)
(b)
47Grafos Isomorfos
(b)
EXEMPLO 5 (222) Os grafos (a) e (b) são
isomorfos?
(a)
Verifique o grau de cada aresta, quantidade de
vértices e arestas, adjacência entre os vértices
...
48Grafos 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.
49Grafos 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)
(b)
50Grafos Isomorfos
(a)
PRÁTICA 5 (221) 1?d 2 ?e 3 ?f 4 ?c 5 ?b 6 ?a
(b)
51Grafos 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.
52Grafos 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
53Grafos Bipartidos Completos
54 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.
V1 1,2
V2 3,4,5,6,7
55Grafos 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
V1 1,2
V2 3,4,5,6,7
3
5
6
4
7
56Grafos Bipartidos Completos
57Grafos 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.
58Grafos 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.
59Exercício
- O grafo abaixo é um grafo bipartite?
- Se sim, ele é um grafo bipartite completo?
- Qual uma outra forma de se desenhar este grafo?
60Grafos 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
61Grafos Planares (planaridade)
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.
62Fórmula de Euler paramos 27-05
- 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
63Fórmula de Euler
n - a r 2
- PRÁTICA 11 (224) Verifique a fórmula de Euler
para o grafo conexo abaixo
64Ordem, 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.
65Ordem, Tamanho e Distância
Ordem de G V6 Tamanho de G a9 Distância
d(B,E)1 Distância d(B,D)2
66 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.
67 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
1322 24
88
68 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.
69 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.
70 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.
71 Caminhos e Ciclos Eulerianos
- Não existem caminhos eulerianos para o multigrafo
acima.
72Caminhos 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.
73Caminhos 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.
74 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.