Вы находитесь на странице: 1из 11

Seleccin de Actividades

Introduccin del algoritmo Gredy El algoritmo de seleccin de actividades es un ejemplo de los algoritmos voraces(Gredy). El algoritmo greedy tambin conocido como avaricioso, voraz, vido, codicioso, glotn y no nos garantiza obtener soluciones optimas. Por lo tanto, siempre habr que estudiar la correccin del algoritmo para demostrar si las soluciones obtenidas son optimas o no.

Seleccin de Actividades: Es un problema de planificacin de tareas (en ingls, scheduling). Se tienen n actividades (por ejemplo clases en Informtica) que deben usar un recurso (por ejemplo un aula) que slo puede ser usado por una actividad (clase) en cada instante. El problema de seleccin de actividades consiste en seleccionar un conjunto de actividades mutuamente compatibles. La seleccin de Actividades puede ser teniendo en cuenta los siguientes criterios: Orden creciente de hora de comienzo. Orden creciente de hora de finalizacin. Orden creciente de duracin: fi si Orden creciente por ndice.

Entradas para el algoritmo: Nombre de la Actividad. Tiempo Inicial de la actividad. Tiempo final de la actividad. Calcular el tiempo de duracin (tercer criterio)

Primer Criterio: Orden creciente de hora de finalizacin. Ordenamos las actividades en forma creciente de acuerdo al tiempo final. Una vez ordenados la primera actividad pasa a ser parte de la solucin. El tiempo inicial de la siguiente actividad es comparado con el tiempo final de la actividad que recientemente a sido incluida en la solucin, si esta es mayor se agrega a la solucin, con esto estamos evitando el solapamiento de actividades, es decir interseccin entre ellas.

A continuacin veremos un ejemplo grfico para entender mejor esto. Supongamos que { B, C, A, E, D, F, G, H } son las actividades.

La actividad B por ser la primera despus del ordenamiento pasa a ser una actividad de la solucin.

Ahora pasamos a la siguiente actividad C y comparamos su tiempo inicial con el tiempo final de la actividad B (que ya es parte de la solucin), que como vemos se solapan, as que C no ser parte de la solucin.

Ahora nos vamos a la Actividad A , comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso B y de igual manera vemos que se solapan as que A no pasa a ser parte de la solucin.

Ahora nos vamos a la Actividad E , comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso B y vemos que no se solapan as que E pasa a ser parte de la solucin.

Ahora nos vamos a la Actividad D, comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso E y vemos que se solapan as que D no pasa a ser parte de la solucin.

Ahora nos vamos a la Actividad F, comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso E y vemos que se solapan as que F no pasa a ser parte de la solucin.

Ahora nos vamos a la Actividad G, comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso E y vemos que se solapan as que G no pasa a ser parte de la solucin.

Ahora nos vamos a la Actividad H, comparamos su tiempo inicial con el tiempo final de la ltima actividad puesta en la solucin en este caso E y vemos que no se solapan as que H pasa a ser parte de la solucin.

Una ves terminada las actividades la solucin seria { B, E, H }.

Segundo Criterio: Orden creciente de hora de Comienzo.

Ordenamos las actividades en forma creciente de acuerdo al tiempo inicial. Una vez ordenados la primera actividad pasa a ser parte de la solucin. El tiempo inicial de la siguiente actividad es comparado con el tiempo final de la actividad que recientemente a sido incluida en la solucin, si esta es mayor se agrega a la solucin, con esto estamos evitando el solapamiento de actividades, es decir interseccin entre ellas.

A continuacin veremos un ejemplo grfico para entender mejor esto. Supongamos que { B, D, C, F, E, B } son las actividades. Ya ordenadas e acuerdo al tiempo de inicio

La actividad A por ser la primera despus del ordenamiento pasa a ser una actividad de la solucin.

Ahora pasamos a la siguiente actividad D y comparamos su tiempo inicial con el tiempo final de la actividad A (que ya es parte de la solucin), que como vemos se solapan, as que D no ser parte de la solucin.

Ahora pasamos a la siguiente actividad C y comparamos su tiempo inicial con el tiempo final de la actividad A (que ya es parte de la solucin), que como vemos no se solapan, as que C ser parte de la solucin.

Ahora pasamos a la siguiente actividad F y comparamos su tiempo inicial con el tiempo final de la actividad C (que ya es parte de la solucin), que como vemos se solapan, as que F no ser parte de la solucin.

Ahora pasamos a la siguiente actividad E y comparamos su tiempo inicial con el tiempo final de la actividad C (que ya es parte de la solucin), que como vemos no se solapan, as que E ser parte de la solucin.

.
A C E

Ahora pasamos a la siguiente actividad B y comparamos su tiempo inicial con el tiempo final de la actividad E (que ya es parte de la solucin), que como vemos se solapan, as que B no ser parte de la solucin. Y la solucin ser { A, C, E}

A
Solucin { A, C, E}

Tercer Criterio: Orden creciente tiempo de duracin.

Ordenamos las actividades en forma creciente de acuerdo al tiempo de duracin (tiempo final tiempo inicial ). Una vez ordenados la primera actividad pasa a ser parte de la solucin. El tiempo inicial de la siguiente actividad es comparado con el tiempo final de todos los tiempos finales de las actividades que estn solucin, si esta es mayor se agrega a la solucin, con esto estamos evitando el solapamiento de actividades, es decir interseccin entre ellas.
Como vemos esta dems hacer el ejemplo ya q solo cambia el criterio de ordenar, y el cdigo de seleccin es el mismo.

Algunos Ejemplos que sirven de Contraejemplos:

Conclusiones: A pesar de seleccionar actividades, esta seleccin no suele ser la ptima, como por ejemplo en los casos de contraejemplos que dimos.

Bibliografa: http://elvex.ugr.es/decsai/algorithms/slides/4%20Greedy.pdf http://ocw.ehu.es/ensenanzas-tecnicas/diseno-de-algoritmos/contenidos/algoritmosvoraces http://elvex.ugr.es/decsai/algorithms/slides/4%20Greedy.pdf http://ocw.univalle.edu.co/ocw/ingenieria-de-sistemas-telematica-y-afines/fundamentosde-analisis-y-diseno-de-algoritmos/material/sesion10.pdf http://www.lsi.upc.edu/~iea/transpas/2_voraces/tsld068.htm

Вам также может понравиться