GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um...
Transcript of GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um...
GRAFOS:UMA INTRODUÇÃO
Vilmar Trevisan -Instituto de Matemática - UFRGS
Junho de 2006
Esse tipo de estrutura modela muitos problemas importante em muitas áreas cientificas incluindo química, física, engenharia, economia,matemática, computação.
Grafos: uma introdução
Informalmente, um grafo é um conjunto de pontos no planoligados entre por flechas ou por segmentos de reta.
Antes de definirmos formalmente o conceitode grafos, veremos alguns exemplos de problemas cuja modelagem utiliza de grafos.
Ex 1- consideremos a seguinte relação R em S ={1,2,..,10}xRy x divide y
Temos R={(1,4),(1,2),(1,10),(2,4),(2,6),(2,8),(2,10),(3,6),(3,9),(4,8),(5,10)}
Podemos representar R de forma diagramática
15
210
8 36
9
7
4
Aqui uma flecha de x->y indica x R y
Ex 2 Uma empresa adquiriu 6 computadores e deseja coloca-los em uma rede integrada.Claramente não é necessário
que cada computador deve estar ligado a todos os outros. Um exemplo de configuração aceitável é a seguinte :
A
B
C
DEF
Aqui cada segmento de reta indicaconexão entre os computadores
Ex 3 As seguintes cidades têm rota entre elas, cada rota associada a um peso (Tempo, custo, lucro etc.)
Uruguaiana
PelotasBage
Poa
Caxias Passo Fundo
Sta. Maria4
4
3
3 2
3
4
32
EX 4 Há dois canibais e dois vegetarianos na margem de um rio.
Entre eles um bote com capacidade p/ 2 pessoas.
4 pessoas p/ a outra margem.
O objetivo é levar as
vegetarianos ... Como resolver isto?Se houver mais canibais do que
Usamos grafos para resolver o problema - os vértices representam as possibilidades de configuração:
vvccB/ c/Bvvc
cc/Bvv
vvc/Bc
vcB/vc
vcB/vc
vv/Bcc
vvcB/c ccB/vv/Bvvcc
c=canibalv=vegetarianoB=bote/=rio
Formalmente um grafo G é um par (V,A), onde V é um conjunto não-vazio cujos elementos são chamados vértices(ou nós) e Aé um conjunto de subconjuntos de 2 elementos de V, cujoselementos são chamadas de arestas ou arcos.
Ex G = (V,A) onde V = {v1,v2,v3} e A = { {v 1,v2},{v 2,v3}}
V1 V2
V3
Um dígrafoé um par (V,A) onde V é como na definição de grafo e A é um subconjunto de pares ordenadosde V.
Dizemos que dois vértices v1 e v2 são adjacentes se {v2 ,v2 }é aresta do grafo.
v1
v4
v2
v5v3
Note que os dois diagramas representam o mesmo grafo. Eles são ditos isomorfos.
v5
v4 v3
v2
v1
Dizemos que a aresta ( v1, v2 ) é incidente a v2e a v1 .
Um laço é uma aresta incidente ao mesmo vértice. Um vértice que não tem arestas incidentes é dito isolado .Duas arestas são ditas paralelas se
são incidentes aos mesmos vértices
Um grafo é dito simples se não tem laços nem arestasparalelas.
u
y
v
x
Como há 4 vértices . Há C(4,2) = 6 diferentes arestas. como uma aresta é (u,v) qualquer outra pode ser escolhida
Ex: desenhar todos os grafos de 4 vértices{u,v,y,x} e duas arestassendo que uma é {u,v}
Um grafo completo de n vértices de notado por Kn é um grafo simples em que cada um dos n vértices é adjacente a qq outro.
V1 V2 K3 V1
V2
V3
V1 V2
V3 V4
Uma outra classe de grafos importantes tem arestas que são incidentes em vértices que estão em conjuntos disjuntos. Chamamos de grafo bipartido.
V1
V2
V3
V4
V5
V1
V2
V3
W1
W2
W2O último é um exemplo de grafo bipartido completo
Ex K2
K4
Definição:Seja G = (v,a) um grafo. O graude v é o numerode arestas incidentes em v . Um laço conta 2 vezes.
V1
V2 V3 V4
grau(v1) = 5grau(v2) = 1
Teorema 1: Se G = ( V,A) é um grafo , então o grau total de G é duas vezes o numero de arestas, isto é
grau(G)= 2 |A|
V1 V2
O grau totalde G é a soma dos graus de todas todos os vértices de G.
Prova:cada aresta contribui 2 vezes para o grau total de G
Ex: desenhe um grafo com as seguintes especificaçõesa) 4 vértices de graus 1 1 2 e 3
a b
c d
a b
c d
Corolário 1: o grau total de G é par.
Solução: Não existe, pois o grau total deve ser parb) 4 vértice de graus 1 1 3 3
Solução: Supõe que existe G com essas caraterísticas : chame a e b os vértices de grau 1 e c e d os de grau 3. Como não há laços ou arestas paralelas devem estar presentes as arestas ( a,c), e(b,c) e (d,c)
a b
d
C) 4 vértices de graus 1, 1, 3 e 3 mas simples
Pela mesma razão as arestas (b,d) e (a,d).
c
Mas então grau(a) = grau(b) = 2
a b
dc
Prova : grau(G) = 2 |A| = # {v : grau(v) par} + # {v : grau(v) é impar }.
Proposição 1: em um grafo, o numero de vértices de grau ímpar é par.
Ex Não existe grafo com 10 vértices de graus 1 1 2 2 2 3 4 4 4 e 6 pois 3vértices têm grau ímpar
Como o lado esquerdo da igualdade é par e primeiro termo do ladodireito também é, então o segundo termo tem que ser par
A cidade de Könisberg em 1736 pertencia a Prussia ( hojeKaliningrado na Rússia) era cortado pelo Rio Pregel. Havia dois braços do rio e uma ilha conforme a figura. Havia, ainda, sete pontes conectando os várias pedaços de terra..
Caminhos e Circuitos
//
////
// //// //
A B
C
D
A questão é :será possível para uma pessoa dar uma voltapela cidade começando e terminando no mesmo ponto e atravessandocada uma das sete pontes exatamente uma vez?
Euler resolveu esse problema transformando em um grafo. Cada pedaço de terra é um vertice e cada ponto é uma aresta.
A B
C
D
É possivel traçar esse grafo começandoe terminando no mesmo ponto sem levantar o lápis do papel.Pense Nisso !
Como viajar em um grafo?
Um circuito simplesé um circuito que só tem o primeiro e último vértices repetidos.
Definição:Seja G um grafo e sejam v e w dois vértices de G . Um passeio de v para wé uma seqüência de vértices e arestas adjacentes.
Um caminho de v a wé um passeio que não contém arestasrepetidas .
Um caminho simples de v a wé um caminho sem vértices repetidos
Um passeio fechadoé um passeio que começa e termina no mesmo vértice.
Um circuito é um passeio fechado que não contém arestas repetidas.
Repetição de arestas repetição de vertices começa e termina no mesmo vértice
passeio permitido permitido permitidocaminho não permitido permitidocaminho simples não não nãopasseio fechado permitido permitido simcircuito não permitido simcircuito simples não primeiro e ultimo sim
Em suma, temos o seguinte
Ex
E1
V1 V2
E2E4
V3
E3
E1 E2 E4E3 é o passeio V1E1 V2 E2 V3 E4V3 E3V2.
Ex
V1V2
E2
E1
E4
E3
E7
E8
E6
E5
E10
E9
V3 V4
V5E6
A) V1E1V2E3V3E4V3E5V4.
É um caminho de V1, e V4.
C) V2 V3 V4 V5 V3 V6 V2 é um caminho (não repete arestas ) fechado que não repete arestas . Portanto é um circuito
B) E1, E3,E5,E10 é um passeio
G um grafo. Dois vértices v e w são ditos conectadosse existe um passeio de v e w.
V1
V2 V3
V4
V5 V6
É desconexo
V1
V2
V3
É conexo
Conectividade
G é um grafo conexose quaisquer dois vértices v e w são conectados.
Exemplos
Um grafo H é uma componente conexo de G se
1- H é um subgrafo de G2- H é conexo 3-H é maximal, isto é
Se H ⊂⊂⊂⊂ K ⊂⊂⊂⊂ B K conexo então K = G
V1 V2
É componente conexo do grafo abaixo
V1
V2 V3
V4
V5 V6
É desconexo
Seja G um grafo. Um circuito de Eulerde G é um circuitoque contém todos os vértices e todas as arestas de G. Isto é, um circuito Euleriano de G é uma seqüência de vértices adjacentes quecomeça e termina no mesmo vértice, usando cada vértice pelo menos uma vez e usa cada aresta exatamente uma vez.
Circuito Euleriano
Teorema 2- se um grafo tem um circuito euleriano então cada vértice do grafo tem grau par.
Prova- seja v um vértice de um circuito euleriano de G. Se uma aresta chega em v, então deve haver outra que sai. Portanto, o grau de v tem que ser par.
Assim, o problema das pontes de Könisberg não tem solução pois há vértices de grau ímpar. De fato, Euler fez muito mais do que isso.
A recíproca do teorema é verdadeiro?Se todo vértice de G tem grau par será que existe sem caminhoEuleriano?
V2
V1
E1 E2
V3
V2
E3 E4
Falso
Pois todo vértice tem grau par mas não tem circuito eulerianojá que nem é conexo
Teorema 3- se todo vértice de um grafo conexo tem grau par, entãoo grafo tem circuito euleriano.
Prova:Vamos construir um circuito Euleriano, considere o seguinte procedimento. Seja G um grafo com todos os vértices degrau par.
Passo1:escolha qq vértice v de G para começar, isto é possível pois G não é vazio.
Passo 2:Comece a percorrer o grafo, sem repetir arestas, até não ser possível progredir. Como todos os vértices têm grau par, esse vértice tem que ser o vértice v. Temos, portanto um circuito C.
Passo 3: Verifique se C contém todas os vértices e todas as arestas de G.Se sim, então C é um circuito Euleriano e termina. Se não:
Passo 3 a): Escolha um vértice u que esteja em C incidente a uma aresta e que esteja fora de C.
Esse vértice existe pois 1) C não tem todas as arestas de G e2) G é conexo, portanto, existe um caminho entre um
vértice qq de C e a extremidade e que não está em C.
Passo 3b:Comece a percorrer o grafo, a partir de u, sem repetir arestase nem utilizar arestas de C. Como todos os vértices têm grau par, issosó é possível se voltar ao vértice u. Temos um novo circuito C´.
Passo 3c:Combina os dois circuitos em apenas 1:Faz C <=== C + C´
Passo 3d:Volta ao passo 3.
Como G é finito, a repetição do passo 3 faz com que, no final, seja produzido um circuito Euleriano ( contendo todos os vértices e todosas arestas, sem repeti-las.
Ex inicial
v
u
C
v
v
u
CC´
Novo C
Novou
Exercício: Achar, se existir, um caminho euleriano para o grafo
Obs.: observar que há muito c. e.
a
b c
d
e
f
g
h j
i
Esse é o resultado final
Temos, portanto a seguinte caracterização de grafos que têmcircuito euleriano
Teorema 4: um grafo G tem circuito euleriano se somente se G é conexo e todos os seus vértices têm grau par.
Definição:Sejam u e v dois vértices de um grafo G. Um caminhoeuleriano de u a vé uma seqüência de arestas e arcos adjacentes que começa em u e termina em v, passando por todos os vértices deG pelo menos uma vez e por todas as arestas uma única vez.
Corolário 2:se G um grafo e sejam u e v dois vértices de G.Existe um caminho euleriano de u a v de e somente de G é conexo,u e v tem grau ímpar e todos os demais vértices têm grau par.
Prova : Exercício ( o procedimento é o mesmo).
Exemplo: considere a planta baixa que é uma casa para ser vista pelo publico. É possível acertar um caminho que comece na sala Ae termine na sala B e que passe por todas as portas interiores exatamente um vez ?
Considere o grafo abaixo que representa a planta
Note que como A e B têm gruas impar e os desses grau par . Logo têmum caminho euleriano.Por exemplo A G H F E I K J D C B