46
Teoria dos Grafos Introdu¸c˜ ao

Teoria dos Grafos - Instituto de Informática - …prestes/Slides/aula1-Renan.pdfOs n os constituintes de uma aresta podem ser diferentes ou n~ao. Se n~ao forem diferentes ent~ao a

  • Upload
    lamdang

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Teoria dos Grafos

Introducao

Referencias

P. O. Boaventura Netto, Grafos: Teoria, Modelos eAlgoritmos, Sao Paulo, E. Blucher 2001;

R. J. Trudeau, Introduction to Graph Theory, NewYork, Dover Publications, 1993;

Kaufmann, Arnold. Exercices de combinatorique avecsolutions. Paris: Dunod, 1969-1972 3v.

Harary, Frank. Graph theory. Reading, Mass.:Addison-Wesley, c1969. 274 p.: il.

West, Douglas B.. Introduction to graph theory. 2nded. Upper Saddle River: Prentice Hall, c2001. 588 p.

Motivacao

Qual a rota mais rapida entre cidades de um mapa?

Em que ordem cidades devem ser visitadas para minimizaro tempo de viagem?

Como cabear uma rede de telefones com custo mınimofazendo com que todos estejam conectados?

Qual o fluxo maximo que pode ser aplicado a uma redede encanamentos?

Introducao

A teoria dos Grafos surgiu com os trabalhos de LeonardEuler, Gustav Kirchhoff, Arthur Cayley, ...

Esta teoria tem sido utilizada largamente em diferentesareas da biologia, quımica e na matematica aplicada.

O termo grafo foi criado no seculo XIX, por JamesSylvester (matematico, 1878) e Edward Frankland(quımico, 1884).Contracao de notacao grafica (graphic notation → graph)

Primeiro e mais famoso problema em teoria dos grafos:O problema das pontes de Konigsberg,resolvido por Euler em 1736.

Problema das pontes de Konigsberg (1736)

KonigsbergPrussia/Alemanha (1255-1946)

KaliningradoURSS/Russia (1946-)

A cidade e cortada pelo rio Pregel, criando ilhas nacidade.

Existiam sete pontes conectando as ilhas e as margensopostas do rio.

O problema consiste em determinar se e possıvel ou naofazer um passeio pela cidade comecando e terminando nomesmo lugar, cruzando cada ponte exatamente umaunica vez.

Problema das pontes de Konigsberg (1736)

Kaliningrado, 2013

Problema das pontes de Konigsberg (1736)

Kaliningrado, 2013

rio Pregel

Problema das pontes de Konigsberg (1736)

Königsberg, 1736

rio Pregel

Problema das pontes de Konigsberg (1736)

Königsberg, 1736

rio Pregel

a

ef

g

d

bc

4

1

23

Problema das pontes de Konigsberg (1736)

a

ef

g

d

bc

4

1

23

Definicao de grafo

Um grafo G consiste de um conjunto finito e nao vazio de nvertices (ou nos), denotado por V (G), e m arestas,denotado por A(G).

Cada aresta corresponde a um par nao ordenado de vertices.

1

2 3

4

a

e f g

d

b c

V (G) = {1, 2, 3, 4}

A(G) = {a, b, c, d, e, f, g}

Laco e arestas multiplas

Os nos constituintes de uma aresta podem ser diferentes ounao. Se nao forem diferentes entao a aresta forma um laco.

Arestas que ligam os mesmos pares de nos sao chamadasarestas multiplas.

1 2

5 4

3

Grafo, Multigrafo e Pseudografo

Harary define um multigrafo como o grafo que possui arestasmultiplas, mas que nao possui lacos.

Se o grafo possui lacos e arestas multiplas entao ele echamado pseudografo.

Em multigrafos/pseudografos, convem rotular as arestas paradistinguı-las entre si, devido a multiplicidade de conexoesentre os nos.

1 2

5 4

3

1 2

5 4

3

a

c d

b

hefg

1 2

5 4

3

a

c d

b

hefg

1 2

5 4

3 i

grafo multigrafo pseudografo

Incidencia e Adjacencia

Dizemos que uma aresta e incidente aos nos aos quais estaassociada.

