Está en la página 1de 86

Algoritmos genticos

ALGORITMICA III

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ndice
ALGORITMOS GENTICOS.4 Mtodos de representacin...5 Mtodos de seleccin..7 Mtodos de cambio..9 Otras tcnicas de resolucin de problemas.10 Redes neuronales.11 Ascenso a colina (Hill Climbing).12 Recocido simulado (simulated annealing)13 Una breve historia de los AGs..13 Cules son las ventajas de los AGs?....................................................16 Cules son las limitaciones de los AGs? ..22 Algunos ejemplos especficos de AG.28 Acstica..28 Ingeniera aeroespacial30 Astronoma y astrofsica.33

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Ingeniera elctrica..37 Mercados financieros.39 Juegos 42 Geofsica.46 Ingeniera de materiales.48 Matemticas y algoritmia..50 Ejrcito y cumplimiento de la ley ..52 Biologa molecular..54 Reconocimiento de patrones y explotacin de datos .56 Diseo de rutas y horarios61 Ingeniera de sistemas .65 Los AGs no tienen mltiples sistemas de lectura.79 Los AGs tienen objetivos predeterminados.80 Los AGs no generan informacin nueva en realida82

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ALGORITMO GENTICO
Expuesto concisamente, un algoritmo gentico (o AG para abreviar) es una tcnica de programacin que imita a la evolucin biolgica como estrategia para resolver problemas. Dado un problema especfico a resolver, la entrada del AG es un conjunto de soluciones potenciales a ese problema, codificadas de alguna manera, y una mtrica llamada funcin de aptitud que permite evaluar cuantitativamente a cada candidata. Estas candidatas pueden ser soluciones que ya se sabe que funcionan, con el objetivo de que el AG las mejore, pero se suelen generar aleatoriamente. Luego el AG evala cada candidata de acuerdo con la funcin de aptitud. En un acervo de candidatas generadas aleatoriamente, por supuesto, la mayora no funcionarn en absoluto, y sern eliminadas. Sin embargo, por puro azar, unas pocas pueden ser prometedoras -pueden mostrar actividad, aunque slo sea actividad dbil e imperfecta, hacia la solucin del problema. Estas candidatas prometedoras se conservan y se les permite reproducirse. Se realizan mltiples copias de ellas, pero las copias no son perfectas; se introducen cambios aleatorios durante el proceso de copia. Luego, esta descendencia digital prosigue con la siguiente generacin, formando un nuevo acervo de soluciones candidatas, y son sometidas a una ronda de evaluacin de aptitud. Las candidatas que han empeorado o no han mejorado con los cambios en su cdigo son eliminadas de nuevo; pero, de nuevo, por puro azar, las variaciones aleatorias introducidas en la poblacin pueden haber mejorado a algunos individuos, convirtindolos en mejores soluciones del problema, ms completas o ms eficientes. De nuevo, se selecionan y copian estos individuos vencedores hacia la siguiente generacin con cambios aleatorios, y el proceso se repite. Las expectativas son que la aptitud media de la poblacin se incrementar en cada ronda y, por tanto, repitiendo este proceso cientos o miles de rondas, pueden descubrirse soluciones muy buenas del problema.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Aunque a algunos les puede parecer asombroso y antiintuitivo, los algoritmos genticos han demostrado ser una estrategia enormemente poderosa y exitosa para resolver problemas, demostrando de manera espectacular el poder de los principios evolutivos. Se han utilizado algoritmos genticos en una amplia variedad de campos para desarrollar soluciones a problemas tan difciles o ms difciles que los abordados por los diseadores humanos. Adems, las soluciones que consiguen son a menudo ms eficientes, ms elegantes o ms complejas que nada que un ingeniero humano producira. En algunos casos, los algoritmos genticos han producido soluciones que dejan perplejos a los programadores que escribieron los algoritmos en primera instancia! Mtodos de representacin Antes de que un algoritmo gentico pueda ponerse a trabajar en un problema, se necesita un mtodo para codificar las soluciones potenciales del problema de forma que una computadora pueda procesarlas. Un enfoque comn es codificar las soluciones como cadenas binarias: secuencias de 1s y 0s, donde el dgito de cada posicin representa el valor de algn aspecto de la solucin. Otro mtodo similar consiste en codificar las soluciones como cadenas de enteros o nmeros decimales, donde cada posicin, de nuevo, representa algn aspecto particular de la solucin. Este mtodo permite una mayor precisin y complejidad que el mtodo comparativamente restringido de utilizar slo nmeros binarios, y a menudo ``est intuitivamente ms cerca del espacio de problemas'' . Esta tcnica se utiliz, por ejemplo, en el trabajo de Steffen Schulze-Kremer, que escribi un algoritmo gentico para predecir la estructura tridimensional de una protena, basndose en la secuencia de aminocidos que la componen . El AG de Schulze-Kremer utilizaba nmeros reales para representar los famosos ``ngulos de torsin'' entre los enlaces peptdicos que conectan a los aminocidos. (Una protena est formada por una secuencia de bloques bsicos llamados aminocidos, que se conectan como los eslabones de una cadena. Una vez que
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

todos los aminocidos estn enlazados, la protena se dobla formando una compleja estructura tridimensional, basada en cules aminocidos se atraen entre ellos y cules se repelen. La forma de una protena determina su funcin). Los algoritmos genticos para entrenar a las redes neuronales tambin utilizan a menudo este mtodo de codificacin. Un tercer mtodo consiste en representar a los individuos de un AG como cadenas de letras, donde cada letra, de nuevo, representa un aspecto especfico de la solucin. Un ejemplo de esta tcnica es el mtodo basado en ``codificacin gramtica'' de Hiroaki Kitano, en el que a un AG se le encarg la tarea de evolucionar un sencillo conjunto de reglas llamadas gramtica libre de contexto, que a su vez se utilizaban para generar redes neuronales para una variedad de problemas . La virtud de estos tres mtodos es que facilitan la definicin de operadores que causen los cambios aleatorios en las candidatas seleccionadas: cambiar un 0 por un 1 o viceversa, sumar o restar al valor de un nmero una cantidad elegida al azar, o cambiar una letra por otra. (Ver la seccin sobre los mtodos de cambio para ms detalles acerca de los operadores genticos). Otra estrategia, desarrollada principalmente por John Koza, de la Universidad de Stanford, y denominada programacin gentica, representa a los programas como estructuras de datos ramificadas llamadas rboles . En este mtodo, los cambios aleatorios pueden generarse cambiado el operador o alterando el valor de un cierto nodo del rbol, o sustituyendo un subrbol por otro.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Figure: Tres sencillos rboles de programa del tipo utilizado normalmente en la programacin gentica. Debajo se proporciona la expresin matemtica que representa cada uno. Es importante sealar que los algoritmos evolutivos no necesitan representar las soluciones candidatas como cadenas de datos de una longitud fija. Algunos las representan de esta manera, pero otros no; por ejemplo, la ``codificacin gramatical'' de Kitano, explicada arriba, puede escalarse eficientemente para crear redes neuronales grandes y complejas, y los rboles de programacin gentica de Koza pueden crecer arbitrariamente tanto como sea necesario para resolver cualquier problema que se les pida. Mtodos de seleccin Un algoritmo gentico puede utilizar muchas tcnicas diferentes para seleccionar a los individuos que deben copiarse hacia la siguiente generacin, pero abajo se listan algunos de los ms comunes. Algunos de estos mtodos son mutuamente exclusivos, pero otros pueden utilizarse en combinacin, algo que se hace a menudo. Seleccin elitista: se garantiza la seleccin de los miembros ms aptos de cada generacin. (La mayora de los AGs no utilizan elitismo puro, sino que usan una forma modificada por la que el individuo mejor, o algunos de los
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mejores, son copiados hacia la siguiente generacin en caso de que no surja nada mejor). Seleccin proporcional a la aptitud: los individuos ms aptos tienen ms probabilidad de ser seleccionados, pero no la certeza. Seleccin por rueda de ruleta: una forma de seleccin proporcional a la aptitud en la que la probabilidad de que un individuo sea seleccionado es proporcional a la diferencia entre su aptitud y la de sus competidores. (Conceptualmente, esto puede representarse como un juego de ruleta cada individuo obtiene una seccin de la ruleta, pero los ms aptos obtienen secciones mayores que las de los menos aptos. Luego la ruleta se hace girar, y en cada vez se elige al individuo que ``posea'' la seccin en la que se pare la ruleta). Seleccin escalada: al incrementarse la aptitud media de la poblacin, la fuerza de la presin selectiva tambin aumenta y la funcin de aptitud se hace ms discriminadora. Este mtodo puede ser til para seleccionar ms tarde, cuando todos los individuos tengan una aptitud relativamente alta y slo les distingan pequeas diferencias en la aptitud. Seleccin por torneo: se eligen subgrupos de individuos de la poblacin, y los miembros de cada subgrupo compiten entre ellos. Slo se elige a un individuo de cada subgrupo para la reproduccin. Seleccin por rango: a cada individuo de la poblacin se le asigna un rango numrico basado en su aptitud, y la seleccin se basa en este ranking, en lugar de las diferencias absolutas en aptitud. La ventaja de este mtodo es que puede evitar que individuos muy aptos ganen dominancia al principio a expensas de los menos aptos, lo que reducira la diversidad gentica de la poblacin y podra obstaculizar la bsqueda de una solucin aceptable. Seleccin generacional: la descendencia de los individuos seleccionados en cada generacin se convierte en toda la siguiente generacin. No se conservan individuos entre las generaciones.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Seleccin por estado estacionario: la descendencia de los individuos seleccionados en cada generacin vuelven al acervo gentico preexistente, reemplazando a algunos de los miembros menos aptos de la siguiente generacin. Se conservan algunos individuos entre generaciones. Seleccin jerrquica: los individuos atraviesan mltiples rondas de seleccin en cada generacin. Las evaluaciones de los primeros niveles son ms rpidas y menos discriminatorias, mientras que los que sobreviven hasta niveles ms altos son evaluados ms rigurosamente. La ventaja de este mtodo es que reduce el tiempo total de clculo al utilizar una evaluacin ms rpida y menos selectiva para eliminar a la mayora de los individuos que se muestran poco o nada prometedores, y sometiendo a una evaluacin de aptitud ms rigurosa y computacionalmente ms costosa slo a los que sobreviven a esta prueba inicial.

Mtodos de cambio Una vez que la seleccin ha elegido a los individuos aptos, stos deben ser alterados aleatoriamente con la esperanza de mejorar su aptitud para la siguiente generacin. Existen dos estrategias bsicas para llevar esto a cabo. La primera y ms sencilla se llama mutacin. Al igual que una mutacin en los seres vivos cambia un gen por otro, una mutacin en un algoritmo gentico tambin causa pequeas alteraciones en puntos concretos del cdigo de un idividuo. El segundo mtodo se llama cruzamiento, e implica elegir a dos individuos para que intercambien segmentos de su cdigo, produciendo una ``descendencia'' artificial cuyos individuos son combinaciones de sus padres. Este proceso pretende simular el proceso anlogo de la recombinacin que se da en los cromosomas durante la reproduccin sexual. Las formas comunes de cruzamiento incluyen al cruzamiento de un punto, en el que se establece un punto de intercambio en un lugar aleatorio del genoma de los dos individuos, y uno de los
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

individuos contribuye todo su cdigo anterior a ese punto y el otro individuo contribuye todo su cdigo a partir de ese punto para producir una descendencia, y al cruzamiento uniforme, en el que el valor de una posicin dada en el genoma de la descendencia corresponde al valor en esa posicin del genoma de uno de los padres o al valor en esa posicin del genoma del otro padre, elegido con un 50% de probabilidad.

Figure: Cruzamiento y mutacin. El diagrama de arriba ilustra el efecto de estos dos operadores genticos en los individuos de una poblacin de cadenas de 8 bits. El diagrama superior muestra a dos individuos llevando a cabo un cruzamiento de un punto; el punto de intercambio se establece entre las posiciones quinta y sexta del genoma, produciendo un nuevo individuo que es hbrido de sus progenitores. El segundo diagrama muestra a un individuo sufriendo una mutacin en la posicin 4, cambiando el 0 de esa posicin de su genoma por un 1. Otras tcnicas de resolucin de problemas Con el auge de la informtica de inteligencia artificial y el desarrollo de los mtodos heursticos, han emergido otras tcnicas de resolucin computerizada de problemas que en algunos aspectos son similares a los algoritmos genticos. Esta seccin explica algunas de estas tcnicas, en qu se parecen a los AGs y en qu se diferencian.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

10

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Redes neuronales Una red neuronal es un mtodo de resolucin de problemas basado en un modelo informtico de la manera en que estn conectadas las neuronas del cerebro. Una red neuronal consiste en capas de unidades procesadoras, llamadas nodos, unidas por conexiones direccionales: una capa de entrada, una capa de salida y cero o ms capas ocultas enmedio. Se le presenta un patrn inicial de entrada a la capa de entrada, y luego los nodos que se estimulan transmiten una seal a los nodos de la siguiente capa a la que estn conectados. Si la suma de todas las entradas que entran en una de estas neuronas virtuales es mayor que el famoso umbral de activacin de la neurona, esa neurona se activa, y transmite su propia seal a las neuronas de la siguiente capa. El patrn de activacin, por tanto, se propaga hacia delante hasta que alcanza a la capa de salida, donde es devuelto como solucin a la entrada presentada. Al igual que en el sistema nervioso de los organismos biolgicos, las redes neuronales aprenden y afinan su rendimiento a lo largo del tiempo, mediante la repeticin de rondas en las que se ajustan sus umbrales, hasta que la salida real coincide con la salida deseada para cualquier entrada dada. Este proceso puede ser supervisado por un experimentador humano, o puede correr automticamente utilizando un algoritmo de aprendizaje .Se han utilizado algoritmos genticos para construir y entrenar a redes neuronales.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

11

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Figure: Una sencilla red neuronal anticipativa (feedforward), con una capa consistente en cuatro neuronas, una capa oculta consistente en tres neuronas y una capa de salida consistente en cuatro neuronas. El nmero de cada neurona representa su umbral de activacin: slo se excitar si recibe al menos esa cantidad de entradas. El diagrama muestra cmo la red neuronal recibe una cadena de entrada y cmo la activacin se extiende por la red hasta producir una salida. Ascenso a colina (Hill Climbing) Similares a los algoritmos genticos, aunque ms sistemticos y menos aleatorios. Un algoritmo de ascenso a colina comienza con una solucin al problema a mano, normalmente elegida al azar. Luego, la cadena se muta, y si la mutacin proporciona una solucin con mayor aptitud que la solucin anterior, se conserva la nueva solucin; en caso contrario, se conserva la solucin actual. Luego el algoritmo se repite hasta que no se pueda encontrar una mutacin que provoque un incremento en la aptitud de la solucin actual, y esta solucin se devuelve como . (Para entender de dnde viene el nombre de esta tcnica, imagine que el espacio de todas las soluciones posibles de un cierto problema se representa como un paisaje tridimensional. Un conjunto de coordenadas en ese paisaje representa una solucin particular. Las soluciones mejores estn a mayor altitud, formando colinas y picos; las que son peores estn a menor altitud, formando valles. Un ``trepacolinas'' es, por tanto, un algoritmo que comienza en un punto dado del paisaje y se mueve inexorablemente colina arriba). El algoritmo de ascenso a colina es lo que se conoce como algoritmo voraz, lo que significa que siempre hace la mejor eleccin disponible en cada paso, con la esperanza de que de esta manera se puede obtener el mejor resultado global. En contraste, los mtodos como los algoritmos genticos y el recocido simulado, discutido abajo, no son voraces; a veces, estos mtodos hacen elecciones menos ptimas al principio con la esperanza de que conducirn hacia una solucin mejor ms adelante.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

12

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Recocido simulado (simulated annealing) Otra tcnica de optimizacin similar a los algoritmos evolutivos se conoce como recocido simulado. La idea toma prestado su nombre del proceso industrial en el que un material se calienta por encima de su punto de fusin y luego se enfra gradualmente para eliminar defectos en su estructura cristalina, produciendo un entramado de tomos ms estable y regular .En el recocido simulado, como en los algoritmos genticos, existe una funcin de aptitud que define un paisaje adaptativo; sin embargo, en lugar de una poblacin de candidatas como en los AGs, slo existe una solucin candidata. El recocido simulado tambin aade el concepto de ``temperatura'', una cantidad numrica global que disminuye gradualmente en el tiempo. En cada paso del algoritmo, la solucin muta (lo que es equivalente a moverse hacia un punto adyacente en el paisaje adaptativo). Luego, la aptitud de la nueva solucin se compara con la aptitud de la solucin anterior; si es mayor, se conserva la nueva solucin. En caso contrario, el algoritmo toma la decisin de conservarla o descartarla en base a la temperatura. Si la temperatura es alta, como lo es al principio, pueden conservarse incluso cambios que causan decrementos significativos en la aptitud, y utilizarse como base para la siguiente ronda del algoritmo, pero al ir disminuyendo la temperatura, el algoritmo se va haciendo ms y ms propenso a aceptar slo los cambios que aumentan la aptitud. Finalmente, la temperatura alzanca el cero y el sistema se ``congela''; cualquiera que sea la configuracin que exista en ese punto se convierte en la solucin. El recocido simulado tiene a menudo aplicaciones en la ingeniera del diseo, como determinar la disposicin fsica de los componentes en un chip . Una breve historia de los AGs Los primeros ejemplos de lo que hoy podramos llamar algoritmos genticos aparecieron a finales de los 50 y principios de los 60, programados en computadoras por bilogos evolutivos que buscaban explcitamente realizar
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

13

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

modelos de aspectos de la evolucin natural. A ninguno de ellos se le ocurri que esta estrategia podra aplicarse de manera ms general a los problemas artificiales, pero ese reconocimiento no tardara en llegar: ``La computacin evolutiva estaba definitivamente en el aire en los das formativos de la computadora electrnica'' . En 1962, investigadores como G.E.P. Box, G.J. Friedman, W.W. Bledsoe y H.J. Bremermann haban desarrollado

independientemente algoritmos inspirados en la evolucin para optimizacin de funciones y aprendizaje automtico, pero sus trabajos generaron poca reaccin. En 1965 surgi un desarrollo ms exitoso, cuando Ingo Rechenberg, entonces de la Universidad Tcnica de Berln, introdujo una tcnica que llam estrategia evolutiva, aunque se pareca ms a los trepacolinas que a los algoritmos genticos. En esta tcnica no haba poblacin ni cruzamiento; un padre mutaba para producir un descendiente, y se conservaba el mejor de los dos, convirtindose en el padre de la siguiente ronda de mutacin .Versiones posteriores introdujeron la idea de poblacin. Las estrategias evolutivas todava se emplean hoy en da por ingenieros y cientficos, sobre todo en Alemania. El siguiente desarrollo importante en el campo vino en 1966, cuando L.J. Fogel, A.J. Owens y M.J. Walsh introdujeron en Amrica una tcnica que llamaron programacin evolutiva. En este mtodo, las soluciones candidatas para los problemas se representaban como mquinas de estado finito sencillas; al igual que en la estrategia evolutiva de Rechenberg, su algoritmo funcionaba mutando aleatoriamente una de estas mquinas simuladas y conservando la mejor de las dos . Tambin al igual que las estrategias evolutivas, hoy en da existe una formulacin ms amplia de la tcnica de programacin evolutiva que todava es un rea de investigacin en curso. Sin embargo, lo que todava faltaba en estas dos metodologas era el reconocimiento de la importancia del cruzamiento. En una fecha tan temprana como 1962, el trabajo de John Holland sobre sistemas adaptativos estableci las bases para desarrollos posteriores; y lo que es ms importante, Holland fue tambin el primero en proponer explcitamente el
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

