Introducci´n a los Algoritmos Gen´ticos           o                      e                       Marcos Gestal Pose    Dep...
Introducci´n a los Algoritmos Gen´ticos          o                      e         El siguiente tutorial no pretende ser un...
Introducci´n a los Algoritmos Gen´ticos          o                      e    El desarrollo de los Algoritmos Gen´ticos se ...
Introducci´n a los Algoritmos Gen´ticos          o                      e     criatura es creada decodificando la informaci...
Introducci´n a los Algoritmos Gen´ticos          o                      e    El conjunto de los par´metros representado po...
Introducci´n a los Algoritmos Gen´ticos          o                      e        Figura 4: Ejemplo Codificaci´n: Red de Neu...
Introducci´n a los Algoritmos Gen´ticos          o                      e   Una vez generados los nuevos individuos se rea...
Introducci´n a los Algoritmos Gen´ticos          o                      edel tama˜o de la poblaci´n. As´ con una tasa de c...
Introducci´n a los Algoritmos Gen´ticos          o                      e6.1.2.    Selecci´n por torneo                 o ...
Introducci´n a los Algoritmos Gen´ticos          o                      e(o de los individuos a reemplazar). La idea princ...
Introducci´n a los Algoritmos Gen´ticos          o                      esegmentos. Para generar la descendencia se escoge...
Introducci´n a los Algoritmos Gen´ticos          o                      e                            Figura 7: Cruce Unifo...
Introducci´n a los Algoritmos Gen´ticos          o                      e6.4.     Copia    La copia es la otra estrategia ...
Introducci´n a los Algoritmos Gen´ticos          o                      e7.    Evaluaci´n              o    Para el correc...
Introducci´n a los Algoritmos Gen´ticos          o                      e     En los problemas de maximizaci´n, como ser´ ...
Introducci´n a los Algoritmos Gen´ticos          o                      eReferencias[Beasley et al., 1993] Beasley, D., Bu...
Próxima SlideShare
Cargando en…5
×

Tutorial algoritmosgeneticos

259 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
259
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
8
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

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

×