Arestas incidentes em um mesmo no sao chamadas arestasadjacentes.

Nos incidentes em uma mesma aresta sao chamados nosadjacentes.

Um no pode estar isolado dos demais, caso ele nao estejaligado atraves de uma aresta aos restantes.

1

2

4

3

5

Descrevendo grafos

Dados os grafos abaixo:

1

2

4

3

5

1

2

4

3

a

cd

b

ef

G1 G2

G1: V (G1) = {1, 2, 3, 4, 5}A(G1) = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4)}.

G2: V (G2) = {1, 2, 3, 4}A(G1) = {a, b, c, d, e, f}.

Dıgrafo

Um grafo dirigido, ou dıgrafo, e um grafo cujas arestas saopares ordenados, comumente chamados de arcos ou arestasdirecionadas.

Grafos orientados sao grafos dirigidos que nao possuemlacos ou pares simetricos de arestas direcionadas.

45

1 2

3

2

5 4

3

1

Dıgrafo Grafo Orientado

Grau

O grau dG(v) ou d(v) de um no corresponde ao numero dearestas incidentes a ele.

Cada laco conta como duas arestas.

O menor grau presente em um grafo G e denotado por δ(G)

O maior grau presente em um grafo G e denotado por ∆(G)

1

2

4

3

5

1

2

4

3

a

cd

b

ef

δ(G1) = ? ∆(G1) = ? δ(G2) = ? ∆(G2) = ?

Grau

O grau dG(v) ou d(v) de um no corresponde ao numero dearestas incidentes a ele.

Cada laco conta como duas arestas.

O menor grau presente em um grafo G e denotado por δ(G)

O maior grau presente em um grafo G e denotado por ∆(G)

1

2

4

3

5

3

2

3

2

0

1

2

4

3

a

cd

b

ef

δ(G1) = 0 ∆(G1) = 3 δ(G2) = ? ∆(G2) = ?

Grau

O grau dG(v) ou d(v) de um no corresponde ao numero dearestas incidentes a ele.

Cada laco conta como duas arestas.

O menor grau presente em um grafo G e denotado por δ(G)

O maior grau presente em um grafo G e denotado por ∆(G)

1

2

4

3

5

3

2

3

2

0

1

2

4

3

a

cd

b

ef

2

2

4

4

δ(G1) = 0 ∆(G1) = 3 δ(G2) = 2 ∆(G2) = 4

Formula da Soma dos Graus

A soma total dos graus de todos os nos de um grafo e sempre par∑v∈V (G)

d(v) = 2m

Prova por inducao no numero de arestas (m)

B.I.: Suponha um grafo sem arcos. Todos os seus nos tem grauzero e portanto a soma geral dos graus dos nos e par (0)

H.I.: Suponha que para todo grafo de m arestas a soma dos grausde todos os nos e par (2m).

P.I.: Suponha um grafo G de m+ 1 arestas. Seja G′ um grafo iguala G exceto com menos uma aresta. Portanto G′ tem m arestas epela H.I. tem como soma total dos graus de seus nos um numeropar (2m).

A inclusao da aresta removida faz com a soma dos graus sejaincrementada de 2 (cada no incidente e incrementado de 1 grau),portanto a soma dos graus dos nos de G e um numero par(2m+ 2 = 2(m+ 1)).

Lema do aperto de maos (Handshaking lemma)

O numero de nos com grau ımpar em um grafo tem que ser parProva por inducao no numero de arestas (m)

B.I.: Suponha um grafo sem arestas, neste caso temos a soma dosgraus de todos os nos sendo par. Como a quantidade de nos comgrau ımpar e igual a zero. Entao temos uma quantidade par de nosde grau ımpar.

H.I.: Suponha um grafo com m arestas e um numero par de noscom grau ımpar.

Lema do aperto de maos (Handshaking lemma)

P.I.: Seja G um grafo com m+ 1 arestas. Seja G′, o graforesultante da retirada de uma aresta (v, w). Pela H.I., G′ tem umnumero par de nos com grau ımpar.

Vamos analisar o grafo G, baseado nas seguintes situacoes dos nos

v e w em G′:

