Vous êtes sur la page 1sur 10

EL ALGORITMO GENTICO SIMPLE Daifer Mora

El Algoritmo Gentico Simple, tambin denominado cannico se representa en la figura 2.1. Como se er! a continuacin, se necesita una codificacin o representacin del problema, "ue resulte adecuada al mismo. Adem!s se re"uiere una funcin de a#uste o adaptacin al problema, la cual asigna un n$mero real a cada posible solucin codificada. %urante la e#ecucin del algoritmo, los padres deben ser seleccionados para la reproduccin, a continuacin dic&os padres seleccionados se cru'ar!n generando dos &i#os, sobre cada uno de los cuales actuar! un operador de mutacin. El resultado de la combinacin de las anteriores funciones ser! un con#unto de indi iduos (posibles soluciones al problema) los cuales en la e olucin del Algoritmo Gentico formar!n parte de la siguiente poblacin.

*igura 2.1 +seudo cdigo del Algoritmo Gentico Simple

Componentes de Algoritmos geneticos , , , , , -na representacin gentica de las soluciones del problema -na forma de crear una poblacin inicial de soluciones -na funcin de e aluacin capa' de medir la bondad de cual"uier solucin -n con#unto de operadores genticos como reglas de transicin probabil.sticas para guiar la b$s"ueda El alor de unos par!metros de entrada "ue el algoritmo gentico utili'ar! para guiar su e olucin

Codificaci n D!"el#s Gon$ale$ Se supone "ue los indi iduos (posibles soluciones del problema), pueden representarse como un con#unto de par!metros denominados genes, los cuales agrupados forman una cadena de alores o cromosoma. Si bien el alfabeto utili'ado para representar los indi iduos no debe necesariamente estar constituido por /0, l1, buena parte de la teor.a en la "ue se fundamentan los Algoritmos Genticos utili'a dic&o alfabeto. En trminos biolgicos, el con#unto de par!metros representando un cromosoma particular se denomina fenotipo. El fenotipo contiene la informacin re"uerida para construir un organismo, el cual se refiere como genotipo. 2os mismos trminos se utili'an en el campo de los Algoritmos Genticos. 2a adaptacin al problema de un indi iduo depende de la e aluacin del genotipo. Esta $ltima puede inferirse a partir del fenotipo, es decir puede ser computada a partir del cromosoma, usando la funcin de e aluacin. 2a funcin de adaptacin debe ser dise3ada para cada problema de manera espec.fica. %ado un cromosoma particular, la funcin de adaptacin le asigna un n$mero real, "ue se supone refle#a el ni el de adaptacin al problema del indi iduo representado por el cromosoma. %urante la fase reproducti a se seleccionan los indi iduos de la poblacin para cru'arse 4 producir descendientes "ue constituir!n, una e' mutados, la siguiente generacin de indi iduos. 2a seleccin de padres se efect$a al a'ar usando un procedimiento "ue fa ore'ca a los indi iduos me#or adaptados, 4a "ue a cada indi iduo se le asigna una probabilidad de ser seleccionado "ue es proporcional a su funcin de adaptacin. Este procedimiento se dice "ue est! basado en la ruleta sesgada. Seg$n dic&o es"uema, los indi iduos bien adaptados se escoger!n probablemente arias eces por generacin, mientras "ue los pobremente adaptados al problema no se escoger!n m!s "ue de e' en cuando. -na e' seleccionados dos padres, sus cromosomas se combinan, utili'ando &abitualmente los operadores de cruce 4 mutacin. 2as formas b!sicas de dic&os operadores se describen a continuacin. El operador de cruce toma dos padres seleccionados 4 corta sus cadenas de cromosomas en una posicin escogida al a'ar, para producir dos subcadenas iniciales 4 dos subcadenas finales. %espus se intercambian las subcadenas finales, producindose dos nue os cromosomas completos. Esto se muestra en la figura 2.2. Ambos descendientes &eredan genes de cada uno de los padres. Este operador se conoce como operador de cruce basado en un punto.

*igura 2.2. 5perador de cruce basado en un punto

6abitualmente el operador de cruce no se aplica a todos los pares de indi iduos "ue &an sido seleccionados para empare#arse, sino "ue se aplica de manera aleatoria, normalmente con una probabilidad comprendida entre 0.7 4 1.0. En el caso en "ue el operador de cruce no se apli"ue, la descendencia se obtiene simplemente duplicando los padres.

El operador de mutacin se aplica a cada &i#o de manera indi idual, 4 consiste en la alteracin aleatoria (normalmente con probabilidad pe"ue3a) de cada gen componente del cromosoma. 2a figura 2.8 muestra la mutacin del "uinto gen del cromosoma.

