ag, la evolucion como modelo matematico

6
URANTE MILLONES de años los seres vivos se han encon- trado con numerosas situaciones adversas, es decir, con una enorme cantidad de problemas que han tenido que ir solucionando poco a poco mediante sucesivas adaptacio- nes. El éxito de la vida en innumerables entornos no es sino el reflejo de que los seres vivos han encontrado solu- ciones para los distintos problemas con los que se han enfrentado. Son varias las cuestiones que podemos plan- tearnos en relación a esta cuestión: ¿cuál es el mecanismo que ha permitido la supervivencia de los seres vivos en ambientes tan distintos?, ¿existe algún algoritmo matemáti- co que subyazca en el mismo?, en este caso, ¿podría ser aplicable a otras situaciones y problemas? Los algoritmos genéticos son una de las herramientas que han nacido para responder a estas cuestiones. Un poco de historia En 1831, a los 22 años de edad, un joven naturalista se embarca en el velero Beagle que le llevará a realizar un apasionante viaje de más de tres años por las costas de Sudamérica. Con apenas una libreta por compañía, el joven observa detenidamente la fauna y la flora de las selvas tropicales, de los fríos desiertos de la Tierra de Fuego, de las islas... y una idea va formándose en su cabeza. Acabado el viaje llega el regreso al hogar y, algunos años más tarde, el naturalista publica un libro cuya primera edición se agotó el mismo día de su publi- cación y que llevaba por título Sobre el origen de las especies por medio de la selección natural y cuyo autor era un tal Charles Darwin… Los postulados básicos en los que descansa la teoría evo- lutiva de Darwin son los siguientes: El advenimiento de los computadores ha supuesto la posibilidad de enfrentarse a problemas que hace tiempo parecían inabordables. Se precisan, no obstante, modelos adecuados que sean capaces de utilizar acertadamente la fuerza de cálculo tan potente de los ordenadores. Dentro de este campo se han desarrollado métodos como el de Montecarlo, el de cristalización simulada, las redes neuronales o los propios algoritmos genéticos. En el presente trabajo nos centramos en este último modelo en base al éxito que está obteniendo, sobre todo, en el campo matemático de la optimización, tanto a nivel industrial como a nivel científico. 15 Algoritmos genéticos: la evolución como modelo matemático Raúl Corzo Suárez Francisco Javier Paredes Olay ARTÍCULOS D 35 noviembre 2000, pp. 15-20

Upload: josue-lopez-andres

Post on 24-Nov-2015

13 views

Category:

Documents


8 download

