You are on page 1of 8

Captulo 1: Algoritmos genticos: Una visin general Visin de conjunto Ciencia surge del deseo muy humano de comprender

y controlar el mundo. A lo largo de la historia, los seres humanos han construido gradualmente un gran edificio del conocimiento que nos permite predecir, en mayor o menor medida, el clima, los movimientos de los planetas, los eclipses solares y lunares, los cursos de las enfermedades, el ascenso y la cada de el crecimiento econmico, las etapas del desarrollo del lenguaje en los nios, y un vasto panorama de otros recursos naturales, fenmenos sociales y culturales. Ms recientemente, incluso hemos llegado a entender algunos lmites fundamentales nuestra capacidad de predecir. A travs de los eones hemos desarrollado medios cada vez ms complejos para controlar muchos aspectos de nuestras vidas y de nuestras interacciones con la naturaleza, y que hemos aprendido, a menudo la forma ms dura, el grado en que otros aspectos son incontrolables. El advenimiento de las computadoras electrnicas ha sido sin duda el acontecimiento ms revolucionario en la historia de la la ciencia y la tecnologa. Esta revolucin en curso est aumentando profundamente nuestra capacidad para predecir y controlar la naturaleza de una manera que apenas fueron concebidas hasta hace medio siglo. Para muchos, los mayores logros de esta revolucin ser la creacin-en forma de programas informticos-de nueva especie de inteligente seres, e incluso de nuevas formas de vida. Los objetivos de la creacin de la inteligencia artificial y la vida artificial se remonta a los inicios de la era de la informtica. El primer equipo los cientficos-Alan Turing, John von Neumann, Norbert Wiener y otros-fueron motivadas en gran parte por las visiones de imbuir a los programas de ordenador con inteligencia, con el la vida-como la capacidad de auto-replicarse, y con la capacidad de adaptacin para aprender y controlar sus entornos. Estos pioneros de la informtica eran tan interesados en la biologa y la psicologa como en electrnica, y se les vea a los sistemas naturales como gua metforas para saber cmo lograr sus visiones. Lo debera ser ninguna sorpresa, entonces, que desde los primeros das de las computadoras se han aplicado no slo para el clculo de misiles trayectorias y descifrar los cdigos militares, sino tambin a modelar el cerebro, imitando el aprendizaje humano y simulacin de la evolucin biolgica. Estas actividades computacionales biolgicamente motivados han sufrido altibajos lo largo de los aos, pero desde principios de 1980 todos ellos han experimentado un resurgimiento en la investigacin de la computacin comunidad. El primero se ha convertido en el campo de las redes neuronales, la segunda en el aprendizaje automtico y la tercero en lo que ahora se llama "computacin evolutiva", de los cuales los algoritmos genticos son los ms destacados ejemplo. 1.1 BREVE HISTORIA DE LA COMPUTACIN EVOLUTIVA En los aos 1950 y 1960 varios cientficos informticos estudiarse independientemente sistemas evolutivos con la idea de que la evolucin podra ser utilizado como una herramienta para la optimizacin de problemas de ingeniera. La idea en todo esto sistemas de evolucionar una poblacin de soluciones candidatas a un problema dado, utilizando operadores inspirados en variacin gentica natural y la seleccin natural. En la dcada de 1960, Rechenberg (1965, 1973), present "estrategias de evolucin" (Evolutionsstrategie en el original Alemn), un mtodo que utiliza para optimizar los parmetros de valor real para los dispositivos tales como superficies de sustentacin. Esta idea fue desarrollado por Schwefel (1975, 1977). El campo de las estrategias de evolucin ha seguido siendo un rea activa de la investigacin, la mayora en desarrollo independientemente de entre el campo de los algoritmos genticos (aunque recientemente los dos comunidades han

comenzado a interactuar). (Para una breve revisin de las estrategias de evolucin, vea Copia, Hoffmeister, y Schwefel 1991.) Fogel, Owens y Walsh (1966) desarrollaron la "programacin evolutiva," una tcnica en la Soluciones candidatas 2which a tareas encomendadas han estado representados de mquinas de estados finitos, que se desarrollaron por mutando aleatoriamente sus diagramas de transicin de estado y seleccionar los ms aptos. Una formulacin algo ms amplio de la programacin evolutiva tambin sigue siendo un rea de investigacin activa (vase, por ejemplo, Fogel y Atmar 1993). En conjunto, las estrategias de evolucin, la programacin evolutiva y algoritmos genticos constituyen la columna vertebral del campo de la computacin evolutiva. Varias otras personas que trabajan en las dcadas de 1950 y 1960 desarrollaron algoritmos inspirados en la evolucin de optimizacin y aprendizaje automtico. Caja (1957), Friedman (1959), Bledsoe (1961), Bremermann (1962), y Reed, Toombs y Baricelli (1967), todos trabajaban en esta rea, aunque su trabajo se ha prestado poca o ninguna el tipo de atencin o seguimiento que las estrategias de evolucin, la programacin evolutiva y algoritmos genticos he visto. Adems, un nmero de bilogos evolutivos utiliza computadoras para simular la evolucin de la propsito de experimentos controlados (vase, por ejemplo, Baricelli 1957, 1962; Fraser 1957 a, b; Martin y Cockerham 1960). Computacin evolutiva estaba definitivamente en el aire en los das formativos de la computadora electrnica. Los algoritmos genticos (GAs) fueron inventados por John Holland en 1960 y fueron desarrollados por Holanda y sus alumnos y colegas de la Universidad de Michigan en los aos 1960 y 1970. En contraste con los estrategias de evolucin y programacin evolutiva, el objetivo original de Holanda no era el diseo de algoritmos para resolver problemas especficos, sino ms bien para estudiar formalmente el fenmeno de la adaptacin, ya que se produce en la naturaleza y para desarrollar formas en que los mecanismos de adaptacin natural pueden ser importados en los sistemas informticos. Libro de 1975 Adaptacin de Holanda en Sistemas Naturales y Artificiales present el algoritmo gentico como abstraccin de la evolucin biolgica y le dio un marco terico para la adaptacin en el GA. Holland GA es un mtodo para pasar de una poblacin de "cromosomas" (por ejemplo, cadenas de unos y ceros, o "bits") a una nueva poblacin mediante el uso de una especie de "seleccin natural", junto con los operadores de la gentica de inspiracin de cruce, mutacin, y la inversin. Cada cromosoma se compone de "genes" (por ejemplo, los bits), cada gen de ser un instancia de un "alelo" particular (por ejemplo, 0 o 1). El operador de seleccin elige los cromosomas en el poblacin que se pueden reproducir, y en promedio los cromosomas ajustador producen ms descendencia que los menos aptos. Intercambios cruzados subpartes de dos cromosomas, ms o menos imitando biolgica recombinacin entre dos organismos de una sola cromosoma ("haploide"); mutacin cambia aleatoriamente el alelo los valores de algunos lugares en el cromosoma y la inversin; invierte el orden de una seccin contigua de la cromosoma, la reordenacin de este modo el orden en que estn dispuestos los genes. (Aqu, como en la mayor parte de la literatura GA, "Cruzado" y "recombinacin" significarn lo mismo.) Introduccin de un algoritmo basado en la poblacin con crossover, la inversin, y la mutacin de Holanda fue uno de los principales innovacin. (Estrategias de evolucin de Rechenberg comenzaron con una "poblacin" de dos individuos, uno de los padres y una descendencia, la descendencia de ser una versin mutada de la matriz; muchas poblaciones-individuales y cruzados No se incorporaron ms tarde. Fogel, Owens y programacin evolutiva de Walsh slo igualmente utilizado mutacin para proporcionar variacin.) Por otra parte, Holanda fue el primero en intentar poner evolucin computacional en un una terica base firme (ver Holanda 1975). Hasta hace poco esta base terica, basada en la nocin de "Esquemas", fue la base de casi todo el trabajo terico posterior en algoritmos genticos En los ltimos aos ha habido una interaccin extendida entre los investigadores que estudian diversos mtodos evolutivos de