14

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

cruzamiento y otros operadores de recombinacin. Sin embargo, el trabajo fundamental en el campo de los algoritmos genticos apareci en 1975, con la publicacin del libro ``Adaptacin en Sistemas Naturales y Artificiales''. Basado en investigaciones y papers anteriores del propio Holland y de colegas de la Universidad de Michigan, este libro fue el primero en presentar sistemtica y rigurosamente el concepto de sistemas digitales adaptativos utilizando la mutacin, la seleccin y el cruzamiento, simulando el proceso de la evolucin biolgica como estrategia para resolver problemas. El libro tambin intent colocar los algoritmos genticos sobre una base terica firme introduciendo el concepto de esquema .Ese mismo ao, la importante tesis de Kenneth De Jong estableci el potencial de los AGs demostrando que podan desenvolverse bien en una gran variedad de funciones de prueba, incluyendo paisajes de bsqueda ruidosos, discontinuos y multimodales . Estos trabajos fundacionales establecieron un inters ms generalizado en la computacin evolutiva. Entre principios y mediados de los 80, los algoritmos genticos se estaban aplicando en una amplia variedad de reas, desde problemas matemticos abstractos como el ``problema de la mochila'' (binpacking) y la coloracin de grafos hasta asuntos tangibles de ingeniera como el control de flujo en una lnea de ensamble, reconocimiento y clasificacin de patrones y optimizacin estructural. Al principio, estas aplicaciones eran principalmente tericas. Sin embargo, al seguir proliferando la investigacin, los algoritmos genticos migraron hacia el sector comercial, al cobrar importancia con el crecimiento exponencial de la potencia de computacin y el desarrollo de Internet. Hoy en da, la computacin evolutiva es un campo floreciente, y los algoritmos genticos estn ``resolviendo problemas de inters cotidiano'' en reas de estudio tan diversas como la prediccin en la bolsa y la planificacin de la cartera de valores, ingeniera aeroespacial, diseo de microchips, bioqumica
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

15

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

y biologa molecular, y diseo de horarios en aeropuertos y lneas de montaje. La potencia de la evolucin ha tocado virtualmente cualquier campo que uno pueda nombrar, modelando invisiblemente el mundo que nos rodea de incontables maneras, y siguen descubrindose nuevos usos mientras la investigacin sigue su curso. Y en el corazn de todo esto se halla nada ms que la simple y poderosa idea de Charles Darwin: que el azar en la variacin, junto con la ley de la seleccin, es una tcnica de resolucin de problemas de inmenso poder y de aplicacin casi ilimitada. Cules son las ventajas de los AGs? El primer y ms importante punto es que los algoritmos genticos son intrnsecamente paralelos. La mayora de los otros algoritmos son en serie y slo pueden explorar el espacio de soluciones hacia una solucin en una direccin al mismo tiempo, y si la solucin que descubren resulta subptima, no se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de nuevo. Sin embargo, ya que los AGs tienen descendencia mltiple, pueden explorar el espacio de soluciones en mltiples direcciones a la vez. Si un camino resulta ser un callejn sin salida, pueden eliminarlo fcilmente y continuar el tabajo en avenidas ms prometedoras, dndoles una mayor probabilidad en cada ejecucin de encontrar la solucin.

Sin embargo, la ventaja del paralelismo va ms all de esto. Considere lo siguiente: todas las cadenas binarias (cadenas de ceros y unos) de 8 dgitos forman un espacio de bsqueda, que puede representarse como ******** (donde * significa ``o 0 o 1''). La cadena 01101010 es un miembro de este espacio. Sin embargo, tambin es un miembro del espacio 0*******, del espacio 01******, del espacio 0******0, del espacio 0*1*1*1*, del espacio 10*01**0, etctera. Evaluando la aptitud de esta cadena particular, un algoritmo gentico estara sondeando cada uno de los espacios a los que
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

16

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

pertenece. Tras muchas evaluaciones, ira obteniendo un valor cada vez ms preciso de la aptitud media de cada uno de estos espacios, cada uno de los cuales contiene muchos miembros. Por tanto, un AG que evale explcitamente un nmero pequeo de individuos est evaluando implcitamente un grupo de individuos mucho ms grande -de la misma manera que un encuestador que le hace preguntas a un cierto miembro de un grupo tnico, religioso o social espera aprender algo acerca de las opiniones de todos los miembros de ese grupo, y por tanto puede predecir con fiabilidad la opinin nacional sondeando slo un pequeo porcentaje de la poblacin. De la misma manera, el AG puede dirigirse hacia el espacio con los individuos ms aptos y encontrar el mejor de ese grupo. En el contexto de los algoritmos evolutivos, esto se conoce como teorema del esquema, y es la ventaja principal de los AGs sobre otros mtodos de resolucin de problemas Debido al paralelismo que les permite evaluar implcitamente muchos esquemas a la vez, los algoritmos genticos funcionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente grande -demasiado vasto para hacer una bsqueda exhaustiva en un tiempo razonable. La mayora de los problemas que caen en esta categora se conocen como ``no lineales''. En un problema lineal, la aptitud de cada componente es independiente, por lo que cualquier mejora en alguna parte dar como resultado una mejora en el sistema completo. No es necesario decir que hay pocos problemas como ste en la vida real. La no linealidad es la norma, donde cambiar un componente puede tener efectos en cadena en todo el sistema, y donde cambios mltiples que, individualmente, son perjudiciales, en combinacin pueden conducir hacia mejoras en la aptitud mucho mayores. La no linealidad produce una explosin combinatoria: el espacio de cadenas binarias de 1.000 dgitos puede examinarse exhaustivamente evaluando slo 2.000 posibilidades si el problema es lineal, mientras que si no es lineal, una bsqueda exhaustiva
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

17

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

requiere evaluar 21.000 posibilidades -un nmero que, escrito, ocupara ms de 300 dgitos.

Afortunadamente, el paralelismo implcito de los AGs les permite superar incluso este enorme nmero de posibilidades, y encontrar con xito resultados ptimos o muy buenos en un corto periodo de tiempo, tras muestrear directamente slo regiones pequeas del vasto paisaje adaptativo Por ejemplo, un algoritmo gentico desarrollado en comn por ingenieros de General Electric y el Rensselaer Polytechnic Institute produjo el diseo de la turbina de un motor a reaccin de altas prestaciones que era tres veces mejor que la configuracin diseada por humanos, y un 50% mejor que una configuracin diseada por un sistema experto que recorri con xito un espacio de soluciones que contena ms de 10.387 posibilidades. Los mtodos convencionales para disear estas turbinas son una parte fundamental de proyectos de ingeniera que pueden durar hasta cinco aos y costar ms de 2.000 millones de dlares; el algoritmo gentico descubri esta solucin en dos das, en una estacin de trabajo de escritorio tpica en ingeniera Otra ventaja notable de los algoritmos genticos es que se desenvuelven bien en problemas con un paisaje adaptativo complejo -aqullos en los que la funcin de aptitud es discontinua, ruidosa, cambia con el tiempo, o tiene muchos ptimos locales. La mayora de los problemas prcticos tienen un espacio de soluciones enorme, imposible de explorar exhaustivamente; el reto se convierte entonces en cmo evitar los ptimos locales -soluciones que son mejores que todas las que son similares a ella, pero que no son mejores que otras soluciones distintas situadas en algn otro lugar del espacio de soluciones. Muchos algoritmos de bsqueda pueden quedar atrapados en los ptimos locales: si llegan a lo alto de una colina del paisaje adaptativo, descubrirn que no existen soluciones mejores en las cercanas y concluirn que han alcanzado la mejor de todas, aunque
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

18

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

existan

picos

ms

altos

en

algn

otro

lugar

del

mapa.

Los algoritmos evolutivos, por otro lado, han demostrado su efectividad al escapar de los ptimos locales y descubrir el ptimo global incluso en paisajes adaptativos muy escabrosos y complejos. (Debe decirse que, en la realidad, a menudo no hay manera de decir si una cierta solucin a un problema es el ptimo global o slo un ptimo local muy alto. Sin embargo, aunque un AG no devuelva siempre una solucin perfecta y demostrable a un problema, casi siempre puede devolver al menos una muy buena solucin). Todos los cuatro componentes principales de los AGs paralelismo, seleccin, mutacin y cruzamiento- trabajan juntos para conseguir esto. Al principio, el AG genera una poblacin inicial diversa, lanzando una ``red'' sobre el paisaje adaptativo. compara esto con un ejrcito de paracaidistas cayendo sobre el paisaje del espacio de bsqueda de un problema, cada uno de ellos con rdenes de buscar el pico ms alto). Pequeas mutaciones permiten a cada individuo explorar sus proximidades, mientras que la seleccin enfoca el progreso, guiando a la descendencia del algoritmo cuesta arriba hacia zonas ms prometedoras del espacio de soluciones

Sin embargo, el cruzamiento es el elemento clave que distingue a los algoritmos genticos de los otros mtodos como los trepacolinas y el recocido simulado. Sin el cruzamiento, cada solucin individual va por su cuenta, explorando el espacio de bsqueda en sus inmediaciones sin referencia de lo que el resto de individuos puedan haber descubierto. Sin embargo, con el cruzamiento en juego, hay una transferencia de informacin entre los candidatos prsperos -los individuos pueden beneficiarse de lo que otros han aprendido, y los esquemas pueden mezclarse y combinarse, con el potencial de producir una descendencia que tenga las virtudes de sus dos padres y ninguna de sus debilidades.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

19

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

donde los autores analizan el problema de sintetizar un filtro de paso bajo utilizando programacin gentica. En una generacin se seleccionaron dos circuitos progenitores para llevar a cabo el cruzamiento; un padre tena una buena topologa (componentes como inductores y condensadores

colocados en el sitio correcto) pero malos tamaos (valores demasiado bajos de inductancia y capacidad para los componentes). El otro padre tena mala topologa pero buenos tamaos. El resultado de aparearlos mediante cruzamiento fue una descendencia con la buena topologa de un padre y los buenos tamaos del otro, dando como resultado una mejora sustancial de la aptitud sobre sus dos padres.

El problema de encontrar el ptimo global en un espacio con muchos ptimos locales tambin se conoce como el dilema de la exploracin versus explotacin, ``un problema clsico de todos los sistemas que pueden adaptarse y aprender'' Una vez que un algoritmo (o un diseador humano) ha encontrado una estrategia para resolver problemas que parece funcionar satisfactoriamente, debera centrarse en hacer el mejor uso de esa estrategia, o buscar otras? Abandonar una estrategia de probada solvencia para buscar otras nuevas casi garantiza que supondr una prdida y degradacin del rendimiento, al menos a corto plazo. Pero si uno se queda con una estrategia particular excluyendo a todas las dems, corre el riesgo de no descubrir estrategias mejores que existen pero no se han encontrado. De nuevo, los algoritmos genticos han demostrado ser muy buenos en dar con este equilibrio y descubrir buenas soluciones en un tiempo y esfuerzo computacional razonables. Otro rea en el que destacan los algoritmos genticos es su habilidad para manipular muchos parmetros simultneamente Muchos problemas de la vida real no pueden definirse en trminos de un nico valor que hay que minimizar o maximizar, sino que deben expresarse en trminos de mltiples objetivos, a menudo involucrando contrapartidas: uno slo puede mejorar a
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

20

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

expensas de otro. Los AGs son muy buenos resolviendo estos problemas: en particular, su uso del paralelismo les permite producir mltiples soluciones, igualmente buenas, al mismo problema, donde posiblemente una solucin candidata optimiza un parmetro y otra candidata optimiza uno distinto y luego un supervisor humano puede seleccionar una de esas

candidatas para su utilizacin. Si una solucin particular a un problema con mltiples objetivos optimiza un parmetro hasta el punto en el que ese parmetro no puede mejorarse ms sin causar una correspondiente prdida de calidad en algn otro parmetro, esa solucin se llama ptimo paretiano o no dominada Finalmente, una de las cualidades de los algoritmos genticos que, a primera vista, puede parecer un desastre, resulta ser una de sus ventajas: a saber, los AGs no saben nada de los problemas que deben resolver. En lugar de utilizar informacin especfica conocida a priori para guiar cada paso y realizar cambios con un ojo puesto en el mejoramiento, como hacen los diseadores humanos, son ``relojeros ciegos'' realizan cambios aleatorios en sus soluciones candidatas y luego utilizan la funcin de aptitud para determinar si esos cambios producen una mejora.

La virtud de esta tcnica es que permite a los algoritmos genticos comenzar con una mente abierta, por as decirlo. Como sus decisiones estn basadas en la aleatoriedad, todos los caminos de bsqueda posibles estn abiertos tericamente a un AG; en contraste, cualquier estrategia de resolucin de problemas que dependa de un conocimiento previo, debe inevitablemente comenzar descartando muchos caminos a priori, perdiendo as cualquier solucin novedosa que pueda existir. Los AGs, al carecer de ideas preconcebidas basadas en creencias establecidas sobre ``cmo deben hacerse las cosas'' o sobre lo que ``de ninguna manera podra funcionar'', los AGs no tienen este problema. De manera similar, cualquier tcnica que dependa de conocimiento previo fracasar cuando no est
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

21

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

disponible tal conocimiento, pero, de nuevo, los AGs no se ven afectados negativamente por la ignoranci. Mediante sus componentes de paralelismo, cruzamiento y mutacin, pueden viajar extensamente por el paisaje adaptativo, explorando regiones que algoritmos producidos con inteligencia podran no haber tenido en cuenta, y revelando potencialmente soluciones de asombrosa e inesperada creatividad que podran no habrseles ocurrido nunca a los diseadores humanos. Un ejemplo muy grfico de esto es el redescubrimiento, mediante la programacin gentica, del concepto de retroalimentacin negativa -un principio crucial para muchos componentes electrnicos importantes de hoy en da, pero un concepto que, cuando fue descubierto en primera instancia, se le deneg una patente de nueve aos porque el concepto era demasiado contrario a las creencias establecidas . Por supuesto, los algoritmos evolutivos no estn enterados ni preocupados de si una solucin va en contra de las creencias establecidas -slo de si funciona. Cules son las limitaciones de los AGs? Aunque los algoritmos genticos han demostrado su eficiencia y potencia como estrategia de resolucin de problemas, no son la panacea. Los AGs tienen ciertas limitaciones; sin embargo, se demostrar que todas ellas pueden superarse y que ninguna de ellas afecta a la validez de la evolucin biolgica. La primera y ms importante consideracin al crear un algoritmo gentico es definir una representacin del problema. El lenguaje utilizado para especificar soluciones candidatas debe ser robusto; es decir, debe ser capaz de tolerar cambios aleatorios que no produzcan constantemente errores fatales o resultados sin sentido.

Hay dos maneras principales para conseguir esto. La primera, utilizada por la mayora de los algoritmos genticos, es definir a los individuos como
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

22

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

listas de nmeros -binarios, enteros o reales- donde cada nmero representa algn aspecto de la solucin candidata. Si los individuos son cadenas binarias, un 0 o 1 podra significar la ausencia o presencia de una cierta caracterstica. Si son listas de nmeros, estos nmeros podran representar muchas cosas distintas: los pesos de las conexiones en una red neuronal, el orden de las ciudades visitadas en un recorrido dado, la situacin espacial de componentes electrnicos, los valores con los que se alimenta a un controlador, los ngulos de torsin de los enlaces pptidos de una protena, etctera. As, la mutacin implica cambiar estos nmeros, cambiar bits o sumar o restar valores aleatorios. En este caso, el propio cdigo del programa no cambia; el cdigo es lo que dirige la simulacin y hace un seguimiento de los individuos, evaluando sus aptitudes y quiz asegurando que slo se producen valores realistas y posibles para el problema dado.

En otro mtodo, la programacin gentica, el propio cdigo del programa s cambia. Como ya se dijo en la seccin ``Mtodos de representacin'', la PG representa a los individuos como rboles de cdigo ejecutables que pueden mutar cambiando o intercambiando subrboles. Ambos metodos producen representaciones robustas ante la mutacin, y pueden representar muchos tipos diferentes de problemas y, como se dice en la seccin ``Algunos ejemplos especficos'', ambas han tenido un xito considerable.

El problema de representar a las soluciones candidatas de manera robusta no surge en la naturaleza, porque el mtodo de representacin utilizado por la evolucin, a saber, el cdigo gentico, es inherentemente robusto: con muy pocas excepciones, como una cadena de codones de parada, no existe una secuencia de bases de ADN que no pueda traducirse en una protena. Por lo tanto, virtualmente, cualquier cambio en los genes de un individuo siempre producir un resultado inteligible, y por tanto las
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

23

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mutaciones en la evolucin tienen mayor probabilidad de producir una mejora. Esto entra en contraste con los lenguajes creados por el hombre como el ingls, donde el nmero de palabras con significado es pequeo comparado con el nmero total de formas en las que se pueden combinar las letras del alfabeto, y por tanto, es probable que un cambio aleatorio en una frase en ingls produzca un sinsentido. El problema de cmo escribir la funcin de aptitud debe considerarse cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente signifique una solucin mejor para el problema dado. Si se elige mal una funcin de aptitud o se define de manera inexacta, puede que el algoritmo gentico sea incapaz de encontrar una solucin al problema, o puede acabar resolviendo el problema equivocado. (Esta ltima situacin se describe a veces como la tendencia del AG a ``engaar'', aunque en realidad lo que est pasando es que el AG est haciendo lo que se le pidi hacer, no lo que sus creadores pretendan que hiciera). Se puede encontrar un ejemplo de esto en Graham-Rowe 2002 donde unos investigadores utilizaron un algoritmo evolutivo en conjuncin con una serie de chips reprogramables, haciendo que la funcin de aptitud recompensara al circuito en evolucin por dar como salida una seal oscilatoria. Al final del experimento, se produca efectivamente una seal oscilatoria -pero en lugar de actuar como un osculador, como pretendan los investigadores, descubrieron que el circuito se haba convertido en un receptor de radio que estaba recibiendo y retransmitiendo una seal oscilatoria de un componente electrnico cercano!

Sin embargo, esto no es un problema en la naturaleza. En el laboratorio de la evolucin biolgica, slo hay una funcin de aptitud que es igual para todos los seres vivos -la carrera por sobrevivir y reproducirse, sin importar qu adaptaciones hagan esto posible. Los organismos que se reproducen

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

24

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

con ms abundancia que sus competidores estn ms adaptados; los que fracasan en reproducirse no estn adaptados. Adems de elegir bien la funcin de aptitud, tambin deben elegirse cuidadosamente los otros parmetros de un AG -el tamao de la poblacin, el ritmo de mutacin y cruzamiento, el tipo y fuerza de la seleccin. Si el tamao de la poblacin es demasiado pequeo, puede que el algoritmo gentico no explore suficientemente el espacio de soluciones para encontrar buenas soluciones consistentemente. Si el ritmo de cambio gentico es demasiado alto o el sistema de seleccin se escoge inadecuadamente, puede alterarse el desarrollo de esquemas beneficiosos y la poblacin puede entrar en catstrofe de errores, al cambiar demasiado rpido para que la seleccin llegue a producir convergencia.

