introdução a teoria dos grafos

56
Introdução à Teoria dos Grafos

Upload: nathann-lucas-jose-lima-alcantara

Post on 08-Jul-2015

259 views

Category:

Education


3 download

DESCRIPTION

Matemática Discreta.Introdução a Teoria dos Grafos

TRANSCRIPT

Page 1: Introdução a Teoria dos Grafos

Introdução àTeoria dos Grafos

Page 2: Introdução a Teoria dos Grafos

Sumário

• Definições e Aplicações

• Terminologia

• Grafos Isomorfos

• Grafos Planares

• Árvores

Page 3: Introdução a Teoria dos Grafos

Definição Informal

• Um grafo é um conjunto finito não-vazio de nós (ou vértices) e um conjunto finito de arcos (ou arestas) tais que cada arco conecta dois nós.

Page 4: Introdução a Teoria dos Grafos

Exemplo

• Um grafo com 5 nós e 6 arestas

‣ A aresta a1 conecta os nós 1 e 2

1 3 4

25

a1

a2

a3

a4

a5 a6

Page 5: Introdução a Teoria dos Grafos

Definição Formal

• Um grafo é uma tripla ordenada (N, A, g), onde

‣ N é um conjunto não-vazio de nós (ou vértices)

‣ A é um conjunto de arcos (ou arestas)

‣ g é uma função que associa a cada arco um par não-ordenado x-y de nós, chamados de extremidades do arco.

Page 6: Introdução a Teoria dos Grafos

Exemplo

• Um grafo G = (N, A, g):

‣ N = {1, 2, 3, 4, 5}

‣ A = {a1, a2, a3, a4, a5, a6}

‣ g(a1) = 1-2; g(a2) = 1-2; g(a3) = 2-2; g(a4) = 2-3; g(a5) = 1-3; g(a6) = 3-4; 1 3 4

25

a1

a2

a3

a4

a5 a6

Page 7: Introdução a Teoria dos Grafos

Exercício

• Esboce o grafo G = (N, A, g), com

‣ N = {1, 2, 3, 4, 5}

‣ A = {a1, a2, a3, a4, a5, a6}

‣ g(a1) = 1-2; g(a2) = 1-3; g(a3) = 3-4; g(a4) = 3-4; g(a5) = 4-5; g(a6) = 5-5;

Page 8: Introdução a Teoria dos Grafos

Grafo Direcionado

• Um grafo direcionado (dígrafo) é uma tripla ordenada (N, A, g), onde

‣ N é um conjunto não-vazio de nós

‣ A é um conjunto de arestas

‣ g é uma função que associa a cada arco um par ordenado (x, y) de nós, onde x é a extremidade inicial e y é a extremidade final do arco.

Page 9: Introdução a Teoria dos Grafos

Exemplo

• Um grafo direcionado D = (N, A, g):

‣ N = {1, 2, 3, 4}

‣ A = {a1, a2, a3, a4, a5}

‣ g(a1) = (1, 2); g(a2) = (1, 4); g(a3) = (1, 3); g(a4) = (3, 1); g(a5) = (4, 4);

1

3

4

2

a1a2

a3

a5

a4

Page 10: Introdução a Teoria dos Grafos

Outros Tipos de Grafos

• Grafo Rotulado

‣ identificadores (rótulos) associados aos nós

• Grafo com Pesos

‣ valor numérico (peso) associado às arestas

Page 11: Introdução a Teoria dos Grafos

Aplicações

• Grafos podem ser usados para modelar problemas em diversas áreas:

‣ redes de comunicação

‣ malhas viárias

‣ redes de distribuição de serviços e produtos

‣ diagramas de fluxo

‣ ...

Page 12: Introdução a Teoria dos Grafos

BH

SP

587

Vitória438

RJ

527

515

442

Brasília

1009

734

Salvador

1457

11701358

Page 13: Introdução a Teoria dos Grafos
Page 14: Introdução a Teoria dos Grafos