*igura 2.8. 5perador de mutacin

Si bien puede en principio pensarse "ue el operador de cruce es m!s importante "ue el operador de mutacin, 4a "ue proporciona una e9ploracin r!pida del espacio de b$s"ueda, ste $ltimo asegura "ue ning$n punto del espacio de b$s"ueda tenga una probabilidad cero de ser e9aminado, 4 es de capital importancia para asegurar la con ergencia de los Algoritmos Genticos. +ara criterios pr!cticos, es mu4 $til la definicin de con ergencia introducida en este campo por %e :ong. Si el Algoritmo Gentico &a sido correctamente implementado, la poblacin e olucionar! a lo largo de las generaciones sucesi as de tal manera "ue la adaptacin media e9tendida a todos los indi iduos de la poblacin, as. como la adaptacin del me#or indi iduo se ir!n incrementando &acia el ptimo global. El concepto de con ergencia est! relacionado con la progresin &acia la uniformidad; un gen &a con ergido cuando al menos el <7 = de los indi iduos de la poblacin comparten el mismo alor para dic&o gen. Se dice "ue la poblacin con erge cuando todos los genes &an con ergido. Se puede generali'ar dic&a definicin al caso en "ue al menos un poco de los indi iduos de la poblacin &a4an con ergido. 2a figura 2.> muestra como ar.a la adaptacin media 4 la me#or adaptacin en un Algoritmo Gentico Simple t.pico.

*igura 2.>. Adaptacin media 4 me#or adaptacin en un Algoritmo Gentico simple

A medida "ue el n$mero de generaciones aumenta, es m!s probable "ue la adaptacin media se apro9ime a la del me#or indi iduo.

E%emplo Carlos Castillo Como ilustracin de los diferentes componentes del Algoritmo Gentico Simple, supngase el problema adaptado de Goldberg de encontrar el m!9imo de la funcin f(') ? 9@ para ' ? /1,2,...,821. E identemente para lograr dic&o ptimo, bastar.a actuar por b$s"ueda e9&austi a, dada la ba#a cardinalidad del espacio de b$s"ueda. Se trata por tanto de un mero e#emplo con el "ue se pretende ilustrar el comportamiento del algoritmo anteriormente descrito. Consultando el pseudo cdigo de la figura 2.1, se e "ue el primer paso a efectuar consiste en determinar el tama3o de la poblacin inicial, para despus obtener dic&a poblacin al a'ar 4 computar la funcin de e aluacin de cada uno de sus indi iduos. Suponiendo "ue el alfabeto utili'ado para codificar los indi iduos est constituido por /0, 11, se necesitar!n cadenas de longitud 7 para representar los 82 puntos del espacio de b$s"ueda. En la tabla 2.1 est!n representados los > indi iduos "ue constitu4en la poblacin inicial, #unto con su funcin de adaptacin al problema, as. como la probabilidad de "ue cada uno de dic&os indi iduos sea seleccionado A seg$n el modelo de ruleta sesgada A para empare#arse. Bol iendo a consultar el pseudo cdigo e9presado en la figura 2.1, se puede er "ue el siguiente paso consiste en la seleccin de 2 pare#as de indi iduos.

Cabla 2.1 +oblacin inicial de la simulacin efectuada a mano correspondiente al Algoritmo Gentico simple.

+ara ello es suficiente con obtener > n$meros reales pro enientes de una distribucin de probabilidad uniforme en el inter alo D0, 1), 4 compararlos con la $ltima columna de la Cabla 2.l. As. por e#emplo, supngase "ue dic&os > n$meros son 0.7E, 0.E>, 0.11 4 0.>8. Esto significa "ue los indi iduos seleccionados para el cruce fueron el indi iduo 2 #unto con el indi iduo >, as. como el indi iduo 1 #unto con el indi iduo 2. +ara seguir con el Algoritmo Gentico Simple, se necesita determinar la probabilidad de cruce p. Supngase "ue p ? 0.E. Balindose al igual "ue antes de 2 n$meros pro enientes de la distribucin uniforme para este caso, se determinar! si los empare#amientos anteriores se lle an a cabo. Adm.tase, por e#emplo, "ue los dos n$meros e9tra.dos sean menores "ue 0.E, decidindose por tanto efectuar el cruce entre las dos pare#as. +ara ello se escoger! un n$mero al a'ar entre l 4 L A 1 (siendo L la longitud de la cadena utili'ada para representar el indi iduo). Ftese "ue la restriccin impuesta al escoger el n$mero entre 1 4 L A l, 4 no L, se reali'a con la finalidad de "ue los descendientes no coincidan con los padres. Supngase, tal 4 como se indica en la tabla 2.2, "ue los puntos de cruce resulten ser 2 4 8. %e esta manera se obtendr.an los > descendientes descritos en la tercera columna de la tabla 2.2. A continuacin siguiendo el seudo cdigo de la figura 2.1, se mutar.a con una probabilidad p, cercana a cero, cada uno de los bits de las cuatro cadenas de indi iduos. En este caso se supone "ue el $nico bit mutado corresponde al primer gen del tercer indi iduo. En las dos $ltimas columnas se pueden consultar los alores de los indi iduos, as. como las funciones de adaptacin correspondientes. Como puede obser arse, tanto el me#or indi iduo como la funcin de adaptacin media &an me#orado sustancialmente al compararlos con los resultados de la Cabla 2.1.

