Sei sulla pagina 1di 7

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Definicin

Pgina 1 Algoritmos Genticos.

02/05/2012. 1907.

Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden usarse para resolver problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la seleccin natural y la supervivencia de los ms fuertes, postulados por Darwin. Por imitacin de este proceso, los Algoritmos Genticos son capaces de ir creando soluciones para problemas del mundo real. La evolucin de dichas soluciones hacia valores ptimos del problema depende en buena medida de una adecuada codificacin de las mismas. Un algoritmo gentico consiste en una funcin matemtica o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generacin. Versiones ms complejas de algoritmos genticos generan un ciclo iterativo que directamente toma a la especie (el total de los ejemplares) y crea una nueva generacin que reemplaza a la antigua una cantidad de veces determinada por su propio diseo. Una de sus caractersticas principales es la de ir perfeccionando su propia heurstica en el proceso de ejecucin, por lo que no requiere largos perodos de entrenamiento especializado por parte del ser humano, principal defecto de otros mtodos para solucionar problemas, como los Sistemas Expertos. Ventajas y Desventajas No necesitan conocimientos especficos sobre el problema que intentan resolver. Operan de forma simultnea con varias soluciones, en vez de trabajar de forma secuencial como las tcnicas tradicionales. Cuando se usan para problemas de optimizacin maximizar una funcin objetivoresultan menos afectados por los mximos locales (falsas soluciones) que las tcnicas tradicionales. Resulta sumamente fcil ejecutarlos en las modernas arquitecturas masivamente paralelas. Usan operadores probabilsticos, en vez de los tpicos operadores determinsticos de las otras tcnicas. Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los parmetros que se utilicen tamao de la poblacin, nmero de generaciones, etc. Pueden converger prematuramente debido a una serie de problemas de diversa ndole. Limitaciones El poder de los Algoritmos Genticos proviene del hecho de que se trata de una tcnica robusta, y pueden tratar con xito una gran variedad de problemas provenientes de diferentes reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. Si bien no se garantiza que el Algoritmo Gentico encuentre la solucin ptima, del problema, existe evidencia emprica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimizacin combinatoria. En el caso de que existan tcnicas especializadas para resolver un determinado problema, lo ms probable es que superen al Algoritmo Gentico, tanto en rapidez como en eficacia. El gran campo de aplicacin de los Algoritmos Genticos se relaciona con aquellos problemas para los cuales no existen tcnicas especializadas. Incluso en el caso en que dichas tcnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibridndolas con los Algoritmos Genticos.

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 2

02/05/2012. 1907.

Poblacin Tamao de la poblacin Una cuestin que uno puede plantearse es la relacionada con el tamao idneo de la poblacin. Parece intuitivo que las poblaciones pequeas corren el riesgo de no cubrir adecuadamente el espacio de bsqueda, mientras que el trabajar con poblaciones de gran tamao puede acarrear problemas relacionados con el excesivo costo computacional. Goldberg efectu un estudio terico, obteniendo como conclusin que el tamao ptimo de la poblacin para ristras de longitud I, con codificacin binaria, crece exponencialmente con el tamao de la ristra. Este resultado traera como consecuencia que la aplicabilidad de los Algoritmos Genticos en problemas reales sera muy limitada, ya que resultaran no competitivos con otros mtodos de optimizacin combinatoria. Alander, basndose en evidencia emprica sugiere que un tamao de poblacin comprendida entre l y 21 es suficiente para atacar con xito los problemas por l considerados. Poblacin inicial Habitualmente la poblacin inicial se escoge generando ristras al azar, pudiendo contener cada gen uno de los posibles valores del alfabeto con probabilidad uniforme. Nos podramos preguntar que es lo que sucedera si los individuos de la poblacin inicial se obtuviesen como resultado de alguna tcnica heurstica o de optimizacin local. En los pocos trabajos que existen sobre este aspecto, se constata que esta inicializacin no aleatoria de la poblacin inicial, puede acelerar la convergencia del Algoritmo Gentico. Sin embargo en algunos casos la desventaja resulta ser la prematura convergencia del algoritmo, queriendo indicar con esto la convergencia hacia ptimos locales. Funcin objetivo Dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Genticos son la determinacin de una adecuada funcin de adaptacin o funcin objetivo, as como la codificacin utilizada. Idealmente nos interesara construir funciones objetivo con "ciertas regularidades", es decir funciones objetivo que verifiquen que para dos individuos que se encuentren cercanos en el espacio de bsqueda, sus respectivos valores en las funciones objetivo sean similares. Por otra parte una dificultad en el comportamiento del Algoritmo Gentico puede ser la existencia de gran cantidad de ptimos locales, as como el hecho de que el ptimo global se encuentre muy aislado. La regla, general para construir una buena funcin objetivo es que sta debe reflejar el valor del individuo de una manera "real", pero en muchos problemas de optimizacin combinatoria, donde existe gran cantidad de restricciones, buena parte de los puntos del espacio de bsqueda representan individuos no vlidos. Para este planteamiento en el que los individuos estn sometidos a restricciones, se han propuesto varias soluciones. La primera sera la que podramos denominar absolutista, en la que 'aquellos individuos que no verifican las restricciones, no son considerados como tales, y se siguen efectuando cruces y mutaciones hasta obtener individuos vlidos, o bien, a dichos individuos se les asigna una funcin objetivo igual a cero. Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha reconstruccin suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar reparador. Otro enfoque est basado en la penalizacin de la funcin objetivo. La idea general consiste en dividir la funcin objetivo del individuo por una cantidad (la penalizacin) que guarda relacin con las restricciones que dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el nmero de restricciones violadas bien el denominado

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 3

