Estrutura de dados e algoritmos - árvore de abrangência
Uma árvore geradora é um subconjunto do Gráfico G, que possui todos os vértices cobertos com o número mínimo possível de arestas. Portanto, uma árvore geradora não tem ciclos e não pode ser desconectada.
Por essa definição, podemos chegar à conclusão de que todo Grafo G conectado e não direcionado tem pelo menos uma árvore geradora. Um gráfico desconectado não possui nenhuma árvore estendida, pois não pode ser estendido a todos os seus vértices.
Encontramos três árvores abrangentes em um gráfico completo. Um gráfico não direcionado completo pode ter no máximonn-2 número de árvores abrangentes, onde né o número de nós. No exemplo abordado acima,n is 3, conseqüentemente 33−2 = 3 árvores abrangentes são possíveis.
Propriedades Gerais de Spanning Tree
Agora entendemos que um gráfico pode ter mais de uma árvore de abrangência. A seguir estão algumas propriedades da árvore de abrangência conectada ao gráfico G -
Um grafo conectado G pode ter mais de uma árvore geradora.
Todas as árvores geradoras possíveis do grafo G têm o mesmo número de arestas e vértices.
A Spanning Tree não possui nenhum ciclo (loops).
Remover uma aresta da árvore de abrangência fará com que o gráfico seja desconectado, ou seja, a árvore de abrangência é minimally connected.
Adicionar uma aresta à árvore geradora criará um circuito ou loop, ou seja, a árvore geradora é maximally acyclic.
Propriedades matemáticas da árvore de expansão
Spanning tree tem n-1 bordas, onde n é o número de nós (vértices).
De um gráfico completo, removendo o máximo e - n + 1 bordas, podemos construir uma árvore geradora.
Um gráfico completo pode ter no máximo nn-2 número de árvores abrangentes.
Assim, podemos concluir que as árvores geradoras são um subconjunto do Gráfico G conectado e que os gráficos desconectados não possuem árvore geradora.
Aplicação de Spanning Tree
Spanning tree é basicamente usado para encontrar um caminho mínimo para conectar todos os nós em um gráfico. A aplicação comum de árvores geradoras são -
Civil Network Planning
Computer Network Routing Protocol
Cluster Analysis
Vamos entender isso por meio de um pequeno exemplo. Considere a rede da cidade como um grande gráfico e agora planeja implantar linhas telefônicas de forma que, no mínimo, possamos nos conectar a todos os nós da cidade. É aqui que a árvore de abrangência entra em cena.
Árvore de abrangência mínima (MST)
Em um gráfico ponderado, uma árvore de abrangência mínima é uma árvore de abrangência que tem peso mínimo do que todas as outras árvores de abrangência do mesmo gráfico. Em situações do mundo real, esse peso pode ser medido como distância, congestionamento, carga de tráfego ou qualquer valor arbitrário denotado para as bordas.
Algoritmo de árvore de abrangência mínima
Devemos aprender sobre dois algoritmos de spanning tree mais importantes aqui -
Algoritmo de Kruskal
Algoritmo de Prim
Ambos são algoritmos gananciosos.