TRANSCRIPT

  • URANTE MILLONES de aos los seres vivos se han encon-trado con numerosas situaciones adversas, es decir, conuna enorme cantidad de problemas que han tenido que irsolucionando poco a poco mediante sucesivas adaptacio-nes. El xito de la vida en innumerables entornos no essino el reflejo de que los seres vivos han encontrado solu-ciones para los distintos problemas con los que se hanenfrentado. Son varias las cuestiones que podemos plan-tearnos en relacin a esta cuestin: cul es el mecanismoque ha permitido la supervivencia de los seres vivos enambientes tan distintos?, existe algn algoritmo matemti-co que subyazca en el mismo?, en este caso, podra seraplicable a otras situaciones y problemas? Los algoritmosgenticos son una de las herramientas que han nacidopara responder a estas cuestiones.

    Un poco de historia

    En 1831, a los 22 aos de edad, un joven naturalista seembarca en el velero Beagle que le llevar a realizar unapasionante viaje de ms de tres aos por las costas deSudamrica. Con apenas una libreta por compaa, eljoven observa detenidamente la fauna y la flora de lasselvas tropicales, de los fros desiertos de la Tierra deFuego, de las islas... y una idea va formndose en sucabeza. Acabado el viaje llega el regreso al hogar y,algunos aos ms tarde, el naturalista publica un librocuya primera edicin se agot el mismo da de su publi-cacin y que llevaba por ttulo Sobre el origen de lasespecies por medio de la seleccin natural y cuyo autorera un tal Charles Darwin

    Los postulados bsicos en los que descansa la teora evo-lutiva de Darwin son los siguientes:

    El advenimiento de loscomputadores ha supuesto laposibilidad de enfrentarse aproblemas que hace tiempoparecan inabordables. Se

    precisan, no obstante,modelos adecuados quesean capaces de utilizar

    acertadamente la fuerza declculo tan potente de los

    ordenadores. Dentro de estecampo se han desarrollado

    mtodos como el deMontecarlo, el de

    cristalizacin simulada, lasredes neuronales o los

    propios algoritmos genticos.En el presente trabajo noscentramos en este ltimo

    modelo en base al xito queest obteniendo, sobre todo,en el campo matemtico dela optimizacin, tanto a nivel

    industrial como a nivelcientfico.

    15

    Algoritmos genticos:la evolucincomo modelo matemtico

    Ral Corzo SurezFrancisco Javier Paredes Olay

    ARTCULOS

    D

    35

    noviembre 2000, pp. 15-20

    Josu Lpez Andrs

  • 1. El nmero de individuos de la mayora de las pobla-ciones naturales permanece constante debido a la limi-tacin de los recursos y a la competencia por su uso.

    2. Dentro de una poblacin los individuos difieren entres y estas diferencias pueden ser positivas o negativaspara poder competir por los recursos.

    3. El resultado de esta competencia es la seleccin natu-ral: sobrevivirn los individuos mejor adaptados.

    Mucho ha llovido desde que aquel joven iniciara aquelviaje hacia la gloria y, sobre todo, mucho se ha desarro-llado la Biologa Molecular desde entonces. La teora neo-darvinista, basada en los estudios de Darwin y fundamen-tada en los conocimientos actuales sobre Gentica yBiologa Molecular se basa en los siguientes principios:

    1. Para que una poblacin evolucione deben existir dife-rencias entre los individuos de la misma y los respon-sables de estas diferencias son los genes.

    2. Algunos de los individuos estarn mejor adaptados almedio que el resto.

    3. Los individuos mejor adaptados contribuyen con msdescendientes a las siguientes generaciones.

    Un poco de Gentica

    Nuestro punto de partida es una poblacin que estar for-mada por individuos que, lgicamente, presentarn algu-na diferencia entre ellos. Vamos a suponer que estas dife-rencias entre individuos se deben a diferencias entre susgenes, es decir, diferencias en el genotipo, que es el con-junto de genes de un individuo. Definiremos tambin elfenotipo como la expresin observable del genotipo.

    Existen diversos mecanismos cuya accin supone altera-ciones en el genotipo, entre los que destacaremos dos:mutacin y cruce.

    a) Mutacin:

    La mutacin se define como la alteracin de uno oms genes. Esto hace cambiar las caractersticas delindividuo y, por lo tanto, su nivel de adaptacin. Porlo general las mutaciones suelen empeorar la adapta-cin del individuo al medio, pero algunas de ellas lamejoran. Esta es una operacin muy importante,puesto que a pesar de su baja probabilidad de mejo-rar al individuo, permite la introduccin de nuevascaractersticas en la poblacin.

    b) Cruce:

    La operacin de cruce consiste en la combinacin dedos cromosomas para crear uno o ms individuos nue-vos. En este caso, los individuos mejor adaptados sernlos que ms probabilidades tengan de cruzarse con

    otros. El tipo de cruce ms utilizadoes el cruce puntual, que consiste enpartir por un mismo punto los doscromosomas a cruzar e intercambiarsus partes obteniendo as dos nue-vos individuos. Otro tipo de cruce,es el cruce uniforme, que recorre losgenes de cada uno de los cromoso-mas y los intercambia al azar.

    Algoritmos genticos

    Los algoritmos genticos (AG) trabajan apartir de estas equivalencias:

    Gen: un conjunto finito de bits.

    Genotipo o cromosoma: el conjuntode los genes, es decir, todas lascadenas de bits.

    Mutacin puntual: alteracin en unbit de un gen al azar.

    Cruce: intercambio de bits entre lascadenas de bits.

    Funcin objetivo: entorno al quedeben adaptarse los individuos pa-ra sobrevivir.

    Factor de mutacin: fraccin de in-dividuos que sufren mutacin.

    Factor de intercambio: fraccin deindividuos que sufren intercambiode bits.

    Inicialmente, se parte de una poblacinque presente individuos con distintosgenotipos, es decir, que tengan distintascadenas de bits. Tras la aplicacin de lasoperaciones de mutacin y cruce sobreun porcentaje de nuestra poblacin ini-cial, se obtiene una serie de nuevosindividuos que pasan a formar parte dela poblacin. Para lograr que la pobla-cin se mantenga constante en nmerode individuos y no crezca en progresingeomtrica, se aplica lo que se denomi-nan polticas de dispersin.

    Dicho de manera un tanto violenta,una poltica de dispersin decide quindividuos han de morir para evitar elcrecimiento de la poblacin. Normal-mente no se suelen aplicar polticas deenvejecimiento, por lo que la supervi-vencia de un individuo se decide por

    16

    Charles Darwin

    Portada de la primeraedicin de El origen de

    las especies

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

  • su nivel de adaptacin sin que influyasu edad en ello.

    Las dos polticas de dispersin ms uti-lizadas en los AG son:

    a) Dispersin elitista:

    Los nuevos individuos se comparancon los peores individuos de lapoblacin, y sobreviven los mejoradaptados a la funcin objetivo.

    b) Dispersin pseudoelitista:

    La mitad de los nuevos individuosse comparan con los peores de lapoblacin, la otra mitad se compa-ra con los mejores y se seleccionana los mejor adaptados.

    Tras estas operaciones se ha concluidolo que se llama una generacin. Ahoratenemos una nueva poblacin en laque muy posiblemente tengamos indi-viduos que se adapten mejor a la fun-cin objetivo. Tras esto, slo quedarepetir de nuevo las operaciones ante-riores hasta conseguir, al menos, unindividuo que se adapte perfectamentea las funcin objetivo, es decir, la solu-cin a nuestro problema.

    El problemade las 8 reinas

    La filosofa y desarrollo de un AG seentienden mejor con un ejemplo. Eneste caso nos hemos decidido por tra-tar de resolver el problema de las ochoreinas debido a que la aplicacin delos algoritmos genticos en este casoes muy clarificador en cuanto a su fun-cionamiento.

    El problema de las 8 reinas consiste encolocar sobre un tablero de ajedrezocho reinas sin que ninguna de ellasest amenazada por ninguna otra. Elproblema original (que fue investigadopor C. F. Gauss en 1850 sin llegar aresolverlo completamente) consiste enhallar todas las posibles soluciones. Ennuestro caso, no obstante, nos vamos alimitar a buscar alguna de las solucio-nes posibles. Como comentario dire-mos que existen 92 soluciones del pro-

    blema de las 8 reinas, aunque slo son 12 las sustan-cialmente diferentes, pues el resto son soluciones sim-tricas de estas (Wirth, 1980). Las combinaciones posiblesde reinas sobre el tablero, con la restriccin impuesta decolocar cada reina en una columna, son 16.777.216 (esdecir, 88).

    Consideraciones generales de los AGpara el problema de las 8 reinas

    Un tablero de ajedrez consta de 8 columnas y 8 filas. Porotro lado, la reina se puede desplazar tantas casillas comoquiera en cualquiera de los ocho sentidos (Figura 1).

    El problemade las 8 reinas

    consiste en colocarsobre un tablero

    de ajedrezocho reinas

    sin que ningunade ellas

    est amenazadapor ninguna otra.

    El problemaoriginal (que fue

    investigadopor C. F. Gauss

    en 1850sin llegar

    a resolverlocompletamente)

    consiste en hallartodas las posibles

    soluciones.

    17

    !

    Figura 1. Movimientos de la reina

    En el problema que nos ocupa cualquier solucin queobtengamos debe tener nicamente una reina por colum-na. Partiendo de esta consideracin, representaremos unindividuo mediante un vector de ocho elementos en elque cada elemento representa una de las columnas deltablero, y el valor del elemento representa la fila en la quese encuentra la reina dentro de esa columna. Numerandolas filas de 0 a 7 (en lugar de 1 a 8) la figura 2 recoge elejemplo de un individuo cuya representacin vectorialsera (2,4,0,6,1,3,5,1).

    A qu se debe que empecemos numerando las filas conel nmero 0? Pues a que el AG trabaja con estos nmerospero en formato binario, por lo que para representar ochovalores diferentes podemos utilizar tres bits (23=8). As,nuestro cromosoma constar de un total de 8 x 3 = 24 bits.En el caso del ejemplo anterior, el vector quedara repre-sentado por la siguiente cadena de bits: 010 100 000 110001 011 101 001. Obsrvese que numerando las filas de 0a 7 en lugar de 1 a 8 aprovechamos al mximo los 3 bits(ya que el nmero 8 en binario es 1000, nmero de 4 bits).

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

    Josu Lpez Andrs

  • De esta manera, ya hemos definido el genotipo de un indi-viduo, que consistir en una cadena de veinticuatro bits.La interpretacin de estos datos, es decir, la disposicin delas reinas sobre el tablero, sera el fenotipo.

    El siguiente paso es definir la funcin de ajuste. Esta nosdar una valoracin de lo bien que nuestro individuo seadapta al medio, es decir, lo cerca o lejos que se encuen-tra de la solucin al problema. La eleccin de esta funcin,junto con la definicin del cromosoma, son los dos pasosms crticos, y son los que marcarn en gran medida elxito del algoritmo as como su rapidez.

    Nuestra funcin de ajuste debe tratar de penalizar aquellasdisposiciones de las damas en las cuales una fila o unadiagonal estn ocupadas por ms de una dama. Sabemosque una reina situada en la fila x y en la columna y ocu-par tambin las diagonales x + y y x y. En el tablero deajedrez existen ocho filas, ocho columnas, quince diago-nales en una direccin y quince en la otra.

    Nuestra funcin de ajuste utiliza tres vectores. Uno conocho elementos representando las filas y los otros dos, conquince elementos cada uno, que representan las diagona-les. Inicialmente todos los elementos valen 1. Para eva-luar una posible solucin atendemos a las posiciones delas damas. A partir de las coordenadas de cada una deellas obtenemos tres valores: el nmero de fila que ocupa,y los nmeros de las dos diagonales. Con estos valoresincrementamos en una unidad los elementos que lecorrespondan en los vectores anteriormente mencionados.Tras estas operaciones, realizamos la suma de todos loselementos mayores que cero, siendo la mejor solucinaquella que se encuentre ms cercana al valor cero, puesslo la coincidencia de dos o ms piezas en una fila o dia-gonal producir valores mayores que cero en el vectorcorrespondiente. La funcin de ajuste para el ejemplo

    anterior sera 6, que se corresponde conla coincidencia de damas en una fila, endos diagonales en un sentido y en tresdiagonales en el otro, tal y como puedeobservarse en la figura 3.

    Nuestra funcinde ajuste

    debe tratarde penalizar

    aquellasdisposicionesde las damasen las cuales

    una filao una diagonalestn ocupadas

    por msde una dama.

    18

    Figura 2. Ejemplo de una disposicin al azar de 8 reinasCromosoma: 010 100 000 110 001 011 101 001

    !

    !!

    !

    !

    !! !

    Figura 3. Representacin de reinascoincidentes en filas y diagonales

    !

    !!

    !

    !

    !! !

    Condiciones de trabajo del AG

    Para la resolucin del problema se reali-z un programa en lenguaje C sobre unPentium 233Mhz con 64Mb RAM bajosistema operativo Linux. Las libreras deAG utilizadas fueron GALIB v2.4.4 byMatthew Wall at the MassachusettsInstitute of Technology. Tras varias prue-bas iniciales se opt por elegir lassiguientes caractersticas de los AG: encuanto a los operadores que actansobre los individuos de la poblacin, ennuestro ejemplo hemos utilizado lamutacin simple y el cruce puntual. Eltipo de dispersin elegida fue la elitista.Inicialmente se parti de una poblacinde 20 individuos. El factor de la muta-cin fue de 0,5 y el de recombinacin de0,5. Se program una supervivencia de10 individuos por generacin.

    Con estos datos, podemos seguir cmoha sido la ejecucin del programamediante las figuras 4, 5 y 6.

  • Es decir, en la generacin 23 ya ha aparecido algn indi-viduo totalmente adaptado que representa la solucin anuestro problema. Es interesante destacar que si ejecu-tamos de nuevo el programa podemos obtener solucio-nes distintas a la mostrada en la figura 6 aun partiendode los mismos datos.

    Otras aplicaciones de los algoritmosgenticos

    Aplicaciones industriales

    Los algoritmos genticos estn teniendo una importanteaplicacin en diversas industrias debido a que la esenciade determinados problemas es de tal naturaleza que sondifcilmente abordables desde la matemtica convencio-nal. Un problema tpico lo constituye la obtencin devarias piezas metlicas de diversos tamaos a partir deuna viga metlica optimando al mximo su aprovecha-miento, es decir, que el material sobrante sea el menorposible. El planteamiento y resolucin de un problemasemejante mediante tratamientos matemticos conven-cionales es realmente complicado. Sin embargo, losalgoritmos genticos han aportado brillantes solucionesen este campo (Paredes, 1995).

    Otro ejemplo de aplicacin exitosa de algoritmos gen-ticos en el campo de la industria lo constituye el controlde la distancia de paso del acero fundido entre los cilin-dros de un molino de rodillos utilizado en la industriametalrgica para dar un espesor concreto a las lminasde acero. Es conocido que la base de este proceso des-cansa en el conocimiento de muchos parmetros quedeben ser ajustados empricamente. Debido a que losmodelos matemticos de tratamiento de los mismos des-cansan en funciones no lineales, la determinacin de losmismos es bastante complicada. Los algoritmos genti-cos, sin embargo, han resultado ser una herramienta tre-mendamente interesante para resolver este problema(Paredes, 1996).

    Aplicaciones cientficas: difraccinde rayos-x

    La tcnica de difraccin de rayos-X de monocristal se havenido utilizando con el propsito de la determinacinde las posiciones atmicas en las estructuras cristalinas.La resolucin de una estructura tpica (Corzo-Surez,1997) supone enfrentarse a un sistema de 3.000 ecua-ciones no lineales con 300 incgnitas. Estos sistemas deecuaciones no lineales son demasiado complicados, porlo que en cristalografa no se afronta la resolucin direc-

    19

    Figura 4. Individuo mejor adaptado de la generacin: 1Cromosoma:100 110 010 000 010 100 111 011

    Funcin de ajuste: 3

    !

    !!

    !

    !

    !

    !!

    Figura 5: Individuo mejor adaptado de la generacin: 22Cromosoma: 011 110 000 011 001 111 101 010

    Funcin de ajuste: 1

    !

    !!

    ! !

    !!

    !

    Figura 6: Individuo mejor adaptado de la generacin: 23Cromosoma: 100 110 000 011 001 111 101 010

    Funcin de ajuste: 0 (solucin)

    !

    !!

    !!

    !!

    !

    Josu Lpez Andrs

    Josu Lpez Andrs

  • ta del sistema, sino que vienen utilizando ingeniosastransformaciones de estas ecuaciones y haciendo uso denumerosas relaciones matemticas y probabilsticas(Sands, 1974). En cualquiera de los casos, la solucinconlleva un proceso iterativo relativamente largo ytedioso en el que se hace imprescindible poseer un ele-vado conocimiento de qumica cristalogrfica y en elque no est garantizado el xito del estudio, ya que losmtodos usados permiten abordar el problema pero acosta de perder parte de la informacin experimental enlo que se ha venido a denominar el problema de lasfases, que constituye el principal problema de la crista-lografa estructural. La aplicacin de los algoritmos gen-ticos en este campo, an en paales hoy da, est supo-niendo un importante avance al permitir trabajar con elsistema de ecuaciones original y manejar de esta formatoda la informacin.

    BibliografaCORZO-SUREZ, R. y otros, (1997): Redeter-

    mination of Bis(2-aminopyrimidinium)Tetrabromocopper(II) at 200 and 100 K,Acta Cryst., C53, 1786-1789.

    PAREDES, J. y otros (1995): Beam cuttingoptimization system through geneticalgorithms, World Congress on NeuralNetworks (17-7-1995), Washington.

    PAREDES, J. y otros (1996): Width control insemicontinuous rolling mills through evo-lutionary strategies, World Congress onNeural Networks (17-7-1995), Washington.

    SANDS. D. E. (1974): Introduccin a la Cris-talografa, Revert, Barcelona.

    WIRTH, N. (1980): Algoritmos + Estructurasde Datos = Programas, Ediciones delCastillo, Madrid.

    Ral CorzoDepartamento

    de Qumica-Fsica y Analtica.Universidad de Oviedo

    Francisco Javier ParedesEDS Espaa.

    Oviedo

    20

    Geometra por un tuboXI Olimpiada Matemtica NacionalEquipo 3

    Semforo geomtricoXI Olimpiada Matemtica Nacional

    Equipo 2(En blanco y negro pierde mucho,

    hay que imaginar los colores)

    Espiral en el paraso matemticoXI Olimpiada Matemtica Nacional

    Equipo 1