02/05/2012. 1907.

costo esperado de reconstruccin, es decir el coste asociado a la conversin de dicho individuo en otro que no viole ninguna restriccin. Otra tcnica que se ha venido utilizando en el caso en que la computacin de la funcin objetivo sea muy compleja es la denominada evaluacin aproximada de la funcin objetivo. En algunos casos la obtencin de n funciones objetivo aproximadas puede resultar mejor que la evaluacin exacta de una nica funcin objetivo (supuesto el caso de que la evaluacin aproximada resulta como mnimo n veces ms rpida que la, evaluacin exacta). Un problema habitual en las ejecuciones de los Algoritmos Genticos surge debido a la velocidad con la que el algoritmo converge. En algunos casos la convergencia es muy rpida, lo que suele denominarse convergencia prematura, en la cual el algoritmo converge hacia ptimos locales, mientras que en otros casos el problema es justo el contrario, es decir se produce una convergencia lenta del algoritmo. Una posible solucin a estos problemas pasa por efectuar transformaciones en la funcin objetivo. El problema de la convergencia prematura, surge a menudo cuando la seleccin de individuos se realiza de manera proporcional a su funcin objetivo. En tal caso, pueden existir individuos con una adaptacin al problema muy superior al resto, que a medida que avanza el algoritmo "dominan" a la poblacin. Por medio de una transformacin de la funcin objetivo, en este caso una comprensin del rango de variacin de la funcin objetivo, se pretende que dichos "superindividuos" no lleguen a dominar a la poblacin. El problema de la lenta convergencia del algoritmo, se resolvera de manera anloga, pero en este caso efectuando una expansin del rango de la funcin objetivo. La idea de especies de organismos, ha sido imitada en el diseo de los Algoritmos Genticos en un mtodo propuesto por Goldberg y Richardson, utilizando una modificacin de la funcin objetivo de cada individuo, de tal manera que individuos que estn muy cercanos entre s devalen su funcin objetivo, con objeto de que la poblacin gane en diversidad. Seleccin La funcin de seleccin de padres ms utilizada, es la denominada funcin de seleccin proporcional a la funcin objetivo, en la cual cada individuo tiene una, probabilidad de ser seleccionado como padre que es proporcional al valor de su funcin objetivo. En el modelo de seleccin elitista se fuerza a que el mejor individuo de la poblacin en el tiempo t, sea seleccionado como padre. La seleccin por torneo, constituye un procedimiento de seleccin de padres muy extendido y en el cual la idea consiste en escoger al azar un nmero de individuos de la poblacin, tamao del torneo, (con o sin reemplazamiento), seleccionar el mejor individuo de este grupo, y repetir el proceso hasta que el nmero de individuos seleccionados coincida con el tamao de la poblacin. Habitualmente el tamao del torneo es 2, y en tal caso se ha utilizado una versin probabilstica en la cual se permite la seleccin de individuos sin que necesariamente sean los mejores. Una posible clasificacin de procedimientos de seleccin de padres consistir en: mtodos de seleccin dinmicos, en los cuales las probabilidades de seleccin varan de generacin a generacin, (por ejemplo la seleccin proporcional a la funcin objetivo), frente a mtodos de seleccin estticos, en los cuales dichas probabilidades permanecen constantes (por ejemplo la seleccin basada en rangos). Si se asegura que todos los individuos tienen asignada una probabilidad de seleccin distinta de cero el mtodo de seleccin se denomina preservativo. En caso contrario se acostumbra a denominarlo extintivo. Cruce

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 4