1 v e w tem grau ımpar2 v tem grau ımpar e w tem grau par3 v e w tem grau par

Lema do aperto de maos (Handshaking lemma)

A adicao da aresta (v, w) em G′ pode resultar nas seguintes situacoes:

1 v e w tem grau ımpar em G′

A adicao da aresta (v, w) faz com que v passe a ter grau par, assimcomo w. Como o numero de nos de grau ımpar e par e comotransformamos 2 nos de grau ımpar em nos de grau par, G tem umnumero par de nos de grau ımpar.

2 v tem grau ımpar e w tem grau par em G′

A adicao da aresta (v, w) faz com que v passe a ter grau par e wpasse a ter grau ımpar. Logo, G tem um numero par de nos comgrau ımpar.

3 v e w tem grau par em G′

A adicao da aresta (v, w) faz com que tanto v quanto w passem ater grau ımpar. Como tınhamos em G′ um numero par de nos degrau ımpar, e como aumentou em 2 este numero, temos que onumero de nos de grau ımpar em G e par.

Exercıcio

Seja G um grafo com ao menos dois nos.Prove que sim ou que nao:

Eliminando um no de grau δ(G) nao e possıvel reduzir o graumedio.

Eliminando um no de grau ∆(G) nao e possıvel aumentar ograu medio.

Exercıcio

Eliminando um no de grau δ(G) nao e possıvel reduzir o graumedio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2δ(G)

n− 1

Sera possıvel reduzir o grau medio sse2m− 2δ(G)

n− 1<

2m

n, logo

2mn− 2δ(G)n < 2mn− 2m =⇒ δ(G)n > m =⇒ δ(G) >dG2

E valido, logo a afirmacao e falsa.

2 312

3

1

Exercıcio

Eliminando um no de grau δ(G) nao e possıvel reduzir o graumedio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2δ(G)

n− 1

Sera possıvel reduzir o grau medio sse2m− 2δ(G)

n− 1<

2m

n, logo

2mn− 2δ(G)n < 2mn− 2m =⇒ δ(G)n > m =⇒ δ(G) >dG2

E valido, logo a afirmacao e falsa.

2 312

3

1

Exercıcio

Eliminando um no de grau δ(G) nao e possıvel reduzir o graumedio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2δ(G)

n− 1

Sera possıvel reduzir o grau medio sse2m− 2δ(G)

n− 1<

2m

n, logo

2mn− 2δ(G)n < 2mn− 2m =⇒ δ(G)n > m =⇒ δ(G) >dG2

E valido, logo a afirmacao e falsa.

2 312

3

1

Exercıcio

Eliminando um no de grau δ(G) nao e possıvel reduzir o graumedio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2δ(G)

n− 1

Sera possıvel reduzir o grau medio sse2m− 2δ(G)

n− 1<

2m

n, logo

2mn− 2δ(G)n < 2mn− 2m =⇒ δ(G)n > m =⇒ δ(G) >dG2

E valido, logo a afirmacao e falsa.

2 312

3

1

Exercıcio

Eliminando um no de grau ∆(G) nao e possıvel aumentar ograu medio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2∆(G)

n− 1

Sera possıvel aumentar o grau medio sse2m− 2∆(G)

n− 1>

2m

n, logo

2mn− 2∆(G)n > 2mn− 2m =⇒ ∆(G)n < m =⇒ ∆(G) <dG2

Nao e valido, logo a afirmacao e verdadeira.

Exercıcio

Eliminando um no de grau ∆(G) nao e possıvel aumentar ograu medio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2∆(G)

n− 1

Sera possıvel aumentar o grau medio sse2m− 2∆(G)

n− 1>

2m

n, logo

2mn− 2∆(G)n > 2mn− 2m =⇒ ∆(G)n < m =⇒ ∆(G) <dG2

Nao e valido, logo a afirmacao e verdadeira.

Exercıcio

Eliminando um no de grau ∆(G) nao e possıvel aumentar ograu medio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2∆(G)

n− 1

Sera possıvel aumentar o grau medio sse2m− 2∆(G)

n− 1>

2m

n, logo

2mn− 2∆(G)n > 2mn− 2m =⇒ ∆(G)n < m =⇒ ∆(G) <dG2