Terminologia

• Dois nós são adjacentes, se ambos são as extremidades de uma aresta.

• Um laço em um grafo é uma aresta com extremidades n-n (para algum nó n).

• Duas arestas com as mesmas extremidades são denominadas arestas paralelas.

• Um grafo simples é um grafo sem laços e sem arestas paralelas.

Page 15: Introdução a Teoria dos Grafos

Grafo Completo

• Um grafo completo é um grafo no qual quaisquer dois nós distintos são adjacentes.

‣ O grafo simples completo com n nós é denotado por kn.

k5 k6

Page 16: Introdução a Teoria dos Grafos

Subgrafo

• Um subgrafo de um grafo consiste em um conjunto de nós e um conjunto de arestas que são subconjuntos do conjunto original de nós e de arestas, respectivamente.

• Exemplo: H é um subgrafo do grafo G.

1 3 4

25

a1

a2

a3

a4

a5 a6 1 3

2a4

a5

HG

Page 17: Introdução a Teoria dos Grafos

Caminho em um Grafo

• Um caminho do nó n0 para o nó nk é uma seqüência n0, a0, n1, a1, ... , nk-1, ak-1, nk de nós e arestas onde, para cada i, as extremidades da aresta ai são ni-ni+1.

‣ Exemplo: um caminho do nó 1 para o nó 4 em G consiste na seqüência 1, a1, 2, a4, 3, a6, 4

1 3 4

25

a1

a2

a3

a4

a5 a6

GO comprimento de um caminho é o número de arestas que ele contém.

Page 18: Introdução a Teoria dos Grafos

Ciclo

• Um ciclo é um caminho de um nó n para ele mesmo tal que nenhum arco aparece mais de uma vez.

‣ Um grafo sem ciclos é denominado acíclico.

1 2

3

45

6

a

bc

d e

f

g

h

i j

GO caminho 3, g, 6, j, 5, h, 3 é um ciclo em G.

Page 19: Introdução a Teoria dos Grafos

Terminologia

• Um nó isolado é um nó que não é adjacente a nenhum outro.

• O grau de um nó é o número de extremidades de arestas naquele nó.

• Um grafo conexo é um grafo no qual existe um caminho de qualquer nó para qualquer outro.

Page 20: Introdução a Teoria dos Grafos

Grafo Bipartido Completo

• Um grafo é bipartido completo se seus nós podem ser divididos em dois conjuntos disjuntos não-vazios N1 e N2, tal que dois nós são adjacente se, e somente se, um deles pertence a N1 e o outro a N2.

‣ Se | N1 | = m e | N2 | = n, o tal grafo é denotado por Km,n.

K2,3

1

2 3

4

5

Page 21: Introdução a Teoria dos Grafos

Exercícios

1. Desenho o grafo k4.

2. Desenhe o grafo k3,3.

3. Desenhe um grafo conexo que não é completo.

4. Todo grafo acíclico é simples? E todo grafo símples, é acíclico?

Page 22: Introdução a Teoria dos Grafos

Grafos Isomorfos

• Dois grafos podem parecer diferentes em sua representação visual, mas ainda assim serem o mesmo grafo segundo a definição formal.

‣ O importante é saber distinguir entre dois grafos que têm estruturas fundamentais diferentes.

Page 23: Introdução a Teoria dos Grafos

• Os grafos G e H a seguir são iguais

‣ mesmos nós e arestas

‣ mesma função que associa as extremidades a cada aresta

1

3

a1

4

2

a2

1

3

a1

4

2

a2

G H

Page 24: Introdução a Teoria dos Grafos

• Duas estruturas que são essencialmente iguais, são denominadas isomorfas.

• Para mostrar que duas estruturas são isomorfas, precisamos:

‣ obter uma bijeção entre os elementos das duas estruturas

‣ mostrar que as suas propriedades fundamentais são preservadas