02/05/2012. 1907.

El Algoritmo Gentico Cannico descrito anteriormente utiliza el cruce basado en un punto, en el cual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio de la seleccin de un punto de corte, para posteriormente intercambiar las secciones que se encuentran a la derecha de dicho punto. Se han investigado otros operadores de cruce, habitualmente teniendo en cuenta ms de un punto de cruce. De Jong investig el comportamiento del operador de cruce basado en mltiples puntos, concluyendo que el cruce basado en dos puntos, representaba una mejora mientras que aadir ms puntos de cruce no beneficiaba el comportamiento del algoritmo. La ventaja de tener ms de un punto de cruce radica en que el espacio de bsqueda puede ser explorado ms fcilmente, siendo la principal desventaja el hecho de aumentar la probabilidad de ruptura de buenos esquemas. Mutacin La mutacin se considera un operador bsico, que proporciona un pequeo elemento de aleatoriedad en la vecindad (entorno) de los individuos de la poblacin. Si bien se admite que el operador de cruce es el responsable de efectuar la bsqueda a lo largo del espacio de posibles soluciones, tambin parece desprenderse de los experimentos efectuados por varios investigadores que el operador de mutacin va ganando en importancia a medida que la poblacin de individuos va convergiendo (Davis). Schaffer encuentra que el efecto del cruce en la bsqueda es inferior al que previamente se esperaba. Utiliza la denominada evolucin primitiva, en la cual, el proceso evolutivo consta tan slo de seleccin y mutacin. Encuentra que dicha evolucin primitiva supera con creces a una evolucin basada exclusivamente en la seleccin y el cruce. Otra conclusin de su trabajo es que la determinacin del valor ptimo de la probabilidad de mutacin es mucho ms crucial que el relativo a la probabilidad de cruce. La bsqueda del valor ptimo para la probabilidad de mutacin, es una cuestin que ha sido motivo de varios trabajos. As, De Jong recomienda la utilizacin de una probabilidad de mutacin del bit de (l super -1), siendo l la longitud del string. Schaffer y col. utilizan resultados experimentales para estimar la tasa ptima proporcional a l/ (lambda super 0.9318),(l super 0.4535), donde lambda denota el nmero de individuos en la poblacin. Si bien en la mayora de las implementaciones de Algoritmos Genticos se asume que tanto la probabilidad de cruce como la de mutacin permanecen constantes, algunos autores han obtenido mejores resultados experimentales modificando la probabilidad de mutacin a medida que aumenta el nmero de iteraciones. Pueden consultarse los trabajos de Ackley, Bramlette, Fogarty y Michalewicz y Janikow. Reduccin Una vez obtenidos los individuos descendientes de una determinada poblacin en el tiempo t, el proceso de reduccin al tamao original, consiste en escoger lambda individuos de entre los Lambda individuos que forman parte de la poblacin en el tiempo t, y los lambda individuos descendientes de los mismos. Dicho proceso se suele hacer fundamentalmente de dos formas distintas. O bien los lambda individuos descendientes son los que forman parte de la poblacin en el tiempo t + 1, es lo que se denomina reduccin simple, o bien se escogen de entre los 2lambra individuos, los lambda individuos ms adaptados al problema, siguiendo lo que podemos denominar un criterio de reduccin elitista de grado lambda. Podemos tambin considerar otros procedimientos de reduccin que se colocan entre los anteriores, por ejemplo, si escogemos los (lambda sub 1) mejores de entre padres y descendientes, escogindose las lambdas. (lambda sub 1)y restantes de entre los descendientes no seleccionados hasta el momento.

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 5

