Você está na página 1de 9

GRAFOS

HISTÓRICO
LEONHARD EULER
UNICARIOCA (1707-Basileia/Suiça-1783-São Petersburgo/Rússia)
Aos treze anos de idade ingressou na universidade de Basiléia
ESTRUTURA DE DADOS aonde logo iria tornasse o discípulo predileto de Jean Bernoulli.
Desta forma Euler mais do que rapidamente tornou-se o que o

TEMA-08 mestre veio chamar de “incomparável príncipe da Matemática”.


Aos 19 anos foi para a Rússia onde conheceu sua mulher,
GRAFOS Katharina, que também era Suíça juntos tiveram 13 filhos, dos
quais 8 (oito) morreram na infância. Uma das frases celebres de
Euler foi, “A melhor parte da minha obra foi escrita com uma
criança no colo”.

GRAFOS LEONHARD EULER


3
 AS SETE PONTES DE KÖNIGSBERG
Na cidade de Königsberg (atual Kaliningrado), antiga capital da AS SETE PONTES
PRÚSSIA ORIENTAL, o rio PREGEL circunda uma ilha e separa a
1 4 DE KÖNIGSBERG
cidade em quatro zonas que, no séc. XVII estavam ligadas por sete
pontes como na figura abaixo:

3
2

1 4
O problema consiste em partir de uma dessas regiões e determinar
um trajeto pelas PONTES segundo o qual se possa retornar à região
de partida após atravessar CADA PONTE somente UMA VEZ. Este
problema trata-se de um grafo EULERIANO, no qual não é possível
fazer o percurso de iniciar em uma ponte, passar por todas as
2 outras uma só vez e retornar ao ponto de origem, pois, um grafo
só pode ser percorrido de tal maneira, se o diagrama tiver somente
vértices de GRAU PAR, o que não acontece com o problema citado.

AS SETE PONTES DE KÖNIGSBERG KALININGRAD - FEDERAÇÃO RUSSA

Acredita-se que esse foi um dos primeiros exemplos da utilização


de grafos.
TEOREMA (Euler-1736) Um grafo conectado G é EULERIANO
se e somente se o grau de cada vértice de G é PAR.
Ponto de partida para se dar início à TEORIA DOS GRAFOS e um
novo ramo da matemática chamado TOPOLOGIA.
ALGUNS PROBLEMAS CLÁSSICOS SOBRE GRAFOS O PROBLEMA DO GÁS, LUZ E TELEFONE
PROBLEMA DA CASINHA
Outro problema que se propõe às crianças para que se
PERGUNTA  você conseguiria desenhar a casinha abaixo sem tirar o
aquietem é o seguinte: temos que ligar LUZ, GÁS E TELEFONE
lápis do papel ? Tem que passar de ponto a ponto e não pode passar pela
mesma linha duas vezes. A Figura abaixo mostra uma SOLUÇÃO e, na a três casas sem que as linhas se cruzem (supondo que todas
verdade, o problema é bastante FÁCIL. as ligações, fios e canos estejam situados em um mesmo
plano).

Mas, se a pretensão for começar pelo vértice B, você pode tentar o


tempo que quiser !!!! O fato é que esse outro problema é IMPOSSÍVEL  A TEORIA DE EULER GARANTE ESSA
IMPOSSÍVEL ! Todas as soluções começam ou terminam pelos
vértices A ou E. Se começam em A terminam em E, e vice-versa. IMPOSSIBILIDADE !!!!

O PROBLEMA DO TRAJETO DA TRANSPORTADORA O PROBLEMA DO CAIXEIRO VIAJANTE