Nao e valido, logo a afirmacao e verdadeira.

Exercıcio

Eliminando um no de grau ∆(G) nao e possıvel aumentar ograu medio.

grau medio = dG =

∑v∈V (G) d(v)

n=

2m

n

dG−x ={∑

v∈V (G) d(v)} − 2d(x)

n− 1=

2m− 2∆(G)

n− 1

Sera possıvel aumentar o grau medio sse2m− 2∆(G)

n− 1>

2m

n, logo

2mn− 2∆(G)n > 2mn− 2m =⇒ ∆(G)n < m =⇒ ∆(G) <dG2

Nao e valido, logo a afirmacao e verdadeira.

Passeio

Um passeio (walk) entre os nos u e v e uma sequencia alternadade nos e arestas que comeca no no u e termina no no v.

1

2

4

3

5

1

2

4

3

a

cd

b

ef

G1 G2

Um exemplo de passeio entre os nos 1 e 4 do grafo G1 e(1, (1, 3), 3, (2, 3), 2, (1, 2), 1, (1, 4), 4).

Pode-se pensar que apenas a ordem dos nos e importante. Porem,podemos ter passeios diferentes com a mesma sequencia de nos.

Por exemplo, no grafo G2 existem os seguintes passeios entre osnos 3 e 4: (3, d, 2, a, 4), (3, c, 2, a, 4)

Caminho

Um caminho (path) e um passeio que nao contem nos repetidos.Entre os nos 1 e 4 do grafo G1 temos os seguintes caminhos(1,4),(1,2,4),(1,3,2,4).

1

2

4

3

5

G1

O comprimento de um caminho entre os nos u e v e a quantidadede arestas presentes no caminho.

Se existirem mais de um caminho de u a v, entao o comprimentodo caminho de u a v sera igual ao menor comprimento dentre todosos caminhos de u a v.

Circuito e ciclo

Um circuito (circuit) e um passeio fechado, ou seja, o no departida e igual ao no de chegada.

Um ciclo (cycle) e um caminho fechado, isto e, um passeioque contem exatamente dois nos iguais: o primeiro e o ultimo.

Ciclos de comprimento 1 sao lacos (loops).

Uma caracterıstica interessante de um ciclo e que o numerode arestas pertencentes a ele e igual ao numero de nos.

Subgrafo

O grafo H e um subgrafo de G, denotado por H ⊆ Gse V (H) ⊆ V (G) e A(H) ⊆ A(G)

Se H 6= G temos H ⊂ G, ou seja, H e um subgrafo propriode G.

Um subgrafo gerador de G e um subgrafo H, comV (H) = V (G).

1 2

5 4

3

1 2

5

3

1 2

5 4

3

G H1 H2

subgrafo proprio subgrafo gerador

Exercıcio

Sendo e uma aresta que aparece um numero ımpar de vezesem um passeio fechado W . Prove que W possui um ciclopassando por e.

Considerando e = (x, y), cada passagem por e corresponde a x, e, you y, e, x

Como o numero de passagens por e e ımpar, ao menos duaspassagens consecutivas se darao na mesma direcao. Ex.:x, e, y, ..., x, e, y

A porcao de W entre as duas passagens e um caminho de y ate x,sem passar por e.Portanto, adicionando e a este caminho, gera-se um ciclo.

Exercıcio

Sendo e uma aresta que aparece um numero ımpar de vezesem um passeio fechado W . Prove que W possui um ciclopassando por e.

Considerando e = (x, y), cada passagem por e corresponde a x, e, you y, e, x

Como o numero de passagens por e e ımpar, ao menos duaspassagens consecutivas se darao na mesma direcao. Ex.:x, e, y, ..., x, e, y

A porcao de W entre as duas passagens e um caminho de y ate x,sem passar por e.Portanto, adicionando e a este caminho, gera-se um ciclo.

Exercıcio

Sendo e uma aresta que aparece um numero ımpar de vezesem um passeio fechado W . Prove que W possui um ciclopassando por e.

Considerando e = (x, y), cada passagem por e corresponde a x, e, you y, e, x