clculo, y los lmites entre el gas, las estrategias de evolucin, evolutivo programacin, y otros enfoques evolutivos se han roto hasta cierto punto. Hoy en da, los investigadores a menudo utilizar el trmino "algoritmo gentico" para describir algo muy lejos de la concepcin original de Holanda. En este reservar adopto esta flexibilidad. La mayora de los proyectos que describir aqu se mencionan por sus creadores como GAs, algunos no lo fueron, pero todos tienen lo suficiente de un "aire de familia" que incluyo bajo la rbrica de los algoritmos genticos. 1.2 LA APELACIN DE LA EVOLUCIN Por qu utilizar la evolucin como una fuente de inspiracin para la resolucin de problemas de clculo? Para evolutiva-clculo los investigadores, los mecanismos de la evolucin parecen muy adecuado para algunos de los computacional ms apremiante problemas en muchos campos. Muchos de los problemas computacionales requieren bsqueda a travs de un gran nmero de posibilidades de soluciones. Un ejemplo es el problema de la ingeniera de protenas computacional, en el que un algoritmo se solicita que buscar entre el gran nmero de posibles secuencias de aminocidos para una protena con propiedades especificadas. Otro ejemplo es la bsqueda de un conjunto de reglas o ecuaciones que predicen las subidas y bajas de un mercado financiero, como el de la moneda extranjera. Tales problemas de bsqueda a menudo se pueden beneficiar a partir de un uso eficaz de paralelismo, en la que muchas posibilidades diferentes se exploran simultneamente en una manera eficiente. Por ejemplo, en la bsqueda de protenas con propiedades especificadas, en lugar de evaluar un grupo amino secuencia de cido en un momento en que sera mucho ms rpido para evaluar muchos simultneamente. Lo que se necesita es a la vez paralelismo computacional (es decir, muchos procesadores de evaluacin de secuencias al mismo tiempo) y un inteligente estrategia para la eleccin de la siguiente serie de secuencias de evaluar. Muchos de los problemas computacionales requieren un programa de ordenador que sea adaptable a seguir para llevar a cabo bien en una cambios en el entorno. Este se caracteriza por problemas en el control del robot en el que un robot tiene que realizar una tarea en una variable de entorno, y por interfaces informticas que deben adaptarse a la idiosincrasia de los diferentes usuarios. Otros problemas requieren programas de computadora para ser innovadores, para construir algo verdaderamente nuevo y original, tales como un nuevo algoritmo para llevar a cabo una tarea de clculo o incluso un nuevo descubrimiento cientfico. Por ltimo, muchos problemas computacionales requieren soluciones complejas que son difciles de programa a mano. Un sorprendente ejemplo es el problema de la creacin de la inteligencia artificial. Al principio, los mdicos crean que la IA sera fcil de codificar las normas que confieren inteligencia sobre el programa, los sistemas expertos eran uno como resultado de este optimismo inicial. Hoy en da, muchos investigadores de la IA creen que las "reglas" inteligencia subyacente son demasiado complejos para los cientficos para codificar a mano en forma de "arriba hacia abajo". En su lugar, creen que la mejor camino a la inteligencia artificial es a travs de un paradigma "bottom-up" en el que los humanos escriben slo muy simple normas y comportamientos complejos como la inteligencia surgen de la aplicacin masiva en paralelo y interaccin de estas reglas simples. Conexionismo (es decir, el estudio de los programas de ordenador inspirado en los nervio sistemas) es un ejemplo de esta filosofa (vase Smolensky 1988); computacin evolutiva es otro. En conexionismo las reglas suelen umbral simple "neural", la activacin de la difusin y el fortalecimiento o debilitamiento de las conexiones, el comportamiento emergente esperada es sofisticado reconocimiento de patrones y aprendizaje. En computacin evolutiva las reglas son generalmente "seleccin natural", con variacin debido a cruce y / o mutacin, el comportamiento emergente esperado es el diseo de soluciones de alta calidad a los problemas difciles y la capacidad de adaptacin de estas soluciones de cara a un entorno cambiante.

