A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)"— Transcrição da apresentação:

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

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

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

4 Árvores Grafo Acíclico: não possui ciclos
Uma árvore é um grafo conexo acíclico Todas as árvores com 6 vértices 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

6 existir um único caminho entre cada
Teorema: Um grafo T é uma árvore sss existir um único caminho entre cada par de vértices de T 2010/1 Teoria dos Grafos (INF 5037/INF2781)

7 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 2010/1 Teoria dos Grafos (INF 5037/INF2781)

8 () Também por contradição!!!
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!) 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

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

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

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

13 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

14 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 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

16 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 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

18 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

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

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

22 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

23 Á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; 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

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

26 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

27 Como T é acíclico, cada ciclo de T+a contém a.
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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

28 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

29 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

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

31 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 se indice(v´) = 0 então 5. F ← F U {{v,v´}}; 6. PBP(v´); fim-se 8. fim-para-todo } 2010/1 Teoria dos Grafos (INF 5037/INF2781)

32 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|}) 2010/1 Teoria dos Grafos (INF 5037/INF2781)

33 Á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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

34 Á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) 2010/1 Teoria dos Grafos (INF 5037/INF2781)

35 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. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

36 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 L(v) ← peso ({u,v}); 5. fim-para-todo 6. enquanto V´  V faça ache um vértice w tal que L(w) = min {L(v)| v  V-V´}; u = o vértice de V´, ligado a w, representando a aresta com o menor custo; e = {u,w}; T ← T U {e}; V´← V´ U {w}; para-todo v  V – V´ faça se peso({v,w}) < L(v) então L(v) ← p({v,w}); fim-se fim-para-todo 17. fim-enquanto saída: T 2010/1 Teoria dos Grafos (INF 5037/INF2781)

37 Complexidade Linhas 6 - 16: n-1 vezes Linhas 7- 8: n-1 vezes
Complexidade: O(n2) 2010/1 Teoria dos Grafos (INF 5037/INF2781)

38 Teorema: O algoritmo de Prim acha uma árvore geradora mínima
de um grafo conexo G não orientado. 2010/1 Teoria dos Grafos (INF 5037/INF2781)

39 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 i > j; 3. fim-se // ordenar as arestas pelos pesos 4. T ← ; 5. para-todo i = 1, ..., |E| faça se T U {ei} é acíclico então T ← T U {ei}; fim-se 9. fim-para-todo; saída: T 2010/1 Teoria dos Grafos (INF 5037/INF2781)

40 Complexidade Exercício!! 2010/1 Teoria dos Grafos (INF 5037/INF2781)


Carregar ppt "Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)"

Apresentações semelhantes


Anúncios Google