400 likes | 582 Views
Á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
E N D
Teoria dos Grafos (INF 5037/INF2781) Árvores
Teoria dos Grafos (INF 5037/INF2781) Árvores • Grafo Acíclico: não possui ciclos
Teoria dos Grafos (INF 5037/INF2781) Árvores • Grafo Acíclico: não possui ciclos • Uma árvore é um grafo conexo acíclico
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
Teoria dos Grafos (INF 5037/INF2781) Floresta Um grafo acíclico é também chamado de floresta.
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
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
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!)
Teoria dos Grafos (INF 5037/INF2781) Teorema: • Se T é uma árvore então m=n-1 • Prova: • Por indução em n!!!!
Teoria dos Grafos (INF 5037/INF2781) Folha de uma árvore • Uma folha de uma árvore é um vértice v tal que d(v) = 1
Teoria dos Grafos (INF 5037/INF2781) Teorema • Toda árvore possui • pelo menos duas folhas, n > 1.
Teoria dos Grafos (INF 5037/INF2781) Teorema: • Um grafo conexo é uma árvore • sss • toda aresta é uma ponte
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.
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 viV
Teoria dos Grafos (INF 5037/INF2781) Centro • O conjunto de vértices com excentricidade mínima em um grafo é denotado centro do grafo
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
Teoria dos Grafos (INF 5037/INF2781) G a c e b d Qual o centro, o diâmetro e os vértices periféricos?
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.
Teoria dos Grafos (INF 5037/INF2781) Prova • a) b) c) d) e) f) a) • Exercício!!!
Teoria dos Grafos (INF 5037/INF2781) Teorema: • Toda árvore é um grafo bipartido. • Exercício!!!
Teoria dos Grafos (INF 5037/INF2781) Teorema: • O centro de uma árvore • possui um ou dois vértices. • Exercício!!!
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.
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;
Teoria dos Grafos (INF 5037/INF2781) Teorema: • Todo grafo conexo possui uma árvore geradora
Teoria dos Grafos (INF 5037/INF2781) Corolário: • Se G é conexo, então m n-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, aT. Então T+ a contém um único ciclo.
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.
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.
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.
Teoria dos Grafos (INF 5037/INF2781) Algoritmos • Para construção de uma árvore geradora; • Para construção de uma árvore geradora mínima.
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 }
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|})
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.
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)
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.
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
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)
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.
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
Teoria dos Grafos (INF 5037/INF2781) Complexidade • Exercício!!