You are on page 1of 38

Hablar de inteligencia artificial (IA) es hablar de un rea inmensa de

conocimiento, tan profunda en sus cimientos matemticos como extensa


en sus alcances y cruces con otras reas. ste es el caso de la seguridad
informtica, donde desde hace algn tiempo encontramos soluciones
basadas en IA. Quiz el ejemplo ms evidente son los sistemas de
deteccin de spam, que se valen de tcnicas de mquinas de vectores de
soporte, LSI y, principalmente, de estadstica bayesiana. Pero una nueva
tcnica llega desde la universidad de Harvard, una basada en algoritmos
genticos.
No es que los algoritmos genticos sean cosa reciente. Podemos rastrear
sus orgenes desde los aos 50 y 60, hasta la publicacin del libro que
prcticamente fund una nueva rea del conocimiento: Adaptation in
Natural and Artificial Systems, de John Holland, desde entonces conocido
como padre de los algoritmos genticos. Y estos son, en
esencia, algoritmos para la bsqueda de soluciones inspirados en la
teora de la evolucin. En otras palabras, dado un problema
computacional, seguimos estos pasos:
1. Inicializacin - Creamos una montn de soluciones aleatorias
vlidas, es decir, la poblacin inicial, los genes.
2. Seleccin - Elegimos las mejores soluciones de la poblacin inicial en
funcin de un criterio. En cambio, las "peores" soluciones son
reemplazadas. Esto es como cuando la naturaleza elige a los ms
fuertes.
3. Reproduccin - Generamos una segunda poblacin o siguiente
generacin de la poblacin. Esto con ayuda de dos operaciones de
inspiracin evolutiva: cruza y mutacin. En la cruza mezclamos
soluciones (los genes). En la mutacin modificamos ligeramente uno
o ms miembros de la poblacin de soluciones. Aqu comienza la
magia de la evolucin.
4. Terminacin - Repetimos los pasos 1 a 3 hasta que se alcance una
condicin predeterminada.

Ahora bien, cmo son aplicados los algoritmos genticos en seguridad


informtica? En particular, los investigadores Michael Crouse y Errin
Fulp de la universidad de Harvard estn creando la primera computadora
que de forma automtica ajusta su configuracin para defenderse de
ataques informticos. Ellos utilizan los algoritmos para seleccionar las
mejores configuraciones;configuraciones adaptables, que van
mejorando de generacin en generacin.
Hay un aspecto particularmente interesante de la investigacin de Crouse
y Fulp. Ellos descubrieron, luego de una serie de simulaciones, que la
seguridad de una red de sistemas informticos aumenta si tambin
crece la diversidad de configuraciones entre cada dispositivo. Tiene
sentido. Lo normal es que todos los equipos bajo una misma
administracin posean la misma configuracin, por lo tanto, si uno de
ellos es comprometido, el resto tambin.
Si es exitosa [la investigacin], la habilidad de automatizar la defensa ante ataques
jugar un papel crucial en la proteccin de datos altamente sensibles en
organizaciones grandes.

La idea es que la interaccin humana sea mnima. Y, al mismo tiempo, la


seguridad sea mxima.

Los algoritmos creados por Crouse y Fulp aprovechan que, de hecho, los
virus informticos identifican los mecanismos de defensa de la vctima
antes de atacar. De esta manera, los virus solo se enfocan en las
debilidades detectadas. Pero si ocurre un ligero cambio en la
configuracin del sistema, el ataque puede disuadirse.

Crouse y Fulp estarn trabajando en implementar sus algoritmos en


sistema real. De hacerse realidad, tendran en sus manos el primer sistema
de autodefensa inteligente a gran escala, capaz de responder con rapidez
y autonoma a la amenaza de virus y malware en general.

Algunos ejemplos especficos de AG

Mientras el poder de la evolucin gana reconocimiento cada vez ms generalizado, los


algoritmos genticos se utilizan para abordar una amplia variedad de problemas en un
conjunto de campos sumamente diverso, demostrando claramente su capacidad y su
potencial. Esta seccin analizar algunos de los usos ms notables en los que han tomado
parte.

Acstica
Sato et al. 2002[58] utilizaron algoritmos genticos para disear una sala de conciertos con
propiedades acsticas ptimas, maximizando la calidad del sonido para la audiencia, para el
director y para los msicos del escenario. Esta tarea implica la optimizacin simultnea de
mltiples variables. Comenzando con una sala con forma de caja de zapatos, el AG de los
autores produjo dos soluciones no dominadas, ambas descritas como ``con forma de hoja'' (p.
526). Los autores afirman que estas soluciones tienen proporciones similares al Grosser
Musikvereinsaal de Viena, el cual est considerado generalmente como una de las mejores -si
no la mejor- salas de conciertos del mundo, en trminos de propiedades acsticas.

Porto, Fogel y Fogel 1995[51] utilizaron programacin evolutiva para adiestrar a redes
neuronales para distinguir entre reflexiones sonoras desde distintos tipos de objetos: esferas
metlicas hechas por el hombre, montaas submarinas, peces y plantas, y ruido aleatorio de
fondo. Tras 500 generaciones, la mejor red neuronal que evolucion tena una probabilidad de
clasificacin correcta que iba desde el 94% al 98%, y una probabilidad de clasificacin errnea
entre un 7,4% y un 1,5%, que son ``probabilidades razonables de deteccin y falsa alarma'' (p.
21). Esta red evolucionada igual las prestaciones de otra red desarrollada mediante recocido
simulado, y super consistentemente a redes entrenadas mediante propagacin hacia atrs,
las cuales ``se atascaban repetidamente en conjuntos de pesos subptimos que no producan
resultados satisfactorios'' (p. 21). En contraste, ambos mtodos estocsticos demostraron su
capacidad para superar estos ptimos locales y producir redes ms pequeas, efectivas y
robustas; pero los autores sugieren que el algoritmo evolutivo, a diferencia del recocido
simulado, opera sobre una poblacin, y por tanto se beneficia de la informacin global sobre el
espacio de bsqueda, conduciendo potencialmente hacia un rendimiento mayor a la larga.

Tang et al. 1996[62] analizan los usos de los algoritmos genticos en el campo de la acstica y
el procesamiento de seales. Un rea de inters particular incluye el uso de AGs para disear
sistemas de Control Activo de Ruido (CAR), que eliminan el sonido no deseado produciendo
ondas sonoras que interfieren destructivamente con el ruido. Esto es un problema de
mltiples objetivos que requiere el control y la colocacin precisa de mltiples altavoces; los
AGs se han utilizado en estos sistemas tanto para disear los controladores como para
encontrar la colocacin ptima de los altavoces, dando como resultado una ``atenuacin
efectiva del ruido'' (p. 33) en pruebas experimentales.

Ingeniera aeroespacial

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

En un artculo posterior (Sasaki et al. 2001[57]), los autores repitieron el experimento


aadiendo un cuarto objetivo, a saber, minimizar el momento de torsin (un conocido
problema en los diseos de alas flecha en el vuelo supersnico). Tambin se aadieron puntos
de control adicionales para el grosor al conjunto de variables de diseo. Tras 75 generaciones
de evolucin, se compararon dos de las mejores soluciones paretianas con el diseo de ala que
el Laboratorio Aeroespacial Nacional japons realiz para el avin supersnico experimental
NEXST-1. Se descubri que ambos diseos (adems de un diseo ptimo de la simulacin
anterior, explicada arriba) eran fsicamente razonables y superiores al diseo del LAN en los
cuatro objetivos.

Williams, Crossley y Lang 2001[64] aplicaron algoritmos genticos a la tarea de situar rbitas
de satlites para minimizar los apagones de cobertura. Mientras la tecnologa de
telecomunicaciones sigue progresando, los humanos somos cada vez ms dependientes de las
funciones vitales que realizan los satlites en rbita alrededor de la Tierra, y uno de los
problemas con los que se enfrentan los ingenieros es el diseo de las trayectorias orbitales. Los
satlites que se encuentran en una rbita terrestre alta, a unos 35.000 kilmetros de altitud,
pueden ver amplias secciones del planeta al mismo tiempo y estar en contacto con las
estaciones terrestres, pero son mucho ms caros de lanzar y ms vulnerables a las radiaciones
csmicas. Es ms econmico colocar satlites en rbitas bajas, en algunos casos a slo unos
pocos cientos de kilmetros; pero, a causa de la curvatura de la Tierra, es inevitable que estos
satlites pierdan durante un tiempo la lnea de visin con los receptores terrestres, y por lo
tanto se vuelven intiles. Incluso las constelaciones de varios satlites tienen apagones
ineludibles y prdidas de cobertura por esta razn. El reto consiste en colocar las rbitas de los
satlites para minimizar este tiempo muerto. Esto es un problema multi-objetivo que implica la
minimizacin de el tiempo medio de apagn para todas las localizaciones y el tiempo mximo
de apagn para cada una de las localizaciones; en la prctica, estos objetivos resultan ser
mutuamente exclusivos.

Cuando se utiliz el AG en este problema, los resultados que evolucionaron para


constelaciones de tres, cuatro y cinco satlites eran extraos, configuraciones orbitales muy
asimtricas, con los satlites colocados alternando huecos grandes y pequeos, en lugar de
huecos de igual tamao como habran hecho las tcnicas convencionales. Sin embargo, esta
solucin redujo significativamente los tiempos medio y mximo de apagn, en algunos casos
hasta en 90 minutos. En un artculo periodstico, el Dr. William Crossley seal que ``ingenieros
con aos de experiencia aeroespacial quedaorn sorprendidos con el rendimiento ofrecido por
el diseo no convencional''.

Keane y Brown 1996[43] utilizadon un AG para producir un nuevo diseo para un brazo o jirafa
para transportar carga que pudiese montarse en rbita y utilizarse con satlites, estaciones
espaciales y otros proyectos de construccin aeroespacial. El resultado, una estructura
retorcida con aspecto orgnico que se ha comparado con un fmur humano, no utiliza ms
material que el diseo de brazo estndar, pero es ligera, fuerte y muy superior a la hora de
amortiguar las vibraciones perjudiciales, como confirmaron las pruebas reales del producto
final. Y sin embargo ``Ninguna inteligencia produjo los diseos. Simplemente evolucionaron''
(Petit 1998[43]). Los autores del artculo comentan adems que su AG slo se ejecut durante
10 generaciones, debido a la naturaleza computacionalmente costosa de la simulacin, y la
poblacin no se haba estancado todava. Haber proseguido la ejecucin durante ms
generaciones habra producido indudablemente mayores mejoras de rendimiento.

Figure: Un brazo tridimensional optimizado genticamente, con una respuesta mejorada a la