O grafo a seguir representa as estradas ligando 5 cidades Um vendedor ambulante deve visitar cidades, uma única vez
diferentes. As distancias são todas em quilômetros. Uma cada uma, e retornar à cidade de origem. O custo pode ser
transportadora deseja sair de A passando por todas as cidades e medido em termos de tempo, dinheiro etc, e as opções
retornar a A, de maneira que o trajeto seja o mais curto possível. existentes para as diferentes etapas de viagens correspondem
É possível fazer um trajeto saindo de A , passando por todas as às arestas do grafo abaixo. O objetivo é saber se existe tal
outras cidades uma única vez, e retornando ao ponto de partida A ? percurso.
Tente obter um trajeto para a transportadora saindo e retornando a A,
passando por todas as outras cidades, de modo que a distancia
percorrida seja a menor possível.
Resolução: De acordo com a
teoria dos grafos fica fácil
afirmar que tal trajeto é
IMPOSSÍVEL, pois esse grafo
não é EULERIANO, ou seja,
alguns vértices têm arestas
impares, tornando o trajeto
impossível.

O PROBLEMA DO CAIXEIRO VIAJANTE GRAFOS


MOTIVAÇÃO
Existe um circuito euleriano em um grafo SE E SOMENTE SE o grafo é
CONEXO (isto é, existe um caminho ligando qualquer par de vértices) E Muitas aplicações necessitam considerar conjuntos de
cada vértice tem GRAU PAR (ou seja, o número de arcos que nele CONEXÕES entre pares de objetos:
incidem é par). Portanto já se pode perceber que esse grafo é CONEXO, Máquinas (motor) de Busca  existe um caminho para ir
pois existe um caminho ligando qualquer par de vértices. Além disso, seus de uma página Web a outra seguindo os links?
vértices tem GRAU PAR, e como ele é CONEXO é EULERIANO. Portanto
Alocação de tarefas  qual a melhor forma de alocar e
é POSSÍVEL sair de uma cidade e passar por todas as outras e retornar ao
distribuir tarefas intercomunicantes entre diferentes
nosso ponto de partida.
recursos computacionais disponíveis ?
Determinação de propriedades topológicas de sistemas
De cada VÉRTICE complexos  qual o padrão de interconexão das
máquinas na Internet ?
saem 4 ARESTAS 
Qual é o roteiro mais curto para visitar as principais
GRAU PAR ! cidades de uma região turística ?
Todos esses problemas podem ser modelados como GRAFOS !
GRAFOS
DEFINIÇÃO INFORMAL  UM GRAFO É UM CONJUNTO
NÃO-VAZIO DE NÓS (VÉRTICES) E UM CONJUNTO DE
UNICARIOCA ARCOS (ARESTAS) TAIS QUE CADA ARCO CONECTA DOIS
NÓS.
O GRAFO A SEGUIR TEM CINCO NÓS E SEIS ARCOS
ESTRUTURA DE DADOS

TEMA-08
GRAFOS
VÍDEO-02
A definição INFORMAL de um grafo funciona bem se tivermos
sua REPRESENTAÇÃO VISUAL, mostrando que arcos se
conectam aos nós.

DEFINIÇÃO FORMAL  UM GRAFO É UMA TRIPLA DEFINIÇÕES GERAIS


ORDENADA (N, A, G), ONDE:
GRAFO = CONJUNTO DE NÓS/VÉRTICES (V) E
N  é um conjunto não-vazio de nós (vértices) ARCOS/ARESTAS (A)
A  é um conjunto de arcos (arestas)
G  é uma função que associa a cada arco a do grafo um PAR
NÃO-ORDENADO x-y de nós, chamado de EXTREMIDADES de a.

No grafo acima, a função


G que associa arcos a
suas extremidades (nós) é
dada por:

G(a1)=1-2 G(a2)=1-2 G(a3)=2-2


G(a4)=2-3 G(a5)=1-3 G(a6)=3-4

DEFINIÇÕES GERAIS DEFINIÇÕES GERAIS


