You are on page 1of 1

4.

ALGORITMO DIJKSTRA

O algoritmo Dijkstra, assim chamado devido ao seu criador Edsger Dijkstra, surgiu para solucionar o problema do caminho mnimo entre vrtices de um grafo dirigido ou no dirigido. Esse algoritmo no consegue encontrar o menor caminho em um grafo com arestas de pesos negativos, para esse propsito, pode-se usar o algoritmo de Bellman-Ford, que possui uma maior complexidade de tempo de execuo do que o Dijkstra. O Dijksta considerado um algoritmo guloso, pois toma a deciso que parece tima no momento, apesar disso ele considerado timo pois encontra sempre o caminho de menor custo da raiz para todos os demais ns do grafo. A estratgia gulosa conveniente j que em um menor caminho C entre 2 vrtices do grafo, todo sub-caminho entre esses vrtices um menor caminho entre 2 vrtices pertencentes ao caminho C, desta forma so construdos os melhores caminhos dos vrtices alcanveis pelo vrtice inicial determinando todos os melhores caminhos intermedirios, caso existam 2 menores caminhos apenas um ser descoberto. Um exemplo prtico de um problema que pode ser resolvido pelo algoritmo de Dijkstra quando algum quer se deslocar de uma cidade para outra, em que existem vrias estradas com quilmetros diferentes, assim o Dijkstra procuraria o caminho mais curto, um outro exemplo seriam as estaes de metr, em que ele avaliaria qual melhor pegar para se deslocar de um ponto a outro na cidade. Os pesos dos caminhos (arestas), podem ser compostos por informaes que representam distncia entre localidades, custos operacionais, quantidade de recursos, ou qualquer outro elemento passvel de ser ponderado entre os vrtices. A relao do Dijkstra com a busca em largura, que a busca em largura a base para esse algoritmo do caminho mais curto. O algoritmo da Busca em Largura calcula a distncia (menor nmero de arestas) desde o vrtice raiz at todos os vrtices acessveis, um mtodo de busca no-informada que expande e examina sistematicamente todos os vrtices de um grafo direcionado ou no-direcionado. Quando se tem arestas no valorizadas em um grafo, mais fcil encontrar a distncia para o vrtice raiz com o algoritmo de busca em largura, j quando se tem pesos nas arestas, utiliza-se o algoritmo Dijkstra para encontrar o menor caminho de um vrtice a outro.

You might also like