Cabla 2.2. +oblacin en el tiempo 1, pro eniente de efectuar los operadores de cruce 4 mutacin sobre los indi iduos e9presados en la tabla 2.1, los cuales constitu4en la poblacin en el tiempo 0.

Aplicaci n Der&in 'argas Optimi$aci n( Se trata de un campo especialmente abonado para el uso de los Algoritmos Genticos, por las caracter.sticas intr.nsecas de estos problemas. Fo en ano fueron la fuente de inspiracin para los creadores estos algoritmos. 2os Algoritmos Genticos se &an utili'ado en numerosas tareas de optimi'acin, inclu4endo la optimi'acin numrica, 4 los problemas de optimi'acin combinatoria. Programaci n a!tom)tica( 2os Algoritmos Genticos se &an empleado para desarrollar programas para tareas espec.ficas, 4 para dise3ar otras estructuras computacionales tales como el autmata celular, 4 las redes de clasificacin. Aprendi$a%e m)*!ina( 2os algoritmos genticos se &an utili'ado tambin en muc&as de estas aplicaciones, tales como la prediccin del tiempo o la estructura de una prote.na. 6an ser ido asimismo para desarrollar determinados aspectos de sistemas particulares de aprendi'a#e, como pueda ser el de los pesos en una red neuronal, las reglas para sistemas de clasificacin de aprendi'a#e o sistemas de produccin simblica, 4 los sensores para robots. Econom+a( En este caso, se &a &ec&o uso de estos Algoritmos para modelar procesos de inno acin, el desarrollo estrategias de pu#a, 4 la aparicin de mercados econmicos. Sistemas inm!nes( A la &ora de modeli'ar arios aspectos de los sistemas inmunes naturales, inclu4endo la mutacin som!tica durante la ida de un indi iduo 4 el descubrimiento de familias de genes m$ltiples en tiempo e oluti o, &a resultado $til el empleo de esta tcnica. Ecolog+a( En la modeli'acin de fenmenos ecolgicos tales como las carreras de armamento biolgico, la coe olucin de par!sitoG&uesped, la simbiosis, 4 el flu#o de recursos. Gen,tica de po"laciones( En el estudio de preguntas del tipo Bajo qu Condiciones ser viable evolutivamente un gene para la recombinacin? E-ol!ci n # aprendi$a%e( 2os Algoritmos Genticos se &an utili'ado en el estudio de las relaciones entre el aprendi'a#e indi idual 4 la e olucin de la especie. Sistemas sociales( En el estudio de aspectos e oluti os de los sistemas sociales, tales como la e olucin del comportamiento social en colonias de insectos, 4 la e olucin de la cooperacin 4 la comunicacin en sistemas multiGagentes. Aun"ue esta lista no es, en modo alguno, e9&austi a, s. transmite la idea de la ariedad de aplicaciones "ue tienen los Algoritmos Genticos. Gracias al 9ito en estas 4 otras !reas, los Algoritmos Genticos &an llegado a ser un campo puntero en la in estigacin actual.

Ventajas Luisana Poseen la habilidad para manipular muchos parmetros

simultneamente. Muchos problemas de la vida real no pueden denirse en trminos de un nico valor que hay que minimizar o maximizar, sino que deben expresarse en trminos de mltiples objetivos. os al!oritmos !enticos estn "ntimamente relacionados, pues operan de #orma simultnea con varias soluciones y no de manera secuencial como lo hacen las tcnicas tradicionales. $ebido al paralelismo que les permite evaluar impl"citamente muchos esquemas a la vez, los %& #uncionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente !rande, demasiado vasto para hacer una bsqueda exhaustiva en un tiempo razonable. os al!oritmos !enticos explotan un sinnmero de soluciones y si se lle!an a encontrar con soluciones sub'optimas, simplemente desechan esta opci(n y continan con otra opci(n de soluci(n, caso contrario a los tradicionales pues estos tienen que abandonar su trabajo y empezar desde cero nuevamente. a habilidad que poseen para manipular muchos parmetros

