GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um...

34
GRAFOS: UMA INTRODUÇÃO Vilmar Trevisan -Instituto de Matemática - UFRGS Junho de 2006

Transcript of GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um...

Page 1: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

GRAFOS:UMA INTRODUÇÃO

Vilmar Trevisan -Instituto de Matemática - UFRGS

Junho de 2006

Page 2: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 3: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 4: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 5: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 6: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 7: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 8: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 9: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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}

Page 10: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 11: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 12: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 13: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 14: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 15: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 16: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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?

Page 17: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 18: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 19: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

Ex

E1

V1 V2

E2E4

V3

E3

E1 E2 E4E3 é o passeio V1E1 V2 E2 V3 E4V3 E3V2.

Page 20: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 21: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 22: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 23: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 24: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 25: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 26: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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.

Page 27: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

Ex inicial

v

u

C

v

Page 28: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

v

u

CC´

Novo C

Novou

Page 29: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 30: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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).

Page 31: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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 ?

Page 32: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos

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

Page 33: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos
Page 34: GRAFOS: UMA INTRODUÇÃOtrevisan/class/grafos1.pdf · Grafos: uma introdução Informalmente, um grafo é um conjunto de pontos no plano ligados entre por flechas ou por segmentos