Trabalho 4
Algoritmo
O algoritmo de Dijkstra, desenvolvido pelo cientista da computação holandês Edsger Dijkstra, soluciona o problema do caminho mais curto num grafo com arestas de peso não negativo. O algoritmo considera um conjunto S de caminhos mínimos, iniciado por um vértice inicial; à cada passo, é buscado nos vértices adjacentes pertencentes a S aquele que possua a menor distância relativa ao vértice inicial, o adicionando, então, a S também. Os passos são repetidos até que todos os vértices alcançáveis pelo vértice inicial estejam em S.
Execução
Tendo o algoritmo implementado, uma maneira para gerar subárvores de caminhos mínimos é atribuir custo inicial zero a um número n de vértices, mantendo o resto do algoritmo da mesma maneira como estava antes.
O resultado será um processo onde cada uma das raízes "competem" entre si para verificar qual delas se ligará ao próximo vértice do grafo; ao final da execução do algoritmo, haverão vários grupos de nós similares às MST's, com a única diferença sendo a supervisão no processo de formação desses grupos.
O código para esse algoritmo foi escrito na linguagem Python e foram utilizadas as bibliotecas NumPy e Networkx, além da IDE Anaconda.
![]() |
Parte 1 do Algoritmo de Dijkstra |
![]() |
Parte 2 do Algoritmo de Dijkstra |
Á partir dessa implementação, então, foram encontrados os seguintes resultados:
a) Um agrupamento, G1 = (0, 0, 0)
![]() |
Grafo G1 |
![]() |
Grafo G2 |
![]() |
Grafo G3 |
Comentários
Postar um comentário