Algoritmos geneticos
Upcoming SlideShare
Loading in...5
×
 

Algoritmos geneticos

on

  • 2,070 views

 

Statistics

Views

Total Views
2,070
Views on SlideShare
2,070
Embed Views
0

Actions

Likes
2
Downloads
89
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Algoritmos geneticos Algoritmos geneticos Document Transcript

    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC CURSO: ALGORITMICA III TEMA Nº5 Anonimo. DOCENTE: ING. RAUL PEÑA MALLMA AÑO: 2012 Tambiurco-ABANCAY ALGORITMICA III
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC ÍndiceALGORITMOS GENÉTICOS……………………………………………………….4Métodos de representación…………………………………………………..….5Métodos de selección……………………………………………………………..7Métodos de cambio………………………………………………………………..9Otras técnicas de resolución de problemas………………………………….10Redes neuronales………………………………………………………………….11Ascenso a colina (Hill Climbing)……………………………………………….12Recocido simulado (simulated annealing)……………………………………13Una breve historia de los AGs…………………………………………………..13¿Cuáles son las ventajas de los AGs?....................................................16¿Cuáles son las limitaciones de los AGs? …………………………………..22Algunos ejemplos específicos de AG……………………………………….…28Acústica………………………………………………………………………….….28Ingeniería aeroespacial……………………………………………………………30Astronomía y astrofísica……………………………………………………….…33Ingeniería eléctrica……………………………………………………….…….…37Mercados financieros…………………………………………………………….39 ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 2
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACJuegos ………………………………………………………………………………42Geofísica………………………………………………………………………….…46Ingeniería de materiales………………………………………………………….48Matemáticas y algoritmia……………………………………………………..…50Ejército y cumplimiento de la ley ………………………………………….….52Biología molecular…………………………………………………………..……54Reconocimiento de patrones y explotación de datos ……………….……56Diseño de rutas y horarios………………………………………………………61Ingeniería de sistemas …………………………………………………….……65Los AGs no tienen múltiples sistemas de lectura………………………….79Los AGs tienen objetivos predeterminados………………………………….80 Los AGs no generan información nueva en realida………………………82 ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 3
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC ALGORITMO GENÉTICOExpuesto concisamente, un algoritmo genético (o AG para abreviar) es unatécnica de programación que imita a la evolución biológica como estrategia pararesolver problemas. Dado un problema específico a resolver, la entrada del AG esun conjunto de soluciones potenciales a ese problema, codificadas de algunamanera, y una métrica llamada función de aptitud que permite evaluarcuantitativamente a cada candidata. Estas candidatas pueden ser soluciones queya se sabe que funcionan, con el objetivo de que el AG las mejore, pero se suelengenerar aleatoriamente.Luego el AG evalúa cada candidata de acuerdo con la función de aptitud. En unacervo de candidatas generadas aleatoriamente, por supuesto, la mayoría nofuncionarán en absoluto, y serán eliminadas. Sin embargo, por puro azar, unaspocas pueden ser prometedoras -pueden mostrar actividad, aunque sólo seaactividad débil e imperfecta, hacia la solución del problema.Estas candidatas prometedoras se conservan y se les permite reproducirse. Serealizan múltiples copias de ellas, pero las copias no son perfectas; se introducencambios aleatorios durante el proceso de copia. Luego, esta descendencia digitalprosigue con la siguiente generación, formando un nuevo acervo de solucionescandidatas, y son sometidas a una ronda de evaluación de aptitud. Las candidatasque han empeorado o no han mejorado con los cambios en su código soneliminadas de nuevo; pero, de nuevo, por puro azar, las variaciones aleatoriasintroducidas en la población pueden haber mejorado a algunos individuos,convirtiéndolos en mejores soluciones del problema, más completas o máseficientes. De nuevo, se selecionan y copian estos individuos vencedores hacia lasiguiente generación con cambios aleatorios, y el proceso se repite. Lasexpectativas son que la aptitud media de la población se incrementará en cadaronda y, por tanto, repitiendo este proceso cientos o miles de rondas, puedendescubrirse soluciones muy buenas del problema. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 4
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACAunque a algunos les puede parecer asombroso y antiintuitivo, los algoritmosgenéticos han demostrado ser una estrategia enormemente poderosa y exitosapara resolver problemas, demostrando de manera espectacular el poder de losprincipios evolutivos. Se han utilizado algoritmos genéticos en una amplia variedadde campos para desarrollar soluciones a problemas tan difíciles o más difíciles quelos abordados por los diseñadores humanos. Además, las soluciones queconsiguen son a menudo más eficientes, más elegantes o más complejas quenada que un ingeniero humano produciría. ¡En algunos casos, los algoritmosgenéticos han producido soluciones que dejan perplejos a los programadores queescribieron los algoritmos en primera instancia!Métodos de representaciónAntes de que un algoritmo genético pueda ponerse a trabajar en un problema, senecesita un método para codificar las soluciones potenciales del problema deforma que una computadora pueda procesarlas. Un enfoque común es codificarlas soluciones como cadenas binarias: secuencias de 1s y 0s, donde el dígito decada posición representa el valor de algún aspecto de la solución. Otro métodosimilar consiste en codificar las soluciones como cadenas de enteros o númerosdecimales, donde cada posición, de nuevo, representa algún aspecto particular dela solución. Este método permite una mayor precisión y complejidad que el métodocomparativamente restringido de utilizar sólo números binarios, y a menudo ``estáintuitivamente más cerca del espacio de problemas .Esta técnica se utilizó, por ejemplo, en el trabajo de Steffen Schulze-Kremer, queescribió un algoritmo genético para predecir la estructura tridimensional de unaproteína, basándose en la secuencia de aminoácidos que la componen . El AG deSchulze-Kremer utilizaba números reales para representar los famosos ``ángulosde torsión entre los enlaces peptídicos que conectan a los aminoácidos. (Unaproteína está formada por una secuencia de bloques básicos llamadosaminoácidos, que se conectan como los eslabones de una cadena. Una vez que ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 5
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACtodos los aminoácidos están enlazados, la proteína se dobla formando unacompleja estructura tridimensional, basada en cuáles aminoácidos se atraen entreellos y cuáles se repelen. La forma de una proteína determina su función). Losalgoritmos genéticos para entrenar a las redes neuronales también utilizan amenudo este método de codificación.Un tercer método consiste en representar a los individuos de un AG comocadenas de letras, donde cada letra, de nuevo, representa un aspecto específicode la solución. Un ejemplo de esta técnica es el método basado en ``codificacióngramática de Hiroaki Kitano, en el que a un AG se le encargó la tarea deevolucionar un sencillo conjunto de reglas llamadas gramática libre de contexto,que a su vez se utilizaban para generar redes neuronales para una variedad deproblemas .La virtud de estos tres métodos es que facilitan la definición de operadores quecausen los cambios aleatorios en las candidatas seleccionadas: cambiar un 0 porun 1 o viceversa, sumar o restar al valor de un número una cantidad elegida alazar, o cambiar una letra por otra. (Ver la sección sobre los métodos de cambiopara más detalles acerca de los operadores genéticos). Otra estrategia,desarrollada principalmente por John Koza, de la Universidad de Stanford, ydenominada programación genética, representa a los programas como estructurasde datos ramificadas llamadas árboles . En este método, los cambios aleatoriospueden generarse cambiado el operador o alterando el valor de un cierto nodo delárbol, o sustituyendo un subárbol por otro. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 6
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACFigure: Tres sencillos árboles de programa del tipo utilizado normalmente en laprogramación genética. Debajo se proporciona la expresión matemática querepresenta cada uno.Es importante señalar que los algoritmos evolutivos no necesitan representar lassoluciones candidatas como cadenas de datos de una longitud fija. Algunos lasrepresentan de esta manera, pero otros no; por ejemplo, la ``codificacióngramatical de Kitano, explicada arriba, puede escalarse eficientemente para crearredes neuronales grandes y complejas, y los árboles de programación genética deKoza pueden crecer arbitrariamente tanto como sea necesario para resolvercualquier problema que se les pida.Métodos de selecciónUn algoritmo genético puede utilizar muchas técnicas diferentes para seleccionar alos individuos que deben copiarse hacia la siguiente generación, pero abajo selistan algunos de los más comunes. Algunos de estos métodos son mutuamenteexclusivos, pero otros pueden utilizarse en combinación, algo que se hace amenudo. Selección elitista: se garantiza la selección de los miembros más aptos de cada generación. (La mayoría 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 7
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmejores, son copiados hacia la siguiente generación en caso de que nosurja nada mejor).Selección proporcional a la aptitud: los individuos más aptos tienen másprobabilidad de ser seleccionados, pero no la certeza.Selección por rueda de ruleta: una forma de selección proporcional a laaptitud en la que la probabilidad de que un individuo sea seleccionado esproporcional a la diferencia entre su aptitud y la de sus competidores.(Conceptualmente, esto puede representarse como un juego de ruleta -cada individuo obtiene una sección de la ruleta, pero los más aptosobtienen secciones mayores que las de los menos aptos. Luego la ruleta sehace girar, y en cada vez se elige al individuo que ``posea la sección en laque se pare la ruleta).Selección escalada: al incrementarse la aptitud media de la población, lafuerza de la presión selectiva también aumenta y la función de aptitud sehace más discriminadora. Este método puede ser útil para seleccionar mástarde, cuando todos los individuos tengan una aptitud relativamente alta ysólo les distingan pequeñas diferencias en la aptitud.Selección por torneo: se eligen subgrupos de individuos de la población, ylos miembros de cada subgrupo compiten entre ellos. Sólo se elige a unindividuo de cada subgrupo para la reproducción.Selección por rango: a cada individuo de la población se le asigna un rangonumérico basado en su aptitud, y la selección se basa en este ranking, enlugar de las diferencias absolutas en aptitud. La ventaja de este método esque puede evitar que individuos muy aptos ganen dominancia al principio aexpensas de los menos aptos, lo que reduciría la diversidad genética de lapoblación y podría obstaculizar la búsqueda de una solución aceptable.Selección generacional: la descendencia de los individuos seleccionados encada generación se convierte en toda la siguiente generación. No seconservan individuos entre las generaciones. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 8
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAC Selección por estado estacionario: la descendencia de los individuos seleccionados en cada generación vuelven al acervo genético preexistente, reemplazando a algunos de los miembros menos aptos de la siguiente generación. Se conservan algunos individuos entre generaciones. Selección jerárquica: los individuos atraviesan múltiples rondas de selección en cada generación. Las evaluaciones de los primeros niveles son más rápidas y menos discriminatorias, mientras que los que sobreviven hasta niveles más altos son evaluados más rigurosamente. La ventaja de este método es que reduce el tiempo total de cálculo al utilizar una evaluación más rápida y menos selectiva para eliminar a la mayoría de los individuos que se muestran poco o nada prometedores, y sometiendo a una evaluación de aptitud más rigurosa y computacionalmente más costosa sólo a los que sobreviven a esta prueba inicial.Métodos de cambioUna vez que la selección ha elegido a los individuos aptos, éstos deben seralterados aleatoriamente con la esperanza de mejorar su aptitud para la siguientegeneración. Existen dos estrategias básicas para llevar esto a cabo. La primera ymás sencilla se llama mutación. Al igual que una mutación en los seres vivoscambia un gen por otro, una mutación en un algoritmo genético también causapequeñas alteraciones en puntos concretos del código de un idividuo.El segundo método se llama cruzamiento, e implica elegir a dos individuos paraque intercambien segmentos de su código, produciendo una ``descendenciaartificial cuyos individuos son combinaciones de sus padres. Este procesopretende simular el proceso análogo de la recombinación que se da en loscromosomas durante la reproducción sexual. Las formas comunes de cruzamientoincluyen al cruzamiento de un punto, en el que se establece un punto deintercambio en un lugar aleatorio del genoma de los dos individuos, y uno de los ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 9
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACindividuos contribuye todo su código anterior a ese punto y el otro individuocontribuye todo su código a partir de ese punto para producir una descendencia, yal cruzamiento uniforme, en el que el valor de una posición dada en el genoma dela descendencia corresponde al valor en esa posición del genoma de uno de lospadres o al valor en esa posición del genoma del otro padre, elegido con un 50%de probabilidad.Figure: Cruzamiento y mutación. El diagrama de arriba ilustra el efecto de estosdos operadores genéticos en los individuos de una población de cadenas de 8bits. El diagrama superior muestra a dos individuos llevando a cabo uncruzamiento de un punto; el punto de intercambio se establece entre lasposiciones quinta y sexta del genoma, produciendo un nuevo individuo que eshíbrido de sus progenitores. El segundo diagrama muestra a un individuosufriendo una mutación en la posición 4, cambiando el 0 de esa posición de sugenoma por un 1.Otras técnicas de resolución de problemasCon el auge de la informática de inteligencia artificial y el desarrollo de losmétodos heurísticos, han emergido otras técnicas de resolución computerizada deproblemas que en algunos aspectos son similares a los algoritmos genéticos. Estasección explica algunas de estas técnicas, en qué se parecen a los AGs y en quése diferencian. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 10
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACRedes neuronalesUna red neuronal es un método de resolución de problemas basado en un modeloinformático de la manera en que están conectadas las neuronas del cerebro. Unared neuronal consiste en capas de unidades procesadoras, llamadas nodos,unidas por conexiones direccionales: una capa de entrada, una capa de salida ycero o más capas ocultas enmedio. Se le presenta un patrón inicial de entrada a lacapa de entrada, y luego los nodos que se estimulan transmiten una señal a losnodos de la siguiente capa a la que están conectados. Si la suma de todas lasentradas que entran en una de estas neuronas virtuales es mayor que el famosoumbral de activación de la neurona, esa neurona se activa, y transmite su propiaseñal a las neuronas de la siguiente capa. El patrón de activación, por tanto, sepropaga hacia delante hasta que alcanza a la capa de salida, donde es devueltocomo solución a la entrada presentada. Al igual que en el sistema nervioso de losorganismos biológicos, las redes neuronales aprenden y afinan su rendimiento a lolargo del tiempo, mediante la repetición de rondas en las que se ajustan susumbrales, hasta que la salida real coincide con la salida deseada para cualquierentrada dada. Este proceso puede ser supervisado por un experimentadorhumano, o puede correr automáticamente utilizando un algoritmo de aprendizaje.Se han utilizado algoritmos genéticos para construir y entrenar a redesneuronales. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 11
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACFigure: Una sencilla red neuronal anticipativa (feedforward), con una capaconsistente en cuatro neuronas, una capa oculta consistente en tres neuronas yuna capa de salida consistente en cuatro neuronas. El número de cada neuronarepresenta su umbral de activación: sólo se excitará si recibe al menos esacantidad de entradas. El diagrama muestra cómo la red neuronal recibe unacadena de entrada y cómo la activación se extiende por la red hasta producir unasalida.Ascenso a colina (Hill Climbing)Similares a los algoritmos genéticos, aunque más sistemáticos y menos aleatorios.Un algoritmo de ascenso a colina comienza con una solución al problema a mano,normalmente elegida al azar. Luego, la cadena se muta, y si la mutaciónproporciona una solución con mayor aptitud que la solución anterior, se conservala nueva solución; en caso contrario, se conserva la solución actual. Luego elalgoritmo se repite hasta que no se pueda encontrar una mutación que provoqueun incremento en la aptitud de la solución actual, y esta solución se devuelvecomo . (Para entender de dónde viene el nombre de esta técnica, imagine que elespacio de todas las soluciones posibles de un cierto problema se representacomo un paisaje tridimensional. Un conjunto de coordenadas en ese paisajerepresenta una solución particular. Las soluciones mejores están a mayor altitud,formando colinas y picos; las que son peores están a menor altitud, formandovalles. Un ``trepacolinas es, por tanto, un algoritmo que comienza en un puntodado del paisaje y se mueve inexorablemente colina arriba). El algoritmo deascenso a colina es lo que se conoce como algoritmo voraz, lo que significa quesiempre hace la mejor elección disponible en cada paso, con la esperanza de quede esta manera se puede obtener el mejor resultado global. En contraste, losmétodos como los algoritmos genéticos y el recocido simulado, discutido abajo, noson voraces; a veces, estos métodos hacen elecciones menos óptimas al principiocon la esperanza de que conducirán hacia una solución mejor más adelante. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 12
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACRecocido simulado (simulated annealing)Otra técnica de optimización similar a los algoritmos evolutivos se conoce comorecocido simulado. La idea toma prestado su nombre del proceso industrial en elque un material se calienta por encima de su punto de fusión y luego se enfríagradualmente para eliminar defectos en su estructura cristalina, produciendo unentramado de átomos más estable y regular .En el recocido simulado, como en losalgoritmos genéticos, existe una función de aptitud que define un paisajeadaptativo; sin embargo, en lugar de una población de candidatas como en losAGs, sólo existe una solución candidata. El recocido simulado también añade elconcepto de ``temperatura, una cantidad numérica global que disminuyegradualmente en el tiempo. En cada paso del algoritmo, la solución muta (lo quees equivalente a moverse hacia un punto adyacente en el paisaje adaptativo).Luego, la aptitud de la nueva solución se compara con la aptitud de la soluciónanterior; si es mayor, se conserva la nueva solución. En caso contrario, elalgoritmo toma la decisión de conservarla o descartarla en base a la temperatura.Si la temperatura es alta, como lo es al principio, pueden conservarse inclusocambios que causan decrementos significativos en la aptitud, y utilizarse comobase para la siguiente ronda del algoritmo, pero al ir disminuyendo la temperatura,el algoritmo se va haciendo más y más propenso a aceptar sólo los cambios queaumentan la aptitud. Finalmente, la temperatura alzanca el cero y el sistema se``congela; cualquiera que sea la configuración que exista en ese punto seconvierte en la solución. El recocido simulado tiene a menudo aplicaciones en laingeniería del diseño, como determinar la disposición física de los componentes enun chip .Una breve historia de los AGsLos primeros ejemplos de lo que hoy podríamos llamar algoritmos genéticosaparecieron a finales de los 50 y principios de los 60, programados encomputadoras por biólogos evolutivos que buscaban explícitamente realizar ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 13
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmodelos de aspectos de la evolución natural. A ninguno de ellos se le ocurrió queesta estrategia podría aplicarse de manera más general a los problemasartificiales, pero ese reconocimiento no tardaría en llegar: ``La computaciónevolutiva estaba definitivamente en el aire en los días formativos de lacomputadora electrónica . En 1962, investigadores como G.E.P. Box, G.J.Friedman, W.W. Bledsoe y H.J. Bremermann habían desarrolladoindependientemente algoritmos inspirados en la evolución para optimización defunciones y aprendizaje automático, pero sus trabajos generaron poca reacción.En 1965 surgió un desarrollo más exitoso, cuando Ingo Rechenberg, entonces dela Universidad Técnica de Berlín, introdujo una técnica que llamó estrategiaevolutiva, aunque se parecía más a los trepacolinas que a los algoritmosgenéticos. En esta técnica no había población ni cruzamiento; un padre mutabapara producir un descendiente, y se conservaba el mejor de los dos,convirtiéndose en el padre de la siguiente ronda de mutación .Versionesposteriores introdujeron la idea de población. Las estrategias evolutivas todavía seemplean hoy en día por ingenieros y científicos, 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 América una técnica que llamaronprogramación evolutiva. En este método, las soluciones candidatas para losproblemas se representaban como máquinas de estado finito sencillas; al igualque en la estrategia evolutiva de Rechenberg, su algoritmo funcionaba mutandoaleatoriamente una de estas máquinas simuladas y conservando la mejor de lasdos . También al igual que las estrategias evolutivas, hoy en día existe unaformulación más amplia de la técnica de programación evolutiva que todavía es unárea de investigación en curso. Sin embargo, lo que todavía faltaba en estas dosmetodologías era el reconocimiento de la importancia del cruzamiento.En una fecha tan temprana como 1962, el trabajo de John Holland sobre sistemasadaptativos estableció las bases para desarrollos posteriores; y lo que es másimportante, Holland fue también el primero en proponer explícitamente el ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 14
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcruzamiento y otros operadores de recombinación. Sin embargo, el trabajofundamental en el campo de los algoritmos genéticos apareció en 1975, con lapublicación del libro ``Adaptación en Sistemas Naturales y Artificiales. Basado eninvestigaciones y papers anteriores del propio Holland y de colegas de laUniversidad de Michigan, este libro fue el primero en presentar sistemática yrigurosamente el concepto de sistemas digitales adaptativos utilizando lamutación, la selección y el cruzamiento, simulando el proceso de la evoluciónbiológica como estrategia para resolver problemas. El libro también intentó colocarlos algoritmos genéticos sobre una base teórica firme introduciendo el concepto deesquema .Ese mismo año, la importante tesis de Kenneth De Jong estableció elpotencial de los AGs demostrando que podían desenvolverse bien en una granvariedad de funciones de prueba, incluyendo paisajes de búsqueda ruidosos,discontinuos y multimodales .Estos trabajos fundacionales establecieron un interés más generalizado en lacomputación evolutiva. Entre principios y mediados de los 80, los algoritmosgenéticos se estaban aplicando en una amplia variedad de áreas, desdeproblemas matemáticos abstractos como el ``problema de la mochila (bin-packing) y la coloración de grafos hasta asuntos tangibles de ingeniería como elcontrol de flujo en una línea de ensamble, reconocimiento y clasificación depatrones y optimización estructural.Al principio, estas aplicaciones eran principalmente teóricas. Sin embargo, alseguir proliferando la investigación, los algoritmos genéticos migraron hacia elsector comercial, al cobrar importancia con el crecimiento exponencial de lapotencia de computación y el desarrollo de Internet. Hoy en día, la computaciónevolutiva es un campo floreciente, y los algoritmos genéticos están ``resolviendoproblemas de interés cotidianoen áreas de estudio tan diversas como la predicción en la bolsa y la planificaciónde la cartera de valores, ingeniería aeroespacial, diseño de microchips, bioquímica ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 15
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACy biología molecular, y diseño de horarios en aeropuertos y líneas de montaje. Lapotencia de la evolución ha tocado virtualmente cualquier campo que uno puedanombrar, modelando invisiblemente el mundo que nos rodea de incontablesmaneras, y siguen descubriéndose nuevos usos mientras la investigación sigue sucurso. Y en el corazón de todo esto se halla nada más que la simple y poderosaidea de Charles Darwin: que el azar en la variación, junto con la ley de laselección, es una técnica de resolución de problemas de inmenso poder y deaplicación casi ilimitada.¿Cuáles son las ventajas de los AGs? El primer y más importante punto es que los algoritmos genéticos son intrínsecamente paralelos. La mayoría de los otros algoritmos son en serie y sólo pueden explorar el espacio de soluciones hacia una solución en una dirección al mismo tiempo, y si la solución que descubren resulta subóptima, no se puede hacer otra cosa que abandonar todo el trabajo hecho y empezar de nuevo. Sin embargo, ya que los AGs tienen descendencia múltiple, pueden explorar el espacio de soluciones en múltiples direcciones a la vez. Si un camino resulta ser un callejón sin salida, pueden eliminarlo fácilmente y continuar el tabajo en avenidas más prometedoras, dándoles una mayor probabilidad en cada ejecución de encontrar la solución. Sin embargo, la ventaja del paralelismo va más allá de esto. Considere lo siguiente: todas las cadenas binarias (cadenas de ceros y unos) de 8 dígitos forman un espacio de búsqueda, que puede representarse como ******** (donde * significa ``o 0 o 1). La cadena 01101010 es un miembro de este espacio. Sin embargo, también es un miembro del espacio 0*******, del espacio 01******, del espacio 0******0, del espacio 0*1*1*1*, del espacio 10*01**0, etcétera. Evaluando la aptitud de esta cadena particular, un algoritmo genético estaría sondeando cada uno de los espacios a los que ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 16
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACpertenece. Tras muchas evaluaciones, iría obteniendo un valor cada vezmás preciso de la aptitud media de cada uno de estos espacios, cada unode los cuales contiene muchos miembros. Por tanto, un AG que evalúeexplícitamente un número pequeño de individuos está evaluandoimplícitamente un grupo de individuos mucho más grande -de la mismamanera que un encuestador que le hace preguntas a un cierto miembro deun grupo étnico, religioso o social espera aprender algo acerca de lasopiniones de todos los miembros de ese grupo, y por tanto puede predecircon fiabilidad la opinión nacional sondeando sólo un pequeño porcentaje dela población. De la misma manera, el AG puede dirigirse hacia el espaciocon los individuos más aptos y encontrar el mejor de ese grupo. En elcontexto de los algoritmos evolutivos, esto se conoce como teorema delesquema, y es la ventaja principal de los AGs sobre otros métodos deresolución de problemasDebido al paralelismo que les permite evaluar implícitamente muchosesquemas a la vez, los algoritmos genéticos funcionan particularmente bienresolviendo problemas cuyo espacio de soluciones potenciales esrealmente grande -demasiado vasto para hacer una búsqueda exhaustivaen un tiempo razonable. La mayoría de los problemas que caen en estacategoría se conocen como ``no lineales. En un problema lineal, la aptitudde cada componente es independiente, por lo que cualquier mejora enalguna parte dará como resultado una mejora en el sistema completo. Noes necesario decir que hay pocos problemas como éste en la vida real. Lano linealidad es la norma, donde cambiar un componente puede tenerefectos en cadena en todo el sistema, y donde cambios múltiples que,individualmente, son perjudiciales, en combinación pueden conducir haciamejoras en la aptitud mucho mayores. La no linealidad produce unaexplosión combinatoria: el espacio de cadenas binarias de 1.000 dígitospuede examinarse exhaustivamente evaluando sólo 2.000 posibilidades siel problema es lineal, mientras que si no es lineal, una búsqueda exhaustiva ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 17
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACrequiere evaluar 21.000 posibilidades -un número que, escrito, ocuparíamás de 300 dígitos.Afortunadamente, el paralelismo implícito de los AGs les permite superarincluso este enorme número de posibilidades, y encontrar con éxitoresultados óptimos o muy buenos en un corto periodo de tiempo, trasmuestrear directamente sólo regiones pequeñas del vasto paisajeadaptativo Por ejemplo, un algoritmo genético desarrollado en común poringenieros de General Electric y el Rensselaer Polytechnic Institute produjoel diseño de la turbina de un motor a reacción de altas prestaciones que eratres veces mejor que la configuración diseñada por humanos, y un 50%mejor que una configuración diseñada por un sistema experto que recorriócon éxito un espacio de soluciones que contenía más de 10.387posibilidades. Los métodos convencionales para diseñar estas turbinas sonuna parte fundamental de proyectos de ingeniería que pueden durar hastacinco años y costar más de 2.000 millones de dólares; el algoritmo genéticodescubrió esta solución en dos días, en una estación de trabajo deescritorio típica en ingenieríaOtra ventaja notable de los algoritmos genéticos es que se desenvuelvenbien en problemas con un paisaje adaptativo complejo -aquéllos en los quela función de aptitud es discontinua, ruidosa, cambia con el tiempo, o tienemuchos óptimos locales. La mayoría de los problemas prácticos tienen unespacio de soluciones enorme, imposible de explorar exhaustivamente; elreto se convierte entonces en cómo evitar los óptimos locales -solucionesque son mejores que todas las que son similares a ella, pero que no sonmejores que otras soluciones distintas situadas en algún otro lugar delespacio de soluciones. Muchos algoritmos de búsqueda pueden quedaratrapados en los óptimos locales: si llegan a lo alto de una colina delpaisaje adaptativo, descubrirán que no existen soluciones mejores en lascercanías y concluirán que han alcanzado la mejor de todas, aunque ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 18
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACexistan picos más altos en algún otro lugar del mapa.Los algoritmos evolutivos, por otro lado, han demostrado su efectividad alescapar de los óptimos locales y descubrir el óptimo global incluso enpaisajes adaptativos muy escabrosos y complejos. (Debe decirse que, en larealidad, a menudo no hay manera de decir si una cierta solución a unproblema es el óptimo global o sólo un óptimo local muy alto. Sin embargo,aunque un AG no devuelva siempre una solución perfecta y demostrable aun problema, casi siempre puede devolver al menos una muy buenasolución). Todos los cuatro componentes principales de los AGs -paralelismo, selección, mutación y cruzamiento- trabajan juntos paraconseguir esto. Al principio, el AG genera una población inicial diversa,lanzando una ``red sobre el paisaje adaptativo. compara esto con unejército de paracaidistas cayendo sobre el paisaje del espacio de búsquedade un problema, cada uno de ellos con órdenes de buscar el pico más alto).Pequeñas mutaciones permiten a cada individuo explorar sus proximidades,mientras que la selección enfoca el progreso, guiando a la descendenciadel algoritmo cuesta arriba hacia zonas más prometedoras del espacio desolucionesSin embargo, el cruzamiento es el elemento clave que distingue a losalgoritmos genéticos de los otros métodos como los trepacolinas y elrecocido simulado. Sin el cruzamiento, cada solución individual va por sucuenta, explorando el espacio de búsqueda en sus inmediaciones sinreferencia de lo que el resto de individuos puedan haber descubierto. Sinembargo, con el cruzamiento en juego, hay una transferencia deinformación entre los candidatos prósperos -los individuos puedenbeneficiarse de lo que otros han aprendido, y los esquemas puedenmezclarse y combinarse, con el potencial de producir una descendenciaque tenga las virtudes de sus dos padres y ninguna de sus debilidades. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 19
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACdonde los autores analizan el problema de sintetizar un filtro de paso bajoutilizando programación genética. En una generación se seleccionaron doscircuitos progenitores para llevar a cabo el cruzamiento; un padre tenía unabuena topología (componentes como inductores y condensadorescolocados en el sitio correcto) pero malos tamaños (valores demasiadobajos de inductancia y capacidad para los componentes). El otro padretenía mala topología pero buenos tamaños. El resultado de aparearlosmediante cruzamiento fue una descendencia con la buena topología de unpadre y los buenos tamaños del otro, dando como resultado una mejorasustancial de la aptitud sobre sus dos padres.El problema de encontrar el óptimo global en un espacio con muchosóptimos locales también se conoce como el dilema de la exploración versusexplotación, ``un problema clásico de todos los sistemas que puedenadaptarse y aprender Una vez que un algoritmo (o un diseñador humano)ha encontrado una estrategia para resolver problemas que parece funcionarsatisfactoriamente, ¿debería centrarse en hacer el mejor uso de esaestrategia, o buscar otras? Abandonar una estrategia de probada solvenciapara buscar otras nuevas casi garantiza que supondrá una pérdida ydegradación del rendimiento, al menos a corto plazo. Pero si uno se quedacon una estrategia particular excluyendo a todas las demás, corre el riesgode no descubrir estrategias mejores que existen pero no se han encontrado.De nuevo, los algoritmos genéticos han demostrado ser muy buenos en darcon este equilibrio y descubrir buenas soluciones en un tiempo y esfuerzocomputacional razonables.Otro área en el que destacan los algoritmos genéticos es su habilidad paramanipular muchos parámetros simultáneamente Muchos problemas de lavida real no pueden definirse en términos de un único valor que hay queminimizar o maximizar, sino que deben expresarse en términos de múltiplesobjetivos, a menudo involucrando contrapartidas: uno sólo puede mejorar a ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 20
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACexpensas de otro. Los AGs son muy buenos resolviendo estos problemas:en particular, su uso del paralelismo les permite producir múltiplessoluciones, igualmente buenas, al mismo problema, donde posiblementeuna solución candidata optimiza un parámetro y otra candidata optimiza unodistinto y luego un supervisor humano puede seleccionar una de esascandidatas para su utilización. Si una solución particular a un problema conmúltiples objetivos optimiza un parámetro hasta el punto en el que eseparámetro no puede mejorarse más sin causar una correspondiente pérdidade calidad en algún otro parámetro, esa solución se llama óptimo paretianoo no dominada Finalmente, una de las cualidades de los algoritmosgenéticos que, a primera vista, puede parecer un desastre, resulta ser unade sus ventajas: a saber, los AGs no saben nada de los problemas quedeben resolver. En lugar de utilizar información específica conocida a prioripara guiar cada paso y realizar cambios con un ojo puesto en elmejoramiento, como hacen los diseñadores humanos, son ``relojerosciegos realizan cambios aleatorios en sus soluciones candidatas y luegoutilizan la función de aptitud para determinar si esos cambios producen unamejora.La virtud de esta técnica es que permite a los algoritmos genéticoscomenzar con una mente abierta, por así decirlo. Como sus decisionesestán basadas en la aleatoriedad, todos los caminos de búsqueda posiblesestán abiertos teóricamente a un AG; en contraste, cualquier estrategia deresolución de problemas que dependa de un conocimiento previo, debeinevitablemente comenzar descartando muchos caminos a priori, perdiendoasí cualquier solución novedosa que pueda existir. Los AGs, al carecer deideas preconcebidas basadas en creencias establecidas sobre ``cómodeben hacerse las cosas o sobre lo que ``de ninguna manera podríafuncionar, los AGs no tienen este problema. De manera similar, cualquiertécnica 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 mutación, pueden viajar extensamente por el paisaje adaptativo, explorando regiones que algoritmos producidos con inteligencia podrían no haber tenido en cuenta, y revelando potencialmente soluciones de asombrosa e inesperada creatividad que podrían no habérseles ocurrido nunca a los diseñadores humanos. Un ejemplo muy gráfico de esto es el redescubrimiento, mediante la programación genética, del concepto de retroalimentación negativa -un principio crucial para muchos componentes electrónicos importantes de hoy en día, pero un concepto que, cuando fue descubierto en primera instancia, se le denegó una patente de nueve años porque el concepto era demasiado contrario a las creencias establecidas . Por supuesto, los algoritmos evolutivos no están enterados ni preocupados de si una solución va en contra de las creencias establecidas -sólo de si funciona.¿Cuáles son las limitaciones de los AGs?Aunque los algoritmos genéticos han demostrado su eficiencia y potencia comoestrategia de resolución de problemas, no son la panacea. Los AGs tienen ciertaslimitaciones; sin embargo, se demostrará que todas ellas pueden superarse y queninguna de ellas afecta a la validez de la evolución biológica. La primera y más importante consideración al crear un algoritmo genético es definir una representación 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 mayoría de los algoritmos genéticos, es definir a los individuos como ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 22
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAClistas de números -binarios, enteros o reales- donde cada númerorepresenta algún aspecto de la solución candidata. Si los individuos soncadenas binarias, un 0 o 1 podría significar la ausencia o presencia de unacierta característica. Si son listas de números, estos números podríanrepresentar muchas cosas distintas: los pesos de las conexiones en unared neuronal, el orden de las ciudades visitadas en un recorrido dado, lasituación espacial de componentes electrónicos, los valores con los que sealimenta a un controlador, los ángulos de torsión de los enlaces péptidos deuna proteína, etcétera. Así, la mutación implica cambiar estos números,cambiar bits o sumar o restar valores aleatorios. En este caso, el propiocódigo del programa no cambia; el código es lo que dirige la simulación yhace un seguimiento de los individuos, evaluando sus aptitudes y quizáasegurando que sólo se producen valores realistas y posibles para elproblema dado.En otro método, la programación genética, el propio código del programa sícambia. Como ya se dijo en la sección ``Métodos de representación, la PGrepresenta a los individuos como árboles de código ejecutables que puedenmutar cambiando o intercambiando subárboles. Ambos méetodos producenrepresentaciones robustas ante la mutación, y pueden representar muchostipos diferentes de problemas y, como se dice en la sección ``Algunosejemplos específicos, ambas han tenido un éxito considerable.El problema de representar a las soluciones candidatas de manera robustano surge en la naturaleza, porque el método de representación utilizado porla evolución, a saber, el código genético, es inherentemente robusto: conmuy pocas excepciones, como una cadena de codones de parada, noexiste una secuencia de bases de ADN que no pueda traducirse en unaproteína. Por lo tanto, virtualmente, cualquier cambio en los genes de unindividuo siempre producirá un resultado inteligible, y por tanto las ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 23
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmutaciones en la evolución tienen mayor probabilidad de producir unamejora. Esto entra en contraste con los lenguajes creados por el hombrecomo el inglés, donde el número de palabras con significado es pequeñocomparado con el número total de formas en las que se pueden combinarlas letras del alfabeto, y por tanto, es probable que un cambio aleatorio enuna frase en inglés produzca un sinsentido.El problema de cómo escribir la función de aptitud debe considerarsecuidadosamente para que se pueda alcanzar una mayor aptitud yverdaderamente signifique una solución mejor para el problema dado. Si seelige mal una función de aptitud o se define de manera inexacta, puede queel algoritmo genético sea incapaz de encontrar una solución al problema, opuede acabar resolviendo el problema equivocado. (Esta última situación sedescribe a veces como la tendencia del AG a ``engañar, aunque enrealidad lo que está pasando es que el AG está haciendo lo que se le pidióhacer, no lo que sus creadores pretendían que hiciera). Se puede encontrarun ejemplo de esto en Graham-Rowe 2002 donde unos investigadoresutilizaron un algoritmo evolutivo en conjunción con una serie de chipsreprogramables, haciendo que la función de aptitud recompensara alcircuito en evolución por dar como salida una señal oscilatoria. Al final delexperimento, se producía efectivamente una señal oscilatoria -pero en lugarde actuar como un osculador, como pretendían los investigadores,¡descubrieron que el circuito se había convertido en un receptor de radioque estaba recibiendo y retransmitiendo una señal oscilatoria de uncomponente electrónico cercano!Sin embargo, esto no es un problema en la naturaleza. En el laboratorio dela evolución biológica, sólo hay una función de aptitud que es igual paratodos los seres vivos -la carrera por sobrevivir y reproducirse, sin importarqué adaptaciones hagan esto posible. Los organismos que se reproducen ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 24
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcon más abundancia que sus competidores están más adaptados; los quefracasan en reproducirse no están adaptados.Además de elegir bien la función de aptitud, también deben elegirsecuidadosamente los otros parámetros de un AG -el tamaño de la población,el ritmo de mutación y cruzamiento, el tipo y fuerza de la selección. Si eltamaño de la población es demasiado pequeño, puede que el algoritmogenético no explore suficientemente el espacio de soluciones paraencontrar buenas soluciones consistentemente. Si el ritmo de cambiogenético es demasiado alto o el sistema de selección se escogeinadecuadamente, puede alterarse el desarrollo de esquemas beneficiososy la población puede entrar en catástrofe de errores, al cambiar demasiadorápido para que la selección llegue a producir convergencia.Los seres vivos también se enfrentan a dificultades similares, y la evoluciónse ha encargado de ellas. Es cierto que si el tamaño de una población caehacia un valor muy bajo, los ritmos de mutación son muy altos o la presiónselectiva es demasiado fuerte (una situación así podría ser resultado de uncambio ambiental drástico), entonces la especie puede extinguirse. Lasolución ha sido ``la evolución de la evolutividad -las adaptaciones quealteran la habilidad de una especie para adaptarse. Un ejemplo. La mayoríade los seres vivos han evolucionado una elaborada maquinaria celular quecomprueba y corrigue errores durante el proceso de replicación del ADN,manteniendo su ritmo de mutación a unos niveles aceptablemente bajos; ala inversa, en tiempos de fuerte presión ambiental, algunas especies debacterias entran en un estado de hipermutación en el que el ritmo deerrores en la replicación del ADN aumenta bruscamente, aumentando laprobabilidad de que se descubrirá una mutación compensatoria. Porsupuesto, no pueden eludirse todas las catástrofes, pero la enormediversidad y las adaptaciones altamente complejas de los seres vivosactuales muestran que, en general, la evolución es una estrategia exitosa. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 25
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACIgualmente, las aplicaciones diversas y los impresionantes resultados de losalgoritmos genéticos demuestran que son un campo de estudio poderoso yque merece la pena.Un problema con el que los algoritmos genéticos tienen dificultades son losproblemas con las funciones de aptitud ``engañosas en las que lasituación de los puntos mejorados ofrecen información engañosa sobredónde se encuentra probablemente el óptimo global. Por ejemplo: imagineun problema en el que el espacio de búsqueda esté compuesto por todaslas cadenas binarias de ocho caracteres, y en el que la aptitud de cadaindividuo sea directamente proporcional al número de unos en él -es decir,00000001 sería menos apto que 00000011, que sería menos apto que00000111, etcétera -, con dos excepciones: la cadena 11111111 resultatener una aptitud muy baja, y la cadena 00000000 resulta tener una aptitudmuy alta. En este problema, un AG (al igual que la mayoría de losalgoritmos) no tendría más probabilidad de encontrar un óptimo global queuna búsqueda aleatoria.La solución a este problema es la misma para los algoritmos genéticos y laevolución biológica: la evolución no es un proceso que deba encontrarsiempre el óptimo global. Puede funcionar casi igual de bien alcanzando lacima de un óptimo local alto y, para la mayoría de las situaciones, eso serásuficiente, incluso aunque el óptimo global no pueda alcanzarse fácilmentedesde ese punto. La evolución es como un ``satisfactor -un algoritmo queentrega una solución ``suficientemente buena, aunque no necesariamentela mejor solución posible, dada una cantidad razonable de tiempo yesfuerzo invertidos en la búsqueda. La ``FAQ de la evidencia de diseñoimprovisado en la naturaleza proporciona ejemplos de la naturaleza conestos resultados. (También hay que tener en cuenta que pocos o ningúnproblema real es tan engañoso como el ejemplo algo forzado dado arriba. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 26
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACNormalmente, la situación de las mejoras locales proporciona algunainformación sobre la situación del óptimo global).Un problema muy conocido que puede surgir con un AG se conoce comoconvergencia prematura. Si un individuo que es más apto que la mayoría desus competidores emerge muy pronto en el curso de la ejecución, se puedereproducir tan abundantemente que merme la diversidad de la poblacióndemasiado pronto, provocando que el algoritmo converja hacia el óptimolocal que representa ese individuo, en lugar de rastrear el paisajeadaptativo lo bastante a fondo para encontrar el óptimo global .Esto es unproblema especialmente común en las poblaciones pequeñas, dondeincluso una variación aleatoria en el ritmo de reproducción puede provocarque un genotipo se haga dominante sobre los otros.Los métodos más comunes implementados por los investigadores en AGspara solucionar este problema implican controlar la fuerza selectiva, para noproporcionar tanta ventaja a los individuos excesivamente aptos. Laselección escalada, por rango y por torneo, discutidas anteriormente, sontres de los métodos principales para conseguir esto; algunos métodos deselección escalada son el escalado sigma, en el que la reproducción sebasa en una comparación estadística de la aptitud media de la población, yla selección de Boltzmann, en la que la fuerza selectiva aumenta durante laejecución de manera similar a la variable ``temperatura en el recocidosimuladoLa convergencia prematura ocurre en la naturaleza (los biólogos la llamanderiva genética). Esto no debe sorprender; como ya se dijo arriba, laevolución, como estrategia de resolución de problemas, no está obligada aencontrar la mejor solución, sólo una que sea lo bastante buena. Sinembargo, en la naturaleza, la convergencia prematura es menos común, yaque la mayoría de las mutaciones beneficiosas en los seres vivos sóloproducen mejoras en la aptitud pequeñas 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 drástica ventaja reproductiva. Finalmente, varios investigadores aconsejan no utilizar algoritmos genéticos en problemas resolubles de manera analítica. No es que los algoritmos genéticos no puedan encontrar soluciones buenas para estos problemas; simplemente es que los métodos analíticos tradicionales consumen mucho menos tiempo y potencia computacional que los AGs y, a diferencia de los AGs, a menudo está demostrado matemáticamente que ofrecen la única solución exacta. Por supuesto, como no existe una solución matemática perfecta para ningún problema de adaptación biológica, este problema no aparece en la naturaleza.Algunos ejemplos específicos de AGMientras el poder de la evolución gana reconocimiento cada vez másgeneralizado, los algoritmos genéticos se utilizan para abordar una ampliavariedad de problemas en un conjunto de campos sumamente diverso,demostrando claramente su capacidad y su potencial. Esta sección analizaráalgunos de los usos más notables en los que han tomado parte.AcústicaSato et al. 2002 utilizaron algoritmos genéticos para diseñar una sala deconciertos con propiedades acústicas óptimas, maximizando la calidad del sonidopara la audiencia, para el director y para los músicos del escenario. Esta tareaimplica la optimización simultánea de múltiples variables. Comenzando con unasala con forma de caja de zapatos, el AG de los autores produjo dos soluciones nodominadas, ambas descritas como ``con forma de hoja (p. 526). Los autoresafirman que estas soluciones tienen proporciones similares al GrosserMusikvereinsaal de Viena, el cual está considerado generalmente como una de las ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 28
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmejores -si no la mejor- salas de conciertos del mundo, en términos depropiedades acústicas.Porto, Fogel y Fogel 1995 utilizaron programación evolutiva para adiestrar a redesneuronales para distinguir entre reflexiones sonoras desde distintos tipos deobjetos: esferas metálicas hechas por el hombre, montañas submarinas, peces yplantas, y ruido aleatorio de fondo. Tras 500 generaciones, la mejor red neuronalque evolucionó tenía una probabilidad de clasificación correcta que iba desde el94% al 98%, y una probabilidad de clasificación errónea entre un 7,4% y un 1,5%,que son ``probabilidades razonables de detección y falsa alarma (p. 21). Esta redevolucionada igualó las prestaciones de otra red desarrollada mediante recocidosimulado, y superó consistentemente a redes entrenadas mediante propagaciónhacia atrás, las cuales ``se atascaban repetidamente en conjuntos de pesossubóptimos que no producían resultados satisfactorios (p. 21). En contraste,ambos métodos estocásticos demostraron su capacidad para superar estosóptimos locales y producir redes más pequeñas, efectivas y robustas; pero losautores sugieren que el algoritmo evolutivo, a diferencia del recocido simulado,opera sobre una población, y por tanto se beneficia de la información global sobreel espacio de búsqueda, conduciendo potencialmente hacia un rendimiento mayora la larga.Tang et al. 1996 analizan los usos de los algoritmos genéticos en el campo de laacústica y el procesamiento de señales. Un área de interés particular incluye eluso de AGs para diseñar sistemas de Control Activo de Ruido (CAR), que eliminanel sonido no deseado produciendo ondas sonoras que interfieren destructivamentecon el ruido. Esto es un problema de múltiples objetivos que requiere el control y lacolocación precisa de múltiples altavoces; los AGs se han utilizado en estossistemas tanto para diseñar los controladores como para encontrar la colocaciónóptima de los altavoces, dando como resultado una ``atenuación efectiva delruido (p. 33) en pruebas experimentales. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 29
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACIngeniería aeroespacialObayashi et al. 2000 utilizaron un algoritmo genético de múltiples objetivos paradiseñar la forma del ala de un avión supersónico. Hay tres consideracionesprincipales que determinan la configuración del ala -minimizar la resistenciaaerodinámica a velocidades de vuelo supersónicas, minimizar la resistencia avelocidades subsónicas y minimizar la carga aerodinámica (la fuerza que tiende adoblar el ala). Estos objetivos son mutuamente exclusivos, y optimizarlos todossimultáneamente requiere realizar contrapartidas.El cromosoma de este problema es una cadena de 66 números reales, cada unode los cuales corresponde a un aspecto específico del ala: su forma, su grosor, sutorsión, etcétera. Se simuló una evolución con selección elitista durante 70generaciones, con un tamaño de población de 64 individuos. Al final de esteproceso había varios individuos paretianos, cada uno representando una soluciónno dominada del problema. El artículo comenta que estos individuos ganadorestenían características ``físicamente razonables, señalando la validez de la técnicade optimización (p. 186). Para evaluar mejor la calidad de las soluciones, las seismejores fueron comparadas con un diseño de ala supersónica producido por elEquipo de Diseño SST del Laboratorio Aeroespacial Nacional de Japón. Las seisfueron competitivas, con valores de resistencia y carga aproximadamente igualeso menores a los del ala diseñada por humanos; en particular, una de lassoluciones evolucionadas superó al diseño del LAN en los tres objetivos. Losautores señalan que las soluciones del AG son similares a un diseño llamado ``alaflecha, sugerido por primera vez a finales de los años 50, pero que finalmente fueabandonado en favor del diseño más convencional con forma de delta.En un artículo posterior (Sasaki et al. 2001), los autores repitieron el experimentoañadiendo un cuarto objetivo, a saber, minimizar el momento de torsión (unconocido problema en los diseños de alas flecha en el vuelo supersónico).También se añadieron puntos de control adicionales para el grosor al conjunto de ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 30
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACvariables de diseño. Tras 75 generaciones de evolución, se compararon dos de lasmejores soluciones paretianas con el diseño de ala que el LaboratorioAeroespacial Nacional japonés realizó para el avión supersónico experimentalNEXST-1. Se descubrió que ambos diseños (además de un diseño óptimo de lasimulación anterior, explicada arriba) eran físicamente razonables y superiores aldiseño del LAN en los cuatro objetivos.Williams, Crossley y Lang 2001 aplicaron algoritmos genéticos a la tarea de situarórbitas de satélites para minimizar los apagones de cobertura. Mientras latecnología de telecomunicaciones sigue progresando, los humanos somos cadavez más dependientes de las funciones vitales que realizan los satélites en órbitaalrededor de la Tierra, y uno de los problemas con los que se enfrentan losingenieros es el diseño de las trayectorias orbitales. Los satélites que seencuentran en una órbita terrestre alta, a unos 35.000 kilómetros de altitud,pueden ver amplias secciones del planeta al mismo tiempo y estar en contacto conlas estaciones terrestres, pero son mucho más caros de lanzar y más vulnerablesa las radiaciones cósmicas. Es más económico colocar satélites en órbitas bajas,en algunos casos a sólo unos pocos cientos de kilómetros; pero, a causa de lacurvatura de la Tierra, es inevitable que estos satélites pierdan durante un tiempola línea de visión con los receptores terrestres, y por lo tanto se vuelven inútiles.Incluso las constelaciones de varios satélites tienen apagones ineludibles ypérdidas de cobertura por esta razón. El reto consiste en colocar las órbitas de lossatélites para minimizar este tiempo muerto. Esto es un problema multi-objetivoque implica la minimización de el tiempo medio de apagón para todas laslocalizaciones y el tiempo máximo de apagón para cada una de las localizaciones;en la práctica, estos objetivos resultan ser mutuamente exclusivos.Cuando se utilizó el AG en este problema, los resultados que evolucionaron paraconstelaciones de tres, cuatro y cinco satélites eran extraños, configuracionesorbitales muy asimétricas, con los satélites colocados alternando huecos grandesy pequeños, en lugar de huecos de igual tamaño como habrían hecho las técnicas ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 31
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACconvencionales. Sin embargo, esta solución redujo significativamente los tiemposmedio y máximo de apagón, en algunos casos hasta en 90 minutos. En un artículoperiodístico, el Dr. William Crossley señaló que ``ingenieros con años deexperiencia aeroespacial quedaorn sorprendidos con el rendimiento ofrecido por eldiseño no convencional.Keane y Brown 1996 utilizadon un AG para producir un nuevo diseño para unbrazo o jirafa para transportar carga que pudiese montarse en órbita y utilizarsecon satélites, estaciones espaciales y otros proyectos de construcciónaeroespacial. El resultado, una estructura retorcida con aspecto orgánico que seha comparado con un fémur humano, no utiliza más material que el diseño debrazo estándar, pero es ligera, fuerte y muy superior a la hora de amortiguar lasvibraciones perjudiciales, como confirmaron las pruebas reales del producto final.Y sin embargo ``Ninguna inteligencia produjo los diseños. Simplementeevolucionaron (Petit 1998). Los autores del artículo comentan además que su AGsólo se ejecutó durante 10 generaciones, debido a la naturalezacomputacionalmente costosa de la simulación, y la población no se habíaestancado todavía. Haber proseguido la ejecución durante más generacioneshabría producido indudablemente mayores mejoras de rendimiento.Figure: Un brazo tridimensional optimizado genéticamente, con una respuesta ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 32
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmejorada a la frecuencia (adaptado dehttp://www.soton.ac.uk/~ajk/truss/welcome.html).Finalmente, como informa Gibbs 1996, Lockheed Martin ha utilizado un algoritmogenético para producir mediante evolución una serie de maniobras para moveruna nave espacial de una orientación a otra, dentro del 2% del tiempo mínimoteórico para tales maniobras. La solución evolucionada era un 10% más rápidaque una solución producida manualmente por un experto para el mismo problema.Astronomía y astrofísicaCharbonneau 1995 sugiere la utilidad de los AGs para problemas de astrofísica,aplicándolos a tres problemas de ejemplo: obtener la curva de rotación de unagalaxia basándose en las velocidades rotacionales observadas de suscomponentes, determinar el periodo de pulsación de una estrella variablebasándose en series de datos temporales, y sacar los valores de los parámetroscríticos de un modelo magnetohidrodinámico del viento solar. Son tres difícilesproblemas no lineales y multidimensionales.El algoritmo genético de Charbonneau, PIKAIA, utiliza selección generacional yproporcional a la aptitud, junto con elitismo, para asegurar que el mejor individuose copia una vez hacia la siguiente generación sin ninguna modificación. PIKAIAtiene un ritmo de cruzamiento de 0,65 y un ritmo de mutación variable que se ponea 0,003 inicialmente y luego aumenta gradualmente, mientras la población seaproxima a la convergencia, para mantener la variabilidad en el acervo genético.En el problema de la curva de rotación galáctica, el AG produjo dos curvas, yambas estaban bien ajustadas a los datos (un resultado común en este tipo deproblema, en el que hay poco contraste entre cimas cercanas); observacionesposteriores pueden distinguir cuál es la preferible. En el problema de la serietemporal, el AG fue impresionantemente exitoso, generando un ajuste de los datos ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 33
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACde gran calidad, aunque otros problemas más difíciles no se ajustaron tan bien(aunque, como señala Charbonneau, estos problemas son igualmente difíciles deresolver con técnicas convencionales). El artículo sugiere que un AG híbrido queemplee tanto evolución artificial como técnicas analíticas estándar, podríafuncionar mejor. Finalmente, en el problema de obtener los seis parámetroscríticos del viento solar, el AG determinó con éxito el valor de tres con unaprecisión de menos del 0,1% y los otros tres con precisiones entre el 1 y el 10%.(Aunque siempre serían preferibles unos errores experimentales menores paraestos tres parámetros, Charbonneau señala que no existe ningún otro métodoeficiente y robusto para resolver experimentalmente un problema no lineal 6-dimensional de este tipo; un método de gradiente conjugado funciona ``siempreque se pueda proporcionar un valor inicial muy acertado (p. 323). En contraste,los AGs no requieren un conocimiento del dominio tan bien afinado).Basándose en los resultados obtenidos hasta ahora, Charbonneau sugiere que losAGs pueden y deben encontrar uso en otros problemas difíciles de astrofísica, enparticular, problemas inversos como las imágenes por Doppler y las inversionesheliosísmicas. Para terminar, Charbonneau sostiene que los AGs son un``contendiente poderoso y prometedor (p. 324) en este campo, del que se puedeesperar que complemente (no sustituya) a las técnicas tradicionales deoptimización, y concluye que ``el punto decisivo, si es que tiene que haber alguno,es que los algoritmos genéticos funcionan, y a menudo colosalmente bien (p.325).QuímicaUn pulso láser ultracorto de alta energía puede romper moléculas complejas enmoléculas más sencillas, un proceso con aplicaciones importantes en la químicaorgánica y la microelectrónica. Los productos específicos de una reacción asípueden controlarse modulando la fase del pulso láser. Sin embargo, paramoléculas grandes, obtener la forma del pulso deseado de manera analítica es ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 34
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACdemasiado difícil: los cálculos son demasiado complejos y las característicasrelevantes (las superficies de energía potencial de las moléculas) no se conocencon suficiente precisión.Assion et al. 1998 resolvieron este problema utilizando un algoritmo evolutivo paradiseñar la forma del pulso. En lugar de introducir información compleja, específicadel problema, sobre las características cuánticas de las moléculas iniciales, paradiseñar el pulso conforme a las especificaciones, el AE dispara un pulso, mide lasproporciones de las moléculas producto resultantes, muta aleatoriamente lascaracterísticas del rayo con la esperanza de conseguir que estas proporciones seacerquen a la salida deseada, y el proceso se repite. (En lugar de afinardirectamente las características del rayo láser, el AG de los autores representa alos individuos como un conjunto de 128 números, en el que cada número es unvalor de voltaje que controla el índice de refracción de uno de los pixeles delmodulador láser. De nuevo, no se necesita un conocimiento específico delproblema sobre las propiedades del láser o de los productos de la reacción). Losautores afirman que su algoritmo, cuando se aplica a dos sustancias de muestra,``encuentra automáticamente la mejor configuración... no importa lo complicadaque sea la respuesta molecular (p. 921), demostrando un ``control coherenteautomatizado de los productos que son químicamente diferentes uno del otro y dela molécula padre (p. 921).A principios y mediados de los 90, la amplia adopción de una novedosa técnica dediseño de fármacos, llamada química combinatoria, revolucionó la industriafarmacéutica. Con este método, en lugar de la síntesis precisa y meticulosa de unsólo compuesto de una vez, los bioquímicos mezclan deliberadamente una granvariedad de reactivos para producir una variedad aún mayor de productos -cientos, miles o millones de compuestos diferentes en cada remesa- que luegopueden aislarse rápidamente para su actividad bioquímica. Hay dos formas dediseñar las bibliotecas de reactivos en esta técnica: diseño basado en losreactivos, que elige grupos optimizados de reactivos sin considerar qué productos ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 35
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACsaldrán como resultado, y diseño basado en los productos, que selecciona losreactivos que producirán con mayor probabilidad los productos con laspropiedades deseadas. El diseño basado en los productos es más difícil ycomplejo, pero se ha demostrado que genera bibliotecas combinatorias mejores ymás diversas, y tiene más probabilidades de ofrecer un resultado útil.En un artículo patrocinado por el departamento de investigación y desarrollo deGlaxoSmithKline, Gillet 2002 describe el uso de un algoritmo genético multiobjetivopara el diseño basado en los productos de bibliotecas combinatorias. Al elegir loscomponentes que van en una biblioteca particular, deben considerarsecaracterísticas como la diversidad y peso molecular, el coste de los suministros, latoxicidad, la absorción, la distribución y el metabolismo. Si el objetivo es encontrarmoléculas similares a una molécula existente con una función conocida (unmétodo común en el diseño de nuevos fármacos), también se puede tener encuenta la similaridad estructural. Este artículo presenta un enfoque multiobjetivo,donde puede desarrollarse un conjunto de resultados paretianos que maximicen ominimicen cada uno de estos objetivos. El autor concluye diciendo que el AG fuecapaz de satisfacer simultáneamente los criterios de diversidad molecular yeficiencia sintética máxima, y también fue capaz de encontrar moléculas parecidasa un fármaco que eran ``muy similares a las moléculas objetivo dadas, trasexplorar una fracción muy pequeña del espacio de búsqueda total (p. 378).En un artículo relacionado, Glen y Payne 1995 describen el uso de algoritmosgenéticos para diseñar automáticamente moléculas nuevas desde cero que seajustan a un conjunto de especificaciones dado. Dada una población inicial, biengenerada aleatoriamente o utilizando la sencilla molécula del etano como semilla,el AG añade, elimina y altera aleatoriamente átomos y fragmentos molecularescon el objetivo de generar moléculas que se ajusten a los requisitos dados. El AGpuede optimizar simultáneamente un gran número de objetivos, incluyendo el pesomolecular, el volumen molecular, el número de enlaces, el número de centrosquirales, el número de átomos, el número de enlaces rotables, la polarizabilidad, el ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 36
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmomento dipolar, etcétera, para producer moléculas candidatas con laspropiedades deseadas. Basándose en pruebas experimentales, incluyendo undifícil problema de optimización que implicaba la generación de moléculas conpropiedades similares a la ribosa (un componente del azúcar imitado a menudo enlos fármacos antivirales), los autores concluyen que el AG es un ``excelentegenerador de ideas (p. 199) que ofrece ``propiedades de optimización rápidas ypoderosas y puede generar ``un conjunto diverso de estructuras posibles (p.182). Continúan afirmando: ``Es de interés especial la poderosa capacidad deoptimización del algoritmo genético, incluso con tamaños de poblaciónrelativamente pequeños (p. 200). Como prueba de que estos resultados no sonsimplemente teóricos, Lemley 2001[45] informa de que la empresa Unilever hautilizado algoritmos genéticos para diseñar nuevos componentes antimicrobianospara su uso en productos de limpieza, algo que ha patentado.Ingeniería eléctricaUna matriz de puertas programable en campo (Field Programmable Gate Array, oFPGA), es un tipo especial de placa de circuito con una matriz de celdas lógicas,cada una de las cuales puede actuar como cualquier tipo de puerta lógica,interconectado con conexiones flexibles que pueden conectar celdas. Estas dosfunciones se controlan por software, así que simplemente cargando un programaespecial en la placa, puede alterarse al vuelo para realizar las funciones decualquier dispositivo de hardware de la amplia variedad existente.El Dr. Adrian Thompson ha explotado este dispositivo, en conjunción con losprincipios de la evolución, para producir un prototipo de circuito reconocedor devoz que puede distinguir y responder a órdenes habladas utilizando sólo 37puertas lógicas -una tarea que se habría considerado imposible para cualquieringeniero humano. Generó cadenas aleatorias de bits de ceros y unos y las utilizócomo configuraciones de la FPGA, seleccionando los individuos más aptos decada generación, reproduciéndolos y mutándolos aleatoriamente, intercambiando ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 37
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACsecciones de su código y pasándolo hacia la siguiente ronda de selección. Suobjetivo era evolucionar un dispositivo que pudiera en principio discriminar entretonos de frecuencias distintas (1 y 10 kilohercios), y luego distinguir entre laspalabras habladas ``go (adelante) y ``stop (para).Su objetivo se alcanzó en 3.000 generaciones, pero el éxito fue mayor de lo quehabía anticipado. El sistema que evolucionó utilizaba muchas menos celdas quecualquier cosa que pudiera haber diseñado un ingeniero humano, y ni siquieranecesita del componente más crítico de los sistemas diseñados por humanos -unreloj. ¿Cómo funcionaba? Thompson no tiene ni idea, aunque ha rastreado laseñal de entrada a través de un complejo sistema de bucles realimentados delcircuito evolucionado. De hecho, de las 37 puertas lógicas que utiliza el productofinal, cinco de ellas ni siquiera están conectadas al resto del circuito de ningunamanera -pero si se les retira la alimentación eléctrica, el circuito deja de funcionar.Parece que la evolución ha explotado algún sutil efecto electromagnético de estasceldas para alcanzar su solución, pero el funcionamiento exacto de la compleja eintrincada estructura evolucionada sigue siendo un misterio (Davidson 1997).Altshuler y Linden 1997 utilizaron un algoritmo genético para evolucionar antenasde alambre con propiedades especificadas a priori. Los autores señalan que eldiseño de tales antenas es un proceso impreciso, comenzando con laspropiedades deseadas y luego determinando la forma de la antena mediante``conjeturas... intuición, experiencia, ecuaciones aproximadas o estudiosempíricos (p. 50). Esta técnica requiere mucho tiempo, a menudo no produceresultados óptimos y tiende a funcionar bien sólo con diseños simétricos yrelativamente simples. En contraste, con el método del algoritmo genético, elingeniero especifica las propiedades electromagnéticas de la antena, y el AGsintetiza automáticamente una configuración que sirva. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 38
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACFigure: Una antena genética de alambre doblado (de Altshuler y Linden 1997,figura 1).Altshuler y Linden utilizaron su AG para diseñar una antena de siete segmentospolarizada circularmente con una cobertura hemisférica; el resultado se muestra ala izquierda. Cada individuo del AG consistía en un cromosoma binario queespecificaba las coordenadas tridimensionales de cada extremo final de cadaalambre. La aptitud se evaluaba simulando a cada candidato de acuerdo con uncódigo de cableado electromagnético, y el individuo mejor de cada ronda seconstruía y probaba. Los autores describen la forma de esta antena, que no separece a las antenas tradicionales y carece de una simetría obvia, como``inusualmente extraña y ``antiintuitiva (p. 52), aunque tenía un patrón deradiación casi uniforme y con un gran ancho de banda tanto en la simulación comoen la prueba experimental, adecuándose excelentemente a la especificacióninicial. Los autores concluyen que un método basado en algoritmos genéticos paradiseñar antenas se muestra ``excepcionalmente prometedor. ``... este nuevoprocedimiento de diseño es capaz de encontrar antenas genéticas capaces deresolver de manera efectiva difíciles problemas de antenas, y será especialmenteútil en situaciones en las que los diseños existentes no sean adecuados (p. 52).Mercados financieros ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 39
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACMahfoud y Mani 1996 utilizaron un algoritmo genético para predecir el rendimientofuturo de 1.600 acciones ofertadas públicamente. Concretamente, al AG se leasignó la tarea de predecir el beneficio relativo de cada acción, definido como elbeneficio de esa acción menos el beneficio medio de las 1.600 acciones a lo largodel periodo de tiempo en cuestión, 12 semanas (un cuarto del calendario) en elfuturo. Como entrada, al AG se le proporcionaron datos históricos de cada acciónen forma de una lista de 15 atributos, como la relación precio-beneficio y el ritmode crecimiento, medidos en varios puntos del tiempo pasado; se le pidió al AG queevolucionara un conjunto de reglas si/entonces para clasificar cada acción yproporcionar, como salida, una recomendación sobre qué hacer con respecto a laacción (comprar, vender o ninguna predicción) y un pronóstico numérico delbeneficio relativo. Los resultados del AG fueron comparados con los de un sistemaestablecido, basado en una red neuronal, que los autores habían estado utilizandopara pronosticar los precios de las acciones y administrar las carteras de valoresdurante tres años. Por supuesto, el mercado de valores es un sistemaextremadamente ruidoso y no lineal, y ningún mecanismo predictivo puede sercorrecto el 100% del tiempo; el reto consiste en encontrar un predictor que seapreciso más de la mitad de las veces.En el experiemnto, el AG y la red neuronal hicieron pronósticos al final de lasemana para cada una de las 1.600 acciones, durante doce semanasconsecutivas. Doce semanas después de cada predicción, se comparó elrendimiento verdadero con el beneficio relativo predicho. Globalmente, el AGsuperó significativamente a la red neuronal: en una ejecución de prueba, el AGpredijo correctamente la dirección de una acción el 47,6% de las veces, no hizopredicción el 45,8% de las veces y realizó una predicción incorrecta sólo un 6.6%de las veces, una precisión predictiva total de un 87,8%. Aunque la red neuronalrealizó predicciones precisas más a menudo, también hizo predicciones erróneasmás a menudo (de hecho, los autores especulan que la mayor capacidad del AGpara 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 predicción a menos que sea restringidaexplícitamente por el programador). En el experimento de las 1.600 acciones, elAG produjo un beneficio relativo de un +5,47%, contra el +4,40% de la redneuronal -una diferencia estadísticamente significativa. De hecho, el AG tambiénsuperó significativamente a tres índices bursátiles importantes -el S&P 500, el S&P400 y el Russell 2000- en este periodo; la casualidad fue excluída como causa deeste resultado con un margen de confianza de un 95%. Los autores atribuyen esteconvincente éxito a la capacidad del algoritmo genético de percatarse derelaciones no lineales difícilmente evidentes para los observadores humanos,además del hecho de que carece del ``prejuicio contra las reglas antiintuitivas ycontradictorias (p. 562) de los expertos humanos.Andreou, Georgopoulos y Likothanassis 2002 lograron un éxito similar utilizandoalgoritmos genéticos híbridos para evolucionar redes neuronales que predijeranlos tipos de cambio de monedas extranjeras hasta un mes en el futuro. Al contrarioque en el ejemplo anterior, donde competían AGs y redes neuronales, aquí los dostrabajaron conjuntamente: el AG evolucionó la arquitectura (número de unidadesde entrada, número de unidades ocultas y la estructura de enlaces entre ellas) dela red, que luego era entrenada por un algoritmo de filtro.Se le proporciaron al algoritmo 1.300 valores brutos diarios de cinco divisas comoinformación histórica -el dólar estadounidense, el marco alemán, el franco francés,la libra esterlina y el dracma griego- y se le pidió que predijera sus valores futurospara los 1, 2, 5 y 20 días posteriores. El rendimiento del AG híbrido mostró, engeneral, un ``nivel excepcional de precisión (p. 200) en todos los casos probados,superando a otros varios métodos, incluyendo a las redes neuronales en solitario.Los autores concluyen que ``se ha logrado un excepcional éxito predictivo tantocon un horizonte predictivo de un paso como de varios pasos (p. 208) -de hecho,afirman que sus resultados son mejores con diferencia que cualquier estrategiapredictiva 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 APURIMACLa utilización de los AGs en los mercados financieros ha empezado a extenderseen las empresas de corretaje bursátil del mundo real. Naik 1996[informa de queLBS Capital Management, una empresa estadounidense cons ede en Florida,utiliza algoritmos genéticos para escoger las acciones de los fondos de pensionesque administra. Coale 1997 y Begley y Beals 1995 informan de que FirstQuadrant, una empresa de inversiones de Californa que mueve más de 2.200millones de dólares, utiliza AGs para tomar decisiones de inversión en todos susservicios financieros. Su modelo evolucionado gana, de media, 225 dólares porcada 100 dólares invertidos durante seis años, en contraste con los 205 dólares deotros tipos de sistemas de modelos.JuegosUna de las demostraciones más novedosas y persuasivas de la potencia de losalgoritmos genéticos la presentaron Chellapilla y Fogel 2001, que utilizaron un AGpara evolucionar redes neuronales que pudieran jugar a las damas. Los autoresafirman que una de las mayores dificultades en este tipo de problemasrelacionados con estrategias es el problema de la asignación de crédito -en otraspalabras, ¿cómo escribir una función de aptitud? Se ha creído ampliamente quelos criterios simples de ganar, perder o empatar no proporcionan la suficienteinformación para que un algoritmo genético averigüe qué constituye el buen juego.En este artículo, Chellapila y Fogel echan por tierra esa suposición. Dados sólo lasposiciones espaciales de las piezas en el tablero y el número total de piezas queposee cada jugador, fueron capaces de evolucionar un programa de damas quejugaba a un nivel competitivo con expertos humanos, sin ninguna información deentrada inteligente acerca de lo que constituye el buen juego -es más, ni siquierase les dijo a los individuos del algoritmo evolutivo cuál era el criterio para ganar, nise les dijo el resultado de ningún juego. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 42
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEn la representación de Chellapilla y Fogel, el estado del juego estabarepresentado por una lista numérica de 32 elementos, en donde cada posición dela lista correspondía a una posición disponible en el tablero. El valor de cadaposición era 0 para una casilla desocupada, -1 si esa casilla estaba ocupada poruna pieza enemiga, +1 si la casilla estaba ocupada por una de las piezas delprograma, 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 porla evolución durante el curso del algoritmo). Acompañando a todo esto había unared neuronal con múltiples capas de procesamiento y una capa de entrada con unnodo para cada una de las 4x4, 5x5, 6x6, 7x7 y 8x8 posibles casillas del tablero.La salida de la red neuronal para una colocación de las piezas dada era un valorentre -1 y +1, que indicaba cómo de buena le parecía esa posición. Para cadamovimiento, se le presentaba a la red neuronal un árbol de juego que conteníatodos los movimientos posibles hasta cuatro turnos en el futuro, y el movimiento sedecidía basándose en qué rama del árbol producía los mejores resultados.El algoritmo evolutivo comenzó con una población de 15 redes neuronales conpesos y tendencias, generados aleatoriamente, asignados a cada nodo yconexión; luego, cada individuo se reprodujo una vez, generando unadescendencia con variaciones en los valores de la red. Luego estos 30 individuoscompitieron por la supervivencia jugando entre ellos; cada individuo compitió encada turno con 5 oponentes elegidos aleatoriamente. Se otorgó 1 punto a cadavictoria y se descontaban 2 puntos por cada derrota. Se seleccionaron los 15mejores jugadores en relación a su puntuación total, y el proceso se repitió. Laevolución continuó durante 840 generaciones más (aproximadamente seis mesesde tiempo de computación).Clase PuntuaciónGran Maestro +2.400 ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 43
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACMaestro 2.200-2.399Experto 2.000-2.199Clase A 1.800-1.999Clase B 1.600-1.799Clase C 1.400-1.599Clase J <200El mejor individuo que surgió de esta selección fue inscrito como competidor en lapágina web de juegos http://www.zone.com. Durante un periodo de dos meses,jugó contra 165 oponentes humanos que componían una gama de niveles altos,desde clase C a maestros, de acuerdo con el sistema de clasificaciones de laFederación de Ajedrez de Estados Unidos (mostrado a la izquierda, con algunosrangos 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 estaspartidas, la red neuronal evolucionada era equivalente a un jugador con unapuntuación media de 2.045,85, colocándola en el nivel experto -una clasificaciónsuperior a la del 99,61% de los 80.000 jugadores registrados en la página web.Una de las victorias más significativas de la red neuronal fue cuando venció a unjugador clasificado en la posición 98 de todos los jugadores registrados, cuyapuntuación estaba tan sólo 27 puntos por debajo del nivel de maestro.Las pruebas realizadas con un sencillo programa diferencial en las piezas (quebasa sus movimientos solamente en la diferencia entre el número de piezas quequedan en cada lado) con una capacidad de anticipación de 8 movimientosdemostró que la red neuronal era significativamente superior, con una puntuaciónde más de 400 puntos por encima. ``Un programa que se basa sólo en el númerode piezas y en una búsqueda de ocho capas vencerá a muchas personas, pero noes 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 APURIMACpodía buscar posiciones dos movimientos más lejos que la red neuronal, elprograma diferencial en las piezas perdió contundentemente 8 de 10 partidas.Esto demuestra concluyentemente que la red neuronal evolucionada no sólo estácontando piezas, sino que de alguna manera procesa las característicasespaciales del tablero para decidir sus movimientos. Los autores señalan que losoponentes de zone.com que los movimientos de la red neuronal eran ``extraños,pero su nivel global de juego fue descrito como ``muy duro o con términoselogiosos similares.Para probar más a la red neuronal evolucionada (a la que los autores nombraron``Anaconda porque a menudo ganaba restringiendo la movilidad de susoponentes), jugó contra un programa de damas comercial, el Hoyle ClassicGames, distribuído por Sierra Online (Chellapilla y Fogel 2000). Este programaviene con un surtido de personajes incorporados, cada uno con un nivel de juegodistinto. Anaconda se puso a prueba con tres personajes (``Beatrice, ``Natasha y``Leopold) designados como jugadores expertos, jugando una partida con lasrojas y otra partida con las blancas contra cada uno de ellos con una capacidad deanticipación de 6 movimientos. Aunque los autores dudaban de que estaprofundidad de anticipación pudiera darla a Anaconda la capacidad de juegoexperto que demostró anteriormente, consiguió seis victorias seguidas de las seispartidas jugadas. Basándose en este resultado, los autores expresaronescepticismo sobre si el software Hoyle jugaba al nivel que anunciaba, ¡aunquedebe señalarse que llegaron a esta conclusión basándose solamente en lafacilidad con la que Anaconda le venció!La prueba definitiva de Anaconda se detalla en Chellapilla y Fogel 2002, cuando lared neuronal evolucionada jugó contra el mejor jugador de damas del mundo:Chinook, un programa diseñado principalmente por el Dr. Jonathan Schaeffer, dela Universidad de Alberta. Con una puntuación de 2.814 en 1996 (mientras quesus competidores humanos más cercanos andan por los 2.600), Chinookincorpora un libro de movimientos de apertura proporcionado por grandes ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 45
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmaestros humanos, un conjunto sofisticado de algoritmos de juego para la partecentral de la partida, y una base de datos completa de todos los movimientosposibles cuando quedan en el tablero 10 piezas o menos, de manera que nuncacomete un error durante un final de partida. Se invirtió una cantidad enorme deinteligencia y experiencia humana en el diseño 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 anticipación, aproximándolo más omenos al nivel de maestro. Chinook ganó esta competición, cuatro victorias a dos,con cuatro empates. (Curiosamente, como señalan los autores, en dos de laspartidas que acabaron con empate, Anaconda lideraba con cuatro damas mientrasque Chinook tenía tres. Además, una de las victorias de Chinook vino tras unaserie de movimientos con búsqueda de 10 capas sacados de su base de datos definales de partida; unos movimientos que Anaconda, con una anticipación de 8capas, no pudo anticipar. Si Anaconda hubiera tenido acceso a una base de datosde finales de partida de la misma calidad de la de Chinook, el resultado del torneobien podría haber sido el de victoria para Anaconda, cuatro a tres). Estosresultados ``proporcionan un buen sustento a la puntuación de experto que seganó Anaconda en www.zone.com (p. 76), con una puntuación global de 2.030-2.055, comparable a la puntuación de 2.045 que ganó jugando contra humanos.Aunque Anaconda no es un jugador invulnerable, es capaz de jugarcompetitivamente en el nivel experto y comportarse ante una variedad dejugadores de damas humanos extremadamente hábiles. Cuando uno consideralos criterios de aptitud tan sencillos con los que se obtuvieron estos resultados, elsurgimiento de Anaconda proporciona una espectacular corroboración del poderde la evolución.GeofísicaSambridge y Gallaguer 1993 utilizaron un algoritmo genético para los hipocentrosde los terremotos basándose en datos sismológicos. (El hipocentro es el punto ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 46
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACbajo la superficie terrestre en el que se origina un terremoto. El epicentro es elpunto de la superficie directamente encima del hipocentro). Esto es una tareasumamente compleja, ya que las propiedades de las ondas sísmicas dependen delas propiedades de las capas de roca a través de las que viajan. El métodotradicional para localizar el hipocentro se basa en lo que se conoce comoalgoritmo de inversión sísmico, que empieza con la mejor estimación de laubicación, calcula las derivadas del tiempo de viaje de la onda con respecto alpunto de origen, y realiza una operación de matriz para proporcionar unaubicación actualizada. Este proceso se repite hasta que se alcanza una soluciónaceptable. (Este Mensaje del Mes, de noviembre de 2003, proporciona másinformación). Sin embargo, este método requiere información diferencial y espropenso a quedar atrapado en óptimos locales.Un algoritmo de localización que no dependa de información diferencial o modelosde velocidad puede evitar esta deficiencia calculando sólo el problema directo -ladiferencia entre los tiempos de llegada de la onda observados y predichos paradistintas localizaciones del hipocentro. Sin embargo, un método de búsquedaexhaustivo basado en este método sería demasiado costoso computacionalmente.Éste, por supuesto, es precisamente el tipo de problema de optimización en el quedestacan los algoritmos genéticos. Como todos los AGs, el propuesto por elartículo citado es paralelo en naturaleza -en lugar de mover un solo hipocentromás y más cerca hacia la solución, comienza con una nube de hipocentrospotenciales que encoge con el tiempo hasta converger en una sola solución. Losautores afirman que su método ``puede localizar rápidamente soluciones casióptimas sin una búsqueda exhaustiva del espacio de parámetros (p. 1.467),muestra ``un comportamiento muy organizado que produce una búsquedaeficiente y es ``un compromiso entre la eficiencia de los métodos basados enderivadas y la robustez de una búsqueda exhaustiva completamente no lineal (p.1.469). Los autores concluyen que su algoritmo genético es ``eficiente para una ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 47
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACverdadera optimización global (p. 1.488) y ``una herramienta nueva y poderosapara realizar búsquedas robustas de hipocentros (p. 1.489).Ingeniería de materialesGiro, Cyrillo y Galvão 2002 utilizaron algoritmos genéticos para diseñar polímerosconductores de electricidad basados en el carbono, conocicos como polianilinas.Estos polímeros, un tipo de material sintético inventado recientemente, tienen``grandes aplicaciones tecnológicas potenciales y podrían abrir la puerta a``nuevos fenómenos físicos fundamentales (p. 170). Sin embargo, debido a sualta reactividad, los átomos de carbono pueden formar un número virtualmenteinfinito de estructuras, haciendo que la búsqueda de nuevas moléculas conpropiedades interesantes sea del todo imposible. En este artículo, los autoresaplican un enfoque basado en AGs a la tarea de diseñar moléculas nuevas conpropiedades especificadas a priori, comenzando con una población de candidatosiniciales generada aleatoriamente. Concluyen que su metodología puede ser una``herramienta muy efectiva (p. 174) para guiar a los investigadores en labúsqueda de nuevos compuestos y es lo suficientemente general para que puedaextenderse al diseño de nuevos materiales que pertenezcan virtualmente acualquier tipo de molécula.Weismann, Hammel, y Bäck 1998 aplicaron algoritmos evolutivos a un problemaindustrial ``no trivial (p. 162): el diseño de revestimientos ópticos multicapa parafiltros que reflejan, transmiten o absorben luz de frecuencias especificadas. Estosrevestimientos se utilizan en la fabricación de gafas de sol, por ejemplo, o discoscompactos. Su fabricación es una tarea precisa: las capas deben colocarse en unasecuencia particular y con un grosor particular para producir el resultado deseado,y las variaciones incontrolables del entorno de fabricación, como la temperatura, lapolución o la humedad, pueden afectar al rendimiento del producto acabado.Muchos óptimos locales no son robustos ante estas variaciones, lo que significaque 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 APURIMACindeseadas. El problema particular considerado en este artículo también teníamúltiples criterios: además de la reflectancia, también se consideró la composiciónespectral (color) de la luz reflejada.El AE actuó variando el número de capas de revestimiento y el grosor de cada unade ellas, y produjo diseños que eran ``sustancialmente más robustos a la variaciónde parámetros (p. 166) y tenían un rendimiento medio mayor que los métodostradicionales. Los autores concluyen que ``los algoritmos evolutivos puedencompetir e incluso superar a los métodos tradicionales (p. 167) de diseño derevestimientos ópticos multicapa, sin tener que incorporar un conocimientoespecífico del dominio en la función de búsqueda y sin tener que alimentar a lapoblación con buenos diseños iniciales.Es digno de mención otro uso de los AGs en el campo de la ingeniería demateriales: Robin et al. 2003 utilizaron AGs para diseñar patrones de exposiciónpara un haz de electrones de litografía, utilizado para grabar estructuras a unaescala menor a la del micrómetro en circuitos integrados. Diseñar estos patroneses una tarea muy difícil; es pesado y costoso determinarlos experimentalmente,pero la alta dimensionalidad del espacio de búsqueda frustra a la mayoría de losalgoritmos de búsqueda. Deben optimizarse simultáneamente hasta 100parámetros para controlar el haz de electrones y evitar la dispersión y efectos deproximidad que arruinarían las estructuras finas que se estén esculpiendo. Elproblema directo -determinar la estructura resultante como función de la cantidadde electrones- es sencillo y fácil de simular, pero el problema inverso dedeterminar la cantidad de electrones para producir una estructura dada, que es loque se pretende resolver aquí, es mucho más difícil y no existe una solucióndeterminista.Se aplicaron algoritmos genéticos a este problema, ya que ``se sabe que soncapaces de encontrar soluciones buenas a problemas muy complejos de altadimensionalidad (p. 75) sin necesidad de proporcionarles información específica ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 49
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACdel dominio acerca de la topología del paisaje de búsqueda. Los autores delartículo emplearon un AG de estado estacionario con selección por rueda de ruletaen una simulación por computador, que produjo unos patrones de exposición``muy bien optimizados (p. 77). En contraste, se utilizó un tipo de trepacolinasconocido como algoritmo bajacolinas-simplex (simplex-downhill) en el mismoproblema, sin éxito; el método BS quedaba rápidamente atrapado en óptimoslocales de los que no podía escapar, produciendo soluciones de poca calidad. Unhíbrido entre los métodos del AG y el BS tampoco pudo mejorar los resultadosofrecidos por el AG en solitario.Matemáticas y algoritmiaAunque algunas de las aplicaciones más prometedoras y las demostraciones másconvincentes de la potencia de los AGs se encuentran en el campo de laingeniería de diseño, también son relevantes en problemas ``puramentematemáticos. Haupt y Haupt 1998 describen el uso de AGs para resolverecuaciones de derivadas parciales no lineales de alto orden, normalmenteencontrando los valores para los que las ecuaciones se hacen cero, y dan comoejemplo una solución casi perfecta para los coeficientes de la ecuación de quintoorden conocida como Super Korteweg-de Vries.Ordenar una lista de elementos es una tarea importante en la informática, y unared de ordenación es una manera eficiente de conseguirlo. Una red de ordenaciónes una lista fija de comparaciones realizadas en un conjunto de un tamaño dado;en cada comparación se comparan dos elementos y se intercambian si no estánen orden 1999 utilizaron programación genética para evolucionar redes deordenación mínimas para conjuntos de 7 elementos (16 comparaciones),conjuntos de 8 elementos (19 comparaciones) y conjuntos de 9 elementos (25comparaciones). Mitchell 1996, describe el uso de algoritmos genéticos por W.Daniel Hillis para encontrar una red de ordenación de 61 comparaciones para unconjunto de 16 elementos, sólo un paso más allá de la más pequeña conocida. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 50
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEste último ejemplo es especialmente interesante por las dos innovaciones queutiliza: cromosomas diploides y, más notablemente, coevolución dehuésped/parásito. Tanto las redes de búsqueda como los casos de pruebaevolucionaron conjuntamente; se les otorgó mayor aptitud a las redes deordenación que ordenaran correctamente un mayor número de casos de prueba,mientras que se les otorgó mayor aptitud a los casos de prueba que pudieran``engañar a un mayor número de redes de búsqueda para que ordenaranincorrectamente. El AG con coevolución rindió significativamente mejor que elmismo AG sin ella.Un ejemplo final de AG digno de mención en el campo de la algoritmia puedeencontrarse en 1999 que utilizó programación genética para descubrir una reglapara el problema de clasificación por mayoría en autómatas celulares de unadimensión, una regla mejor que todas las reglas conocidas escritas por humanos.Un autómata celular de una dimensión puede imaginarse como una cinta finita conun número dado de posiciones (celdas) en ella, cada una de las cuales puedecontener el estado 0 o el estado 1. El autómata se ejecuta durante un númerodado de pasos temporales; en cada paso, cada celda adquiere un nuevo valorbasado en su valor anterior y el valor de sus vecinos más cercanos. (El Juego dela Vida es un autómata celular bidimensional). El problema de la clasificación pormayoría implica encontrar una tabla de reglas tal que si más de la mitad de lasceldas de la cinta son 1 inicialmente, todas las celdas se ponen a 1; de locontrario, todas las celdas se ponen a 0. El reto consiste en el hecho de quecualquier celda individual sólo tiene acceso a información acerca de sus vecinosmás cercanos; por lo tanto, los conjuntos de reglas buenos deben encontrar dealgún modo una manera de transmitir información sobre regiones distantes de lacinta.Se sabe que no existe una solución perfecta a este problema -ningún conjunto dereglas puede clasificar con precisión todas las configuraciones iniciales posibles-,pero durante los últimos veinte años ha habido una larga sucesión de soluciones ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 51
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcada vez mejores. En 1978, tres investigadores desarrollaron la famosa reglaGKL, que clasifica correctamente un 81,6% de los posibles estados iniciales. En1993, se descubrió una regla mejor con una precisión de un 81,8%; en 1995 seencontró otra regla con una precisión de un 82,178%. Todas estas reglasrequirieron para su desarrollo de un esfuerzo significativo por parte de humanosinteligentes y creativos. En contraste, la mejor regla descubierta medianteprogramación genética, tiene una precisión total de 82,326% -mejor quecualquiera de las soluciones humanas desarrolladas durante las dos últimasdécadas. Los autores señalan que sus nuevas reglas son cualitativamentedistintas a las reglas publicadas con anterioridad, al emplear representacionesinternas muy detalladas de la densidad de estados y conjuntos intrincados deseñales para comunicar información a largas distancias.Ejército y cumplimiento de la leyKewley y Embrechts 2002 utilizaron algoritmos genéticos para evolucionar planestácticos para las batallas militares. Los autores señalan que ``planear una batallamilitar táctica es una tarea compleja multidimensoinal que a menudo atormenta alos profesionales experimentados (p. 163), no sólo porque este tipo de decisionesa menudo se toman bajo condiciones de mucho estrés, sino también porque hastalos planes más sencillos requieren tomar en cuenta un gran número de variables yconsecuencias: minimizar las bajas amigas, maximizar las bajas enemigas,controlar el terreno deseado, conservar recursos, etcétera. Los planificadoreshumanos tienen dificultades al tratar con las complejidades de esta tarea y amenudo deben recurrir a métodos ``rápidos y sucios, como hacer lo quefuncionase la última vez.Para superar estas dificultades, los autores del artículo citado desarrollaron unalgoritmo genético para automatizar la creación de planes de batalla, enconjunción con un programa gráfico de simulación de batallas. El comandanteintroduce el resultado deseado y el AG evoluciona automáticamente un plan de ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 52
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACbatalla; en la simulación utilizada, se tomaron en cuenta factores como latopografía del terreno, la cobertura vegetal, la velocidad del movimiento de tropas,y la precisión en los disparos. En este experimento también se utilizó lacoevolución para mejorar la calidad de las soliciones: los planes de batalla de lasfuerzas enemigas evolucionaron simultáneamente con los planes amigos,forzando al AG a corregir cualquier debilidad de su plan que pudiese explotar elenemigo. Para medir la calidad de las soluciones producidas por el AG, secompararon con planes de batalla para el mismo escenario producidos por ungrupo de ``expertos militares experimentados... considerados muy capaces dedesarrollar planes de acción para el tamaño de las fuerzas utilizadas en esteexperimento (p. 166). Estos avezados expertos desarrollaron su propio plan y,cuando la solución del AG estuvo acabada, se les dio la oportunidad deexaminarla y modificarla como vieran conveniente. Finalmente, todos los planes seejecutaron varias veces en el simulador para determinar su calidad media.Los resultados hablan por sí mismos: la solución evolucionada superó tanto alpropio plan de los expertos militares como al plan producido por susmodificaciones sobre la solución del AG. ``...Los planes producidos por losalgoritmos automáticos tenían un rendimiento medio significativamente mayor alde los generados por los experimentados expertos militares (p. 161). Es más, losautores señalan que el plan del AG tenía sentido táctico. (Consistía en un ataque ados flancos a la posición enemiga por pelotones de infantería mecanizadaapoyados por helicópteros de ataque y exploradores terrestres, en conjunción convehículos aéreos no tripulados realizando labores de reconocimiento para el fuegodirecto de artillería). Por añadidura, el plan evolucionado incluía unidades amigasindividuales llevando a cabo misiones doctrinales -una propiedad emergente queapareció durante el curso de la ejecución, en lugar de ser especificada por elexperimentador. En campos de batalla modernos, cada vez más conectados porred, el atractivo potencial de un algoritmo evolutivo que pueda automatizar laproducción de planes tácticos de alta calidad debería ser obvio. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 53
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACNaik 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 aidentificar y describir a los sospechosos criminales. La imagen cliché del artistapolicía haciendo un dibujo del rostro del sospechoso en base a la descripción delos testigos es un método difícil e ineficiente: la mayoría de la gente no es buenadescribiendo aspectos individuales del rostro de una persona, como el tamaño dela nariz o la forma de la mandíbula, pero sin embargo son mejores al reconocercaras completas. FacePrints aprovecha esto utilizando un algoritmo genético queevoluciona dibujos de caras basándose en bases de datos de cientos decaracterísticas individuales que pueden combinarse de infinitas maneras. Elprograma muestra a los testigos imágenes de rostros generadas aleatoriamente, yéstos escogen las que más se parecen a la persona que vieron; las carasseleccionadas mutan y se combinan para generar nuevas combinaciones decaracterísticas, y el proceso se repite hasta que emerge un retrato preciso delrostro del sospechoso. En un caso real de atraco, los retratos definitivos quecrearon los tres testigos eran sorprendentemente parecidos, y el dibujo resultanteapareció en el periódico local.Biología molecularEn los seres vivos, las proteínas transmembrana son proteínas que sobresalen deuna membrana celular. Las proteínas transmembrana realizan a menudofunciones importantes como detectar la presencia de ciertas sustancias en elexterior de la célula o transportarlas hacia el interior de la célula. Para comprenderel comportamiento de una proteína transmembrana es necesario identificar elsegmento de la proteína que realmente está insertado en la membrana, lo que seconoce como dominio transmembrana. Durante las dos últimas décadas, losbiólogos moleculares han publicado una serie de algoritmos cada vez másprecisos para este propósito. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 54
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACTodas las proteínas utilizadas por los seres vivos están formadas por los mismos20 aminoácidos. Algunos de estos aminoácidos son hidrofóbicos, lo que significaque repelen el agua, y algunos son hidrofílicos, lo que significa que atraen el agua.Las secuencias de aminoácidos que son parte de un dominio transmembranatienen probabilidad de ser hidrofóbicas. Sin embargo, la hidrofobicidad no es unacaracterística definida con precisión, y no existe acuerdo sobre una escala paramedirla.Koza et al. 1999 utilizaron programación genética para diseñar un algoritmo queidentificase el dominio transmembrana de una proteína. Se le suministró alprograma genético un conjunto de operadores matemáticos estándares con losque trabajar, además de un conjunto de funciones booleanas para la detección deaminoácidos que devuelven +1 si el aminoácido de una posición dada es elaminoácido que detectan o -1 en caso contrario. (Por ejemplo, la función A? recibecomo argumento un número que corresponde a una posición dentro de laproteína, y devuelve +1 si el aminoácido de esa posición es alanina, denotado porla letra A, y si no devuelve -1). Una variable de memoria compartida contenía unacuenta de la suma total, y cuando el algoritmo acababa, el segmento proteínico seidentificaba como dominio transmembrana si su valor era positivo. Con tan sóloestas herramientas, ¿haría falta más información para que un diseñador humanoprodujese una solución eficiente a este problema?Las aptitudes de las soluciones producidas por la programación genética fueronevaluadas probándolas con 246 segmentos proteínicos de los que se conocía sucondición de transmembrana. Luego se evaluó al mejor individuo de la prueba con250 casos adicionales inéditos (out-of-sample), y se comparó su efectividad con lade los cuatro mejores algoritmos humanos para el mismo propósito. El resultado:la programación genética produjo un algoritmo de identificación de segmentostransmembrana con una tasa total de error del 1,6%-significativamente menor quelas de los cuatro algoritmos humanos, el mejor de los cuales tenía una tasa de ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 55
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACerror del 2,5%. El algoritmo diseñado genéticamente, al que los autores llamaronregla 0-2-4, funciona de la manera siguiente: Incrementar la suma en 4 unidades por cada instancia de ácido glutámico (un aminoácido cargado eléctricamente y muy hidrofílico) del segmento proteínico. Incrementar la suma en 0 unidades por cada instancia de alanina, fenilanalina, isoleucina, leucina, meionina o valina (todos aminoácidos muy hidrofóbicos) del segmento proteínico. Incrementar la suma en 2 unidades por cada instancia de cualquier otro aminoácido. Si [(SUMA - 3,1544)/0,9357] es menor que la longitud del segmento proteínico, clasificar ese segmento como dominio transmembrana; de lo contrario, clasificarlo como dominio no transmembrana.Reconocimiento de patrones y explotación de datosLa competición en la industria actual de las telecomunicaciones es feroz, y se haacuñado un nuevo término -``fuga1- para describir la velocidad a la que losusuarios se cambian de un proveedor de servicios a otro. La fuga le cuesta a lascompañías de telecomunicaciones una gran cantidad de dinero cada año, yreducir las fugas es un factor importante para aumentar la rentabilidad. Si lascompañías pueden contactar con los clientes que tienen probabilidad de cambiar yofrecerles incentivos especiales para que se queden, puede reducirse la tasa defugas; pero ninguna compañía tiene los recursos para contactar a más de unpequeño porcentaje de sus clientes. El problema es, por tanto, cómo identificar alos clientes que más piensen fugarse con mayor probabilidad. Todas lascompañías tienen grandes bases de datos con información de los clientes queteóricamente puede utilizarse para este propósito; pero ¿qué método funcionamejor para examinar esta enorme cantidad de datos e identificar los sutilespatrones y tendencias que indican la probabilidad de fuga de un cliente? ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 56
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACAu, Chan y Yao 2003[7] aplicaron algoritmos genéticos a este problema paragenerar un conjunto de reglas de tipo si-entonces para predecir la probabilidad defuga de distintos grupos de clientes. En su AG, la primera generación de reglas,todas las cuales tenían una condición, fue generada utilizando una técnica deinducción probabilística. Las generaciones posteriores las refinaron, combinandosencillas reglas de una condición con reglas más complejas con variascondiciones. Para la medición de la aptitud se utilizó una medida de correlaciónobjetiva de la ``interesantitud, que no necesitaba información de entradasubjetiva. El algoritmo evolutivo de explotación de datos se probó sobre una basede datos real de 100.000 clientes proporcionada por una compañía malasia, y surendimiento se comparó con el de dos métodos alternativos: una red neuronalmulticapa y un algoritmo basado en árbol de decisiones ampliamente utilizado, elC4.5. Los autores afirman que su AE fue capaz de descubrir regularidades ocultasen la base de datos y ``fue capaz de hacer predicciones precisas de fuga condistintas 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 igualándola entasas de fuga mayores y, en ambos casos, alcanzando las conclusiones másrápidamente. Algunas ventajas más del enfoque evolutivo son que puedefuncionar eficientemente incluso cuando faltan algunos campos de datos, y quepuede expresar sus descubrimientos en conjuntos de reglas fácilmentecomprensibles, al contrario que la red neuronal.Entre algunas de las reglas más interesantes halladas por el AE se encuentran lassiguientes: los clientes tienen más probabilidad de fugarse si se han suscritopersonalmente al plan de servicios y no han sido admitidos en ningún plan debonificación (una solución potencial sería admitir a todos esos clientes en planesde bonificación); los clientes tienen más probabilidad de fugarse si viven en KualaLumpur, tienen entre 36 y 44 años y pagan sus facturas en efectivo(supuestamente porque es más fácil cambiarse de proveedor para los clientes quepagan al contado, a diferencia de los que cargan en cuenta automáticamente); y ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 57
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAClos clientes que viven en Penang y contrataron a través de un cierto vendedortienen más probabilidades de fugarse (este vendedor puede estar proporcionandoun mal servicio al cliente y debería ser investigado).Rizki, Zmuda y Tamburino 2002 utilizaron algoritmos evolutivos para evolucionarun complejo sistema de reconocimiento de patrones con una amplia variedad deusos potenciales. Los autores señalan que el reconocimiento de patrones es unatarea cada vez más realizada por algoritmos de aprendizaje automático, enparticular, algoritmos evolutivos. La mayoría de ellos comienzan con un acervo decaracterísticas predefinidas, del que un AE puede seleccionar combinacionesapropiadas para la tarea en cuestión; en contraste, este método empezaba desdecero, primero evolucionando detectores individuales de característica en forma deárboles de expresiones, y luego evolucionando combinaciones cooperativas deesos detectores para producir un sistema completo de reconocimiento depatrones. El proceso evolutivo selecciona automáticamente el número dedetectores de característica, la complejidad de los detectores y los aspectosespecíficos de los datos a los que responde cada detector.Para probar su sistema, los autores le asignaron la tarea de clasificar avionesbasándose en sus reflexiones rádar. Un mismo tipo de avión puede devolverseñales bastante distintas dependiendo del ángulo y elevación desde el que se leobserva, y distintos tipos de avión pueden devolver señales muy parecidas, asíque esto no es una tarea trivial. El sistema de reconocimiento de patronesevolucionado clasificó correctamente un 97,2% de los objetivos, un porcentajeneto mayor que el de las otras tres técnicas -una red neuronal perceptrón, unalgoritmo clasificador KNN y un algoritmo de base radial- con las que fuecomparado. (La precisión de la red de base radial era sólo un 0,5% menor que ladel clasificador evolucionado, una diferencia que no es estadísticamentesignificativa, pero la red de base radial necesitó 256 detectores de característicamientras que el sistema reconocedor evolucionado sólo utilizó 17). Como afirmanlos autores, ``los sistemas de reconocimiento que evolucionan utilizan menos ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 58
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcaracterísticas que los sistemas producidos utilizando técnicas convencionales,pero consiguen una precisión de reconocimiento comparable o superior (p. 607).También se han aplicado varios aspectos de su sistema en problemas queincluyen el reconocimiento óptico de caracteres, la revisión industrial y el análisismédico de imágenes.Hughes y Leyland 2000 también aplicaron AGs multiobjetivo a la tarea de clasificarobjetivos basándose en sus reflexiones rádar. Los datos de una seccióntransversal rádar de alta resolución necesitan enormes cantidades de espacio dealmacenamiento en disco, y producir un modelo realista de la fuente a partir de losdatos es muy costoso computacionalmente. En contraste, el método basado en elAG de los autores demostró ser muy exitoso, produciendo un modelo tan buenocomo el del método iterativo tradicional, pero reduciendo el gasto computacional ylas necesidades de almacenamiento hasta el punto de que era factible generarbuenos modelos en un ordenador de escritorio. En contraste, el método iterativotradicional requiere diez veces más resolución y 560.000 veces más accesos a losdatos de imagen para producir modelos de calidad similar. Los autores concluyenque sus resultados ``demuestran claramente (p. 160) la capacidad del AG deprocesar datos de rádar bidimensionales y tridimensionales de cualquier nivel deresolución con muchos menos cálculos que los métodos tradicionales,manteniendo una precisión aceptablemente alta.RobóticaEl torneo internacional RoboCup es un proyecto para promocionar el avance de larobótica, la inteligencia artificial y los campos relacionados, proporcionando unproblema estándar con el que probar las nuevas tecnologías -concretamente, esun campeonato anual de fútbol entre equipos de robots autónomos. (El objetivofijado es desarrollar un equipo de robots humanoides que puedan vencer al equipohumano de fútbol que sea campeón del mundo en 2050; actualmente, la mayoríade los equipos de robots participantes funcionan con ruedas). Los programas que ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 59
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcontrolan a los miembros del equipo robótico deben exhibir un comportamientocomplejo, decidiendo cuándo bloquear, cuándo tirar, cómo moverse, cuándo pasarla pelota a un compañero, cómo coordinar la defensa y el ataque, etcétera. En laliga simulada de 1997, David Andre y Astro Teller inscribieron a un equipo llamadoDarwin United cuyos programas de control habían sido desarrolladosautomáticamente desde cero mediante programación genética, un desafío a lacreencia convencional de que ``este problema es simplemente demasiado difícilpara una técnica como ésa (Andre y Teller 1999, p. 346).Para resolver este difícil problema, Andre y Teller le proporcionaron al programagenético un conjunto de funciones de control primitivas como girar, moverse, tirar,etcétera. (Estas funciones estaban también sujetas al cambio y refinamientodurante el curso de la evolución). Su función de aptitud, escrita para querecompensara el buen juego en general en lugar de marcar goles expresamente,proporcionaba una lista de objetivos cada vez más importantes: acercarse a lapelota, golpear la pelota, conservar la pelota en el campo contrario, moverse en ladirección correcta, marcar goles y ganar el partido. Debe señalarse que no sesuministró ningún código para enseñar específicamente al equipo cómo conseguirestos objetivos complejos. Luego los programas evolucionados se evaluaronutilizando un modelo de selección jerárquico: en primer lugar, los equiposcandidatos se probaron en un campo vacío y, si no marcaban un gol en menos de30 segundos, se rechazaban. Luego se evaluaron haciéndoles jugar contra unequipo estacionario de ``postes pateadores que golpeaban la pelota hacia elcampo contrario. En tercer lugar, el equipo jugaba un partido contra el equipoganador de la competición RoboCup de 1997. Finalmente, los equipos quemarcaron al menos un gol contra este equipo jugaron unos contra otros paradeterminar cuál era el mejor.De los 34 equipos de su división, Darwin United acabó en decimoséptima posición,situándose justo en el medio de la clasificación y superando a la mitad de losparticipantes escritos por humanos. Aunque una victoria en el torneo sin duda ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 60
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMAChabría sido más impresionante, este resultado es competitivo y significante depleno derecho, y lo parece aún más a la luz de la historia. Hace unos 25 años, losprogramas informáticos que jugaban al ajedrez estaban en su infancia; por primeravez, una computadora había sido inscrita recientemente en una competiciónregional, aunque no ganó (Sagan 1979, p. 286). Pero ``una máquina que juega alajedrez a un nivel medio de la capacidad humana es una máquina muy capaz(ibid.), y podría decirse que lo mismo es cierto para el fútbol robotizado. Si lasmáquinas de ajedrez actuales compiten al nivel de los grandes maestros, ¿quétipo de sistemas producirá la programación genética dentro de 20 o 30 años?Diseño de rutas y horariosBurke y Newall 1999 utilizaron algoritmos genéticos para diseñar los horarios delos exámenes universitarios. Se sabe que, en general, el problema del horario esNP-completo, lo que significa que no se conoce un método para hallar congarantías una solución óptima en un tiempo razonable. En un problema así, hayrestricciones duras -no puede asignarse el mismo aula a dos exámenes a la vez- yrestricciones suaves -si es posible, no deben asignarse varios exámenes ensucesión a un mismo estudiante, para minimizar la fatiga. Las restricciones durasdeben satisfacerse, mientras que las restricciones suaves deben satisfacerse lomáximo posible. Los autores llaman ``algoritmo memético a su método híbridopara resolver este problema: un algoritmo evolutivo con selección por rangoproporcional a la aptitud, combinado con un trepacolinas local para optimizar lassoluciones halladas por el AE. El AE se utilizó en cuatro conjuntos de datos deuniversidades reales (la menor de las cuales tenía 25.000 alumnos), y susresultados se compararon con los resultados producidos por un método heurísticode vuelta atrás, un algoritmo muy consolidado que se encuentra entre los mejoresque se conocen para este problema y que se utiliza en varias universidades.Comparado con este método, el AE produjo un resultado con una reducción de lapenalización bastante uniforme del 40%. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 61
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACHe y Mort 2000 aplicaron algoritmos genéticos al problema de hallar rutas óptimasen las redes de telecomunicaciones (como las redes de telefonía e Internet), quese usan para transmitir datos desde los remitentes hasta los destinatarios. Esto esun problema NP-difícil, un tipo de problema para el que los AGs son``extremadamente aptos... y han encontrado una enorme variedad de aplicacionesexitosas en esos campos (p. 42). Es además un problema multiobjetivo, en el quehay que equilibrar objetivos en conflicto como maximizar el caudal de datos,minimizar los retrasos en la transmisión y la pérdida de datos, encontrar caminosde bajo coste y distribuír la carga uniformemente entre los encaminadores oconmutadores de la red. Cualquier algoritmo real satisfactorio debe también sercapaz de redirigir el tráfico de las rutas principales que fallen o esténcongestionadas.En el AG híbrido de los autores se utilizó un algoritmo de tipo ``primero el caminomás corto, que minimiza el número de ``saltos que debe realizar un paquete dedatos dado, para generar la semilla de la población inicial. Sin embargo, estasolución no tiene en cuenta la congestión o fallo de los enlaces, condicionesinevitables en redes reales, y es entonces cuando el AG toma el control,intercambiando secciones de rutas. Cuando se probó sobre un conjunto de datosderivado de una base de datos en red real de Oracle, se descubrió que el AG eracapaz de redirigir enlaces rotos o congestionados, equilibrar la carga de tráfico ymaximizar el caudal total de la red. Los autores afirman que estos resultadosdemuestran la ``efectividad y escalabilidad del AG y que ``se pueden conseguirsoluciones óptimas o casi óptimas (p. 49).Esta técnica ha encontrado aplicaciones reales para propósitos similares, comoinforman Begley y Beals 1995. La compañía 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 diseñar la red para minimizar la longitudtotal de cable desplegado era resuelto por un ingeniero experimentado; ahora lacompañía utiliza un algoritmo genético para realizar la tarea automáticamente. Los ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 62
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACresultados: ``El tiempo de diseño para las redes nuevas ha caído de dos meses ados días, y le supone un ahorro a U.S. West de 1 millón a 10 millones de dólarescada una (p. 70).Jensen 2003 y Chryssolouris y Subramaniam 2001 aplicaron algoritmos genéticosa la tarea de generar programas para líneas de montaje (job shop scheduling).Éste es un problema de optimización NP-difícil con múltiples criterios: debentomarse en cuenta factores como el coste, los retrasos y el rendimiento, y puedeque se tenga que cambiar al vuelo el programa de la línea de montaje debido aaverías en la maquinaria, ausencia de empleados, retrasos en la entrega depiezas, y otras complicaciones, lo que hace que la robustez del programa sea unaconsideración importante. Ambos artículos concluyen que los AGs sonsignificativamente superiores a las reglas de despacho de prioridad utilizadascomúnmente, al producir programas eficientes que pueden tratar con más facilidadlos retrasos y las averías. Estos resultados no son simplemente teóricos, sino quese han aplicado a situaciones reales:Como informa Naik 1996, los organizadores de los Juegos Paraolímpicos de 1992utilizaron un AG para diseñar los horarios de los eventos. Como informa Petzinger1995, John Deere & Co. ha utilizado AGs para generar los programas de montajepara una planta de Moline, Illinois, que fabrica plantadoras y otras maquinariasagrícolas pesadas. Al igual que los coches de lujo, éstas pueden construírse enuna gran variedad de configuraciones con muchas partes y opciones distintas, y laenorme cantidad de maneras posibles de construirlas implica que el diseñoeficiente de programas de montaje sea un problema aparentemente intratable. Laproductividad se veía mermada por cuellos de botella en el montaje, los equiposde trabajadores discutían, y se estaba perdiendo dinero. Finalmente, en 1993,Deer acudió a Bill Fulkerson, un analista e ingeniero de personal que concibió lautilización de un algoritmo genético para producir programas de montaje para laplanta. Tras superar el escepticismo inicial, el AG demostró su valía rápidamente:la producción mensual aumentó un 50 por ciento, el tiempo extra casi desapareció ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 63
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACy otras plantas de Deere están incorporando los AGs en sus propios diseños deprogramas de montaje.Como informa Rao 1998, Volvo ha utilizado un programa evolutivo llamadoOptiFlex para diseñar el programa de montaje de su fábrica de Dublín, Virginia, deun millón de metros cuadrados, una tarea que requiere controlar cientos derestricciones y millones de permutaciones posibles para cada vehículo. Comotodos los algoritmos genéticos, OptiFlex funciona combinando aleatoriamentedistintos programas de montaje posibles, determinando su aptitud clasificándolosen base a sus costos, beneficios y restricciones, y luego haciendo que las mejoressoluciones intercambien genes entre ellas y vuelvan a la población para otraprueba. Hasta hace poco, esta desalentadora tarea era responsabilidad de uningeniero humano, al que le llevaba hasta cuatro días producir el programa paracada semana; ahora, gracias a los AGs, esta tarea se puede completar en un díacon una mínima intervención humana.Como informa Lemley 2001, United Distillers and Vintners, una empresa escocesaque es el mayor y más rentable distribuidor de licores del mundo y es responsablede más de un tercio de la producción mundial de whisky de grano, utiliza unalgoritmo genético para administrar su inventario y sus suministros. Esto es unatarea desalentadora que exige almacenar y distribuír eficientemente más de 7millones de barriles, que contienen 60 recetas distintas, entre un enorme sistemade almacenes y destilerías, dependiendo de una multitud de factores como laedad, el número de malta, el tipo de madera y las condiciones del mercado.Anteriormente, coordinar este complejo flujo de suministro y demanda requería decinco empleados a tiempo completo. Hoy, unas cuantas pulsaciones de teclado enun ordenador solicitan a un algoritmo genético que genere un programa cadasemana, y la eficiencia de almacenamiento casi se ha duplicado.Beasley, Sonander y Havelock 2001 utilizaron un AG para programar losaterrizajes del London Heathrow, el aeropuerto más transitado del Reino Unido. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 64
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEsto es un problema multiobjetivo que implica, entre otras cosas, minimizar losretrasos y maximizar el número de vuelos mientras se mantiene la suficientedistancia de separación entre los aviones (los vórtices de aire que se forman en laestela de un avión pueden ser peligrosos para otro avión que vuele demasiadocerca). 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 doso tres vuelos extra despegando y aterrizando por cada hora -una mejorasignificativa. Sin embargo, se han logrado mejoras mayores: como se informa enWired 2002[1], aeropuertos internacionales y líneas aéreas importantes comoHeatrhow, Toronto, Sydney, Las Vegas, San Francisco, America West Airlines,AeroMexico y Delta Airlines están utilizando algoritmos genéticos para programarlos despegues, aterrizajes, mantenimiento y otras tareas, mediante el software delAscent Technologys SmartAirport Operations Center (Cruzando y mutando lassoluciones en forma de horarios que incorporan miles de variables, ``Ascent vencecon comodidad a los humanos, aumentando la productividad hasta en un 30 porciento en todos los aeropuertos en los que se ha implementado.Ingeniería de sistemasBenini y Toffolo 2002 aplicaron un algoritmo genético a la tarea multiobjetivo dediseñar molinos eólicos para generar energía eléctrica. Este diseño ``es unprocedimiento complejo caracterizado por varias decisiones sobre contrapartidas...El proceso de toma de decisiones es muy difícil y no hay tendencias de diseñobien establecidas (p. 357); como resultado, hoy existen varios tipos de turbinadistintos y no hay acuerdo sobre cuál es la óptima, si alguna lo es. Deben tomarseen cuenta objetivos mutuamente exclusivos como la producción máxima deenergía anual y el coste mínimo de la energía. En este artículo se utilizó unalgoritmo evolutivo multiobjetivo para encontrar el mejor conjunto decontrapartidas entre estos objetivos, construyendo palas de molino con unaconfiguración óptima de características como la velocidad de la punta de la pala, larazón buje/punta, y la distribución de cuerda y giro. Al final, al AG consiguió ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 65
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACencontrar soluciones competitivas con los diseños comerciales, además dedilucidar más claramente los márgenes entre los que se puede aumentar laproducción anual de energía sin producir diseños demasiado caros.Haas, Burnham y Mills 1997 utilizaron un algoritmo genético multiobjetivo paraoptimizar la forma, orientación e intensidad del haz de los emisores de rayos Xutilizados en la radioterapia dirigida, para destruír los tumores cancerosos altiempo que se evita el tejido sano. (Los fotones de rayos X dirigidos hacia untumor tienden a dispersarse por las estructuras interiores del cuerpo, dañandoinintencionadamente los órganos internos. El reto consiste en minimizar esteefecto mientras se maximiza la dosis de radiación dirigida hacia el tumor).Utilizando un modelo de aptitud basada en rango, los investigadores comenzaroncon la solución producida por el método convencional, un método de mínimoscuadrados iterativo, y luego utilizaron el AG para modificarlo y mejorarlo.Construyendo un modelo del cuerpo humano y exponiéndolo al rayo evolucionadopor el AG, encontraron un buen acuerdo entre las distribuciones de radiaciónpredichas y reales. Los autores concluyen que sus resultados ``muestran unaprotección [de los órganos sanos] que no podía lograrse utilizando las técnicasconvencionales (p. 1745).Lee y Zak 2002 utilizaron un algoritmo genético para evolucionar un conjunto dereglas para controlar un sistema de frenos antibloqueo automovilístico. Aunque lacapacidad que tienen los sistemas de freno antibloqueo de reducir la distancia defrenada y mejorar la maniobrabilidad ha salvado muchas vidas, el rendimiento delABS depende de las condiciones de la superficie de la carretera: por ejemplo, uncontrolador ABS que esté optimizado para el asfalto seco no funcionará igual debien en carreteras mojadas o heladas, y viceversa. En este artículo, los autoresproponen un AG para ajustar un controlador ABS que pueda identificar laspropiedades de la superficie de la carretera (monitorizando el patinaje yaceleración de las ruedas) y pueda actuar en consecuencia, liberando la cantidadadecuada de fuerza de frenado para maximizar la tracción de las ruedas. En las ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 66
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACpruebas, el ABS puesto a punto genéticamente ``exhibe características de rodadaexcelentes (p. 206) y fue ``muy superior (p. 209) a los otros dos métodos demaniobras de frenado, encontrando con rapidez nuevos valores óptimos para elpatinaje de las ruedas cuando cambia el tipo de terreno bajo un coche enmovimiento, y reduciendo la distancia total de frenada. ``La lección que hemosaprendido de nuestro experimento... es que un AG puede ayudar a ajustar inclusoun controlador bien diseñado. En nuestro caso, ya teníamos una buena solucióndel problema; sin embargo, con la ayuda de un AG, conseguimos mejorarsignificativamente la estrategia de control. En resumen, parece que merece lapena intentar aplicar un AG incluso en un controlador bien diseñado, porque haymuchas probabilidades de que se pueda hallar una configuración del controladormejor utilizando AGs .Como cita Schechter 2000, el Dr. Peter Senecal, de la Universidad de Wisconsin,utilizó algoritmos genéticos de población pequeña para mejorar la eficiencia de losmotores diésel. Estos motores funcionan inyectando combustible en una cámarade combustión que está llena de aire extremadamente comprimido, y por tantoextremadamente caliente, lo bastante caliente para hacer que el combustibleexplote y empuje un pistón que produce la fuerza motriz del vehículo. Este diseñobásico ha cambiado poco desde que Rudolf Diesel lo inventó en 1893; aunque seha empleado mucho esfuerzo en realizar mejoras, es una tarea muy difícil derealizar analíticamente, porque requiere un conocimiento preciso delcomportamiento turbulento que exhibe la mezcla de combustible y aire, y de lavariación simultánea de muchos parámetros independientes. Sin embargo, elmétodo de Senecal prescindía de ese conocimiento específico del problema y, encambio, funcionaba evolucionando parámetros como la presión de la cámara decombustión, los tiempos de inyección de combustible y la cantidad de combustiblede cada inyección. El resultado: la simulación produjo un motor mejorado queconsumía un 15% menos de combustible que un motor diesel normal y producíados tercios menos de óxido nítrico de escape y la mitad de hollín. Luego el equipo ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 67
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACde Senecal construyó un motor diésel real de acuerdo con las especificaciones dela solución evolucionada, y obtuvieron los mismos resultados. Ahora Senecalsigue su trabajo evolucionando la geometría del propio motor, lo que con suerteproducirá todavía más mejoras.Como citan Begley y Beals 1995, Texas Instruments utilizó un algoritmo genéticopara optimizar la disposición de los componentes de un chip informático,colocando las estructuras de manera que se minimice el área total para crear unchip lo más pequeño posible. Utilizando una estrategia de conexiones que no se lehabía ocurrido a ningún humano, el AG alcanzó un diseño que ocupaba un 18%menos de espacio.Finalmente, como cita Ashley 1992, empresas de la industria aeroespacial,automovilística, fabril, turbomaquinaria y electrónica están utilizando un sistema desoftware propietario conocido como Engineous, que utiliza algoritmos genéticos,para diseñar y mejorar motores, turbinas y otros dispositivos industriales. Enpalabras 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 solución posible (p. 49). En un ensayo delsistema, Engineous consiguió producir un incremento del 0,92 por ciento de laeficiencia de una turbina experimental en sólo una semana, mientras que diezsemanas de trabajo de un diseñador humano sólo produjeron un 0,5 por ciento demejora.Supuestamente, Engineous no sólo cuenta con algoritmos genéticos; tambiénemplea técnicas de optimización numérica y sistemas expertos que utilizan reglassi-entonces para imitar el proceso de toma de decisiones de un ingeniero humano.Sin embargo, estas técnicas dependen mucho de información específica deldominio, carecen de aplicabilidad general, y son propensas a quedar atrapadas enóptimos locales. En contraste, el uso de algoritmos genéticos permite a Engineousexplorar regiones del espacio de búsqueda que pasan por alto los otros métodos. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 68
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEngineous ha obtenido un amplio uso en una gran variedad de industrias yproblemas. El más famoso fue cuando se utilizó para mejorar la turbinageneradora de energía del avión Boeing 777; como informan Begley y Beals 1995el diseño optimizado genéticamente era casi un 1% más eficiente en combustibleque los motores anteriores, lo que en un campo como éste es una ganancia caídadel cielo. Engineous también se ha utilizado para optimizar la configuración demotores eléctricos industriales, generadores hidroeléctricos y turbinas de vapor,para proyectar redes eléctricas, y para diseñar generadores superconductores ygeneradores de energía nuclear para satélites en órbita. Rao 1998 informatambién de que la NASA ha utilizado Engineous para optimizar el diseño de unavión de gran altitud para analizar la disminución del ozono, que debe ser a la vezligero y eficiente.Argumentos creacionistasComo era de esperar, la demostración real del poder de la evolución querepresentan los AGs ha resultado sorprendente y descorcentante para loscreacionistas, que siempre han afirmado que sólo un diseño inteligente, no lavariación aleatoria y la selección, puede haber producido la cantidad y complejidadde información que contienen los seres vivos. Por tanto, han argumentado que eléxito de los algoritmos genéticos no nos permite deducir nada sobre la evoluciónbiológica. Abordaré las críticas de dos antievolucionistas que representan dospuntos de vista distintos: un creacionista de tipo tierra-joven, el Dr. Don Batten, de``Answers in Genesis, que ha escrito un artículo titulado ``Algoritmos genéticos -¿demuestran que la evolución funciona?, y un creacionista de tipo tierra-vieja ydefensor del diseño inteligente, el Dr. William Dembski, cuyo reciente libro ``NoFree Lunch (Dembski 2002) trata sobre este tema.Don Batten ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 69
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACAlgunos caracteres de los seres vivos son cualitativos, mientras que losAGs son siempre cuantitativosBatten afirma que los AGs deben ser cuantitativos, de manera que se puedaseleccionar cualquier mejora. Esto es cierto. Luego continua diciendo: ``Muchoscaracteres biológicos son cualitativos -o funcionan o no funcionan, así que noexiste una manera de llegar paso a paso de la ausencia de función a la función.Sin embargo, esta aseveración no ha sido demostrada, y no está apoyada por laevidencia. Batten ni siquiera intenta ofrecer un ejemplo de caracter biológico que``o funciona o no funciona, y por tanto no pueda construirse paso a paso.Pero aunque hubiera ofrecido tal ejemplo de caracter, ¿cómo podría demostrarrazonablemente que no hay un camino paso a paso hasta él? Aunque noconozcamos tal camino, ¿significa eso que no existe ninguno? Por supuesto queno. Batten afirma efectivamente que si no entendemos cómo han evolucionadociertos caracteres, entonces es imposible que esos caracteres hayan evolucionado-un ejemplo clásico de la falacia lógica elemental del argumento de la ignorancia.El espacio de búsqueda de todas las posibles variantes de cualquier caracterbiológico dado es enorme, y en la mayoría de los casos nuestro conocimientosupone tan sólo una fracción infinitesimal de todas las posibilidades.Perfectamente pueden existir numerosos caminos hacia una estructura de los queno conozcamos nada todavía; no hay ninguna razón en absoluto para creer quenuestra ignorancia actual establece límites a nuestro progreso futuro. De hecho, lahistoria nos da razones para estar seguros de esto: los científicos han hechoenormes progresos para explicar la evolución de muchas estructuras y sistemasbiológicos complejos, tanto macroscópicos como microscópicos (por ejemplo, veaestas páginas sobre la evolución de sistemas moleculares complejos, genes``reloj, la lengua del pájaro carpintero o el escarabajo bombardero). Tenemosjustificación para creer probable que los que nos han eludido hasta ahora tambiénse entenderán con claridad en el futuro. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 70
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACDe hecho, los propios AGs nos ofrecen una excelente razón para suponer esto.Muchos de los problemas en los que se han aplicado son problemas complejos deingeniería y diseño de los que no se conocía la solución previamente, y por lotanto el problema no podía ``amañarse para facilitar el éxito del algoritmo. Si loscreacionistas tuvieran razón, habría sido completamente razonable esperar quelos algoritmos genéticos hubieran fallado estrepitosamente una y otra vez al seraplicados a estos problemas, pero, en cambio, ha ocurrido justo lo contrario: losAGs han descubierto soluciones poderosas y de gran calidad a problemas difícilesen una gran variedad de campos. Esto pone seriamente en duda incluso si existenproblemas como los que Batten describe, cuyas soluciones sean inaccesibles a unproceso evolutivo.Los AGs no permiten la posibilidad de una extinción o una catástrofe deerroresBatten afirma que, en los AGs, ``siempre sobrevive algo para mantener elproceso, mientras que esto no es necesariamente cierto en el mundo real -enresument, los AGs no permiten la posibilidad de una extinción.Sin embargo, esto no es cierto; la extinción puede ocurrir. Por ejemplo, algunosAGs utilizan un modelo de selección con umbral en el que los individuos debentener una aptitud superior a un nivel predeterminado para poder sobrevivir yreproducirse (Haupt y Haupt 1998, p. 37). Si no hay ningún individuo que cumplaeste criterio en este tipo de AG, la población puede extinguirse efectivamente.Pero incluso en AGs que no establecen umbrales pueden ocurrir estados análogosa la extinción. Si las tasas de mutación son demasiado altas o las presionesselectivas demasiado fuertes, un AG nunca encontrará una solución factible. Lapoblación puede acabar en un caos sin remedio al verse afectados los cantidatosaptos por el hecho de que las mutaciones perjudiciales se desarrollen con másrapidez de la que la selección puede eliminarlas (catástrofe de errores), o puederetorcerse inútilmente, incapaz de conseguir ningún aumento de la aptitud lo ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 71
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACbastante grande para que pueda ser seleccionado. Al igual que en la naturaleza,debe haber un equilibrio o nunca se alcanzará una solución. La ventaja que tieneun programador a este respecto es que, si ocurre esto, él puede introducirle alprograma valores diferentes -para el tamaño de la población, para la tasa demutación, para la presión selectiva- y comenzar de nuevo. Obviamente, esto no esuna opción para los seres vivos. Batten dice que ``no existe una regla en laevolución que diga que algunos organismos de la población que evolucionapermanecerán viables ocurran las mutaciones que ocurran, pero tampoco existeuna regla así en los algoritmos genéticos.Batten también afirma que ``los AGs que he observado preservan artificialmente alos mejores de la generación anterior y los protegen de las mutaciones o larecombinación, en caso de que no se produzca algo mejor en la siguientegeneración. Abordaré esta crítica en el siguiente punto.Los AGs ignoran el coste de las sustitucionesLa siguiente afirmación 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 más tiempo en fijarse en la población. Obviamente, a lo quese refiere es a la técnica de selección elitista, que selecciona automáticamente almejor candidato de cada generación sin importar lo pequeña que sea su ventajasobre sus competidores. Tiene razón al sugerir que, en la naturaleza, las ventajascompetitivas muy pequeñas pueden tardar en propagarse mucho más. Losalgoritmos genéticos no son un modelo exacto de la evolución biológica a esterespecto.Sin embargo, esto no viene al caso. La selección elitista es una idealización de laevolución biológica -un modelo de lo que pasaría en la naturaleza si de vez encuando no interviniese el azar. Como reconoce Batten, el dilema de Haldane noafirma que una mutación ligeramente ventajosa nunca quedará fijada en una ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 72
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACpoblación; afirma que tardará más en hacerlo. Sin embargo, cuando el tiempo decomputación está muy demandado o cuando un investigador de AGs deseaobtener una solución con mayor rapidez, puede ser deseable saltarse esteproceso implementando el elitismo. Un punto importante es que el elitismo noafecta a qué mutaciones surgen, sólo asegura la selección de las mejores quesurjan. No importaría lo fuerte que fuera la selección si no ocurrieran mutacionesque incrementasen la información. En otras palabras, el elitismo acelera laconvergencia una vez que se ha descubierto una solución buena -no provoca unresultado que no habría ocurrido de otra manera. Por lo tanto, si los algoritmosgenéticos con elitismo pueden producir información nueva, entonces también lopuede hacer la evolución en la naturaleza.Además, no todos los AGs utilizan selección elitista. Muchos no lo hacen, y encambio dependen sólo de selección por ruleta de rueda y otras técnicas demuestreo estocásticas, con no menor éxito, proporciona ejemplos de 36 casos enlos que la programación genética ha producido resultados competitivos con los delos humanos, incluyendo la recreación automática de 21 inventos patentados conanterioridad (seis de los cuales fueron patentados durante o después de 2000), 10de los cuales duplican la funcionalidad de la patente de manera diferente, eincluyendo además dos nuevos inventos patentables y cinco algoritmos nuevosque superan a cualquier algoritmo humano escrito para el mismo propósito. Comodeclara el Dr. Koza en una referencia anterior al mismo trabajo . En todos estoscasos, sin ningún mecanismo para asegurar que se seleccionaban los mejoresindividuos de cada generación, sin eximir a estos individuos del potencial cambioaleatorio perjudicial, los algoritmos genéticos siguen produciendo resultadospoderosos, eficientes y competitivos con los resultados humanos. Este hechopuede ser sorprendente para creacionistas como Batten, pero es algocompletamente esperado para los defensores de la evolución.Los AGs ignoran las limitaciones temporales para una generación ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 73
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEsta crítica es confusa. Batten afirma que una generación puede durarmicrosegundos en un AG, mientras que en los seres vivos una generación puededurar desde minutos hasta años. Esto es cierto, pero no explica cómo influye estoen la validez de los AGs como evidencia para la evolución. Si un AG puedegenerar información nueva, tarde el tiempo que tarde, entonces la evoluciónnatural puede hacer lo mismo sin duda; que los AGs pueden efectivamentehacerlo es todo lo que trata de demostrar este ensayo. La única cuestión restantesería entonces si la evolución biológica ha tenido realmente el tiempo necesariopara causar un cambio significativo, y la respuesta a esta cuestión está a cargo delos biólogos, geólogos y físicos, no de los programadores informáticos.Sin embargo, la respuesta que han proporcionado estos científicos está encompleto acuerdo con las escalas de tiempo evolutivas. Numerosas líneasindependientes de evidencia, incluyendo la datación isocrónica radiométrica, losritmos de enfriamiento de las enanas blancas, la no existencia en la naturaleza deisótopos con tiempos cortos de semideintegración, los ritmos de alejamiento de lasgalaxias lejanas, y el análisis de la radiación cósmica de fondo, convergen hacia lamisma conclusión: una Tierra y un universo con muchos miles de millones deaños, sin duda tiempo suficiente para que la evolución haya producido toda ladiversidad de vida que observamos hoy para todas las estimaciones razonables.Las altas tasas de mutación y reproducción que emplean los AGs no sonrealistasBatten afirma, sin proporcionar ninguna evidencia o referencia que le apoye, quelos AGs ``producen comúnmente cientos o miles de `descendientes porgeneración, un ritmo que ni siquiera las bacterias, los organismos biológicos quese reproducen con mayor velocidad, pueden igualar.Esta crítica erra el tiro de varias maneras. Primero, si la métrica que se utiliza es(como debería ser) el número de descendientes por generación, en lugar del ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 74
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACnúmero de descendientes por unidad de tiempo absoluto, entonces existenevidentemente organismos biológicos que pueden reproducirse a ritmos mayoresque los de las bacterias y que casi igualan los ritmos que Batten considera norealistas. 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. Deacuerdo, la mayoría de éstos normalmente no sobrevivirán debido a laslimitaciones de recursos y a la depredación, pero entonces la mayoría de la``descendencia de cada generación en un AG tampoco sobrevivirá.Segundo, y más importante: un algoritmo genético trabajando para resolver unproblema no pretende representar a un solo organismo. En cambio, un algoritmogenético es más análogo a una población completa de organismos -después detodo, son las poblaciones, y no los individuos, los que evolucionan. Por supuesto,es completamente plausible que una población tenga colectivamente cientos omiles de descendientes por generación. (El creacionista Walter ReMine cometeeste mismo error con respecto al programa ``weasel del Dr. Richard Dawkins.Vea este Mensaje del Mes para más información).Además, dice Batten, la tasa de mutación es artificialmente alta en los AGs,mientras que los seres vivos tienen una maquinaria de comprobación de erroresdiseñada para limitar la tasa de mutación en aproximadamente 1 por cada 10.000millones de par de bases (aunque esto es demasiado poco -la cifra real está máscerca de 1 por cada 1.000 millones. Ver Dawkins Por supuesto, esto es cierto. Silos AGs mutasen a este ritmo, tardarían muchísimo en resolver problemas reales.Evidentemente, lo que debe considerarse relevante es la tasa de mutación relativaal tamaño del genoma. La tasa de mutación debe ser lo bastante alta parapromover una cantidad suficiente de diversidad en la población sin acabar con losindividuos. Un ser humano corriente posee entre una y cinco mutaciones; esto esperfectamente realista para la descendencia de un AG.Los AGs tienen genomas artificialmente pequeños ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 75
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEl argumento de Batten de que el genoma de un algoritmo genético ``esartificialmente pequeño y sólo realiza una cosa está completamente errado. Enprimer lugar, como ya hemos visto, no es cierto que un AG sólo realice una cosa;hay muchos ejemplos de algoritmos genéticos diseñados específicamente paraoptimizar muchos parámetros simultáneamente, a menudo muchos másparámetros de los que podría manejar un diseñador humano.¿Y exactamente cómo cuantifica Batten lo de ``artificialmente pequeño? Muchosalgoritmos evolutivos, como el programa genético de John Koza, utilizancodificaciones de tamaño variable donde el tamaño de las soluciones candidataspueden crecer arbitrariamente. Batten afirma que hasta los seres vivos mássencillos tienen mucha más información en su genoma que la que un AG hayaproducido nunca, pero si los organismos vivos actuales tienen genomasrelativamente grandes es porque se ha ganado mucha complejidad en el curso delos miles de años de evolución. Como señala el artículo Probabilidad deabiogénesis, hay buenas razones para creer que los primeros organismos vivoseran mucho más sencillos que cualquier especie actual -las moléculasautorreplicadoras probablemente no tenían más de 30 o 40 subunidades,pudiendo quedar especificadas perfectamente con los 1.800 bits de informaciónque Batten reconoce que ha generado al menos un AG. Asimismo, los algoritmosgenéticos son una técnica muy nueva cuyo potencial completo todavía no ha sidoexplotado; las propias computadoras digitales sólo tienen unas pocas décadas, y,las técnicas de computación evolutiva han generado resultados cada vez mássustanciales y complejos durante los últimos 15 años, en sincronía con el rápidoaumento de la potencia computacional, a menudo referida como la ``ley deMoore. Al igual que la vida primigenia era muy sencilla comparada con la quevino después, es probable que los algoritmos genéticos actuales, a pesar de losimpresionantes resultados que ya han producido, den origen a resultados muchomás importantes en el futuro. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 76
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACLos AGs ignoran la posibilidad de que ocurran mutaciones por todo elgenomaAparentemente, Batten no comprende cómo funcionan los algoritmos genéticos, ylo demuestra realizando este argumento. Afirma que, en la vida real, ``lasmutaciones ocurren por todo el genoma, no sólo en un gen o sección queespecifique un caracter dado. Esto es cierto, pero cuando dice que lo mismo noes cierto para los AGs, se equivoca. Exactamente igual que en los seres vivos, losAGs deben escardar los genes perjudiciales al tiempo que seleccionan losbeneficiosos.Batten continua afirmando que ``el propio programa está protegido contra lasmutaciones, sólo las secuencias objetivo mutan, y si el programa mutara, fallaríapoco después. Esta crítica, sin embargo, es irrelevante. No existe razón para queel programa que gobierna a un AG tenga que mutar. El programa no es parte delalgoritmo genético; el programa es el que supervisa al algoritmo genético yproduce las mutaciones en las soluciones candidatas, que son lo que elprogramador busca mejorar. El programa que ejecuta al AG no es análogo a lamaquinaria reproductiva de un organismo, una comparación que trata deestablecer Batten. En cambio, es análogo a las leyes naturales invariantes quegobiernan los entornos en los que viven y se reproducen los seres vivos, y no seespera que éstas cambien ni necesitan ``protegerse de ello.Los AGs ignoran los problemas de la complejidad irreducibleUtilizando el argumento de la `` del creacionista de tipo tierra-vieja Michael Behe,Batten argumenta: ``Muchos caracteres biológicos requieren la presencia demuchos componentes distintos, funcionando juntos, para que el caracter puedaexistir, mientras que esto no ocurre en los AGs. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 77
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACSin embargo, es trivial demostrar que esta afirmación es falsa, ya que losalgoritmos genéticos han producido sistemas irreduciblemente complejos. Porejemplo, el circuito reconocedor de voz que evolucionó el Dr. Adrian Thompson(Davidson 1997[19]) está compuesto de 37 puertas lógicas. Cinco de ellas nisiquiera están conectadas al resto del circuito, aunque hacen falta las 37 para queel circuito funcione; si cualquiera de ellas se desconecta de la fuente dealimentación, todo el sistema deja de funcionar. Esto se ajusta a la definición desistema complejo irreducible de Behe, y demuestra que un proceso evolutivopuede producir cosas así.Debe señalarse que este argumento es el mismo que el primero, simplementepresentado en un lenguaje distinto, y por tanto la refuntación es la misma. Lacomplejidad irreducible no es un problema para la evolución, esté la evoluciónocurriendo en los seres vivos de la naturaleza o en el silicio del procesador de unacomputadora.Los AGs ignoran la poligenia, la pleiotropía y otras complejidades genéticasBatten argumenta que los AGs ignoran asuntos como la poligenia (ladeterminación de un caracter por múltiples genes), pleiotropía (un gen que afectea múltiples caracteres) y los genes dominantes y recesivos.Sin embargo, ninguna de estas afirmaciones es cierta. Los AGs no ignoran lapoligenia y la pleiotropía: simplemente se permite que estas propiedades surjan demanera natural en lugar de programarlas deliberadamente. Es obvio que encualquier sistema complejo interdependiente (es decir, un sistema no lineal), laalteración o eliminación de una parte causará una reacción en cadena por todo elsistema; por tanto, los AGs incorporan de manera natural la poligenia y lapleiotropía. ``En la literatura sobre algoritmos genéticos, la interacción entreparámetros se conoce como epistasis (un término biológico para la interacciónentre genes). Cuando hay poca o ninguna epistasis, los algoritmos de búsqueda ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 78
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACmínima [es decir, los trepacolinas **-A.M.] rinden mejor. Los algoritmos genéticosbrillan cuando la epistasis es media o alta... Igualmente, hay algunasimplementaciones de algoritmos genéticos que sí tienen cromosomas diploides ygenes dominantes y recesivos Sin embargo, los que no lo son simplemente separecen más a los organismos haploides, como las bacterias, que a losorganismos diploides, como los seres humanos. Ya que las bacterias están entrelos organismos más exitosos de este planeta (para ciertas medidas), tales AGssiguen siendo un buen modelo de la evolución.Los AGs no tienen múltiples sistemas de lecturaBatten habla de la existencia de múltiples sistemas de lectura en los genomas dealgunos seres vivos, en los que las secuencias de ADN codifican distintasproteínas funcionales cuando se leen en direcciones distintas o con distintosdesplazamientos de inicio. Afirma que ``crear un AG para generar una codificacióncon información densa así parecería imposible.Un reto así pide una respuesta, y aquí está: Soule y Ball 2001.En este artículo, losautores presentan un algoritmo genético con múltiples sistemas de lectura ycodificación densa, permitiéndole almacenar más información que el tamaño totalde su genoma. Al igual que los codones de tres nucleótidos especificanaminoácidos en los genomas de los seres vivos, en este AG los codones erancadenas binarias de cinco dígitos (hay por lo tanto 25 o 64 codones posibles, elmismo número de codones en los sistemas biológicos). Como los codones teníancinco dígitos de longitud, había cinco sistemas de lectura posibles. La secuencia11111 sirve como codon de ``comienzo y la 00000 como codon de ``parada;como el codon de comienzo y parada pueden aparecer en cualquier lugar delgenoma, la longitud de cada individuo era variable. Las regiones del cromosomaque no caían entre pares comienzo-parada eran ignoradas. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 79
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACEl AG se probó con cuatro problemas clásicos de maximización de funciones.``Inicialmente, la mayoría de los bits no participan en ningún gen, es decir, lamayor parte de un cromosoma no codifica nada. De nuevo, esto es porque en losindividuos iniciales aleatorios hay relativamente pocos pares de codonescomienzo-parada. Sin embargo, el número de bits que no participan disminuyeextremadamente rápido. Durante el curso de la ejecución, el AG puedeincrementar la longitud efectiva de su genoma introduciendo nuevos codones decomienzo en distintos sistemas de lectura. Al final de la ejecución, ``la cantidad desuperposiciones es bastante alta. Muchos bits participan en varios genes (amenudo en los cinco). En todos los problemas probados, el AG empezó, demedia, con 5 variables especificadas; al final de la ejecución, ese número se habíaincrementado hasta una media de 25.En los problemas de prueba, el AG con múltiples sistemas de lectura produjosoluciones significativamente mejores que un AG estándar en dos de los cuatroproblemas, y mejores soluciones medias en los otros dos. En uno de losproblemas, el AG comprimió con éxito 625 bits de información en un cromosomade sólo 250 bits de longitud, utilizando sistemas de lectura alternativos. Losautores tildan este comportamiento de ``extremadamente sofisticado y concluyenque ``estos datos muestran que un AG puede utilizar con éxito sistemas de lecturaa pesar de la complejidad añadida y que ``es claro que un AG puede introducirnuevos`genes mientras sea necesario para resolver un cierto problema, inclusocon las dificultades impuestas al utilizar codones de comienzo y parada y genessuperpuestos.Los AGs tienen objetivos predeterminadosComo muchas otras, esta objeción demuestra que Batten no comprende bien loque es un algoritmo genético y cómo funciona. Argumenta que los AGs, alcontrario que la evolución, tienen objetivos predeterminados y especificados desde ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 80
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACel principio, y como ejemplo de esto, ofrece el programa ``weasel del Dr. RichardDawkins.Sin embargo, el programa weasel no es un verdadero algoritmo genético, y norepresenta a los algoritmos genéticos, precisamente por esa razón. No pretendíademostrar el poder de resolución de problemas de la evolución. En cambio, suúnica intención era mostrar la diferencia entre la selección de un solo paso (lainfame frase del ``tornado pasando por una chatarrería y produciendo un 747) y laselección acumulativa de múltiples pasos. Tenía un objetivo específicopredeterminado de antemano. Los algoritmos genéticos verdaderos, en cambio,no lo tienen.En un sentido más general, los AGs sí tienen un objetivo, a saber, encontrar unasolución aceptable a un problema dado. En este mismo sentido, la evolucióntambién tiene un objetivo: producir organismos que estén mejor adaptados a suentorno y por tanto experimenten un mayor éxito reproductivo. Pero al igual que laevolución es un proceso sin objetivos específicos, los AGs no especifican deantemano cómo debe resolverse un problema dado. La función de aptitudsolamente se establece para evaluar lo bien que funciona una solución candidata,sin especificar ninguna forma de funcionar particular y sin juzgar de qué manerainventa. La solución en sí emerge luego mediante un proceso de mutación yselección.La siguiente afirmación de Batten demuestra claramente que no entiende lo quees un algoritmo genético. Afirma que ``quizás si el programador pudiera dar con unprograma que permitiera que ocurriera cualquier cosa y luego midiera la capacidadde supervivencia de los `organismos, se estaría acercando a lo que se suponeque hace la evolución -pero así es exactamente como funcionan los algoritmosgenéticos. Generan aleagoriamente soluciones candidatas y provocan mutacionesaleatorias sobre ellas durante muchas generaciones. No se especifica ningunaconfiguración de antemano; como dice Batten, se permite que ocurra cualquier ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 81
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcosa repitiendo misteriosamente las palabras de Batten: ``Una característicaimportante... es que la selección [en la programación genética] no es codiciosa.Los individuos que se sabe que son iferiores serán seleccionados hasta un ciertogrado. No se garantiza que se seleccionará el mejor individuo de la población.Además, el peor individuo de la población no será necesariamente excluído.Puede ocurrir cualquier cosa y nada está garantizado. (Una sección 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, surgensoluciones eficientes, complejas y poderosas a problemas difíciles, soluciones queno fueron diseñadas por ninguna inteligencia y que a menudo pueden igualar osuperar a las soluciones diseñadas por los humanos. La alegre afirmación deBatten de que ``por supuesto eso es imposible está en contradicción directa conla realidad.Los AGs no generan información nueva en realidadLa crítica final de Batten dice así: ``Para un AG particular, necesitamos preguntarqué parte de la `información generada por el programa está en realidadespecificada en el programa, en lugar de haber sido generada de novo. Acusa alos AGs de que a menudo no hacen más que encontrar la mejor manera de queciertos módulos interaccionen, cuendo los propios módulos y las maneras quetienen de interactuar están especificadas de antemano.Es difícil saber qué hacer con este argumento. Cualquier problema imaginable -lostérminos en una ecuación de cálculo, las moléculas en una célula, loscomponentes de un motor, el capital en un mercado financiero- puedenexpresarse en términos de módulos que interactúan de cierta manera. Si todo loque se tiene son módulos sin especificar que interactúan de maneras sinespecificar, no hay problema que resolver. ¿Significa esto que la solución a ningúnproblema requiere la generación de información nueva? ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 82
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACRespecto a la crítica de Batten sobre que la información contenida en la soluciónesté especificada en el problema, la mejora manera de mitigar sus preocupacioneses señalar la cantidad de ejemplos en los que los AGs comienzan con poblacionesiniciales generadas aleatoriamente que no están de ninguna manera diseñadaspara ayudar al AG a resolver el problema. Algunos de tales ejemplos son:Graham-Rowe 2004; Davidson 1997; Assion et al. 1998; Giro, Cyrillo y Galvão2002; Glen y Payne 1995; Chryssolouris y Subramaniam 2001; Williams, Crossleyy Lang 2001; Robin et al. 2003; Andreou, Georgopoulos y Lokothanassis 2002;Kewley y Embrechts 2002; Rizki, Zmuda y Tamburino 2002; y especialmente Kozaet al. 1999 y Koza et al. 2003, que analiza el uso de programación genética paragenerar 36 inventos competitivos con los humanos de diseños de circuitosanalógicos, biología molecular, algoritmia, diseño de controladores industriales yotros campos, todos comenzando con poblaciones de candidatas inicialesgeneradas aleatoriamente.De acuerdo, algunos AGs sí comienzan con soluciones generadasinteligentemente que luego intentan mejorar, pero esto es irrelevante: en esoscasos el objetivo no es sólo devolver la solución de entrada inicial, sino mejorarlamediante la producción de información nueva. En cualquier caso, aunque lasituación inicial sea como la describe Batten, encontrar la manera más eficientemediante la que un cierto número de módulos puede interactuar bajo un conjuntodado de limitaciones puede ser una tarea nada trivial, cuya solución implique unacantidad considerable de información nueva: el diseño de horarios en losaeropuertos internacionales, por ejemplo, o las líneas de montaje de una fábrica, ola distribución de barriles entre almacenes y destilerías. De nuevo, los AGs handemostrado su efectividad a la hora de resolver problemas cuya complejidadabrumaría a cualquier humano. A la luz de las múltiples innovaciones y solucionesinesperadamente efectivas que ofrecen los AGs en muchos campos, la afirmaciónde Batten de que ``la cantidad de información nueva generada (por un AG) esnormalmente bastante trivial suena verdaderamente hueca. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 83
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACConclusiónHasta los creacionistas encuentran imposible negar que la combinación de lamutación y la selección natural puede producir adaptación. No obstante, todavíasiguen intentando justificar su rechazo a la evolución dividiendo el procesoevolutivo en dos categorías -``microevolución y ``macroevolución- y afirmandoque sólo la segunda es controvertida, y que cualquier cambio evolutivo quepodemos observar es sólo un ejemplo de la primera.Veamos. La microevolución y la macroevolución son términos que tienensignificado para los biólogos; se definen, respectivamente, como evolución pordebajo del nivel de especies y evolución al nivel de especies o por encima. Pero ladiferencia crucial entre el modo en el que los creacionistas utilizan estos términosy el modo en el que lo hacen los científicos es que los científicos reconocen quelos dos son fundamentalmente el mismo proceso con los mismos mecanismos, tansólo operando a diferentes escalas. Sin embargo, los creacionistas estánobligados a postular algún tipo de brecha infranqueable que los separa, parapoder negar que los procesos de cambio y adaptación que vemos en la actualidadpuedan extrapolarse para producir toda la diversidad que vemos en el mundo delos seres vivos.No obstante, los algoritmos genéticos hacen que esta idea sea insostenible, aldemostrar la naturaleza sin junturas del proceso evolutivo. Consideremos, porejemplo, un problema que consista en programar un circuito para que discrimineentre un tono de 1 kilohercio y un tono de 10 kilohercios, y respondarespectivamente con salidas uniformes de 0 y 5 voltios. Digamos que tenemos unasolución candidata que puede discriminar con precisión entre los dos tonos, perosus salidas no son lo bastante uniformes como se requiere; producen pequeñasondulaciones en lugar del voltaje constante requerido. Supuestamente, de acuerdocon las ideas creacionistas, cambiar este circuito de su estado presente a lasolución perfecta sería ``microevolución, un cambio pequeño dentro de las ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 84
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACcapacidades de la mutación y la selección. Pero, sin duda -argumentaría uncreacionista-, llegar a este mismo estado final desde una ordenación inicialcompletamente aleatoria de componentes sería ``macroevolución, y estaría másallá del alcance de un proceso evolutivo. Sin embargo, los algoritmos genéticoshan sido capaces de conseguir ambas cosas: evolucionar el sistema a partir deuna ordenación aleatoria hasta la solución casi perfecta y finalmente hasta lasolución perfecta y óptima. No surgió ninguna dificultad o brecha insalvable enningún punto del camino. En ningún momento hizo falta intervención humana paramontar un conjunto de componentes irreduciblemente complejo (a pesar del hechode que el producto final sí contiene tal cosa) o para ``guiar al sistema evolutivo através de algún pico dificultoso. El circuito evolucionó, sin la ayuda de ningunaorientación inteligente, desde un estado completamente aleatorio y no funcionalhasta un estado rigurosamente complejo, eficiente y óptimo. ¿Cómo puede no seresto una demostración experimental convincente del poder de la evolución?Se dice que la evolución cultural humana ha reemplazado a la biológica -quenosotros, como especie, hemos llegado a un punto en el que somos capaces decontrolar conscientemente nuestra sociedad, nuestro entorno y hasta nuestrosgenes al nivel suficiente para hacer que el proceso evolutivo sea irrelevante. Sedice que los caprichos culturales de nuestra cambiante sociedad son los quedeterminan la aptitud hoy en día, en lugar de la marcha enormemente lenta, encomparación, de la mutación genética y la selección natural. En cierto sentido,esto puede ser perfectamente cierto.Pero en otro sentido, nada podría estar más lejos de la verdad. La evolución es unproceso de resolución de problemas cuyo poder sólo comenzamos a comprendery explotar; a pesar de esto, ya está funcionando por todas partes, moldeandonuestra tecnología y mejorando nuestras vidas, y, en el futuro, estos usos noharán sino multiplicarse. Sin un conocimiento detallado del proceso evolutivo nohabrían sido posibles ninguno de los incontables avances que le debemos a losalgoritmos genéticos. Aquí hay una lección que deben aprender los que niegan el ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 85
    • UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE APURIMACpoder de la evolución y los que niegan que el conocimiento de ella tengabeneficios prácticos. Por increíble que pueda parecer, la evolución funciona. Comolo expresa el poeta Lord Byron: ``Es extraño pero cierto; porque la verdad siemprees extraña, más extraña que la ficción. ING.INFORMATICA Y SISTEMAS ALGORITMOS GENETICOS 86