Sie sind auf Seite 1von 19

Mtodo goloso

Jos Luis Allende Reiher

Mtodo goloso

Ejemplo

ndice

1 Mtodo goloso

El mtodo

2 Ejemplo

Problema de entregar vuelto

Mtodo goloso Mtodo goloso

Ejemplo

Mtodo Goloso

Utiliza la mejor alternativa al escojer alguna de las posibles soluciones factibles. No se preocupa de lo que pueda producir ms adelante. Tomando desiciones por lo que tiene de inmediato. No realiza retrocesos ni se preocupa del pasado. Muy utilizados en optimizacin.

Mtodo goloso Mtodo goloso

Ejemplo

Mtodo Goloso

Son fciles de crear. Fciles de implementar. Si funcionan son ecientes. Se suelen usar para generar una solucin inicial factible.

Mtodo goloso Mtodo goloso

Ejemplo

Caractersticas generales

Se tiene un problema de forma ptima. Se tiene un conjunto de candidatos (o lista) para resolver el problema. Cuando va avanzando el algoritmo, se acumulan dos conjuntos:
1 2

El de los candidatos ya seleccionados. El de los candidatos no seleccionados o rechazados.

Este conjunto de candidatos que constituyen la solucin, no verica la optimalidad.

Mtodo goloso Mtodo goloso

Ejemplo

Funciones generales de los algoritmos golosos


Existe una funcin que comprueba si un conjunto de candidatos constituyen una solucin. Funcin de factibilidad, comprueba que un cierto conjunto de candidatos son factibles.
Si agrega o no otro candidato para obtener una solucin al problema.

Funcin de seleccin, indica cul de los candidatos restantes es el mejor, descartando los seleccionados o rechazados (si fueron rechazados, nunca ms se los vuelve a considerar). Funcin objetivo, obtiene un valor de la solucin que se ha encontrado. En ningn caso, se verica la optimalidad de la solucin.

Mtodo goloso Mtodo goloso

Ejemplo

Resumiendo
Se busca un conjunto de candidatos que constituya una solucin y que optimice la funcin objetivo. Inicialmente el conjunto de seleccionados est vaco. En cada paso se considera aadir el mejor candidato, sin considerar los restantes, estando guiados por la funcin objetivo. Si en el conjunto de seleccionados, incluyendo el mejor candidato ya no es factible, se descarta este candidato en este momento. Si en el conjunto de seleccionados, incluyendo el mejor candidato sigue siendo factible, se aade al conjunto de seleccionados. Cada vez que se ampla el conjunto de candidatos seleccionados, se comprueba la factibilidad.

Algoritmo 1 Algoritmo goloso Entrada: C:Conjunto Retorna: conjunto //C es el conjunto de candidato no seleccionados. 1: S //S conjunto solucin 2: mientras C = y no solucion(S ) hacer 3: x seleccionar(C ) 4: C C \ x// \: resta el elemento al conjunto 5: si f actible(S {x}) entonces 6: S S { x} 7: n si 8: n mientras 9: si solucion(S ) entonces 10: retornar S 11: sino 12: retornar no hay soluciones 13: n si

Mtodo goloso Problema de entregar vuelto

Ejemplo

Entregar vuelto

Se tiene que entregar un vuelto, utilizando el menor nmero de monedas posibles. Ejemplo: se debe dar vuelto de 675. Se disponen monedas de 500, 100, 50, 10 , 5 y 1. La solucin sera:
1 1 1 2 1 de de de de de 500. 100. 50. 10 y 5.

Qu fue lo que se realiz?

Mtodo goloso Problema de entregar vuelto

Ejemplo

Entregar vuelto

Se tom la moneda de mayor tamao y se vio si se acercaba a mi solucin. En cada paso se fue tomando una moneda de menor tamao siempre y cuando no nos pasemos de lo que debemos entregar. Para este caso, la solucin fue ptima.

Algoritmo 2 Algoritmo entrega de monedas Entrada: n: vuelto a entregar Retorna: conjunto de monedas 1: C = {500, 100, 50, 10, 5, 1} 2: S //S conjunto que tendr la solucin 3: s 0 //s es la suma de los elementos de S 4: mientras s = n hacer 5: x el mayor eleento de C tal que s + x n 6: si ese elemento entonces 7: retornar No encuentro la solucin 8: n si 9: S S {una moneda de valor x} 10: ss+x 11: n mientras 12: retornar S

Mtodo goloso Problema de entregar vuelto

Ejemplo

Relacionando con las caractersticas

Los candidatos son un conjunto de monedas: 500, 100, 50, 10, 5 y 1. Se asume que la cantidad es innita. El conjunto de candidatos debe ser nito. El conjunto de monedas ser factible si su valor no sobrepasa el vuelto que ha de darse. La funcin seleccin toma el valor ms alto que puede en el conjunto de los candidatos. La funcin objetivo cuenta la cantidad de monedas utilizadas en la solucin.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Consideraciones

Con los valores dados y disponiendo una cantidad suciente de monedas, este algoritmo produce una solucin ptima. Existen casos, en que puede llegar a una solucin, pero que no sea la ptima. Hay otros casos, en que puede a no llegar a ninguna solucin.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde no se entrega solucin ptima

El vuelto a entregar es 8. Se tienen monedas de: 6, 4 y 1. El algoritmo goloso entregara:


1 de 6. 2 de 1.

La solucin ptima es:


2 de 4.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde no se entrega solucin ptima

El vuelto a entregar es 8. Se tienen monedas de: 6, 4 y 1. El algoritmo goloso entregara:


1 de 6. 2 de 1.

La solucin ptima es:


2 de 4.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde no se entrega solucin ptima

El vuelto a entregar es 8. Se tienen monedas de: 6, 4 y 1. El algoritmo goloso entregara:


1 de 6. 2 de 1.

La solucin ptima es:


2 de 4.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde falla

Se quiere entregar vuelto de 7. Las monedas disponibles son 3 y 2. Si el algoritmo toma 2 de 3, no da la solucin. La solucin es 2 de 2 y 1 de 3.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde falla

Se quiere entregar vuelto de 7. Las monedas disponibles son 3 y 2. Si el algoritmo toma 2 de 3, no da la solucin. La solucin es 2 de 2 y 1 de 3.

Mtodo goloso Problema de entregar vuelto

Ejemplo

Ejemplo en donde falla

Se quiere entregar vuelto de 7. Las monedas disponibles son 3 y 2. Si el algoritmo toma 2 de 3, no da la solucin. La solucin es 2 de 2 y 1 de 3.

Das könnte Ihnen auch gefallen