Los Algoritmos Genticos Jos Mara Barreiro Sorribas CETTICO-Fundacin General UPM 29 Facultad de Informtica Universidad Politcnica de Madrid Campus de Montegancedo s/n 28660 Boadilla de Monte - Madrid email: jmbarreiro@fi.upm.es Resumen Felix Montas Pazos IBM. Madrid. email: fmontanez@vnet.ibm.com El estudio de la biologa puede ayudar al informtico, y viceversa, a orientarse y entender algunos de los trminos empleados con frecuencia en este dominio. No slo es interesante como un dominio de investigacin para la Informtica, sino que tambin proporciona un conjunto rico de metforas para ponderar la inteligencia: algoritmos genticos, redes de neuronas y autmatas darwinianos, son una muestra reducida de los enfoques computacionales al comportamiento basado en los conceptos biolgicos. Los informticos y los bilogos tienen en muchos casos expectativas muy distintas acerca de la colaboracin, la educacin, los congresos y muchos otros aspectos, aparentemente banales de la investigacin. Para trabajar con bilogos, los investigadores informticos (en especial los de Inteligencia Artificial), deben poseer un conocimiento bastante profundo del dominio y buscar modos de acercar estas culturas cientficas diferentes. En este trabajo se vern, en primer lugar, los conceptos biolgicos que han servido como base al desarrollo de modelos computacionales (citologa, gentica, bioqumica, biologa molecular y evolucin), se har 30 Jos Barreiro y Flix Montas un repaso de los modelos que constituyen lo que se ha dado en llamar Computacin Evolutiva, viendo algunos de los modelos biolgicos que han sido aplicados en la informtica y, finalmente, las contribuciones de la informtica en la biologa haciendo especial hincapi en la gentica. 1.- Conceptos Generales Tanto en la biologa como en la matemtica y la informtica, muchas de las percepciones verdaderamente brillantes provienen del reconocimiento de que dos puntos de vista aparentemente distintos son congruentes. Durante los ltimos 50 aos, los bilogos se han preocupado cada vez ms por la base molecular de la funcin biolgica en sus intentos de responder a preguntas del tipo de cmo saben las clulas cuando tienen que dividirse, cmo funciona la memoria o cmo ven los mamferos. 1. 1.- Citologa Cada uno de los 7 5 billones de clulas del hombre es una estructura viva que puede sobrevivir indefinidamente, y la mayor parte de casos incluso reproducirse siempre que los lquidos del medio contengan nutrientes adecuados. Las diferentes sustancias que componen la clula se denominan en conjunto protoplasma. ste incluye, principalmente, las cinco substancias bsicas siguientes: agua, electrlitos (potasio, magnesio, fosfato, sulfato, y carbonato y pequeas cantidades de sodio y cloruro de calcio), protenas (estructurales y enzimticas), lpidos (triglicridos, fosfolpidos y colesterol) y carbohidratos (glucosa y glucgeno o polmero insoluble de la glucosa). En todos los organismos excepto en las bacterias, las algas azules y los virus, los cromosomas de cada clula estn ordinariamente confinados dentro de una regin limitada por una membrana denominada ncleo. Estos organismos se denominan nucleados o eucariotas, en contraste con las bacterias y algas azules que son procariotas. Las clulas eucariticas presentan un ncleo en el interior del cual est alojado el material gentico o cromosomas. Cuando el ncleo rio est en fase de divisin o mitosis se denomina ncleo de interfase y en l no es posible identificar a los cromosomas como entidades individuales sino que aparecen como una red amorfa llamada cromatina [Creighton, 1983]. Un modelo biolgico ... 31 1.2.- Gentica La informacin gentica poseda por un individuo es lo que constituye su genoma. Los portadores fsicos de la informacin gentica tanto en los organismos nucleados como en los anucleados son los cromosomas, cada uno de los cuales es portador de un subconjunto distinto de genes y, por tanto, de distintas secuencias de nucletidos. Los genes controlan la herencia de padres a hijos y la funcin diaria de la clula y su reproduccin. Aunque el nmero de genes existentes en un ncleo de clula humana es desconocido, se calcula que los genes controlan la formacin de, por lo menos, varios miles de tipos diferentes de protenas esenciales para las funciones de las diversas clulas [Guyton, 1984]. Es, por tanto, esencial para la supervivencia de las especies que cuando una clula da lugar a dos clulas hijas, cada clula reciba una coleccin completa de cromosomas. Esta distribucin equitativa cromosmica corre a cargo de un proceso de divisin celular llamado mitosis. BRAZOS CROMOSOMICOS CENTRO MERO Figura 1-. Cromosoma acrocntrico En la clula humana en metafase aparecen un total de 46 pares de cromosomas hermanos. Estos difieren unos de otros en cuanto a tamao y en la posicin del centrmero. As, se clasifican en metacntricos cuando el centrmero est situado en posicin media y por tanto los brazos del cromosoma son exactamente iguales; acrocntricos (figura 1) cuando un 32 Jos Barreiro y Flix Montas brazo es ms largo que el otro; el resto de tipos de cromosomas son intermedios entre estos dos tipos. Una descripcin completa y ordenada, segn su tamao, de todos los pares de cromosomas que posee un tipo celular dado, constituye su cariotipo (figura 2). En el caso del ser humano existen dos representantes de cada tipo por lo tanto presenta 23 tipos diferentes de pares de cromtidas. Los cromosomas numerados del 1 al 22 se llaman autosomas para diferenciarlos de los cromosomas X e Y o cromosomas sexuales (X para la mujer e Y para el hombre). H1Mllllll 1 2 3 4 5 X MMAAnMI! 13 14 15 16 17 18 !!M 20 21 22 19
y Figura 2.- Cariotipo. En un cariotipo cada tipo cromosmico aparece dos veces, es lo que se denomina un nmero diploide, a diferencia del nmero haploide en los cuales slo est presente un representante de cada tipo de cromosoma, como ocurre en el caso del vulo y del espermatozoide. La dotacin cromosmica haploide contiene toda la informacin del genoma y cabe Un modelo biolgico ... 33 esperar, por tanto, que contenga un mnimo de una copia de cada tipo de genes posedos por el progenitor [Goodenough, 1981]. 1.3.- Bioqumica Los bioqumicos descubrieron que una clase muy amplia de molculas, llamadas protenas, son responsables de casi todas las funciones del organismo vivo. Adems, se observ que todas las protenas se componan de una cadena lineal de elementos llamados aminocidos. De hecho, los bioqumicos determinaron que existen slo alrededor de 20 tipos de aminocidos de la vida. Tpicamente, se conectan entre s de 50 a 500 de estos aminocidos para formar una protena. De manera ms significativa, los bioqumicos observaron que estas protenas, una vez constituidas, se doblaban para constituir formas nicas a partir de su secuencia de aminocidos [Lehninger. 1972]. 1.4.- Biologa Molecular La Biologa molecular ha facilitado un enlace entre la gentica y la bioqumica. La biologa molecular es la disciplina que demostr la relacin entre los genes y las protenas cuando se determin en 1953 [Watson, 1953] que el gen se compone de DNA (figura 3). Figura 3.- Estructura tridimensional de una cadena de DNA. Los genes actan determinando los tipos de protenas elaborados por las clulas. El DNA no es el molde directo para esta sntesis pues stos estn constituidos por molculas de RNA (cido ribonucleico). El flujo de la informacin gentica en la mayora de las clulas es, segn se muestra en la figura 4: 34 A D N 4 ~ transcripcin Jos Barreiro y Flix Montas ARN----...-t ._I __ P_r_o_te-n_a_s _ ..... 1 traduccin Figura 4.- Dogma central de la biologa. Ciertas molculas de RNA son las portadoras intermediarias de la informacin en la sntesis de protenas, mientras que otras molculas de RNA son parte de la maquinaria de dicha sntesis. Con la aparicin de las tcnicas de ADN recombinante se puede clonar, secuenciar, manipular y expresar el ADN lo que ha dado lugar a una nueva industria: La Biotecnologa. ADN, ARN y protena, formas codificadas de la informacin gentica, 1 Se adaptan bien a su manipulacin por computadora. 1.5.- Evolucin Es el resultado de dos procesos: la seleccin natural (los que sobreviven hasta reproducirse) y la reproduccin (mezcla y recombinacin de genes en la descendencia). Cuando se habla de evolucin hay que tener en cuenta dos conceptos principales: - Recombinacin: Dos cromosomas intercambian trozos de material gentico - Mutacin: Alteracin de una parte del material gentico 2.- Computacin Basada en Modelos Biolgicos Los modelos que se desarrollan en la investigacin cientfica tienen varias formas. Algunos se construyen como objetos concretos (como una maqueta de un coche o el modelo de un circuito hidrodinmico de un sistema vascular), otros son ms abstractos y existen sobre el papel o incluso como un programa de ordenador. Un modelo es una representacin de una cosa (sea verbal, simblica, matemtica o fsica) como otra. En este contexto, encontramos que los modelos en un dominio del conocimiento se emplean como una fuente para los modelos en otro dominio diferente. Un modelo biolgico ... 35 Los dominios o disciplinas de investigacin (computacin y biologa) comparten reas comunes que podran realizar una aportacin, y animar e inspirar a los investigadores que proceden de una amplia gama de especialidades cientficas para que se interesen por este rea y que comuniquen sus ideas. La forma y la funcin biolgica ha sido durante mucho tiempo una fuente de inspiracin y motivacin para la gente que la ha empujado a construir nuevos artefactos, en muchos casos muy interesantes. Esto no slo incluye aproximaciones como: Redes de neuronas artificiales (RNA) Algoritmos inmunes y sistemas de clasificacin Algoritmos evolutivos (que incluyen algoritmos genticos y estrategias de evolucin) 1 Sino tambin ideas motivadoras de conceptos como: Autmatas celulares Matrices sistlicas Vida artificial Hormigas virtuales Ecologas computacionales. El gran inters que existe en este campo de investigacin es porque los sistemas biolgicos proporcionan una gran variedad de conceptos y de ejemplos que abordan muchos de los temas y problemas de la informtica. As, entre otros, destacan: Procesamiento paralelo distribuido Ecologas de sistema abierto Comportamiento adaptativo no lineal Sistemas autnomos (autoorganizativos) Interaccin, cooperacin y comunicacin Procesamiento asncrono Evolucin del software 36 Jos Barreiro y Flix Montas Emergencia y organizacin La computacin basada en modelos biolgicos considera como fuente de sus modelos las ideas de las ciencias biolgicas e intenta transferir las ideas relevantes a temas computacionales. En este proceso, existe un traslado de los conceptos de un dominio (biologa) a otro (informtica). Se infiere, de lo mencionado previamente, que existen dos campos distintos, pero estrechamente relacionados, para la investigacin: [A] Computacin basada en modelos biolgicos, es decir, temas computacionales que utilizan fuentes biolgicas. [B] Biologa basada en modelos informticos, es decir, temas biolgicos que utilizan fuentes informticas. Por tanto, est pues claro que un dilogo interactivo entre los profesionales de las ciencias de la vida y los informticos podra proporcionar un valioso medio de clarificar las ideas y los conceptos y tambin sugerir nuevas direcciones multidisciplinarias para la colaboracin investigativa. La metfora describe el cerebro o la mente como un tipo de computadora y las ideas asociadas con el proceso de la informacin han sido trasladadas del campo de la informtica y de la ciberntica al dominio de las ciencias de la vida. ste es un ejemplo de la biologa/psicologa basada en modelos informticos. Sin embargo, de alguna forma, la metfora de "red de neuronas" ha pretendido describir un elemento de software/hardware como un tipo de estructura cortical cerebral, es decir, las ideas procedentes de la neurofisiologa han motivado desarrollos en la informtica. Un modelo biolgico ... 37 SISTEMAS BIOLGICOS COMO FUENTES INFORMTICAS: Sistemas a nivel subcelular, Ideas sobre la organizacin como bombas de iones y la emergente y los factores implicados organizacin de las protenas en las en este proceso. (organizacin en membranas. trminos de entropa e informacin): Modelo neo-darwiniano: RNAs, los algoritmos genticos, extensiones y alternativas que den los algoritmos inmunes, las cabida a ideas como: estrategias de evolucin - la fluidez genmica dentro de Reto: desarrollar modelos en los un ciclo de vida que el cdigo pueda responder - la transcripcin inversa autoadaptndose al entorno (no a - la amplificacin y conversin travs de mutacin aleatoria y la recombinacin) de genes - los rasgos lamarkianos Sistemas de modulacin nerviosa - Las RNAs son anlogos pobres y endocrina relacionados con la - El algoritmo de comunicacin y la integracin. retropropagacin es un ejemplo bsico - La implicacin multisistema de las interacciones qumicas entre el sistema nervioso y el sistema inmunolgico Biotecnologa. Sistemas de inmovilizacin, mquinas biomoleculares y bioreactores Las glndulas (incluyendo el Ordenadores qumicos (de datos) cerebro y el hgado) que procesan de forma altamente paralela 38 Sistemas simbiticos, la interaccin y la comunicacin unicelular e intercelular (clula nica y mixta) 2.1.- Computacin Evolutiva Jos Barreiro y Flix Montas Estudios tericos y empricos de la naturaleza y de la interaccin de agentes autnomos El increble universo de la computacin evolutiva constituye una pequea muestra de lo que supone el universo cientfico que incorpora Sistemas Difusos, Redes de Neuronas Artificiales y que son denominadas "computacin inteligente", lo que a su vez supone una pequea parte de lo que incorporan cada vez ms avances cientficos: Vida Artificial, Geometra Fractal y otras ciencias de sistemas complejos y que constituyen la Computcin Natural. Es decir, segn el grado de complejidad de la computacin biolgica tenemos (figura 5): COMPUTACIN COMPUTACIN INTELIGENTE COMPUTACIN NATURAL Figura 5.- Niveles de complejidad de la computacin biolgica. En los ltimos aos los algoritmos de optimizacin global imitan ciertos principios de la naturaleza proporcionados en varios dominios de aplicacin, representado principalmente por aquellos principios en los que la naturaleza ha encontrado "islas estables" en un "ocano turbulento" de posibles soluciones. Los procesos biolgicos han dado lugar a los siguientes mtodos de optimizacin: Redes de Neuronas Artificiales y el campo de la Computacin Evolutiva (CE). Un modelo biolgico ... 39 En la CE se distinguen las siguientes ramas: - Programacin Evolutiva (PE) - Estrategias Evolutivas (EE) - Algoritmos Genticos (AG) - Sistemas Clasificadores (SC) - Programacin Gentica (PG) Otras muchas estrategias para solucionar problemas estn basados sobre observaciones biolgicas inspiradas en el descubrimiento de Charles Darwin en el siglo XIX: el significado de la seleccin natural y la supervivencia de los ms aptos o adaptados de su "Teora de la Evolucin". Los algoritmos que se inspiran en sta han sido denominados Algoritmos Evolutivos (AE). Los AE forman un amplio abanico de trminos que son usados para describir los sistemas solucionadores de problemas basados en computadoras y que usan modelos computacionales de los procesos evolutivos como elementos clave en su diseo e implementacin. Todos ellos muestran un concepto comn basado en la simulacin de la evolucin de los individuos a travs de procesos como la seleccin, mutacin y reproduccin. Este proceso va a depender de la adaptacin de estas estructuras o individuos en lo que ha sido definido como "entorno". Concretamente, los AE mantienen una poblacin de individuos que evolucionan segn las reglas de la seleccin y otros operadores llamados "operadores de bsqueda u operadores genticos" como son la recombinacin y la mutacin. Cada individuo en la poblacin reacciona a medida que se produce su adaptacin al entorno. La reproduccin pone atencin a la alta adaptacin individual explotando la informacin de la capacidad de adaptacin. La recombinacin y la mutacin perturban a esos individuos proporcionando heursticas generales para la exploracin. Desde un simple punto de vista biolgico estos algoritmos son suficientemente complejos para proporcionar un robusto y poderoso mecanismo de bsqueda adaptativa. 40 Jos Barreiro y Flix Montais 2.1. 1.- Programacin Evolutiva La Programacin Evolutiva es una estrategia de optimizacin estocstica parecida a los algoritmos genticos, pero que prescinde de las representaciones "genmicas", as como la recombinacin en sentido de estrategia de mutacin. Al igual que los algoritmos genticos, la Programacin Evolutiva es til a fin de optimizar las soluciones de los problemas cuando se excluyen otras tcnicas como la descendencia de gradiente o el descubrimiento analtico directo. La optimizacin de la funcin, en la que la superficie de optimizacin es desigual y posee muchas soluciones localmente ptimas, se adapta bien a la tcnica de la Programacin Evolutiva. En el proceso para la Programacin Evolutiva, al igual que ocurre con los Algoritmos Genticos, existe un supuesto subyacente de que la "aptitud" puede caracterizarse en trminos de variables y que existe una solucin ptima en trminos de esas variables. El mtodo bsico de la Programacin Evolutiva se compone de 3 pasos, que se repiten, hasta que se supere el umbral de iteracin o se obtenga una solucin adecuada: 1) Eleccin de una poblacin inicial de casos de prueba de forma aleatoria. El nmero de casos tiene mucho que ver con la velocidad de la optimizacin, pero no se dispone de respuestas acerca de cul es el nmero idneo de casos. 2) Cada poblacin se replica en una nueva poblacin. Cada uno de estos individuos descendientes se mutan segn una distribucin de tipos de mutacin, que va de menor a mayor en un espectro continuo de tipos de mutacin. 3) Cada descendencia se evala por medio del clculo de su aptitud. Se escogen los N individuos mejores o bien se escogen aleatoriamente N individuos para la siguiente generacin. Las diferencies fundamentales entre el mtodo de Programacin Evolutiva y la tcnica de Algoritmos Genticos son dos: En primer lugar, no se impone restriccin alguna sobre la representacin. La aproximacin tpica del Algoritmo Gentico implica la Un modelo biolgico ... 41 codificacin de las soluciones del problema en forma de una cadena de muestras representativas, el genoma. En la aproximacin de la Programacin Evolutiva la representacin surge del problema. En segundo lugar, la operacin de mutacin simplemente modifica aspectos de la solucin segn una distribucin estadstica que pondera como muy probables variaciones poco importantes en la descendencia y, como cada vez menos probables, variaciones considerables a medida que se vaya aproximando al ptimo mximo. 2.1.2.- Estrategias Evolutivas (EE) Surgen en Alemania en la Universidad Tcnica de Berln en experimentos que utilizaban el tnel de viento del Instituto de Ingeniera de Flujos. Durante la bsqueda de las formas ptimas de los cuerpos en un flujo, lo que se rduca entonces a una experimentacin laboriosa e intuitiva, se concibi la idea de adoptar un procedimiento estratgico. Sin embargo, los intentos con las estrategias de gradiente coordinado y simple fracasaron. Entonces se les ocurri probar con cambios aleatorios en los parmetros que definan la forma, siguiendo el ejemplo de las mutaciones naturales y naci as la EE. Se empez a construir un experimentador automtico, que funcionara segn las sencillas reglas de mutacin y seleccin y se prob la eficiencia de estos nuevos mtodos. Recibieron el apoyo financiero de la Sociedad de Investigacin Alemana (DFG) que posibilit el trabajo que se concluy, de forma provisional, en 1974 con la tesis "Estrategia de evolucin y la optimizacin numrica". De este modo, se crearon EE para resolver problemas de optimizacin tcnica, y hasta hace muy poco stas slo se conocan entre la comunidad de la ingeniera civil, como una alternativa a las soluciones estndares. 2.1.3.- Algoritmos Genticos El algoritmo gentico es un modelo de aprendizaje automtico cuyo comportamiento deriva de un metfora de los procesos de la evolucin en la naturaleza. Su funcionamiento es mediante la creacin, en una computadora, de una poblacin de individuos representados por los cromosomas que son, en esencia, un conjunto de cadenas de caracteres 42 Jos Barreiro y Flix Montas anlogos a los cromosomas de 4 bases que vernos en nuestro ADN. Los individuos en la poblacin se someten a un proceso de evolucin. La evolucin no es un proceso intencionado ni dirigido, es decir, no existen datos para apoyar la afirmacin que la evolucin tiene corno meta la produccin de la humanidad. De hecho, los procesos de la naturaleza parecen reducirse a la competencia entre diferentes individuos por los recursos en el entorno. Algunos son mejores que otros y los mejores tienen una probabilidad ms alta de sobrevivir y propagar su material gentico. En la naturaleza, vernos que la codificacin para nuestra informacin gentica (genorna) se realiza de forma que permita la reproduccin sexual. sta, facilita la creacin de una descendencia radicalmente diferente desde el punto de vista gentico, pero que tiene el mismo sabor general (especie). Al nivel molecular, lo que ocurre, simplificando al mximo, es que un par de cromosomas se encuentran, intercambian trozos de informacin gentica y se separan. Esto es la operacin de recornbinacin, llamada generalmente "cruce" debido a la manera en la que el material gentico cruza de un cromosoma a otro. La operacin de cruce se produce en un entorno en el que la seleccin del que va a emparejarse es una funcin de la aptitud del individuo, es decir, el grado de xito que tiene el individuo al competir en su entorno. Algunos algoritmos genticos utilizan una funcin sencilla de la medida de aptitud para seleccionar individuos (de tipo probabilstico) que van a someterse a los operadores genticos corno el cruce o la reproduccin (propagacin de material gentico sin cambios). Otras implementaciones utilizan un modelo en el que compiten determinados individuos que son seleccionados en un subgrupo de forma aleatoria y se elige el ms apto. Los dos procesos que contribuyen ms en la evolucin son el cruce y la seleccin/reproduccin basada en la aptitud. Tambin la mutacin juega un papel en este proceso, aunque ste no es tan dominante corno generalmente se cree en el proceso de la evolucin. Hay que insistir sobre manera en que el algoritmo gentico, corno una simulacin de un proceso gentico, no es una "bsqueda aleatoria" de una solucin a un problema (un individuo altamente apto). El algoritmo gentico utiliza procesos estocsticos, pero el resultado no es en definitiva aleatorio [Holland, 1992]. Un modelo biolgico ... 43 En la prctica, se puede implementar este modelo gentico de la computacin con matrices de bits o caracteres que representan las cromosomas. Las operaciones sencillas de manipulacin de bits permiten la implementacin de las operaciones de cruce, mutacin, etc. Aunque se ha realizado una cantidad considerable de investigaciones sobre las cadenas de longitud variable y otras estructuras, la mayor parte del trabajo con los algoritmos genticos se centra en las cadenas de caracteres de longitud fija. Estos son los aspectos decisivos que caracterizan la programacin gentica en la que no se tiene una representacin de longitud fija, ni existe por lo general una codificacin del problema. Cuando se implementa un algoritmo gentico, se suele realizar de una manera que comprende el siguiente ciclo: evaluar la aptitud de todos los individuos en la poblacin; crear una nueva poblacin a travs de las operaciones como el; cruce, la reproduccin en funcin de la aptitud y la mutacin sobre los individuos cuya aptitud haya sido medida; desechar la vieja poblacin e iterar con la nueva poblacin (generacin). No existe ninguna justificacin terica de este modelo de implementacin pues no se aprecia este comportamiento puntual en las poblaciones en la naturaleza en su conjunto. La primera generacin (generacin O) de este proceso opera sobre una poblacin de individuos generada de forma aleatoria. A partir de ah, las operaciones genticas, conjuntamente con la medida de aptitud, tienen la funcin de mejorar la poblacin. La facultad de los algoritmos genticos para concentrar su atencin en las porciones ms prometedoras de un espacio de soluciones es fruto directo de su capacidad para intercambiar cadenas portadoras de soluciones parciales. Al empezar, cada ristra de la poblacin se evala con vistas a determinar el rendimiento de la estrategia codificada en ella, despus, las que logran mayor puntuacin se aparean entre s: se alinean, se selecciona un punto al azar y se procede al intercambio de las subcadenas situadas a la izquierda del mismo. Se engendran as dos descendientes: uno que contiene los smbolos de la primera ristra hasta el punto de cruce ms los de la segunda a partir de ese punto y, el otro formado por la hibridacin complementaria. Los cromosomas biolgicos se intercambian al encontrarse dos gametos para constituir un zigoto, por lo que el proceso de hibridacin de algoritmos genticos remeda de cerca el modelo biolgico en que se inspira [Holland, 1992]. 44 Jos Barreiro y Flix Montas El algoritmo gentico explota las regiones de ms alto rendimiento del espacio de soluciones (las regiones "diana") porque las sucesivas generaciones de reproduccin y cruzamiento generan un nmero creciente de ristras pertenecientes a ellas. El algoritmo favorece que las ristras ms aptas asuman roles progenitores y, por esta razn, las cadenas superiores al promedio (que yacen en regiones diana) tendrn mayor descendencia en la generacin siguiente. La clave de esta conducta francamente sorprendente, reside en que cada ristra individual pertenece a todas las regiones en las cuales aparece uno cualquiera de sus bits. As pues, un algoritmo gentico que manipule una poblacin de unos cuantos millares de cadenas est realmente tomando muestras de un nmero de regiones enormemente mayor. Tal paralelismo implcito (en el sentido de procesamiento en paralelo) proporciona al algoritmQ gentico su ventaja principal sobre otros procesos de resolucin de problemas. El paralelismo implcito del algoritmo gentico le permite ensayar un gran nmero de regiones del espacio de bsqueda manipulando un nmero relativamente reducido de ristras. Resulta evidente que la evolucin biolgica no opera en el sentido de producir un nico superindividuo, sino en el de generar especies bien adaptadas unas a otras, en interaccin mutua. Del mismo modo, resulta posible utilizar el algoritmo gentico, modificado, no para gobernar la evolucin de meras reglas o estrategias individuales sino de "organismos" compuestos por multitud de reglas. En lugar de seleccionar aisladamente las reglas ms idneas, las presiones competitivas pueden llevar a la evolucin de sistemas mayores cuyas facultades se encuentren codificadas en las ristras de bits que los componen. 2.1.4.- Sistemas Clasificadores (SC) Surgen con la pretensin de extender el alcance los algoritmos genticos y crear as un cdigo gentico capaz de representar la estructura de cualquier programa. El resultado fue lo que se denomin sistema clasificador, que consiste en un conjunto de reglas cada una de las cuales realiza determinadas acciones siempre que algn dato satisfaga sus condiciones. Condiciones y acciones estn representadas por ristras o cadenas de bits correspondientes a la presencia o ausencia de Un modelo biolgico ... 45 caractersticas especficas en las entradas o salidas de las reglas. Por cada caracterstica que se halle presente la ristra contendr un 1 en la posicin adecuada y por cada una ausente un O. La forma de obtener por evolucin un conjunto de reglas clasificadoras capaces de resolver un problema dado es la siguiente: se parte de una poblacin de ristras aleatorias de unos y ceros y se evala cada una de ellas atendiendo a la calidad de su resultado. Segn el problema de que se trate la medida de adecuacin puede ser el beneficio comercial, el tanteo en un juego, la tasa de error o cualquiera ~ otros mltiples criterios. Las cadenas de mayor calidad se aparean; las inferiores perecen. Con el transcurso de las generaciones irn predominando las cadenas asociadas a soluciones cada vez ms perfectas. Adems, el proceso de apareamiento combina sin cesar estas ristras de nuevas formas, generando soluciones cada vez ms refinadas. Los tipos de problemas que han resultado adecuados para esta tcnica van desde el desarrollo de nuevas estrategias en la teora de juegos hasta el diseo de sistemas mecnicos complejos. 2.1.5.- Programacin Gentica (PG) La programacin gentica es la extensin del modelo gentico de aprendizaje al espacio de los programas. Es decir, los objetos que constituyen la poblacin no son cadenas de caracteres de longitud fija que codifican posibles soluciones al problema planteado, son programas que, cuando se ejecutan, "son" las soluciones candidatas para el problema. Estos programas se expresan en la programacin gentica como rboles de anlisis gramatical, en vez de lneas de cdigo. En la PG, la operacin de cmce, se implementa al tomar subrboles seleccionados de forma aleatoria entre los individuos (seleccin segn la aptitud) y su intercambio. Es importante sealar que la PG no suele emplear mutacin como un operador gentico. 2. 1.6.- Utilidad de los AE En principio, los AE pueden computar cualquier funcin computable, es decir, todo lo que puede realizar un ordenador digital normal. Los AE son especialmente mal adaptados a problemas cuyo modo de resolucin ya es conocida, a no ser que se pretenda que estos Problemas sirvan como 46 Jos Barreiro y Flix Montas programas de referencia. Los algoritmos de propsito especial, es decir, los algoritmos que tengan codificado un cierto grado de conocimiento del dominio del problema superarn normalmente a los AE en el rendimiento. Los AE deben utilizarse cuando no existe ninguna estrategia de resolucin de problemas conocida y el dominio del problema es completo. Ah es donde entran en juego los AE: encuentran soluciones de forma heurstica en la ausencia de otras alternativas. 2.1. 7.- Aplicaciones de AE que han tenido xito: "Timetabling": un tema que se ha abarcado con bastante xito con los AG es la planificacin de horarios. Una manifestacin bastante comn de este tipo de problema es la planificacin de horarios de exmenes o de clases universitarias, etc. 1 La naturaleza modular de la funcin de aptitud constituye la clave de la principal fortaleza potencial del uso de los AG para este tipo de cuestiones frente al uso de los mtodos convencionales de programacin por bsqueda y/o por restricciones. Otros dominios de aplicacin son "Job-Shop Scheduling", "Ciencias de la Gestin" y "Game Playing". 2.1.8.- Computacin Evolutiva y otras ciencias: La computacin evolutiva es un campo que interesa a investigadores de mltiples y dispares disciplinas. As, segn se muestra en la siguiente tabla, son mltiples los campos en los que la CE tiene aplicacin: Informticos Interesan el aprendizaje y los sistemas adaptativos. Todava es necesario construir el hardware necesario par trabajar con los AE en grandes problemas del mundo real. La computacin masivamente paralela ser de gran ayuda. Ingeniera Problemas de optimizacin Robtica Para la construccin de robots mviles que intentan navegar en entornos inciertos. Un modelo biolgico ... 47 Ciencia cognitiva Pueden utilizar sistemas clasificadores para describir modelos de pensamiento y sistemas cognitivos. Fsicos Usan el hardware inspirado en CE como la "Connection Machine" de Hillis para modelizar problemas del mundo real que incluyen miles de variables que deben manejarse en paralelo. Bilogos Maynard, Dawkins y Collins ha puesto de manifiesto el inters de la CE en lo concerniente a la investigacin en la biologa. Filsofos y otros 3.- Contribuciones de la Informtica en la Biologa Las tcnicas computacionales empleadas en biologa abarcan una gama enorme. Entre otras, incluye, tal como se muestra en la siguiente tabla, las siguientes: TCNICAS COMPUTACIONALES EMPLEADAS EN BIOLOGA Algoritmo A * Formacin inductiva de categoras Lingstica computacional Redes de neuronas artificiales Modelizacin cualitativa Reconocimiento jerrquico de patrones Razonamiento basado en casos Inferencia deductiva en PROLOG "Connection Machine" Procesamiento visual dirigido a modelos Propagacin de restricciones Sistemas Expertos 48 Jos Barreiro y Flix Montas Mantenimiento de bases de conocimiento Codificacin mnima en longitud Bases de datos orientadas a objeto Simulacin Induccin de gramticas de contexto libre Tcnicas de adquisicin del conocimiento Actualmente, la computadora es de gran valor para los bilogos moleculares que investigan en gentica para poder llevar a cabo: - Traduccin de secuencias - Clculos de la composicin de bases - Frecuencias ce dinucletidos de codones - Anlisis de mapas de restriccin - Prediccin de regiones de DNA que codifican para protena - Comparacin de nucletidos mediante anlisis de repeticiones y palndromos - Prediccin de estructuras secundarias de RNA y protenas - Bsqueda en bases de datos. 3. 1.- Proyecto Genoma Humano El Proyecto Genoma es, en definitiva, un trabajo de cartografa en el que se dibujarn molculas de DNA (cido desoxirribonucleico), el compuesto que, enrollado sobre s mismo formando un cromosoma, da origen a la vida. Para Nat Goodman, investigador principal del Instituto Whitehead de Boston, subsidiario del MIT, "la iniciativa para el estudio del genoma humano es una de las gigantescas aventuras cientficas de la historia" [Frenkel, 1991]. Este proyecto abarca dos mapas distintos pero complementarios. El primero comprende la secuenciacin completa de las 3.000 millones de bases. El otro, la ubicacin precisa de los genes dentro de los cromosomas y su posterior descifrado para conocer la funcin exacta que realizan. Como cabe suponer, completar la lectura exhaustiva de un libro que, escrito slo con las iniciales de los cuatro elementos qumicos Un modelo biolgico ... 49 primarios, ocupara 200.000 pagmas, representa el punto final de complicadas investigaciones en las cuales se hallan involucradas varias ramas de la ciencia. Secuenciar el genoma humano permitir definir con precisin sus productos, paso fundamental en la capacidad de analizar la contribucin funcional de las variaciones de las secuencias. Al comparar secuencias humanas con las de otras especies se obtienen relaciones evolutivas de gran valor y ponen de manifiesto claves que revelan el lenguaje de control segn el cual se consiguen los complejos patrones de expresin gnica [Watson, 1990]. De este modo, secuenciar el genoma humano vendr acompaado indefectiblemente por un paralelo incremento de la informacin de secuencias corresponqientes a otras especies. Adems, todos los aspectos del proceso de secuenciacin estn siendo actualmente automatizados con el fin de reducir los costes del proyecto, el de mayor presupuesto en la historia de la Biologa. Estos costes resultan tan prohibitivos que el esfuerzo tendr que ser compartido internacionalmente. As, se tendr que implementar una red telemtica internacional de bases de datos de secuencias. Para el desarrollo del proyecto HUGO se plantearon una serie de lneas u objetivos principales que se definen en los siguientes focos del proyecto: - Establecer principalmente bases de datos conteniendo informacin sobre secuencias del DNA y los genes y nuevas funciones para identificar genes y otras informaciones conocidas. - Crear mapas de cromosomas humanos consistentes en marcadores de DNA que cientficamente permitan localizar rpidamente genes. - Crear un depsito de material de investigacin incluyendo conjuntos ordenados de fragmentos de DNA que representen completamente el DNA en los cromosomas humanos. - Desarrollar nuevos instrumentos para analizar el DNA. - Desarrollar nuevas formas de analizar el DNA incluyendo tcnicas fsicas y bioqumicas y mtodos computacionales. 50 Jos Barreiro y Flix Montas - Desarrollo de recursos similares en otros organismos internacionales que faciliten la investigacin biomdica. - Determinar la secuencia del DNA de una fraccin larga del genoma humano y la de otros organismos. En Estados Unidos son varios los organismos e instituciones implicados en este proyecto, as estn: el National Institute of Health (NIH), el Departament of Energy (DOE), la National Science Foundation (NSF) y el Howard Hughes Medical Institute (HHMI). Reconociendo que este proyecto generar gran cantidad de datos biolgicos que requerirn una gran iniciativa informtica, se han destinado el 20% de los fondos del mismo a este esfuerzo. Esto es importante pues esta iniciativa podra incentivar el desarrollo de una tercera generacin de bases de datos, de la misma manera que el COIJlercio y la industria fomentaron el desarrollo de las bases de datos relacionales ya implantadas [Frenkel, 1991]. Se precisar moverse en procesos simblicos y numricos por lo que los requisitos informticos incluyen el desarrollo de los mejores y ms rpidos algoritmos a fin de comparar datos de secuencias y para predecir los plegamientos proticos, lo que implica combinatoria, procesamiento paralelo y supercomputadoras. Asimismo, la IA y sus aplicaciones (redes de neuronas), estarn implicadas en la investigacin para definir los lugares de unin entre los fragmentos de DNA [Frenkel, 1991]. 3.2.- Bases de datos biolgicas Cuando en 1983, Doolittle y colaboradores, utilizaron una base de datos de una secuencia gentica recin sintetizada para probar que un gen causante del cncer era un pariente prximo del factor de crecimiento normal, los laboratorios de biologa molecular en todo el mundo empezaron a instalar computadoras o acogerse a redes para realizar bsquedas en bases de datos biolgicas. Desde entonces han surgido una variedad desconcertante de recursos informticos para la biologa. Estas bases de datos y otros recursos constituyen un servicio valioso no slo para la comunidad biolgica, sino tambin para el informtico que busca informacin sobre este dominio. Existe una base de datos que maneja estos recursos y que se mantiene en el National Laboratory de Los Alamos. Se llama LiMB y contiene las descripciones, los contactos y los mtodos de acceso a ms de 100 bases Un modelo biolgico ... 51 de datos relacionadas con la biologa molecular siendo, por tanto, una herramienta valiosa para localizar informacin [Lawton, 1989]. Otro fuente general de informacin sobre bases de datos es el National Center for Biotechnology Information (NCBI), que forma parte de la National Library of Medicine. El NCBI tambin proporciona una base de datos de secuencias genticas desde comienzos de 1992. Existen varias bases de datos de secuencias genticas y que mantienen una coordinacin cada vez ms estrecha. Son el Genbank [Moore, 1990], la Nucleotide Sequence Database del European Molecular Biology Laboratory (EMBL) [Hamm, 1986] y la DNA Database de Japn (DDBJ) [Miyazawa, 1990]. La base de datos de secuencias protenicas principal es el Protein Identification Resource (PIR) [George, 1986]. El NCBI tambin proporciona una base de datos en la que se encuentran combinacin de secuencias protenicas no redundantes. Varias bases de datos contienen informacin sobre las estmcturas tridimensionales de molculas. As, la Protein Data Bank (PDB), mantenida por el Brookhaven National Laboratory, contiene datos sobre la estmctura de las protenas, sobre todo a partir de datos cristalogrficos. BioMagRes (BMR) es una base de datos obtenidos por NMR sobre protenas, incluyendo estructuras tridimensionales, que mantiene la Universidad de Wisconsin, Madi son [Ulrich, 1989]. Carbbank contiene informacin estructural para hidrocarbonatos complejos [Doubet, 1989]. El Online Registry File del Chemical Abstracts Service (CAS) es una base de datos comercial que contiene ms de 1 O millones de sustancias qumicas. La Cambridge Structural Database es una base de datos que contiene informacin sobre pequeas estmcturas moleculares. Bases de datos de mapas genticos (GMB), as como una base de datos de enfermedades humanas heredadas y sus caractersticas (OMIM) se mantienen en el Welch Medica! Library en la Universidad John Hopkins. Existe una base de datos con informacin sobre los compuestos implicados en el metabolismo intermediario, llamada CompoundKB y disponible en el NCBI [Hunter, 1993]. Como muestra del tamao de estas bases de datos biolgicas, se comparan en la siguiente tabla las tres ms importantes: 52 Jos Barreiro y Flix Montas NOMBRE NMERO DE NMERO DE ESPACIO DE LA BASE ENTRADAS NUCLETIDOS O DE DISCO AMINOCIDOS REQUERIDO DE DATOS GenBank 72.0 71280 92160761 280MB EMBL 31.0 72481 94390065 300MB PIR 32.0 40298 11831134 110MB Las base de datos de nucletidos se duplican en tamao aproximadamente cada 1 :s aos. Por ltimo, uno de los recursos ms importantes para un informtico interesado en biologa molecular es el sistema de tabln de anuncios bionet. Este tabln est disponible, a travs de usenet, por correo electrnico. Un modelo biolgico ... 53 4.- Bibliografa Creighton, T.E.: Proteins, structures and molecular properties. Freeman and Company. 1983. Doubet, S.; Bock, K.; Smith, D.; Albersheim, P. and Darvill, A.: The Complex Carbohydrate Structure Datahase. Trends in Biochemical Sciences, 14: 475. 1989. Frenkel, K.A.: The Human Genome Project and lnformatics. Communications of the ACM. Vol. 34 (11): 41-51. Noviembre 1991. George, D.; Barker, W. and Hunt, L.: The Protein ldentification Resource. Nucleic Acids Research, 14: 11-15. 1986. Goodenough, U.: Ediciones Omega S.A, Cap. 2 y 3, pgs. 12- 39. Barcelona. 1981. Guyton, F.: Tratado de Fisiologa Mdica. Editorial Interamericana. Mexico, 1984. Hamm, G. and Cameron, G.: The EMBL Data Library. Nucleic Acids Research, 14: 5-9. 1986. Holland J.H.: Adaptation in Natural and Artificial Systems. MIT Press. 1992. Hunter, L.: Artificial Intelligence and Molecular Biology. AAAI. Press/MIT Press. Massachusetts-Califomia, 42-44. 1992. Lawton, J.; Burks, C. and Martinez, F.: Overview of the LiMB Database. Nucleic Acids Researh 17: 5885-5899. 1989 Lehninger, A.L.: Bioqumica. Ediciones Omega, S.A. Barcelona. Cap. 28-34. Parte 4. 1972. Miyazawa, S.: DNA data Bank of Japan: Present status and future plants. Computers and DNA, 7: 47-61. 1990. Moore, J.; Benton, D. And Burks, C.: The Genbank Nucleic Acid Data Bank. Focus II (4): 69-72. 1990. Ulrich, E.; Markley, J. and Kyogoyu, Y.: Creation a Nuclear Magnetic Resonance Data Repository and Literature Base. Protein Sequence and Data Analysis, 2 23-37. 1989. 54 Jos Barreiro y Flix Montas Watson, J.: The Human Genome- Projetc: Past, Present and Future. Sciencie 248: 44-48. 1990. Watson, J.D. and Crick, F.H.C.: Molecular Structure of Nucleic Acid. A structurefor Deoxiribose Nucleic Acid. Nature 171:737-738. 1953.