1 / 40

Árvores

Árvores. Árvores. Grafo Acíclico: não possui ciclos. Árvores. Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo acíclico. Árvores. Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo acíclico. Todas as árvores com 6 vértices. Floresta. Um grafo acíclico é também

kirra
Download Presentation

Árvores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teoria dos Grafos (INF 5037/INF2781) Árvores

  2. Teoria dos Grafos (INF 5037/INF2781) Árvores • Grafo Acíclico: não possui ciclos

  3. Teoria dos Grafos (INF 5037/INF2781) Árvores • Grafo Acíclico: não possui ciclos • Uma árvore é um grafo conexo acíclico

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

  5. Teoria dos Grafos (INF 5037/INF2781) Floresta Um grafo acíclico é também chamado de floresta.

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

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

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

  9. Teoria dos Grafos (INF 5037/INF2781) Teorema: • Se T é uma árvore então m=n-1 • Prova: • Por indução em n!!!!

  10. Teoria dos Grafos (INF 5037/INF2781) Folha de uma árvore • Uma folha de uma árvore é um vértice v tal que d(v) = 1

  11. Teoria dos Grafos (INF 5037/INF2781) Teorema • Toda árvore possui • pelo menos duas folhas, n > 1.

  12. Teoria dos Grafos (INF 5037/INF2781) Teorema: • Um grafo conexo é uma árvore • sss • toda aresta é uma ponte

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

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

  15. Teoria dos Grafos (INF 5037/INF2781) Centro • O conjunto de vértices com excentricidade mínima em um grafo é denotado centro do grafo

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

  17. Teoria dos Grafos (INF 5037/INF2781) G a c e b d Qual o centro, o diâmetro e os vértices periféricos?

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

  19. Teoria dos Grafos (INF 5037/INF2781) Prova • a) b) c) d) e) f) a) • Exercício!!!

  20. Teoria dos Grafos (INF 5037/INF2781) Teorema: • Toda árvore é um grafo bipartido. • Exercício!!!

  21. Teoria dos Grafos (INF 5037/INF2781) Teorema: • O centro de uma árvore • possui um ou dois vértices. • Exercício!!!

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

  23. 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;

  24. Teoria dos Grafos (INF 5037/INF2781) Teorema: • Todo grafo conexo possui uma árvore geradora

  25. Teoria dos Grafos (INF 5037/INF2781) Corolário: • Se G é conexo, então m n-1

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

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

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

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

  30. Teoria dos Grafos (INF 5037/INF2781) Algoritmos • Para construção de uma árvore geradora; • Para construção de uma árvore geradora mínima.

  31. Teoria dos Grafos (INF 5037/INF2781) Busca em Profundidade • entrada: 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 • indice(v) ← 0; 5. fim-para-todo 6. enquanto existir u, indice(u) = 0 faça • 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 }

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

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

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

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

  36. Teoria dos Grafos (INF 5037/INF2781) Algoritmo de Prim • entrada: 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

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

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

  39. Teoria dos Grafos (INF 5037/INF2781) Algoritmo de Kruskal • entrada: 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

  40. Teoria dos Grafos (INF 5037/INF2781) Complexidade • Exercício!!

More Related