simultneamente, y se torna interesante cuando se presenta el caso de resolver varios objetivos a la vez. )o es necesario tener un conocimiento previo sobre el problema que se presenta para resolver. *san operadores probabil"sticos, en vez de los t"picos operadores determin"sticos de las otras tcnicas.

+uando se usan para problemas de optimizaci(n maximizar una #unci(n objetivo' resultan menos a#ectados por los mximos locales ,#alsas soluciones- que las tcnicas tradicionales. Desventajas Alvaro Rujano .l len!uaje que se debe utilizar debe tener la capacidad de tolerar cambios aleatorios/ que no lle!uen a producir resultados sin sentido o errores #atales. *na soluci(n posible ser de#inir a los individuos por listas de nmeros donde cada uno de estos nmeros representa al!n aspecto de la soluci(n que se ten!a. Puede demorarse bastante en conver!er o no en absoluto, esto depende de cierto modo en los parmetros que se estn utilizando, por ejemplo el tama0o de la poblaci(n, numero de !eneraciones, etc. Pueden conver!er prematuramente debido a una serie de problemas. 1i un individuo que es ms apto que la mayor"a de sus competidores emer!e muy pronto en el curso de la ejecuci(n, se puede reproducir de tal #orma que reduce la diversidad de la poblaci(n muy pronto, haciendo que el al!oritmo converja hacia el (ptimo local. .ste problema se presenta en poblaciones peque0as, donde una variaci(n aleatoria en el ritmo de reproducci(n provoca que un !enotipo se ha!a dominante sobre los otros. )o utilizar %& en problemas resolubles de manera anal"tica, pues estos mtodos anal"ticos tradicionales consumen mucho menos tiempo y potencia computacional que los %& y, a di#erencia de los %&, a menudo est demostrado matemticamente que o#recen la nica soluci(n exacta.

Cundo usar algoritmos genticos? Eugenio Lopez

a aplicaci(n ms comn de los %& ha sido la soluci(n de problemas de optimizaci(n, en donde han mostrado ser muy ecientes y conables. 1in embar!o, no todos los problemas pudieran ser apropiados para la tcnica, y se recomienda en !eneral tomar en cuenta las si!uientes caracter"sticas del mismo antes de intentar usarla2 1u espacio de bsqueda ,sus posibles soluciones- debe de estar delimitado dentro de un cierto ran!o. $ebe permitir la de#inici(n de una #unci(n de aptitud que nos indique que tan buena o mala es cierta respuesta. as soluciones deben pro!ramarse de una #orma que resulte relativamente #cil de implementar en el computador. Algoritmos Genticos y Redes Neuronales Eugenio Lopez *na red neuronal es el intento de poder realizar una simulaci(n computacional del comportamiento de partes del cerebro humano mediante la rplica en peque0a escala de los patrones que ste desempe0a para la #ormaci(n de resultados a partir de los sucesos percibidos. .l cerebro consta de unidades llamadas neuronas, las cuales estn conectadas entre si #ormando una red ,de ah" la denominaci(n 3 red neuronal 3+oncretamente, se trata de poder analizar y reproducir el mecanismo de aprendizaje de sucesos que poseen los animales ms evolucionados. a red simula !rupos de neuronas, llamados 3 capas 3 las cuales estn relacionadas unas con otras. os datos se introducen en la primera capa, llamada 3capa de entradas3 +ada capa trans#iere la in#ormaci(n a sus vecinas., teniendo un peso o ponderaci(n para los valores, lo que va modi#icando los mismos en su paso a travs de la red

+uando los datos lle!an a la ltima de las capas, llamada 3 capa de salida 3 el valor resultante es tomado como el resultado de la red. a red puede ser entrenada para diversos usos, entre ellos como mecanismo de optimizaci(n. .n este sentido, se puede expresar que ser"an un modelo alternativo competitivo con los al!oritmos !enticos, si se las pro!ramara para este #in. .n ri!or de verdades, la literatura su!iere que se podr"an hacer modelos mixtos o h"bridos en donde se combinen las ventajas de las redes neuronales y los al!oritmos !enticos, aunque hay muy poco material disponible en este campo. 4al vez esto se deba al hecho que los %& y el estudio de las redes #orman dos ramas o escuelas separadas dentro de la inteli!encia arti#icial, por lo que existe una pre#erencia en los investi!adores en per#eccionar al!uno de los dos modelos antes que tratar de unirlos.