Como o numero de passagens por e e ımpar, ao menos duaspassagens consecutivas se darao na mesma direcao. Ex.:x, e, y, ..., x, e, y

A porcao de W entre as duas passagens e um caminho de y ate x,sem passar por e.Portanto, adicionando e a este caminho, gera-se um ciclo.

Exercıcio

Sendo e uma aresta que aparece um numero ımpar de vezesem um passeio fechado W . Prove que W possui um ciclopassando por e.

Considerando e = (x, y), cada passagem por e corresponde a x, e, you y, e, x

Como o numero de passagens por e e ımpar, ao menos duaspassagens consecutivas se darao na mesma direcao. Ex.:x, e, y, ..., x, e, y

A porcao de W entre as duas passagens e um caminho de y ate x,sem passar por e.Portanto, adicionando e a este caminho, gera-se um ciclo.

Exercıcio

W e um passeio fechado, de tamanho l no mınimo 2, que naocontem um ciclo. Prove que alguma aresta de W e repetidaem sequencia.

Prova por inducao:

B.I.: l = 2. Como nao contem ciclo, o passeio da um passo eretorna pela mesma aresta. Ex: a-a

H.I.: l > 2. W e um passeio fechado, com uma aresta repetida emsequencia. Ex: a-b-c-...-i-i-...c-b-a

P.I.: W ′ e a porcao de W descontando a repeticao.Pela H.I., W ′ tambem e um passeio fechado, com uma arestarepetida em sequencia, caso contrario contem ciclo.

Exercıcio

W e um passeio fechado, de tamanho l no mınimo 2, que naocontem um ciclo. Prove que alguma aresta de W e repetidaem sequencia.

Prova por inducao:

B.I.: l = 2. Como nao contem ciclo, o passeio da um passo eretorna pela mesma aresta. Ex: a-a

H.I.: l > 2. W e um passeio fechado, com uma aresta repetida emsequencia. Ex: a-b-c-...-i-i-...c-b-a

P.I.: W ′ e a porcao de W descontando a repeticao.Pela H.I., W ′ tambem e um passeio fechado, com uma arestarepetida em sequencia, caso contrario contem ciclo.

Exercıcio

W e um passeio fechado, de tamanho l no mınimo 2, que naocontem um ciclo. Prove que alguma aresta de W e repetidaem sequencia.

Prova por inducao:

B.I.: l = 2. Como nao contem ciclo, o passeio da um passo eretorna pela mesma aresta. Ex: a-a

H.I.: l > 2. W e um passeio fechado, com uma aresta repetida emsequencia. Ex: a-b-c-...-i-i-...c-b-a

P.I.: W ′ e a porcao de W descontando a repeticao.Pela H.I., W ′ tambem e um passeio fechado, com uma arestarepetida em sequencia, caso contrario contem ciclo.

Exercıcio

W e um passeio fechado, de tamanho l no mınimo 2, que naocontem um ciclo. Prove que alguma aresta de W e repetidaem sequencia.

Prova por inducao:

B.I.: l = 2. Como nao contem ciclo, o passeio da um passo eretorna pela mesma aresta. Ex: a-a

H.I.: l > 2. W e um passeio fechado, com uma aresta repetida emsequencia. Ex: a-b-c-...-i-i-...c-b-a

P.I.: W ′ e a porcao de W descontando a repeticao.Pela H.I., W ′ tambem e um passeio fechado, com uma arestarepetida em sequencia, caso contrario contem ciclo.

Exercıcio

W e um passeio fechado, de tamanho l no mınimo 2, que naocontem um ciclo. Prove que alguma aresta de W e repetidaem sequencia.

Prova por inducao:

B.I.: l = 2. Como nao contem ciclo, o passeio da um passo eretorna pela mesma aresta. Ex: a-a

H.I.: l > 2. W e um passeio fechado, com uma aresta repetida emsequencia. Ex: a-b-c-...-i-i-...c-b-a

P.I.: W ′ e a porcao de W descontando a repeticao.Pela H.I., W ′ tambem e um passeio fechado, com uma arestarepetida em sequencia, caso contrario contem ciclo.

Teoria dos Grafos

Introducao