1 / 43

Algoritmos Genéticos

Algoritmos Genéticos. Freddy Alexander Posada 495983 Nohora Esperanza Rozo 415851 Juan Carlos Lezama 416065 Alfredo Velandia 415706 Norma Idarraga 415114 Eliana Ortegón 415188 Juan Bernardo 416289. Universidad Nacional de Colombia. Origen.

maxine-dyer
Download Presentation

Algoritmos Genéticos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AlgoritmosGenéticos • Freddy Alexander Posada 495983 Nohora Esperanza Rozo415851 Juan Carlos Lezama 416065 • Alfredo Velandia 415706 • Norma Idarraga 415114 • Eliana Ortegón 415188 • Juan Bernardo 416289 Universidad Nacional de Colombia

  2. Origen • La vida de los seres en la tierra ha podido evolucionar y ser lo que es a través de los procesos de selección natural, recombinación y mutación. • Ilustrar como estos procesos naturales han trabajado en conjunto para llegar a producir una amplia gama de flora y fauna es algo bastante complejo, pero que es susceptible de análisis bastante interesantes.

  3. Definición

  4. Definición • Los procesos de selección natural, la supervivencia del más fuerte y la mutación de los genes desarrollan un papel muy importante para generar la evolución de un organismo.

  5. Definición General • Un algoritmo es simplemente una serie de pasos que están organizados, por lo tanto se encuentran describiendo un proceso que se debe seguir en la búsqueda de solución a determinado problema. • Los algoritmos genéticos se definen así dado que son inspirados en la evolución biológica y su base genético molecular

  6. Codificación • La representación sea cual sea, debe ser capaz de identificar las características constituyentes de un conjunto de soluciones. Debe darse de forma que distintas representaciones permitan distintas perspectivas y así mismo distintas soluciones.

  7. Codificación • Los algoritmos genéticos requieren que el conjunto se codifique en un cromosoma, un cromosoma tiene varios genes, que corresponden a parámetros del problema. • Para poder trabajar estos genes en una computadora se codifican en una cadena. • El número de bits que se usen para cada parámetro dependerá entonces de la precisión que se busque o del número de opciones que se tengan como posibles. 

  8. Ejemplo Codificación • Al principio y tratándose de una población grande, los cromosomas se crean al azar. • Una solución que busquemos, por ejemplo 23, representada por 6+5*4/2+1 se representaría así:

  9. Funcionamiento

  10. Ruleta de Selección • Es un método para elegir a los miembros de la población de los cromosomas de una manera que sea proporcional a su aptitud. • Ello no garantiza que el miembro más fuerte pase a la siguiente generación, pero tiene una buena oportunidad de hacerlo.

  11. Tasa de Cruce • Corresponde a la posibilidad de que dos cromosomas se intercambien sus bits. • El cruce se realiza mediante la selección de un gen al azar a lo largo de los cromosomas y el intercambio de todos los genes después de ese punto.

  12. Tasa de Mutación • Esta corresponde a la posibilidad de que algo dentro del cromosoma se cambie, - un cero se convierta en 1 o un 1 en cero-. • Tratándose de genes codificados con números binarios el valor de la tasa de mutación suele ser bajo

  13. Funcionamiento Los pasos b,c,d se repiten hasta que una nueva población de los miembros de n se ha creado.

  14. Algoritmo Principal Cada uno de los algoritmos genéticos representa una posible solución al problema que se desea resolver. Todo individuo tiene asociado un ajuste de acuerdo a la bondad con respecto al problema de la solución que representa, a ese ajuste de cada individuo se le llama Algoritmo principal.

  15. Reproducción de los AGs Del algoritmo principal desarrollado por Holland se han propuesta distintas variaciones para reemplazar una población temporal, esas variaciones son: • Reemplazo de padres. • Reemplazo de individuos similares. • Reemplazo de los peores individuos. • Reemplazo aleatorio. La reproducción de los algoritmos se puede hacer a través de: • Cruce: Trata de una reproducción de tipo sexual • Copia: Trata de una reproducción de tipo asexual.

  16. ALGORITMO GENÉTICO SIMPLE • También denominado canónico es un tipo de algoritmo, el cuál necesita una codificación o representación del problema que resulte conveniente para este, además requiere una función de ajuste la cuál asigna un número real a cada solución codificada. • El resultado de la combinación de las anteriores funciones será un conjunto de individuos (posibles soluciones al problema), los cuales en la evolución del Algoritmo Genético formarán parte de la siguiente población.

  17. TIPOS DE REPRESENTACIÓN DE LOS AGs • Representación binaria en la que el valor de cada gen es 0 o 1. • Representación entera en la que cada gen toma un valor numérico dentro del rango de números enteros. • Representación real en la que cada gen es un valor real.

  18. TAMAÑO DE LA POBLACIÓN Se intuye que el trabajo con poblaciones pequeñas es riesgoso al no cubrir al 100% el espacio de búsqueda, mientras que en poblaciones grandes, el riesgo es tener un excesivo costo computacional. • Goldberg concluyó que un tipo de población de tamaño L crece exponencialmente con codificación binaria, pero, no sería muy aplicable a las codificaciones de valor real. • Alander sugiere una población ideal entre 1 y 21 tipos, y cree que este rango es suficiente para solucionar los problemas por él planteados.

  19. POBLACIÓN INICIAL Habitualmente la población inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme. Si los individuos de la población inicial se obtienen por optimización local, puede acelerar la convergencia del Algoritmo Genético.

  20. FUNCIÓN OBJETIVO Existen dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Genéticos y son una adecuada función de adaptación o función objetivo así como la codificación utilizada.

  21. ANATOMÍA DE UN AGs En un algoritmo genético tras parametrizar el problema bajo una serie (Xi,..., Xn), se codifican en un cromosoma. Todos los operadores utilizados por un algoritmo genético se aplicarán a estos cromosomas, o sobre poblaciones de ellos. Las soluciones codificadas en un cromosoma compiten entre sí para ver cual constituye la mejor solución al problema entre todas las alternativas creadas.

  22. ANATOMÍA DE UN AGs • El algoritmo genético se usará para solucionar solo una función y no solucionar diversas funciones relacionadas entre sí simultáneamente, a lo que se le llama optimización multimodal. • Los algoritmos genéticos son programas computacionales cuyo fin es imitar el proceso de "selección natural" que, según la Teoría de Darwin, rige el curso de la evolución.

  23. ANATOMÍA DE UN AGs

  24. Operadores Genéticos • OPERACIONES DE SELECCIÓN • Es el encargado de transmitir y conservar aquellas características de las soluciones que se consideran valiosas a lo largo de las generaciones. • La probabilidad que tiene un individuo de reproducirse es proporcional a la diferencia entre su aptitud y la de sus competidores. Selección por ruleta • Al incrementarse la aptitud media de la población, la fuerza de la presión selectiva también aumenta y la función de aptitud se hace más discriminadora. Selección escalada • Se eligen subgrupos de individuos de la población, y los miembros de cada subgrupo compiten entre ellos Selección por torneo

  25. Operadores Genéticos • OPERACIONES DE CRUCE • Es una estrategia de reproducción sexual. Cruce Uniforme Los genes de los padres son intercambiados de forma aleatoria. Cruce de 2 punto Se establecen 2 puntos de intercambio en un lugar aleatorio del genoma Cruce de 1 punto Se establece 1 punto de intercambio en un lugar aleatorio del genoma

  26. Operadores Genéticos • OPERACIONES DE REEMPLAZO • Cuando se trabaja con una sola población, sobre la que se realizan las selecciones e inserciones, deberá tenerse en cuenta que para insertar un nuevo individuo deberá de eliminarse previamente otro de la población: • Aleatorio. • Reemplazo de padres. • Reemplazo de similares. • Reemplazo de los peores

  27. Operadores Genéticos • OPERACIONES DE COPIA • Se trata de una estrategia de reproducción asexual • OPERACIONES DE MUTACIÓN • Provoca que alguno de sus genes, generalmente uno sólo, varíe su valor de forma aleatoria.

  28. VENTAJAS DE LOS AGS • Los algoritmos genéticos explotan un sinnúmero de soluciones • Los algoritmos genéticos están íntimamente relacionados, pues operan de forma simultánea con varias soluciones. • Poseen habilidad para manipular muchos parámetros simultáneamente • No necesitan tener un conocimiento previo para resolver un problema

  29. DESVENTAJAS DE LOS AGS El lenguaje que se debe utilizar debe tener la capacidad de tolerar cambios aleatorios • Puede demorarse bastante en converger o no en absoluto • Pueden converger prematuramente debido a una serie de problemas. (Este problema se presenta en poblaciones pequeñas, donde una variación aleatoria en el ritmo de reproducción provoca que un genotipo se haga dominante sobre los otros.)

  30. JhonHolland • El desarrollo de los Algoritmos Genéticos se debe en gran medida a John Holland, investigador de la Universidad de Michigan. A finales de la década de los 60 desarrolló una técnica que imitaba en su funcionamiento a la selección natural. Aunque originalmente esta técnica recibió el nombre de planes reproductivos, a raíz de la publicación en 1975 de su libro ``Adaptation in Natural and Artificial Systems” se conoce principalmente con el nombre de Algoritmos Genéticos.

  31. Aplicaciones de AGs La Ruleta : Es el usado por Goldberg en su libro [4]. Este método es muy simple, y consiste en crear una ruleta en la que cada cromosoma tiene asignada una fracción proporcional a su aptitud. Sin que nos refiramos a una función de aptitud en particular, supongamos que se tiene una población de 5 cromosomas cuyas aptitudes están dadas por los valores mostrados en la Tabla 1.

  32. Con los porcentajes mostrados en la cuarta columna de la Tabla 1 podemos elaborar la ruleta de la Figura 1. Esta ruleta se gira 5 veces para determinar qué individuos se seleccionarán. Debido a que a los individuos más aptos se les asignó un área mayor de la ruleta, se espera que sean seleccionados más veces que los menos aptos.

  33. Ejemplo Económico Un grupo de financieros mexicanos ha resuelto invertir 10 millones de pesos en la nueva marca de vino "Carta Nueva“. Así pues, en 4 ciudades de las principales de México se decide iniciar una vigorosa campaña comercial: México en el centro, Monterrey en el noroeste, Guadalajara en el occidente y Veracruz en el oriente. A esas 4 ciudades van a corresponder las zonas comerciales I, II, III y IV. Un estudio de mercado ha sido realizado en cada una de las zonas citadas y han sido establecidas curvas de ganancias medias en función de las inversiones totales (almacenes, tiendas de venta, representantes, publicidad, etc.) Estos datos se ilustran en la Tabla 2 y en la Figura 5. Para simplificar los cálculos, supondremos que las asignaciones de créditos o de inversiones deben hacerse por unidades de 1 millón de pesos. La pregunta es: ¿en dónde se deben de asignar los 10 millones de pesos de los que se dispone para que la ganancia total sea máxima?

  34. 1) Representación : Lo primero que necesitamos determinar para poder aplicar el algoritmo genético, es cuál será el esquema a utilizarse para representar las posibles soluciones del problema. En este caso necesitamos 4 bits () para representar cada solución, porque cada una admite 11 valores posibles (de 0 a 10). Como existen 4 valores independientes (uno por cada zona de estudio), se requieren entonces 16 bits (4 x 4) por cada cromosoma. De tal forma, una cadena representativa de un cromosoma será como se muestra en la Figura 4. Es importante hacer notar que se requiere una función de codificación (i.e., que transforme el valor de la inversión a binario) y una de decodificación (i.e., que realice el proceso inverso). Debido a que en este caso los 4 bits utilizados para representar una solución pueden producir más valores de los que se necesitan, se usará una función de ajuste que haga que los resultados producidos siempre se encuentren en el rango válido.

  35. Datos obtenidos con la investigación de mercado en cada una de las regiones de estudio

  36. 2) Función de Aptitud : Dado que el objetivo es obtener las inversiones que sumen 10, y que tengan un beneficio máximo, podemos usar la siguiente función de aptitud penalizada: F(x) =c1+ c2 + c3 + c4 500 * v +1 donde c1, c2, c3 y c4 son las ganancias por zona, que se calculan de acuerdo a los valores de la Tabla 2, y v es el valor absoluto de la diferencia entre la suma obtenida y 10. Nótese que cuando no se viole ninguna restricción (i.e., cuando la suma de inversiones sea exactamente 10) la función de aptitud no será "castigada“.

  37. 3) Operadores : Se usará una cruza de 2 puntos, la cual se efectúa de la forma que se indica en la Figura 3. La probabilidad que se dará a la misma será del 80%. En cuanto a la mutación, se le asignará una probabilidad baja, tal y como sugiere Goldberg [4], por lo que será del orden del 1%. El tamaño de población manejado para este ejemplo será de 50 cromosomas, y se correrá el algoritmo genético durante 20 generaciones.

  38. 4) Resultados : El resultado obtenido en una corrida típica es de $1.81 (en millones de pesos), correspondiente a los valores de C1=4 millones, C2=3 millones, C3=1 millón y C4=2 millones. Esta es la solución óptima, la cual se obtuvo originalmente mediante programación dinámica [13]. El tiempo que le tomó al algoritmo genético encontrar este valor fue de sólo 13 segundos3. Debe hacerse notar que, en este caso, si deseáramos analizar inversiones que sumen otra cantidad, y en unidades menores al millón, el algoritmo genético tendría que modificarse de manera mínima, mientras que la programación dinámica requeriría una cantidad tal de trabajo que prácticamente se volvería inoperante.

  39. Ejemplo

  40. Ejemplo

  41. Gracias!

More Related