Computacion Inteligente La computacion evolutiva
Contenido Procesos de busqueda y optimizacion La Teoría de la Evolución Natural La computacion evolutiva Caracterizacion de los algoritmos geneticos Estructura y componentes basicos de los Gas Procedimientos basicos de un AG El algoritmo genetico basico SGA (Goldberg) Ejemplos
El problema de la optimizacion
Formulacion del problema 3 ingredientes basicos … una funcion objectivo, Un conjunto de variables de decision, Un conjunto de restricciones igualdades/desigualdades. El problema es buscar los valores de las variables de decision que minimizan la function objectivo satisfaciendo las restricciones… In order to present the topic of optimization, several terms need to be defined. An objective function is a mathematical function which is optimized by changing the values of the design variables. Other names include merit function, criterion function, payoff function, design function, optimization function , and cost function. Examples include part cost, or amount of material used. The design variables are those variables which the designer can change in order to obtain the best solution. Examples include link lengths, wall thicknesses, angles, etc. Constraints are function of the design variables which establish limits in individual variables or combinations of the design variables. For example, without constraints, the optimum absolute pressure may be found to be negative, which is, of course, impossible. A constraint should be implemented to avoid this type of occurrence.
Optimo global y local La funcion objectivo puede ser unimodal o multimodal. Unimodal – Un solo optimo Multimodal – mas de un optimo La mayoria de los esquemas se basan en la suposicion de una superficie unimodal. En tales casos el optimo determinado es llamado el diseño de un optimo local. El optimo global es el mejor de todos los optimos locales. Objective functions may be unimodal or multimodal. Unimodal functions have only one optimum while multimodal functions have more than one optimum. Most search schemes are based on the assumption of a unimodal surface. The optimum determined in such cases is called a local optimum. The global optimum is the best of all the local optimum designs.
Optimo global y local La funcion objectivo puede ser unimodal o multimodal. Unimodal – Un solo optimo Multimodal – mas de un optimo El optimo global es el mejor de todos los optimos locales. Objective functions may be unimodal or multimodal. Unimodal functions have only one optimum while multimodal functions have more than one optimum. Most search schemes are based on the assumption of a unimodal surface. The optimum determined in such cases is called a local optimum. The global optimum is the best of all the local optimum designs.
Una funcion objetivo unimodal x2 One possible objective function is shown. The values of the objective function are plotted on the z-axis and the design variables, x1 and x2, are plotted along the x and y axes, respectively. The plot on the right is a contour plot, where the ovals are plotted for constant values of the objective function. Notice that the larger values of the objective function are in red while the lower values are blue. The objective function in this case has only one minimum. So the local minimum is the global minimum. x1
Una funcion objetivo multimodal In this case the objective function has many optimum points, each of which is a local optimum. These local optimum points must be compared in order to find the global optimum. The maximums can be found at the red peaks and minimums at the blue valleys. This coloration patterns holds for the contour plot as well. Notice that a saddle point is found between the two adjacent maximums as labeled. Punto en silla de montar max local
Procesos de busqueda y la optimizacion
Procesos de optimizacion Clasificacion Segun la naturaleza de las soluciones Numericas: la solucion es un conjunto de parametros m. Combinatorias: el orden de los parametros en la solucion es tambien importante
Procesos de optimizacion Clasificacion Segun la naturaleza de la busqueda Deterministicas: Precisan mucho conocimiento Aleatorias: Poco eficientes Estocasticas u orientados
Procesos de optimizacion Clasificacion Segun la direccion preferente de la busqueda Explotadoras: Prioridad a la explotacion de las soluciones disponibles Exploratorias: Prioridad a la exploracion de nuevas soluciones
Procesos de optimizacion Clasificacion Segun el numero de candidatos a solucion Simples: Un solo candidato a solucion Multiples: Varios candidatos a solucion simultaneos
Procesos de optimizacion Clasificacion Segun la informacion disponible Ciegas: No hay informacion explicita sobre la funcion Heuristicas: Se dispone de cierto conocimiento especifico acerca del proceso a optimizar
Complejidad de la optimizacion Grado de la complejidad Se dice que un problema de optimizacion es Polinomicamente programable cuando existen procedimientos de resolucion que dan la respuesta tras realizar un numero de operaciones que es a lo sumo una funcion polinomica del tamaño del problema
Complejidad de la optimizacion Dada la complejidad de los problemas de optimizacion, puede ser necesario Modificar el problema, tal que admita una solucion aproximada Desarrollar algoritmos especificos, tal que encuentren la solucion en algunos casos (no todos) Rebajar las restricciones del problema Investigar otros algoritmos de optimizacion
El conflicto generalidad/eficiencia Cantidad de problemas capaz de resolver Fortaleza: Eficiencia del algoritmo Robustez: Generalidad X eficiencia
El conflicto generalidad/eficiencia Para los procedimientos tradicionales la relacion generalidad vs eficiencia es inevitablemente constante La computacion evolutiva trata de dar mayor robustez que las tecnicas clasicas
Tecnicas clasicas de optimizacion Tecnicas analiticas El espacio de busqueda esta claramente definido y es continuo La funcion objetivo es lo suficientemente “suave” y no es ruidosa
Tecnicas analiticas de optimizacion Metodos de solucion Solucion directa Solucion indirecta Busca el optimo trepando iterativamente en la direccion de maxima pendiente
Tecnicas analiticas de optimizacion Desventajas Para la funcion objetivo tiene sentido el concepto de ”direccion preferente de busqueda” Son esencialmente locales
Ejemplo: maximizar la funcion peaks Encontrar el max. de la funcion “peaks” z = f(x, y) = 3*(1-x)^2*exp(-(x^2) - (y+1)^2) - 10*(x/5 - x^3 - y^5)*exp(-x^2-y^2) -1/3*exp(-(x+1)^2 - y^2).
Ejemplo: maximizar la funcion peaks Derivada de la funcion “peaks” dz/dx = -6*(1-x)*exp(-x^2-(y+1)^2) - 6*(1-x)^2*x*exp(-x^2-(y+1)^2) - 10*(1/5-3*x^2)*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*x*exp(-x^2-y^2) - 1/3*(-2*x-2)*exp(-(x+1)^2-y^2) dz/dy = 3*(1-x)^2*(-2*y-2)*exp(-x^2-(y+1)^2) + 50*y^4*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*y*exp(-x^2-y^2) + 2/3*y*exp(-(x+1)^2-y^2) d(dz/dx)/dx = 36*x*exp(-x^2-(y+1)^2) - 18*x^2*exp(-x^2-(y+1)^2) - 24*x^3*exp(-x^2-(y+1)^2) + 12*x^4*exp(-x^2-(y+1)^2) + 72*x*exp(-x^2-y^2) - 148*x^3*exp(-x^2-y^2) - 20*y^5*exp(-x^2-y^2) + 40*x^5*exp(-x^2-y^2) + 40*x^2*exp(-x^2-y^2)*y^5 -2/3*exp(-(x+1)^2-y^2) - 4/3*exp(-(x+1)^2-y^2)*x^2 -8/3*exp(-(x+1)^2-y^2)*x d(dz/dy)/dy = -6*(1-x)^2*exp(-x^2-(y+1)^2) + 3*(1-x)^2*(-2*y-2)^2*exp(-x^2-(y+1)^2) + 200*y^3*exp(-x^2-y^2)-200*y^5*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*exp(-x^2-y^2) - 40*(1/5*x-x^3-y^5)*y^2*exp(-x^2-y^2) + 2/3*exp(-(x+1)^2-y^2)-4/3*y^2*exp(-(x+1)^2-y^2)
Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos: poblacion Inicial 5a generacion 10a generacion
Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:
Ejemplo: problema de minimizacion Minimizar
La Teoría de la Evolución Natural
La computacion evolutiva Enfoque alternativo para abordar problemas complejos de busqueda y aprendizaje A traves de modelos computacionales de procesos evolutivos
Creacionismo Tesis más aceptada sobre el origen de las especies, durante mucho tiempo Dios creó a todas las especies del planeta de forma separada Especies jerarquizadas por Dios. El hombre ocupaba el rango superior, al lado del creador
Georges Louis Leclerc (Conde de Buffon) Especuló (siglo 18) que las especies se originaron entre sí, oposición al "creacionismo”. Notó las similitudes entre el hombre y los simios, y especuló sobre la existencia de un posible ancestro común entre estas 2 especies Creía que los cambios orgánicos, eran ocasionados por el ambiente Leclerc creía en los cambios orgánicos, pero no describió un mecanismo coherente que fuera responsable por efectuarlos, sino que especuló que era el ambiente el que influía directamente sobre los organismos
Jean-Baptiste Lamarck Principios siglo 19, enunció teoría de la Evolución Características adquiridas por un organismo durante su vida podían ser transmitidas a sus descendientes. Ley del uso y desuso
Charles Darwin 1859: “The Origin of Species” Derrumba el Lamarckismo Evolución se origina a través de cambios aleatorios de características hereditarias, combinados con un proceso de selección natural (Supervivencia de los más aptos)
Selección Natural Proceso natural por el cual los individuos mas aptos de un grupo de descendientes sobrevive Mientras los menos aptos, mueren sin dejar descendientes y así se eliminan los rasgos característicos de los menos aptos Este proceso explica los cambios en las características de las especies en el tiempo, y eventualmente produce especies y tipos nuevos de organismos Natural Selection The natural process in which the fittest in a group of offspring survive to pass on their heritable traits to subsequent generations while those less fit die off leaving no offspring and thereby terminating the traits characterizing the less fit organism. Darwin theorized that this process could account for changes in the characteristic traits of species over time and eventually produce wholly new species and different types of organisms.
Un poco de historia: Darwin Charles Robert Darwin: El 27 de diciembre de 1831 zarpa de Davenport (Inglaterra) el Beagle, buque al mando del capitán Fitz-Roy, con varios objetivos científicos: completar el estudio de las costas de la Patagonia y Tierra del Fuego, realizar la cartografía de las costas de Chile, Perú y algunas islas del Pacífico y realizar varias observaciones cronométricas alrededor del mundo. A bordo viaja el joven naturalista de 22 años, Charles Robert Darwin (1809-1882). El 6 de enero de 1832 el Beagle fondea frente a las costas de Tenerife. Sin embargo, las autoridades obligan a la tripulación a permanecer a bordo del buque por miedo a que padezca el cólera. La larga travesía del Beagle, que atraca el 2 de octubre en Falmouth, sirve a Darwin para enunciar su teoría acerca del origen y evolución de las especies. Uno de los elementos claves en la teoría de Darwin es que la evolución se debe a la selección natural. Es decir, aquellos individuos más adaptados al medio tienen mayor probabilidad de sobrevivir y, de esta forma, las características que les hacen mejores se propagan entre la descendencia. De esta forma, y de manera gradual, surgen las diversas especies.
August Weisman Teoría del germoplasma: (siglo 19) la información genética se transmite a través de ciertas células (llamadas germinales), mientras que otras células (llamadas somáticas) no pueden transmitir nada.
August Weisman Experimento: cortó las colas de un grupo de ratas durante 22 generaciones (1,592 ratas), sin que las nuevas generaciones de ratas perdieran dicha extremidad Demostró así la falsedad de la hipótesis fundamental del Lamarckismo
Johann Gregor Mendel Realizó una serie de experimentos con lentejas durante una buena parte de su vida, enunciando a partir de ellos las leyes básicas que gobiernan la herencia.
Experimentos de Mendel Planta alta (TT) cruzada con una corta (tt) Tt: Heterocigoto (Alelos distintos para mismo gen) TT, tt: Homocigotos (Alelos iguales para mismo gen) Carácter Alto es Dominante, y Corto es Recesivo
Un poco de historia: Mendel Gregor Johann Mendel: El monje agustino austriaco Johann Mendel (1822-1884) se interesó por los principios que rigen la herencia de características en las especies. En 1843 se ordenó sacerdote y diez años más tarde fue nombrado profesor suplente de la escuela moderna de Brno, lugar donde pasó la mayor parte de su vida. En el jardín del mencionado convento cultivó algunas variedades de guisantes. Escogió algunas características con alternativas claras. Por ejemplo, semillas redondas o rugosas. Seleccionó variedades de guisantes que producían descendencias homogéneas para estas características y estudió sus sucesivas descendencias. De esta forma, pudo enunciar sus leyes acerca de la herencia. Estas muestran en que proporción se manifiestan las alternativas de cada característica. Para explicar las proporciones observadas, Mendel enunció la hipótesis de que la primera generación de guisantes contenía elementos hereditarios para ambas alternativas del carácter. Sus trabajos pueden considerarse como la base de la genética
Un poco de historia: De Vries Hugo De Vries: El botánico holandés Hugo De Vries (1848-1935) introdujo el concepto de mutación. Creía que las especies no surgían de manera gradual, sino a través de mutaciones de especies conocidas. Si estas mutaciones derivan en características beneficiosas, las mismas se propagan entre la descendencia. Fue responsable de que los trabajos de Mendel viesen la luz, ya que en 1900, dieciséis años después de la muerte de Mendel, encontró dichos trabajos y los dio a conocer.
+ Neo-Darwinismo Versión moderna de la Teoría Evolutiva de Darwin Síntesis entre el Darwinismo y la Genética Mendeliana Darwin desconocía los mecanismos de variación Neo-Darwinism is the modern version of Darwinian evolutionary theory: the synthesis of Mendelian genetics and Darwinism. Darwin knew very little about the mechanism of variation; he merely recognized that whatever its source, phenotypic variation allowed for natural selection to operate. It was modern genetics that provided the key insight into the means by which variation in biology originated
Evolución Componentes: Proceso de descendencia con cambio, y posiblemente diversificación Componentes: Población Variación: en una o mas características Herencia: Transmisión padres – hijos Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas
Evolución Proceso de descendencia con cambio, y posiblemente diversificación Evolución = Variación + Herencia + Selección Variación: en una o mas características Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas
Computación Evolutiva
Computación Evolutiva Años 50s y 60s: varios científicos de manera independiente estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural
Computación Evolutiva Rama de la Computación Emergente que engloba técnicas que simulan la Evolución Natural. Computación Emergente: Procesos de cómputo que resultan de la actividad colectiva de muchas unidades computacionales sencillas con interacción local.
La computacion evolutiva Enfoque alternativo para abordar problemas complejos de busqueda y aprendizaje A traves de modelos computacionales de procesos evolutivos
La computacion evolutiva Años 70: propuesta por John Holland (1975) “Adaptation in natural and artificial systems” propone por primera vez una clase de métodos, llamados Algoritmos Genéticos, para la resolución de problemas. La aparicion de computadoras de altas prestaciones permite el uso practico de la CE Años 80: divulgacion por Goldberg y Davis En 1975, John Holland defendió su tesis doctoral Adaptation in Natural and Artificial Systems (Adaptación en Sistemas Naturales y Artificiales) en la Universidad de Michigan. En ella, se proponía por primera vez una clase de métodos, llamados Algoritmos Genéticos, para la resolución de problemas. La idea que subyace en los algoritmos genéticos es que es posible implementar, en un ordenador, un programa que, guiado por los principios de la herencia y la evolución de las especies, suministre la solución de un problema.
La computacion evolutiva Los algoritmos evolutivos: La computacion evolutiva no trata tanto de reproducir ciertos fenomenos que suceden en la naturaleza sino de aprovechar las ideas genericas detras de ellos: la evolucion
La computacion evolutiva Los algoritmos evolutivos: AE: procedimiento estocastico de busqueda basado en el principio de la evolucion “supervivencia del mas apto” Modo de conseguirlo “adaptacion al entorno”
Mecanismo de la evolucion
Los Algoritmos evolutivos
Procedimiento en los AE Poblacion = conjunto de candidatos (individuos) a soluciones de un problema La poblacion es sometida a: Transformacion: proceso de adaptacion Seleccion: supervivencia de los mas aptos Transformacion+Seleccion = una generacion
Estructura de los AE Un AE debe disponer de: Una poblacion de posibles soluciones, es decir, individuos Un procedimiento de transformacion: construccion de nuevos individuos a partir de los disponibles Un procedimiento de seleccion, basado en la aptitud de los individuos
Proposito de los AE Un AE debe encontrar Al final de una generacion, la supervivencia de la poblacion mas apta Tras cierto numero de generaciones, los individuos mas proximos a la solucion buscada sobreviven
El Ciclo Evolutivo Selection Parents Recombination Population Mutation Replacement Offspring
3 paradigmas fundamentales Paradigmas de los AE 3 paradigmas fundamentales Algoritmos geneticos [Holland] Poblacion: enteros binarios Estrategias evolutivas [Rechenberg] Poblacion: numeros reales Programacion evolutiva [Fogel] Poblacion: maquinas de estado Historically, there have been three well-defined approaches to evolutionary computation: ``evolutionary programming'‘ (Fogel,66), ``evolution strategies'' (Rechenberg,73), and ``genetic algorithms'' (Holland, 75). Although similar at the highest level, these approaches differ in the way they implement an EA. The differences touch all the aspects of EAs, including the choices of representation for the individual structures, types of selection mechanisms, forms of variation operations, and measures of performance. The major differences are, however, in the choice of representations, and emphasis and use of variation operators. Evolutionary programming (EP) uses representations that are tailored to the problem domain. Similarly, evolutionary strategies (ES), due to initial interest in hydrodynamic optimisation problems, use real-valued vector representations. On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.
Algoritmos Genéticos Jhon Holland, 60s, y 70s, Univ. Michigan Idea original: estudio teórico de la adaptación, no la resolución de problemas Representación genética independiente del dominio: cadenas de bits Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante Selección probabilística On the other hand, genetic algorithms have traditionally used a more domain independent representation, namely, binary strings. Regarding variation operations, both EP and ES use mutation as the main operator, and propose a form of self-adaptive mutation; whereas GAs emphasise recombination as the main search operator, and use mutation as a secondary operator applied with a small constant probability.
Ramas de Algoritmos Genéticos Programación Genética (Genetic Programming, GP) Jhon Koza, 1989. Espacio de búsqueda, programas de computación en un lenguaje que puede ser modificado por mutación y recombinación GAs basados en ordenamiento (Order based GAs): utilizados en optimización combinatoria. Espacio de búsqueda: permutaciones Sistemas Clasificadores Genéticos (Classifier Systems). Especio de reglas de producción, sistema de aprendizaje, inducir y generalizar Although it is not possible to present here a thorough overview of all variants of evolutionary algorithms; it is worth mentioning: order-based genetic algorithms, classifier systems, and genetic programming as branches of genetic algorithms that have developed into their own directions of research and application. Order-based GAs are used in combinatorial optimisation problems where the search space is the space of permutations (e.g. the travelling salesman problem); they work directly on the permutation, applying specialised genetic operators (e.g. inversion and reordering) that preserve permutations. Classifier systems use an evolutionary algorithm to search the space of production rules of a learning system that can induce and generalise. Genetic programming applies evolutionary search to the space of computer programs in a language suitable for modification by mutation and recombination. The dominant approach uses the LISP programming language, but other languages including machine code have also been used.
Estrategias Evolutivas (1) ES, Evolution Strategies, Alemania. Evolutionstrategies Utilizadas para resolver problemas duros (sin solución analítica) de optimización de parámetros (No. reales) Cromosoma = vector de parámetros (float) Auto-adaptación de las tasas de mutación. Mutación con distribución Normal Selección (m, l)-ES, (m + l)-ES Población de padres m e hijos l, pueden tener distinto tamaño Métodos determinísticos que excluyen definitivamente a los peores de la población
Estrategias Evolutivas (2) (m, l)-ES: Los mejores m individuos se escogen de los l hijos, y se convierten en los padres de la siguiente Generación. Ej. (50,100)-ES (m + l)-ES: Los mejores m individuos se escogen del conjunto formado m padres y l hijos. Ej. (50+100)-ES (m, l)-ES parece ser el mas recomendado para optimizar Funciones complejas y lograr la auto-adaptación de las tasas de mutación In (\mu,\lambda)-selection, the \mu best individuals out of the $\lambda$ offspring are selected to become parents of the next generation In $(\mu+\lambda)$-selection the $\mu$ best individuals are selected from the set of $\mu$ parents {\bf and} $\lambda$ offspring. Thus, the $(\mu+\lambda)$ scheme is elitist (see Section \ref{elit}) since it will only accept improvements; it may seem more effective at first glance because it guarantees the survival of the fittest individuals, but it has several disadvantages when compared to $(\mu,\lambda)$-selection. Particularly, it is not well suited for optimising multimodal functions and for achieving self-adaptation of the mutation rates. Thus, $(\mu,\lambda)$-selection is generally recommended
Estrategias Evolutivas (3) El progreso del Algoritmo evolutivo, ocurre solo en una pequeña banda de valores para el paso de la mutación. Por esta razón, se requiere de una regla auto-adaptaba para el tamaño de los pasos de mutación The climax of the theory of the Evolution-Strategy is the discovery of the Evolution Window: Evolutionary progress takes place only within a very narrow band of the mutation step size. This fact leads to the necessity for a rule of self-adaptation of the mutation step size.
Programación Evolutiva Inicialmente, evolución a través de mutaciones de maquinas de estado finito Representación adecuada al problema Mutación único operador de variación, distribución normal, Auto-adaptación Selección probabilística
ES EP GA Representación Auto-Adaptación Mutación Recombinación Números Reales Digitos Binarios Auto-Adaptación Desviaciones estándares y angulos de rotación No (Standard EP) Varianzas (Meta EP) No Mutación Gaussiana, Operador principal Gaussiana, Operador único Inversión de bit, operador secundario Recombinación Discreta (azar) Intermedia (promedio) Sexual (2 padres), Panmicitica (Varios) Crossover de n-puntos, Uniforme Operador principal Sexual (2 Padres) Selección Determinística, extintiva o basada en preservación Probabilistica, extintiva Probabilística, basada en preservación Varios operadores de recombinación se usan en ES. Sexual: recombinación actua tomando 2 individuos al azar de la población de padres. Panmitica: un padre es seleccionado al azar y se mantiene fijo, luego para cada componente del vector se selecciona un segundo padre para el crossover Discreta: para cada componente del vector, se decide aleatoriamente de que padre provendra la componente. Intermedia: componentes de los hijos se obtienen calculando la media aritmetica de los correspondientes componentes de los padres
Los AE en el Soft Computing
Caracterizacion de los algoritmos geneticos
La computacion evolutiva y los AGs Razones de la preeminencia de los AGs frente a otros paradigmas Son muy flexibles. Se pueden fusionar con otros paradigmas y enfoques Mayor base teorica Necesitan menos conocimiento especifico para su funcionamiento Es el paradigma mas usado entre los de la CE
Algoritmos geneticos: Definicion Los Algoritmos Geneticos son metodos estocasticos de busqueda ciega de soluciones cuasi-optimas
Algoritmos geneticos: caracteristicas Los AGs son metodos de busqueda Ciega Codificada Multiple estocastica
Estructura y componentes basicos de los AGs
Bucle basico de un AG
Terminologia GENOTIPO CROMOSOMA GENES Sucesión Lineal “Caracteres” LOCUS: Lugar del cromosoma ALELES: valores de los caracteres ó estados de los genes.
Terminologia CROMOSOMA INDIVIDUO FENOTIPO SOLUCIÓN POTENCIAL 1 1 0 0 0 1 0 0 1 0 1 1 1
Objetos sometidos a evolucion La poblacion Objetos sometidos a evolucion m genes aj alelos L1+…+Lm bits n individuos m posiciones
Estructura y contenido de los individuos
Evaluacion de los individuos La aptitud de los individuos se evalua a partir de La funcion de evaluacion, Evaluacion, o “aptitud bruta” La funcion de aptitud, Aptitud, o “aptitud neta”
Evaluacion de los individuos
Bucle basico de un AG Soluciones 1100101010 1011101110 0011011001 1100110001 Cromosomas 110010 1010 101110 1110 1100101110 0011001001 1011101010 Cálculo Aptitud Rueda de la Ruleta Selección Cruce Mutación Evaluación Decodificación Codificación
Dos generaciones Flujo Generacion acual Proxima generacion 10010110 01100010 10100100 10011001 01111101 . . . 10010110 01100010 10100100 10011101 01111001 . . . Elitismo Seleccion Cruce Mutacion Generacion acual Proxima generacion
Procedimientos basicos de un AG
Procedimientos basicos de un AG El proceso de seleccion de progenitores A partir de la poblacion inicial Mediante muestreo Obtener la poblacion de progenitores
Mecanismos de muestreo de poblaciones Muestreo directo S Se toma un subconjunto de individuos de la poblacion siguiendo un criterio fijo A los k mejores, a dedo, etc,…
Mecanismos de muestreo de poblaciones Muestreo aleatorio equiprobable SA Se asigna a todos los elementos de la poblacion las mismas probabilidades de formar parte de la muestraA
Mecanismos de muestreo de poblaciones Muestreos estocasticos: Se asignan las probabilidades en funcion de su aptitud SA A
Procedimientos basicos de un AG El proceso de reproduccion A partir de la poblacion de progenitores Seleccionar algunos miembros Aplicar alguno de los operadores geneticos de transformacion: Cruce Mutacion Inversion, etc
Operadores geneticos de recombinacion Actuan sobre parejas y originan otro par que combinan caracteristicas de los progenitores Cruce
Operadores geneticos de alteracion Actuan sobre un individuo, realizando una pequeña modificacion a alguno o algunos de sus genes Mutacion
Procedimientos basicos de un AG El proceso de reproduccion El numero de descendientes s es aleatorio Para valores grandes de s varia mas la poblacion de una generacion a otra s menor o igual al 60% de n.
Procedimientos basicos de un AG El proceso de remplazo Remplazo inmediato de los progenitores Remplazo de los mas parecidos Remplazo por insercion s < n se sustituyen s progenitores s > n se muestrean n miembros de la poblacion Remplazo por inclusion se muestrean n de los s+n
El algoritmo genetico basico SGA (Goldberg)
Criterios para implantar un AG Criterio de codificacion Criterio de inicializacion Criterio de parada Funciones de evaluacion y aptitud ¿Cómo codificar? ¿Cómo evaluar?
Criterios para implantar un AG Criterios de seleccion Operadores geneticos Criterios de remplazo Parametros de funcionamiento ¿Cuáles individuos? ¿Cuáles individuos?
Criterios del algoritmo genetico basico Criterio de codificacion: especifico a cada problema Criterio de inicializacion cadenas binarias elegidas al azar Criterio de parada numero maximo de iteraciones Funcion de evaluacion = funcion de aptitud Una funcion objetivo
Metodos para implantar el SGA Operadores geneticos: cruce monopunto y mutacion bit a bit Criterio de seleccion: Por sorteo Criterio de remplazo: inmediato Parametros de funcionamiento: discrecionales Parametros de funcionamiento tipicos Popsize=30 maxIter=50 Pcross=60& pmut=3.33%
Operador genetico de cruce Cruce monopunto
Operador genetico de mutacion Mutacion bit a bit El punto de mutacion se selecciona de entre todos los (n x l ) de la poblacion
El procedimiento de seleccion El proceso de seleccion Para cada individuo se genera un numero aleatorio ri Se comparan ri con la probabilidad de cruce Pcross Son seleccionados para cruzarse los individuos para los que ri < Pcross
Ejemplos
Se propone resolver el siguiente problema de optimizacion Ejemplo (Riolo, 1992) Se propone resolver el siguiente problema de optimizacion Hallar Utilizando un AG con parametros popSize=6 pcross=30% pmut=1% Con una precision de media centesima TOL=5X10-3
El problema tiene la dificultad de ser multimodal Ejemplo (Riolo, 1992) El problema tiene la dificultad de ser multimodal La funcion objetivo
Ejemplo (Riolo, 1992) Codificacion: binaria, tal que Len = 8 Formula de decodificacion
Algoritmo del ejemplo Nueva poblacion Generar la poblacion inicial Evaluar la aptitud de los individuos Realizar el sorteo de los individuos Seleccionar los individuos a cruzar Cruzar los individuos seleccionados Sustituir los progenitores Generar los bits a mutar Mutar los bits correspondientes Nueva poblacion
Se propone resolver el siguiente problema de optimizacion Ejemplo Se propone resolver el siguiente problema de optimizacion Hallar
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31] Valor de aptitud del individuo en la resolución del problema Generación 1 Selección Proporcional al valor del fitness Cromosoma (representación del genotipo) Fenotipo (característica externa observable) ( 169 / 1170 ) * 100 1 2 3 4
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31] Obtención de la próxima generación Accionar la ruleta dos veces para elegir dos individuos. Obtener dos hijos del par de padres seleccionados. Repetir el proceso hasta obtener tantos hijos como padres y reemplazar la vieja población por la nueva.
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31] Supóngase que al accionar 4 veces la ruleta se obtienen los siguientes resultados en el orden indicado: 2,1,4,2. Se aplicará crossover con probabilidad 0.8
Aplicar mutación con probabilidad baja. Ej: 0.001 Note que existe una probabilidad de 0.2 de que las parejas pasen intactas. Aplicar mutación con probabilidad baja. Ej: 0.001 Nueva generacion 11001 01100 10000 11011
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31] Evaluacion de la generación 2 Repetir hasta que se cumpla la condición de finalización
Algoritmo Genético Básico Note que la selección puede aplicarse para la reproducción o el reemplazo. begin t := 0; inicializar P(t); evaluar los individuos de P(t); while la condición de terminación no se satisfaga do t := t + 1; select_repro C(t) desde P(t-1); recombinar y mutar los individuos en C(t) formando C’(t); evaluar los inidividuos en C’(t); select_replace P(t) desde C’(t) y P(t-1); end;
Una introduccion a la computacion evolutiva Fuente Anselmo Perez Serrada Una introduccion a la computacion evolutiva EscuelaTecnica Superior de Ingenieria Industrial de Valladolid, 9 de marzo de 1996