02/05/2012. 1907.

El concepto de reduccin est ligado con el de tasa de reemplazamiento generacional, (t sub rg) es decir en el porcentaje de hijos generados con respecto del tamao de la, poblacin. Si bien en la idea primitiva de Holland dicho reemplazamiento se efectuaba, de l en 1, es decir (t sub gr) = (lambda super -1), habitualmente dicho reemplazamiento se efecta en bloque, (t sub gr)= 1. De Jong introdujo el concepto de tasa de reemplazamiento generacional con el objetivo de efectuar un solapamiento controlado entre padres e hijos. En su trabajo, en cada paso una proporcin, t,~, de la poblacin es seleccionada para ser cruzada. Los hijos resultantes podrn reemplazar a miembros de la poblacin anterior. Este tipo de Algoritmos Genticos se conocen bajo el nombre de SSGA (Steady State Genetie Algorithm), un ejemplo de los cuales lo constituye GENITOR (Whitley y Kauth, Whitley). Michalewicz introduce un algoritmo que denomina Algoritmo Gentico Modificado, (MOD sub GA), en el cual para llevar a cabo el reemplazamiento generacional, selecciona al azar r1 individuos para la reproduccin, as como r2 individuos (distintos de los anteriores) destinados a morir. Estas selecciones aleatorias tienen en consideracin el valor de la funcin objetivo de cada individuo, de tal manera que cuanto mayor es la funcin objetivo, mayor es la probabilidad de que sea seleccionado para la reproduccin, y menor es la probabilidad de que dicho individuo fallezca. El resto de las lambdas. (r1 + r2) individuos son considerados como neutros y pasan directamente a formar parte de la poblacin en la siguiente generacin. Cmo trabaja la Programacin Gentica (GP)? Programacin gentica comienza con un lodo primordial (en alusin a la teora del origen de la vida) de miles de programas de ordenador creados al azar. Esta poblacin de los programas es cada vez evolucionado a lo largo de una serie de generaciones. La bsqueda evolutiva utiliza el principio darwiniano de seleccin natural (supervivencia del ms apto) y los anlogos de varias operaciones de forma natural, incluida la de cruce (recombinacin sexual), la mutacin, la duplicacin de genes, la delecin del gen. Programacin gentica a veces tambin se emplea en los procesos de desarrollo mediante el cual un embrin se convierte en organismo totalmente desarrollado. Adems, la programacin gentica puede crear automticamente, en una sola corrida, un general (parmetros) la solucin a un problema en la forma de una estructura grfica cuyos nodos o aristas representan los componentes y donde los valores de los parmetros de los componentes estn especificados por las expresiones matemticas que contienen variables libres. Es decir, la programacin gentica puede crear automticamente una solucin general a un problema en la forma de una topologa de parmetros. Qu es la Programacin Gentica? Uno de los desafos centrales de la informtica es conseguir una computadora para hacer lo que hay que hacer, sin decirle cmo hacerlo. Programacin gentica aborda este reto proporcionando un mtodo para la creacin automtica de un programa de ordenador de trabajo a partir de un planteamiento del problema de alto nivel del problema. Programacin gentica logra este objetivo de la programacin automtica (tambin llamado a veces la sntesis del programa o la induccin del programa) por una poblacin genticamente de reproduccin de programas informticos utilizando los principios de la seleccin natural darwiniana y las operaciones de inspiracin biolgica. Las operaciones

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 6

02/05/2012. 1907.