Los seres vivos tambin se enfrentan a dificultades similares, y la evolucin se ha encargado de ellas. Es cierto que si el tamao de una poblacin cae hacia un valor muy bajo, los ritmos de mutacin son muy altos o la presin selectiva es demasiado fuerte (una situacin as podra ser resultado de un cambio ambiental drstico), entonces la especie puede extinguirse. La solucin ha sido ``la evolucin de la evolutividad'' -las adaptaciones que alteran la habilidad de una especie para adaptarse. Un ejemplo. La mayora de los seres vivos han evolucionado una elaborada maquinaria celular que comprueba y corrigue errores durante el proceso de replicacin del ADN, manteniendo su ritmo de mutacin a unos niveles aceptablemente bajos; a la inversa, en tiempos de fuerte presin ambiental, algunas especies de bacterias entran en un estado de hipermutacin en el que el ritmo de errores en la replicacin del ADN aumenta bruscamente, aumentando la probabilidad de que se descubrir una mutacin compensatoria. Por supuesto, no pueden eludirse todas las catstrofes, pero la enorme diversidad y las adaptaciones altamente complejas de los seres vivos actuales muestran que, en general, la evolucin es una estrategia exitosa.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

25

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Igualmente, las aplicaciones diversas y los impresionantes resultados de los algoritmos genticos demuestran que son un campo de estudio poderoso y que merece la pena. Un problema con el que los algoritmos genticos tienen dificultades son los problemas con las funciones de aptitud ``engaosas'' en las que la

situacin de los puntos mejorados ofrecen informacin engaosa sobre dnde se encuentra probablemente el ptimo global. Por ejemplo: imagine un problema en el que el espacio de bsqueda est compuesto por todas las cadenas binarias de ocho caracteres, y en el que la aptitud de cada individuo sea directamente proporcional al nmero de unos en l -es decir, 00000001 sera menos apto que 00000011, que sera menos apto que 00000111, etctera -, con dos excepciones: la cadena 11111111 resulta tener una aptitud muy baja, y la cadena 00000000 resulta tener una aptitud muy alta. En este problema, un AG (al igual que la mayora de los algoritmos) no tendra ms probabilidad de encontrar un ptimo global que una bsqueda aleatoria.

La solucin a este problema es la misma para los algoritmos genticos y la evolucin biolgica: la evolucin no es un proceso que deba encontrar siempre el ptimo global. Puede funcionar casi igual de bien alcanzando la cima de un ptimo local alto y, para la mayora de las situaciones, eso ser suficiente, incluso aunque el ptimo global no pueda alcanzarse fcilmente desde ese punto. La evolucin es como un ``satisfactor'' -un algoritmo que entrega una solucin ``suficientemente buena'', aunque no necesariamente la mejor solucin posible, dada una cantidad razonable de tiempo y esfuerzo invertidos en la bsqueda. La ``FAQ de la evidencia de diseo improvisado en la naturaleza'' proporciona ejemplos de la naturaleza con estos resultados. (Tambin hay que tener en cuenta que pocos o ningn problema real es tan engaoso como el ejemplo algo forzado dado arriba.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

26

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Normalmente, la situacin de las mejoras locales proporciona alguna informacin sobre la situacin del ptimo global). Un problema muy conocido que puede surgir con un AG se conoce como convergencia prematura. Si un individuo que es ms apto que la mayora de sus competidores emerge muy pronto en el curso de la ejecucin, se puede reproducir tan abundantemente que merme la diversidad de la poblacin demasiado pronto, provocando que el algoritmo converja hacia el ptimo local que representa ese individuo, en lugar de rastrear el paisaje adaptativo lo bastante a fondo para encontrar el ptimo global .Esto es un problema especialmente comn en las poblaciones pequeas, donde incluso una variacin aleatoria en el ritmo de reproduccin puede provocar que un genotipo se haga dominante sobre los otros.

Los mtodos ms comunes implementados por los investigadores en AGs para solucionar este problema implican controlar la fuerza selectiva, para no proporcionar tanta ventaja a los individuos excesivamente aptos. La seleccin escalada, por rango y por torneo, discutidas anteriormente, son tres de los mtodos principales para conseguir esto; algunos mtodos de seleccin escalada son el escalado sigma, en el que la reproduccin se basa en una comparacin estadstica de la aptitud media de la poblacin, y la seleccin de Boltzmann, en la que la fuerza selectiva aumenta durante la ejecucin de manera similar a la variable ``temperatura'' en el recocido simulado La convergencia prematura ocurre en la naturaleza (los bilogos la llaman deriva gentica). Esto no debe sorprender; como ya se dijo arriba, la evolucin, como estrategia de resolucin de problemas, no est obligada a encontrar la mejor solucin, slo una que sea lo bastante buena. Sin embargo, en la naturaleza, la convergencia prematura es menos comn, ya que la mayora de las mutaciones beneficiosas en los seres vivos slo producen mejoras en la aptitud pequeas e incrementales; son raras las
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

27

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mutaciones que producen una ganancia de aptitud tan grande que otorgue a sus poseedores una drstica ventaja reproductiva. Finalmente, varios investigadores aconsejan no utilizar algoritmos

genticos en problemas resolubles de manera analtica. No es que los algoritmos genticos no puedan encontrar soluciones buenas para estos problemas; simplemente es que los mtodos analticos tradicionales consumen mucho menos tiempo y potencia computacional que los AGs y, a diferencia de los AGs, a menudo est demostrado matemticamente que ofrecen la nica solucin exacta. Por supuesto, como no existe una solucin matemtica perfecta para ningn problema de adaptacin biolgica, este problema no aparece en la naturaleza. Algunos ejemplos especficos de AG Mientras el poder de la evolucin gana reconocimiento cada vez ms generalizado, los algoritmos genticos se utilizan para abordar una amplia variedad de problemas en un conjunto de campos sumamente diverso, demostrando claramente su capacidad y su potencial. Esta seccin analizar algunos de los usos ms notables en los que han tomado parte. Acstica Sato et al. 2002 utilizaron algoritmos genticos para disear una sala de conciertos con propiedades acsticas ptimas, maximizando la calidad del sonido para la audiencia, para el director y para los msicos del escenario. Esta tarea implica la optimizacin simultnea de mltiples variables. Comenzando con una sala con forma de caja de zapatos, el AG de los autores produjo dos soluciones no dominadas, ambas descritas como ``con forma de hoja'' (p. 526). Los autores afirman que estas soluciones tienen proporciones similares al Grosser

Musikvereinsaal de Viena, el cual est considerado generalmente como una de las

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

28

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mejores -si no la mejor- salas de conciertos del mundo, en trminos de propiedades acsticas. Porto, Fogel y Fogel 1995 utilizaron programacin evolutiva para adiestrar a redes neuronales para distinguir entre reflexiones sonoras desde distintos tipos de objetos: esferas metlicas hechas por el hombre, montaas submarinas, peces y plantas, y ruido aleatorio de fondo. Tras 500 generaciones, la mejor red neuronal que evolucion tena una probabilidad de clasificacin correcta que iba desde el 94% al 98%, y una probabilidad de clasificacin errnea entre un 7,4% y un 1,5%, que son ``probabilidades razonables de deteccin y falsa alarma'' (p. 21). Esta red evolucionada igual las prestaciones de otra red desarrollada mediante recocido simulado, y super consistentemente a redes entrenadas mediante propagacin hacia atrs, las cuales ``se atascaban repetidamente en conjuntos de pesos subptimos que no producan resultados satisfactorios'' (p. 21). En contraste, ambos mtodos estocsticos demostraron su capacidad para superar estos ptimos locales y producir redes ms pequeas, efectivas y robustas; pero los autores sugieren que el algoritmo evolutivo, a diferencia del recocido simulado, opera sobre una poblacin, y por tanto se beneficia de la informacin global sobre el espacio de bsqueda, conduciendo potencialmente hacia un rendimiento mayor a la larga. Tang et al. 1996 analizan los usos de los algoritmos genticos en el campo de la acstica y el procesamiento de seales. Un rea de inters particular incluye el uso de AGs para disear sistemas de Control Activo de Ruido (CAR), que eliminan el sonido no deseado produciendo ondas sonoras que interfieren destructivamente con el ruido. Esto es un problema de mltiples objetivos que requiere el control y la colocacin precisa de mltiples altavoces; los AGs se han utilizado en estos sistemas tanto para disear los controladores como para encontrar la colocacin ptima de los altavoces, dando como resultado una ``atenuacin efectiva del ruido'' (p. 33) en pruebas experimentales.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

29

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Ingeniera aeroespacial Obayashi et al. 2000 utilizaron un algoritmo gentico de mltiples objetivos para disear la forma del ala de un avin supersnico. Hay tres consideraciones principales que determinan la configuracin del ala -minimizar la resistencia aerodinmica a velocidades de vuelo supersnicas, minimizar la resistencia a velocidades subsnicas y minimizar la carga aerodinmica (la fuerza que tiende a doblar el ala). Estos objetivos son mutuamente exclusivos, y optimizarlos todos simultneamente requiere realizar contrapartidas. El cromosoma de este problema es una cadena de 66 nmeros reales, cada uno de los cuales corresponde a un aspecto especfico del ala: su forma, su grosor, su torsin, etctera. Se simul una evolucin con seleccin elitista durante 70 generaciones, con un tamao de poblacin de 64 individuos. Al final de este proceso haba varios individuos paretianos, cada uno representando una solucin no dominada del problema. El artculo comenta que estos individuos ganadores tenan caractersticas ``fsicamente razonables'', sealando la validez de la tcnica de optimizacin (p. 186). Para evaluar mejor la calidad de las soluciones, las seis mejores fueron comparadas con un diseo de ala supersnica producido por el Equipo de Diseo SST del Laboratorio Aeroespacial Nacional de Japn. Las seis fueron competitivas, con valores de resistencia y carga aproximadamente iguales o menores a los del ala diseada por humanos; en particular, una de las soluciones evolucionadas super al diseo del LAN en los tres objetivos. Los autores sealan que las soluciones del AG son similares a un diseo llamado ``ala flecha'', sugerido por primera vez a finales de los aos 50, pero que finalmente fue abandonado en favor del diseo ms convencional con forma de delta. En un artculo posterior (Sasaki et al. 2001), los autores repitieron el experimento aadiendo un cuarto objetivo, a saber, minimizar el momento de torsin (un conocido problema en los diseos de alas flecha en el vuelo supersnico). Tambin se aadieron puntos de control adicionales para el grosor al conjunto de
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

30

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

variables de diseo. Tras 75 generaciones de evolucin, se compararon dos de las mejores soluciones paretianas con el diseo de ala que el Laboratorio Aeroespacial Nacional japons realiz para el avin supersnico experimental NEXST-1. Se descubri que ambos diseos (adems de un diseo ptimo de la simulacin anterior, explicada arriba) eran fsicamente razonables y superiores al diseo del LAN en los cuatro objetivos. Williams, Crossley y Lang 2001 aplicaron algoritmos genticos a la tarea de situar rbitas de satlites para minimizar los apagones de cobertura. Mientras la tecnologa de telecomunicaciones sigue progresando, los humanos somos cada vez ms dependientes de las funciones vitales que realizan los satlites en rbita alrededor de la Tierra, y uno de los problemas con los que se enfrentan los ingenieros es el diseo de las trayectorias orbitales. Los satlites que se encuentran en una rbita terrestre alta, a unos 35.000 kilmetros de altitud, pueden ver amplias secciones del planeta al mismo tiempo y estar en contacto con las estaciones terrestres, pero son mucho ms caros de lanzar y ms vulnerables a las radiaciones csmicas. Es ms econmico colocar satlites en rbitas bajas, en algunos casos a slo unos pocos cientos de kilmetros; pero, a causa de la curvatura de la Tierra, es inevitable que estos satlites pierdan durante un tiempo la lnea de visin con los receptores terrestres, y por lo tanto se vuelven intiles. Incluso las constelaciones de varios satlites tienen apagones ineludibles y prdidas de cobertura por esta razn. El reto consiste en colocar las rbitas de los satlites para minimizar este tiempo muerto. Esto es un problema multi-objetivo que implica la minimizacin de el tiempo medio de apagn para todas las localizaciones y el tiempo mximo de apagn para cada una de las localizaciones; en la prctica, estos objetivos resultan ser mutuamente exclusivos. Cuando se utiliz el AG en este problema, los resultados que evolucionaron para constelaciones de tres, cuatro y cinco satlites eran extraos, configuraciones orbitales muy asimtricas, con los satlites colocados alternando huecos grandes y pequeos, en lugar de huecos de igual tamao como habran hecho las tcnicas
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

31

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

convencionales. Sin embargo, esta solucin redujo significativamente los tiempos medio y mximo de apagn, en algunos casos hasta en 90 minutos. En un artculo periodstico, el Dr. William Crossley seal que ``ingenieros con aos de experiencia aeroespacial quedaorn sorprendidos con el rendimiento ofrecido por el diseo no convencional''. Keane y Brown 1996 utilizadon un AG para producir un nuevo diseo para un brazo o jirafa para transportar carga que pudiese montarse en rbita y utilizarse con satlites, estaciones espaciales y otros proyectos de construccin

aeroespacial. El resultado, una estructura retorcida con aspecto orgnico que se ha comparado con un fmur humano, no utiliza ms material que el diseo de brazo estndar, pero es ligera, fuerte y muy superior a la hora de amortiguar las vibraciones perjudiciales, como confirmaron las pruebas reales del producto final. Y sin embargo ``Ninguna inteligencia produjo los diseos. Simplemente evolucionaron'' (Petit 1998). Los autores del artculo comentan adems que su AG slo se ejecut durante 10 generaciones, debido a la naturaleza

computacionalmente costosa de la simulacin, y la poblacin no se haba estancado todava. Haber proseguido la ejecucin durante ms generaciones habra producido indudablemente mayores mejoras de rendimiento.

Figure: Un brazo tridimensional optimizado genticamente, con una respuesta

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

32

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mejorada

la

frecuencia