La evolucin biolgica es una fuente atractiva de inspiracin para hacer frente a estos problemas. La evolucin es, en efecto, un mtodo de bsqueda de entre un gran nmero de posibilidades para "soluciones". En biologa la enorme conjunto de posibilidades es el conjunto de posibles secuencias genticas, y las "soluciones" son muy deseados en forma organismosorganismos y capaz de sobrevivir y reproducirse en su medio ambiente. La evolucin tambin puede ser visto como un mtodo para disear soluciones innovadoras a problemas complejos. Por ejemplo, el inmunitario de los mamferos sistema es una solucin evolucionado maravillosa para el problema de los grmenes que invaden el cuerpo. Desde esta perspectiva, la mecanismos de la evolucin pueden inspirar a los mtodos de bsqueda de clculo. Por supuesto, la aptitud de un biolgica organismo depende de muchos factores, por ejemplo, lo bien que pueden soportar las caractersticas fsicas de su medio ambiente y lo bien que puede competir o cooperar con los dems organismos que lo rodean. El gimnasio criterios cambian continuamente como criaturas evolucionan, por lo que la evolucin est buscando un constante cambio conjunto de posibilidades. Bsqueda de soluciones frente a las condiciones cambiantes es precisamente lo que se requiere para programas de ordenador adaptativos. Por otra parte, la evolucin es un mtodo de bsqueda masiva en paralelo: en lugar de trabajo en una especie a la vez, las pruebas de la evolucin y los cambios de millones de especies en paralelo. Por ltimo, visto desde un alto nivel de las "reglas" de la evolucin es muy simple: las especies evolucionan por medio de la variacin aleatoria (a travs de mutacin, recombinacin, y otros operadores), seguido por la seleccin natural en el que el ms apto tienden a Captulo 1: Algoritmos genticos: Una visin general survive y reproducirse, propagando as su material gentico a las generaciones futuras. Sin embargo, estas reglas son simples cree que es responsable, en gran parte, por la extraordinaria variedad y complejidad que vemos en la biosfera. 1.3 terminologa biolgica En este punto es til introducir formalmente parte de la terminologa biolgica que se utiliza a lo largo el libro. En el contexto de los algoritmos genticos, estos trminos biolgicos se utilizan en el espritu de la analoga con los bienes biologa, aunque las entidades que se refieren son mucho ms simples que los de verdad biolgica. Todos los organismos vivos consisten en clulas, y cada clula contiene el mismo conjunto de uno o ms cromosomas-secuencias de ADN que sirva de "modelo" para el organismo. Un cromosoma puede ser conceptualmente dividido en los genes-cada uno de los cuales codifica una protena en particular. A grandes rasgos, se puede pensar en un gen que codifica un rasgo, tales como color de los ojos. Los diferentes "escenarios" posibles para un rasgo (por ejemplo, azul, marrn, avellana) se llaman alelos. Cada gen est situado en un locus en particular (posicin) en el cromosoma. Muchos organismos tienen mltiples cromosomas en cada clula. La coleccin completa de material gentico (todos cromosomas en su conjunto) se llama el genoma del organismo. El trmino genotipo se refiere al conjunto particular de los genes contenidos en un genoma. Dos individuos que tienen genomas idnticos se dice que tienen la misma genotipo. El genotipo da lugar, en el desarrollo del feto y ms tarde, a su fenotipo del organismo caractersticas fsicas y mentales, tales como el color de ojos, la estatura, el tamao del cerebro y la inteligencia. Organismos cuyos cromosomas estn dispuestos en pares se denominan diploides, organismos cuyos cromosomas son sin pareja se llaman haploides. En la naturaleza, la mayora de las especies que se reproducen sexualmente son diploides, incluyendo a los seres humanos, que cada uno tiene 23 pares de cromosomas en cada clula somtica (no germinales) en el cuerpo. Durante sexual reproduccin, la recombinacin (o cruce) se produce: en cada padre, los genes se intercambian entre cada par de cromosomas para formar un gameto (un nico cromosoma) y, a continuacin, gametos procedentes de los dos padres par

