Práctica 7: Camino Mínimo (Algoritmos III)
Camino Mínimo
Ejercicio 07.01:
a) S={I, VI, II, V, III, IV}
b)
c)Se podría aprovechar hasta el nodo el cual es incidente en nuevo eje que se agrega (no inclusive).
Ejercicio 07.02:
a) Por ejemplo, en un grafo de 3 nodos, donde hay un camino de 1 al 3 de longitud 2, de 1 al 2 de longitud 3 y otro de 2 al 3 de longitud -2, Dijkstra no encuentra la ruta mas corta de 1 a 3.
Encuentra el camino de longitud 2 y no el de longitud 1
b) n veces Dijkstra, o sea, o(n^3), o con un Heap, O(n m log n)
c) Efectivamente, Dijkstra es un algoritmo Goloso.
Ejercicio 07.03:
Se explica en la toerica, el ciclo interno cuesta O(m) considerando el ciclo mayor(o sea, todo junto), el O(log n) viene de reacomodar el heap luego de la actualizacion de TT en el mismo => m veces log n => O(m log n). El pseudocódigo es igual al dado en clase, tambien se puede extraer del Aho o el Cormen. En la wikipedia está el pseudocódigo utilizando heap o cola de prioridad: http://es.wikipedia.org/wiki/Algoritmo_de_Dijkstra#Pseudoc.C3.B3digo
Ejercicio 07.04:
a)
b)
c)
d)
Ejercicio 07.05:
a)
b)
Ejercicio 07.06:
a)
b)
c)
d)
e)
Ejercicio 07.07:
Ejercicio 07.08:
a)
b)
Ejercicio 07.09:
a)
b)
c)
Ejercicio 07.10:
HECHO EN CLASE, EL QUE PUEDA SUBALO (por favor)
Ejercicio 07.11:
Ejercicio 07.12:
Ejercicio 07.13:
Ejercicio 07.14:
a)
b)
PERT
Ejercicio 07.15:
Tiempo mínimo de ejecución de un proyecto en un grafo de actividades en los nodos es lo mismo que hacer camino màximo. Para hacer camino màximo se puede cambiar el signo de los pesos en los ejes y luego aplicar camino mìnimo con Dantzig o Ford. Las actividades críticas son las que pertenecen al camino máximo.
Ejercicio 07.16:
a)
b)