Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tutorial algoritmosgeneticos

475 views

Published on

  • Be the first to comment

Tutorial algoritmosgeneticos

  1. 1. Introducci´n a los Algoritmos Gen´ticos o e Marcos Gestal Pose Depto. Tecnolog´ de la Informaci´n y las Comunicaciones ıas o Universidade da Coru˜a n http://sabia.tic.udc.es/˜mgestal mgestal@udc.es´Indice1. Introducci´n o 22. Or´ ıgenes 23. Bases Biol´gicas o 44. Codificaci´n de Problemas o 45. Algoritmo Principal 56. Operadores Gen´ticos e 8 6.1. Selecci´n . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 8 6.1.1. Selecci´n por ruleta o . . . . . . . . . . . . . . . . . . . . . 8 6.1.2. Selecci´n por torneo o . . . . . . . . . . . . . . . . . . . . . 9 6.2. Cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.2.1. Cruce de 1 punto . . . . . . . . . . . . . . . . . . . . . . . 10 6.2.2. Cruce de 2 puntos . . . . . . . . . . . . . . . . . . . . . . 10 6.2.3. Cruce Uniforme . . . . . . . . . . . . . . . . . . . . . . . . 11 6.2.4. Cruces espec´ ıficos de codificaciones no binarias . . . . . . 11 6.3. Algoritmos de Reemplazo . . . . . . . . . . . . . . . . . . . . . . 12 6.4. Copia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.5. Mutaci´n . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . 137. Evaluaci´n o 14´Indice de figuras 1. Ecuaci´n Evolutiva . . . . . . . . . . . . . . . . . . o . . . . . . . . 2 2. Soft Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Individuo Gen´tico Binario . . . . . . . . . . . . . e . . . . . . . . 5 4. Ejemplo Codificaci´n: Red de Neuronas Artificiales o . . . . . . . . 6 5. Cruce de 1 Punto . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6. Cruce de 2 Puntos . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. Cruce Uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1
  2. 2. Introducci´n a los Algoritmos Gen´ticos o e El siguiente tutorial no pretende ser un documento exhaustivo acer- ca de los Algoritmos Gen´ticos. M´s bien una referencia que sirva para e a introducir la terminolog´ los conceptos claves y una bibliograf´ de ba- ıa, ıa se, quedando en manos del lector profundizar en aquellos aspectos que considere de mayor inter´s. e1. Introducci´n o Los Algoritmos Gen´ticos son m´todos adaptativos, generalmente usados en e eproblemas de b´squeda y optimizaci´n de par´metros, basados en la reproduc- u o aci´n sexual y en el principio supervivencia del m´s apto. o a M´s formalmente, y siguiendo la definici´n dada por Goldberg, “los Algorit- a omos Gen´ticos son algoritmos de b´squeda basados en la mec´nica de selecci´n e u a onatural y de la gen´tica natural. Combinan la supervivencia del m´s apto entre e aestructuras de secuencias con un intercambio de informaci´n estructurado, aun- oque aleatorizado, para constituir as´ un algoritmo de b´squeda que tenga algo de ı ulas genialidades de las b´squedas humanas” [Goldberg, 1989]. u Para alcanzar la soluci´n a un problema se parte de un conjunto inicial ode individuos, llamado poblaci´n, generado de manera aleatoria. Cada uno ode estos individuos representa una posible soluci´n al problema. Estos indi- oviduos evolucionar´n tomando como base los esquemas propuestos por Dar- awin [Darwin, 1859] sobre la selecci´n natural, y se adaptar´n en mayor medida o atras el paso de cada generaci´n a la soluci´n requerida. o o2. Or´ ıgenes Si algo funciona bien, ¿por qu´ no imitarlo?. La respuesta a esta pregun- eta nos lleva directamente a los or´ıgenes de la computaci´n evolutiva. Durante omillones de a˜os las diferentes especies se han adaptado para poder sobrevivir nen un medio cambiante. De la misma manera se podr´ tener una poblaci´n de ıa opotenciales soluciones a un problema de las que se ir´ seleccionando las mejo- ıanres hasta que se adaptasen perfectamente al medio, en este caso el problema aresolver. En t´rminos muy generales se podr´ definir la computaci´n evolutiva e ıa ocomo una familia de modelos computacionales inspirados en la evoluci´n. o M´s formalmente el t´rmino de computaci´n evolutiva se refiere al estudio a e ode los fundamentos y aplicaciones de ciertas t´cnicas heur´ e ısticas basadas en losprincipios de la evoluci´n natural [Tomassini, 1995]. Estas t´cnicas heur´ o e ısticaspodr´ clasificarse en 3 categor´ principales dando lugar a la ecuaci´n evolu- ıan ıas otiva (Fig. 1). Figura 1: Ecuaci´n Evolutiva o A continuaci´n se detallar´n un poco m´s los or´ o a a ıgenes de cada una de lasdisciplinas participantes en dicha ecuaci´n. oM. Gestal 2
  3. 3. Introducci´n a los Algoritmos Gen´ticos o e El desarrollo de los Algoritmos Gen´ticos se debe en gran medida a John eHolland, investigador de la Universidad de Michigan. A finales de la d´cada de elos 60 desarroll´ una t´cnica que imitaba en su funcionamiento a la selecci´n o e onatural. Aunque originalmente esta t´cnica recibi´ el nombre de planes repro- e oductivos, a ra´ de la publicaci´n en 1975 de su libro “Adaptation in Natural ız oand Artificial Systems” [Holland, 1975] se conoce principalmente con el nombrede Algoritmos Gen´ticos. e A grandes rasgos un Algoritmo Gen´tico consiste en una poblaci´n de solu- e ociones codificadas de forma similar a cromosomas. Cada uno de estos cromoso-mas tendr´ asociado un ajuste, valor de bondad, ajuste o fitness, que cuantifica asu validez como soluci´n al problema. En funci´n de este valor se le dar´n m´s o o a ao menos oportunidades de reproducci´n. Adem´s, con cierta probabilidad se o arealizar´n mutaciones de estos cromosomas. a Las bases de las Estrategias de Evoluci´n fueron apuntadas en 1973 por oRechemberg en su obra “Evolutionsstrategie: Optimierung Technisher Systemenach Prinzipien der Biologischen Evolution” [Rechenberg, 1973]. Las dos Es-trategias de Evoluci´n m´s empleadas son la (μ + λ)-ES y la (μ, λ)-ES. En la o aprimera de ellas un total de μ producen λ descendientes reduci´ndose nueva- emente la poblaci´n a μ individuos (los padres de la siguiente generaci´n) por o oselecci´n de los mejores individuos. De esta manera los padres sobreviven hasta oque son reemplazados por hijos mejores que ellos. En la (μ+λ)-ES la descenden-cia reemplaza directamente a los padres, sin hacer ning´n tipo de comprobaci´n. u o La Programaci´n Evolutiva surge principalmente a ra´ del trabajo “Ar- o ıztificial Intelligence Through Simulated Evolution” de Fogel, Owens y Walsh,publicado en 1966 [Fogel et al., 1966]. En este caso los individuos, conocidosaqu´ como organismos, son m´quinas de estado finito. Los organismos que mejor ı aresuelven alguna de las funciones objetivo obtienen la oportunidad de reprodu-cirse. Antes de producirse los cruces para generar la descendencia se realiza unamutaci´n sobre los padres. o A su vez la computaci´n evolutiva puede verse como uno de los campos de oinvestigaci´n de lo que se ha dado en llamar Soft Computing (Fig. 2). o Figura 2: Soft Computing Como se ha comentado anteriormente la computaci´n evolutiva tiene una ofuerte base biol´gica. En sus or´ o ıgenes los algoritmos evolutivos consistieronen copiar procesos que tienen lugar en la selecci´n natural. Este ultimo con- o ´cepto hab´ sido introducido, rodeado de mucha pol´mica, por Charles Dar- ıa ewin [Darwin, 1859]. A pesar de que a´n hoy en d´ no todos los detalles de la u ıaevoluci´n biol´gica son completamente conocidos, existen algunos hechos apo- o oyados sobre una fuerte evidencia experimental: La evoluci´n es un proceso que opera, m´s que sobre los propios organis- o a mos, sobre los cromosomas. Estos cromosomas pueden ser considerados como herramientas org´nicas que codifican la vida, o visto al rev´s, una a eM. Gestal 3
  4. 4. Introducci´n a los Algoritmos Gen´ticos o e criatura es creada decodificando la informaci´n contenida en los cromoso- o mas. La selecci´n natural es el mecanismo que relaciona los cromosomas con la o eficiencia respecto al medio de la entidad que representan. Otorga a los individuos m´s adaptados al medio un mayor n´mero de oportunidades a u de reproducirse. Los procesos evolutivos tienen lugar durante la etapa de reproducci´n. o Aunque existe una larga serie de mecanismos que afectan a la reproducci´n o los m´s comunes son la mutaci´n, causante de que los cromosomas de la a o descendencia sean diferentes a los de los padres, y el cruce o recombinaci´n, o que combina los cromosomas de los padres para producir la descendencia.3. Bases Biol´gicas o En la naturaleza, los individuos de una poblaci´n compiten constantemente ocon otros por recursos tales como comida, agua y refugio. Los individuos quetienen m´s ´xito en la lucha por los recursos tienen mayores probabilidades de a esobrevivir y generalmente una descendencia mayor. Al contrario, los individuospeor adaptados tienen un menor n´mero de descendientes, o incluso ninguno. uEsto implica que los genes de los individuos mejor adaptados se propagar´n a aun n´mero cada vez mayor de individuos de las sucesivas generaciones. u La combinaci´n de caracter´ o ısticas buenas de diferentes ancestros puede ori-ginar en ocasiones que la descendencia est´ incluso mejor adaptada al medio que elos padres. De esta manera, las especies evolucionan adapt´ndose m´s y m´s al a a amedio a medida que transcurren las generaciones [Beasley et al., 1993]. Pero la adaptaci´n de un individuo al medio no s´lo est´ determinada por su o o acomposici´n gen´tica. Influyen otros factores como el aprendizaje, en ocasiones o eadquirido por el m´todo de prueba y error, en ocasiones adquirido por imitaci´n e odel comportamiento de los padres. Para imitar esta adquisici´n de conocimiento ose han desarrollado variantes como el Ajuste Fino. Pero la adaptaci´n de un individuo al medio no s´lo est´ determinada por su o o acomposici´n gen´tica. Influyen otros factores como el aprendizaje, en ocasiones o eadquirido por el m´todo de prueba y error, en ocasiones adquirido por imitaci´n e odel comportamiento de los padres. Para imitar esta adquisici´n de conocimiento opueden emplearse t´cnicas de Ajuste Fino, consistentes en peque˜as modifica- e nciones de los genes de un cromosoma. Por ejemplo, estas modificaciones puedenrealizarse tomando como resultado el mejor individuo tras la ejecuci´n de va- orias generaciones de un Algoritmo Gen´tico cuya poblaci´n previamente ha sido e ocreada a partir de ligeras variaciones del individuo al que se desea incorporar elconocimiento.4. Codificaci´n de Problemas o Cualquier soluci´n potencial a un problema puede ser presentada dando ovalores a una serie de par´metros. El conjunto de todos los par´metros (genes a aen la terminolog´ de Algoritmos Gen´ticos) se codifica en una cadena de valores ıa edenominada cromosoma.M. Gestal 4
  5. 5. Introducci´n a los Algoritmos Gen´ticos o e El conjunto de los par´metros representado por un cromosoma particular arecibe el nombre de genotipo. El genotipo contiene la informaci´n necesaria para ola construcci´n del organismo, es decir, la soluci´n real al problema, denominada o ofenotipo. Por ejemplo, en t´rminos biol´gicos, la informaci´n gen´tica contenida e o o een el ADN de un individuo ser´ el genotipo, mientras que la expresi´n de ese ıa oADN (el propio individuo) ser´ el fenotipo. ıa Desde los primeros trabajos de John Holland la codificaci´n suele hacerse omediante valores binarios. Se asigna un determinado n´mero de bits a cada upar´metro y se realiza una discretizaci´n de la variable representada por cada a ogen. El n´mero de bits asignados depender´ del grado de ajuste que se desee u aalcanzar. Evidentemente no todos los par´metros tienen porque estar codificados acon el mismo n´mero de bits. Cada uno de los bits pertenecientes a un gen suele urecibir el nombre de alelo. La figura 3 muestra un ejemplo de un individuo binario que codifica 3par´metros. a Figura 3: Individuo Gen´tico Binario e Sin embargo, tambi´n pueden existir representaciones que codifiquen direc- etamente cada par´metro con un valor entero, real o en punto flotante. A pesar ade que se acusa a estas representaciones de degradar el paralelismo impl´ ıcitode las representaciones binarias, permiten el desarrollo de operadores gen´ticos em´s espec´ a ıficos al campo de aplicaci´n del Algoritmo Gen´tico. o e Un ejemplo t´ıpico de la aplicaci´n de los Algoritmos Gen´ticos es la optimi- o ezaci´n de los pesos de una red de neuronas artificiales. La codificaci´n de la red o oen forma de cromosoma (fig. 4) es tan sencilla como asignar un gen del cromo-soma a cada uno de los pesos de la red. Tambi´n se podr´ a˜adir genes que e ıan nindicasen el n´mero de capas de la red, y el n´mero de elementos de procesado u uen cada capa.5. Algoritmo Principal Los Algoritmos Gen´ticos trabajan sobre una poblaci´n de individuos. Cada e ouno de ellos representa una posible soluci´n al problema que se desea resolver. oTodo individuo tiene asociado un ajuste de acuerdo a la bondad con respectoal problema de la soluci´n que representa (en la naturaleza el equivalente ser´ o ıauna medida de la eficiencia del individuo en la lucha por los recursos).M. Gestal 5
  6. 6. Introducci´n a los Algoritmos Gen´ticos o e Figura 4: Ejemplo Codificaci´n: Red de Neuronas Artificiales o El funcionamiento gen´rico de un Algoritmo Gen´tico puede apreciarse en e eel siguiente pseudoc´digo: oInicializar poblaci´n actual aleatoriamente oMIENTRAS no se cumpla el criterio de terminaci´n o crear poblaci´n temporal vac´a o ı MIENTRAS poblaci´n temporal no llena o seleccionar padres cruzar padres con probabilidad Pc SI se ha producido el cruce mutar uno de los descendientes con probabilidad Pm evaluar descendientes a~adir descendientes a la poblaci´n temporal n o SINO a~adir padres a la poblaci´n temporal n o FIN SI FIN MIENTRAS aumentar contador generaciones establecer como nueva poblaci´n actual la poblaci´n temporal o oFIN MIENTRAS Una generaci´n se obtiene a partir de la anterior por medio de los operadores ode reproducci´n. Existen 2 tipos: o Cruce: Se trata de una reproducci´n de tipo sexual. Se genera una des- o cendencia a partir del mismo n´mero de individuos (generalmente 2) de u la generaci´n anterior. Existen varios tipos que se detallar´n en un punto o a posterior. Copia: Se trata de una reproducci´n de tipo asexual. Un determinado o n´mero de individuos pasa sin sufrir ninguna variaci´n directamente a la u o siguiente generaci´n. oM. Gestal 6
  7. 7. Introducci´n a los Algoritmos Gen´ticos o e Una vez generados los nuevos individuos se realiza la mutaci´n con una oprobabilidad Pm. La probabilidad de mutaci´n suele ser muy baja, por lo general oentre el 0.5 % y el 2 %. Se sale de este proceso cuando se alcanza alguno de los criterios de paradafijados. Los m´s usuales suelen ser: a Los mejores individuos de la poblaci´n representan soluciones suficiente- o mente buenas para el problema que se desea resolver. La poblaci´n ha convergido. Un gen ha convergido cuando el 95 % de la o poblaci´n tiene el mismo valor para ´l, en el caso de trabajar con codi- o e ficaciones binarias, o valores dentro de un rango especificado, en el caso de trabajar con otro tipo de codificaciones. Una vez que todos los genes alcanzan la convergencia se dice que la poblaci´n ha convergido. Cuando o esto ocurre la media de bondad de la poblaci´n se aproxima a la bondad o del mejor individuo. Se ha alcanzado el n´mero de generaciones m´ximo especificado. u a Sobre este algoritmo inicialmente propuesto por Holland se han definidonumerosas variantes. Quiz´s una de las m´s extendidas consiste en prescindir de la poblaci´n a a otemporal de manera que los operadores gen´ticos de cruce y mutaci´n se aplican e odirectamente sobre la poblaci´n gen´tica. Con esta variante el proceso de cruces o evar´ ligeramente. Ahora no basta, en el caso de que el cruce se produzca, con ıainsertar directamente la descendencia en la poblaci´n. Puesto que el n´mero o ude individuos de la poblaci´n se ha de mantener constante, antes de insertar la odescendencia en la poblaci´n se le ha de hacer sitio. Existen para ello diversas oopciones: Reemplazo de padres: para hacer hueco a la descendencia en la pobla- ci´n se eliminan de ella a los padres. o Reemplazo de individuos similares: cada uno de los individuos de la descendencia reemplazar´ a un individuo de la poblaci´n con un ajuste a o similar al suyo. Para escoger este individuo se obtiene la posici´n en la o que se deber´ insertar el nuevo individuo para mantener ordenada la ıa poblaci´n y se escoge para insertarlo una posici´n al azar de su vecindad o o (p.e. uno de entre los cinco individuos superiores o inferiores). Reemplazo de los peores individuos: los individuos que se eliminar´n a de la poblaci´n para dejar paso a la descendencia se seleccionar´n aleato- o a riamente de entre los peores individuos de la poblaci´n. Por lo general se o consideran individuos pertenecientes al ultimo 10 %. ´ Reemplazo aleatorio: los individuos eliminados se seleccionan al azar. Evidentemente trabajando con un unica poblaci´n no se puede decir que ´ ose pase a la siguiente generaci´n cuando se llene la poblaci´n, pues siempre o oest´ llena. En este caso el paso a la siguiente generaci´n se producir´ una vez a o aque se hayan alcanzado cierto n´mero de cruces y mutaciones. Este n´mero u udepender´ de la tasa de cruces y mutaciones especificadas por el usuario y aM. Gestal 7
  8. 8. Introducci´n a los Algoritmos Gen´ticos o edel tama˜o de la poblaci´n. As´ con una tasa de cruces del 90 %, una tasa de n o ımutaciones del 0.02 % y trabajando con 100 individuos se pasar´ a la siguiente ageneraci´n cuando se alcanzasen 45 cruces (cada cruce genera 2 individuos con olo que se habr´ insertado en la poblaci´n 90 individuos, esto es el 90 %) o 2 ıan omutaciones.6. Operadores Gen´ticos e Para el paso de una generaci´n a la siguiente se aplican una serie de opera- odores gen´ticos. Los m´s empleados son los operadores de selecci´n, cruce, copia e a oy mutaci´n. En el caso de no trabajar con una poblaci´n intermedia temporal o otambi´n cobran relevancia los algoritmos de reemplazo. e A continuaci´n se ver´n en mayor detalle. o a6.1. Selecci´n o Los algoritmos de selecci´n ser´n los encargados de escoger qu´ individuos o a evan a disponer de oportunidades de reproducirse y cu´les no. a Puesto que se trata de imitar lo que ocurre en la naturaleza, se ha de otor-gar un mayor n´mero de oportunidades de reproducci´n a los individuos m´s u o aaptos. Por lo tanto la selecci´n de un individuo estar´ relacionada con su valor o ade ajuste. No se debe sin embargo eliminar por completo las opciones de repro-ducci´n de los individuos menos aptos, pues en pocas generaciones la poblaci´n o ose volver´ homog´nea. ıa e Una opci´n bastante com´n consiste en seleccionar el primero de los indi- o uviduos participantes en el cruce mediante alguno de los m´todos expuestos a econtinuaci´n y el segundo de manera aleatoria. o6.1.1. Selecci´n por ruleta o Propuesto por DeJong, es posiblemente el m´todo m´s utilizado desde los e aor´ ıgenes de los Algoritmos Gen´ticos [Blickle and Thiele, 1995]. e A cada uno de los individuos de la poblaci´n se le asigna una parte pro- oporcional a su ajuste de una ruleta, de tal forma que la suma de todos losporcentajes sea la unidad. Los mejores individuos recibir´n una porci´n de la a oruleta mayor que la recibida por los peores. Generalmente la poblaci´n est´ or- o adenada en base al ajuste por lo que las porciones m´s grandes se encuentran al ainicio de la ruleta. Para seleccionar un individuo basta con generar un n´mero ualeatorio del intervalo [0..1] y devolver el individuo situado en esa posici´n de ola ruleta. Esta posici´n se suele obtener recorriendo los individuos de la pobla- oci´n y acumulando sus proporciones de ruleta hasta que la suma exceda el valor oobtenido. Es un m´todo muy sencillo, pero ineficiente a medida que aumenta el tama˜o e nde la poblaci´n (su complejidad es O(n2 )). Presenta adem´s el inconveniente de o aque el peor individuo puede ser seleccionado m´s de una vez. a En mucha bibliograf´ se suele referenciar a este m´todo con el nombre de ıa eSelecci´n de Montecarlo. oM. Gestal 8
  9. 9. Introducci´n a los Algoritmos Gen´ticos o e6.1.2. Selecci´n por torneo o La idea principal de este m´todo consiste en realizar la selecci´n en base e oa comparaciones directas entre individuos. Existen dos versiones de selecci´n omediante torneo: Determin´ ıstica Probabil´ ıstica En la versi´n determin´ o ıstica se selecciona al azar un n´mero p de indivi- uduos (generalmente se escoge p = 2). De entre los individuos seleccionados seselecciona el m´s apto para pasarlo a la siguiente generaci´n. a o La versi´n probabil´ o ıstica unicamente se diferencia en el paso de selecci´n del ´ oganador del torneo. En vez de escoger siempre el mejor se genera un n´mero ualeatorio del intervalo [0..1], si es mayor que un par´metro p (fijado para todo el aproceso evolutivo) se escoge el individuo m´s alto y en caso contrario el menos aapto. Generalmente p toma valores en el rango 0,5 < p ≤ 1. Variando el n´mero de individuos que participan en cada torneo se puede umodificar la presi´n de selecci´n. Cuando participan muchos individuos en cada o otorneo, la presi´n de selecci´n es elevada y los peores individuos apenas tienen o ooportunidades de reproducci´n. Un caso particular es el elitismo global. Se trata ode un torneo en el que participan todos los individuos de la poblaci´n con lo cual ola selecci´n se vuelve totalmente determin´ o ıstica. Cuando el tama˜o del torneo nes reducido, la presi´n de selecci´n disminuye y los peores individuos tienen m´s o o aoportunidades de ser seleccionados. Elegir uno u otro m´todo de selecci´n determinar´ la estrategia de b´sque- e o a uda del Algoritmo Gen´tico. Si se opta por un m´todo con una alta presi´n de e e oselecci´n se centra la b´squeda de las soluciones en un entorno pr´ximo a las o u omejores soluciones actuales. Por el contrario, optando por una presi´n de selec- oci´n menor se deja el camino abierto para la exploraci´n de nuevas regiones del o oespacio de b´squeda. u Existen muchos otros algoritmos de selecci´n. Unos buscan mejorar la efi- ociencia computacional, otros el n´mero de veces que los mejores o peores in- udividuos pueden ser seleccionados. Algunos de estos algoritmos son muestreodetermin´ ıstico, escalamiento sigma, selecci´n por jerarqu´ estado uniforme, o ıas,sobrante estoc´stico, brecha generacional, etc. a6.2. Cruce Una vez seleccionados los individuos, ´stos son recombinados para producir ela descendencia que se insertar´ en la siguiente generaci´n. Tal y como se ha a oindicado anteriormente el cruce es una estrategia de reproducci´n sexual. o Su importancia para la transici´n entre generaciones es elevada puesto que olas tasas de cruce con las que se suele trabajar rondan el 90 %. Los diferentes m´todos de cruce podr´n operar de dos formas diferentes. e aSi se opta por una estrategia destructiva los descendientes se insertar´n en la apoblaci´n temporal aunque sus padres tengan mejor ajuste (trabajando con una ounica poblaci´n esta comparaci´n se realizar´ con los individuos a reemplazar).´ o o aPor el contrario utilizando una estrategia no destructiva la descendencia pasar´ a ala siguiente generaci´n unicamente si supera la bondad del ajuste de los padres o ´M. Gestal 9
  10. 10. Introducci´n a los Algoritmos Gen´ticos o e(o de los individuos a reemplazar). La idea principal del cruce se basa en que,si se toman dos individuos correctamente adaptados al medio y se obtiene unadescendencia que comparta genes de ambos, existe la posibilidad de que losgenes heredados sean precisamente los causantes de la bondad de los padres.Al compartir las caracter´ ısticas buenas de dos individuos, la descendencia, oal menos parte de ella, deber´ tener una bondad mayor que cada uno de los ıapadres por separado. Si el cruce no agrupa las mejores caracter´ ısticas en uno delos hijos y la descendencia tiene un peor ajuste que los padres no significa que seest´ dando un paso atr´s. Optando por una estrategia de cruce no destructiva e agarantizamos que pasen a la siguiente generaci´n los mejores individuos. Si, a´n o ucon un ajuste peor, se opta por insertar a la descendencia, y puesto que los genesde los padres continuar´n en la poblaci´n - aunque dispersos y posiblemente a olevemente modificados por la mutaci´n - en posteriores cruces se podr´n volver o aa obtener estos padres, recuperando as´ la bondad previamente perdida. ı Existen multitud de algoritmos de cruce. Sin embargo los m´s empleados ason los que se detallar´n a continuaci´n: a o Cruce de 1 punto Cruce de 2 puntos Cruce uniforme6.2.1. Cruce de 1 punto Es la m´s sencilla de las t´cnicas de cruce. Una vez seleccionados dos indivi- a eduos se cortan sus cromosomas por un punto seleccionado aleatoriamente paragenerar dos segmentos diferenciados en cada uno de ellos: la cabeza y la cola.Se intercambian las colas entre los dos individuos para generar los nuevos des-cendientes. De esta manera ambos descendientes heredan informaci´n gen´tica o ede los padres, tal y como puede verse en la figura 5. En la bibliograf´ suele referirse a este tipo de cruce con el nombre de SPX ıa(Single Point Crossover) Figura 5: Cruce de 1 Punto6.2.2. Cruce de 2 puntos Se trata de una generalizaci´n del cruce de 1 punto. En vez de cortar por un ounico punto los cromosomas de los padres como en el caso anterior se realizan´dos cortes. Deber´ tenerse en cuenta que ninguno de estos puntos de corte acoincida con el extremo de los cromosomas para garantizar que se originen tresM. Gestal 10
  11. 11. Introducci´n a los Algoritmos Gen´ticos o esegmentos. Para generar la descendencia se escoge el segmento central de unode los padres y los segmentos laterales del otro padre (ver figura 6. Figura 6: Cruce de 2 Puntos Generalmente se suele referir a este tipo de cruce con las siglas DPX (DoublePoint Crossover). Generalizando se pueden a˜adir m´s puntos de cruce dando lugar a algorit- n amos de cruce multipunto. Sin embargo existen estudios que desaprueban estat´cnica [Jong, 1975] . Aunque se admite que el cruce de 2 puntos aporta una esustancial mejora con respecto al cruce de un solo punto, el hecho de a˜adir un nmayor n´mero de puntos de cruce reduce el rendimiento del Algoritmo Gen´tico. u eEl problema principal de a˜adir nuevos puntos de cruce radica en que es m´s n af´cil que los segmentos originados sean corrompibles, es decir, que por separado aquiz´s pierdan las caracter´ a ısticas de bondad que pose´ conjuntamente. Sin ıanembargo no todo son desventajas y a˜adiendo m´s puntos de cruce se consigue n aque el espacio de b´squeda del problema sea explorado m´s a fondo. u a6.2.3. Cruce Uniforme El cruce uniforme es una t´cnica completamente diferente de las vistas hasta eel momento. Cada gen de la descendencia tiene las mismas probabilidades depertenecer a uno u otro padre. Aunque se puede implementar de muy diversas formas, la t´cnica implica ela generaci´n de una m´scara de cruce con valores binarios. Si en una de las o aposiciones de la m´scara hay un 1, el gen situado en esa posici´n en uno de los a odescendientes se copia del primer padre. Si por el contrario hay un 0 el gen secopia del segundo padre. Para producir el segundo descendiente se intercambianlos papeles de los padres, o bien se intercambia la interpretaci´n de los unos y olos ceros de la m´scara de cruce. a Tal y como se puede apreciar en la figura 7, la descendencia contiene unamezcla de genes de cada uno de los padres. El n´mero efectivo de puntos de ucruce es fijo pero ser´ por t´rmino medio L/2, siendo L la longitud del cromo- a esoma (n´mero de alelos en representaciones binarias o de genes en otro tipo de urepresentaciones). Se suele referir a este tipo de cruce con las siglas UPX (Uniform PointCrossover).6.2.4. Cruces espec´ ıficos de codificaciones no binarias Los tres tipos de cruce vistos hasta el momento son v´lidos para cualquier atipo de representaci´n del genotipo. Si se emplean genotipos compuestos por oM. Gestal 11
  12. 12. Introducci´n a los Algoritmos Gen´ticos o e Figura 7: Cruce Uniformevalores enteros o reales pueden definirse otro tipo de operadores de cruce: Media: el gen de la descendencia toma el valor medio de los genes de los padres. Tiene la desventaja de que unicamente se genera un descendiente ´ en el cruce de dos padres. Media geom´trica: cada gen de la descendencia toma como valor la ra´ e ız cuadrada del producto de los genes de los padres. Presenta el problema a˜adido de qu´ signo dar al resultado si los padres tienen signos diferentes. n e Extensi´n: se toma la diferencia existente entre los genes situados en las o mismas posiciones de los padres y se suma al valor m´s alto o se resta del a valor m´s bajo. Solventa el problema de generar un unico descendiente. a ´6.3. Algoritmos de Reemplazo Cuando en vez de trabajar con una poblaci´n temporal se hace con una unica o ´poblaci´n, sobre la que se realizan las selecciones e inserciones, deber´ tenerse en o acuenta que para insertar un nuevo individuo deber´ de eliminarse previamente aotro de la poblaci´n. Existen diferentes m´todos de reemplazo: o e Aleatorio: el nuevo individuo se inserta en un lugar cualquiera de la poblaci´n. o Reemplazo de padres: se obtiene espacio para la nueva descendencia liberando el espacio ocupado por los padres. Reemplazo de similares: una vez obtenido el ajuste de la descendencia se selecciona un grupo de individuos (entre seis y diez) de la poblaci´n con o un ajuste similar. Se reemplazan aleatoriamente los que sean necesarios. Reemplazo de los peores: de entre un porcentaje de los peores indi- viduos de la poblaci´n se seleccionan aleatoriamente los necesarios para o dejar sitio a la descendencia.M. Gestal 12
  13. 13. Introducci´n a los Algoritmos Gen´ticos o e6.4. Copia La copia es la otra estrategia reproductiva para la obtenci´n de una nueva ogeneraci´n a partir de la anterior. A diferencia del cruce, se trata de una estra- otegia de reproducci´n asexual. Consiste simplemente en la copia de un individuo oen la nueva generaci´n. o El porcentaje de copias de una generaci´n a la siguiente es relativamente oreducido, pues en caso contrario se corre el riesgo de una convergencia prematurade la poblaci´n hacia ese individuo. De esta manera el tama˜o efectivo de la o npoblaci´n se reducir´ notablemente y la b´squeda en el espacio del problema o ıa use focalizar´ en el entorno de ese individuo. ıa Lo que generalmente se suele hacer es seleccionar dos individuos para elcruce, y si ´ste finalmente no tiene lugar, se insertan en la siguiente generaci´n e olos individuos seleccionados.6.5. Mutaci´n o La mutaci´n de un individuo provoca que alguno de sus genes, generalmente ouno s´lo, var´ su valor de forma aleatoria. o ıe Aunque se pueden seleccionar los individuos directamente de la poblaci´n oactual y mutarlos antes de introducirlos en la nueva poblaci´n, la mutaci´n se o osuele utilizar de manera conjunta con el operador de cruce. Primeramente se se-leccionan dos individuos de la poblaci´n para realizar el cruce. Si el cruce tiene o´xito entonces uno de los descendientes, o ambos, se muta con cierta probabili-edad Pm. Se imita de esta manera el comportamiento que se da en la naturaleza,pues cuando se genera la descendencia siempre se produce alg´n tipo de error, upor lo general sin mayor trascendencia, en el paso de la carga gen´tica de padres ea hijos. La probabilidad de mutaci´n es muy baja, generalmente menor al 1 %. Esto ose debe sobre todo a que los individuos suelen tener un ajuste menor despu´s de emutados. Sin embargo se realizan mutaciones para garantizar que ning´n punto udel espacio de b´squeda tenga una probabilidad nula de ser examinado. u Tal y como se ha comentado, la mutaci´n m´s usual es el reemplazo aleatorio. o aEste consiste en variar aleatoriamente un gen de un cromosoma. Si se trabajacon codificaciones binarias consistir´ simplemente en negar un bit. Tambi´n es a eposible realizar la mutaci´n intercambiando los valores de dos alelos del cromo- osoma. Con otro tipo de codificaciones no binarias existen otras opciones: Incrementar o decrementar a un gen una peque˜a cantidad generada alea- n toriamente. Multiplicar un gen por un valor aleatorio pr´ximo a 1. o Aunque no es lo m´s com´n, existen implementaciones de Algoritmos Gen´ti- a u ecos en las que no todos los individuos tienen los cromosomas de la misma lon-gitud. Esto implica que no todos ellos codifican el mismo conjunto de variables.En este caso existen mutaciones adicionales como puede ser a˜ adir un nuevo ngen o eliminar uno ya existente.M. Gestal 13
  14. 14. Introducci´n a los Algoritmos Gen´ticos o e7. Evaluaci´n o Para el correcto funcionamiento de un Algoritmo Gen´tico se debe de poseer eun m´todo que indique si los individuos de la poblaci´n representan o no buenas e osoluciones al problema planteado. Por lo tanto para cada tipo de problema quese desee resolver deber´ derivarse un nuevo m´todo, al igual que ocurrir´ con la a e apropia codificaci´n de los individuos. o De esto se encarga la funci´n de evaluaci´n, que establece una medida o onum´rica de la bondad de una soluci´n. Esta medida recibe el nombre de ajuste. e oEn la naturaleza el ajuste (o adecuaci´n) de un individuo puede considerarse co- omo la probabilidad de que ese individuo sobreviva hasta la edad de reproducci´noy se reproduzca. Esta probabilidad deber´ estar ponderada con el n´mero de a udescendientes. Evidentemente no es lo mismo una probabilidad de reproducci´n odel 25 % en una poblaci´n de un par de cientos de individuos que esa misma oprobabilidad en una poblaci´n de varios millones. o En el mundo de los Algoritmos Gen´ticos se emplear´ esta medici´n para e a ocontrolar la aplicaci´n de los operadores gen´ticos. Es decir, permitir´ controlar o e ael n´mero de selecciones, cruces, copias y mutaciones llevadas a cabo. u La aproximaci´n m´s com´n consiste en crear expl´ o a u ıcitamente una medida deajuste para cada individuo de la poblaci´n. A cada uno de los individuos se les oasigna un valor de ajuste escalar por medio de un procedimiento de evaluaci´n obien definido. Tal y como se ha comentado, este procedimiento de evaluaci´n oser´ espec´ a ıfico del dominio del problema en el que se aplica el Algoritmo Gen´ti- eco. Tambi´n puede calcularse el ajuste mediante una manera ’co-evolutiva’. Por eejemplo, el ajuste de una estrategia de juego se determina aplicando esa estra-tegia contra la poblaci´n entera (o en su defecto una muestra) de estrategias de ooposici´n. o Se pueden diferenciar cuatro tipos de ajuste o fitness [Koza, 1992]: Fitness Puro: r(i,t) Es la medida de ajuste establecida en la terminolog´ natural del propio ıa problema. La ecuaci´n 1 establece el c´lculo del valor de bondad de un o a individuo i en un instante t (o generaci´n). o Nc r(i, t) = |s(i, j) − c(i, j)| (1) j=1 Siendo : s(i, j) = valor deseado para el individuo i en el caso j c(i, j) = valor obtenido por el individuo i para el caso j Nc = N´mero de casos u Por ejemplo, sup´ngase una poblaci´n de hormigas que deben llenar la o o despensa de cara al invierno. La bondad de cada hormiga ser´ el n´mero a u de piezas de comida llevadas por ella hasta el hormiguero.M. Gestal 14
  15. 15. Introducci´n a los Algoritmos Gen´ticos o e En los problemas de maximizaci´n, como ser´ el de las hormigas mencio- o ıa nado anteriormente, los individuos con un fitness puro elevado ser´n los a m´s interesantes. Al contrario, en los problemas de minimizaci´n intere- a o sar´n los individuos con un fitness puro reducido. a Fitness Estandarizado: s(i,t) Para solucionar esta dualidad ante problemas de minimizaci´n o maximi- o zaci´n se modifica el ajuste puro de acuerdo a la ecuaci´n 2. o o r(i, t) minimizaci´n o s(i, t) = (2) rmax − r(i, t) maximizaci´n o En el caso de problemas de minimizaci´n se emplea directamente la medida o de fitness puro. Si el problema es de maximizaci´n se resta de una cota o superior rmax del error el fitness puro. Empleando esta m´trica la bondad e de un individuo ser´ mayor cuanto m´s cercano est´ a cero el valor del a a e ajuste. Por lo tanto, dentro de la generaci´n t, un individuo i siempre o ser´ mejor que uno j si se verifica que s(i, t) < s(j, t). a Fitness Ajustado: a(i,t) Se obtiene aplicando la transformaci´n reflejada en la ecuaci´n 3 al fitness o o estandarizado. 1 a(i, t) = (3) 1 + s(i, t) De esta manera, el fitness ajustado tomar´ siempre valores del intervalo a [0..1]. Cuando m´s se aproxime el fitness ajustado de un individuo a 1 a mayor ser´ su bondad. a Fitness Normalizado: n(i,t) Los diferentes tipos de fitness vistos hasta ahora hacen referencia uni- ´ camente a la bondad del individuo en cuesti´n. El fitness normalizado o introduce un nuevo aspecto: indica la bondad de una soluci´n con respec- o to al resto de soluciones representadas en la poblaci´n. Considerando una o poblaci´n de tama˜o N, se obtiene seg´n la ecuaci´n 4. o n u o a(i, t) n(i, t) = N (4) k=1 a(k, t) Al igual que el fitness ajustado, siempre tomar´ valores del intervalo [0..1], a con mejores individuos cuanto m´s pr´ximo est´ a la unidad. Pero a di- a o e ferencia de antes, un valor cercano a 1 no s´lo indica que ese individuo o represente una buena soluci´n al problema, sino que adem´s es una so- o a luci´n destacadamente mejor que las proporcionadas por el resto de la o poblaci´n. o La suma de los valores del fitness normalizado de todos los individuos de una poblaci´n dar´ siempre 1. o a Este tipo de ajuste es empleado en la mayor´ de los m´todos de selecci´n ıa e o proporcionales al fitness.M. Gestal 15
  16. 16. Introducci´n a los Algoritmos Gen´ticos o eReferencias[Beasley et al., 1993] Beasley, D., Bull, D. R., and Martin, R. R. (1993). An overview of genetic algorithms: Part 1, fundamentals. University Computing, 15(2):58–69.[Blickle and Thiele, 1995] Blickle, T. and Thiele, L. (1995). A comparison of selection schemes used in genetic algorithms. Technical Report 11, Computer Engineering and Comunnication Network Lab (TIK), Gloriastrasse 35, 8092 Zurich, Switzerland.[Darwin, 1859] Darwin, C. (1859). On the Origin of Species by Means of Natural Selection. John Murray, London.[Fogel et al., 1966] Fogel, L. J., Owens, A. J., and Walsh, M. J. (1966). Artificial Intelligence through Simulated Evolution. John Wiley & Sons, New York.[Goldberg, 1989] Goldberg, D. E. (1989). Genetic Algorithms in Search, Opti- mization and Machine Learning. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.[Holland, 1975] Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor. Republished by the MIT press, 1992.[Jong, 1975] Jong, K. A. D. (1975). An analysis of the behavior of a class of genetic adaptive systems. PhD thesis, University of Michigan.[Koza, 1992] Koza, J. R. (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems). The MIT Press.[Rechenberg, 1973] Rechenberg, I. (1973). Evolutionsstrategie: Optimierung te- chnischer Systeme nach Prinzipien der biologischen Evolution. Frommann- Holzboog, Stuttgart.[Tomassini, 1995] Tomassini, M. (1995). A survey of genetic algorithms. Annual Reviews of Computational Physics, III:87–118.M. Gestal 16

×