hasta crear un juego completo de cromosomas diploides. En la reproduccin sexual haploides, los genes se intercambian entre el cromosomas solo captulo dos padres. Offspring estn sujetos a mutacin, en la que los nucletidos individuales (Bits elementales de ADN) se cambian de padres a hijos, los cambios a menudo como resultado del escaneado errores. La aptitud de un organismo se define generalmente como la probabilidad de que el organismo se va a vivir a reproducir (viabilidad) o como una funcin del nmero de descendientes el organismo tiene (fertilidad). En los algoritmos genticos, el trmino cromosoma tpicamente se refiere a una solucin candidato a un problema, a menudo codificada como una cadena de bits. Los "genes" son bits ya sea individuales o bloques cortos de bits adyacentes que codifican un particular el elemento de la solucin de candidato (por ejemplo, en el contexto de optimizacin de la funcin de varios los bits que codifican un parmetro en particular pueden ser considerados para ser un gen). Un alelo en una cadena de bits es o bien 0 o 1; para alfabetos mayores son posibles ms alelos en cada locus. Crossover normalmente consiste en el intercambio gentico material entre dos padres haploides singlechromosome. La mutacin consiste en el cambio del bit en una forma aleatoria locus elegido (o, para los alfabetos ms grandes, la sustitucin de un smbolo en un lugar elegido al azar con un aleatoriamente elegido nuevo smbolo). La mayora de las aplicaciones de los algoritmos genticos emplean individuos haploides, en especial, de un solo cromosoma individuos. El genotipo de un individuo en una GA utilizando cadenas de bits es simplemente la configuracin de bits en que cromosomas del individuo. A menudo no existe el concepto de "fenotipo" en el contexto de gas, aunque ms hace poco, muchos trabajadores han experimentado con gas en el que existe tanto a nivel genotpico y fenotpico nivel (por ejemplo, la codificacin de cadena de bits de una red neuronal y la red neuronal en s). 1.4 ESPACIOS DE BSQUEDA Y PAISAJES APTITUD La idea de buscar entre una coleccin de soluciones candidatas para una solucin deseada es tan comn en ciencias de la computacin que se le ha dado su propio nombre: la bsqueda de un "espacio de bsqueda." Aqu el trmino "search espacio "se refiere a alguna coleccin de soluciones candidatas a un problema y alguna nocin de" distancia "entre soluciones candidatas. Por ejemplo, tomemos uno de los problemas ms importantes de la informtica bioingeniera: el problema antes mencionado de diseo de protenas computacional. Supongamos que usted quiere utilizar un equipo para buscar una protena de una secuencia de amino cidos que se pliega a una de tres dimensiones en particular dar forma a lo que se puede utilizar, por ejemplo, para combatir un virus especfico. El espacio de bsqueda es el conjunto de todas las protenas posibles -secuencias de un conjunto infinito de posibilidades. Para limitarla, vamos a restringir la bsqueda a todas las posibles secuencias de longitud de 100 o menos-siendo un gran espacio de bsqueda, ya que hay 20 posibles aminocidos en cada posicin en la secuencia. (Cuntos posibles secuencias de all?) Si representamos los 20 aminocidos de las letras del alfabeto, soluciones candidatas se ver as: A G G G B C M L .... Vamos a definir la distancia entre dos secuencias como el nmero de posiciones en las que las letras en posiciones correspondientes difieren. Por ejemplo, la distancia entre AGGMCGBL y MG GMCGBL es 1, y la distancia entre AGGMCGBL y LBMPAFGA es 8. Un algoritmo para la bsqueda de este el espacio es un mtodo para elegir qu soluciones candidatas para probar en cada etapa de la bsqueda. En la mayora de los casos, la solucin siguiente candidato (s) a ensayar depender de los resultados de las pruebas anteriores secuencias; ms til algoritmos asumen que habr cierta correlacin entre la calidad de candidato "vecino" soluciones de las personas cercanas en el espacio. Los algoritmos genticos suponen que las soluciones