• No caso de grafos, os elementos são os nós e arestas e a propriedade fundamental é “quais arestas conectam quais nós” (adjacência).

Page 25: Introdução a Teoria dos Grafos

• Os grafos G e I são, essencialmente, o mesmo grafo, considerando as bijeções:

‣ s (entre os nós)

‣ t (entre as arestas)

1

3

a1

4

2

a2 a b

e1

dc

e2

G I

s(1) = as(2) = cs(3) = bs(4) = d

t(a1) = e2

t(a2) = e1

Ex. a1 => 1-3 → t(a1) => s(1)-s(3)

Page 26: Introdução a Teoria dos Grafos

Definição

• Dois grafos (N1, A1, g1) e (N2, A2, g2) são isomorfos, se existem bijeções f1: N1→N2 e f2: A1→A2 tais que, para cada arco a ∈ A1, g1(a) = x-y ↔ g2(f2(a)) = f1(x)-f1(y).

Page 27: Introdução a Teoria dos Grafos

Exemplo

• Os grafos G e H a seguir são isomorfos? Caso sejam, apresente as bijeções que estabelecem o isomorfismo.

G H

Page 28: Introdução a Teoria dos Grafos

Teorema

• Dois grafos simples (N1, A1, g1) e (N2, A2, g2) são isomorfos, se existe uma bijeção f: N1→N2 tal que, ∀ x, y ∈ N1, x e y são adjacentes se, e somente se, f(x) e f(y) são adjacentes.

Page 29: Introdução a Teoria dos Grafos

Exemplo

• Encontre um isomorfismo entre os grafos a seguir.

Page 30: Introdução a Teoria dos Grafos

• Condições nas quais dois grafos não são isomorfos.

‣ um grafo tem mais nós que o outro;

‣ um grafo tem mais arestas que o outro;

‣ um grafo tem arcos paralelos, um laço, ou um ciclo e o outro não;

‣ um grafo tem um nó de grau k e o outro não;

‣ um grafo é conexo e o outro não;

‣ etc.

Page 31: Introdução a Teoria dos Grafos

Exemplo

• Prove que os dois grafos a seguir não são isomorfos.

Page 32: Introdução a Teoria dos Grafos

Exemplo

• Prove que os dois grafos a seguir não são isomorfos.

Page 33: Introdução a Teoria dos Grafos

• Grafos isomorfos são estruturalmente iguais, independentemente das diferenças na representação gráfica.

• Grafos não isomorfos têm diferenças estruturais.

Page 34: Introdução a Teoria dos Grafos

Grafos Planares

• Um grafo planar é um grafo que pode ser representado em um plano de modo que suas arestas não se interceptem (exceto em extremidades).

• Aplicação

‣ projeto de circuitos integrados (evitar cruzamento das conexões entre componentes em uma camada do chip)

Page 35: Introdução a Teoria dos Grafos

Exemplos

1 3 4

25

a1

a2

a3

a4

a5 a6

1

3

a1

4

2

a2G

I

H

Page 36: Introdução a Teoria dos Grafos

K5 não é planar.

1

2

34

5

K3,3 não é planar.

1

2 3

4

5

6

Page 37: Introdução a Teoria dos Grafos

Teorema

• Para um grafo planar simples e conexo com n nós e a arestas:

‣ se a representação planar divide o plano em r regiões, então n - a + r = 2 (fórmula de Euler);

‣ se n ≥ 3, então a ≤ 3n - 6;

‣ se n ≥ 3 e não existem ciclos de comprimento 3, então a ≤ 2n - 4.

Page 38: Introdução a Teoria dos Grafos

Grafos Homeomorfos

• Dois grafos são ditos homeomorfos se ambos podem ser obtidos do mesmo grafo por uma seqüência de subdivisões elementares, nas quais um único arco x-y é substituído por dois novos arcos x-v e v-y.

Page 39: Introdução a Teoria dos Grafos