GRAU DE UM NÓ  número de arestas que se ligam ao nó.
NÓS ADJACENTES  ambos são as extremidades de algum
arco. ARESTAS PARALELAS  arestas com as mesmas extremidades.
NÓ ISOLADO  é um nó que não é adjacente a nenhum
LAÇO  uma aresta cujas extremidades são do mesmo nó.
outro.
ADJACENTES
1e2
1e4 a1 GRAUS DOS NÓS
2e3 a2 G(1) = 3
3e6 a3 G(2) = 4
4e3 G(3) = 3
4e6
a4 a5 G(4) = 3
NÃO ADJACENTES
1e3 G(5) = 0
4e2 G(6) = 2
etc... a6 a7
ISOLADO ARESTAS PARALELAS
5 a1 e a3
a8
TERMINOLOGIA

TIPOS DE GRAFOS

GRAFO SIMPLES  Um grafo é SIMPLES se ele não tem GRAFO COMPLETO  é aquele em que quaisquer dois nós
laços nem arestas paralelas (mais de uma aresta ligando dois são adjacentes, ou seja, todo par de vértices é ligado por uma
vértices. aresta.

COMPLETO

SIMPLES SIMPLES

ARESTAS
PARALELAS LAÇO

INCOMPLETO
NÃO SIMPLES NÃO SIMPLES
3 4 5

GRAFO DIRECIONADO (DÍGRAFO)  Um grafo é uma tripla GRAFO CONEXO  Um grafo é CONEXO se existe um
ordenada (N, A, G), onde: caminho (ligando ou unindo) de qualquer nó para qualquer
N  um conjunto não-vazio de nós (vértices) outro. Ou seja, um grafo é CONEXO se para qualquer par de
A  um conjunto de arcos (arestas) nós existe pelo menos um caminho entre eles. Se existir pelo
G  uma função que associa a cada arco a um PAR menos um par de nós que não é unido por um caminho o grafo
ORDENADO (x,y) de nós, chamado de extremidades de a. é DESCONEXO.

Em um grafo DIRECIONADO, cada arco tem um sentido ou


orientação.
RELAÇÃO BINÁRIA
G(a1) = (1,2) 1→2
G(a2) = (1,4) 1→4
G(a3) = (1,3) 1→3
CONEXO DESCONEXO
G(a4) = (3,1) 3→1
G(a5) = (4,4) 4→4
DEFINIÇÕES BÁSICAS DEFINIÇÕES BÁSICAS
CAMINHO  é uma sequencia ALTERNADA de NÓS (vértices) COMPRIMENTO DE UM CAMINHO  é o número de arcos
e ARESTAS n0; a0; n1; a1; n2;..........; ni; ai; ni+1, onde as (arestas) que ele contém. Se um arco for usado mais de uma
extremidades da aresta ai são os nós ni e ni+1. Neste caso, diz-se vez, ele é contado cada vez que é usado.
que ni+1 é acessível a partir de n0.

Um caminho do nó 2 para o nó 4 consiste na sequência:


O comprimento do caminho 2,a1,1,a2,3,a4,4 do nó 2 para o nó
2 , a1, 1 , a2, 3 , a4, 4.
4 é 3 (3 arestas).

REPRESENTAÇÃO DE GRAFOS NO COMPUTADOR


ESTRUTURAS DE DADOS PARA GRAFOS
MATRIZ DE ADJACÊNCIA - GRAFO NÃO DIRECIONADO
UNICARIOCA Seja um grafo com n nós numerados (n1,n2,..,nn)
arbitrariamente. Após a ordenação dos nós, podemos formar
uma matriz n x n onde o elemento i, j é o número de arcos
ESTRUTURA DE DADOS entre os nós ni e nj. Observe o exemplo abaixo.

1 234
TEMA-08 1
2

GRAFOS 3
4
VÍDEO-03
GRAFO MATRIZ DE ADJACÊNCIA

A matriz de ADJACÊNCIA de um grafo NÃO-DIRECIONADO é


SIMÉTRICA.

EXERCÍCIO-01 - ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O EXERCÍCIO-02 - ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O
GRAFO ABAIXO GRAFO ABAIXO

1 2 1 2 3 4
1 2 3
1 1 0 1 1 1
2 1 0 0 1
2 3 1 0 1 2
3 4
4 1 1 2 0
3

GRAFO MATRIZ DE ADJACÊNCIA


GRAFO MATRIZ DE ADJACÊNCIA

SIMÉTRICA ! SIMÉTRICA !
OBS.
Se ai,j = 0 ∀ i = j o Grafo não tem laço.
Se ai,j ≠ 0 para algum i = j o Grafo tem laço.
EXERCÍCIO-3 EXERCÍCIO-04
ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O GRAFO
ACHAR A MATRIZ DE ADJACÊNCIA
1 2 3 4 5 6
1 1 1 0 0 1 0
v1 v1 v2 v3 V4
e1 v2 2 1 0 1 0 1 0
• • v1 1 1 0 0
e4 3 0 1 0 1 0 0
v2 1 0 2 0
4 0 0 1 0 1 1
e2 v3 0 2 0 0
e3
5 1 1 0 1 0 0
v4 0 0 0 0
6 0 0 0 1 0 0
• • MATRIZ DE ADJACÊNCIA
v4 v3 MATRIZ DE ADJACÊNCIA
GRAFO
SIMÉTRICA !
GRAFO
SIMÉTRICA !

MATRIZ DE ADJACÊNCIA - GRAFO DIRECIONADO ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O GRAFO

A matriz de adjacência de um grafo DIRECIONADO NÃO SERÁ 0 1 2 3 4 5


SEMPRE SIMÉTRICA, pois a existência de um arco de ni para 0 0 1 0 1 0 0
nj NÃO implica ne existência de um arco de nj para ni. 1 0 0 1 1 0 0
2 0 0 1 1 0 1
1 2 3 4 3 1 0 0 0 0 0
1
4 0 0 0 0 0 0
2 5 0 0 0 0 1 0
3
4 GRAFO MATRIZ DE ADJACÊNCIA

GRAFO MATRIZ DE ADJACÊNCIA


OBS.
Se ai,j = 0 ∀ i = j o Grafo não tem laço.
Se ai,j ≠ 0 para algum i = j o Grafo tem laço.

ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O GRAFO ENCONTRE A MATRIZ DE ADJACÊNCIA PARA O GRAFO

v1 v2 v3 V4
• 0 1 2 3 4
v1 0 1 1 0 0 0 0 1 1 0
v2 0 0 0 1 1 0 0 1 0 0
• • v3 0 0 0 0 2 0 0 0 1 1
v4 0 1 1 0 3 0 0 0 0 1
• 4 0 0 0 1 0
MATRIZ DE ADJACÊNCIA
GRAFO GRAFO MATRIZ DE ADJACÊNCIA
MATRIZ DE INCIDÊNCIA
Na MATRIZ DE INCIDÊNCIA B as COLUNAS representam
ARESTAS e as LINHAS representam VÉRTICES. Se i é um
UNICARIOCA VÉRTICE e k é uma ARESTA de B então:
B[ i , k ] = 1 se k é incidente em i  se a aresta k incide no nó i
B[ i , k ] = 0 caso contrário.  se a aresta k não incide no nó i
ESTRUTURA DE DADOS ARESTAS
V
1 2 3 4 5
É
TEMA-08 R 1 1 1 0 0 0
T
2 1 0 0 1 1
GRAFOS I
C 3 0 1 1 0 1

VÍDEO-04 E
S 4 0 0 1 1 0

GRAFO MATRIZ DE INCIDÊNCIA

EXERCÍCIO EXERCÍCIO
ACHAR A MATRIZ DE INCIDÊNCIA ACHAR A MATRIZ DE INCIDÊNCIA

e1 e2 e3 e4 e1 e2 e3 e4 e5
e1
e3
v1 1 1 0 1 e2 v1 1 1 0 1 0
e3 e5
e2 v2 1 0 1 0 v2 1 1 2 0 1
e1
e4 v3 0 1 1 0 v3 0 0 0 1 1
e4
v4 0 0 0 1

GRAFO MATRIZ DE INCIDÊNCIA GRAFO MATRIZ DE INCIDÊNCIA

OBS.
Se bi,j = 1 o Grafo não tem laço no vértice i.
Se bi,j > 1 o Grafo tem laço no vértice i.

EXERCÍCIO EXERCÍCIO
ACHAR A MATRIZ DE INCIDÊNCIA ACHAR A MATRIZ DE INCIDÊNCIA
e1 e2 e3 e4 ARESTAS
V e1 e2 e3 e4 e5 e6 e7 e8
v1 v2 v1 1 0 0 2 e8
e1
• É v1 2 1 1 0 0 0 0 0
• v2 1 1 1 0 e6
R v2 0 1 0 1 1 0 0 0
e4
v3 0 1 1 0 T v3 0 0 0 0 1 1 0 0
e2 e3 e5
e7 I v4 0 0 0 0 0 1 1 1
v4 0 0 0 0 e4
C v5 0 0 1 1 0 0 1 0
• • MATRIZ DE INCIDÊNCIA E v6 0 0 0 0 0 0 0 1
v4 v3 e2 e3
S
GRAFO MATRIZ DE INCIDÊNCIA
e1

GRAFO
LISTA DE ADJACÊNCIAS LISTA DE ADJACÊNCIAS
É a representação de todas arestas ou arcos de um grafo em
uma LISTA. Se o grafo é não direcionado, cada entrada é um O grafo da figura tem essa
conjunto (ou multiconjunto) de dois nós contendo as duas representação de lista de
extremidades da aresta correspondente. Se o grafo for dirigido, adjacência:
cada entrada é uma TUPLA de dois nós, um indicando o nó de
origem e o outro denotando o nó destino do arco
correspondente. 1 adjacente a 2,5
2 adjacente a 1,3,5
EXEMPLO
3 adjacente a 2,4
4 adjacente a 3,5,6 Em Ciência da Computação, uma
LISTA DE ADJACÊNCIA é uma
5 adjacente a 1,2,4
ESTRUTURA DE DADOS para
6 adjacente a 4 REPRESENTAR GRAFOS.

LISTA DE ADJACÊNCIAS LISTA DE ADJACÊNCIAS


1 adjacente a 2,5
2 adjacente a 1,3,5
3 adjacente a 2,4
4 adjacente a 3,5,6
5 adjacente a 1,2,4
6 adjacente a 4

GRAFOS VALORADOS - REDES


REDE  é um grafo não-direcionado (ou um dígrafo) no qual
um número real é associado aos vértices e/ou ligações. Este
número é frequentemente referido como o PESO DA LIGAÇÃO.
Essa classificação é dada de acordo com a necessidade, ou
não, da indicação do fluxo entre os vértices. Na prática este
número pode representar:

 custos, distâncias, capacidades, e/ou suprimentos e


demandas;
 tempo (trânsito, permanência, etc);
 confiabilidade de transmissão; REDES  INFORMAÇÕES SOBRE OS ELEMENTOS
 probabilidade de ocorrer falhas;
GRAFOS  TOPOLOGIA
 capacidade de carga;
 sinapses entre dois neurônios (força sinaptica);
EXEMPLOS REDES DE ATIVIDADES - EXEMPLO
• Redes Ferroviárias
NÓS - VÉRTICES  ATIVIDADES
• Redes de Telecomunicações ARCOS  RESTRIÇÕES DE PRECEDÊNCIA
• Redes de Computadores
• Redes de Estradas
• Redes Elétricas
• Redes de Esgotos
• Redes de Transportes
• Redes de Atividades → “scheduling” de atividades
em grandes projetos (PERT/CPM)
CPM (Critical Path Method) - Identificar o caminho crítico.
PERT (Program Evaluation Review Technique) - calcula o
prazo, encontra a variância e calcula o desvio padrão.

PRÓXIMO ASSUNTO

ÁRVORES

Você também pode gostar