frecuencia (adaptado de http://www.soton.ac.uk/~ajk/truss/welcome.html).

Image 3dbeam

Finalmente, como informa Gibbs 1996[25], Lockheed Martin ha utilizado un algoritmo gentico
para producir mediante evolucin una serie de maniobras para mover una nave espacial de
una orientacin a otra, dentro del 2% del tiempo mnimo terico para tales maniobras. La
solucin evolucionada era un 10% ms rpida que una solucin producida manualmente por
un experto para el mismo problema.

Astronoma y astrofsica

Charbonneau 1995[12] sugiere la utilidad de los AGs para problemas de astrofsica,


aplicndolos a tres problemas de ejemplo: obtener la curva de rotacin de una galaxia
basndose en las velocidades rotacionales observadas de sus componentes, determinar el
periodo de pulsacin de una estrella variable basndose en series de datos temporales, y sacar
los valores de los parmetros crticos de un modelo magnetohidrodinmico del viento solar.
Son tres difciles problemas no lineales y multidimensionales.

El algoritmo gentico de Charbonneau, PIKAIA, utiliza seleccin generacional y proporcional a


la aptitud, junto con elitismo, para asegurar que el mejor individuo se copia una vez hacia la
siguiente generacin sin ninguna modificacin. PIKAIA tiene un ritmo de cruzamiento de 0,65 y
un ritmo de mutacin variable que se pone a 0,003 inicialmente y luego aumenta
gradualmente, mientras la poblacin se aproxima a la convergencia, para mantener la
variabilidad en el acervo gentico.

En el problema de la curva de rotacin galctica, el AG produjo dos curvas, y ambas estaban


bien ajustadas a los datos (un resultado comn en este tipo de problema, en el que hay poco
contraste entre cimas cercanas); observaciones posteriores pueden distinguir cul es la
preferible. En el problema de la serie temporal, el AG fue impresionantemente exitoso,
generando un ajuste de los datos de gran calidad, aunque otros problemas ms difciles no se
ajustaron tan bien (aunque, como seala Charbonneau, estos problemas son igualmente
difciles de resolver con tcnicas convencionales). El artculo sugiere que un AG hbrido que
emplee tanto evolucin artificial como tcnicas analticas estndar, podra funcionar mejor.
Finalmente, en el problema de obtener los seis parmetros crticos del viento solar, el AG
determin con xito el valor de tres con una precisin de menos del 0,1% y los otros tres con
precisiones entre el 1 y el 10%. (Aunque siempre seran preferibles unos errores
experimentales menores para estos tres parmetros, Charbonneau seala que no existe
ningn otro mtodo eficiente y robusto para resolver experimentalmente un problema no
lineal 6-dimensional de este tipo; un mtodo de gradiente conjugado funciona ``siempre que
se pueda proporcionar un valor inicial muy acertado'' (p. 323). En contraste, los AGs no
requieren un conocimiento del dominio tan bien afinado).

Basndose en los resultados obtenidos hasta ahora, Charbonneau sugiere que los AGs pueden
y deben encontrar uso en otros problemas difciles de astrofsica, en particular, problemas
inversos como las imgenes por Doppler y las inversiones heliossmicas. Para terminar,
Charbonneau sostiene que los AGs son un ``contendiente poderoso y prometedor'' (p. 324) en
este campo, del que se puede esperar que complemente (no sustituya) a las tcnicas
tradicionales de optimizacin, y concluye que ``el punto decisivo, si es que tiene que haber
alguno, es que los algoritmos genticos funcionan, y a menudo colosalmente bien'' (p. 325).

Qumica

Un pulso lser ultracorto de alta energa puede romper molculas complejas en molculas ms
sencillas, un proceso con aplicaciones importantes en la qumica orgnica y la
microelectrnica. Los productos especficos de una reaccin as pueden controlarse
modulando la fase del pulso lser. Sin embargo, para molculas grandes, obtener la forma del
pulso deseado de manera analtica es demasiado difcil: los clculos son demasiado complejos
y las caractersticas relevantes (las superficies de energa potencial de las molculas) no se
conocen con suficiente precisin.

Assion et al. 1998[6] resolvieron este problema utilizando un algoritmo evolutivo para disear
la forma del pulso. En lugar de introducir informacin compleja, especfica del problema, sobre
las caractersticas cunticas de las molculas iniciales, para disear el pulso conforme a las
especificaciones, el AE dispara un pulso, mide las proporciones de las molculas producto
resultantes, muta aleatoriamente las caractersticas del rayo con la esperanza de conseguir
que estas proporciones se acerquen a la salida deseada, y el proceso se repite. (En lugar de
afinar directamente las caractersticas del rayo lser, el AG de los autores representa a los
individuos como un conjunto de 128 nmeros, en el que cada nmero es un valor de voltaje
que controla el ndice de refraccin de uno de los pixeles del modulador lser. De nuevo, no se
necesita un conocimiento especfico del problema sobre las propiedades del lser o de los
productos de la reaccin). Los autores afirman que su algoritmo, cuando se aplica a dos
sustancias de muestra, ``encuentra automticamente la mejor configuracin... no importa lo
complicada que sea la respuesta molecular'' (p. 921), demostrando un ``control coherente
automatizado de los productos que son qumicamente diferentes uno del otro y de la molcula
padre'' (p. 921).

A principios y mediados de los 90, la amplia adopcin de una novedosa tcnica de diseo de
frmacos, llamada qumica combinatoria, revolucion la industria farmacutica. Con este
mtodo, en lugar de la sntesis precisa y meticulosa de un slo compuesto de una vez, los
bioqumicos mezclan deliberadamente una gran variedad de reactivos para producir una
variedad an mayor de productos -cientos, miles o millones de compuestos diferentes en cada
remesa- que luego pueden aislarse rpidamente para su actividad bioqumica. Hay dos formas
de disear las bibliotecas de reactivos en esta tcnica: diseo basado en los reactivos, que
elige grupos optimizados de reactivos sin considerar qu productos saldrn como resultado, y
diseo basado en los productos, que selecciona los reactivos que producirn con mayor
probabilidad los productos con las propiedades deseadas. El diseo basado en los productos es
ms difcil y complejo, pero se ha demostrado que genera bibliotecas combinatorias mejores y
ms diversas, y tiene ms probabilidades de ofrecer un resultado til.

En un artculo patrocinado por el departamento de investigacin y desarrollo de


GlaxoSmithKline, Gillet 2002[26] describe el uso de un algoritmo gentico multiobjetivo para el
diseo basado en los productos de bibliotecas combinatorias. Al elegir los componentes que
van en una biblioteca particular, deben considerarse caractersticas como la diversidad y peso
molecular, el coste de los suministros, la toxicidad, la absorcin, la distribucin y el
metabolismo. Si el objetivo es encontrar molculas similares a una molcula existente con una
funcin conocida (un mtodo comn en el diseo de nuevos frmacos), tambin se puede
tener en cuenta la similaridad estructural. Este artculo presenta un enfoque multiobjetivo,
donde puede desarrollarse un conjunto de resultados paretianos que maximicen o minimicen
cada uno de estos objetivos. El autor concluye diciendo que el AG fue capaz de satisfacer
simultneamente los criterios de diversidad molecular y eficiencia sinttica mxima, y tambin
fue capaz de encontrar molculas parecidas a un frmaco que eran ``muy similares a las
molculas objetivo dadas, tras explorar una fraccin muy pequea del espacio de bsqueda
total'' (p. 378).

En un artculo relacionado, Glen y Payne 1995[28] describen el uso de algoritmos genticos


para disear automticamente molculas nuevas desde cero que se ajustan a un conjunto de
especificaciones dado. Dada una poblacin inicial, bien generada aleatoriamente o utilizando
la sencilla molcula del etano como semilla, el AG aade, elimina y altera aleatoriamente
tomos y fragmentos moleculares con el objetivo de generar molculas que se ajusten a los
requisitos dados. El AG puede optimizar simultneamente un gran nmero de objetivos,
incluyendo el peso molecular, el volumen molecular, el nmero de enlaces, el nmero de
centros quirales, el nmero de tomos, el nmero de enlaces rotables, la polarizabilidad, el
momento dipolar, etctera, para producer molculas candidatas con las propiedades
deseadas. Basndose en pruebas experimentales, incluyendo un difcil problema de
optimizacin que implicaba la generacin de molculas con propiedades similares a la ribosa
(un componente del azcar imitado a menudo en los frmacos antivirales), los autores
concluyen que el AG es un ``excelente generador de ideas'' (p. 199) que ofrece ``propiedades
de optimizacin rpidas y poderosas'' y puede generar ``un conjunto diverso de estructuras
posibles'' (p. 182). Continan afirmando: ``Es de inters especial la poderosa capacidad de
optimizacin del algoritmo gentico, incluso con tamaos de poblacin relativamente
pequeos'' (p. 200). Como prueba de que estos resultados no son simplemente tericos,
Lemley 2001[45] informa de que la empresa Unilever ha utilizado algoritmos genticos para
disear nuevos componentes antimicrobianos para su uso en productos de limpieza, algo que
ha patentado.

Ingeniera elctrica

Una matriz de puertas programable en campo (Field Programmable Gate Array, o FPGA), es un
tipo especial de placa de circuito con una matriz de celdas lgicas, cada una de las cuales
puede actuar como cualquier tipo de puerta lgica, interconectado con conexiones flexibles
que pueden conectar celdas. Estas dos funciones se controlan por software, as que
simplemente cargando un programa especial en la placa, puede alterarse al vuelo para realizar
las funciones de cualquier dispositivo de hardware de la amplia variedad existente.

El Dr. Adrian Thompson ha explotado este dispositivo, en conjuncin con los principios de la
evolucin, para producir un prototipo de circuito reconocedor de voz que puede distinguir y
responder a rdenes habladas utilizando slo 37 puertas lgicas -una tarea que se habra
considerado imposible para cualquier ingeniero humano. Gener cadenas aleatorias de bits de
ceros y unos y las utiliz como configuraciones de la FPGA, seleccionando los individuos ms
aptos de cada generacin, reproducindolos y mutndolos aleatoriamente, intercambiando
secciones de su cdigo y pasndolo hacia la siguiente ronda de seleccin. Su objetivo era
evolucionar un dispositivo que pudiera en principio discriminar entre tonos de frecuencias
distintas (1 y 10 kilohercios), y luego distinguir entre las palabras habladas ``go'' (adelante) y
``stop'' (para).

Su objetivo se alcanz en 3.000 generaciones, pero el xito fue mayor de lo que haba
anticipado. El sistema que evolucion utilizaba muchas menos celdas que cualquier cosa que
pudiera haber diseado un ingeniero humano, y ni siquiera necesita del componente ms
crtico de los sistemas diseados por humanos -un reloj. Cmo funcionaba? Thompson no
tiene ni idea, aunque ha rastreado la seal de entrada a travs de un complejo sistema de
bucles realimentados del circuito evolucionado. De hecho, de las 37 puertas lgicas que utiliza
el producto final, cinco de ellas ni siquiera estn conectadas al resto del circuito de ninguna
manera -pero si se les retira la alimentacin elctrica, el circuito deja de funcionar. Parece que
la evolucin ha explotado algn sutil efecto electromagntico de estas celdas para alcanzar su
solucin, pero el funcionamiento exacto de la compleja e intrincada estructura evolucionada
sigue siendo un misterio (Davidson 1997[19]).

Altshuler y Linden 1997[2] utilizaron un algoritmo gentico para evolucionar antenas de


alambre con propiedades especificadas a priori. Los autores sealan que el diseo de tales
antenas es un proceso impreciso, comenzando con las propiedades deseadas y luego
determinando la forma de la antena mediante ``conjeturas... intuicin, experiencia, ecuaciones
aproximadas o estudios empricos'' (p. 50). Esta tcnica requiere mucho tiempo, a menudo no
produce resultados ptimos y tiende a funcionar bien slo con diseos simtricos y
relativamente simples. En contraste, con el mtodo del algoritmo gentico, el ingeniero
especifica las propiedades electromagnticas de la antena, y el AG sintetiza automticamente
una configuracin que sirva.

Figure: Una antena gentica de alambre doblado (de Altshuler y Linden 1997, figura 1).

Image genantenna

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

Mercados financieros

Mahfoud y Mani 1996[46] utilizaron un algoritmo gentico para predecir el rendimiento futuro
de 1.600 acciones ofertadas pblicamente. Concretamente, al AG se le asign la tarea de
predecir el beneficio relativo de cada accin, definido como el beneficio de esa accin menos
el beneficio medio de las 1.600 acciones a lo largo del periodo de tiempo en cuestin, 12
semanas (un cuarto del calendario) en el futuro. Como entrada, al AG se le proporcionaron
datos histricos de cada accin en forma de una lista de 15 atributos, como la relacin precio-
beneficio y el ritmo de crecimiento, medidos en varios puntos del tiempo pasado; se le pidi al
AG que evolucionara un conjunto de reglas si/entonces para clasificar cada accin y
proporcionar, como salida, una recomendacin sobre qu hacer con respecto a la accin
(comprar, vender o ninguna prediccin) y un pronstico numrico del beneficio relativo. Los
resultados del AG fueron comparados con los de un sistema establecido, basado en una red
neuronal, que los autores haban estado utilizando para pronosticar los precios de las acciones
y administrar las carteras de valores durante tres aos. Por supuesto, el mercado de valores es
un sistema extremadamente ruidoso y no lineal, y ningn mecanismo predictivo puede ser
correcto el 100% del tiempo; el reto consiste en encontrar un predictor que sea preciso ms de
la mitad de las veces.

En el experiemnto, el AG y la red neuronal hicieron pronsticos al final de la semana para cada


una de las 1.600 acciones, durante doce semanas consecutivas. Doce semanas despus de
cada prediccin, se compar el rendimiento verdadero con el beneficio relativo predicho.
Globalmente, el AG super significativamente a la red neuronal: en una ejecucin de prueba,
el AG predijo correctamente la direccin de una accin el 47,6% de las veces, no hizo
prediccin el 45,8% de las veces y realiz una prediccin incorrecta slo un 6.6% de las veces,
una precisin predictiva total de un 87,8%. Aunque la red neuronal realiz predicciones
precisas ms a menudo, tambin hizo predicciones errneas ms a menudo (de hecho, los
autores especulan que la mayor capacidad del AG para no realizar predicciones cuando los
datos eran dudosos fue un factor de su xito; la red neuronal siempre produce una prediccin
a menos que sea restringida explcitamente por el programador). En el experimento de las
1.600 acciones, el AG produjo un beneficio relativo de un +5,47%, contra el +4,40% de la red
neuronal -una diferencia estadsticamente significativa. De hecho, el AG tambin super
significativamente a tres ndices burstiles importantes -el S&P 500, el S&P 400 y el Russell
2000- en este periodo; la casualidad fue excluda como causa de este resultado con un margen
de confianza de un 95%. Los autores atribuyen este convincente xito a la capacidad del
algoritmo gentico de percatarse de relaciones no lineales difcilmente evidentes para los
observadores humanos, adems del hecho de que carece del ``prejuicio contra las reglas
antiintuitivas y contradictorias'' (p. 562) de los expertos humanos.

Andreou, Georgopoulos y Likothanassis 2002[4] lograron un xito similar utilizando algoritmos


genticos hbridos para evolucionar redes neuronales que predijeran los tipos de cambio de
monedas extranjeras hasta un mes en el futuro. Al contrario que en el ejemplo anterior, donde
competan AGs y redes neuronales, aqu los dos trabajaron conjuntamente: el AG evolucion la
arquitectura (nmero de unidades de entrada, nmero de unidades ocultas y la estructura de
enlaces entre ellas) de la red, que luego era entrenada por un algoritmo de filtro.

Se le proporciaron al algoritmo 1.300 valores brutos diarios de cinco divisas como informacin
histrica -el dlar estadounidense, el marco alemn, el franco francs, la libra esterlina y el
dracma griego- y se le pidi que predijera sus valores futuros para los 1, 2, 5 y 20 das
posteriores. El rendimiento del AG hbrido mostr, en general, un ``nivel excepcional de
precisin'' (p. 200) en todos los casos probados, superando a otros varios mtodos, incluyendo
a las redes neuronales en solitario. Los autores concluyen que ``se ha logrado un excepcional
xito predictivo tanto con un horizonte predictivo de un paso como de varios pasos'' (p. 208) -
de hecho, afirman que sus resultados son mejores con diferencia que cualquier estrategia
predictiva relacionada que se haya aplicado en esta serie de datos u otras divisas.
La utilizacin de los AGs en los mercados financieros ha empezado a extenderse en las
empresas de corretaje burstil del mundo real. Naik 1996[48] informa de que LBS Capital
Management, una empresa estadounidense cons ede en Florida, utiliza algoritmos genticos
para escoger las acciones de los fondos de pensiones que administra. Coale 1997[17] y Begley
y Beals 1995[9] informan de que First Quadrant, una empresa de inversiones de Californa que
mueve ms de 2.200 millones de dlares, utiliza AGs para tomar decisiones de inversin en
todos sus servicios financieros. Su modelo evolucionado gana, de media, 225 dlares por cada
100 dlares invertidos durante seis aos, en contraste con los 205 dlares de otros tipos de
sistemas de modelos.

Juegos

Una de las demostraciones ms novedosas y persuasivas de la potencia de los algoritmos


genticos la presentaron Chellapilla y Fogel 2001[13], que utilizaron un AG para evolucionar
redes neuronales que pudieran jugar a las damas. Los autores afirman que una de las mayores
dificultades en este tipo de problemas relacionados con estrategias es el problema de la
asignacin de crdito -en otras palabras, cmo escribir una funcin de aptitud? Se ha credo
ampliamente que los criterios simples de ganar, perder o empatar no proporcionan la
suficiente informacin para que un algoritmo gentico averige qu constituye el buen juego.

En este artculo, Chellapila y Fogel echan por tierra esa suposicin. Dados slo las posiciones
espaciales de las piezas en el tablero y el nmero total de piezas que posee cada jugador,
fueron capaces de evolucionar un programa de damas que jugaba a un nivel competitivo con
expertos humanos, sin ninguna informacin de entrada inteligente acerca de lo que constituye
el buen juego -es ms, ni siquiera se les dijo a los individuos del algoritmo evolutivo cul era el
criterio para ganar, ni se les dijo el resultado de ningn juego.

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

Clase Puntuacin

Gran Maestro +2.400

Maestro 2.200-2.399

Experto 2.000-2.199

Clase A 1.800-1.999

Clase B 1.600-1.799

Clase C 1.400-1.599

Clase J <200

El mejor individuo que surgi de esta seleccin fue inscrito como competidor en la pgina web
de juegos http://www.zone.com. Durante un periodo de dos meses, jug contra 165
oponentes humanos que componan una gama de niveles altos, desde clase C a maestros, de
acuerdo con el sistema de clasificaciones de la Federacin de Ajedrez de Estados Unidos
(mostrado a la izquierda, con algunos rangos omitidos en aras de claridad). De estas partidas,
la red neuronal gan 94, perdi 39 y empat 32; en base a las clasificaciones de los oponentes
en estas partidas, la red neuronal evolucionada era equivalente a un jugador con una
puntuacin media de 2.045,85, colocndola en el nivel experto -una clasificacin superior a la
del 99,61% de los 80.000 jugadores registrados en la pgina web. Una de las victorias ms
significativas de la red neuronal fue cuando venci a un jugador clasificado en la posicin 98 de
todos los jugadores registrados, cuya puntuacin estaba tan slo 27 puntos por debajo del
nivel de maestro.

Las pruebas realizadas con un sencillo programa diferencial en las piezas (que basa sus
movimientos solamente en la diferencia entre el nmero de piezas que quedan en cada lado)
con una capacidad de anticipacin de 8 movimientos demostr que la red neuronal era
significativamente superior, con una puntuacin de ms de 400 puntos por encima. ``Un
programa que se basa slo en el nmero de piezas y en una bsqueda de ocho capas vencer a
muchas personas, pero no es un experto. La mejor red neuronal evolucionada s lo es'' (p. 425).
Aunque poda buscar posiciones dos movimientos ms lejos que la red neuronal, el programa
diferencial en las piezas perdi contundentemente 8 de 10 partidas. Esto demuestra
concluyentemente que la red neuronal evolucionada no slo est contando piezas, sino que de
alguna manera procesa las caractersticas espaciales del tablero para decidir sus movimientos.
Los autores sealan que los oponentes de zone.com que los movimientos de la red neuronal
eran ``extraos'', pero su nivel global de juego fue descrito como ``muy duro'' o con trminos
elogiosos similares.

Para probar ms a la red neuronal evolucionada (a la que los autores nombraron ``Anaconda''
porque a menudo ganaba restringiendo la movilidad de sus oponentes), jug contra un
programa de damas comercial, el Hoyle Classic Games, distribudo por Sierra Online
(Chellapilla y Fogel 2000[14]). Este programa viene con un surtido de personajes incorporados,
cada uno con un nivel de juego distinto. Anaconda se puso a prueba con tres personajes
(``Beatrice'', ``Natasha'' y ``Leopold'') designados como jugadores expertos, jugando una
partida con las rojas y otra partida con las blancas contra cada uno de ellos con una capacidad
de anticipacin de 6 movimientos. Aunque los autores dudaban de que esta profundidad de
anticipacin pudiera darla a Anaconda la capacidad de juego experto que demostr
anteriormente, consigui seis victorias seguidas de las seis partidas jugadas. Basndose en este
resultado, los autores expresaron escepticismo sobre si el software Hoyle jugaba al nivel que
anunciaba, aunque debe sealarse que llegaron a esta conclusin basndose solamente en la
facilidad con la que Anaconda le venci!

La prueba definitiva de Anaconda se detalla en Chellapilla y Fogel 2002[15], cuando la red


neuronal evolucionada jug contra el mejor jugador de damas del mundo: Chinook, un
programa diseado principalmente por el Dr. Jonathan Schaeffer, de la Universidad de Alberta.
Con una puntuacin de 2.814 en 1996 (mientras que sus competidores humanos ms cercanos
andan por los 2.600), Chinook incorpora un libro de movimientos de apertura proporcionado
por grandes maestros humanos, un conjunto sofisticado de algoritmos de juego para la parte
central de la partida, y una base de datos completa de todos los movimientos posibles cuando
quedan en el tablero 10 piezas o menos, de manera que nunca comete un error durante un
final de partida. Se invirti una cantidad enorme de inteligencia y experiencia humana en el
diseo de este programa.

Chellapilla y Fogel enfrentaron a Anaconda y Chinook en un torneo de 10 partidas, con


Chinook jugando al nivel de 5 capas de anticipacin, aproximndolo ms o menos al nivel de
maestro. Chinook gan esta competicin, cuatro victorias a dos, con cuatro empates.
(Curiosamente, como sealan los autores, en dos de las partidas que acabaron con empate,
Anaconda lideraba con cuatro damas mientras que Chinook tena tres. Adems, una de las
victorias de Chinook vino tras una serie de movimientos con bsqueda de 10 capas sacados de
su base de datos de finales de partida; unos movimientos que Anaconda, con una anticipacin
de 8 capas, no pudo anticipar. Si Anaconda hubiera tenido acceso a una base de datos de
finales de partida de la misma calidad de la de Chinook, el resultado del torneo bien podra
haber sido el de victoria para Anaconda, cuatro a tres). Estos resultados ``proporcionan un
buen sustento a la puntuacin de experto que se gan Anaconda en www.zone.com'' (p. 76),
con una puntuacin global de 2.030-2.055, comparable a la puntuacin de 2.045 que gan
jugando contra humanos. Aunque Anaconda no es un jugador invulnerable, es capaz de jugar
competitivamente en el nivel experto y comportarse ante una variedad de jugadores de damas
humanos extremadamente hbiles. Cuando uno considera los criterios de aptitud tan sencillos
con los que se obtuvieron estos resultados, el surgimiento de Anaconda proporciona una
espectacular corroboracin del poder de la evolucin.
Geofsica

Sambridge y Gallaguer 1993[56] utilizaron un algoritmo gentico para los hipocentros de los
terremotos basndose en datos sismolgicos. (El hipocentro es el punto bajo la superficie
terrestre en el que se origina un terremoto. El epicentro es el punto de la superficie
directamente encima del hipocentro). Esto es una tarea sumamente compleja, ya que las
propiedades de las ondas ssmicas dependen de las propiedades de las capas de roca a travs
de las que viajan. El mtodo tradicional para localizar el hipocentro se basa en lo que se
conoce como algoritmo de inversin ssmico, que empieza con la mejor estimacin de la
ubicacin, calcula las derivadas del tiempo de viaje de la onda con respecto al punto de origen,
y realiza una operacin de matriz para proporcionar una ubicacin actualizada. Este proceso se
repite hasta que se alcanza una solucin aceptable. (Este Mensaje del Mes, de noviembre de
2003, proporciona ms informacin). Sin embargo, este mtodo requiere informacin
diferencial y es propenso a quedar atrapado en ptimos locales.

Un algoritmo de localizacin que no dependa de informacin diferencial o modelos de


velocidad puede evitar esta deficiencia calculando slo el problema directo -la diferencia entre
los tiempos de llegada de la onda observados y predichos para distintas localizaciones del
hipocentro. Sin embargo, un mtodo de bsqueda exhaustivo basado en este mtodo sera
demasiado costoso computacionalmente. ste, por supuesto, es precisamente el tipo de
problema de optimizacin en el que destacan los algoritmos genticos. Como todos los AGs, el
propuesto por el artculo citado es paralelo en naturaleza -en lugar de mover un solo
hipocentro ms y ms cerca hacia la solucin, comienza con una nube de hipocentros
potenciales que encoge con el tiempo hasta converger en una sola solucin. Los autores
afirman que su mtodo ``puede localizar rpidamente soluciones casi ptimas sin una
bsqueda exhaustiva del espacio de parmetros'' (p. 1.467), muestra ``un comportamiento
muy organizado que produce una bsqueda eficiente'' y es ``un compromiso entre la eficiencia
de los mtodos basados en derivadas y la robustez de una bsqueda exhaustiva
completamente no lineal'' (p. 1.469). Los autores concluyen que su algoritmo gentico es
``eficiente para una verdadera optimizacin global'' (p. 1.488) y ``una herramienta nueva y
poderosa para realizar bsquedas robustas de hipocentros'' (p. 1.489).

Ingeniera de materiales

Giro, Cyrillo y Galvo 2002[27] utilizaron algoritmos genticos para disear polmeros
conductores de electricidad basados en el carbono, conocicos como polianilinas. Estos
polmeros, un tipo de material sinttico inventado recientemente, tienen ``grandes
aplicaciones tecnolgicas potenciales'' y podran abrir la puerta a ``nuevos fenmenos fsicos
fundamentales'' (p. 170). Sin embargo, debido a su alta reactividad, los tomos de carbono
pueden formar un nmero virtualmente infinito de estructuras, haciendo que la bsqueda de
nuevas molculas con propiedades interesantes sea del todo imposible. En este artculo, los
autores aplican un enfoque basado en AGs a la tarea de disear molculas nuevas con
propiedades especificadas a priori, comenzando con una poblacin de candidatos iniciales
generada aleatoriamente. Concluyen que su metodologa puede ser una ``herramienta muy
efectiva'' (p. 174) para guiar a los investigadores en la bsqueda de nuevos compuestos y es lo
suficientemente general para que pueda extenderse al diseo de nuevos materiales que
pertenezcan virtualmente a cualquier tipo de molcula.

Weismann, Hammel, y Bck 1998[63] aplicaron algoritmos evolutivos a un problema industrial


``no trivial'' (p. 162): el diseo de revestimientos pticos multicapa para filtros que reflejan,
transmiten o absorben luz de frecuencias especificadas. Estos revestimientos se utilizan en la
fabricacin de gafas de sol, por ejemplo, o discos compactos. Su fabricacin es una tarea
precisa: las capas deben colocarse en una secuencia particular y con un grosor particular para
producir el resultado deseado, y las variaciones incontrolables del entorno de fabricacin,
como la temperatura, la polucin o la humedad, pueden afectar al rendimiento del producto
acabado. Muchos ptimos locales no son robustos ante estas variaciones, lo que significa que
una mayor calidad del producto se paga con una tasa mayor de desviaciones indeseadas. El
problema particular considerado en este artculo tambin tena mltiples criterios: adems de
la reflectancia, tambin se consider la composicin espectral (color) de la luz reflejada.

El AE actu variando el nmero de capas de revestimiento y el grosor de cada una de ellas, y


produjo diseos que eran ``sustancialmente ms robustos a la variacin de parmetros'' (p.
166) y tenan un rendimiento medio mayor que los mtodos tradicionales. Los autores
concluyen que ``los algoritmos evolutivos pueden competir e incluso superar a los mtodos
tradicionales'' (p. 167) de diseo de revestimientos pticos multicapa, sin tener que incorporar
un conocimiento especfico del dominio en la funcin de bsqueda y sin tener que alimentar a
la poblacin con buenos diseos iniciales.

Es digno de mencin otro uso de los AGs en el campo de la ingeniera de materiales: Robin et
al. 2003[54] utilizaron AGs para disear patrones de exposicin para un haz de electrones de
litografa, utilizado para grabar estructuras a una escala menor a la del micrmetro en circuitos
integrados. Disear estos patrones es una tarea muy difcil; es pesado y costoso determinarlos
experimentalmente, pero la alta dimensionalidad del espacio de bsqueda frustra a la mayora
de los algoritmos de bsqueda. Deben optimizarse simultneamente hasta 100 parmetros
para controlar el haz de electrones y evitar la dispersin y efectos de proximidad que
arruinaran las estructuras finas que se estn esculpiendo. El problema directo -determinar la
estructura resultante como funcin de la cantidad de electrones- es sencillo y fcil de simular,
pero el problema inverso de determinar la cantidad de electrones para producir una estructura
dada, que es lo que se pretende resolver aqu, es mucho ms difcil y no existe una solucin
determinista.

Se aplicaron algoritmos genticos a este problema, ya que ``se sabe que son capaces de
encontrar soluciones buenas a problemas muy complejos de alta dimensionalidad'' (p. 75) sin
necesidad de proporcionarles informacin especfica del dominio acerca de la topologa del
paisaje de bsqueda. Los autores del artculo emplearon un AG de estado estacionario con
seleccin por rueda de ruleta en una simulacin por computador, que produjo unos patrones
de exposicin ``muy bien optimizados'' (p. 77). En contraste, se utiliz un tipo de trepacolinas
conocido como algoritmo bajacolinas-simplex (simplex-downhill) en el mismo problema, sin
xito; el mtodo BS quedaba rpidamente atrapado en ptimos locales de los que no poda
escapar, produciendo soluciones de poca calidad. Un hbrido entre los mtodos del AG y el BS
tampoco pudo mejorar los resultados ofrecidos por el AG en solitario.

Matemticas y algoritmia

Aunque algunas de las aplicaciones ms prometedoras y las demostraciones ms convincentes


de la potencia de los AGs se encuentran en el campo de la ingeniera de diseo, tambin son
relevantes en problemas ``puramente'' matemticos. Haupt y Haupt 1998[34] (p. 140)
describen el uso de AGs para resolver ecuaciones de derivadas parciales no lineales de alto
orden, normalmente encontrando los valores para los que las ecuaciones se hacen cero, y dan
como ejemplo una solucin casi perfecta para los coeficientes de la ecuacin de quinto orden
conocida como Super Korteweg-de Vries.

Ordenar una lista de elementos es una tarea importante en la informtica, y una red de
ordenacin es una manera eficiente de conseguirlo. Una red de ordenacin es una lista fija de
comparaciones realizadas en un conjunto de un tamao dado; en cada comparacin se
comparan dos elementos y se intercambian si no estn en orden. Koza et al. 1999[41] (p. 952)
utilizaron programacin gentica para evolucionar redes de ordenacin mnimas para
conjuntos de 7 elementos (16 comparaciones), conjuntos de 8 elementos (19 comparaciones)
y conjuntos de 9 elementos (25 comparaciones). Mitchell 1996[47], p. 21, describe el uso de
algoritmos genticos por W. Daniel Hillis para encontrar una red de ordenacin de 61
comparaciones para un conjunto de 16 elementos, slo un paso ms all de la ms pequea
conocida. Este ltimo ejemplo es especialmente interesante por las dos innovaciones que
utiliza: cromosomas diploides y, ms notablemente, coevolucin de husped/parsito. Tanto
las redes de bsqueda como los casos de prueba evolucionaron conjuntamente; se les otorg
mayor aptitud a las redes de ordenacin que ordenaran correctamente un mayor nmero de
casos de prueba, mientras que se les otorg mayor aptitud a los casos de prueba que pudieran
``engaar'' a un mayor nmero de redes de bsqueda para que ordenaran incorrectamente. El
AG con coevolucin rindi significativamente mejor que el mismo AG sin ella.

Un ejemplo final de AG digno de mencin en el campo de la algoritmia puede encontrarse en


Koza et al. 1999[41], que utiliz programacin gentica para descubrir una regla para el
problema de clasificacin por mayora en autmatas celulares de una dimensin, una regla
mejor que todas las reglas conocidas escritas por humanos. Un autmata celular de una
dimensin puede imaginarse como una cinta finita con un nmero dado de posiciones (celdas)
en ella, cada una de las cuales puede contener el estado 0 o el estado 1. El autmata se
ejecuta durante un nmero dado de pasos temporales; en cada paso, cada celda adquiere un
nuevo valor basado en su valor anterior y el valor de sus vecinos ms cercanos. (El Juego de la
Vida es un autmata celular bidimensional). El problema de la clasificacin por mayora implica
encontrar una tabla de reglas tal que si ms de la mitad de las celdas de la cinta son 1
inicialmente, todas las celdas se ponen a 1; de lo contrario, todas las celdas se ponen a 0. El
reto consiste en el hecho de que cualquier celda individual slo tiene acceso a informacin
acerca de sus vecinos ms cercanos; por lo tanto, los conjuntos de reglas buenos deben
encontrar de algn modo una manera de transmitir informacin sobre regiones distantes de la
cinta.

Se sabe que no existe una solucin perfecta a este problema -ningn conjunto de reglas puede
clasificar con precisin todas las configuraciones iniciales posibles-, pero durante los ltimos
veinte aos ha habido una larga sucesin de soluciones cada vez mejores. En 1978, tres
investigadores desarrollaron la famosa regla GKL, que clasifica correctamente un 81,6% de los
posibles estados iniciales. En 1993, se descubri una regla mejor con una precisin de un
81,8%; en 1995 se encontr otra regla con una precisin de un 82,178%. Todas estas reglas
requirieron para su desarrollo de un esfuerzo significativo por parte de humanos inteligentes y
creativos. En contraste, la mejor regla descubierta mediante programacin gentica, descrito
en Koza et al. 1999[41], p. 973, tiene una precisin total de 82,326% -mejor que cualquiera de
las soluciones humanas desarrolladas durante las dos ltimas dcadas. Los autores sealan
que sus nuevas reglas son cualitativamente distintas a las reglas publicadas con anterioridad, al
emplear representaciones internas muy detalladas de la densidad de estados y conjuntos
intrincados de seales para comunicar informacin a largas distancias.

Ejrcito y cumplimiento de la ley

Kewley y Embrechts 2002[39] utilizaron algoritmos genticos para evolucionar planes tcticos
para las batallas militares. Los autores sealan que ``planear una batalla militar tctica es una
tarea compleja multidimensoinal que a menudo atormenta a los profesionales
experimentados'' (p. 163), no slo porque este tipo de decisiones a menudo se toman bajo
condiciones de mucho estrs, sino tambin porque hasta los planes ms sencillos requieren
tomar en cuenta un gran nmero de variables y consecuencias: minimizar las bajas amigas,
maximizar las bajas enemigas, controlar el terreno deseado, conservar recursos, etctera. Los
planificadores humanos tienen dificultades al tratar con las complejidades de esta tarea y a
menudo deben recurrir a mtodos ``rpidos y sucios'', como hacer lo que funcionase la ltima
vez.

Para superar estas dificultades, los autores del artculo citado desarrollaron un algoritmo
gentico para automatizar la creacin de planes de batalla, en conjuncin con un programa
grfico de simulacin de batallas. El comandante introduce el resultado deseado y el AG
evoluciona automticamente un plan de batalla; en la simulacin utilizada, se tomaron en
cuenta factores como la topografa del terreno, la cobertura vegetal, la velocidad del
movimiento de tropas, y la precisin en los disparos. En este experimento tambin se utiliz la
coevolucin para mejorar la calidad de las soliciones: los planes de batalla de las fuerzas
enemigas evolucionaron simultneamente con los planes amigos, forzando al AG a corregir
cualquier debilidad de su plan que pudiese explotar el enemigo. Para medir la calidad de las
soluciones producidas por el AG, se compararon con planes de batalla para el mismo escenario
producidos por un grupo de ``expertos militares experimentados... considerados muy capaces
de desarrollar planes de accin para el tamao de las fuerzas utilizadas en este experimento''
(p. 166). Estos avezados expertos desarrollaron su propio plan y, cuando la solucin del AG
estuvo acabada, se les dio la oportunidad de examinarla y modificarla como vieran
conveniente. Finalmente, todos los planes se ejecutaron varias veces en el simulador para
determinar su calidad media.

Los resultados hablan por s mismos: la solucin evolucionada super tanto al propio plan de
los expertos militares como al plan producido por sus modificaciones sobre la solucin del AG.
``...Los planes producidos por los algoritmos automticos tenan un rendimiento medio
significativamente mayor al de los generados por los experimentados expertos militares'' (p.
161). Es ms, los autores sealan que el plan del AG tena sentido tctico. (Consista en un
ataque a dos flancos a la posicin enemiga por pelotones de infantera mecanizada apoyados
por helicpteros de ataque y exploradores terrestres, en conjuncin con vehculos areos no
tripulados realizando labores de reconocimiento para el fuego directo de artillera). Por
aadidura, el plan evolucionado inclua unidades amigas individuales llevando a cabo misiones
doctrinales -una propiedad emergente que apareci durante el curso de la ejecucin, en lugar
de ser especificada por el experimentador. En campos de batalla modernos, cada vez ms
conectados por red, el atractivo potencial de un algoritmo evolutivo que pueda automatizar la
produccin de planes tcticos de alta calidad debera ser obvio.

Naik 1996[48] informa de un uso interesante de los AGs en el cumplimiento de la ley,


describiendo el software ``FacePrints'', un proyecto para ayudar a los testigos a identificar y
describir a los sospechosos criminales. La imagen clich del artista polica haciendo un dibujo
del rostro del sospechoso en base a la descripcin de los testigos es un mtodo difcil e
ineficiente: la mayora de la gente no es buena describiendo aspectos individuales del rostro
de una persona, como el tamao de la nariz o la forma de la mandbula, pero sin embargo son
mejores al reconocer caras completas. FacePrints aprovecha esto utilizando un algoritmo
gentico que evoluciona dibujos de caras basndose en bases de datos de cientos de
caractersticas individuales que pueden combinarse de infinitas maneras. El programa muestra
a los testigos imgenes de rostros generadas aleatoriamente, y stos escogen las que ms se
parecen a la persona que vieron; las caras seleccionadas mutan y se combinan para generar
nuevas combinaciones de caractersticas, y el proceso se repite hasta que emerge un retrato
preciso del rostro del sospechoso. En un caso real de atraco, los retratos definitivos que
crearon los tres testigos eran sorprendentemente parecidos, y el dibujo resultante apareci en
el peridico local.

Biologa molecular

En los seres vivos, las protenas transmembrana son protenas que sobresalen de una
membrana celular. Las protenas transmembrana realizan a menudo funciones importantes
como detectar la presencia de ciertas sustancias en el exterior de la clula o transportarlas
hacia el interior de la clula. Para comprender el comportamiento de una protena
transmembrana es necesario identificar el segmento de la protena que realmente est
insertado en la membrana, lo que se conoce como dominio transmembrana. Durante las dos
ltimas dcadas, los bilogos moleculares han publicado una serie de algoritmos cada vez ms
precisos para este propsito.

Todas las protenas utilizadas por los seres vivos estn formadas por los mismos 20
aminocidos. Algunos de estos aminocidos son hidrofbicos, lo que significa que repelen el
agua, y algunos son hidroflicos, lo que significa que atraen el agua. Las secuencias de
aminocidos que son parte de un dominio transmembrana tienen probabilidad de ser
hidrofbicas. Sin embargo, la hidrofobicidad no es una caracterstica definida con precisin, y
no existe acuerdo sobre una escala para medirla.

Koza et al. 1999[41], captulo 16, utilizaron programacin gentica para disear un algoritmo
que identificase el dominio transmembrana de una protena. Se le suministr al programa
gentico un conjunto de operadores matemticos estndares con los que trabajar, adems de
un conjunto de funciones booleanas para la deteccin de aminocidos que devuelven +1 si el
aminocido de una posicin dada es el aminocido que detectan o -1 en caso contrario. (Por
ejemplo, la funcin A? recibe como argumento un nmero que corresponde a una posicin
dentro de la protena, y devuelve +1 si el aminocido de esa posicin es alanina, denotado por
la letra A, y si no devuelve -1). Una variable de memoria compartida contena una cuenta de la
suma total, y cuando el algoritmo acababa, el segmento protenico se identificaba como
dominio transmembrana si su valor era positivo. Con tan slo estas herramientas, hara falta
ms informacin para que un diseador humano produjese una solucin eficiente a este
problema?

Las aptitudes de las soluciones producidas por la programacin gentica fueron evaluadas
probndolas con 246 segmentos protenicos de los que se conoca su condicin de
transmembrana. Luego se evalu al mejor individuo de la prueba con 250 casos adicionales
inditos (out-of-sample), y se compar su efectividad con la de los cuatro mejores algoritmos
humanos para el mismo propsito. El resultado: la programacin gentica produjo un
algoritmo de identificacin de segmentos transmembrana con una tasa total de error del 1,6%-
significativamente menor que las de los cuatro algoritmos humanos, el mejor de los cuales
tena una tasa de error del 2,5%. El algoritmo diseado genticamente, al que los autores
llamaron regla 0-2-4, funciona de la manera siguiente:

Incrementar la suma en 4 unidades por cada instancia de cido glutmico (un aminocido
cargado elctricamente y muy hidroflico) del segmento protenico.

Incrementar la suma en 0 unidades por cada instancia de alanina, fenilanalina, isoleucina,


leucina, meionina o valina (todos aminocidos muy hidrofbicos) del segmento protenico.

Incrementar la suma en 2 unidades por cada instancia de cualquier otro aminocido.


Si [(SUMA - 3,1544)/0,9357] es menor que la longitud del segmento protenico, clasificar ese
segmento como dominio transmembrana; de lo contrario, clasificarlo como dominio no
transmembrana.

Reconocimiento de patrones y explotacin de datos

La competicin en la industria actual de las telecomunicaciones es feroz, y se ha acuado un


nuevo trmino -``fuga''1- para describir la velocidad a la que los usuarios se cambian de un
proveedor de servicios a otro. La fuga le cuesta a las compaas de telecomunicaciones una
gran cantidad de dinero cada ao, y reducir las fugas es un factor importante para aumentar la
rentabilidad. Si las compaas pueden contactar con los clientes que tienen probabilidad de
cambiar y ofrecerles incentivos especiales para que se queden, puede reducirse la tasa de
fugas; pero ninguna compaa tiene los recursos para contactar a ms de un pequeo
porcentaje de sus clientes. El problema es, por tanto, cmo identificar a los clientes que ms
piensen fugarse con mayor probabilidad. Todas las compaas tienen grandes bases de datos
con informacin de los clientes que tericamente puede utilizarse para este propsito; pero
qu mtodo funciona mejor para examinar esta enorme cantidad de datos e identificar los
sutiles patrones y tendencias que indican la probabilidad de fuga de un cliente?

Au, Chan y Yao 2003[7] aplicaron algoritmos genticos a este problema para generar un
conjunto de reglas de tipo si-entonces para predecir la probabilidad de fuga de distintos
grupos de clientes. En su AG, la primera generacin de reglas, todas las cuales tenan una
condicin, fue generada utilizando una tcnica de induccin probabilstica. Las generaciones
posteriores las refinaron, combinando sencillas reglas de una condicin con reglas ms
complejas con varias condiciones. Para la medicin de la aptitud se utiliz una medida de
correlacin objetiva de la ``interesantitud'', que no necesitaba informacin de entrada
subjetiva. El algoritmo evolutivo de explotacin de datos se prob sobre una base de datos
real de 100.000 clientes proporcionada por una compaa malasia, y su rendimiento se
compar con el de dos mtodos alternativos: una red neuronal multicapa y un algoritmo
basado en rbol de decisiones ampliamente utilizado, el C4.5. Los autores afirman que su AE
fue capaz de descubrir regularidades ocultas en la base de datos y ``fue capaz de hacer
predicciones precisas de fuga con distintas tasas de fuga'' (p. 542), superando al C4.5 bajo
todas las circunstancias, superando a la red neuronal en tasas mensuales de fuga bajas e
igualndola en tasas de fuga mayores y, en ambos casos, alcanzando las conclusiones ms
rpidamente. Algunas ventajas ms del enfoque evolutivo son que puede funcionar
eficientemente incluso cuando faltan algunos campos de datos, y que puede expresar sus
descubrimientos en conjuntos de reglas fcilmente comprensibles, al contrario que la red
neuronal.

Entre algunas de las reglas ms interesantes halladas por el AE se encuentran las siguientes:
los clientes tienen ms probabilidad de fugarse si se han suscrito personalmente al plan de
servicios y no han sido admitidos en ningn plan de bonificacin (una solucin potencial sera
admitir a todos esos clientes en planes de bonificacin); los clientes tienen ms probabilidad
de fugarse si viven en Kuala Lumpur, tienen entre 36 y 44 aos y pagan sus facturas en efectivo
(supuestamente porque es ms fcil cambiarse de proveedor para los clientes que pagan al
contado, a diferencia de los que cargan en cuenta automticamente); y los clientes que viven
en Penang y contrataron a travs de un cierto vendedor tienen ms probabilidades de fugarse
(este vendedor puede estar proporcionando un mal servicio al cliente y debera ser
investigado).

Rizki, Zmuda y Tamburino 2002[53] utilizaron algoritmos evolutivos para evolucionar un


complejo sistema de reconocimiento de patrones con una amplia variedad de usos
potenciales. Los autores sealan que el reconocimiento de patrones es una tarea cada vez ms
realizada por algoritmos de aprendizaje automtico, en particular, algoritmos evolutivos. La
mayora de ellos comienzan con un acervo de caractersticas predefinidas, del que un AE
puede seleccionar combinaciones apropiadas para la tarea en cuestin; en contraste, este
mtodo empezaba desde cero, primero evolucionando detectores individuales de
caracterstica en forma de rboles de expresiones, y luego evolucionando combinaciones
cooperativas de esos detectores para producir un sistema completo de reconocimiento de
patrones. El proceso evolutivo selecciona automticamente el nmero de detectores de
caracterstica, la complejidad de los detectores y los aspectos especficos de los datos a los que
responde cada detector.

Para probar su sistema, los autores le asignaron la tarea de clasificar aviones basndose en sus
reflexiones rdar. Un mismo tipo de avin puede devolver seales bastante distintas
dependiendo del ngulo y elevacin desde el que se le observa, y distintos tipos de avin
pueden devolver seales muy parecidas, as que esto no es una tarea trivial. El sistema de
reconocimiento de patrones evolucionado clasific correctamente un 97,2% de los objetivos,
un porcentaje neto mayor que el de las otras tres tcnicas -una red neuronal perceptrn, un
algoritmo clasificador KNN y un algoritmo de base radial- con las que fue comparado. (La
precisin de la red de base radial era slo un 0,5% menor que la del clasificador evolucionado,
una diferencia que no es estadsticamente significativa, pero la red de base radial necesit 256
detectores de caracterstica mientras que el sistema reconocedor evolucionado slo utiliz
17). Como afirman los autores, ``los sistemas de reconocimiento que evolucionan utilizan
menos caractersticas que los sistemas producidos utilizando tcnicas convencionales, pero
consiguen una precisin de reconocimiento comparable o superior'' (p. 607). Tambin se han
aplicado varios aspectos de su sistema en problemas que incluyen el reconocimiento ptico de
caracteres, la revisin industrial y el anlisis mdico de imgenes.

Hughes y Leyland 2000[37] tambin aplicaron AGs multiobjetivo a la tarea de clasificar


objetivos basndose en sus reflexiones rdar. Los datos de una seccin transversal rdar de
alta resolucin necesitan enormes cantidades de espacio de almacenamiento en disco, y
producir un modelo realista de la fuente a partir de los datos es muy costoso
computacionalmente. En contraste, el mtodo basado en el AG de los autores demostr ser
muy exitoso, produciendo un modelo tan bueno como el del mtodo iterativo tradicional, pero
reduciendo el gasto computacional y las necesidades de almacenamiento hasta el punto de
que era factible generar buenos modelos en un ordenador de escritorio. En contraste, el
mtodo iterativo tradicional requiere diez veces ms resolucin y 560.000 veces ms accesos a
los datos de imagen para producir modelos de calidad similar. Los autores concluyen que sus
resultados ``demuestran claramente'' (p. 160) la capacidad del AG de procesar datos de rdar
bidimensionales y tridimensionales de cualquier nivel de resolucin con muchos menos
clculos que los mtodos tradicionales, manteniendo una precisin aceptablemente alta.

Robtica

El torneo internacional RoboCup es un proyecto para promocionar el avance de la robtica, la


inteligencia artificial y los campos relacionados, proporcionando un problema estndar con el
que probar las nuevas tecnologas -concretamente, es un campeonato anual de ftbol entre
equipos de robots autnomos. (El objetivo fijado es desarrollar un equipo de robots
humanoides que puedan vencer al equipo humano de ftbol que sea campen del mundo en
2050; actualmente, la mayora de los equipos de robots participantes funcionan con ruedas).
Los programas que controlan a los miembros del equipo robtico deben exhibir un
comportamiento complejo, decidiendo cundo bloquear, cundo tirar, cmo moverse, cundo
pasar la pelota a un compaero, cmo coordinar la defensa y el ataque, etctera. En la liga
simulada de 1997, David Andre y Astro Teller inscribieron a un equipo llamado Darwin United
cuyos programas de control haban sido desarrollados automticamente desde cero mediante
programacin gentica, un desafo a la creencia convencional de que ``este problema es
simplemente demasiado difcil para una tcnica como sa'' (Andre y Teller 1999[3], p. 346).

Para resolver este difcil problema, Andre y Teller le proporcionaron al programa gentico un
conjunto de funciones de control primitivas como girar, moverse, tirar, etctera. (Estas
funciones estaban tambin sujetas al cambio y refinamiento durante el curso de la evolucin).
Su funcin de aptitud, escrita para que recompensara el buen juego en general en lugar de
marcar goles expresamente, proporcionaba una lista de objetivos cada vez ms importantes:
acercarse a la pelota, golpear la pelota, conservar la pelota en el campo contrario, moverse en
la direccin correcta, marcar goles y ganar el partido. Debe sealarse que no se suministr
ningn cdigo para ensear especficamente al equipo cmo conseguir estos objetivos
complejos. Luego los programas evolucionados se evaluaron utilizando un modelo de seleccin
jerrquico: en primer lugar, los equipos candidatos se probaron en un campo vaco y, si no
marcaban un gol en menos de 30 segundos, se rechazaban. Luego se evaluaron hacindoles
jugar contra un equipo estacionario de ``postes pateadores'' que golpeaban la pelota hacia el
campo contrario. En tercer lugar, el equipo jugaba un partido contra el equipo ganador de la
competicin RoboCup de 1997. Finalmente, los equipos que marcaron al menos un gol contra
este equipo jugaron unos contra otros para determinar cul era el mejor.

De los 34 equipos de su divisin, Darwin United acab en decimosptima posicin, situndose


justo en el medio de la clasificacin y superando a la mitad de los participantes escritos por
humanos. Aunque una victoria en el torneo sin duda habra sido ms impresionante, este
resultado es competitivo y significante de pleno derecho, y lo parece an ms a la luz de la
historia. Hace unos 25 aos, los programas informticos que jugaban al ajedrez estaban en su
infancia; por primera vez, una computadora haba sido inscrita recientemente en una
competicin regional, aunque no gan (Sagan 1979[55], p. 286). Pero ``una mquina que juega
al ajedrez a un nivel medio de la capacidad humana es una mquina muy capaz'' (ibid.), y
podra decirse que lo mismo es cierto para el ftbol robotizado. Si las mquinas de ajedrez
actuales compiten al nivel de los grandes maestros, qu tipo de sistemas producir la
programacin gentica dentro de 20 o 30 aos?

Diseo de rutas y horarios

Burke y Newall 1999[11] utilizaron algoritmos genticos para disear los horarios de los
exmenes universitarios. Se sabe que, en general, el problema del horario es NP-completo, lo
que significa que no se conoce un mtodo para hallar con garantas una solucin ptima en un
tiempo razonable. En un problema as, hay restricciones duras -no puede asignarse el mismo
aula a dos exmenes a la vez- y restricciones suaves -si es posible, no deben asignarse varios
exmenes en sucesin a un mismo estudiante, para minimizar la fatiga. Las restricciones duras
deben satisfacerse, mientras que las restricciones suaves deben satisfacerse lo mximo
posible. Los autores llaman ``algoritmo memtico'' a su mtodo hbrido para resolver este
problema: un algoritmo evolutivo con seleccin por rango proporcional a la aptitud,
combinado con un trepacolinas local para optimizar las soluciones halladas por el AE. El AE se
utiliz en cuatro conjuntos de datos de universidades reales (la menor de las cuales tena
25.000 alumnos), y sus resultados se compararon con los resultados producidos por un
mtodo heurstico de vuelta atrs, un algoritmo muy consolidado que se encuentra entre los
mejores que se conocen para este problema y que se utiliza en varias universidades.
Comparado con este mtodo, el AE produjo un resultado con una reduccin de la penalizacin
bastante uniforme del 40%.

He y Mort 2000[35] aplicaron algoritmos genticos al problema de hallar rutas ptimas en las
redes de telecomunicaciones (como las redes de telefona e Internet), que se usan para
transmitir datos desde los remitentes hasta los destinatarios. Esto es un problema NP-difcil,
un tipo de problema para el que los AGs son ``extremadamente aptos... y han encontrado una
enorme variedad de aplicaciones exitosas en esos campos'' (p. 42). Es adems un problema
multiobjetivo, en el que hay que equilibrar objetivos en conflicto como maximizar el caudal de
datos, minimizar los retrasos en la transmisin y la prdida de datos, encontrar caminos de
bajo coste y distribur la carga uniformemente entre los encaminadores o conmutadores de la
red. Cualquier algoritmo real satisfactorio debe tambin ser capaz de redirigir el trfico de las
rutas principales que fallen o estn congestionadas.

En el AG hbrido de los autores se utiliz un algoritmo de tipo ``primero el camino ms corto'',


que minimiza el nmero de ``saltos'' que debe realizar un paquete de datos dado, para generar
la semilla de la poblacin inicial. Sin embargo, esta solucin no tiene en cuenta la congestin o
fallo de los enlaces, condiciones inevitables en redes reales, y es entonces cuando el AG toma
el control, intercambiando secciones de rutas. Cuando se prob sobre un conjunto de datos
derivado de una base de datos en red real de Oracle, se descubri que el AG era capaz de
redirigir enlaces rotos o congestionados, equilibrar la carga de trfico y maximizar el caudal
total de la red. Los autores afirman que estos resultados demuestran la ``efectividad y
escalabilidad'' del AG y que ``se pueden conseguir soluciones ptimas o casi ptimas'' (p. 49).
Esta tcnica ha encontrado aplicaciones reales para propsitos similares, como informan
Begley y Beals 1995[9]. La compaa de telecomunicaciones U.S. West (ahora fusionada con
Qwest) se enfrent a la tarea de desplegar una red de fibra ptica. Hasta hace poco, el
problema de disear la red para minimizar la longitud total de cable desplegado era resuelto
por un ingeniero experimentado; ahora la compaa utiliza un algoritmo gentico para realizar
la tarea automticamente. Los resultados: ``El tiempo de diseo para las redes nuevas ha cado
de dos meses a dos das, y le supone un ahorro a U.S. West de 1 milln a 10 millones de
dlares cada una'' (p. 70).

Jensen 2003[38] y Chryssolouris y Subramaniam 2001[16] aplicaron algoritmos genticos a la


tarea de generar programas para lneas de montaje (job shop scheduling). ste es un problema
de optimizacin NP-difcil con mltiples criterios: deben tomarse en cuenta factores como el
coste, los retrasos y el rendimiento, y puede que se tenga que cambiar al vuelo el programa de
la lnea de montaje debido a averas en la maquinaria, ausencia de empleados, retrasos en la
entrega de piezas, y otras complicaciones, lo que hace que la robustez del programa sea una
consideracin importante. Ambos artculos concluyen que los AGs son significativamente
superiores a las reglas de despacho de prioridad utilizadas comnmente, al producir
programas eficientes que pueden tratar con ms facilidad los retrasos y las averas. Estos
resultados no son simplemente tericos, sino que se han aplicado a situaciones reales:

Como informa Naik 1996[48], los organizadores de los Juegos Paraolmpicos de 1992 utilizaron
un AG para disear los horarios de los eventos. Como informa Petzinger 1995[50], John Deere
& Co. ha utilizado AGs para generar los programas de montaje para una planta de Moline,
Illinois, que fabrica plantadoras y otras maquinarias agrcolas pesadas. Al igual que los coches
de lujo, stas pueden construrse en una gran variedad de configuraciones con muchas partes
y opciones distintas, y la enorme cantidad de maneras posibles de construirlas implica que el
diseo eficiente de programas de montaje sea un problema aparentemente intratable. La
productividad se vea mermada por cuellos de botella en el montaje, los equipos de
trabajadores discutan, y se estaba perdiendo dinero. Finalmente, en 1993, Deer acudi a Bill
Fulkerson, un analista e ingeniero de personal que concibi la utilizacin de un algoritmo
gentico para producir programas de montaje para la planta. Tras superar el escepticismo
inicial, el AG demostr su vala rpidamente: la produccin mensual aument un 50 por ciento,
el tiempo extra casi desapareci y otras plantas de Deere estn incorporando los AGs en sus
propios diseos de programas de montaje.

Como informa Rao 1998[52], Volvo ha utilizado un programa evolutivo llamado OptiFlex para
disear el programa de montaje de su fbrica de Dubln, Virginia, de un milln de metros
cuadrados, una tarea que requiere controlar cientos de restricciones y millones de
permutaciones posibles para cada vehculo. Como todos los algoritmos genticos, OptiFlex
funciona combinando aleatoriamente distintos programas de montaje posibles, determinando
su aptitud clasificndolos en base a sus costos, beneficios y restricciones, y luego haciendo que
las mejores soluciones intercambien genes entre ellas y vuelvan a la poblacin para otra
prueba. Hasta hace poco, esta desalentadora tarea era responsabilidad de un ingeniero
humano, al que le llevaba hasta cuatro das producir el programa para cada semana; ahora,
gracias a los AGs, esta tarea se puede completar en un da con una mnima intervencin
humana.

Como informa Lemley 2001[45], United Distillers and Vintners, una empresa escocesa que es el
mayor y ms rentable distribuidor de licores del mundo y es responsable de ms de un tercio
de la produccin mundial de whisky de grano, utiliza un algoritmo gentico para administrar su
inventario y sus suministros. Esto es una tarea desalentadora que exige almacenar y distribur
eficientemente ms de 7 millones de barriles, que contienen 60 recetas distintas, entre un
enorme sistema de almacenes y destileras, dependiendo de una multitud de factores como la
edad, el nmero de malta, el tipo de madera y las condiciones del mercado. Anteriormente,
coordinar este complejo flujo de suministro y demanda requera de cinco empleados a tiempo
completo. Hoy, unas cuantas pulsaciones de teclado en un ordenador solicitan a un algoritmo
gentico que genere un programa cada semana, y la eficiencia de almacenamiento casi se ha
duplicado.

Beasley, Sonander y Havelock 2001[8] utilizaron un AG para programar los aterrizajes del
London Heathrow, el aeropuerto ms transitado del Reino Unido. Esto es un problema
multiobjetivo que implica, entre otras cosas, minimizar los retrasos y maximizar el nmero de
vuelos mientras se mantiene la suficiente distancia de separacin entre los aviones (los
vrtices de aire que se forman en la estela de un avin pueden ser peligrosos para otro avin
que vuele demasiado cerca). Comparado con los horarios reales de un periodo intensivo del
aeropuerto, el AG fue capaz de reducir el tiempo de espera medio en un 2-5%, implicando dos
o tres vuelos extra despegando y aterrizando por cada hora -una mejora significativa. Sin
embargo, se han logrado mejoras mayores: como se informa en Wired 2002[1], aeropuertos
internacionales y lneas areas importantes como Heatrhow, Toronto, Sydney, Las Vegas, San
Francisco, America West Airlines, AeroMexico y Delta Airlines estn utilizando algoritmos
genticos para programar los despegues, aterrizajes, mantenimiento y otras tareas, mediante
el software del Ascent Technology's SmartAirport Operations Center (ver
http://www.ascent.com/faq.html). Cruzando y mutando las soluciones en forma de horarios
que incorporan miles de variables, ``Ascent vence con comodidad a los humanos, aumentando
la productividad hasta en un 30 por ciento en todos los aeropuertos en los que se ha
implementado''.

Ingeniera de sistemas

Benini y Toffolo 2002[10] aplicaron un algoritmo gentico a la tarea multiobjetivo de disear


molinos elicos para generar energa elctrica. Este diseo ``es un procedimiento complejo
caracterizado por varias decisiones sobre contrapartidas... El proceso de toma de decisiones es
muy difcil y no hay tendencias de diseo bien establecidas'' (p. 357); como resultado, hoy
existen varios tipos de turbina distintos y no hay acuerdo sobre cul es la ptima, si alguna lo
es. Deben tomarse en cuenta objetivos mutuamente exclusivos como la produccin mxima de
energa anual y el coste mnimo de la energa. En este artculo se utiliz un algoritmo evolutivo
multiobjetivo para encontrar el mejor conjunto de contrapartidas entre estos objetivos,
construyendo palas de molino con una configuracin ptima de caractersticas como la
velocidad de la punta de la pala, la razn buje/punta, y la distribucin de cuerda y giro. Al final,
al AG consigui encontrar soluciones competitivas con los diseos comerciales, adems de
dilucidar ms claramente los mrgenes entre los que se puede aumentar la produccin anual
de energa sin producir diseos demasiado caros.

Haas, Burnham y Mills 1997[32] utilizaron un algoritmo gentico multiobjetivo para optimizar
la forma, orientacin e intensidad del haz de los emisores de rayos X utilizados en la
radioterapia dirigida, para destrur los tumores cancerosos al tiempo que se evita el tejido
sano. (Los fotones de rayos X dirigidos hacia un tumor tienden a dispersarse por las estructuras
interiores del cuerpo, daando inintencionadamente los rganos internos. El reto consiste en
minimizar este efecto mientras se maximiza la dosis de radiacin dirigida hacia el tumor).
Utilizando un modelo de aptitud basada en rango, los investigadores comenzaron con la
solucin producida por el mtodo convencional, un mtodo de mnimos cuadrados iterativo, y
luego utilizaron el AG para modificarlo y mejorarlo. Construyendo un modelo del cuerpo
humano y exponindolo al rayo evolucionado por el AG, encontraron un buen acuerdo entre
las distribuciones de radiacin predichas y reales. Los autores concluyen que sus resultados
``muestran una proteccin [de los rganos sanos] que no poda lograrse utilizando las tcnicas
convencionales'' (p. 1745).

Lee y Zak 2002[44] utilizaron un algoritmo gentico para evolucionar un conjunto de reglas
para controlar un sistema de frenos antibloqueo automovilstico. Aunque la capacidad que
tienen los sistemas de freno antibloqueo de reducir la distancia de frenada y mejorar la
maniobrabilidad ha salvado muchas vidas, el rendimiento del ABS depende de las condiciones
de la superficie de la carretera: por ejemplo, un controlador ABS que est optimizado para el
asfalto seco no funcionar igual de bien en carreteras mojadas o heladas, y viceversa. En este
artculo, los autores proponen un AG para ajustar un controlador ABS que pueda identificar las
propiedades de la superficie de la carretera (monitorizando el patinaje y aceleracin de las
ruedas) y pueda actuar en consecuencia, liberando la cantidad adecuada de fuerza de frenado
para maximizar la traccin de las ruedas. En las pruebas, el ABS puesto a punto genticamente
``exhibe caractersticas de rodada excelentes'' (p. 206) y fue ``muy superior'' (p. 209) a los
otros dos mtodos de maniobras de frenado, encontrando con rapidez nuevos valores ptimos
para el patinaje de las ruedas cuando cambia el tipo de terreno bajo un coche en movimiento,
y reduciendo la distancia total de frenada. ``La leccin que hemos aprendido de nuestro
experimento... es que un AG puede ayudar a ajustar incluso un controlador bien diseado. En
nuestro caso, ya tenamos una buena solucin del problema; sin embargo, con la ayuda de un
AG, conseguimos mejorar significativamente la estrategia de control. En resumen, parece que
merece la pena intentar aplicar un AG incluso en un controlador bien diseado, porque hay
muchas probabilidades de que se pueda hallar una configuracin del controlador mejor
utilizando AGs'' (p. 211).

Como cita Schechter 2000[59], el Dr. Peter Senecal, de la Universidad de Wisconsin, utiliz
algoritmos genticos de poblacin pequea para mejorar la eficiencia de los motores disel.
Estos motores funcionan inyectando combustible en una cmara de combustin que est llena
de aire extremadamente comprimido, y por tanto extremadamente caliente, lo bastante
caliente para hacer que el combustible explote y empuje un pistn que produce la fuerza
motriz del vehculo. Este diseo bsico ha cambiado poco desde que Rudolf Diesel lo invent
en 1893; aunque se ha empleado mucho esfuerzo en realizar mejoras, es una tarea muy difcil
de realizar analticamente, porque requiere un conocimiento preciso del comportamiento
turbulento que exhibe la mezcla de combustible y aire, y de la variacin simultnea de muchos
parmetros independientes. Sin embargo, el mtodo de Senecal prescinda de ese
conocimiento especfico del problema y, en cambio, funcionaba evolucionando parmetros
como la presin de la cmara de combustin, los tiempos de inyeccin de combustible y la
cantidad de combustible de cada inyeccin. El resultado: la simulacin produjo un motor
mejorado que consuma un 15% menos de combustible que un motor diesel normal y produca
dos tercios menos de xido ntrico de escape y la mitad de holln. Luego el equipo de Senecal
construy un motor disel real de acuerdo con las especificaciones de la solucin
evolucionada, y obtuvieron los mismos resultados. Ahora Senecal sigue su trabajo
evolucionando la geometra del propio motor, lo que con suerte producir todava ms
mejoras.

Como citan Begley y Beals 1995[9], Texas Instruments utiliz un algoritmo gentico para
optimizar la disposicin de los componentes de un chip informtico, colocando las estructuras
de manera que se minimice el rea total para crear un chip lo ms pequeo posible. Utilizando
una estrategia de conexiones que no se le haba ocurrido a ningn humano, el AG alcanz un
diseo que ocupaba un 18% menos de espacio.

Finalmente, como cita Ashley 1992[5], empresas de la industria aeroespacial, automovilstica,


fabril, turbomaquinaria y electrnica estn utilizando un sistema de software propietario
conocido como Engineous, que utiliza algoritmos genticos, para disear y mejorar motores,
turbinas y otros dispositivos industriales. En palabras de su creador, el Dr. Siu Shing Tong,
Engineous es ``un maestro `toqueteador', ensayando incansablemente las puntuaciones de
escenarios de tipo ``y-si'' hasta que emerge la mejor solucin posible'' (p. 49). En un ensayo del
sistema, Engineous consigui producir un incremento del 0,92 por ciento de la eficiencia de
una turbina experimental en slo una semana, mientras que diez semanas de trabajo de un
diseador humano slo produjeron un 0,5 por ciento de mejora.

Supuestamente, Engineous no slo cuenta con algoritmos genticos; tambin emplea tcnicas
de optimizacin numrica y sistemas expertos que utilizan reglas si-entonces para imitar el
proceso de toma de decisiones de un ingeniero humano. Sin embargo, estas tcnicas
dependen mucho de informacin especfica del dominio, carecen de aplicabilidad general, y
son propensas a quedar atrapadas en ptimos locales. En contraste, el uso de algoritmos
genticos permite a Engineous explorar regiones del espacio de bsqueda que pasan por alto
los otros mtodos.

Engineous ha obtenido un amplio uso en una gran variedad de industrias y problemas. El ms


famoso fue cuando se utiliz para mejorar la turbina generadora de energa del avin Boeing
777; como informan Begley y Beals 1995[9], el diseo optimizado genticamente era casi un
1% ms eficiente en combustible que los motores anteriores, lo que en un campo como ste es
una ganancia cada del cielo. Engineous tambin se ha utilizado para optimizar la configuracin
de motores elctricos industriales, generadores hidroelctricos y turbinas de vapor, para
proyectar redes elctricas, y para disear generadores superconductores y generadores de
energa nuclear para satlites en rbita. Rao 1998[52] informa tambin de que la NASA ha
utilizado Engineous para optimizar el diseo de un avin de gran altitud para analizar la
disminucin del ozono, que debe ser a la vez ligero y eficiente.

Argumentos creacionistas

Como era de esperar, la demostracin real del poder de la evolucin que representan los AGs
ha resultado sorprendente y descorcentante para los creacionistas, que siempre han afirmado
que slo un diseo inteligente, no la variacin aleatoria y la seleccin, puede haber producido
la cantidad y complejidad de informacin que contienen los seres vivos. Por tanto, han
argumentado que el xito de los algoritmos genticos no nos permite deducir nada sobre la
evolucin biolgica. Abordar las crticas de dos antievolucionistas que representan dos
puntos de vista distintos: un creacionista de tipo tierra-joven, el Dr. Don Batten, de ``Answers
in Genesis'', que ha escrito un artculo titulado ``Algoritmos genticos - demuestran que la
evolucin funciona?'', y un creacionista de tipo tierra-vieja y defensor del diseo inteligente, el
Dr. William Dembski, cuyo reciente libro ``No Free Lunch'' (Dembski 2002[21]) trata sobre este
tema.

Don Batten

Algunos caracteres de los seres vivos son cualitativos, mientras que los AGs son siempre
cuantitativos

Batten afirma que los AGs deben ser cuantitativos, de manera que se pueda seleccionar
cualquier mejora. Esto es cierto. Luego continua diciendo: ``Muchos caracteres biolgicos son
cualitativos -o funcionan o no funcionan, as que no existe una manera de llegar paso a paso de
la ausencia de funcin a la funcin''. Sin embargo, esta aseveracin no ha sido demostrada, y
no est apoyada por la evidencia. Batten ni siquiera intenta ofrecer un ejemplo de caracter
biolgico que ``o funciona o no funciona'', y por tanto no pueda construirse paso a paso.

Pero aunque hubiera ofrecido tal ejemplo de caracter, cmo podra demostrar
razonablemente que no hay un camino paso a paso hasta l? Aunque no conozcamos tal
camino, significa eso que no existe ninguno? Por supuesto que no. Batten afirma
efectivamente que si no entendemos cmo han evolucionado ciertos caracteres, entonces es
imposible que esos caracteres hayan evolucionado -un ejemplo clsico de la falacia lgica
elemental del argumento de la ignorancia. El espacio de bsqueda de todas las posibles
variantes de cualquier caracter biolgico dado es enorme, y en la mayora de los casos nuestro
conocimiento supone tan slo una fraccin infinitesimal de todas las posibilidades.
Perfectamente pueden existir numerosos caminos hacia una estructura de los que no
conozcamos nada todava; no hay ninguna razn en absoluto para creer que nuestra
ignorancia actual establece lmites a nuestro progreso futuro. De hecho, la historia nos da
razones para estar seguros de esto: los cientficos han hecho enormes progresos para explicar
la evolucin de muchas estructuras y sistemas biolgicos complejos, tanto macroscpicos
como microscpicos (por ejemplo, vea estas pginas sobre la evolucin de sistemas
moleculares complejos, genes ``reloj'', la lengua del pjaro carpintero o el escarabajo
bombardero). Tenemos justificacin para creer probable que los que nos han eludido hasta
ahora tambin se entendern con claridad en el futuro.

De hecho, los propios AGs nos ofrecen una excelente razn para suponer esto. Muchos de los
problemas en los que se han aplicado son problemas complejos de ingeniera y diseo de los
que no se conoca la solucin previamente, y por lo tanto el problema no poda ``amaarse''
para facilitar el xito del algoritmo. Si los creacionistas tuvieran razn, habra sido
completamente razonable esperar que los algoritmos genticos hubieran fallado
estrepitosamente una y otra vez al ser aplicados a estos problemas, pero, en cambio, ha
ocurrido justo lo contrario: los AGs han descubierto soluciones poderosas y de gran calidad a
problemas difciles en una gran variedad de campos. Esto pone seriamente en duda incluso si
existen problemas como los que Batten describe, cuyas soluciones sean inaccesibles a un
proceso evolutivo.

Los AGs seleccionan un caracter cada vez, mientras que los seres vivos son multidimensionales

Batten afirma que, en los AGs, ``se selecciona un caracter individual, mientras que cualquier
ser vivo es multidimensional'', y afirma que en los seres vivos con cientos de caracteres, ``la
seleccin tiene que operar con todos los caracteres que afecten a la supervivencia'', mientras
que ``[un] AG no funciona con tres o cuatro objetivos diferentes, o me atrevera a decir que ni
siquiera con dos''.

Este argumento revela la profunda ignorancia de Batten sobre la literatura relevante. Tan slo
un vistazo superficial del trabajo realizado con algoritmos evolutivos (o un vistazo a la seccin
anterior de este ensayo) habra revelado que los algoritmos genticos multiobjetivo son un
campo de investigacin importante y floreciente dentro del ms amplio campo de la
computacin evolutiva, y le habra evitado realizar una afirmacin tan embarazosamente
incorecta. Existen artculos de revista, nmeros enteros de revistas prominentes sobre
computacin evolutiva, conferencias enteras y libros enteros sobre el tema de los AGs
multiobjetivo. Coello 2000[18] proporciona una recopilacin muy extensa, con cinco pginas
de referencias a artculos sobre el uso de algoritmos genticos multiobjetivo en una amplio
abanico de campos; vea tambin Fleming y Purshouse 2002[22]; Hanne 2000[33]; Zitzler y
Thiele 1999[65]; Fonseca y Fleming 1995[23]; Srinivas y Deb 1994[60]; Goldberg 1989[29], p.
197. Sobre el uso de AGs multiobjetivo para resolver problemas especficos, vea los libros y
artculos: Obayashi et al. 2000[49]; Sasaki et al. 2001[57]; Benini y Toffolo 2002[10]; Haas,
Burnham y Mulls 1997[32]; Chryssolouris y Subramaniam 2001[16]; Hughes y Leyland
2000[37]; He y Mort 2000[35]; Kewley y Embrechts 2002[39]; Beasley, Sonander y Havelock
2001[8]; Sato et al. 2002[58]; Tang et al. 1996[62]; Williams, Crossley y Lang 2001[64]; Koza et
al. 1999[41]; Koza et al. 2003[42]. Vea un repositorio extenso de referencias sobre AGs
multiobjetivo en http://www.lania.mx/ccoello/EMOO.

Los AGs no permiten la posibilidad de una extincin o una catstrofe de errores

Batten afirma que, en los AGs, ``siempre sobrevive algo para mantener el proceso'', mientras
que esto no es necesariamente cierto en el mundo real -en resument, los AGs no permiten la
posibilidad de una extincin.

Sin embargo, esto no es cierto; la extincin puede ocurrir. Por ejemplo, algunos AGs utilizan un
modelo de seleccin con umbral en el que los individuos deben tener una aptitud superior a
un nivel predeterminado para poder sobrevivir y reproducirse (Haupt y Haupt 1998[34], p. 37).
Si no hay ningn individuo que cumpla este criterio en este tipo de AG, la poblacin puede
extinguirse efectivamente. Pero incluso en AGs que no establecen umbrales pueden ocurrir
estados anlogos a la extincin. Si las tasas de mutacin son demasiado altas o las presiones
selectivas demasiado fuertes, un AG nunca encontrar una solucin factible. La poblacin
puede acabar en un caos sin remedio al verse afectados los cantidatos aptos por el hecho de
que las mutaciones perjudiciales se desarrollen con ms rapidez de la que la seleccin puede
eliminarlas (catstrofe de errores), o puede retorcerse intilmente, incapaz de conseguir
ningn aumento de la aptitud lo bastante grande para que pueda ser seleccionado. Al igual
que en la naturaleza, debe haber un equilibrio o nunca se alcanzar una solucin. La ventaja
que tiene un programador a este respecto es que, si ocurre esto, l puede introducirle al
programa valores diferentes -para el tamao de la poblacin, para la tasa de mutacin, para la
presin selectiva- y comenzar de nuevo. Obviamente, esto no es una opcin para los seres
vivos. Batten dice que ``no existe una regla en la evolucin que diga que algunos organismos
de la poblacin que evoluciona permanecern viables ocurran las mutaciones que ocurran'',
pero tampoco existe una regla as en los algoritmos genticos.

Batten tambin afirma que ``los AGs que he observado preservan artificialmente a los mejores
de la generacin anterior y los protegen de las mutaciones o la recombinacin, en caso de que
no se produzca algo mejor en la siguiente generacin''. Abordar esta crtica en el siguiente
punto.

Los AGs ignoran el coste de las sustituciones

La siguiente afirmacin de Batten es que los AGs ignoran el ``dilema de Haldane'', que dice que
un alelo que contribuya menos a la aptitud de un organismo tardar correspondientemente
ms tiempo en fijarse en la poblacin. Obviamente, a lo que se refiere es a la tcnica de
seleccin elitista, que selecciona automticamente al mejor candidato de cada generacin sin
importar lo pequea que sea su ventaja sobre sus competidores. Tiene razn al sugerir que, en
la naturaleza, las ventajas competitivas muy pequeas pueden tardar en propagarse mucho
ms. Los algoritmos genticos no son un modelo exacto de la evolucin biolgica a este
respecto.

Sin embargo, esto no viene al caso. La seleccin elitista es una idealizacin de la evolucin
biolgica -un modelo de lo que pasara en la naturaleza si de vez en cuando no interviniese el
azar. Como reconoce Batten, el dilema de Haldane no afirma que una mutacin ligeramente
ventajosa nunca quedar fijada en una poblacin; afirma que tardar ms en hacerlo. Sin
embargo, cuando el tiempo de computacin est muy demandado o cuando un investigador
de AGs desea obtener una solucin con mayor rapidez, puede ser deseable saltarse este
proceso implementando el elitismo. Un punto importante es que el elitismo no afecta a qu
mutaciones surgen, slo asegura la seleccin de las mejores que surjan. No importara lo
fuerte que fuera la seleccin si no ocurrieran mutaciones que incrementasen la informacin.
En otras palabras, el elitismo acelera la convergencia una vez que se ha descubierto una
solucin buena -no provoca un resultado que no habra ocurrido de otra manera. Por lo tanto,
si los algoritmos genticos con elitismo pueden producir informacin nueva, entonces tambin
lo puede hacer la evolucin en la naturaleza.

Adems, no todos los AGs utilizan seleccin elitista. Muchos no lo hacen, y en cambio
dependen slo de seleccin por ruleta de rueda y otras tcnicas de muestreo estocsticas, con
no menor xito. Por ejemplo, Koza et al 2003[42], p. 8-9, proporciona ejemplos de 36 casos en
los que la programacin gentica ha producido resultados competitivos con los de los
humanos, incluyendo la recreacin automtica de 21 inventos patentados con anterioridad
(seis de los cuales fueron patentados durante o despus de 2000), 10 de los cuales duplican la
funcionalidad de la patente de manera diferente, e incluyendo adems dos nuevos inventos
patentables y cinco algoritmos nuevos que superan a cualquier algoritmo humano escrito para
el mismo propsito. Como declara el Dr. Koza en una referencia anterior al mismo trabajo
(1999[41], p. 1.070): ``No se utiliza la estrategia elitista''. Algunos artculos ms citados en este
ensayo, en los que no se utiliza el elitismo: Robin et al. 2003[54]; Rizki, Zmuda y Tamburino
2002[53]; Chryssolouris y Subramaniam 2001[16]; Burke y Newall 1999[11]; Glen y Payne
1995[28]; Au, Chan y Yao 2003[7]; Jensen 2003[38]; Kewley y Embrechts 2002[39]; Williams,
Crossley y Lang 2001[64]; Mahfoud y Mani 1996[46]. En todos estos casos, sin ningn
mecanismo para asegurar que se seleccionaban los mejores individuos de cada generacin, sin
eximir a estos individuos del potencial cambio aleatorio perjudicial, los algoritmos genticos
siguen produciendo resultados poderosos, eficientes y competitivos con los resultados
humanos. Este hecho puede ser sorprendente para creacionistas como Batten, pero es algo
completamente esperado para los defensores de la evolucin.

Los AGs ignoran las limitaciones temporales para una generacin


Esta crtica es confusa. Batten afirma que una generacin puede durar microsegundos en un
AG, mientras que en los seres vivos una generacin puede durar desde minutos hasta aos.
Esto es cierto, pero no explica cmo influye esto en la validez de los AGs como evidencia para
la evolucin. Si un AG puede generar informacin nueva, tarde el tiempo que tarde, entonces
la evolucin natural puede hacer lo mismo sin duda; que los AGs pueden efectivamente
hacerlo es todo lo que trata de demostrar este ensayo. La nica cuestin restante sera
entonces si la evolucin biolgica ha tenido realmente el tiempo necesario para causar un
cambio significativo, y la respuesta a esta cuestin est a cargo de los bilogos, gelogos y
fsicos, no de los programadores informticos.

Sin embargo, la respuesta que han proporcionado estos cientficos est en completo acuerdo
con las escalas de tiempo evolutivas. Numerosas lneas independientes de evidencia,
incluyendo la datacin isocrnica radiomtrica, los ritmos de enfriamiento de las enanas
blancas, la no existencia en la naturaleza de istopos con tiempos cortos de
semideintegracin, los ritmos de alejamiento de las galaxias lejanas, y el anlisis de la radiacin
csmica de fondo, convergen hacia la misma conclusin: una Tierra y un universo con muchos
miles de millones de aos, sin duda tiempo suficiente para que la evolucin haya producido
toda la diversidad de vida que observamos hoy para todas las estimaciones razonables.

Las altas tasas de mutacin y reproduccin que emplean los AGs no son realistas

Batten afirma, sin proporcionar ninguna evidencia o referencia que le apoye, que los AGs
``producen comnmente cientos o miles de `descendientes' por generacin'', un ritmo que ni
siquiera las bacterias, los organismos biolgicos que se reproducen con mayor velocidad,
pueden igualar.

Esta crtica erra el tiro de varias maneras. Primero, si la mtrica que se utiliza es (como debera
ser) el nmero de descendientes por generacin, en lugar del nmero de descendientes por
unidad de tiempo absoluto, entonces existen evidentemente organismos biolgicos que
pueden reproducirse a ritmos mayores que los de las bacterias y que casi igualan los ritmos
que Batten considera no realistas. Por ejemplo, una sola rana puede poner miles de huevos de
una vez, cada uno de los cuales tiene el potencial de desarrollarse como adulto. De acuerdo, la
mayora de stos normalmente no sobrevivirn debido a las limitaciones de recursos y a la
depredacin, pero entonces la mayora de la ``descendencia'' de cada generacin en un AG
tampoco sobrevivir.

Segundo, y ms importante: un algoritmo gentico trabajando para resolver un problema no


pretende representar a un solo organismo. En cambio, un algoritmo gentico es ms anlogo a
una poblacin completa de organismos -despus de todo, son las poblaciones, y no los
individuos, los que evolucionan. Por supuesto, es completamente plausible que una poblacin
tenga colectivamente cientos o miles de descendientes por generacin. (El creacionista Walter
ReMine comete este mismo error con respecto al programa ``weasel'' del Dr. Richard Dawkins.
Vea este Mensaje del Mes para ms informacin).

Adems, dice Batten, la tasa de mutacin es artificialmente alta en los AGs, mientras que los
seres vivos tienen una maquinaria de comprobacin de errores diseada para limitar la tasa de
mutacin en aproximadamente 1 por cada 10.000 millones de par de bases (aunque esto es
demasiado poco -la cifra real est ms cerca de 1 por cada 1.000 millones. Ver Dawkins
1996[20], p. 124). Por supuesto, esto es cierto. Si los AGs mutasen a este ritmo, tardaran
muchsimo en resolver problemas reales. Evidentemente, lo que debe considerarse relevante
es la tasa de mutacin relativa al tamao del genoma. La tasa de mutacin debe ser lo
bastante alta para promover una cantidad suficiente de diversidad en la poblacin sin acabar
con los individuos. Un ser humano corriente posee entre una y cinco mutaciones; esto es
perfectamente realista para la descendencia de un AG.

Los AGs tienen genomas artificialmente pequeos

El argumento de Batten de que el genoma de un algoritmo gentico ``es artificialmente


pequeo y slo realiza una cosa'' est completamente errado. En primer lugar, como ya hemos
visto, no es cierto que un AG slo realice una cosa; hay muchos ejemplos de algoritmos
genticos diseados especficamente para optimizar muchos parmetros simultneamente, a
menudo muchos ms parmetros de los que podra manejar un diseador humano.

Y exactamente cmo cuantifica Batten lo de ``artificialmente pequeo''? Muchos algoritmos


evolutivos, como el programa gentico de John Koza, utilizan codificaciones de tamao
variable donde el tamao de las soluciones candidatas pueden crecer arbitrariamente. Batten
afirma que hasta los seres vivos ms sencillos tienen mucha ms informacin en su genoma
que la que un AG haya producido nunca, pero si los organismos vivos actuales tienen genomas
relativamente grandes es porque se ha ganado mucha complejidad en el curso de los miles de
aos de evolucin. Como seala el artculo Probabilidad de abiognesis, hay buenas razones
para creer que los primeros organismos vivos eran mucho ms sencillos que cualquier especie
actual -las molculas autorreplicadoras probablemente no tenan ms de 30 o 40 subunidades,
pudiendo quedar especificadas perfectamente con los 1.800 bits de informacin que Batten
reconoce que ha generado al menos un AG. Asimismo, los algoritmos genticos son una
tcnica muy nueva cuyo potencial completo todava no ha sido explotado; las propias
computadoras digitales slo tienen unas pocas dcadas, y como seala Koza (2003[42], p. 25),
las tcnicas de computacin evolutiva han generado resultados cada vez ms sustanciales y
complejos durante los ltimos 15 aos, en sincrona con el rpido aumento de la potencia
computacional, a menudo referida como la ``ley de Moore''. Al igual que la vida primigenia era
muy sencilla comparada con la que vino despus, es probable que los algoritmos genticos
actuales, a pesar de los impresionantes resultados que ya han producido, den origen a
resultados mucho ms importantes en el futuro.
Los AGs ignoran la posibilidad de que ocurran mutaciones por todo el genoma

Aparentemente, Batten no comprende cmo funcionan los algoritmos genticos, y lo


demuestra realizando este argumento. Afirma que, en la vida real, ``las mutaciones ocurren
por todo el genoma, no slo en un gen o seccin que especifique un caracter dado''. Esto es
cierto, pero cuando dice que lo mismo no es cierto para los AGs, se equivoca. Exactamente
igual que en los seres vivos, los AGs deben escardar los genes perjudiciales al tiempo que
seleccionan los beneficiosos.

Batten continua afirmando que ``el propio programa est protegido contra las mutaciones,
slo las secuencias objetivo mutan'', y si el programa mutara, fallara poco despus. Esta
crtica, sin embargo, es irrelevante. No existe razn para que el programa que gobierna a un
AG tenga que mutar. El programa no es parte del algoritmo gentico; el programa es el que
supervisa al algoritmo gentico y produce las mutaciones en las soluciones candidatas, que son
lo que el programador busca mejorar. El programa que ejecuta al AG no es anlogo a la
maquinaria reproductiva de un organismo, una comparacin que trata de establecer Batten.
En cambio, es anlogo a las leyes naturales invariantes que gobiernan los entornos en los que
viven y se reproducen los seres vivos, y no se espera que stas cambien ni necesitan
``protegerse'' de ello.

Los AGs ignoran los problemas de la complejidad irreducible

Utilizando el argumento de la ``'' del creacionista de tipo tierra-vieja Michael Behe, Batten
argumenta: ``Muchos caracteres biolgicos requieren la presencia de muchos componentes
distintos, funcionando juntos, para que el caracter pueda existir'', mientras que esto no ocurre
en los AGs.

Sin embargo, es trivial demostrar que esta afirmacin es falsa, ya que los algoritmos genticos
han producido sistemas irreduciblemente complejos. Por ejemplo, el circuito reconocedor de
voz que evolucion el Dr. Adrian Thompson (Davidson 1997[19]) est compuesto de 37
puertas lgicas. Cinco de ellas ni siquiera estn conectadas al resto del circuito, aunque hacen
falta las 37 para que el circuito funcione; si cualquiera de ellas se desconecta de la fuente de
alimentacin, todo el sistema deja de funcionar. Esto se ajusta a la definicin de sistema
complejo irreducible de Behe, y demuestra que un proceso evolutivo puede producir cosas as.

Debe sealarse que este argumento es el mismo que el primero, simplemente presentado en
un lenguaje distinto, y por tanto la refuntacin es la misma. La complejidad irreducible no es
un problema para la evolucin, est la evolucin ocurriendo en los seres vivos de la naturaleza
o en el silicio del procesador de una computadora.
Los AGs ignoran la poligenia, la pleiotropa y otras complejidades genticas

Batten argumenta que los AGs ignoran asuntos como la poligenia (la determinacin de un
caracter por mltiples genes), pleiotropa (un gen que afecte a mltiples caracteres) y los
genes dominantes y recesivos.

Sin embargo, ninguna de estas afirmaciones es cierta. Los AGs no ignoran la poligenia y la
pleiotropa: simplemente se permite que estas propiedades surjan de manera natural en lugar
de programarlas deliberadamente. Es obvio que en cualquier sistema complejo
interdependiente (es decir, un sistema no lineal), la alteracin o eliminacin de una parte
causar una reaccin en cadena por todo el sistema; por tanto, los AGs incorporan de manera
natural la poligenia y la pleiotropa. ``En la literatura sobre algoritmos genticos, la interaccin
entre parmetros se conoce como epistasis (un trmino biolgico para la interaccin entre
genes). Cuando hay poca o ninguna epistasis, los algoritmos de bsqueda mnima [es decir, los
trepacolinas **-A.M.] rinden mejor. Los algoritmos genticos brillan cuando la epistasis es
media o alta...'' (Haupt y Haupt 1998[34], p. 31, itlicas originales).

Igualmente, hay algunas implementaciones de algoritmos genticos que s tienen cromosomas


diploides y genes dominantes y recesivos (Goldberg 1989[29], p. 150; Mitchell 1996[47], p. 22).
Sin embargo, los que no lo son simplemente se parecen ms a los organismos haploides, como
las bacterias, que a los organismos diploides, como los seres humanos. Ya que las bacterias
estn entre los organismos ms exitosos de este planeta (para ciertas medidas), tales AGs
siguen siendo un buen modelo de la evolucin.

Los AGs no tienen mltiples sistemas de lectura

Batten habla de la existencia de mltiples sistemas de lectura en los genomas de algunos seres
vivos, en los que las secuencias de ADN codifican distintas protenas funcionales cuando se
leen en direcciones distintas o con distintos desplazamientos de inicio. Afirma que ``crear un
AG para generar una codificacin con informacin densa as parecera imposible''.

Un reto as pide una respuesta, y aqu est: Soule y Ball 2001[61]. En este artculo, los autores
presentan un algoritmo gentico con mltiples sistemas de lectura y codificacin densa,
permitindole almacenar ms informacin que el tamao total de su genoma. Al igual que los
codones de tres nucletidos especifican aminocidos en los genomas de los seres vivos, en
este AG los codones eran cadenas binarias de cinco dgitos (hay por lo tanto 25 o 64 codones
posibles, el mismo nmero de codones en los sistemas biolgicos). Como los codones tenan
cinco dgitos de longitud, haba cinco sistemas de lectura posibles. La secuencia 11111 sirve
como codon de ``comienzo'' y la 00000 como codon de ``parada''; como el codon de comienzo
y parada pueden aparecer en cualquier lugar del genoma, la longitud de cada individuo era
variable. Las regiones del cromosoma que no caan entre pares comienzo-parada eran
ignoradas.

El AG se prob con cuatro problemas clsicos de maximizacin de funciones. ``Inicialmente, la


mayora de los bits no participan en ningn gen, es decir, la mayor parte de un cromosoma no
codifica nada. De nuevo, esto es porque en los individuos iniciales aleatorios hay relativamente
pocos pares de codones comienzo-parada. Sin embargo, el nmero de bits que no participan
disminuye extremadamente rpido''. Durante el curso de la ejecucin, el AG puede
incrementar la longitud efectiva de su genoma introduciendo nuevos codones de comienzo en
distintos sistemas de lectura. Al final de la ejecucin, ``la cantidad de superposiciones es
bastante alta. Muchos bits participan en varios genes (a menudo en los cinco)''. En todos los
problemas probados, el AG empez, de media, con 5 variables especificadas; al final de la
ejecucin, ese nmero se haba incrementado hasta una media de 25.

En los problemas de prueba, el AG con mltiples sistemas de lectura produjo soluciones


significativamente mejores que un AG estndar en dos de los cuatro problemas, y mejores
soluciones medias en los otros dos. En uno de los problemas, el AG comprimi con xito 625
bits de informacin en un cromosoma de slo 250 bits de longitud, utilizando sistemas de
lectura alternativos. Los autores tildan este comportamiento de ``extremadamente
sofisticado'' y concluyen que ``estos datos muestran que un AG puede utilizar con xito
sistemas de lectura a pesar de la complejidad aadida'' y que ``es claro que un AG puede
introducir nuevos`genes' mientras sea necesario para resolver un cierto problema, incluso con
las dificultades impuestas al utilizar codones de comienzo y parada y genes superpuestos''.

Los AGs tienen objetivos predeterminados

Como muchas otras, esta objecin demuestra que Batten no comprende bien lo que es un
algoritmo gentico y cmo funciona. Argumenta que los AGs, al contrario que la evolucin,
tienen objetivos predeterminados y especificados desde el principio, y como ejemplo de esto,
ofrece el programa ``weasel'' del Dr. Richard Dawkins.

Sin embargo, el programa weasel no es un verdadero algoritmo gentico, y no representa a los


algoritmos genticos, precisamente por esa razn. No pretenda demostrar el poder de
resolucin de problemas de la evolucin. En cambio, su nica intencin era mostrar la
diferencia entre la seleccin de un solo paso (la infame frase del ``tornado pasando por una
chatarrera y produciendo un 747'') y la seleccin acumulativa de mltiples pasos. Tena un
objetivo especfico predeterminado de antemano. Los algoritmos genticos verdaderos, en
cambio, no lo tienen.

En un sentido ms general, los AGs s tienen un objetivo, a saber, encontrar una solucin
aceptable a un problema dado. En este mismo sentido, la evolucin tambin tiene un objetivo:
producir organismos que estn mejor adaptados a su entorno y por tanto experimenten un
mayor xito reproductivo. Pero al igual que la evolucin es un proceso sin objetivos
especficos, los AGs no especifican de antemano cmo debe resolverse un problema dado. La
funcin de aptitud solamente se establece para evaluar lo bien que funciona una solucin
candidata, sin especificar ninguna forma de funcionar particular y sin juzgar de qu manera
inventa. La solucin en s emerge luego mediante un proceso de mutacin y seleccin.

La siguiente afirmacin de Batten demuestra claramente que no entiende lo que es un


algoritmo gentico. Afirma que ``quizs si el programador pudiera dar con un programa que
permitiera que ocurriera cualquier cosa y luego midiera la capacidad de supervivencia de los
`organismos', se estara acercando a lo que se supone que hace la evolucin'' -pero as es
exactamente como funcionan los algoritmos genticos. Generan aleagoriamente soluciones
candidatas y provocan mutaciones aleatorias sobre ellas durante muchas generaciones. No se
especifica ninguna configuracin de antemano; como dice Batten, se permite que ocurra
cualquier cosa. Como escribe John Koza (2003[42], p. 37), repitiendo misteriosamente las
palabras de Batten: ``Una caracterstica importante... es que la seleccin [en la programacin
gentica] no es codiciosa. Los individuos que se sabe que son iferiores sern seleccionados
hasta un cierto grado. No se garantiza que se seleccionar el mejor individuo de la poblacin.
Adems, el peor individuo de la poblacin no ser necesariamente excludo. Puede ocurrir
cualquier cosa y nada est garantizado''. (Una seccin anterior trat este punto concreto como
uno de los puntos fuertes de los AGs). Y, sin embargo, aplicando un filtro selectivo a estas
candidatas mutadas aleatoriamente, surgen soluciones eficientes, complejas y poderosas a
problemas difciles, soluciones que no fueron diseadas por ninguna inteligencia y que a
menudo pueden igualar o superar a las soluciones diseadas por los humanos. La alegre
afirmacin de Batten de que ``por supuesto eso es imposible'' est en contradiccin directa
con la realidad.

Los AGs no generan informacin nueva en realidad

La crtica final de Batten dice as: ``Para un AG particular, necesitamos preguntar qu parte de
la `informacin' generada por el programa est en realidad especificada en el programa, en
lugar de haber sido generada de novo''. Acusa a los AGs de que a menudo no hacen ms que
encontrar la mejor manera de que ciertos mdulos interaccionen, cuendo los propios mdulos
y las maneras que tienen de interactuar estn especificadas de antemano.

Es difcil saber qu hacer con este argumento. Cualquier problema imaginable -los trminos en
una ecuacin de clculo, las molculas en una clula, los componentes de un motor, el capital
en un mercado financiero- pueden expresarse en trminos de mdulos que interactan de
cierta manera. Si todo lo que se tiene son mdulos sin especificar que interactan de maneras
sin especificar, no hay problema que resolver. Significa esto que la solucin a ningn
problema requiere la generacin de informacin nueva?
Respecto a la crtica de Batten sobre que la informacin contenida en la solucin est
especificada en el problema, la mejora manera de mitigar sus preocupaciones es sealar la
cantidad de ejemplos en los que los AGs comienzan con poblaciones iniciales generadas
aleatoriamente que no estn de ninguna manera diseadas para ayudar al AG a resolver el
problema. Algunos de tales ejemplos son: Graham-Rowe 2004[31]; Davidson 1997[19]; Assion
et al. 1998[6]; Giro, Cyrillo y Galvo 2002[27]; Glen y Payne 1995[28]; Chryssolouris y
Subramaniam 2001[16]; Williams, Crossley y Lang 2001[64]; Robin et al. 2003[54]; Andreou,
Georgopoulos y Lokothanassis 2002[4]; Kewley y Embrechts 2002[39]; Rizki, Zmuda y
Tamburino 2002[53]; y especialmente Koza et al. 1999[41] y Koza et al. 2003[42], que analiza
el uso de programacin gentica para generar 36 inventos competitivos con los humanos de
diseos de circuitos analgicos, biologa molecular, algoritmia, diseo de controladores
industriales y otros campos, todos comenzando con poblaciones de candidatas iniciales
generadas aleatoriamente.

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