G

H I

H e I são homeomorfos.

Page 40: Introdução a Teoria dos Grafos

Teorema de Kuratowski

• Um grafo é não planar se, e somente se, ele contém um subgrafo que é homeomorfo a K5 ou K3,3.

Page 41: Introdução a Teoria dos Grafos
Page 42: Introdução a Teoria dos Grafos

Árvores

• Uma árvore é um tipo especial de grafo.

Page 43: Introdução a Teoria dos Grafos

Definição

• Uma árvore é um grafo conexo e acíclico com um nó especial denominado raiz.

‣ um grafo conexo acíclico sem uma raiz especificada é chamado de árvore livre.

A1 A2 A3

Page 44: Introdução a Teoria dos Grafos

Definição Recorrente

• Um único nó é uma árvore

‣ a raiz é o próprio nó

• Se A1, A2, ... , An são árvores com raízes r1, r2, ..., rn, o grafo formando conectando-se a um nó r cada um dos nós r1, r2, ..., rn é uma nova árvore com raiz r.

Page 45: Introdução a Teoria dos Grafos

Exemplo

A1A2

r1r2

r

Page 46: Introdução a Teoria dos Grafos

r

a

c d

b

e

• Se r é raiz da árvore, então:

‣ o nó r é pai dos nós a e b;

‣ os nós a e b são filhos de r;

‣ os nós c e d são filhos de a.

Page 47: Introdução a Teoria dos Grafos

Terminologia

• Existe um único caminho da raiz para qualquer nó da árvore.

• Uma árvore com n nós possui n-1 arestas.

• A profundidade de um nó é o comprimento do caminho da raiz até esse nó.

• A altura de uma árvore é a maior profundidade dos nós da árvore.

Page 48: Introdução a Teoria dos Grafos

Terminologia

• Um nó sem filhos é chamado de folha.

• Floresta é um grafo acíclico (uma coleção de árvores disjuntas).

• Uma árvore binária é uma árvore na qual cada nó tem, no máximo, dois filhos.

• Uma árvore binária cheia é aquela na qual todos os nós internos têm dois filhos e todas as folhas estão na mesma profundidade.

Page 49: Introdução a Teoria dos Grafos

Exemplo

• Uma árvore binária cheia de altura 3.

Page 50: Introdução a Teoria dos Grafos

Exemplo

• Uma floresta.

Page 51: Introdução a Teoria dos Grafos

Aplicações

• Árvores de decisão;

• Árvore genealógica;

• Fluxo organizacional (hierarquia em uma empresa);

• Estrutura de arquivos e diretórios em um computador;

• ...

Page 52: Introdução a Teoria dos Grafos

+

-

+

*

2 5

3

2 4 10

*

Page 53: Introdução a Teoria dos Grafos

+

-

+

*

2 5

3

2 4 10

*

(((2*5)+3)-2) + (4*10)

Page 54: Introdução a Teoria dos Grafos

+

-

+

*

2 5

3

2 4 10

*

(((2*5)+3)-2) + (4*10)

+(-(+(*(2,5),3)2), *(4,10))

Page 55: Introdução a Teoria dos Grafos

Percursos em Árvores

• Percorrer uma árvore significar visitar todos os seu nós

• Considerando árvores binárias, temos as seguintes estratégias de percurso:

‣ Pré-ordem (raiz, esquerda, direita)

‣ Ordem simétrica (esquerda, raiz, direita)

‣ Pós-ordem (esquerda, direita, raiz)

Page 56: Introdução a Teoria dos Grafos

Exemplo• Pré-ordem (raiz, esquerda, direita)

‣ a, b, d, e, c, f, h, i, g

• Ordem simétrica (esquerda, raiz, direita)

‣ d, b, e, a, h, f, i, c, g

• Pós-ordem (esquerda, direita, raiz)

‣ d, e, b, h, i, f, g, c, a

a

b

d e

h i

f

c

g