incluyen la reproduccin, crossover (recombinacin sexual), la mutacin y alteracin de la arquitectura-las operaciones de modelado despus de la duplicacin de genes y la supresin de genes en la naturaleza. La programacin gentica es un mtodo independiente del dominio que las razas genticamente una poblacin de programas de computadora para resolver un problema. En concreto, la programacin gentica de una poblacin se transforma iterativamente de los programas de ordenador en una nueva generacin de programas mediante la aplicacin de los anlogos de origen natural operaciones genticas. Las operaciones incluyen la gentica de cruce (recombinacin sexual), la mutacin, reproduccin, duplicacin de genes, y la delecin del gen. Los pasos de preparacin de la programacin gentica El usuario humano se comunica la declaracin de alto nivel del problema en el sistema de programacin gentica mediante la realizacin de ciertos pasos bien definidos preparatoria. Los cinco pasos principales de preparacin para la versin bsica de la programacin gentica humana requiere que el usuario para especificar (1) el conjunto de terminales (por ejemplo, las variables independientes del problema, las funciones de argumento cero, y las constantes al azar) para cada rama del programa a-serevolucionado, (2) el conjunto de funciones primitivas para cada rama del programa a-ser-evolucionado, (3) ajuste (de manera explcita o implcita la medicin de la aptitud de los individuos de la poblacin), (4) ciertos parmetros para el control de la carrera, y (5) la terminacin de criterio y el mtodo para designar el resultado de la carrera. Pasos para la EJECUCIN de la programacin gentica Programacin gentica suele comenzar con una poblacin de programas informticos generados al azar compuesta de los ingredientes de programacin disponible. Programacin gentica iterativa transforma una poblacin de programas de ordenador en una nueva generacin de la poblacin mediante la aplicacin de los anlogos de origen natural operaciones genticas. Estas operaciones se aplican a la persona (s) seleccionados de la poblacin. Los individuos son probabilsticamente seleccionados para participar en las operaciones genticas en base a su aptitud (segn lo medido por la medida de la aptitud que el usuario facilite humanos en la tercera etapa preparatoria). La transformacin iterativa de la poblacin que se ejecuta dentro del bucle principal generacional de la ejecucin de la programacin gentica. Los pasos EJECUCIN de la programacin gentica (es decir, el organigrama de la programacin gentica) son los siguientes: (1) crear aleatoriamente una poblacin inicial (generacin 0) de los programas de

Miguel Solis Gaspar Miguel. Inteligencia Artificial.

Pgina 7

02/05/2012. 1907.

ordenador individual compuesto por las funciones disponibles y terminales. (2) iterativamente realizar las siguientes sub-etapas (llamada generacin) en la poblacin hasta que el criterio de terminacin se cumple: (A) Ejecutar cada programa en la poblacin y determinar su aptitud (explcita o implcitamente) usando la medida del problema fsico. (B) Seleccionar uno o dos individuales del programa (s) de la poblacin con una probabilidad basada en la aptitud (con reseleccin permitido) para participar en las operaciones genticas en (c). (C) Crear un programa nuevo individuo (s) de la poblacin mediante la aplicacin de las operaciones siguientes gentico con probabilidades se especifica: (I) Reproduccin: copia del programa seleccionado individual a la nueva poblacin. (Ii) Crossover: Crear un programa nuevo descendiente (s) para la nueva poblacin por recombinacin de las piezas escogidas al azar a partir de dos programas seleccionados. (Iii) Mutacin: Crear un programa nuevo descendiente de la nueva poblacin mutando aleatoriamente una parte elegida al azar de un programa seleccionado. (Iv) Arquitectura de las operaciones de alteracin: Elige una operacin que altera la arquitectura del repertorio disponible de este tipo de operaciones y crear un programa nuevo descendiente de la nueva poblacin mediante la aplicacin de la arquitectura que alteran el funcionamiento elegido para un programa seleccionado. (3) Despus de que el criterio de terminacin est satisfecho, el mejor programa nico en la poblacin producida durante la ejecucin (el individuo mejor hasta ahora) se cosecha y se designa como el resultado de la carrera. Si la ejecucin es correcta, el resultado puede ser una solucin (o solucin aproximada) del problema. Referencias: o Alfaro, Eddy. Viernes 4 de noviembre de 2011 09:08:52 a.m. http://eddyalfaro.galeon.com/geneticos.html. o John R. Koza. Domingo 8 de julio de 2007 05:37:43 a.m. http://www.geneticprogramming.org/. o Debido a la cantidad de texto a traducir, opt por usar la siguiente web: http://translate.google.com/, revisando posteriormente que la traduccin cobrara sentido para cualquier lector.

Potrebbero piacerti anche