cc/ec/ppgi/ufes 2010/1 teoria dos grafos (inf 5037/inf2781) Árvores

40
CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

Upload: internet

Post on 16-Apr-2015

115 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvores

Page 2: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvores

• Grafo Acíclico: não possui ciclos

Page 3: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvores

• Grafo Acíclico: não possui ciclos

• Uma árvore é um grafo conexo acíclico

Page 4: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvores

• Grafo Acíclico: não possui ciclos

• Uma árvore é um grafo conexo acíclico

Todas as árvores com 6 vértices

Page 5: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Floresta

Um grafo acíclico é também chamado de floresta.

Page 6: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Um grafo T é uma árvore

sss

existir um único caminho entre cada

par de vértices de T

Page 7: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Prova

• () Por contradição!!!

– T é uma árvore• v e w dois vértices quaisquer de T

– não existe caminho entre v e w ou

– P1e P2: dois caminhos-(u,v) distintos

» Existem necessariamente dois vértices t1 e t2 P1 e P2 tais que entre t1 e t2, P1 e P2 são distintos

Page 8: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Prova

• () Também por contradição!!!– existe um único caminho entre cada par de

vértices: T é conexo– Sup. T não é acíclico:

• existe um ciclo C em T• seja {v,w} uma aresta de C:

– dois caminhos entre v e w em T (contradição!)

Page 9: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Se T é uma árvore então m=n-1

Prova:

• Por indução em n!!!!

Page 10: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Folha de uma árvore

• Uma folha de uma árvore é um vértice v tal que d(v) = 1

Page 11: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema

Toda árvore possui

pelo menos duas folhas, n > 1.

Page 12: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Um grafo conexo é uma árvore

sss

toda aresta é uma ponte

Page 13: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Distância

• Conceitos útil para se medir a localização relativa entre diferentes vértices de uma árvore ou de um grafo

• Distância d(v,w): – na árvore: número de arestas do caminho

que liga v a w

– em um grafo conexo: número de arestas do menor caminho que liga v a w.

Page 14: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Excentricidade de um vértice em um grafo

• Excentricidade de um vértice E(v): o valor da maior distância entre v e qualquer outro vértice de G.

E(v) = max d(v,vi), v V

vi V

Page 15: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Centro

• O conjunto de vértices com excentricidade mínima em um grafo é denotado centro do grafo

Page 16: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Diâmetro e vértice periférico

• Diâmetro de um grafo G é a maior das excentricidades existentes em G.

• Vértice periférico de um grafo G é um vértice cuja excentricidade é igual ao diâmetro

Page 17: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Qual o centro, o diâmetro e os vértices periféricos?

e

G

a

b

c

d

Page 18: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

As propriedades seguintes são equivalentes:

a) G é um grafo conexo e acíclico;

b) G é acíclico e tem n-1 arestas;

c) G é conexo e tem n-1 arestas;

d) G é sem ciclos e por adição de uma aresta se cria um único ciclo;

e) G é conexo mas G' = G – e é desconexo, e E;

f) todo par de vértices de G é unido por um e só um caminho simples.

Page 19: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Prova

a) b) c) d) e) f) a)

Exercício!!!

Page 20: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Toda árvore é um grafo bipartido.

Exercício!!!

Page 21: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

O centro de uma árvore

possui um ou dois vértices.

Exercício!!!

Page 22: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Subgrafo gerador

• Relembrando: um grafo H é subgrafo de G se V(H) V(G) e E(H) E(G). Se V(H) = V(G) então H é subgrafo gerador ou de espalhamento de G.

Page 23: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvore Geradora

• Uma árvore geradora é um subgrafo gerador de G que é uma árvore.

• Uma árvore geradora em um grafo G é um subgrafo minimal que conecta todos os vértices de G;

Page 24: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Todo grafo conexo possui uma árvore geradora

Page 25: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Corolário:

Se G é conexo, então m n-1

Page 26: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Seja T uma árvore geradora de um grafo conexo G

e seja a uma aresta de G, a T. Então T+ a contém um único ciclo.

Page 27: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Prova:

• Como T é acíclico, cada ciclo de T+a contém a.

C é um ciclo de T+e sse C-e é um caminho em T ligando os extremos de e.

Pelo teorema, T tem um único caminho desse tipo, logo T+e contém um único ciclo.

Page 28: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

