Your SlideShare is downloading. ×
0
REPÙBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÈCNICO
“SANTIAGO MARIÑO”
EXTENSIÒN MATURÌN
Autor (a): Br.A...
Algoritmo voraces
Definición:
también conocido como ávido, devorador o goloso) El nombre
voraz proviene de que, en cada pa...
El algoritmo escoge en cada paso al mejor
elemento posible, conocido como el elemento más
prometedor. Se elimina ese eleme...
 Partimos de una solución vacía.
 En cada paso se escoge el siguiente
elemento para añadir ala solución,
entre los candi...
ELEMENTOS DEL ALGORITMO VORAZ
1. El conjunto de candidatos, entradas del problema. un conjunto o lista
de candidatos (tareas a procesar, vértices del gr...
5. Función de factibilidad. Informa si a partir de un conjunto se
puede llegar a una solución. Suele aplicarse al conjunto...
ESQUEMA GENÉRICO DEL ALGORITMO VORAZ
Dado un conjunto finito de entradas , un algoritmo voraz devuelve un
conjunto (selecc...
Función voraz (Conjunto): conjunto
{C es el conjunto de todos los candidatos}
S <= vacío {S es el conjunto en el que se...
Se desea pagar una cantidad de dinero a un cliente empleando el menor número
posible de monedas. Los elementos del esquema...
El problema de la mochila KP (del ingles Knapsack problem), es un problema de
optimización combinatoria, donde se modela u...
 Enunciado: "Se tiene una mochila que es capaz de soportar un peso
máximo P, así como un conjunto de objetos, cada uno de...
Problema de la mochila. 1
• Ejemplo: n = 3; M = 20
w = (18, 15, 10)
v = (25, 24, 15)
Solución 1: S = (1, 2/15, 0), Val...
– Función seleccionar: Escoger el objeto más
“prometedor”.
– Función factible: Será siempre cierta (podemos añadir
trozo...
El Objetivo de los arboles de recubrimiento consiste que
dado un grafo x, se debe obtener un nuevo grafo que sólo
contenga...
Árbol libre: es un grafo no dirigido conexo a cíclico. Un todo árbol libre
con n vértices tiene n-1 aristas. u si se añad...
Heurística voraz 1)
– Una solución será un cierto orden en el conjunto de nodos
(c1, c2, ..., cn): el orden de visita de ...
Ejemplo.
Empezando en el nodo 1.
Solución: (1, 4, 5, 3, 2)
Coste: 30+15+25+10+45=125
Empezando en el nodo 3.
Solución...
Heurística voraz 2)
 – Una solución será un conjunto de aristas (a1, a2, ..., an-1)
que formen un ciclo hamiltoniano, sin...
Ejemplo.
Solución: ((2, 3), (4, 5), (3, 4), (1, 2), (1, 5))
Coste = 10+15+20+45+50 = 140
Conclusiones:
– Ninguno de las do...
Coloración de grafos
Problema: dado un grafo no dirigido, realizar una coloración
utilizando el número mínimo de colores.
...
• Ejemplo.
Solución: ((1, 1), (2, 1), (3,
2),
(4, 3), (5, 3))
Número de colores = 3
1
4
3 2
5
Coloración
de
grafos
1
4
3 2
5
La estructura básica del esquema voraz se repite varias veces,
una por cada color, hasta que todos los nodos est...
Diapositiva prog no numerica 2 algoritmo voraces
Upcoming SlideShare
Loading in...5
×

Diapositiva prog no numerica 2 algoritmo voraces

733

Published on

ALGORITMO VORAZ EJEMPLOS Y MASSS

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
733
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Diapositiva prog no numerica 2 algoritmo voraces"

  1. 1. REPÙBLICA BOLIVARIANA DE VENEZUELA INSTITUTO UNIVERSITARIO POLITÈCNICO “SANTIAGO MARIÑO” EXTENSIÒN MATURÌN Autor (a): Br.Ariannys Romero Asesor(a): Ing. María Aguilera Maturín, Julio de 2013
  2. 2. Algoritmo voraces Definición: también conocido como ávido, devorador o goloso) El nombre voraz proviene de que, en cada paso, el algoritmo escoge el mejor "pedazo" que es capaz de "comer" sin preocuparse del futuro. Nunca deshace una decisión ya tomada: una vez incorporado un candidato a la solución permanece ahí hasta el final; y cada vez que un candidato es rechazado, lo es para siempre. Este algoritmo es aquel que, para resolver un determinado problema. Este sigue una heurística que consisten en elegir la opción óptima en cada paso local, con la esperanza de llegar a una solución general óptima. Este algoritmo es el que menos dificultades plantea a la hora de diseñar y comprobar su funcionamiento.
  3. 3. El algoritmo escoge en cada paso al mejor elemento posible, conocido como el elemento más prometedor. Se elimina ese elemento del conjunto de candidatos ( ) y, acto seguido, comprueba si la inclusión de este elemento en el conjunto de elementos seleccionados ( ) produce una solución factible. En caso de que así sea, se incluye ese elemento. Si la inclusión no fuera factible, se descarta el elemento. Iteramos el bucle, comprobando si el conjunto de seleccionados es una solución y, si no es así, pasando al siguiente elemento del conjunto de candidatos. FUNCIONAMIENTO
  4. 4.  Partimos de una solución vacía.  En cada paso se escoge el siguiente elemento para añadir ala solución, entre los candidatos.  Una vez tomada esta decisión no se podrá deshacer.  El algoritmo acabará cuando el conjunto de elementos  seleccionados constituya una solución. El algoritmo voraz funciona por pasos:
  5. 5. ELEMENTOS DEL ALGORITMO VORAZ
  6. 6. 1. El conjunto de candidatos, entradas del problema. un conjunto o lista de candidatos (tareas a procesar, vértices del grafo, etc); 2. Un conjunto de decisiones ya tomadas (candidatos ya escogidos); 3. Función solución. una función en la que se determina si un conjunto de candidatos es una solución al problema (aunque no tiene por qué ser la óptima); Comprueba, en cada paso, si el subconjunto actual de candidatos elegidos forma una solución (no importa si es óptima o no lo es). 4. Función de selección. Esta Informa de cuál es el elemento más prometedor para completar la solución. Éste no puede haber sido escogido con anterioridad. Cada elemento es considerado una sola vez. Luego, puede ser rechazado o aceptado y pertenecerá.
  7. 7. 5. Función de factibilidad. Informa si a partir de un conjunto se puede llegar a una solución. Suele aplicarse al conjunto de seleccionados unido con el elemento más prometedor. 6. Una función que determina si un conjunto es completable, es decir, si añadiendo a este conjunto nuevos candidatos es posible alcanzar una solución al problema, suponiendo que esta exista 7. Una función de selección que escoge el candidato aún no seleccionado que es más prometedor; 8. Función objetivo. Es aquella que queremos maximizar o minimizar, el núcleo del problema. Es la que da el valor/coste de una solución (tiempo total del proceso, la longitud del camino, etc) y es a la que se pretende maximizar o minimizar.
  8. 8. ESQUEMA GENÉRICO DEL ALGORITMO VORAZ Dado un conjunto finito de entradas , un algoritmo voraz devuelve un conjunto (seleccionados) tal que y que además cumple con las restricciones del problema inicial. Cada conjunto que satisfaga las restricciones se le suele denominar prometedor, y si este además logra que la función objetivo se minimice o maximice (según corresponda) diremos que es una solución óptima
  9. 9. Función voraz (Conjunto): conjunto {C es el conjunto de todos los candidatos} S <= vacío {S es el conjunto en el que se construye la solución} Mientras ¬solución(S) y C <> vacío hacer x <= el elemento de C que maximiza seleccionar(x) C <= C {x} Si completable(S U {x}) entonces S <= S U {x} Si solución(S) Entonces devolver S Si no devolver no hay solución
  10. 10. Se desea pagar una cantidad de dinero a un cliente empleando el menor número posible de monedas. Los elementos del esquema anterior se convierten en: candidato: conjunto finito de monedas de, por ejemplo, 1, 5, 10 y 25 unidades, con una moneda de cada tipo por lo menos; solución: conjunto de monedas cuya suma es la cantidad a pagar; completable: la suma de las monedas escogidas en un momento dado no supera la cantidad a pagar; función de selección: la moneda de mayor valor en el conjunto de candidatos aún no considerados; función objetivo: número de monedas utilizadas en la solución. Ejemplo:
  11. 11. El problema de la mochila KP (del ingles Knapsack problem), es un problema de optimización combinatoria, donde se modela una mochila que ese incapaz de soportar un peso mayor, es decir puede soportar un peso determinado, cada objeto q se le agrega a la mochila o q contiene la mochila se debe máxima el peso o valor total, sin exceder el peso máximo. Dicho problema fue realizado por Richard Karp, establecidos por el informático teórico en un famoso articulo de 1972, donde desde entonces Ha sido intensamente estudiado desde mediados del siglo XX y se hace referencia a el en el año 1897, en un articulo de George Mathews Ballard . En el cual refleja que la formulación del problema es sencilla, su resolución es mas compleja. Algunos algoritmos existentes pueden resolverlo en la practica para casos de un gran tamaño. Sin embargo, la estructura única del problema, y el hecho de que se presente como un subproblema de otros problemas mas generales, lo convierten en un problema frecuente en la investigación para optimización. Problema de la mochila
  12. 12.  Enunciado: "Se tiene una mochila que es capaz de soportar un peso máximo P, así como un conjunto de objetos, cada uno de ellos con un peso y un beneficio. La solución pasa por conseguir introducir el máximo beneficio en la mochila, eligiendo los objetos adecuados. Cada objeto puede tomarse completo o fraccionado".  Solución: La forma más simple de saber qué objetos se deben tomar es ordenar dichos objetos por la relación beneficio / peso de mayor a menor. De esta forma, tomaremos los objetos con mayor beneficio en este orden hasta que la bolsa se llene, fraccionando si fuera preciso, el último objeto a tomar. PROBLEMA DE LA MOCHILA
  13. 13. Problema de la mochila. 1 • Ejemplo: n = 3; M = 20 w = (18, 15, 10) v = (25, 24, 15) Solución 1: S = (1, 2/15, 0), Valor total = 25 + 24*2/15 = 28.2 Solución 2: S = (0, 2/3, 1), Valor total = 15 + 24*2/3 = 31 • Diseño de la solución. Podemos utilizar un algoritmo voraz para resolver el problema. – Candidatos: Cada uno de los n objetos de partida. – Función solución: Tendremos una solución si hemos introducido en la mochila el peso máximo M (o si se han acabado los objetos).  .
  14. 14. – Función seleccionar: Escoger el objeto más “prometedor”. – Función factible: Será siempre cierta (podemos añadir trozos de objetos). – Añadir a la solución: Añadir el objeto entero si cabe en la mochila, o en otro caso la proporción del mismo que quede para completarla. – Función objetivo: Suma de los beneficios de cada candidato por la proporción seleccionada del mismo Problema de la mochila. 2
  15. 15. El Objetivo de los arboles de recubrimiento consiste que dado un grafo x, se debe obtener un nuevo grafo que sólo contenga las aristas imprescindibles para una optimización global de las conexiones entre todos los nodos “optimización global”: algunos pares de nodos pueden no quedar conectados entre ellos con el mínimo costo posible en el grafo original. La aplicación del problemas tienen que ver con un conjunto de elementos, a los que se quiere conectar para intercambiar datos, compartir recursos, etc.; que minimicen los costos. ARBOLES DE RECUBRIMIENTO
  16. 16. Árbol libre: es un grafo no dirigido conexo a cíclico. Un todo árbol libre con n vértices tiene n-1 aristas. u si se añade una arista se introduce un ciclo. u si se borra una arista quedan vértices no conectados u cualquier par de vértices está unido por un único camino simple u un árbol libre con un vértice distinguido es un árbol con raíz Árbol de recubrimiento de un grafo no dirigido y etiquetado no negativamente: es cualquier subgrupo que contenga todos los vértices y que sea un árbol libre Árbol de recubrimiento de coste mínimo: es un árbol de recubrimiento y no hay ningún otro árbol de recubrimiento cuya suma de aristas sea menor TIPOS DE ARBOLES
  17. 17. Heurística voraz 1) – Una solución será un cierto orden en el conjunto de nodos (c1, c2, ..., cn): el orden de visita de los nodos. – Inicialización: seleccionar un nodo cualquiera. – Función de selección: de los nodos candidatos seleccionar el más próximo al último (o al primero) de la secuencia actual (c1, c2, ..., ca). – Acabamos cuando tengamos n nodos. El problema del viajante
  18. 18. Ejemplo. Empezando en el nodo 1. Solución: (1, 4, 5, 3, 2) Coste: 30+15+25+10+45=125 Empezando en el nodo 3. Solución: (5, 4, 3, 2, 1) Coste: 15+20+10+45+50=140 1 3 2 4 5 45 10 25 30 15 1 32 4 5 45 10 20 50 15
  19. 19. Heurística voraz 2)  – Una solución será un conjunto de aristas (a1, a2, ..., an-1) que formen un ciclo hamiltoniano, sin importar el orden.  – Empezar con un grafo sin aristas.  – Selección: seleccionar la arista candidata de menor coste.  – Factible: una arista se puede añadir a la solución actual si no se forma un ciclo (excepto para la última arista añadida) y si los nodos unidos no tienen grado mayor que 2.
  20. 20. Ejemplo. Solución: ((2, 3), (4, 5), (3, 4), (1, 2), (1, 5)) Coste = 10+15+20+45+50 = 140 Conclusiones: – Ninguno de las dos funciones de selección garantiza una solución óptima. Sin embargo, normalmente ambos dan soluciones buenas, próximas a la óptima. – Posibles mejoras: buscar heurísticas mejores; repetir la heurística 1 con varios orígenes; o bien, a partir de la solución del algoritmo intentar hacer modificaciones locales para mejorar esa solución: búsqueda local. 1 32 4 5 45 10 20 50 15
  21. 21. Coloración de grafos Problema: dado un grafo no dirigido, realizar una coloración utilizando el número mínimo de colores. • Coloración: asignación de un color a cada nodo, de forma que dos nodos unidos con un arco tengan siempre distinto color. • Una solución será un conjunto de pares de la forma (nodo, color) cumpliendo que para todo (ni, ci) y (nj, cj), si (ni, nj) es una arista del grafo, entonces ci ≠ cj. • Podemos usar una heurística voraz para obtener una solución: – Empezar con un color c1, y todos los nodos sin colorear. – Para cada uno de los nodos que no tienen asignado un color, comprobar si es posible asignarles el color actual. Repetir hasta comprobar todos los candidatos. – Si quedan nodos sin colorear, escoger otro color y volver al paso anterior. 1 4 3 2 5
  22. 22. • Ejemplo. Solución: ((1, 1), (2, 1), (3, 2), (4, 3), (5, 3)) Número de colores = 3 1 4 3 2 5 Coloración de grafos
  23. 23. 1 4 3 2 5 La estructura básica del esquema voraz se repite varias veces, una por cada color, hasta que todos los nodos estén coloreados. • Función de selección: seleccionar cualquier candidato restante. • Función factible: se puede asignar un color al candidato actual si ninguno de sus adyacentes tiene ese mismo color. • El algoritmo no garantiza la solución óptima (en el ejemplo 2 colores) Coloración de grafos
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×