Escolar Documentos
Profissional Documentos
Cultura Documentos
3 Considere a planta baixa de uma casa abaixo. Como determinar se é possível partir de algum
cômodo da casa, visitar todos os cômodos mas passando uma única vez em cada porta, e sempre vol-
tando ao cômodo do início? Modele o problema usando grafos, identificando vértices e arestas, além
de fornecer um algoritmo que resolve o problema.
1
Fonte: Levitin 3ed.
a. Execute o algoritmo de backtracking apresentado para o problema (isto é, aquele que vai cons-
truindo passo-a-passo todos os circuitos).
b. Execute as três heurísticas construtivas para o problema: “vizinho mais próximo”, “inserção mais
próxima” e “inserção gulosa de arestas”. Deixe indicado os caminhos intermediários sendo cons-
truídos em cada caso.
a. Supondo que o predecessor de um vértice u.π esteja corretamente determinado após a execução
de algum algoritmo de caminhos mínimos a partir de uma única fonte (Bellman-Ford ou Dijkstra),
crie um algoritmo que imprima a sequência de vértices em um caminho mínimo entre u, v ∈ V .
Assinatura: PRINT-SHORTEST-PATH(u).
2
8 Considere o problema de encontrar os caminhos de custo mínimo a partir de uma única fonte s em
um grafo acíclico direcionado (DAG) e ponderado. Forneça um algoritmo de complexidade O(m + n)
que resolva o problema. Dica: ordenação topológica.
9 Seja um grafo G = (V, E) direcionado e com pesos nas arestas. Os vértices desse grafo represen-
tam nós em uma rede de computadores e os arcos representa canais de comunicação entre um par de
computadores. O peso de um arco (u, v), denotado como w(u, v), indica a confiabilidade do respec-
tivo canal e representa probabilidade de que o canal u para v não falhe (um número entre 0 e 1:
0 ≤ w(u, v) ≤ 1). Assumindo que as probabilidades sejam independentes, forneça um algoritmo que
dados dois vértices fonte s e destino t e o grafo em questão, calcule o caminho mais confiável entre s e
t.