• Como T é acíclico, cada ciclo de T+a contém a.

• C é um ciclo de T+a sss C-a é um caminho em T ligando os extremos de a.

Pelo teorema, T tem um único caminho desse tipo, logo T+e contém um único ciclo.

Page 29: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

• Como T é acíclico, cada ciclo de T+a contém a.

• C é um ciclo de T+a sss C-a é um caminho em T ligando os extremos de a.

• Pelo teorema, T tem um único caminho desse tipo, logo T+a contém um único ciclo.

Page 30: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Algoritmos

• Para construção de uma árvore geradora;

• Para construção de uma árvore geradora mínima.

Page 31: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Busca em Profundidadeentrada: G = (V,E), Lista de Adjacência de G: A(v), v V

1. i ← 1;

2. F ← ;

3. para-todo v V faça

1. indice(v) ← 0;

5. fim-para-todo

6. enquanto existir u, indice(u) = 0 faça

1. PBP(u);

8. fim-enquanto

saída: F

PBP(v)

{

1. indice(v) ← i;

2. i ← i+1;

3. para-todo v´ A(v) faça

4. se indice(v´) = 0 então

5. F ← F U {{v,v´}};

6. PBP(v´);

7. fim-se

8. fim-para-todo

}

Page 32: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Complexidade

• Para cada v V, PBP(v) é chamado apenas uma vez quando o vértice ainda não foi visitado (indice(v) = 0)

• Tempo gasto por PBP(v): proporcional a d(v)• Tempo gasto por todas as chamadas de PBP(v):

proporcional a |E|• Linhas 3 – 8: O(n)• Construção de F: O(|E|)• Complexidade: O(max {n,|E|})

Page 33: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvores geradoras em um grafo valorado

• O peso de uma árvore geradora T de G é definido como a soma dos valores de todas as arestas de T.

• Diferentes árvores geradoras de T podem ter diferentes pesos.

• Árvore Geradora mínima: a árvore geradora de G de menor peso.

Page 34: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Árvore geradora mínima

• Aplicações:– Em problemas de interligação (comunicação,

redes de luz, esgotos, etc.)

– Em problemas de construção de redes de menor custo (malhas rodoviárias, redes de computadores)

Page 35: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

Uma árvore geradora T

de um grafo conexo valorado G é mínima

sss

não existe qualquer outra árvore geradora de G, a uma distância 1 de T,

cujo peso é menor que o peso de T.

Distância entre Ti e Tj de G: número de arestas de G presentes em Ti mas não presentes em Tj.

Page 36: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Algoritmo de Primentrada: G = (V,E), Lista de Adjacência de G: A(v), v V, matriz de pesos

1. T ← ;

2. V´ ← {u};

3. para-todo v V – V´ faça

4. L(v) ← peso ({u,v});

5. fim-para-todo

6. enquanto V´ V faça

7. ache um vértice w tal que L(w) = min {L(v)| v V-V´};

8. u = o vértice de V´, ligado a w, representando a aresta com o menor custo;

9. e = {u,w};

10. T ← T U {e};

11. V´← V´ U {w};

12. para-todo v V – V´ faça

13. se peso({v,w}) < L(v) então

14. L(v) ← p({v,w});

15. fim-se

16. fim-para-todo

17. fim-enquanto

saída: T

Page 37: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Complexidade

• Linhas 6 - 16: n-1 vezes

• Linhas 7- 8: n-1 vezes

• Linhas 11 – 15: n-1 vezes

• Complexidade: O(n2)

Page 38: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Teorema:

O algoritmo de Prim acha

uma árvore geradora mínima

de um grafo conexo G

não orientado.

Page 39: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Algoritmo de Kruskalentrada: G = (V,E), Lista de Adjacência de G: A(v), v V,

matriz de pesos

1. se peso (ei) > peso (ej) então

2. i > j;

3. fim-se // ordenar as arestas pelos pesos

4. T ← ;

5.para-todo i = 1, ..., |E| faça

6. se T U {ei} é acíclico então

7. T ← T U {ei};

8. fim-se

9. fim-para-todo;

saída: T

Page 40: CC/EC/PPGI/UFES 2010/1 Teoria dos Grafos (INF 5037/INF2781) Árvores

CC/EC/PPGI/UFES2010/1 Teoria dos Grafos(INF 5037/INF2781)

Complexidade

• Exercício!!