Upload
gustavo-gatica
View
57
Download
0
Embed Size (px)
DESCRIPTION
metodoGoloso
Citation preview
Método goloso
José Luis Allende Reiher
Método goloso Ejemplo
Índice
1 Método golosoEl método
2 EjemploProblema de entregar vuelto
Método goloso Ejemplo
Método goloso
Método Goloso
Utiliza la mejor alternativa al escojer alguna de las posiblessoluciones factibles.No se preocupa de lo que pueda producir más adelante.Tomando desiciones por lo que tiene de inmediato.No realiza retrocesos ni se preocupa del pasado.Muy utilizados en optimización.
Método goloso Ejemplo
Método goloso
Método Goloso
Son fáciles de crear.Fáciles de implementar.Si funcionan son eficientes.Se suelen usar para generar una solución inicial factible.
Método goloso Ejemplo
Método goloso
Características generales
Se tiene un problema de forma óptima.Se tiene un conjunto de candidatos (o lista) para resolver elproblema.Cuando va avanzando el algoritmo, se acumulan dosconjuntos:
1 El de los candidatos ya seleccionados.2 El de los candidatos no seleccionados o rechazados.
Este conjunto de candidatos que constituyen la solución, noverifica la optimalidad.
Método goloso Ejemplo
Método goloso
Funciones generales de los algoritmos golosos
Existe una función que comprueba si un conjunto decandidatos constituyen una solución.Función de factibilidad, comprueba que un cierto conjunto decandidatos son factibles.
Si agrega o no otro candidato para obtener una solución alproblema.
Función de selección, indica cuál de los candidatos restantes esel mejor, descartando los seleccionados o rechazados (si fueronrechazados, nunca más se los vuelve a considerar).Función objetivo, obtiene un valor de la solución que se haencontrado.En ningún caso, se verifica la optimalidad de la solución.
Método goloso Ejemplo
Método goloso
Resumiendo
Se busca un conjunto de candidatos que constituya unasolución y que optimice la función objetivo.Inicialmente el conjunto de seleccionados está vacío.En cada paso se considera añadir el mejor candidato, sinconsiderar los restantes, estando guiados por la funciónobjetivo.Si en el conjunto de seleccionados, incluyendo el mejorcandidato ya no es factible, se descarta este candidato en estemomento.Si en el conjunto de seleccionados, incluyendo el mejorcandidato sigue siendo factible, se añade al conjunto deseleccionados.Cada vez que se amplía el conjunto de candidatosseleccionados, se comprueba la factibilidad.
Algoritmo 1 Algoritmo golosoEntrada: C:ConjuntoRetorna: conjunto
//C es el conjunto de candidato no seleccionados.1: S ← ∅//S conjunto solución2: mientras C 6= ∅ y no solucion(S) hacer3: x← seleccionar(C)4: C ← C \ x//“\”: resta el elemento al conjunto5: si factible(S ∪ {x}) entonces6: S ← S ∪ {x}7: fin si8: fin mientras9: si solucion(S) entonces
10: retornar S11: sino12: retornar “no hay soluciones”13: fin si
Método goloso Ejemplo
Problema de entregar vuelto
Entregar vuelto
Se tiene que entregar un vuelto, utilizando el menor número demonedas posibles.Ejemplo: se debe dar vuelto de 675.Se disponen monedas de 500, 100, 50, 10 , 5 y 1.La solución sería:
1 de 500.1 de 100.1 de 50.2 de 10 y1 de 5.
¿Qué fue lo que se realizó?
Método goloso Ejemplo
Problema de entregar vuelto
Entregar vuelto
Se tomó la moneda de mayor tamaño y se vio si se acercaba ami solución.En cada paso se fue tomando una moneda de menor tamañosiempre y cuando no nos pasemos de lo que debemos entregar.Para este caso, la solución fue óptima.
Algoritmo 2 Algoritmo entrega de monedasEntrada: n: vuelto a entregarRetorna: conjunto de monedas1: C = {500, 100, 50, 10, 5, 1}2: S ← ∅ //S conjunto que tendrá la solución3: s← 0 //s es la suma de los elementos de S4: mientras s 6= n hacer5: x←el mayor eleento de C tal que s+ x ≤ n6: si @ ese elemento entonces7: retornar “No encuentro la solución”8: fin si9: S ← S ∪ {una moneda de valor x}
10: s← s+ x11: fin mientras12: retornar S
Método goloso Ejemplo
Problema de entregar vuelto
Relacionando con las características
Los candidatos son un conjunto de monedas: 500, 100, 50, 10,5 y 1. Se asume que la cantidad es infinita. El conjunto decandidatos debe ser finito.El conjunto de monedas será factible si su valor no sobrepasael vuelto que ha de darse.La función selección toma el valor más alto que puede en elconjunto de los candidatos.La función objetivo cuenta la cantidad de monedas utilizadasen la solución.
Método goloso Ejemplo
Problema de entregar vuelto
Consideraciones
Con los valores dados y disponiendo una cantidad suficiente demonedas, este algoritmo produce una solución óptima.Existen casos, en que puede llegar a una solución, pero que nosea la óptima.Hay otros casos, en que puede a no llegar a ninguna solución.
Método goloso Ejemplo
Problema de entregar vuelto
Ejemplo en donde no se entrega solución óptima
El vuelto a entregar es 8.Se tienen monedas de: 6, 4 y 1.El algoritmo goloso entregaría:
1 de 6.2 de 1.
La solución óptima es:2 de 4.
Método goloso Ejemplo
Problema de entregar vuelto
Ejemplo en donde no se entrega solución óptima
El vuelto a entregar es 8.Se tienen monedas de: 6, 4 y 1.El algoritmo goloso entregaría:
1 de 6.2 de 1.
La solución óptima es:2 de 4.
Método goloso Ejemplo
Problema de entregar vuelto
Ejemplo en donde no se entrega solución óptima
El vuelto a entregar es 8.Se tienen monedas de: 6, 4 y 1.El algoritmo goloso entregaría:
1 de 6.2 de 1.
La solución óptima es:2 de 4.
Método goloso Ejemplo
Problema de entregar vuelto
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 solución.La solución es 2 de 2 y 1 de 3.
Método goloso Ejemplo
Problema de entregar vuelto
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 solución.La solución es 2 de 2 y 1 de 3.
Método goloso Ejemplo
Problema de entregar vuelto
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 solución.La solución es 2 de 2 y 1 de 3.