candidatas de alta calidad "padre" de diferentes regiones en el espacio se pueden combinar a travs de crossover, en ocasiones, producir alta calidad Soluciones candidatas "descendencia". Otro concepto importante es el de la "aptitud del paisaje." Originalmente definido por el bilogo Sewell Wright (1931) en el contexto de la gentica de poblaciones, un paisaje fsico es una representacin del espacio de todas las posibles genotipos junto con sus eficacias. Supongamos que, en aras de la simplicidad, que cada genotipo es una cadena de bits de longitud l, y que la distancia entre los dos genotipos es su "distancia de Hamming"-el nmero de lugares en los que los bits correspondientes difieren. Tambin supongamos que cada genotipo se le puede asignar un valor real de fitness. Un paisaje de fitness se puede representar como un (l Parcela + 1)-dimensional en el que cada genotipo es un punto en l dimensiones y su condicin fsica se representa a lo largo del (l + 1) Eje st. Un paisaje simple para l = 2 se muestra en la figura 1.1. Estas parcelas son llamados paisajes porque la trama de los valores de fitness pueden formar "hills", "picos", "valles", y otras caractersticas anlogas a las de la fsica paisajes. Bajo la frmula de Wright, la evolucin hace que las poblaciones que se mueven a lo largo de paisajes, en particular, caminos, y "adaptacin" puede ser visto como el movimiento hacia los picos locales. (Un "pico local" o "ptimo local" no es necesariamente el punto ms alto en el paisaje, pero cualquier pequea

Figure 1.1: A simple fitness landscape for l = 2. Here f(00) = 0.7, f(01) = 1.0, f(10) = 0.1, and f(11) = 0.0. Chapter 1: Genetic Algorithms: An Overview 6 movimiento que se aleja de ella va a la baja en el gimnasio.) Del mismo modo, en los AGs los operadores de cruce y mutacin puede ser visto como formas de moverse en torno a una poblacin en el paisaje definido por la funcin de aptitud. La idea de la evolucin de la poblacin flotante en torno a paisajes inmutables es biolgicamente realista para varias razones. Por ejemplo, un organismo no se puede asignar un valor de aptitud independiente de la otra organismos en su entorno, por lo que, como los cambios en la poblacin, las eficacias de genotipos particulares se cambiar tambin. En otras palabras, en el mundo real, el "paisaje" no puede ser separado de los organismos que habitarla. A pesar de estas advertencias, la nocin de paisaje fsico se ha convertido en fundamental para el estudio de la gentica algoritmos, y se van a plantear en diversas formas a lo largo de este libro. 1.5 ELEMENTOS DE ALGORITMOS GENTICOS Resulta que no existe una definicin rigurosa de "algoritmo gentico" aceptado por todos en la computacin evolutiva-comunidad que diferencia gas desde otros mtodos de computacin evolutiva.

