Buscar

caminhos mínimos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

5. Caminhos Mı´nimos
1. Decida se as afirmac¸o˜es abaixo sa˜o verdadeiras ou falsas, justificando apropriadamente:
(a) A a´rvore determinada pela aplicac¸a˜o do algoritmo de Dijkstra (formada pelas arestas de pi)
tambe´m e´ uma a´rvore geradora mı´nima.
(b) Seja T uma a´rvore geradora mı´nima de um grafo G, e considere dois ve´rtices u e v em G.
Enta˜o, para determinar um caminho de peso mı´nimo em G entre u e v, basta considerar o peso
do caminho entre u e v em T .
(c) Se P e´ um caminho de peso mı´nimo entre os ve´rtices u e v em um grafo direcionado com
pesos na˜o negativos nas arestas G, enta˜o P continua sendo um caminho de peso mı´nimo entre
os ve´rtices u e v no grafo G quando as arestas tem seus pesos alterados de p(e) para p(e) + 10.
(d) Se P e´ um caminho de peso mı´nimo entre os ve´rtices u e v em um grafo direcionado com
pesos na˜o negativos nas arestas G, enta˜o P continua sendo um caminho de peso mı´nimo entre
os ve´rtices u e v no grafo G quando as arestas tem seus pesos alterados de p(e) para 10p(e).
2. O que acontece se o algoritmo de Dijkstra for aplicado a um digrafo que conte´m um ciclo em que
todas as arestas teˆm pesos negativos? Isto e´, mostre exatamente qual e´ o ponto do algoritmo
que pode dar errado, neste caso, baseado em um grafo fixo, usado como exemplo.
3. Modifique o algoritmo de Dijkstra de modo a poder determinar os caminhos mı´nimos a partir
de u e na˜o so´ os valores das distaˆncias.
Deˆ o algoritmo que, dados u e v dois ve´rtices do grafo, da´ um caminho (isto e´, a sequeˆncia de
ve´rtices) de peso mı´nimo entre u e v e seu peso.
4. Escreva na notac¸a˜o usada nesta disciplina, um algoritmo que tem como entrada um grafo di-
recionado ac´ıclico com pesos na˜o negativos nas arestas e um ve´rtice s, inicializa a distaˆncia da
fonte s para cada ve´rtice v de V (G) \ {s} como d(v) = +∞, d(s) = 0. Considera os ve´rtices em
uma ordenac¸a˜o topolo´gica e, a partir de s segue a ordem da ot, atualizando d(w) para todo w
na lista de adjaceˆncias de sa´ıda do ve´rtice corrente.
Prove que este algoritmo de fato determina o peso do menor caminho de s a cada ve´rtice de G
e analise a sua complexidade.
5. (Ex. 25.2-4 CLRS) Mostre que a retirada dos superescritos ((k) e (k − 1)) do algoritmo de
Floyd-Warshall esta´ correto, produzindo um algoritmo que tem complexidade de espac¸o Θ(n2).
6. (Ex. 25.2-6 CLRS) Como que a sa´ıda do Algoritmo de Floyd-Warshall pode ser usada para
detectar a existeˆncia de um ciclo de peso negativo no grafo?
7. Se os pesos das arestas do grafo G dado forem nu´meros naturais, considere a seguinte ideia para
encontrar um caminho mı´nimo entre um par de ve´rtices ainda usando busca em largura: crie
um grafo H com os mesmos ve´rtices de G e, ao inves de uma aresta uv de peso p, construa em
H um caminho entre u e v com p− 1 ve´rtices intermedia´rios (novos). Na˜o ha´ pesos nas arestas
de H. Execute em H uma busca em largura com raiz igual a um dos ve´rtices a que se quer
encontrar a distaˆncia. Esta ideia esta correta? Qual e´ a sua complexidade?

Continue navegando