Diferencia entre revisiones de «Práctica 7: Camino Mínimo (Algoritmos III)»
(→Ejercicio 07.01:: Idea para el c)) |
m (Arreglo estructura de la práctica 7) |
||
(No se muestra una edición intermedia de otro usuario) | |||
Línea 1: | Línea 1: | ||
{{Back|Algoritmos y Estructuras de Datos III}} | {{Back|Algoritmos y Estructuras de Datos III}} | ||
== Camino Mínimo == | |||
==Ejercicio 07.01:== | ===Ejercicio 07.01:=== | ||
<br>a) S={I, VI, II, V, III, IV} | <br>a) S={I, VI, II, V, III, IV} | ||
<br>b) | <br>b) | ||
<br>c)Se podría aprovechar hasta el nodo el cual es incidente en nuevo eje que se agrega (no inclusive). | <br>c)Se podría aprovechar hasta el nodo el cual es incidente en nuevo eje que se agrega (no inclusive). | ||
==Ejercicio 07.02:== | ===Ejercicio 07.02:=== | ||
<br>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. | <br>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 | Encuentra el camino de longitud 2 y no el de longitud 1 | ||
Línea 14: | Línea 14: | ||
<br>c) Efectivamente, Dijkstra es un algoritmo Goloso. | <br>c) Efectivamente, Dijkstra es un algoritmo Goloso. | ||
==Ejercicio 07.03:== | ===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). | 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 | 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:== | ===Ejercicio 07.04:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
<br>c) | <br>c) | ||
<br>d) | <br>d) | ||
==Ejercicio 07.05:== | ===Ejercicio 07.05:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
==Ejercicio 07.06:== | ===Ejercicio 07.06:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
Línea 33: | Línea 34: | ||
<br>d) | <br>d) | ||
<br>e) | <br>e) | ||
==Ejercicio 07.07:== | ===Ejercicio 07.07:=== | ||
==Ejercicio 07.08:== | ===Ejercicio 07.08:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
==Ejercicio 07.09:== | ===Ejercicio 07.09:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
<br>c) | <br>c) | ||
==Ejercicio 07.10:== | ===Ejercicio 07.10:=== | ||
'''HECHO EN CLASE, EL QUE PUEDA SUBALO (por favor)''' | '''HECHO EN CLASE, EL QUE PUEDA SUBALO (por favor)''' | ||
==Ejercicio 07.11:== | ===Ejercicio 07.11:=== | ||
==Ejercicio 07.12:== | ===Ejercicio 07.12:=== | ||
==Ejercicio 07.13:== | ===Ejercicio 07.13:=== | ||
==Ejercicio 07.14:== | ===Ejercicio 07.14:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
==PERT== | |||
==Ejercicio 07.15:== | ===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. | 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. | Las actividades críticas son las que pertenecen al camino máximo. | ||
==Ejercicio 07.16:== | ===Ejercicio 07.16:=== | ||
<br>a) | <br>a) | ||
<br>b) | <br>b) | ||
[[Category: Prácticas]] | [[Category: Prácticas]] |
Revisión actual - 01:41 14 may 2015
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)