Sin embargo, se puede decir que la mayora de los mtodos llamados "gas" tienen por lo menos los siguientes elementos en comn: poblaciones de los cromosomas, la seleccin de acuerdo a la aptitud y cruzado para producir nuevas cras, y al azar mutacin del nuevo offspring.Inversion-Holland s cuarto elemento del gas se utiliza muy poco en el actual implementaciones, y sus ventajas, si las hay, no estn bien establecidos. (Inversin ser discutido en detalle en el captulo 5.) Los cromosomas en una poblacin GA tpicamente toman la forma de cadenas de bits. Cada locus en el cromosoma tiene dos alelos posibles: 0 y 1. Cada cromosoma puede ser pensado como un punto en el espacio de bsqueda de soluciones candidatas. El GA procesa poblaciones de cromosomas, sucesivamente sustitucin de uno de tales poblacin con otro. El GA ms a menudo requiere una funcin de aptitud que asigna una puntuacin (fitness) a cada cromosoma en la poblacin actual. La aptitud de un cromosoma depende de lo bien que el cromosoma resuelve el problema en cuestin. Ejemplos de funciones de fitness Una aplicacin comn de gas es optimizacin de la funcin, donde el objetivo es encontrar un conjunto de valores de los parmetros que maximizar, por ejemplo, una funcin de varios complejos. Como un simple ejemplo, uno podra querer maximizar la funcin de una dimensin de valor real