(adaptado

de

http://www.soton.ac.uk/~ajk/truss/welcome.html). Finalmente, como informa Gibbs 1996, Lockheed Martin ha utilizado un algoritmo gentico para producir mediante evolucin una serie de maniobras para mover una nave espacial de una orientacin a otra, dentro del 2% del tiempo mnimo terico para tales maniobras. La solucin evolucionada era un 10% ms rpida que una solucin producida manualmente por un experto para el mismo problema. Astronoma y astrofsica Charbonneau 1995 sugiere la utilidad de los AGs para problemas de astrofsica, aplicndolos a tres problemas de ejemplo: obtener la curva de rotacin de una galaxia basndose en las velocidades rotacionales observadas de sus componentes, determinar el periodo de pulsacin de una estrella variable basndose en series de datos temporales, y sacar los valores de los parmetros crticos de un modelo magnetohidrodinmico del viento solar. Son tres difciles problemas no lineales y multidimensionales. El algoritmo gentico de Charbonneau, PIKAIA, utiliza seleccin generacional y proporcional a la aptitud, junto con elitismo, para asegurar que el mejor individuo se copia una vez hacia la siguiente generacin sin ninguna modificacin. PIKAIA tiene un ritmo de cruzamiento de 0,65 y un ritmo de mutacin variable que se pone a 0,003 inicialmente y luego aumenta gradualmente, mientras la poblacin se aproxima a la convergencia, para mantener la variabilidad en el acervo gentico. En el problema de la curva de rotacin galctica, el AG produjo dos curvas, y ambas estaban bien ajustadas a los datos (un resultado comn en este tipo de problema, en el que hay poco contraste entre cimas cercanas); observaciones posteriores pueden distinguir cul es la preferible. En el problema de la serie temporal, el AG fue impresionantemente exitoso, generando un ajuste de los datos
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

33

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

de gran calidad, aunque otros problemas ms difciles no se ajustaron tan bien (aunque, como seala Charbonneau, estos problemas son igualmente difciles de resolver con tcnicas convencionales). El artculo sugiere que un AG hbrido que emplee tanto evolucin artificial como tcnicas analticas estndar, podra funcionar mejor. Finalmente, en el problema de obtener los seis parmetros crticos del viento solar, el AG determin con xito el valor de tres con una precisin de menos del 0,1% y los otros tres con precisiones entre el 1 y el 10%. (Aunque siempre seran preferibles unos errores experimentales menores para estos tres parmetros, Charbonneau seala que no existe ningn otro mtodo eficiente y robusto para resolver experimentalmente un problema no lineal 6dimensional de este tipo; un mtodo de gradiente conjugado funciona ``siempre que se pueda proporcionar un valor inicial muy acertado'' (p. 323). En contraste, los AGs no requieren un conocimiento del dominio tan bien afinado). Basndose en los resultados obtenidos hasta ahora, Charbonneau sugiere que los AGs pueden y deben encontrar uso en otros problemas difciles de astrofsica, en particular, problemas inversos como las imgenes por Doppler y las inversiones heliossmicas. Para terminar, Charbonneau sostiene que los AGs son un ``contendiente poderoso y prometedor'' (p. 324) en este campo, del que se puede esperar que complemente (no sustituya) a las tcnicas tradicionales de optimizacin, y concluye que ``el punto decisivo, si es que tiene que haber alguno, es que los algoritmos genticos funcionan, y a menudo colosalmente bien'' (p. 325). Qumica Un pulso lser ultracorto de alta energa puede romper molculas complejas en molculas ms sencillas, un proceso con aplicaciones importantes en la qumica orgnica y la microelectrnica. Los productos especficos de una reaccin as pueden controlarse modulando la fase del pulso lser. Sin embargo, para molculas grandes, obtener la forma del pulso deseado de manera analtica es
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

34

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

demasiado difcil: los clculos son demasiado complejos y las caractersticas relevantes (las superficies de energa potencial de las molculas) no se conocen con suficiente precisin. Assion et al. 1998 resolvieron este problema utilizando un algoritmo evolutivo para disear la forma del pulso. En lugar de introducir informacin compleja, especfica del problema, sobre las caractersticas cunticas de las molculas iniciales, para disear el pulso conforme a las especificaciones, el AE dispara un pulso, mide las proporciones de las molculas producto resultantes, muta aleatoriamente las caractersticas del rayo con la esperanza de conseguir que estas proporciones se acerquen a la salida deseada, y el proceso se repite. (En lugar de afinar directamente las caractersticas del rayo lser, el AG de los autores representa a los individuos como un conjunto de 128 nmeros, en el que cada nmero es un valor de voltaje que controla el ndice de refraccin de uno de los pixeles del modulador lser. De nuevo, no se necesita un conocimiento especfico del problema sobre las propiedades del lser o de los productos de la reaccin). Los autores afirman que su algoritmo, cuando se aplica a dos sustancias de muestra, ``encuentra automticamente la mejor configuracin... no importa lo complicada que sea la respuesta molecular'' (p. 921), demostrando un ``control coherente automatizado de los productos que son qumicamente diferentes uno del otro y de la molcula padre'' (p. 921). A principios y mediados de los 90, la amplia adopcin de una novedosa tcnica de diseo de frmacos, llamada qumica combinatoria, revolucion la industria farmacutica. Con este mtodo, en lugar de la sntesis precisa y meticulosa de un slo compuesto de una vez, los bioqumicos mezclan deliberadamente una gran variedad de reactivos para producir una variedad an mayor de productos cientos, miles o millones de compuestos diferentes en cada remesa- que luego pueden aislarse rpidamente para su actividad bioqumica. Hay dos formas de disear las bibliotecas de reactivos en esta tcnica: diseo basado en los reactivos, que elige grupos optimizados de reactivos sin considerar qu productos
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

35

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

saldrn como resultado, y diseo basado en los productos, que selecciona los reactivos que producirn con mayor probabilidad los productos con las propiedades deseadas. El diseo basado en los productos es ms difcil y complejo, pero se ha demostrado que genera bibliotecas combinatorias mejores y ms diversas, y tiene ms probabilidades de ofrecer un resultado til. En un artculo patrocinado por el departamento de investigacin y desarrollo de GlaxoSmithKline, Gillet 2002 describe el uso de un algoritmo gentico multiobjetivo para el diseo basado en los productos de bibliotecas combinatorias. Al elegir los componentes que van en una biblioteca particular, deben considerarse caractersticas como la diversidad y peso molecular, el coste de los suministros, la toxicidad, la absorcin, la distribucin y el metabolismo. Si el objetivo es encontrar molculas similares a una molcula existente con una funcin conocida (un mtodo comn en el diseo de nuevos frmacos), tambin se puede tener en cuenta la similaridad estructural. Este artculo presenta un enfoque multiobjetivo, donde puede desarrollarse un conjunto de resultados paretianos que maximicen o minimicen cada uno de estos objetivos. El autor concluye diciendo que el AG fue capaz de satisfacer simultneamente los criterios de diversidad molecular y eficiencia sinttica mxima, y tambin fue capaz de encontrar molculas parecidas a un frmaco que eran ``muy similares a las molculas objetivo dadas, tras explorar una fraccin muy pequea del espacio de bsqueda total'' (p. 378). En un artculo relacionado, Glen y Payne 1995 describen el uso de algoritmos genticos para disear automticamente molculas nuevas desde cero que se ajustan a un conjunto de especificaciones dado. Dada una poblacin inicial, bien generada aleatoriamente o utilizando la sencilla molcula del etano como semilla, el AG aade, elimina y altera aleatoriamente tomos y fragmentos moleculares con el objetivo de generar molculas que se ajusten a los requisitos dados. El AG puede optimizar simultneamente un gran nmero de objetivos, incluyendo el peso molecular, el volumen molecular, el nmero de enlaces, el nmero de centros quirales, el nmero de tomos, el nmero de enlaces rotables, la polarizabilidad, el
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

36

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

momento dipolar, etctera, para producer molculas candidatas con las propiedades deseadas. Basndose en pruebas experimentales, incluyendo un difcil problema de optimizacin que implicaba la generacin de molculas con propiedades similares a la ribosa (un componente del azcar imitado a menudo en los frmacos antivirales), los autores concluyen que el AG es un ``excelente generador de ideas'' (p. 199) que ofrece ``propiedades de optimizacin rpidas y poderosas'' y puede generar ``un conjunto diverso de estructuras posibles'' (p. 182). Continan afirmando: ``Es de inters especial la poderosa capacidad de optimizacin del algoritmo gentico, incluso con tamaos de poblacin relativamente pequeos'' (p. 200). Como prueba de que estos resultados no son simplemente tericos, Lemley 2001[45] informa de que la empresa Unilever ha utilizado algoritmos genticos para disear nuevos componentes antimicrobianos para su uso en productos de limpieza, algo que ha patentado. Ingeniera elctrica Una matriz de puertas programable en campo (Field Programmable Gate Array, o FPGA), es un tipo especial de placa de circuito con una matriz de celdas lgicas, cada una de las cuales puede actuar como cualquier tipo de puerta lgica, interconectado con conexiones flexibles que pueden conectar celdas. Estas dos funciones se controlan por software, as que simplemente cargando un programa especial en la placa, puede alterarse al vuelo para realizar las funciones de cualquier dispositivo de hardware de la amplia variedad existente. El Dr. Adrian Thompson ha explotado este dispositivo, en conjuncin con los principios de la evolucin, para producir un prototipo de circuito reconocedor de voz que puede distinguir y responder a rdenes habladas utilizando slo 37 puertas lgicas -una tarea que se habra considerado imposible para cualquier ingeniero humano. Gener cadenas aleatorias de bits de ceros y unos y las utiliz como configuraciones de la FPGA, seleccionando los individuos ms aptos de cada generacin, reproducindolos y mutndolos aleatoriamente, intercambiando
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

37

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

secciones de su cdigo y pasndolo hacia la siguiente ronda de seleccin. Su objetivo era evolucionar un dispositivo que pudiera en principio discriminar entre tonos de frecuencias distintas (1 y 10 kilohercios), y luego distinguir entre las palabras habladas ``go'' (adelante) y ``stop'' (para). Su objetivo se alcanz en 3.000 generaciones, pero el xito fue mayor de lo que haba anticipado. El sistema que evolucion utilizaba muchas menos celdas que cualquier cosa que pudiera haber diseado un ingeniero humano, y ni siquiera necesita del componente ms crtico de los sistemas diseados por humanos -un reloj. Cmo funcionaba? Thompson no tiene ni idea, aunque ha rastreado la seal de entrada a travs de un complejo sistema de bucles realimentados del circuito evolucionado. De hecho, de las 37 puertas lgicas que utiliza el producto final, cinco de ellas ni siquiera estn conectadas al resto del circuito de ninguna manera -pero si se les retira la alimentacin elctrica, el circuito deja de funcionar. Parece que la evolucin ha explotado algn sutil efecto electromagntico de estas celdas para alcanzar su solucin, pero el funcionamiento exacto de la compleja e intrincada estructura evolucionada sigue siendo un misterio (Davidson 1997). Altshuler y Linden 1997 utilizaron un algoritmo gentico para evolucionar antenas de alambre con propiedades especificadas a priori. Los autores sealan que el diseo de tales antenas es un proceso impreciso, comenzando con las propiedades deseadas y luego determinando la forma de la antena mediante ``conjeturas... intuicin, experiencia, ecuaciones aproximadas o estudios

empricos'' (p. 50). Esta tcnica requiere mucho tiempo, a menudo no produce resultados ptimos y tiende a funcionar bien slo con diseos simtricos y relativamente simples. En contraste, con el mtodo del algoritmo gentico, el ingeniero especifica las propiedades electromagnticas de la antena, y el AG sintetiza automticamente una configuracin que sirva.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

38

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Figure: Una antena gentica de alambre doblado (de Altshuler y Linden 1997, figura 1). Altshuler y Linden utilizaron su AG para disear una antena de siete segmentos polarizada circularmente con una cobertura hemisfrica; el resultado se muestra a la izquierda. Cada individuo del AG consista en un cromosoma binario que especificaba las coordenadas tridimensionales de cada extremo final de cada alambre. La aptitud se evaluaba simulando a cada candidato de acuerdo con un cdigo de cableado electromagntico, y el individuo mejor de cada ronda se construa y probaba. Los autores describen la forma de esta antena, que no se parece a las antenas tradicionales y carece de una simetra obvia, como ``inusualmente extraa'' y ``antiintuitiva'' (p. 52), aunque tena un patrn de radiacin casi uniforme y con un gran ancho de banda tanto en la simulacin como en la prueba experimental, adecundose excelentemente a la especificacin inicial. Los autores concluyen que un mtodo basado en algoritmos genticos para disear antenas se muestra ``excepcionalmente prometedor''. ``... este nuevo procedimiento de diseo es capaz de encontrar antenas genticas capaces de resolver de manera efectiva difciles problemas de antenas, y ser especialmente til en situaciones en las que los diseos existentes no sean adecuados'' (p. 52). Mercados financieros

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

39

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Mahfoud y Mani 1996 utilizaron un algoritmo gentico para predecir el rendimiento futuro de 1.600 acciones ofertadas pblicamente. Concretamente, al AG se le asign la tarea de predecir el beneficio relativo de cada accin, definido como el beneficio de esa accin menos el beneficio medio de las 1.600 acciones a lo largo del periodo de tiempo en cuestin, 12 semanas (un cuarto del calendario) en el futuro. Como entrada, al AG se le proporcionaron datos histricos de cada accin en forma de una lista de 15 atributos, como la relacin precio-beneficio y el ritmo de crecimiento, medidos en varios puntos del tiempo pasado; se le pidi al AG que evolucionara un conjunto de reglas si/entonces para clasificar cada accin y proporcionar, como salida, una recomendacin sobre qu hacer con respecto a la accin (comprar, vender o ninguna prediccin) y un pronstico numrico del beneficio relativo. Los resultados del AG fueron comparados con los de un sistema establecido, basado en una red neuronal, que los autores haban estado utilizando para pronosticar los precios de las acciones y administrar las carteras de valores durante tres aos. Por supuesto, el mercado de valores es un sistema extremadamente ruidoso y no lineal, y ningn mecanismo predictivo puede ser correcto el 100% del tiempo; el reto consiste en encontrar un predictor que sea preciso ms de la mitad de las veces. En el experiemnto, el AG y la red neuronal hicieron pronsticos al final de la semana para cada una de las 1.600 acciones, durante doce semanas consecutivas. Doce semanas despus de cada prediccin, se compar el rendimiento verdadero con el beneficio relativo predicho. Globalmente, el AG super significativamente a la red neuronal: en una ejecucin de prueba, el AG predijo correctamente la direccin de una accin el 47,6% de las veces, no hizo prediccin el 45,8% de las veces y realiz una prediccin incorrecta slo un 6.6% de las veces, una precisin predictiva total de un 87,8%. Aunque la red neuronal realiz predicciones precisas ms a menudo, tambin hizo predicciones errneas ms a menudo (de hecho, los autores especulan que la mayor capacidad del AG para no realizar predicciones cuando los datos eran dudosos fue un factor de su
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

40

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

xito; la red neuronal siempre produce una prediccin a menos que sea restringida explcitamente por el programador). En el experimento de las 1.600 acciones, el AG produjo un beneficio relativo de un +5,47%, contra el +4,40% de la red neuronal -una diferencia estadsticamente significativa. De hecho, el AG tambin super significativamente a tres ndices burstiles importantes -el S&P 500, el S&P 400 y el Russell 2000- en este periodo; la casualidad fue excluda como causa de este resultado con un margen de confianza de un 95%. Los autores atribuyen este convincente xito a la capacidad del algoritmo gentico de percatarse de relaciones no lineales difcilmente evidentes para los observadores humanos, adems del hecho de que carece del ``prejuicio contra las reglas antiintuitivas y contradictorias'' (p. 562) de los expertos humanos. Andreou, Georgopoulos y Likothanassis 2002 lograron un xito similar utilizando algoritmos genticos hbridos para evolucionar redes neuronales que predijeran los tipos de cambio de monedas extranjeras hasta un mes en el futuro. Al contrario que en el ejemplo anterior, donde competan AGs y redes neuronales, aqu los dos trabajaron conjuntamente: el AG evolucion la arquitectura (nmero de unidades de entrada, nmero de unidades ocultas y la estructura de enlaces entre ellas) de la red, que luego era entrenada por un algoritmo de filtro. Se le proporciaron al algoritmo 1.300 valores brutos diarios de cinco divisas como informacin histrica -el dlar estadounidense, el marco alemn, el franco francs, la libra esterlina y el dracma griego- y se le pidi que predijera sus valores futuros para los 1, 2, 5 y 20 das posteriores. El rendimiento del AG hbrido mostr, en general, un ``nivel excepcional de precisin'' (p. 200) en todos los casos probados, superando a otros varios mtodos, incluyendo a las redes neuronales en solitario. Los autores concluyen que ``se ha logrado un excepcional xito predictivo tanto con un horizonte predictivo de un paso como de varios pasos'' (p. 208) -de hecho, afirman que sus resultados son mejores con diferencia que cualquier estrategia predictiva relacionada que se haya aplicado en esta serie de datos u otras divisas.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

41

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

La utilizacin de los AGs en los mercados financieros ha empezado a extenderse en las empresas de corretaje burstil del mundo real. Naik 1996[informa de que LBS Capital Management, una empresa estadounidense cons ede en Florida, utiliza algoritmos genticos para escoger las acciones de los fondos de pensiones que administra. Coale 1997 y Begley y Beals 1995 informan de que First Quadrant, una empresa de inversiones de Californa que mueve ms de 2.200 millones de dlares, utiliza AGs para tomar decisiones de inversin en todos sus servicios financieros. Su modelo evolucionado gana, de media, 225 dlares por cada 100 dlares invertidos durante seis aos, en contraste con los 205 dlares de otros tipos de sistemas de modelos. Juegos Una de las demostraciones ms novedosas y persuasivas de la potencia de los algoritmos genticos la presentaron Chellapilla y Fogel 2001, que utilizaron un AG para evolucionar redes neuronales que pudieran jugar a las damas. Los autores afirman que una de las mayores dificultades en este tipo de problemas relacionados con estrategias es el problema de la asignacin de crdito -en otras palabras, cmo escribir una funcin de aptitud? Se ha credo ampliamente que los criterios simples de ganar, perder o empatar no proporcionan la suficiente informacin para que un algoritmo gentico averige qu constituye el buen juego. En este artculo, Chellapila y Fogel echan por tierra esa suposicin. Dados slo las posiciones espaciales de las piezas en el tablero y el nmero total de piezas que posee cada jugador, fueron capaces de evolucionar un programa de damas que jugaba a un nivel competitivo con expertos humanos, sin ninguna informacin de entrada inteligente acerca de lo que constituye el buen juego -es ms, ni siquiera se les dijo a los individuos del algoritmo evolutivo cul era el criterio para ganar, ni se les dijo el resultado de ningn juego.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

42

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

En la representacin de Chellapilla y Fogel, el estado del juego estaba representado por una lista numrica de 32 elementos, en donde cada posicin de la lista corresponda a una posicin disponible en el tablero. El valor de cada posicin era 0 para una casilla desocupada, -1 si esa casilla estaba ocupada por una pieza enemiga, +1 si la casilla estaba ocupada por una de las piezas del programa, y -K o +K si la casilla estaba ocupada por una dama enemiga o amiga. (El valor de K no se especificaba a priori, sino que, de nuevo, era determinado por la evolucin durante el curso del algoritmo). Acompaando a todo esto haba una red neuronal con mltiples capas de procesamiento y una capa de entrada con un nodo para cada una de las 4x4, 5x5, 6x6, 7x7 y 8x8 posibles casillas del tablero. La salida de la red neuronal para una colocacin de las piezas dada era un valor entre -1 y +1, que indicaba cmo de buena le pareca esa posicin. Para cada movimiento, se le presentaba a la red neuronal un rbol de juego que contena todos los movimientos posibles hasta cuatro turnos en el futuro, y el movimiento se decida basndose en qu rama del rbol produca los mejores resultados. El algoritmo evolutivo comenz con una poblacin de 15 redes neuronales con pesos y tendencias, generados aleatoriamente, asignados a cada nodo y conexin; luego, cada individuo se reprodujo una vez, generando una descendencia con variaciones en los valores de la red. Luego estos 30 individuos compitieron por la supervivencia jugando entre ellos; cada individuo compiti en cada turno con 5 oponentes elegidos aleatoriamente. Se otorg 1 punto a cada victoria y se descontaban 2 puntos por cada derrota. Se seleccionaron los 15 mejores jugadores en relacin a su puntuacin total, y el proceso se repiti. La evolucin continu durante 840 generaciones ms (aproximadamente seis meses de tiempo de computacin). Clase Puntuacin

Gran Maestro +2.400

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

43

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Maestro Experto Clase A Clase B Clase C Clase J

2.200-2.399 2.000-2.199 1.800-1.999 1.600-1.799 1.400-1.599 <200

El mejor individuo que surgi de esta seleccin fue inscrito como competidor en la pgina web de juegos http://www.zone.com. Durante un periodo de dos meses, jug contra 165 oponentes humanos que componan una gama de niveles altos, desde clase C a maestros, de acuerdo con el sistema de clasificaciones de la Federacin de Ajedrez de Estados Unidos (mostrado a la izquierda, con algunos rangos omitidos en aras de claridad). De estas partidas, la red neuronal gan 94, perdi 39 y empat 32; en base a las clasificaciones de los oponentes en estas partidas, la red neuronal evolucionada era equivalente a un jugador con una puntuacin media de 2.045,85, colocndola en el nivel experto -una clasificacin superior a la del 99,61% de los 80.000 jugadores registrados en la pgina web. Una de las victorias ms significativas de la red neuronal fue cuando venci a un jugador clasificado en la posicin 98 de todos los jugadores registrados, cuya puntuacin estaba tan slo 27 puntos por debajo del nivel de maestro. Las pruebas realizadas con un sencillo programa diferencial en las piezas (que basa sus movimientos solamente en la diferencia entre el nmero de piezas que quedan en cada lado) con una capacidad de anticipacin de 8 movimientos demostr que la red neuronal era significativamente superior, con una puntuacin de ms de 400 puntos por encima. ``Un programa que se basa slo en el nmero de piezas y en una bsqueda de ocho capas vencer a muchas personas, pero no es un experto. La mejor red neuronal evolucionada s lo es'' (p. 425). Aunque
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

44

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

poda buscar posiciones dos movimientos ms lejos que la red neuronal, el programa diferencial en las piezas perdi contundentemente 8 de 10 partidas. Esto demuestra concluyentemente que la red neuronal evolucionada no slo est contando piezas, sino que de alguna manera procesa las caractersticas espaciales del tablero para decidir sus movimientos. Los autores sealan que los oponentes de zone.com que los movimientos de la red neuronal eran ``extraos'', pero su nivel global de juego fue descrito como ``muy duro'' o con trminos elogiosos similares. Para probar ms a la red neuronal evolucionada (a la que los autores nombraron ``Anaconda'' porque a menudo ganaba restringiendo la movilidad de sus oponentes), jug contra un programa de damas comercial, el Hoyle Classic Games, distribudo por Sierra Online (Chellapilla y Fogel 2000). Este programa viene con un surtido de personajes incorporados, cada uno con un nivel de juego distinto. Anaconda se puso a prueba con tres personajes (``Beatrice'', ``Natasha'' y ``Leopold'') designados como jugadores expertos, jugando una partida con las rojas y otra partida con las blancas contra cada uno de ellos con una capacidad de anticipacin de 6 movimientos. Aunque los autores dudaban de que esta profundidad de anticipacin pudiera darla a Anaconda la capacidad de juego experto que demostr anteriormente, consigui seis victorias seguidas de las seis partidas jugadas. Basndose en este resultado, los autores expresaron escepticismo sobre si el software Hoyle jugaba al nivel que anunciaba, aunque debe sealarse que llegaron a esta conclusin basndose solamente en la facilidad con la que Anaconda le venci! La prueba definitiva de Anaconda se detalla en Chellapilla y Fogel 2002, cuando la red neuronal evolucionada jug contra el mejor jugador de damas del mundo: Chinook, un programa diseado principalmente por el Dr. Jonathan Schaeffer, de la Universidad de Alberta. Con una puntuacin de 2.814 en 1996 (mientras que sus competidores humanos ms cercanos andan por los 2.600), Chinook incorpora un libro de movimientos de apertura proporcionado por grandes
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

45

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

maestros humanos, un conjunto sofisticado de algoritmos de juego para la parte central de la partida, y una base de datos completa de todos los movimientos posibles cuando quedan en el tablero 10 piezas o menos, de manera que nunca comete un error durante un final de partida. Se invirti una cantidad enorme de inteligencia y experiencia humana en el diseo de este programa. Chellapilla y Fogel enfrentaron a Anaconda y Chinook en un torneo de 10 partidas, con Chinook jugando al nivel de 5 capas de anticipacin, aproximndolo ms o menos al nivel de maestro. Chinook gan esta competicin, cuatro victorias a dos, con cuatro empates. (Curiosamente, como sealan los autores, en dos de las partidas que acabaron con empate, Anaconda lideraba con cuatro damas mientras que Chinook tena tres. Adems, una de las victorias de Chinook vino tras una serie de movimientos con bsqueda de 10 capas sacados de su base de datos de finales de partida; unos movimientos que Anaconda, con una anticipacin de 8 capas, no pudo anticipar. Si Anaconda hubiera tenido acceso a una base de datos de finales de partida de la misma calidad de la de Chinook, el resultado del torneo bien podra haber sido el de victoria para Anaconda, cuatro a tres). Estos resultados ``proporcionan un buen sustento a la puntuacin de experto que se gan Anaconda en www.zone.com'' (p. 76), con una puntuacin global de 2.0302.055, comparable a la puntuacin de 2.045 que gan jugando contra humanos. Aunque Anaconda no es un jugador invulnerable, es capaz de jugar competitivamente en el nivel experto y comportarse ante una variedad de jugadores de damas humanos extremadamente hbiles. Cuando uno considera los criterios de aptitud tan sencillos con los que se obtuvieron estos resultados, el surgimiento de Anaconda proporciona una espectacular corroboracin del poder de la evolucin. Geofsica Sambridge y Gallaguer 1993 utilizaron un algoritmo gentico para los hipocentros de los terremotos basndose en datos sismolgicos. (El hipocentro es el punto
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

46

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

bajo la superficie terrestre en el que se origina un terremoto. El epicentro es el punto de la superficie directamente encima del hipocentro). Esto es una tarea sumamente compleja, ya que las propiedades de las ondas ssmicas dependen de las propiedades de las capas de roca a travs de las que viajan. El mtodo tradicional para localizar el hipocentro se basa en lo que se conoce como algoritmo de inversin ssmico, que empieza con la mejor estimacin de la ubicacin, calcula las derivadas del tiempo de viaje de la onda con respecto al punto de origen, y realiza una operacin de matriz para proporcionar una ubicacin actualizada. Este proceso se repite hasta que se alcanza una solucin aceptable. (Este Mensaje del Mes, de noviembre de 2003, proporciona ms informacin). Sin embargo, este mtodo requiere informacin diferencial y es propenso a quedar atrapado en ptimos locales. Un algoritmo de localizacin que no dependa de informacin diferencial o modelos de velocidad puede evitar esta deficiencia calculando slo el problema directo -la diferencia entre los tiempos de llegada de la onda observados y predichos para distintas localizaciones del hipocentro. Sin embargo, un mtodo de bsqueda exhaustivo basado en este mtodo sera demasiado costoso computacionalmente. ste, por supuesto, es precisamente el tipo de problema de optimizacin en el que destacan los algoritmos genticos. Como todos los AGs, el propuesto por el artculo citado es paralelo en naturaleza -en lugar de mover un solo hipocentro ms y ms cerca hacia la solucin, comienza con una nube de hipocentros potenciales que encoge con el tiempo hasta converger en una sola solucin. Los autores afirman que su mtodo ``puede localizar rpidamente soluciones casi ptimas sin una bsqueda exhaustiva del espacio de parmetros'' (p. 1.467), muestra ``un comportamiento muy organizado que produce una bsqueda eficiente'' y es ``un compromiso entre la eficiencia de los mtodos basados en derivadas y la robustez de una bsqueda exhaustiva completamente no lineal'' (p. 1.469). Los autores concluyen que su algoritmo gentico es ``eficiente para una

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

47

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

verdadera optimizacin global'' (p. 1.488) y ``una herramienta nueva y poderosa para realizar bsquedas robustas de hipocentros'' (p. 1.489). Ingeniera de materiales Giro, Cyrillo y Galvo 2002 utilizaron algoritmos genticos para disear polmeros conductores de electricidad basados en el carbono, conocicos como polianilinas. Estos polmeros, un tipo de material sinttico inventado recientemente, tienen ``grandes aplicaciones tecnolgicas potenciales'' y podran abrir la puerta a ``nuevos fenmenos fsicos fundamentales'' (p. 170). Sin embargo, debido a su alta reactividad, los tomos de carbono pueden formar un nmero virtualmente infinito de estructuras, haciendo que la bsqueda de nuevas molculas con propiedades interesantes sea del todo imposible. En este artculo, los autores aplican un enfoque basado en AGs a la tarea de disear molculas nuevas con propiedades especificadas a priori, comenzando con una poblacin de candidatos iniciales generada aleatoriamente. Concluyen que su metodologa puede ser una ``herramienta muy efectiva'' (p. 174) para guiar a los investigadores en la bsqueda de nuevos compuestos y es lo suficientemente general para que pueda extenderse al diseo de nuevos materiales que pertenezcan virtualmente a cualquier tipo de molcula. Weismann, Hammel, y Bck 1998 aplicaron algoritmos evolutivos a un problema industrial ``no trivial'' (p. 162): el diseo de revestimientos pticos multicapa para filtros que reflejan, transmiten o absorben luz de frecuencias especificadas. Estos revestimientos se utilizan en la fabricacin de gafas de sol, por ejemplo, o discos compactos. Su fabricacin es una tarea precisa: las capas deben colocarse en una secuencia particular y con un grosor particular para producir el resultado deseado, y las variaciones incontrolables del entorno de fabricacin, como la temperatura, la polucin o la humedad, pueden afectar al rendimiento del producto acabado. Muchos ptimos locales no son robustos ante estas variaciones, lo que significa que una mayor calidad del producto se paga con una tasa mayor de desviaciones
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

48

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

indeseadas. El problema particular considerado en este artculo tambin tena mltiples criterios: adems de la reflectancia, tambin se consider la composicin espectral (color) de la luz reflejada. El AE actu variando el nmero de capas de revestimiento y el grosor de cada una de ellas, y produjo diseos que eran ``sustancialmente ms robustos a la variacin de parmetros'' (p. 166) y tenan un rendimiento medio mayor que los mtodos tradicionales. Los autores concluyen que ``los algoritmos evolutivos pueden competir e incluso superar a los mtodos tradicionales'' (p. 167) de diseo de revestimientos pticos multicapa, sin tener que incorporar un conocimiento especfico del dominio en la funcin de bsqueda y sin tener que alimentar a la poblacin con buenos diseos iniciales. Es digno de mencin otro uso de los AGs en el campo de la ingeniera de materiales: Robin et al. 2003 utilizaron AGs para disear patrones de exposicin para un haz de electrones de litografa, utilizado para grabar estructuras a una escala menor a la del micrmetro en circuitos integrados. Disear estos patrones es una tarea muy difcil; es pesado y costoso determinarlos experimentalmente, pero la alta dimensionalidad del espacio de bsqueda frustra a la mayora de los algoritmos de bsqueda. Deben optimizarse simultneamente hasta 100 parmetros para controlar el haz de electrones y evitar la dispersin y efectos de proximidad que arruinaran las estructuras finas que se estn esculpiendo. El problema directo -determinar la estructura resultante como funcin de la cantidad de electrones- es sencillo y fcil de simular, pero el problema inverso de determinar la cantidad de electrones para producir una estructura dada, que es lo que se pretende resolver aqu, es mucho ms difcil y no existe una solucin determinista. Se aplicaron algoritmos genticos a este problema, ya que ``se sabe que son capaces de encontrar soluciones buenas a problemas muy complejos de alta dimensionalidad'' (p. 75) sin necesidad de proporcionarles informacin especfica
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

49

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

del dominio acerca de la topologa del paisaje de bsqueda. Los autores del artculo emplearon un AG de estado estacionario con seleccin por rueda de ruleta en una simulacin por computador, que produjo unos patrones de exposicin ``muy bien optimizados'' (p. 77). En contraste, se utiliz un tipo de trepacolinas conocido como algoritmo bajacolinas-simplex (simplex-downhill) en el mismo problema, sin xito; el mtodo BS quedaba rpidamente atrapado en ptimos locales de los que no poda escapar, produciendo soluciones de poca calidad. Un hbrido entre los mtodos del AG y el BS tampoco pudo mejorar los resultados ofrecidos por el AG en solitario. Matemticas y algoritmia Aunque algunas de las aplicaciones ms prometedoras y las demostraciones ms convincentes de la potencia de los AGs se encuentran en el campo de la ingeniera de diseo, tambin son relevantes en problemas ``puramente'' matemticos. Haupt y Haupt 1998 describen el uso de AGs para resolver ecuaciones de derivadas parciales no lineales de alto orden, normalmente encontrando los valores para los que las ecuaciones se hacen cero, y dan como ejemplo una solucin casi perfecta para los coeficientes de la ecuacin de quinto orden conocida como Super Korteweg-de Vries. Ordenar una lista de elementos es una tarea importante en la informtica, y una red de ordenacin es una manera eficiente de conseguirlo. Una red de ordenacin es una lista fija de comparaciones realizadas en un conjunto de un tamao dado; en cada comparacin se comparan dos elementos y se intercambian si no estn en orden 1999 utilizaron programacin gentica para evolucionar redes de ordenacin mnimas para conjuntos de 7 elementos (16 comparaciones), conjuntos de 8 elementos (19 comparaciones) y conjuntos de 9 elementos (25 comparaciones). Mitchell 1996, describe el uso de algoritmos genticos por W. Daniel Hillis para encontrar una red de ordenacin de 61 comparaciones para un conjunto de 16 elementos, slo un paso ms all de la ms pequea conocida.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

50

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Este ltimo ejemplo es especialmente interesante por las dos innovaciones que utiliza: cromosomas diploides y, ms notablemente, coevolucin de

husped/parsito. Tanto las redes de bsqueda como los casos de prueba evolucionaron conjuntamente; se les otorg mayor aptitud a las redes de ordenacin que ordenaran correctamente un mayor nmero de casos de prueba, mientras que se les otorg mayor aptitud a los casos de prueba que pudieran ``engaar'' a un mayor nmero de redes de bsqueda para que ordenaran incorrectamente. El AG con coevolucin rindi significativamente mejor que el mismo AG sin ella. Un ejemplo final de AG digno de mencin en el campo de la algoritmia puede encontrarse en 1999 que utiliz programacin gentica para descubrir una regla para el problema de clasificacin por mayora en autmatas celulares de una dimensin, una regla mejor que todas las reglas conocidas escritas por humanos. Un autmata celular de una dimensin puede imaginarse como una cinta finita con un nmero dado de posiciones (celdas) en ella, cada una de las cuales puede contener el estado 0 o el estado 1. El autmata se ejecuta durante un nmero dado de pasos temporales; en cada paso, cada celda adquiere un nuevo valor basado en su valor anterior y el valor de sus vecinos ms cercanos. (El Juego de la Vida es un autmata celular bidimensional). El problema de la clasificacin por mayora implica encontrar una tabla de reglas tal que si ms de la mitad de las celdas de la cinta son 1 inicialmente, todas las celdas se ponen a 1; de lo contrario, todas las celdas se ponen a 0. El reto consiste en el hecho de que cualquier celda individual slo tiene acceso a informacin acerca de sus vecinos ms cercanos; por lo tanto, los conjuntos de reglas buenos deben encontrar de algn modo una manera de transmitir informacin sobre regiones distantes de la cinta. Se sabe que no existe una solucin perfecta a este problema -ningn conjunto de reglas puede clasificar con precisin todas las configuraciones iniciales posibles-, pero durante los ltimos veinte aos ha habido una larga sucesin de soluciones
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

51

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

cada vez mejores. En 1978, tres investigadores desarrollaron la famosa regla GKL, que clasifica correctamente un 81,6% de los posibles estados iniciales. En 1993, se descubri una regla mejor con una precisin de un 81,8%; en 1995 se encontr otra regla con una precisin de un 82,178%. Todas estas reglas requirieron para su desarrollo de un esfuerzo significativo por parte de humanos inteligentes y creativos. En contraste, la mejor regla descubierta mediante programacin gentica, tiene una precisin total de 82,326% -mejor que cualquiera de las soluciones humanas desarrolladas durante las dos ltimas dcadas. Los autores sealan que sus nuevas reglas son cualitativamente distintas a las reglas publicadas con anterioridad, al emplear representaciones internas muy detalladas de la densidad de estados y conjuntos intrincados de seales para comunicar informacin a largas distancias. Ejrcito y cumplimiento de la ley Kewley y Embrechts 2002 utilizaron algoritmos genticos para evolucionar planes tcticos para las batallas militares. Los autores sealan que ``planear una batalla militar tctica es una tarea compleja multidimensoinal que a menudo atormenta a los profesionales experimentados'' (p. 163), no slo porque este tipo de decisiones a menudo se toman bajo condiciones de mucho estrs, sino tambin porque hasta los planes ms sencillos requieren tomar en cuenta un gran nmero de variables y consecuencias: minimizar las bajas amigas, maximizar las bajas enemigas, controlar el terreno deseado, conservar recursos, etctera. Los planificadores humanos tienen dificultades al tratar con las complejidades de esta tarea y a menudo deben recurrir a mtodos ``rpidos y sucios'', como hacer lo que funcionase la ltima vez. Para superar estas dificultades, los autores del artculo citado desarrollaron un algoritmo gentico para automatizar la creacin de planes de batalla, en conjuncin con un programa grfico de simulacin de batallas. El comandante introduce el resultado deseado y el AG evoluciona automticamente un plan de
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

52

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

batalla; en la simulacin utilizada, se tomaron en cuenta factores como la topografa del terreno, la cobertura vegetal, la velocidad del movimiento de tropas, y la precisin en los disparos. En este experimento tambin se utiliz la coevolucin para mejorar la calidad de las soliciones: los planes de batalla de las fuerzas enemigas evolucionaron simultneamente con los planes amigos, forzando al AG a corregir cualquier debilidad de su plan que pudiese explotar el enemigo. Para medir la calidad de las soluciones producidas por el AG, se compararon con planes de batalla para el mismo escenario producidos por un grupo de ``expertos militares experimentados... considerados muy capaces de desarrollar planes de accin para el tamao de las fuerzas utilizadas en este experimento'' (p. 166). Estos avezados expertos desarrollaron su propio plan y, cuando la solucin del AG estuvo acabada, se les dio la oportunidad de examinarla y modificarla como vieran conveniente. Finalmente, todos los planes se ejecutaron varias veces en el simulador para determinar su calidad media. Los resultados hablan por s mismos: la solucin evolucionada super tanto al propio plan de los expertos militares como al plan producido por sus modificaciones sobre la solucin del AG. ``...Los planes producidos por los algoritmos automticos tenan un rendimiento medio significativamente mayor al de los generados por los experimentados expertos militares'' (p. 161). Es ms, los autores sealan que el plan del AG tena sentido tctico. (Consista en un ataque a dos flancos a la posicin enemiga por pelotones de infantera mecanizada apoyados por helicpteros de ataque y exploradores terrestres, en conjuncin con vehculos areos no tripulados realizando labores de reconocimiento para el fuego directo de artillera). Por aadidura, el plan evolucionado inclua unidades amigas individuales llevando a cabo misiones doctrinales -una propiedad emergente que apareci durante el curso de la ejecucin, en lugar de ser especificada por el experimentador. En campos de batalla modernos, cada vez ms conectados por red, el atractivo potencial de un algoritmo evolutivo que pueda automatizar la produccin de planes tcticos de alta calidad debera ser obvio.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

53

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Naik 1996 informa de un uso interesante de los AGs en el cumplimiento de la ley, describiendo el software ``FacePrints'', un proyecto para ayudar a los testigos a identificar y describir a los sospechosos criminales. La imagen clich del artista polica haciendo un dibujo del rostro del sospechoso en base a la descripcin de los testigos es un mtodo difcil e ineficiente: la mayora de la gente no es buena describiendo aspectos individuales del rostro de una persona, como el tamao de la nariz o la forma de la mandbula, pero sin embargo son mejores al reconocer caras completas. FacePrints aprovecha esto utilizando un algoritmo gentico que evoluciona dibujos de caras basndose en bases de datos de cientos de caractersticas individuales que pueden combinarse de infinitas maneras. El programa muestra a los testigos imgenes de rostros generadas aleatoriamente, y stos escogen las que ms se parecen a la persona que vieron; las caras seleccionadas mutan y se combinan para generar nuevas combinaciones de caractersticas, y el proceso se repite hasta que emerge un retrato preciso del rostro del sospechoso. En un caso real de atraco, los retratos definitivos que crearon los tres testigos eran sorprendentemente parecidos, y el dibujo resultante apareci en el peridico local. Biologa molecular En los seres vivos, las protenas transmembrana son protenas que sobresalen de una membrana celular. Las protenas transmembrana realizan a menudo funciones importantes como detectar la presencia de ciertas sustancias en el exterior de la clula o transportarlas hacia el interior de la clula. Para comprender el comportamiento de una protena transmembrana es necesario identificar el segmento de la protena que realmente est insertado en la membrana, lo que se conoce como dominio transmembrana. Durante las dos ltimas dcadas, los bilogos moleculares han publicado una serie de algoritmos cada vez ms precisos para este propsito.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

54

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Todas las protenas utilizadas por los seres vivos estn formadas por los mismos 20 aminocidos. Algunos de estos aminocidos son hidrofbicos, lo que significa que repelen el agua, y algunos son hidroflicos, lo que significa que atraen el agua. Las secuencias de aminocidos que son parte de un dominio transmembrana tienen probabilidad de ser hidrofbicas. Sin embargo, la hidrofobicidad no es una caracterstica definida con precisin, y no existe acuerdo sobre una escala para medirla. Koza et al. 1999 utilizaron programacin gentica para disear un algoritmo que identificase el dominio transmembrana de una protena. Se le suministr al programa gentico un conjunto de operadores matemticos estndares con los que trabajar, adems de un conjunto de funciones booleanas para la deteccin de aminocidos que devuelven +1 si el aminocido de una posicin dada es el aminocido que detectan o -1 en caso contrario. (Por ejemplo, la funcin A? recibe como argumento un nmero que corresponde a una posicin dentro de la protena, y devuelve +1 si el aminocido de esa posicin es alanina, denotado por la letra A, y si no devuelve -1). Una variable de memoria compartida contena una cuenta de la suma total, y cuando el algoritmo acababa, el segmento protenico se identificaba como dominio transmembrana si su valor era positivo. Con tan slo estas herramientas, hara falta ms informacin para que un diseador humano produjese una solucin eficiente a este problema? Las aptitudes de las soluciones producidas por la programacin gentica fueron evaluadas probndolas con 246 segmentos protenicos de los que se conoca su condicin de transmembrana. Luego se evalu al mejor individuo de la prueba con 250 casos adicionales inditos (out-of-sample), y se compar su efectividad con la de los cuatro mejores algoritmos humanos para el mismo propsito. El resultado: la programacin gentica produjo un algoritmo de identificacin de segmentos transmembrana con una tasa total de error del 1,6%-significativamente menor que las de los cuatro algoritmos humanos, el mejor de los cuales tena una tasa de
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

55

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

error del 2,5%. El algoritmo diseado genticamente, al que los autores llamaron regla 0-2-4, funciona de la manera siguiente: Incrementar la suma en 4 unidades por cada instancia de cido glutmico (un aminocido cargado elctricamente y muy hidroflico) del segmento protenico. Incrementar la suma en 0 unidades por cada instancia de alanina, fenilanalina, isoleucina, leucina, meionina o valina (todos aminocidos muy hidrofbicos) del segmento protenico. Incrementar la suma en 2 unidades por cada instancia de cualquier otro aminocido. Si [(SUMA - 3,1544)/0,9357] es menor que la longitud del segmento protenico, clasificar ese segmento como dominio transmembrana; de lo contrario, clasificarlo como dominio no transmembrana. Reconocimiento de patrones y explotacin de datos La competicin en la industria actual de las telecomunicaciones es feroz, y se ha acuado un nuevo trmino -``fuga''1- para describir la velocidad a la que los usuarios se cambian de un proveedor de servicios a otro. La fuga le cuesta a las compaas de telecomunicaciones una gran cantidad de dinero cada ao, y reducir las fugas es un factor importante para aumentar la rentabilidad. Si las compaas pueden contactar con los clientes que tienen probabilidad de cambiar y ofrecerles incentivos especiales para que se queden, puede reducirse la tasa de fugas; pero ninguna compaa tiene los recursos para contactar a ms de un pequeo porcentaje de sus clientes. El problema es, por tanto, cmo identificar a los clientes que ms piensen fugarse con mayor probabilidad. Todas las compaas tienen grandes bases de datos con informacin de los clientes que tericamente puede utilizarse para este propsito; pero qu mtodo funciona mejor para examinar esta enorme cantidad de datos e identificar los sutiles patrones y tendencias que indican la probabilidad de fuga de un cliente?
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

56

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Au, Chan y Yao 2003[7] aplicaron algoritmos genticos a este problema para generar un conjunto de reglas de tipo si-entonces para predecir la probabilidad de fuga de distintos grupos de clientes. En su AG, la primera generacin de reglas, todas las cuales tenan una condicin, fue generada utilizando una tcnica de induccin probabilstica. Las generaciones posteriores las refinaron, combinando sencillas reglas de una condicin con reglas ms complejas con varias condiciones. Para la medicin de la aptitud se utiliz una medida de correlacin objetiva de la ``interesantitud'', que no necesitaba informacin de entrada subjetiva. El algoritmo evolutivo de explotacin de datos se prob sobre una base de datos real de 100.000 clientes proporcionada por una compaa malasia, y su rendimiento se compar con el de dos mtodos alternativos: una red neuronal multicapa y un algoritmo basado en rbol de decisiones ampliamente utilizado, el C4.5. Los autores afirman que su AE fue capaz de descubrir regularidades ocultas en la base de datos y ``fue capaz de hacer predicciones precisas de fuga con distintas tasas de fuga'' (p. 542), superando al C4.5 bajo todas las circunstancias, superando a la red neuronal en tasas mensuales de fuga bajas e igualndola en tasas de fuga mayores y, en ambos casos, alcanzando las conclusiones ms rpidamente. Algunas ventajas ms del enfoque evolutivo son que puede funcionar eficientemente incluso cuando faltan algunos campos de datos, y que puede expresar sus descubrimientos en conjuntos de reglas fcilmente comprensibles, al contrario que la red neuronal. Entre algunas de las reglas ms interesantes halladas por el AE se encuentran las siguientes: los clientes tienen ms probabilidad de fugarse si se han suscrito personalmente al plan de servicios y no han sido admitidos en ningn plan de bonificacin (una solucin potencial sera admitir a todos esos clientes en planes de bonificacin); los clientes tienen ms probabilidad de fugarse si viven en Kuala Lumpur, tienen entre 36 y 44 aos y pagan sus facturas en efectivo (supuestamente porque es ms fcil cambiarse de proveedor para los clientes que pagan al contado, a diferencia de los que cargan en cuenta automticamente); y
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

57

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

los clientes que viven en Penang y contrataron a travs de un cierto vendedor tienen ms probabilidades de fugarse (este vendedor puede estar proporcionando un mal servicio al cliente y debera ser investigado). Rizki, Zmuda y Tamburino 2002 utilizaron algoritmos evolutivos para evolucionar un complejo sistema de reconocimiento de patrones con una amplia variedad de usos potenciales. Los autores sealan que el reconocimiento de patrones es una tarea cada vez ms realizada por algoritmos de aprendizaje automtico, en particular, algoritmos evolutivos. La mayora de ellos comienzan con un acervo de caractersticas predefinidas, del que un AE puede seleccionar combinaciones apropiadas para la tarea en cuestin; en contraste, este mtodo empezaba desde cero, primero evolucionando detectores individuales de caracterstica en forma de rboles de expresiones, y luego evolucionando combinaciones cooperativas de esos detectores para producir un sistema completo de reconocimiento de patrones. El proceso evolutivo selecciona automticamente el nmero de detectores de caracterstica, la complejidad de los detectores y los aspectos especficos de los datos a los que responde cada detector. Para probar su sistema, los autores le asignaron la tarea de clasificar aviones basndose en sus reflexiones rdar. Un mismo tipo de avin puede devolver seales bastante distintas dependiendo del ngulo y elevacin desde el que se le observa, y distintos tipos de avin pueden devolver seales muy parecidas, as que esto no es una tarea trivial. El sistema de reconocimiento de patrones evolucionado clasific correctamente un 97,2% de los objetivos, un porcentaje neto mayor que el de las otras tres tcnicas -una red neuronal perceptrn, un algoritmo clasificador KNN y un algoritmo de base radial- con las que fue comparado. (La precisin de la red de base radial era slo un 0,5% menor que la del clasificador evolucionado, una diferencia que no es estadsticamente significativa, pero la red de base radial necesit 256 detectores de caracterstica mientras que el sistema reconocedor evolucionado slo utiliz 17). Como afirman los autores, ``los sistemas de reconocimiento que evolucionan utilizan menos
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

58

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

caractersticas que los sistemas producidos utilizando tcnicas convencionales, pero consiguen una precisin de reconocimiento comparable o superior'' (p. 607). Tambin se han aplicado varios aspectos de su sistema en problemas que incluyen el reconocimiento ptico de caracteres, la revisin industrial y el anlisis mdico de imgenes. Hughes y Leyland 2000 tambin aplicaron AGs multiobjetivo a la tarea de clasificar objetivos basndose en sus reflexiones rdar. Los datos de una seccin transversal rdar de alta resolucin necesitan enormes cantidades de espacio de almacenamiento en disco, y producir un modelo realista de la fuente a partir de los datos es muy costoso computacionalmente. En contraste, el mtodo basado en el AG de los autores demostr ser muy exitoso, produciendo un modelo tan bueno como el del mtodo iterativo tradicional, pero reduciendo el gasto computacional y las necesidades de almacenamiento hasta el punto de que era factible generar buenos modelos en un ordenador de escritorio. En contraste, el mtodo iterativo tradicional requiere diez veces ms resolucin y 560.000 veces ms accesos a los datos de imagen para producir modelos de calidad similar. Los autores concluyen que sus resultados ``demuestran claramente'' (p. 160) la capacidad del AG de procesar datos de rdar bidimensionales y tridimensionales de cualquier nivel de resolucin con muchos menos clculos que los mtodos tradicionales, manteniendo una precisin aceptablemente alta. Robtica El torneo internacional RoboCup es un proyecto para promocionar el avance de la robtica, la inteligencia artificial y los campos relacionados, proporcionando un problema estndar con el que probar las nuevas tecnologas -concretamente, es un campeonato anual de ftbol entre equipos de robots autnomos. (El objetivo fijado es desarrollar un equipo de robots humanoides que puedan vencer al equipo humano de ftbol que sea campen del mundo en 2050; actualmente, la mayora de los equipos de robots participantes funcionan con ruedas). Los programas que
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

59

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

controlan a los miembros del equipo robtico deben exhibir un comportamiento complejo, decidiendo cundo bloquear, cundo tirar, cmo moverse, cundo pasar la pelota a un compaero, cmo coordinar la defensa y el ataque, etctera. En la liga simulada de 1997, David Andre y Astro Teller inscribieron a un equipo llamado Darwin United cuyos programas de control haban sido desarrollados

automticamente desde cero mediante programacin gentica, un desafo a la creencia convencional de que ``este problema es simplemente demasiado difcil para una tcnica como sa'' (Andre y Teller 1999, p. 346). Para resolver este difcil problema, Andre y Teller le proporcionaron al programa gentico un conjunto de funciones de control primitivas como girar, moverse, tirar, etctera. (Estas funciones estaban tambin sujetas al cambio y refinamiento durante el curso de la evolucin). Su funcin de aptitud, escrita para que recompensara el buen juego en general en lugar de marcar goles expresamente, proporcionaba una lista de objetivos cada vez ms importantes: acercarse a la pelota, golpear la pelota, conservar la pelota en el campo contrario, moverse en la direccin correcta, marcar goles y ganar el partido. Debe sealarse que no se suministr ningn cdigo para ensear especficamente al equipo cmo conseguir estos objetivos complejos. Luego los programas evolucionados se evaluaron utilizando un modelo de seleccin jerrquico: en primer lugar, los equipos candidatos se probaron en un campo vaco y, si no marcaban un gol en menos de 30 segundos, se rechazaban. Luego se evaluaron hacindoles jugar contra un equipo estacionario de ``postes pateadores'' que golpeaban la pelota hacia el campo contrario. En tercer lugar, el equipo jugaba un partido contra el equipo ganador de la competicin RoboCup de 1997. Finalmente, los equipos que marcaron al menos un gol contra este equipo jugaron unos contra otros para determinar cul era el mejor. De los 34 equipos de su divisin, Darwin United acab en decimosptima posicin, situndose justo en el medio de la clasificacin y superando a la mitad de los participantes escritos por humanos. Aunque una victoria en el torneo sin duda
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

60

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

habra sido ms impresionante, este resultado es competitivo y significante de pleno derecho, y lo parece an ms a la luz de la historia. Hace unos 25 aos, los programas informticos que jugaban al ajedrez estaban en su infancia; por primera vez, una computadora haba sido inscrita recientemente en una competicin regional, aunque no gan (Sagan 1979, p. 286). Pero ``una mquina que juega al ajedrez a un nivel medio de la capacidad humana es una mquina muy capaz'' (ibid.), y podra decirse que lo mismo es cierto para el ftbol robotizado. Si las mquinas de ajedrez actuales compiten al nivel de los grandes maestros, qu tipo de sistemas producir la programacin gentica dentro de 20 o 30 aos? Diseo de rutas y horarios Burke y Newall 1999 utilizaron algoritmos genticos para disear los horarios de los exmenes universitarios. Se sabe que, en general, el problema del horario es NP-completo, lo que significa que no se conoce un mtodo para hallar con garantas una solucin ptima en un tiempo razonable. En un problema as, hay restricciones duras -no puede asignarse el mismo aula a dos exmenes a la vez- y restricciones suaves -si es posible, no deben asignarse varios exmenes en sucesin a un mismo estudiante, para minimizar la fatiga. Las restricciones duras deben satisfacerse, mientras que las restricciones suaves deben satisfacerse lo mximo posible. Los autores llaman ``algoritmo memtico'' a su mtodo hbrido para resolver este problema: un algoritmo evolutivo con seleccin por rango proporcional a la aptitud, combinado con un trepacolinas local para optimizar las soluciones halladas por el AE. El AE se utiliz en cuatro conjuntos de datos de universidades reales (la menor de las cuales tena 25.000 alumnos), y sus resultados se compararon con los resultados producidos por un mtodo heurstico de vuelta atrs, un algoritmo muy consolidado que se encuentra entre los mejores que se conocen para este problema y que se utiliza en varias universidades. Comparado con este mtodo, el AE produjo un resultado con una reduccin de la penalizacin bastante uniforme del 40%.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

61

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

He y Mort 2000 aplicaron algoritmos genticos al problema de hallar rutas ptimas en las redes de telecomunicaciones (como las redes de telefona e Internet), que se usan para transmitir datos desde los remitentes hasta los destinatarios. Esto es un problema NP-difcil, un tipo de problema para el que los AGs son ``extremadamente aptos... y han encontrado una enorme variedad de aplicaciones exitosas en esos campos'' (p. 42). Es adems un problema multiobjetivo, en el que hay que equilibrar objetivos en conflicto como maximizar el caudal de datos, minimizar los retrasos en la transmisin y la prdida de datos, encontrar caminos de bajo coste y distribur la carga uniformemente entre los encaminadores o conmutadores de la red. Cualquier algoritmo real satisfactorio debe tambin ser capaz de redirigir el trfico de las rutas principales que fallen o estn congestionadas. En el AG hbrido de los autores se utiliz un algoritmo de tipo ``primero el camino ms corto'', que minimiza el nmero de ``saltos'' que debe realizar un paquete de datos dado, para generar la semilla de la poblacin inicial. Sin embargo, esta solucin no tiene en cuenta la congestin o fallo de los enlaces, condiciones inevitables en redes reales, y es entonces cuando el AG toma el control, intercambiando secciones de rutas. Cuando se prob sobre un conjunto de datos derivado de una base de datos en red real de Oracle, se descubri que el AG era capaz de redirigir enlaces rotos o congestionados, equilibrar la carga de trfico y maximizar el caudal total de la red. Los autores afirman que estos resultados demuestran la ``efectividad y escalabilidad'' del AG y que ``se pueden conseguir soluciones ptimas o casi ptimas'' (p. 49). Esta tcnica ha encontrado aplicaciones reales para propsitos similares, como informan Begley y Beals 1995. La compaa de telecomunicaciones U.S. West (ahora fusionada con Qwest) se enfrent a la tarea de desplegar una red de fibra ptica. Hasta hace poco, el problema de disear la red para minimizar la longitud total de cable desplegado era resuelto por un ingeniero experimentado; ahora la compaa utiliza un algoritmo gentico para realizar la tarea automticamente. Los
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

62

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

resultados: ``El tiempo de diseo para las redes nuevas ha cado de dos meses a dos das, y le supone un ahorro a U.S. West de 1 milln a 10 millones de dlares cada una'' (p. 70). Jensen 2003 y Chryssolouris y Subramaniam 2001 aplicaron algoritmos genticos a la tarea de generar programas para lneas de montaje (job shop scheduling). ste es un problema de optimizacin NP-difcil con mltiples criterios: deben tomarse en cuenta factores como el coste, los retrasos y el rendimiento, y puede que se tenga que cambiar al vuelo el programa de la lnea de montaje debido a averas en la maquinaria, ausencia de empleados, retrasos en la entrega de piezas, y otras complicaciones, lo que hace que la robustez del programa sea una consideracin importante. Ambos artculos concluyen que los AGs son significativamente superiores a las reglas de despacho de prioridad utilizadas comnmente, al producir programas eficientes que pueden tratar con ms facilidad los retrasos y las averas. Estos resultados no son simplemente tericos, sino que se han aplicado a situaciones reales: Como informa Naik 1996, los organizadores de los Juegos Paraolmpicos de 1992 utilizaron un AG para disear los horarios de los eventos. Como informa Petzinger 1995, John Deere & Co. ha utilizado AGs para generar los programas de montaje para una planta de Moline, Illinois, que fabrica plantadoras y otras maquinarias agrcolas pesadas. Al igual que los coches de lujo, stas pueden construrse en una gran variedad de configuraciones con muchas partes y opciones distintas, y la enorme cantidad de maneras posibles de construirlas implica que el diseo eficiente de programas de montaje sea un problema aparentemente intratable. La productividad se vea mermada por cuellos de botella en el montaje, los equipos de trabajadores discutan, y se estaba perdiendo dinero. Finalmente, en 1993, Deer acudi a Bill Fulkerson, un analista e ingeniero de personal que concibi la utilizacin de un algoritmo gentico para producir programas de montaje para la planta. Tras superar el escepticismo inicial, el AG demostr su vala rpidamente: la produccin mensual aument un 50 por ciento, el tiempo extra casi desapareci
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

63

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

y otras plantas de Deere estn incorporando los AGs en sus propios diseos de programas de montaje. Como informa Rao 1998, Volvo ha utilizado un programa evolutivo llamado OptiFlex para disear el programa de montaje de su fbrica de Dubln, Virginia, de un milln de metros cuadrados, una tarea que requiere controlar cientos de restricciones y millones de permutaciones posibles para cada vehculo. Como todos los algoritmos genticos, OptiFlex funciona combinando aleatoriamente distintos programas de montaje posibles, determinando su aptitud clasificndolos en base a sus costos, beneficios y restricciones, y luego haciendo que las mejores soluciones intercambien genes entre ellas y vuelvan a la poblacin para otra prueba. Hasta hace poco, esta desalentadora tarea era responsabilidad de un ingeniero humano, al que le llevaba hasta cuatro das producir el programa para cada semana; ahora, gracias a los AGs, esta tarea se puede completar en un da con una mnima intervencin humana. Como informa Lemley 2001, United Distillers and Vintners, una empresa escocesa que es el mayor y ms rentable distribuidor de licores del mundo y es responsable de ms de un tercio de la produccin mundial de whisky de grano, utiliza un algoritmo gentico para administrar su inventario y sus suministros. Esto es una tarea desalentadora que exige almacenar y distribur eficientemente ms de 7 millones de barriles, que contienen 60 recetas distintas, entre un enorme sistema de almacenes y destileras, dependiendo de una multitud de factores como la edad, el nmero de malta, el tipo de madera y las condiciones del mercado. Anteriormente, coordinar este complejo flujo de suministro y demanda requera de cinco empleados a tiempo completo. Hoy, unas cuantas pulsaciones de teclado en un ordenador solicitan a un algoritmo gentico que genere un programa cada semana, y la eficiencia de almacenamiento casi se ha duplicado. Beasley, Sonander y Havelock 2001 utilizaron un AG para programar los aterrizajes del London Heathrow, el aeropuerto ms transitado del Reino Unido.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

64

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Esto es un problema multiobjetivo que implica, entre otras cosas, minimizar los retrasos y maximizar el nmero de vuelos mientras se mantiene la suficiente distancia de separacin entre los aviones (los vrtices de aire que se forman en la estela de un avin pueden ser peligrosos para otro avin que vuele demasiado cerca). Comparado con los horarios reales de un periodo intensivo del aeropuerto, el AG fue capaz de reducir el tiempo de espera medio en un 2-5%, implicando dos o tres vuelos extra despegando y aterrizando por cada hora -una mejora significativa. Sin embargo, se han logrado mejoras mayores: como se informa en Wired 2002[1], aeropuertos internacionales y lneas areas importantes como Heatrhow, Toronto, Sydney, Las Vegas, San Francisco, America West Airlines, AeroMexico y Delta Airlines estn utilizando algoritmos genticos para programar los despegues, aterrizajes, mantenimiento y otras tareas, mediante el software del Ascent Technology's SmartAirport Operations Center (Cruzando y mutando las soluciones en forma de horarios que incorporan miles de variables, ``Ascent vence con comodidad a los humanos, aumentando la productividad hasta en un 30 por ciento en todos los aeropuertos en los que se ha implementado''. Ingeniera de sistemas Benini y Toffolo 2002 aplicaron un algoritmo gentico a la tarea multiobjetivo de disear molinos elicos para generar energa elctrica. Este diseo ``es un procedimiento complejo caracterizado por varias decisiones sobre contrapartidas... El proceso de toma de decisiones es muy difcil y no hay tendencias de diseo bien establecidas'' (p. 357); como resultado, hoy existen varios tipos de turbina distintos y no hay acuerdo sobre cul es la ptima, si alguna lo es. Deben tomarse en cuenta objetivos mutuamente exclusivos como la produccin mxima de energa anual y el coste mnimo de la energa. En este artculo se utiliz un algoritmo evolutivo multiobjetivo para encontrar el mejor conjunto de

contrapartidas entre estos objetivos, construyendo palas de molino con una configuracin ptima de caractersticas como la velocidad de la punta de la pala, la razn buje/punta, y la distribucin de cuerda y giro. Al final, al AG consigui
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

65

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

encontrar soluciones competitivas con los diseos comerciales, adems de dilucidar ms claramente los mrgenes entre los que se puede aumentar la produccin anual de energa sin producir diseos demasiado caros. Haas, Burnham y Mills 1997 utilizaron un algoritmo gentico multiobjetivo para optimizar la forma, orientacin e intensidad del haz de los emisores de rayos X utilizados en la radioterapia dirigida, para destrur los tumores cancerosos al tiempo que se evita el tejido sano. (Los fotones de rayos X dirigidos hacia un tumor tienden a dispersarse por las estructuras interiores del cuerpo, daando inintencionadamente los rganos internos. El reto consiste en minimizar este efecto mientras se maximiza la dosis de radiacin dirigida hacia el tumor). Utilizando un modelo de aptitud basada en rango, los investigadores comenzaron con la solucin producida por el mtodo convencional, un mtodo de mnimos cuadrados iterativo, y luego utilizaron el AG para modificarlo y mejorarlo. Construyendo un modelo del cuerpo humano y exponindolo al rayo evolucionado por el AG, encontraron un buen acuerdo entre las distribuciones de radiacin predichas y reales. Los autores concluyen que sus resultados ``muestran una proteccin [de los rganos sanos] que no poda lograrse utilizando las tcnicas convencionales'' (p. 1745). Lee y Zak 2002 utilizaron un algoritmo gentico para evolucionar un conjunto de reglas para controlar un sistema de frenos antibloqueo automovilstico. Aunque la capacidad que tienen los sistemas de freno antibloqueo de reducir la distancia de frenada y mejorar la maniobrabilidad ha salvado muchas vidas, el rendimiento del ABS depende de las condiciones de la superficie de la carretera: por ejemplo, un controlador ABS que est optimizado para el asfalto seco no funcionar igual de bien en carreteras mojadas o heladas, y viceversa. En este artculo, los autores proponen un AG para ajustar un controlador ABS que pueda identificar las propiedades de la superficie de la carretera (monitorizando el patinaje y aceleracin de las ruedas) y pueda actuar en consecuencia, liberando la cantidad adecuada de fuerza de frenado para maximizar la traccin de las ruedas. En las
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

66

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

pruebas, el ABS puesto a punto genticamente ``exhibe caractersticas de rodada excelentes'' (p. 206) y fue ``muy superior'' (p. 209) a los otros dos mtodos de maniobras de frenado, encontrando con rapidez nuevos valores ptimos para el patinaje de las ruedas cuando cambia el tipo de terreno bajo un coche en movimiento, y reduciendo la distancia total de frenada. ``La leccin que hemos aprendido de nuestro experimento... es que un AG puede ayudar a ajustar incluso un controlador bien diseado. En nuestro caso, ya tenamos una buena solucin del problema; sin embargo, con la ayuda de un AG, conseguimos mejorar significativamente la estrategia de control. En resumen, parece que merece la pena intentar aplicar un AG incluso en un controlador bien diseado, porque hay muchas probabilidades de que se pueda hallar una configuracin del controlador mejor utilizando AGs'' . Como cita Schechter 2000, el Dr. Peter Senecal, de la Universidad de Wisconsin, utiliz algoritmos genticos de poblacin pequea para mejorar la eficiencia de los motores disel. Estos motores funcionan inyectando combustible en una cmara de combustin que est llena de aire extremadamente comprimido, y por tanto extremadamente caliente, lo bastante caliente para hacer que el combustible explote y empuje un pistn que produce la fuerza motriz del vehculo. Este diseo bsico ha cambiado poco desde que Rudolf Diesel lo invent en 1893; aunque se ha empleado mucho esfuerzo en realizar mejoras, es una tarea muy difcil de realizar analticamente, porque requiere un conocimiento preciso del

comportamiento turbulento que exhibe la mezcla de combustible y aire, y de la variacin simultnea de muchos parmetros independientes. Sin embargo, el mtodo de Senecal prescinda de ese conocimiento especfico del problema y, en cambio, funcionaba evolucionando parmetros como la presin de la cmara de combustin, los tiempos de inyeccin de combustible y la cantidad de combustible de cada inyeccin. El resultado: la simulacin produjo un motor mejorado que consuma un 15% menos de combustible que un motor diesel normal y produca dos tercios menos de xido ntrico de escape y la mitad de holln. Luego el equipo
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

67

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

de Senecal construy un motor disel real de acuerdo con las especificaciones de la solucin evolucionada, y obtuvieron los mismos resultados. Ahora Senecal sigue su trabajo evolucionando la geometra del propio motor, lo que con suerte producir todava ms mejoras. Como citan Begley y Beals 1995, Texas Instruments utiliz un algoritmo gentico para optimizar la disposicin de los componentes de un chip informtico, colocando las estructuras de manera que se minimice el rea total para crear un chip lo ms pequeo posible. Utilizando una estrategia de conexiones que no se le haba ocurrido a ningn humano, el AG alcanz un diseo que ocupaba un 18% menos de espacio. Finalmente, como cita Ashley 1992, empresas de la industria aeroespacial, automovilstica, fabril, turbomaquinaria y electrnica estn utilizando un sistema de software propietario conocido como Engineous, que utiliza algoritmos genticos, para disear y mejorar motores, turbinas y otros dispositivos industriales. En palabras de su creador, el Dr. Siu Shing Tong, Engineous es ``un maestro `toqueteador', ensayando incansablemente las puntuaciones de escenarios de tipo ``y-si'' hasta que emerge la mejor solucin posible'' (p. 49). En un ensayo del sistema, Engineous consigui producir un incremento del 0,92 por ciento de la eficiencia de una turbina experimental en slo una semana, mientras que diez semanas de trabajo de un diseador humano slo produjeron un 0,5 por ciento de mejora. Supuestamente, Engineous no slo cuenta con algoritmos genticos; tambin emplea tcnicas de optimizacin numrica y sistemas expertos que utilizan reglas si-entonces para imitar el proceso de toma de decisiones de un ingeniero humano. Sin embargo, estas tcnicas dependen mucho de informacin especfica del dominio, carecen de aplicabilidad general, y son propensas a quedar atrapadas en ptimos locales. En contraste, el uso de algoritmos genticos permite a Engineous explorar regiones del espacio de bsqueda que pasan por alto los otros mtodos.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

68

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Engineous ha obtenido un amplio uso en una gran variedad de industrias y problemas. El ms famoso fue cuando se utiliz para mejorar la turbina generadora de energa del avin Boeing 777; como informan Begley y Beals 1995 el diseo optimizado genticamente era casi un 1% ms eficiente en combustible que los motores anteriores, lo que en un campo como ste es una ganancia cada del cielo. Engineous tambin se ha utilizado para optimizar la configuracin de motores elctricos industriales, generadores hidroelctricos y turbinas de vapor, para proyectar redes elctricas, y para disear generadores superconductores y generadores de energa nuclear para satlites en rbita. Rao 1998 informa tambin de que la NASA ha utilizado Engineous para optimizar el diseo de un avin de gran altitud para analizar la disminucin del ozono, que debe ser a la vez ligero y eficiente. Argumentos creacionistas Como era de esperar, la demostracin real del poder de la evolucin que representan los AGs ha resultado sorprendente y descorcentante para los creacionistas, que siempre han afirmado que slo un diseo inteligente, no la variacin aleatoria y la seleccin, puede haber producido la cantidad y complejidad de informacin que contienen los seres vivos. Por tanto, han argumentado que el xito de los algoritmos genticos no nos permite deducir nada sobre la evolucin biolgica. Abordar las crticas de dos antievolucionistas que representan dos puntos de vista distintos: un creacionista de tipo tierra-joven, el Dr. Don Batten, de ``Answers in Genesis'', que ha escrito un artculo titulado ``Algoritmos genticos demuestran que la evolucin funciona?'', y un creacionista de tipo tierra-vieja y defensor del diseo inteligente, el Dr. William Dembski, cuyo reciente libro ``No Free Lunch'' (Dembski 2002) trata sobre este tema. Don Batten

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

69

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Algunos caracteres de los seres vivos son cualitativos, mientras que los AGs son siempre cuantitativos Batten afirma que los AGs deben ser cuantitativos, de manera que se pueda seleccionar cualquier mejora. Esto es cierto. Luego continua diciendo: ``Muchos caracteres biolgicos son cualitativos -o funcionan o no funcionan, as que no existe una manera de llegar paso a paso de la ausencia de funcin a la funcin''. Sin embargo, esta aseveracin no ha sido demostrada, y no est apoyada por la evidencia. Batten ni siquiera intenta ofrecer un ejemplo de caracter biolgico que ``o funciona o no funciona'', y por tanto no pueda construirse paso a paso. Pero aunque hubiera ofrecido tal ejemplo de caracter, cmo podra demostrar razonablemente que no hay un camino paso a paso hasta l? Aunque no conozcamos tal camino, significa eso que no existe ninguno? Por supuesto que no. Batten afirma efectivamente que si no entendemos cmo han evolucionado ciertos caracteres, entonces es imposible que esos caracteres hayan evolucionado -un ejemplo clsico de la falacia lgica elemental del argumento de la ignorancia. El espacio de bsqueda de todas las posibles variantes de cualquier caracter biolgico dado es enorme, y en la mayora de los casos nuestro conocimiento supone tan slo una fraccin infinitesimal de todas las posibilidades.

Perfectamente pueden existir numerosos caminos hacia una estructura de los que no conozcamos nada todava; no hay ninguna razn en absoluto para creer que nuestra ignorancia actual establece lmites a nuestro progreso futuro. De hecho, la historia nos da razones para estar seguros de esto: los cientficos han hecho enormes progresos para explicar la evolucin de muchas estructuras y sistemas biolgicos complejos, tanto macroscpicos como microscpicos (por ejemplo, vea estas pginas sobre la evolucin de sistemas moleculares complejos, genes ``reloj'', la lengua del pjaro carpintero o el escarabajo bombardero). Tenemos justificacin para creer probable que los que nos han eludido hasta ahora tambin se entendern con claridad en el futuro.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

70

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

De hecho, los propios AGs nos ofrecen una excelente razn para suponer esto. Muchos de los problemas en los que se han aplicado son problemas complejos de ingeniera y diseo de los que no se conoca la solucin previamente, y por lo tanto el problema no poda ``amaarse'' para facilitar el xito del algoritmo. Si los creacionistas tuvieran razn, habra sido completamente razonable esperar que los algoritmos genticos hubieran fallado estrepitosamente una y otra vez al ser aplicados a estos problemas, pero, en cambio, ha ocurrido justo lo contrario: los AGs han descubierto soluciones poderosas y de gran calidad a problemas difciles en una gran variedad de campos. Esto pone seriamente en duda incluso si existen problemas como los que Batten describe, cuyas soluciones sean inaccesibles a un proceso evolutivo. Los AGs no permiten la posibilidad de una extincin o una catstrofe de errores Batten afirma que, en los AGs, ``siempre sobrevive algo para mantener el proceso'', mientras que esto no es necesariamente cierto en el mundo real -en resument, los AGs no permiten la posibilidad de una extincin. Sin embargo, esto no es cierto; la extincin puede ocurrir. Por ejemplo, algunos AGs utilizan un modelo de seleccin con umbral en el que los individuos deben tener una aptitud superior a un nivel predeterminado para poder sobrevivir y reproducirse (Haupt y Haupt 1998, p. 37). Si no hay ningn individuo que cumpla este criterio en este tipo de AG, la poblacin puede extinguirse efectivamente. Pero incluso en AGs que no establecen umbrales pueden ocurrir estados anlogos a la extincin. Si las tasas de mutacin son demasiado altas o las presiones selectivas demasiado fuertes, un AG nunca encontrar una solucin factible. La poblacin puede acabar en un caos sin remedio al verse afectados los cantidatos aptos por el hecho de que las mutaciones perjudiciales se desarrollen con ms rapidez de la que la seleccin puede eliminarlas (catstrofe de errores), o puede retorcerse intilmente, incapaz de conseguir ningn aumento de la aptitud lo
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

71

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

bastante grande para que pueda ser seleccionado. Al igual que en la naturaleza, debe haber un equilibrio o nunca se alcanzar una solucin. La ventaja que tiene un programador a este respecto es que, si ocurre esto, l puede introducirle al programa valores diferentes -para el tamao de la poblacin, para la tasa de mutacin, para la presin selectiva- y comenzar de nuevo. Obviamente, esto no es una opcin para los seres vivos. Batten dice que ``no existe una regla en la evolucin que diga que algunos organismos de la poblacin que evoluciona permanecern viables ocurran las mutaciones que ocurran'', pero tampoco existe una regla as en los algoritmos genticos. Batten tambin afirma que ``los AGs que he observado preservan artificialmente a los mejores de la generacin anterior y los protegen de las mutaciones o la recombinacin, en caso de que no se produzca algo mejor en la siguiente generacin''. Abordar esta crtica en el siguiente punto. Los AGs ignoran el coste de las sustituciones La siguiente afirmacin de Batten es que los AGs ignoran el ``dilema de Haldane'', que dice que un alelo que contribuya menos a la aptitud de un organismo tardar correspondientemente ms tiempo en fijarse en la poblacin. Obviamente, a lo que se refiere es a la tcnica de seleccin elitista, que selecciona automticamente al mejor candidato de cada generacin sin importar lo pequea que sea su ventaja sobre sus competidores. Tiene razn al sugerir que, en la naturaleza, las ventajas competitivas muy pequeas pueden tardar en propagarse mucho ms. Los algoritmos genticos no son un modelo exacto de la evolucin biolgica a este respecto. Sin embargo, esto no viene al caso. La seleccin elitista es una idealizacin de la evolucin biolgica -un modelo de lo que pasara en la naturaleza si de vez en cuando no interviniese el azar. Como reconoce Batten, el dilema de Haldane no afirma que una mutacin ligeramente ventajosa nunca quedar fijada en una
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

72

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

poblacin; afirma que tardar ms en hacerlo. Sin embargo, cuando el tiempo de computacin est muy demandado o cuando un investigador de AGs desea obtener una solucin con mayor rapidez, puede ser deseable saltarse este proceso implementando el elitismo. Un punto importante es que el elitismo no afecta a qu mutaciones surgen, slo asegura la seleccin de las mejores que surjan. No importara lo fuerte que fuera la seleccin si no ocurrieran mutaciones que incrementasen la informacin. En otras palabras, el elitismo acelera la convergencia una vez que se ha descubierto una solucin buena -no provoca un resultado que no habra ocurrido de otra manera. Por lo tanto, si los algoritmos genticos con elitismo pueden producir informacin nueva, entonces tambin lo puede hacer la evolucin en la naturaleza. Adems, no todos los AGs utilizan seleccin elitista. Muchos no lo hacen, y en cambio dependen slo de seleccin por ruleta de rueda y otras tcnicas de muestreo estocsticas, con no menor xito, proporciona ejemplos de 36 casos en los que la programacin gentica ha producido resultados competitivos con los de los humanos, incluyendo la recreacin automtica de 21 inventos patentados con anterioridad (seis de los cuales fueron patentados durante o despus de 2000), 10 de los cuales duplican la funcionalidad de la patente de manera diferente, e incluyendo adems dos nuevos inventos patentables y cinco algoritmos nuevos que superan a cualquier algoritmo humano escrito para el mismo propsito. Como declara el Dr. Koza en una referencia anterior al mismo trabajo . En todos estos casos, sin ningn mecanismo para asegurar que se seleccionaban los mejores individuos de cada generacin, sin eximir a estos individuos del potencial cambio aleatorio perjudicial, los algoritmos genticos siguen produciendo resultados poderosos, eficientes y competitivos con los resultados humanos. Este hecho puede ser sorprendente para creacionistas como Batten, pero es algo completamente esperado para los defensores de la evolucin. Los AGs ignoran las limitaciones temporales para una generacin
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

73

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Esta crtica es confusa. Batten afirma que una generacin puede durar microsegundos en un AG, mientras que en los seres vivos una generacin puede durar desde minutos hasta aos. Esto es cierto, pero no explica cmo influye esto en la validez de los AGs como evidencia para la evolucin. Si un AG puede generar informacin nueva, tarde el tiempo que tarde, entonces la evolucin natural puede hacer lo mismo sin duda; que los AGs pueden efectivamente hacerlo es todo lo que trata de demostrar este ensayo. La nica cuestin restante sera entonces si la evolucin biolgica ha tenido realmente el tiempo necesario para causar un cambio significativo, y la respuesta a esta cuestin est a cargo de los bilogos, gelogos y fsicos, no de los programadores informticos. Sin embargo, la respuesta que han proporcionado estos cientficos est en completo acuerdo con las escalas de tiempo evolutivas. Numerosas lneas independientes de evidencia, incluyendo la datacin isocrnica radiomtrica, los ritmos de enfriamiento de las enanas blancas, la no existencia en la naturaleza de istopos con tiempos cortos de semideintegracin, los ritmos de alejamiento de las galaxias lejanas, y el anlisis de la radiacin csmica de fondo, convergen hacia la misma conclusin: una Tierra y un universo con muchos miles de millones de aos, sin duda tiempo suficiente para que la evolucin haya producido toda la diversidad de vida que observamos hoy para todas las estimaciones razonables. Las altas tasas de mutacin y reproduccin que emplean los AGs no son realistas Batten afirma, sin proporcionar ninguna evidencia o referencia que le apoye, que los AGs ``producen comnmente cientos o miles de `descendientes' por generacin'', un ritmo que ni siquiera las bacterias, los organismos biolgicos que se reproducen con mayor velocidad, pueden igualar. Esta crtica erra el tiro de varias maneras. Primero, si la mtrica que se utiliza es (como debera ser) el nmero de descendientes por generacin, en lugar del
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

74

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

nmero de descendientes por unidad de tiempo absoluto, entonces existen evidentemente organismos biolgicos que pueden reproducirse a ritmos mayores que los de las bacterias y que casi igualan los ritmos que Batten considera no realistas. Por ejemplo, una sola rana puede poner miles de huevos de una vez, cada uno de los cuales tiene el potencial de desarrollarse como adulto. De acuerdo, la mayora de stos normalmente no sobrevivirn debido a las limitaciones de recursos y a la depredacin, pero entonces la mayora de la ``descendencia'' de cada generacin en un AG tampoco sobrevivir. Segundo, y ms importante: un algoritmo gentico trabajando para resolver un problema no pretende representar a un solo organismo. En cambio, un algoritmo gentico es ms anlogo a una poblacin completa de organismos -despus de todo, son las poblaciones, y no los individuos, los que evolucionan. Por supuesto, es completamente plausible que una poblacin tenga colectivamente cientos o miles de descendientes por generacin. (El creacionista Walter ReMine comete este mismo error con respecto al programa ``weasel'' del Dr. Richard Dawkins. Vea este Mensaje del Mes para ms informacin). Adems, dice Batten, la tasa de mutacin es artificialmente alta en los AGs, mientras que los seres vivos tienen una maquinaria de comprobacin de errores diseada para limitar la tasa de mutacin en aproximadamente 1 por cada 10.000 millones de par de bases (aunque esto es demasiado poco -la cifra real est ms cerca de 1 por cada 1.000 millones. Ver Dawkins Por supuesto, esto es cierto. Si los AGs mutasen a este ritmo, tardaran muchsimo en resolver problemas reales. Evidentemente, lo que debe considerarse relevante es la tasa de mutacin relativa al tamao del genoma. La tasa de mutacin debe ser lo bastante alta para promover una cantidad suficiente de diversidad en la poblacin sin acabar con los individuos. Un ser humano corriente posee entre una y cinco mutaciones; esto es perfectamente realista para la descendencia de un AG. Los AGs tienen genomas artificialmente pequeos
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

75

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

El argumento de Batten de que el genoma de un algoritmo gentico ``es artificialmente pequeo y slo realiza una cosa'' est completamente errado. En primer lugar, como ya hemos visto, no es cierto que un AG slo realice una cosa; hay muchos ejemplos de algoritmos genticos diseados especficamente para optimizar muchos parmetros simultneamente, a menudo muchos ms parmetros de los que podra manejar un diseador humano. Y exactamente cmo cuantifica Batten lo de ``artificialmente pequeo''? Muchos algoritmos evolutivos, como el programa gentico de John Koza, utilizan codificaciones de tamao variable donde el tamao de las soluciones candidatas pueden crecer arbitrariamente. Batten afirma que hasta los seres vivos ms sencillos tienen mucha ms informacin en su genoma que la que un AG haya producido nunca, pero si los organismos vivos actuales tienen genomas relativamente grandes es porque se ha ganado mucha complejidad en el curso de los miles de aos de evolucin. Como seala el artculo Probabilidad de abiognesis, hay buenas razones para creer que los primeros organismos vivos eran mucho ms sencillos que cualquier especie actual -las molculas autorreplicadoras probablemente no tenan ms de 30 o 40 subunidades, pudiendo quedar especificadas perfectamente con los 1.800 bits de informacin que Batten reconoce que ha generado al menos un AG. Asimismo, los algoritmos genticos son una tcnica muy nueva cuyo potencial completo todava no ha sido explotado; las propias computadoras digitales slo tienen unas pocas dcadas, y, las tcnicas de computacin evolutiva han generado resultados cada vez ms sustanciales y complejos durante los ltimos 15 aos, en sincrona con el rpido aumento de la potencia computacional, a menudo referida como la ``ley de Moore''. Al igual que la vida primigenia era muy sencilla comparada con la que vino despus, es probable que los algoritmos genticos actuales, a pesar de los impresionantes resultados que ya han producido, den origen a resultados mucho ms importantes en el futuro.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

76

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Los AGs ignoran la posibilidad de que ocurran mutaciones por todo el genoma Aparentemente, Batten no comprende cmo funcionan los algoritmos genticos, y lo demuestra realizando este argumento. Afirma que, en la vida real, ``las mutaciones ocurren por todo el genoma, no slo en un gen o seccin que especifique un caracter dado''. Esto es cierto, pero cuando dice que lo mismo no es cierto para los AGs, se equivoca. Exactamente igual que en los seres vivos, los AGs deben escardar los genes perjudiciales al tiempo que seleccionan los beneficiosos. Batten continua afirmando que ``el propio programa est protegido contra las mutaciones, slo las secuencias objetivo mutan'', y si el programa mutara, fallara poco despus. Esta crtica, sin embargo, es irrelevante. No existe razn para que el programa que gobierna a un AG tenga que mutar. El programa no es parte del algoritmo gentico; el programa es el que supervisa al algoritmo gentico y produce las mutaciones en las soluciones candidatas, que son lo que el programador busca mejorar. El programa que ejecuta al AG no es anlogo a la maquinaria reproductiva de un organismo, una comparacin que trata de establecer Batten. En cambio, es anlogo a las leyes naturales invariantes que gobiernan los entornos en los que viven y se reproducen los seres vivos, y no se espera que stas cambien ni necesitan ``protegerse'' de ello. Los AGs ignoran los problemas de la complejidad irreducible Utilizando el argumento de la ``'' del creacionista de tipo tierra-vieja Michael Behe, Batten argumenta: ``Muchos caracteres biolgicos requieren la presencia de muchos componentes distintos, funcionando juntos, para que el caracter pueda existir'', mientras que esto no ocurre en los AGs.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

77

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Sin embargo, es trivial demostrar que esta afirmacin es falsa, ya que los algoritmos genticos han producido sistemas irreduciblemente complejos. Por ejemplo, el circuito reconocedor de voz que evolucion el Dr. Adrian Thompson (Davidson 1997[19]) est compuesto de 37 puertas lgicas. Cinco de ellas ni siquiera estn conectadas al resto del circuito, aunque hacen falta las 37 para que el circuito funcione; si cualquiera de ellas se desconecta de la fuente de alimentacin, todo el sistema deja de funcionar. Esto se ajusta a la definicin de sistema complejo irreducible de Behe, y demuestra que un proceso evolutivo puede producir cosas as. Debe sealarse que este argumento es el mismo que el primero, simplemente presentado en un lenguaje distinto, y por tanto la refuntacin es la misma. La complejidad irreducible no es un problema para la evolucin, est la evolucin ocurriendo en los seres vivos de la naturaleza o en el silicio del procesador de una computadora. Los AGs ignoran la poligenia, la pleiotropa y otras complejidades genticas Batten argumenta que los AGs ignoran asuntos como la poligenia (la determinacin de un caracter por mltiples genes), pleiotropa (un gen que afecte a mltiples caracteres) y los genes dominantes y recesivos. Sin embargo, ninguna de estas afirmaciones es cierta. Los AGs no ignoran la poligenia y la pleiotropa: simplemente se permite que estas propiedades surjan de manera natural en lugar de programarlas deliberadamente. Es obvio que en cualquier sistema complejo interdependiente (es decir, un sistema no lineal), la alteracin o eliminacin de una parte causar una reaccin en cadena por todo el sistema; por tanto, los AGs incorporan de manera natural la poligenia y la pleiotropa. ``En la literatura sobre algoritmos genticos, la interaccin entre parmetros se conoce como epistasis (un trmino biolgico para la interaccin entre genes). Cuando hay poca o ninguna epistasis, los algoritmos de bsqueda
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

78

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

mnima [es decir, los trepacolinas **-A.M.] rinden mejor. Los algoritmos genticos brillan cuando la epistasis es media o alta... Igualmente, hay algunas implementaciones de algoritmos genticos que s tienen cromosomas diploides y genes dominantes y recesivos Sin embargo, los que no lo son simplemente se parecen ms a los organismos haploides, como las bacterias, que a los organismos diploides, como los seres humanos. Ya que las bacterias estn entre los organismos ms exitosos de este planeta (para ciertas medidas), tales AGs siguen siendo un buen modelo de la evolucin. Los AGs no tienen mltiples sistemas de lectura Batten habla de la existencia de mltiples sistemas de lectura en los genomas de algunos seres vivos, en los que las secuencias de ADN codifican distintas protenas funcionales cuando se leen en direcciones distintas o con distintos desplazamientos de inicio. Afirma que ``crear un AG para generar una codificacin con informacin densa as parecera imposible''. Un reto as pide una respuesta, y aqu est: Soule y Ball 2001.En este artculo, los autores presentan un algoritmo gentico con mltiples sistemas de lectura y codificacin densa, permitindole almacenar ms informacin que el tamao total de su genoma. Al igual que los codones de tres nucletidos especifican aminocidos en los genomas de los seres vivos, en este AG los codones eran cadenas binarias de cinco dgitos (hay por lo tanto 25 o 64 codones posibles, el mismo nmero de codones en los sistemas biolgicos). Como los codones tenan cinco dgitos de longitud, haba cinco sistemas de lectura posibles. La secuencia 11111 sirve como codon de ``comienzo'' y la 00000 como codon de ``parada''; como el codon de comienzo y parada pueden aparecer en cualquier lugar del genoma, la longitud de cada individuo era variable. Las regiones del cromosoma que no caan entre pares comienzo-parada eran ignoradas.

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

79

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

El AG se prob con cuatro problemas clsicos de maximizacin de funciones. ``Inicialmente, la mayora de los bits no participan en ningn gen, es decir, la mayor parte de un cromosoma no codifica nada. De nuevo, esto es porque en los individuos iniciales aleatorios hay relativamente pocos pares de codones comienzo-parada. Sin embargo, el nmero de bits que no participan disminuye extremadamente rpido''. Durante el curso de la ejecucin, el AG puede incrementar la longitud efectiva de su genoma introduciendo nuevos codones de comienzo en distintos sistemas de lectura. Al final de la ejecucin, ``la cantidad de superposiciones es bastante alta. Muchos bits participan en varios genes (a menudo en los cinco)''. En todos los problemas probados, el AG empez, de media, con 5 variables especificadas; al final de la ejecucin, ese nmero se haba incrementado hasta una media de 25. En los problemas de prueba, el AG con mltiples sistemas de lectura produjo soluciones significativamente mejores que un AG estndar en dos de los cuatro problemas, y mejores soluciones medias en los otros dos. En uno de los problemas, el AG comprimi con xito 625 bits de informacin en un cromosoma de slo 250 bits de longitud, utilizando sistemas de lectura alternativos. Los autores tildan este comportamiento de ``extremadamente sofisticado'' y concluyen que ``estos datos muestran que un AG puede utilizar con xito sistemas de lectura a pesar de la complejidad aadida'' y que ``es claro que un AG puede introducir nuevos`genes' mientras sea necesario para resolver un cierto problema, incluso con las dificultades impuestas al utilizar codones de comienzo y parada y genes superpuestos''. Los AGs tienen objetivos predeterminados Como muchas otras, esta objecin demuestra que Batten no comprende bien lo que es un algoritmo gentico y cmo funciona. Argumenta que los AGs, al contrario que la evolucin, tienen objetivos predeterminados y especificados desde

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

80

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

el principio, y como ejemplo de esto, ofrece el programa ``weasel'' del Dr. Richard Dawkins. Sin embargo, el programa weasel no es un verdadero algoritmo gentico, y no representa a los algoritmos genticos, precisamente por esa razn. No pretenda demostrar el poder de resolucin de problemas de la evolucin. En cambio, su nica intencin era mostrar la diferencia entre la seleccin de un solo paso (la infame frase del ``tornado pasando por una chatarrera y produciendo un 747'') y la seleccin acumulativa de mltiples pasos. Tena un objetivo especfico predeterminado de antemano. Los algoritmos genticos verdaderos, en cambio, no lo tienen. En un sentido ms general, los AGs s tienen un objetivo, a saber, encontrar una solucin aceptable a un problema dado. En este mismo sentido, la evolucin tambin tiene un objetivo: producir organismos que estn mejor adaptados a su entorno y por tanto experimenten un mayor xito reproductivo. Pero al igual que la evolucin es un proceso sin objetivos especficos, los AGs no especifican de antemano cmo debe resolverse un problema dado. La funcin de aptitud solamente se establece para evaluar lo bien que funciona una solucin candidata, sin especificar ninguna forma de funcionar particular y sin juzgar de qu manera inventa. La solucin en s emerge luego mediante un proceso de mutacin y seleccin. La siguiente afirmacin de Batten demuestra claramente que no entiende lo que es un algoritmo gentico. Afirma que ``quizs si el programador pudiera dar con un programa que permitiera que ocurriera cualquier cosa y luego midiera la capacidad de supervivencia de los `organismos', se estara acercando a lo que se supone que hace la evolucin'' -pero as es exactamente como funcionan los algoritmos genticos. Generan aleagoriamente soluciones candidatas y provocan mutaciones aleatorias sobre ellas durante muchas generaciones. No se especifica ninguna configuracin de antemano; como dice Batten, se permite que ocurra cualquier
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

81

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

cosa repitiendo misteriosamente las palabras de Batten: ``Una caracterstica importante... es que la seleccin [en la programacin gentica] no es codiciosa. Los individuos que se sabe que son iferiores sern seleccionados hasta un cierto grado. No se garantiza que se seleccionar el mejor individuo de la poblacin. Adems, el peor individuo de la poblacin no ser necesariamente excludo. Puede ocurrir cualquier cosa y nada est garantizado''. (Una seccin anterior trat este punto concreto como uno de los puntos fuertes de los AGs). Y, sin embargo, aplicando un filtro selectivo a estas candidatas mutadas aleatoriamente, surgen soluciones eficientes, complejas y poderosas a problemas difciles, soluciones que no fueron diseadas por ninguna inteligencia y que a menudo pueden igualar o superar a las soluciones diseadas por los humanos. La alegre afirmacin de Batten de que ``por supuesto eso es imposible'' est en contradiccin directa con la realidad. Los AGs no generan informacin nueva en realidad La crtica final de Batten dice as: ``Para un AG particular, necesitamos preguntar qu parte de la `informacin' generada por el programa est en realidad especificada en el programa, en lugar de haber sido generada de novo''. Acusa a los AGs de que a menudo no hacen ms que encontrar la mejor manera de que ciertos mdulos interaccionen, cuendo los propios mdulos y las maneras que tienen de interactuar estn especificadas de antemano. Es difcil saber qu hacer con este argumento. Cualquier problema imaginable -los trminos en una ecuacin de clculo, las molculas en una clula, los componentes de un motor, el capital en un mercado financiero- pueden expresarse en trminos de mdulos que interactan de cierta manera. Si todo lo que se tiene son mdulos sin especificar que interactan de maneras sin especificar, no hay problema que resolver. Significa esto que la solucin a ningn problema requiere la generacin de informacin nueva?

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

82

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Respecto a la crtica de Batten sobre que la informacin contenida en la solucin est especificada en el problema, la mejora manera de mitigar sus preocupaciones es sealar la cantidad de ejemplos en los que los AGs comienzan con poblaciones iniciales generadas aleatoriamente que no estn de ninguna manera diseadas para ayudar al AG a resolver el problema. Algunos de tales ejemplos son: Graham-Rowe 2004; Davidson 1997; Assion et al. 1998; Giro, Cyrillo y Galvo 2002; Glen y Payne 1995; Chryssolouris y Subramaniam 2001; Williams, Crossley y Lang 2001; Robin et al. 2003; Andreou, Georgopoulos y Lokothanassis 2002; Kewley y Embrechts 2002; Rizki, Zmuda y Tamburino 2002; y especialmente Koza et al. 1999 y Koza et al. 2003, que analiza el uso de programacin gentica para generar 36 inventos competitivos con los humanos de diseos de circuitos analgicos, biologa molecular, algoritmia, diseo de controladores industriales y otros campos, todos comenzando con poblaciones de candidatas iniciales generadas aleatoriamente. De acuerdo, algunos AGs s comienzan con soluciones generadas

inteligentemente que luego intentan mejorar, pero esto es irrelevante: en esos casos el objetivo no es slo devolver la solucin de entrada inicial, sino mejorarla mediante la produccin de informacin nueva. En cualquier caso, aunque la situacin inicial sea como la describe Batten, encontrar la manera ms eficiente mediante la que un cierto nmero de mdulos puede interactuar bajo un conjunto dado de limitaciones puede ser una tarea nada trivial, cuya solucin implique una cantidad considerable de informacin nueva: el diseo de horarios en los aeropuertos internacionales, por ejemplo, o las lneas de montaje de una fbrica, o la distribucin de barriles entre almacenes y destileras. De nuevo, los AGs han demostrado su efectividad a la hora de resolver problemas cuya complejidad abrumara a cualquier humano. A la luz de las mltiples innovaciones y soluciones inesperadamente efectivas que ofrecen los AGs en muchos campos, la afirmacin de Batten de que ``la cantidad de informacin nueva generada (por un AG) es normalmente bastante trivial'' suena verdaderamente hueca.
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

83

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

Conclusin Hasta los creacionistas encuentran imposible negar que la combinacin de la mutacin y la seleccin natural puede producir adaptacin. No obstante, todava siguen intentando justificar su rechazo a la evolucin dividiendo el proceso evolutivo en dos categoras -``microevolucin'' y ``macroevolucin''- y afirmando que slo la segunda es controvertida, y que cualquier cambio evolutivo que podemos observar es slo un ejemplo de la primera. Veamos. La microevolucin y la macroevolucin son trminos que tienen significado para los bilogos; se definen, respectivamente, como evolucin por debajo del nivel de especies y evolucin al nivel de especies o por encima. Pero la diferencia crucial entre el modo en el que los creacionistas utilizan estos trminos y el modo en el que lo hacen los cientficos es que los cientficos reconocen que los dos son fundamentalmente el mismo proceso con los mismos mecanismos, tan slo operando a diferentes escalas. Sin embargo, los creacionistas estn obligados a postular algn tipo de brecha infranqueable que los separa, para poder negar que los procesos de cambio y adaptacin que vemos en la actualidad puedan extrapolarse para producir toda la diversidad que vemos en el mundo de los seres vivos. No obstante, los algoritmos genticos hacen que esta idea sea insostenible, al demostrar la naturaleza sin junturas del proceso evolutivo. Consideremos, por ejemplo, un problema que consista en programar un circuito para que discrimine entre un tono de 1 kilohercio y un tono de 10 kilohercios, y responda respectivamente con salidas uniformes de 0 y 5 voltios. Digamos que tenemos una solucin candidata que puede discriminar con precisin entre los dos tonos, pero sus salidas no son lo bastante uniformes como se requiere; producen pequeas ondulaciones en lugar del voltaje constante requerido. Supuestamente, de acuerdo con las ideas creacionistas, cambiar este circuito de su estado presente a la solucin perfecta sera ``microevolucin'', un cambio pequeo dentro de las
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

84

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

capacidades de la mutacin y la seleccin. Pero, sin duda -argumentara un creacionista-, llegar a este mismo estado final desde una ordenacin inicial completamente aleatoria de componentes sera ``macroevolucin'', y estara ms all del alcance de un proceso evolutivo. Sin embargo, los algoritmos genticos han sido capaces de conseguir ambas cosas: evolucionar el sistema a partir de una ordenacin aleatoria hasta la solucin casi perfecta y finalmente hasta la solucin perfecta y ptima. No surgi ninguna dificultad o brecha insalvable en ningn punto del camino. En ningn momento hizo falta intervencin humana para montar un conjunto de componentes irreduciblemente complejo (a pesar del hecho de que el producto final s contiene tal cosa) o para ``guiar'' al sistema evolutivo a travs de algn pico dificultoso. El circuito evolucion, sin la ayuda de ninguna orientacin inteligente, desde un estado completamente aleatorio y no funcional hasta un estado rigurosamente complejo, eficiente y ptimo. Cmo puede no ser esto una demostracin experimental convincente del poder de la evolucin? Se dice que la evolucin cultural humana ha reemplazado a la biolgica -que nosotros, como especie, hemos llegado a un punto en el que somos capaces de controlar conscientemente nuestra sociedad, nuestro entorno y hasta nuestros genes al nivel suficiente para hacer que el proceso evolutivo sea irrelevante. Se dice que los caprichos culturales de nuestra cambiante sociedad son los que determinan la aptitud hoy en da, en lugar de la marcha enormemente lenta, en comparacin, de la mutacin gentica y la seleccin natural. En cierto sentido, esto puede ser perfectamente cierto. Pero en otro sentido, nada podra estar ms lejos de la verdad. La evolucin es un proceso de resolucin de problemas cuyo poder slo comenzamos a comprender y explotar; a pesar de esto, ya est funcionando por todas partes, moldeando nuestra tecnologa y mejorando nuestras vidas, y, en el futuro, estos usos no harn sino multiplicarse. Sin un conocimiento detallado del proceso evolutivo no habran sido posibles ninguno de los incontables avances que le debemos a los algoritmos genticos. Aqu hay una leccin que deben aprender los que niegan el
ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

85

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

poder de la evolucin y los que niegan que el conocimiento de ella tenga beneficios prcticos. Por increble que pueda parecer, la evolucin funciona. Como lo expresa el poeta Lord Byron: ``Es extrao pero cierto; porque la verdad siempre es extraa, ms extraa que la ficcin.''

ING.INFORMATICA Y SISTEMAS

ALGORITMOS GENETICOS

86

También podría gustarte