(Riolo 1992). Aqu las soluciones candidatas son valores de y, que pueden ser codificados como cadenas de bits que representan nmeros reales. El clculo de fitness traduce un bit determinado string x en una verdadera y nmero y luego evala la funcin en ese valor. La aptitud de una cadena es el valor de la funcin en ese punto. Como un ejemplo no-numrico, considerar el problema de encontrar una secuencia de 50 aminocidos que se pliegue a una deseada estructura tridimensional de las protenas. Un GA podra aplicarse a este problema mediante la bsqueda en una poblacin de soluciones candidatas, cada una codificada como una cadena 50-letra tal como IHCCVASASDMIKPVFTVASYLKNWTKAKGPNFEICISGRTPYWDNFPGI, donde cada letra representa una de las 20 posibles aminocidos. Una forma de definir la idoneidad de un candidato secuencia es como el negativo de la energa potencial de la secuencia con respecto a la estructura deseada. La energa potencial es una medida de la cantidad de resistencia fsica de la secuencia pondra si se le obliga a ser plegada en la estructura deseada-la ms baja la energa potencial, mayor ser la aptitud. Por supuesto, se hara No quiero forzar fsicamente a cada secuencia de la poblacin en la estructura deseada y medir su resistencia-esto sera muy difcil, si no imposible. En su lugar, dada una secuencia y una estructura deseada (y conocer algunos de los biofsica pertinentes), se puede estimar la energa potencial mediante el clculo de algunos de las fuerzas que actan sobre cada aminocido, por lo que todo el clculo de fitness se puede hacer computacionalmente. Estos ejemplos muestran dos contextos diferentes en los que las soluciones candidatas a un problema se codifican como abstracto cromosomas codifican como cadenas de smbolos, con funciones de aptitud definidos en el espacio resultante de cadenas. Un algoritmo gentico es un mtodo para la bsqueda de estos paisajes de fitness para cuerdas muy en forma.

GA Operadores La forma ms simple de algoritmo gentico consiste en tres tipos de operadores: seleccin, cruce (punto nico), y la mutacin. Seleccin Este operador selecciona cromosomas en la poblacin para la reproduccin. El instalador del cromosoma, las ms veces de las que es probable que se seleccione para reproducir. Crossover Este operador elige al azar un lugar y el intercambio de las subsecuencias antes y despus de ese locus entre dos cromosomas para crear dos hijos. Por ejemplo, las cadenas 10000100 y 11111111 podran ser cruzado despus del tercer lugar en cada una para producir las dos cras 10011111 y 11100100. El crossover operador imita ms o menos recombinacin biolgica entre dos de un solo cromosoma (haploides) organismos. Mutacin Este operador voltea al azar algunos de los bits en un cromosoma. Por ejemplo, la cadena 00000100 podra ser mutado en su segunda posicin para producir 01.000.100. La mutacin puede ocurrir en cada posicin de bit en una cadena con cierta probabilidad, por lo general muy pequea (por ejemplo, 0.001). 1.6 Un algoritmo gentico simple Dado un problema claramente definido para resolver y una representacin de cadena de bits para soluciones candidatas, una simple GA funciona de la siguiente manera: 1. Comience con una poblacin generada al azar de los cromosomas nl-bit (soluciones candidatas a unproblema). 2.Calcular el gimnasio (x) de cada cromosoma x en la poblacin. 3. Repita los pasos siguientes hasta que se haya creado n descendencia: a. Seleccionar un par de cromosomas de padres a partir de la poblacin actual, la probabilidad de seleccin es una funcin creciente de la aptitud. La seleccin se realiza "con la sustitucin", lo que significa que el mismo cromosoma se puede seleccionar ms de una vez para convertirse en un padre.

You might also like